ember-try CI fails on 4.11 with NPM 8
jrjohnson opened this issue · comments
A brand new 4.11 addon will fail every ember-try
CI job. I think this has to do with peerDependencies
added by @bertdeblock in #10024 and NPM v8 starting to enforce those rules (whereas node 14/npm 7 doesn't). Consuming any addon that also has a peerDependency
on ember-source
breaks ember-try
. I'm not sure if this is because of the version tag (ember-source@4.11.0-release+88df843c
) not meeting the requirements for the peer dependency or something else.
Error:
npm ERR! Could not resolve dependency:
npm ERR! peer ember-source@">=3.8.0" from @ember/test-helpers@2.9.3
npm ERR! node_modules/@ember/test-helpers
npm ERR! dev @ember/test-helpers@"^2.9.3" from the root project
Reproduction repo action run: https://github.com/jrjohnson/e411-addon/actions/runs/4550068693/jobs/8022740450
Steps to reproduce:
ember addon e411
cd e411
./node_modules/.bin/ember try:one ember-release
Output from ember version --verbose && npm --version && yarn --version
:
ember-cli: 4.11.0
node: 16.19.1
v8: 9.4.146.26-node.24
uv: 1.43.0
zlib: 1.2.11
brotli: 1.0.9
ares: 1.18.1
modules: 93
nghttp2: 1.47.0
napi: 8
llhttp: 6.0.10
openssl: 1.1.1t+quic
cldr: 41.0
icu: 71.1
tz: 2022f
unicode: 14.0
ngtcp2: 0.8.1
nghttp3: 0.7.0
os: darwin arm64
8.19.4
1.22.19
fwiw, most of the peer issues in those failing CI runs are related to @ember/test-helpers
and ember-resolver
. Those peer statements were added independent of the blueprint changes. I.e. if you remove the peer statement in the e411
addon, the release scenario still fails with the same error.
Similar issue #9912.
Outside of @ember/test-helpers
this will fail for any addon that includes another addon that has the peer for ember. So as the blueprints added for this make their way out into the ecosystem more addons will fail. I'm not sure if it's a good long term solution, but my fix for now was to add:
buildManagerOptions() {
return ['--force'];
},
to my ember-try config.