fix: major version dependency upgrades, oclif v2 updates
Description
- updates to major versions of plugin dependencies
- added @adobe/aio-cli-plugin-app-templates plugin as core plugin
- right now the version is
latestpending their stable release by end of week or early next week. The current latest version is a pre-release version so semver won't work effectively.
- right now the version is
- added @adobe/aio-cli-plugin-telemetry as core plugin
- updated other dependencies (via
npm outdated, only modules that don't have ESM-only updates) - removed custom "space" as command topic separator code and tests (oclif v2 has this built in now, via package.json/oclif/topicSeparator key)
How Has This Been Tested?
- npm test
- npm run e2e
- further tests via pre-release
Screenshots (if appropriate):
Types of changes
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [X] Breaking change (fix or feature that would cause existing functionality to change)
Checklist:
- [X] I have signed the Adobe Open Source CLA.
- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [X] I have read the CONTRIBUTING document.
- [ ] I have added tests to cover my changes.
- [X] All new and existing tests passed.
node-14 has arch issues in the CI, but node-16 doesn't have a problem. Looks like a lockfile version compatibility issue -- it was generated using lockfileVersion@2 (via the npm included in node-16) and that fails in node14. The fix is to use a common npm (we always use the latest)
Codecov Report
Merging #364 (ba0a74b) into master (364d440) will not change coverage. The diff coverage is
n/a.
@@ Coverage Diff @@
## master #364 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 5 4 -1
Lines 247 225 -22
Branches 49 43 -6
=========================================
- Hits 247 225 -22
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more
linux tests pass, now we have issues with Windows and node-gyp 🤷🏼♂️
looks like there are issues with npm@7+ https://github.com/nodejs/node-gyp/issues/508 and node-gyp
I think we need node-gyp@9 to support windows-latest OR use windows-2019.
Also https://github.com/actions/setup-node/issues/280 https://github.com/nodejs/node-gyp/blob/main/docs/Updating-npm-bundled-node-gyp.md
This issue seems similar https://github.com/nodejs/node-gyp/issues/2683
windows-2019 works for node-16 but not for node-14 (npm ERR! D:\a\aio-cli\aio-cli\node_modules\lmdb\src\v8-functions.cpp(5,10): fatal error C1083: Cannot open include file: 'v8.h': No such file or directory [D:\a\aio-cli\aio-cli\node_modules\lmdb\build\lmdb.vcxproj]) - clearly that's not the solution, so reverting
One alternative is (see https://github.com/adobe/aio-cli/pull/364#issuecomment-1233733239) we drop support for node-14 testing on Windows and use the windows-2019 image
I believe one of the parcel packages is triggering node-gyp to build native interfaces (probably @parcel/transformer-json):
2233 timing build:run:install:node_modules/msgpackr-extract Completed in 6542ms
2234 info run [email protected] install node_modules/@parcel/transformer-html/node_modules/lmdb node-gyp-build
2235 info run [email protected] install { code: 1, signal: null }
2236 info run [email protected] install { code: 0, signal: null }
2237 timing build:run:install:node_modules/@parcel/transformer-html/node_modules/lmdb Completed in 2366ms
2238 info run [email protected] install node_modules/@parcel/transformer-image/node_modules/lmdb node-gyp-build
2239 info run [email protected] install { code: 0, signal: null }
2240 timing build:run:install:node_modules/@parcel/transformer-css/node_modules/lmdb Completed in 2582ms
2241 info run [email protected] install node_modules/@parcel/transformer-js/node_modules/lmdb node-gyp-build
2242 info run [email protected] install { code: 0, signal: null }
2243 timing build:run:install:node_modules/@parcel/transformer-babel/node_modules/lmdb Completed in 3150ms
2244 info run [email protected] install node_modules/@parcel/transformer-json/node_modules/lmdb node-gyp-build
2245 info run [email protected] install { code: 1, signal: null }
2246 info run [email protected] install { code: 1, signal: null }
2247 info run [email protected] install { code: 1, signal: null }
2248 timing reify:rollback:createSparse Completed in 14753ms
2249 timing reify:rollback:retireShallow Completed in 0ms
2250 timing command:ci Completed in 109747ms
2251 verbose stack Error: command failed
2251 verbose stack at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\promise-spawn\lib\index.js:63:27)
2251 verbose stack at ChildProcess.emit (node:events:513:28)
2251 verbose stack at maybeClose (node:internal/child_process:1093:16)
2251 verbose stack at Process.ChildProcess._handle.onexit (node:internal/child_process:302:5)
2252 verbose pkgid [email protected]
2253 verbose cwd C:\Users\shazron\Documents\git\aio-cli
2254 verbose Windows_NT 10.0.22598
2255 verbose node v16.17.0
2256 verbose npm v8.15.0
2257 error code 1
2258 error path C:\Users\shazron\Documents\git\aio-cli\node_modules\lmdb
2259 error command failed
this might help: https://github.com/parcel-bundler/parcel/issues/8152
Hmm 591b1c5 passed, now re-running it, it is failing. seems very flaky
Looks like, on local testing on Windows, if I delete package-lock.json before npm i --package-lock --package-lock-only --legacy-peer-deps , npm ci --peer-legacy-deps works. Must be a Windows quirk.
Okay, this all looks reasonable, however it is still very hard to test. I would like to merge it, and do a prerelease with it ( without using @next versions of plugins ) so we can test it in real(ish) conditions before releasing.