embroider
embroider copied to clipboard
Deleting a file while the ember server is running throws a build error.
So far I've noticed this for files in app/helpers/**
and app/templates/components/**
but not app/components/**
files.
Error Summary:
- broccoliBuilderErrorStack: ModuleNotFoundError: Module not found: Error: Can't resolve './_app_/templates/components/driver-day/allocator.hbs' in '/Users/colenso/Documents/client/node_modules/.embroider/rewritten-packages/ember-cli-json-module.87b08615/node_modules/ember-cli-json-module'
at /Users/colenso/Documents/client/node_modules/webpack/lib/Compilation.js:2022:28
at /Users/colenso/Documents/client/node_modules/webpack/lib/NormalModuleFactory.js:817:13
at eval (eval at create (/Users/colenso/Documents/client/node_modules/webpack/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:10:1)
at /Users/colenso/Documents/client/node_modules/webpack/lib/NormalModuleFactory.js:275:22
at eval (eval at create (/Users/colenso/Documents/client/node_modules/webpack/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:24:1)
at /Users/colenso/Documents/client/node_modules/@embroider/webpack/src/webpack-resolver-plugin.js:50:29
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
- code: [undefined]
- codeFrame: Module not found: Error: Can't resolve './_app_/templates/components/driver-day/allocator.hbs' in '/Users/colenso/Documents/client/node_modules/.embroider/rewritten-packages/ember-cli-json-module.87b08615/node_modules/ember-cli-json-module'
- errorMessage: assets/client.js: Module not found: Error: Can't resolve './_app_/templates/components/driver-day/allocator.hbs' in '/Users/colenso/Documents/client/node_modules/.embroider/rewritten-packages/ember-cli-json-module.87b08615/node_modules/ember-cli-json-module'
at PackagerRunner (@embroider/webpack)
- errorType: Build Error
- location:
- column: [undefined]
- file: assets/client.js
- line: [null]
- treeDir: [undefined]
- message: assets/client.js: Module not found: Error: Can't resolve './_app_/templates/components/driver-day/allocator.hbs' in '/Users/colenso/Documents/client/node_modules/.embroider/rewritten-packages/ember-cli-json-module.87b08615/node_modules/ember-cli-json-module'
at PackagerRunner (@embroider/webpack)
- name: Error
- nodeAnnotation: @embroider/webpack
- nodeName: PackagerRunner
- originalErrorMessage: Module not found: Error: Can't resolve './_app_/templates/components/driver-day/allocator.hbs' in '/Users/colenso/Documents/client/node_modules/.embroider/rewritten-packages/ember-cli-json-module.87b08615/node_modules/ember-cli-json-module'
- stack: ModuleNotFoundError: Module not found: Error: Can't resolve './_app_/templates/components/driver-day/allocator.hbs' in '/Users/colenso/Documents/client/node_modules/.embroider/rewritten-packages/ember-cli-json-module.87b08615/node_modules/ember-cli-json-module'
at /Users/colenso/Documents/client/node_modules/webpack/lib/Compilation.js:2022:28
at /Users/colenso/Documents/client/node_modules/webpack/lib/NormalModuleFactory.js:817:13
at eval (eval at create (/Users/colenso/Documents/client/node_modules/webpack/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:10:1)
at /Users/colenso/Documents/client/node_modules/webpack/lib/NormalModuleFactory.js:275:22
at eval (eval at create (/Users/colenso/Documents/client/node_modules/webpack/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:24:1)
at /Users/colenso/Documents/client/node_modules/@embroider/webpack/src/webpack-resolver-plugin.js:50:29
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Hey @colenso 👋 I just tried to recreate this issue in our test suite and I couldn't get it to fail 🤔 are you able to put together a reproduction for us?
We've encountered the same issue. We deleted a template/*.hbs
file and the build server threw an error. Here's the relevant stack trace
Module build failed (from ../../thread-loader/dist/cjs.js):
Thread Loader (Worker 0)
ENOENT: no such file or directory, open '/redacted/node_modules/.embroider/rewritten-app/templates/settings/password-reset.hbs/password-reset.hbs'
at PoolWorker.fromErrorObj (/redacted/node_modules/thread-loader/dist/WorkerPool.js:346:12)
at /redacted/node_modules/thread-loader/dist/WorkerPool.js:219:29
at mapSeries (/redacted/node_modules/neo-async/async.js:3625:14)
at PoolWorker.onWorkerMessage (/redacted/node_modules/thread-loader/dist/WorkerPool.js:173:34)
at /redacted/node_modules/thread-loader/dist/WorkerPool.js:146:14
at Socket.onChunk (/redacted/node_modules/thread-loader/dist/readBuffer.js:40:9)
at Socket.emit (node:events:513:28)
at Socket.Readable.read (node:internal/streams/readable:527:10)
at Socket.read (node:net:729:39)
at flow (node:internal/streams/readable:1011:34)
at emitReadable_ (node:internal/streams/readable:592:3)
at processTicksAndRejections (node:internal/process/task_queues:82:21)
This is the interesting line
ENOENT: no such file or directory, open '/redacted/node_modules/.embroider/rewritten-app/templates/settings/password-reset.hbs/password-reset.hbs'
It looks like the filename has been appended twice at the end of the path.
We're using
"@ember/test-helpers": "^2.9.4",
"@embroider/compat": "^3.4.0",
"@embroider/core": "^3.4.2",
"@embroider/webpack": "^3.2.1",
I've been running into this recently a fair bit — pretty much every time I switch a branch or rebase (usually because there's almost always something deleted / moved).
From my limited testing, it seemed like it only failed if the file that is deleted was imported somewhere. Template files being deleted didn't seem to break anything (which is a bit different from the original issue!)