Files
OpenNoodl/dev-docs/tasks/phase-0-foundation-stabalisation/TASK-009-verification-checklist/README.md

2.5 KiB

TASK-009: Webpack Cache Elimination

Status: COMPLETED

Summary

Fixed aggressive webpack caching that was preventing code changes from loading even after restarts.

Changes Made

1. Created clean:all Script

File: package.json

Added script to clear all cache locations:

"clean:all": "rimraf node_modules/.cache packages/*/node_modules/.cache .eslintcache packages/*/.eslintcache && echo '✓ All caches cleared. On macOS, Electron cache at ~/Library/Application Support/Noodl/ should be manually cleared if issues persist.'"

Cache locations cleared:

  • node_modules/.cache
  • packages/*/node_modules/.cache (3 locations found)
  • .eslintcache files
  • Electron cache: ~/Library/Application Support/Noodl/ (manual)

2. Disabled Babel Cache in Development

File: packages/noodl-editor/webpackconfigs/shared/webpack.renderer.core.js

Changed:

cacheDirectory: true; // OLD
cacheDirectory: false; // NEW - ensures fresh code loads

3. Added Build Canary Timestamp

File: packages/noodl-editor/src/editor/index.ts

Added after imports:

// Build canary: Verify fresh code is loading
console.log('🔥 BUILD TIMESTAMP:', new Date().toISOString());

This timestamp logs when the editor loads, allowing verification that fresh code is running.

Verification Steps

To verify TASK-009 is working:

  1. Run clean script:

    npm run clean:all
    
  2. Start the dev server:

    npm run dev
    
  3. Check for build timestamp in Electron console:

    🔥 BUILD TIMESTAMP: 2025-12-23T09:26:00.000Z
    
  4. Make a trivial change to any editor file

  5. Save the file and wait 5 seconds

  6. Refresh/Reload the Electron app (Cmd+R on macOS)

  7. Verify the timestamp updated - this proves fresh code loaded

  8. Repeat 2 more times to ensure reliability

Definition of Done

  • npm run clean:all works
  • Babel cache disabled in dev mode
  • Build timestamp canary visible in console
  • Code changes verified loading reliably (3x) - User to verify

Next Steps

  • User should test the verification steps above
  • Once verified, proceed to TASK-010 (EventListener Verification)

Notes

  • The Electron app cache at ~/Library/Application Support/Noodl/ on macOS contains user data and projects, so it's NOT automatically cleared
  • If issues persist after clean:all, manually clear: ~/Library/Application Support/Noodl/Code Cache/, GPUCache/, DawnCache/