adopted-ember-addons / ember-data-model-fragments

Ember Data addon to support nested JSON documents
MIT License
370 stars 114 forks source link

Upgrade Ember-CLI #463

Closed dwickern closed 1 year ago

dwickern commented 1 year ago

Upgrades ember-cli from 3.20 to 4.10 and fixes the lint rules introduced since then.

Migrates tests to the modern style:

This PR will unblock the upgrade to ember-data v4.

knownasilya commented 1 year ago

@dwickern there's a few merge conflicts

knownasilya commented 1 year ago

Something up with the deps, test 3.28 shows an error about semver dep bin missing

dwickern commented 1 year ago

Error: ENOENT: no such file or directory, stat '/home/runner/work/ember-data-model-fragments/ember-data-model-fragments/node_modules/ember-load-initializers/node_modules/@babel/plugin-transform-runtime/node_modules/.bin/semver'

Hmm, I saw babel-related build errors locally a few times. Like this one:

TypeError: Cannot use 'in' operator to search for 'CallExpression' in undefined at explode (/Users/dwickern/code/ember-data-model-fragments/node_modules/ember-cli-babel/node_modules/@babel/plugin-transform-classes/node_modules/@babel/traverse/lib/visitors.js:66:25) at merge (/Users/dwickern/code/ember-data-model-fragments/node_modules/ember-cli-babel/node_modules/@babel/plugin-transform-classes/node_modules/@babel/traverse/lib/visitors.js:128:5) at Object. (/Users/dwickern/code/ember-data-model-fragments/node_modules/ember-cli-babel/node_modules/@babel/plugin-transform-classes/node_modules/@babel/traverse/lib/path/conversion.js:138:50) at Module._compile (node:internal/modules/cjs/loader:1254:14) at Module._extensions..js (node:internal/modules/cjs/loader:1308:10) at Module.load (node:internal/modules/cjs/loader:1117:32) at Module._load (node:internal/modules/cjs/loader:958:12) at Module.require (node:internal/modules/cjs/loader:1141:19) at require (node:internal/modules/cjs/helpers:110:18) at Object. (/Users/dwickern/code/ember-data-model-fragments/node_modules/ember-cli-babel/node_modules/@babel/plugin-transform-classes/node_modules/@babel/traverse/lib/path/index.js:19:27)

Sometimes rm -rf node_modules && yarn fixed it. Other times not. Maybe a yarn v1 bug?

dwickern commented 1 year ago

I ran CI on my fork and the tests pass there 🤔 https://github.com/dwickern/ember-data.model-fragments/pull/5

dwickern commented 1 year ago

The failing build has different cached node_modules compared to my fork:

Cache Size: ~155 MB (162829408 B)
/usr/bin/tar -xf /home/runner/work/_temp/c0f85ba3-2cb2-479b-9b95-2309c849b4d3/cache.tzst -P -C /home/runner/work/ember-data-model-fragments/ember-data-model-fragments --use-compress-program unzstd
Cache restored successfully
Cache restored from key: Linux--33449090b9fa604503dff0add6a8b695910b59b078129074306240f699037b45
Cache Size: ~115 MB (121085922 B)
/usr/bin/tar -xf /home/runner/work/_temp/8b0bee6f-7f16-4e91-8253-17c3ccc123ef/cache.tzst -P -C /home/runner/work/ember-data.model-fragments/ember-data.model-fragments --use-compress-program unzstd
Cache restored successfully
Cache restored from key: Linux--33449090b9fa604503dff0add6a8b695910b59b078129074306240f699037b45

We're using the restore-keys option, which is "for restoring stale cache if no cache hit occurred". So the build started off with a stale node_modules from a previous build. In my experience yarn sometimes does need a completely fresh install.

@knownasilya try deleting the cache from here https://github.com/adopted-ember-addons/ember-data-model-fragments/actions/caches

knownasilya commented 1 year ago

That did it it seems. Is this ready for review?

dwickern commented 1 year ago

👍 ready for review