Getting the error Imported REQUEST_SERVICE from @ember-data/canary-features which is not a supported flag when building. Happens sporadically sometimes on ember build --env=production sometimes on ember serve. Seems to get better with a rm -f node_modules.
error log:
=================================================================================
ENV Summary:
TIME: Mon Oct 07 2019 10:17:28 GMT-0700 (Pacific Daylight Time)
TITLE: ember
EXEC_PATH: /home/me/.nvm/versions/node/v10.6.0/bin/node
TMPDIR: /tmp
SHELL: /bin/bash
PLATFORM: linux x64
ERROR Summary:
- broccoliBuilderErrorStack: Error: Imported REQUEST_SERVICE from @ember-data/canary-features which is not a supported flag.
at PluginPass.ImportSpecifier (/home/me/dev/projects/common/node_modules/@ember-data/-build-infra/node_modules/babel-plugin-debug-macros/src/index.js:38:19)
at newFn (/home/me/dev/projects/common/node_modules/@babel/traverse/lib/visitors.js:195:21)
at NodePath._call (/home/me/dev/projects/common/node_modules/@babel/traverse/lib/path/context.js:53:20)
at NodePath.call (/home/me/dev/projects/common/node_modules/@babel/traverse/lib/path/context.js:40:17)
at NodePath.visit (/home/me/dev/projects/common/node_modules/@babel/traverse/lib/path/context.js:88:12)
at TraversalContext.visitQueue (/home/me/dev/projects/common/node_modules/@babel/traverse/lib/context.js:120:16)
at TraversalContext.visitMultiple (/home/me/dev/projects/common/node_modules/@babel/traverse/lib/context.js:87:17)
at TraversalContext.visit (/home/me/dev/projects/common/node_modules/@babel/traverse/lib/context.js:146:19)
at Function.traverse.node (/home/me/dev/projects/common/node_modules/@babel/traverse/lib/index.js:96:17)
at NodePath.visit (/home/me/dev/projects/common/node_modules/@babel/traverse/lib/path/context.js:95:18)
- code: [undefined]
- codeFrame: Imported REQUEST_SERVICE from @ember-data/canary-features which is not a supported flag.
- errorMessage: -private/system/model/model.js: Imported REQUEST_SERVICE from @ember-data/canary-features which is not a supported flag.
in /tmp/broccoli-30671zvWs8jka1RZX/out-518-funnel
at broccoli-persistent-filter:Babel > [Babel: @ember-data/store] (Babel: @ember-data/store)
- errorType: Build Error
- location:
- column: [undefined]
- file: -private/system/model/model.js
- line: [undefined]
- treeDir: /tmp/broccoli-30671zvWs8jka1RZX/out-518-funnel
- message: -private/system/model/model.js: Imported REQUEST_SERVICE from @ember-data/canary-features which is not a supported flag.
in /tmp/broccoli-30671zvWs8jka1RZX/out-518-funnel
at broccoli-persistent-filter:Babel > [Babel: @ember-data/store] (Babel: @ember-data/store)
- name: BuildError
- nodeAnnotation: Babel: @ember-data/store
- nodeName: broccoli-persistent-filter:Babel > [Babel: @ember-data/store]
- originalErrorMessage: Imported REQUEST_SERVICE from @ember-data/canary-features which is not a supported flag.
- stack: Error: Imported REQUEST_SERVICE from @ember-data/canary-features which is not a supported flag.
at PluginPass.ImportSpecifier (/home/me/dev/projects/common/node_modules/@ember-data/-build-infra/node_modules/babel-plugin-debug-macros/src/index.js:38:19)
at newFn (/home/me/dev/projects/common/node_modules/@babel/traverse/lib/visitors.js:195:21)
at NodePath._call (/home/me/dev/projects/common/node_modules/@babel/traverse/lib/path/context.js:53:20)
at NodePath.call (/home/me/dev/projects/common/node_modules/@babel/traverse/lib/path/context.js:40:17)
at NodePath.visit (/home/me/dev/projects/common/node_modules/@babel/traverse/lib/path/context.js:88:12)
at TraversalContext.visitQueue (/home/me/dev/projects/common/node_modules/@babel/traverse/lib/context.js:120:16)
at TraversalContext.visitMultiple (/home/me/dev/projects/common/node_modules/@babel/traverse/lib/context.js:87:17)
at TraversalContext.visit (/home/me/dev/projects/common/node_modules/@babel/traverse/lib/context.js:146:19)
at Function.traverse.node (/home/me/dev/projects/common/node_modules/@babel/traverse/lib/index.js:96:17)
at NodePath.visit (/home/me/dev/projects/common/node_modules/@babel/traverse/lib/path/context.js:95:18)
=================================================================================
Run the following command and paste the output below: npm ls ember-source && npm ls ember-cli && npm ls ember-data.
└── [email protected]
└── [email protected]
└── [email protected]
I ran into this same thing on Friday. I tried to change various packages until it stopped happening. One thing that seemed to have an effect was reverting from ember-data 3.13.1 to 3.13.0. Then I wasn't so sure becuase I have a similar project using ember-data 3.13.1 that does not have this issue.
I came to suspect that using ember-cli v3.14.0-beta.2 may help this issue.
I believe that this would occur if the build somehow has an invalid pairing of ember-data dependencies. ember-data and each of the @ember-data/* packages should be "pin" any dependency on another @ember-data/* package to the exact version they themselves are. It is possible this is not occurring or that some caching issue in ci/npm/yarn/custom repository leads to this.
An example node_modules directory from a failed build should be able to replicate the error and confirm/refute this hypothesis in addition to allowing root cause analysis.
confirmed tangentially - this is a caching issue.
SOLVED?
This issue popped up again on a new-ish octane app in which I just added ember-data.
It went away after I ran
rm package-lock.json; rm -rf node_modules; npm cache clean; npm install
which is probably overkill. I think removing and rebuilding node_modules was the key. Some kind of sneaky TypeScript caching going on?
I'm inclined to chalk this up to Gremlins. Solution is to remove node_modules and install fresh.
@jrjohnson we don't know why it is occurring, but if someone saves off the node_modules and lock files from when it does we could figure it out. It is more than likely a bug with npm specifically as using yarn never seems to encounter it. From what I've been able to gather so far it seems like npm is updating the lock file but not installing the new package.
Most helpful comment
confirmed tangentially - this is a caching issue.