Skip to content

Latest commit

 

History

History
95 lines (73 loc) · 3.08 KB

File metadata and controls

95 lines (73 loc) · 3.08 KB

quartify 1.0.0 - CRAN Submission Checklist

✅ All CRAN Issues Fixed

1. Interactive Examples ✅

  • Before: Used \dontrun{} in Shiny function examples
  • After: Replaced with if(interactive()){} in:
    • quartify_app.Rd
    • quartify_app_web.Rd
  • Impact: Examples clearly show these are interactive-only functions

2. Console Output ✅

  • Before: Used cat() to write to console in rtoqmd_dir.R
  • After: Replaced with message()
  • Impact: Output can now be suppressed with suppressMessages()

3. Working Directory Management ✅

  • Before: setwd() called without immediate on.exit()
  • After: Added on.exit(setwd(old_wd), add = TRUE) immediately after every setwd()
  • Files fixed:
    • R/rtoqmd.R (line 969-974)
    • R/rtoqmd_dir.R (line 458-459)
    • R/quartify_app_web.R (lines 659-660, 813-814)
  • Impact: Working directory always restored, even on error

4. File Writing to Home Directory ✅

  • Before: install_quartify_snippets() wrote to ~/.R/snippets/ by default
  • After:
    • Added path parameter for custom location
    • Examples use tempdir() for testing
    • Interactive examples wrapped in if(interactive())
  • Impact: No default writes to user's home directory in non-interactive context

5. Path Handling (Bonus Fix) ✅

  • Issue: Tilde (~) paths not expanded, causing Quarto errors
  • Fix: Added path.expand() for all file paths in rtoqmd()
  • Impact: Paths like ~/file.qmd now work correctly

📦 Package Status

Version: 1.0.0 (updated from 0.0.9) R CMD check: 0 errors ✔ | 0 warnings ✔ | 1 note ✖ (time verification only)

📄 Documentation Updated

  • NEWS.md: Complete changelog for version 1.0.0
  • cran-comments.md: Updated with all fixes and compliance notes
  • Vignettes: Added comprehensive apply_styler documentation (EN/FR)

🚀 Ready for CRAN Submission

The package is now fully compliant with CRAN policies and ready for submission!

Next Steps:

  1. Build the package:

    devtools::build()
  2. Final check:

    devtools::check(remote = TRUE, manual = TRUE)
  3. Submit to CRAN:

    devtools::submit_cran()

    Or manually via https://cran.r-project.org/submit.html

📋 Files Modified

  • R/quartify_app.R - Interactive examples
  • R/quartify_app_web.R - on.exit() fixes, interactive examples
  • R/rtoqmd.R - Path expansion, on.exit() fixes
  • R/rtoqmd_dir.R - message() instead of cat(), on.exit() fixes
  • R/snippets.R - Path parameter, interactive examples
  • DESCRIPTION - Version bump to 1.0.0
  • NEWS.md - Version 1.0.0 changelog
  • cran-comments.md - Updated submission notes
  • man/*.Rd - Regenerated documentation

🎉 Summary

All 4 major CRAN policy violations have been fixed:

  1. ✅ Interactive functions properly documented
  2. ✅ Console output uses message() not cat()
  3. ✅ Working directory always restored with on.exit()
  4. ✅ No default writes to user home directory

Plus bonus fix: 5. ✅ Tilde path expansion for better UX

The package is production-ready for CRAN! 🚀