diff --git a/.github/workflows/alpha-release.yml b/.github/workflows/alpha-release.yml index 505c0458a93..e3a7aeb2f69 100644 --- a/.github/workflows/alpha-release.yml +++ b/.github/workflows/alpha-release.yml @@ -2,6 +2,16 @@ name: Alpha Releases on: workflow_dispatch: + inputs: + increment: + description: 'Type of Version Bump To Perform' + required: true + default: 'patch' + type: choice + options: + - patch + - minor + - major schedule: - cron: '0 20 * * 2' # weekly (Tuesday) 12 PM PST - cron: '0 20 * * 5' # weekly (Friday) 12 PM PST @@ -37,12 +47,13 @@ jobs: git config --local user.email 'tomster@emberjs.com' git config --local user.name 'Ember.js Alpha Releaser' - name: Publish with script - run: node scripts/publish.js canary --skipSmokeTest + run: bun run publish canary -i ${{ github.event.inputs.increment }} env: + CI: true NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} - name: Push branch + tag run: git push origin HEAD --follow-tags - uses: actions/upload-artifact@v4 with: name: tarballs - path: ember-data-*.tgz + path: tmp/tarballs/**/*.tgz diff --git a/RELEASE.md b/RELEASE.md index f0b3d1267cb..987f654be40 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -28,7 +28,7 @@ In order to release `ember-data` you must first ensure the following things: - You have configured your NPM account to use `2fa` (two factor authentication) - You have logged into your NPM account on your machine (typically sessions preserve nearly forever once you have) - You have configured `GITHUB_AUTH` token for `lerna-changelog` to be able to gather info for the release notes. -- You have installed `pnpm` and `node` globally (or better, via `volta`) +- You have installed `bun`, `pnpm` and `node` globally (or better, via `volta`) ## Release Order @@ -104,7 +104,7 @@ git push origin lts-- // Note: alternatively, you ca 3. Publish the LTS ``` - node ./scripts/publish.js lts + bun run publish lts ``` 4. Update the Release Notes on Github @@ -164,7 +164,7 @@ git push origin lts-- // Note: alternatively, you ca 5. Publish the release ``` - node ./scripts/publish.js release + bun run publish release ``` 6. Update the Release Notes on Github @@ -205,8 +205,9 @@ git push origin lts-- // Note: alternatively, you ca 2. Publish the weekly beta ``` - node ./scripts/publish.js beta + bun run publish beta ``` + ### Canary Releases 1. Checkout the `#main` branch and ensure it is in-sync with `origin/main`. @@ -224,19 +225,19 @@ git push origin lts-- // Note: alternatively, you ca a. If this is the very first `canary` release for a new minor ``` - node ./scripts/publish.js canary --bumpMinor + bun run publish canary -i minor ``` b. If this is the very first `canary` release for a new major ``` - node ./scripts/publish.js canary --bumpMajor + bun run publish canary -i major ``` c. For all other "nightly" canary releases ``` - node ./scripts/publish.js canary + bun run publish canary ``` Congrats, you are finished! @@ -248,5 +249,4 @@ New canary versions are published to npm every Tuesday and Friday at 12pm PST by It will always increment the pre-release version of what's currently in the root `package.json`. For example from `3.25.0-alpha.1` to `3.25.0-alpha.2`. **It requires a human to manually bump minor and major versions and publish**. To try out the script that will be executed in the GitHub action, use: -`node scripts/publish.js canary --dryRun --force --skipSmokeTest`. The `--dryRun` param will skip auto committing the -version change and publishing. +`bun run publish canary --dry_run --dangerously_force`. The `--dry_run` param will skip auto committing the version change and publishing. diff --git a/config/package.json b/config/package.json index 9b854fd8d94..59cfe571e9b 100644 --- a/config/package.json +++ b/config/package.json @@ -1,7 +1,7 @@ { "name": "@warp-drive/internal-config", "private": true, - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "dependencies": { "@babel/core": "^7.23.7", "@babel/eslint-parser": "^7.23.3", diff --git a/package.json b/package.json index 0947b86350a..ffacd2feeeb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "root", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": true, "repository": { "type": "git", @@ -9,6 +9,7 @@ "scripts": { "takeoff": "FORCE_COLOR=2 pnpm install --reporter=append-only", "prepare": "pnpm build", + "publish": "./publish/index.ts", "build": "turbo _build --log-order=stream --filter=./packages/* --concurrency=1; pnpm run sync:tests", "sync:tests": "pnpm run --filter=./tests/* -r --workspace-concurrency=1 --if-present _syncPnpm", "build:docs": "mkdir -p packages/-ember-data/dist && cd ./docs-generator && node ./compile-docs.js", @@ -38,6 +39,7 @@ }, "devDependencies": { "bun-types": "^1.0.25", + "@types/semver": "^7.5.6", "chalk": "^4.1.2", "co": "^4.6.0", "command-line-args": "^5.2.1", diff --git a/packages/-ember-data/package.json b/packages/-ember-data/package.json index e9611481a45..65ea92de8b6 100644 --- a/packages/-ember-data/package.json +++ b/packages/-ember-data/package.json @@ -1,6 +1,6 @@ { "name": "ember-data", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "description": "The lightweight reactive data library for JavaScript applications", "repository": { "type": "git", @@ -16,7 +16,7 @@ "move-dts": "bun ../../scripts/copy-declarations.mjs addon", "build:types": "tsc --build", "_build": "bun run build:types && bun run move-dts", - "prepack": "pnpm build && cd ../../ && bun run build:docs", + "prepack": "bun run _build && cd ../../ && bun run build:docs", "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "files": [ @@ -48,21 +48,21 @@ "@ember/string": "^3.1.1" }, "dependencies": { - "@ember-data/adapter": "workspace:5.5.0-alpha.11", - "@ember-data/debug": "workspace:5.5.0-alpha.11", - "@ember-data/graph": "workspace:5.5.0-alpha.11", - "@ember-data/json-api": "workspace:5.5.0-alpha.11", - "@ember-data/legacy-compat": "workspace:5.5.0-alpha.11", - "@ember-data/model": "workspace:5.5.0-alpha.11", - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", - "@ember-data/serializer": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", + "@ember-data/adapter": "workspace:5.4.0-alpha.16", + "@ember-data/debug": "workspace:5.4.0-alpha.16", + "@ember-data/graph": "workspace:5.4.0-alpha.16", + "@ember-data/json-api": "workspace:5.4.0-alpha.16", + "@ember-data/legacy-compat": "workspace:5.4.0-alpha.16", + "@ember-data/model": "workspace:5.4.0-alpha.16", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", + "@ember-data/serializer": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", "@ember/edition-utils": "^1.2.0", "@embroider/macros": "^1.13.4", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", "broccoli-merge-trees": "^4.2.0", "ember-auto-import": "^2.7.0", "ember-cli-babel": "^8.2.0", @@ -123,7 +123,7 @@ "@ember/string": "3.1.1", "@glimmer/component": "^1.1.2", "@glimmer/tracking": "^1.1.2", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-source": "~5.4.0", "eslint": "^8.56.0" }, diff --git a/packages/active-record/package.json b/packages/active-record/package.json index 5c67a6d14c5..6718a11cae5 100644 --- a/packages/active-record/package.json +++ b/packages/active-record/package.json @@ -1,7 +1,7 @@ { "name": "@ember-data/active-record", "description": "ActiveRecord Format Support for EmberData", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": false, "license": "MIT", "author": "Chris Thoburn ", @@ -26,10 +26,10 @@ "pnpm-sync-dependencies-meta-injected": "0.0.10" }, "peerDependencies": { - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", "@ember-data/store": "^4.12.0 || ^5.0.0", "@ember/string": "^3.1.1", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", "ember-inflector": "^4.0.2" }, "dependenciesMeta": { @@ -75,7 +75,7 @@ "build:types": "tsc --build", "build:client": "rollup --config && babel ./addon --out-dir addon --plugins=../private-build-infra/src/transforms/babel-plugin-transform-ext.js", "_build": "bun run build:client && bun run build:types", - "prepack": "pnpm build", + "prepack": "bun run _build", "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "ember-addon": { @@ -93,17 +93,17 @@ "@babel/preset-env": "^7.23.8", "@babel/preset-typescript": "^7.23.3", "@babel/runtime": "^7.23.8", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", "@ember/string": "^3.1.1", "@embroider/addon-dev": "^4.1.2", "@glimmer/component": "^1.1.2", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-node-resolve": "^15.2.3", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-inflector": "^4.0.2", "ember-source": "~5.4.0", "rollup": "^4.9.6", diff --git a/packages/adapter/package.json b/packages/adapter/package.json index 2caada5038d..c0108a2dcc7 100644 --- a/packages/adapter/package.json +++ b/packages/adapter/package.json @@ -1,6 +1,6 @@ { "name": "@ember-data/adapter", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "description": "Provides Legacy JSON:API and REST Implementations of the Adapter Interface for use with @ember-data/store", "keywords": [ "ember-addon" @@ -18,7 +18,7 @@ "build:types": "tsc --build", "build:client": "rollup --config && babel ./addon --out-dir addon --plugins=../private-build-infra/src/transforms/babel-plugin-transform-ext.js", "_build": "bun run build:client && bun run build:types", - "prepack": "pnpm build", + "prepack": "bun run _build", "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "ember-addon": { @@ -47,8 +47,8 @@ } }, "peerDependencies": { - "@ember-data/legacy-compat": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", + "@ember-data/legacy-compat": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", "@ember/string": "^3.1.1", "ember-inflector": "^4.0.2" }, @@ -88,7 +88,7 @@ } }, "dependencies": { - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", "@embroider/macros": "^1.13.4", "ember-cli-babel": "^8.2.0", "ember-cli-test-info": "^1.0.0", @@ -105,21 +105,21 @@ "@babel/preset-env": "^7.23.8", "@babel/preset-typescript": "^7.23.3", "@babel/runtime": "^7.23.8", - "@ember-data/graph": "workspace:5.5.0-alpha.11", - "@ember-data/json-api": "workspace:5.5.0-alpha.11", - "@ember-data/legacy-compat": "workspace:5.5.0-alpha.11", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", + "@ember-data/graph": "workspace:5.4.0-alpha.16", + "@ember-data/json-api": "workspace:5.4.0-alpha.16", + "@ember-data/legacy-compat": "workspace:5.4.0-alpha.16", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", "@ember/string": "^3.1.1", "@embroider/addon-dev": "^4.1.2", "@glimmer/component": "^1.1.2", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-node-resolve": "^15.2.3", "@types/jquery": "^3.5.29", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-inflector": "^4.0.2", "ember-source": "~5.4.0", "rollup": "^4.9.6", diff --git a/packages/core-types/package.json b/packages/core-types/package.json index 7f02d37e9a2..9c40826c0a0 100644 --- a/packages/core-types/package.json +++ b/packages/core-types/package.json @@ -1,6 +1,6 @@ { "name": "@warp-drive/core-types", - "version": "5.5.0-alpha.11", + "version": "0.0.0-alpha.2", "description": "Provides core logic, utils and types for WarpDrive and EmberData", "keywords": [ "ember-addon" @@ -17,7 +17,7 @@ "build:types": "tsc --build", "build:client": "rollup --config && babel ./addon --out-dir addon --plugins=../private-build-infra/src/transforms/babel-plugin-transform-ext.js", "_build": "bun run build:client && bun run build:types", - "prepack": "pnpm build", + "prepack": "bun run _build", "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "files": [ @@ -40,7 +40,7 @@ } }, "dependencies": { - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", "ember-cli-babel": "^8.2.0", "pnpm-sync-dependencies-meta-injected": "0.0.10" }, @@ -64,7 +64,7 @@ "@glimmer/component": "^1.1.2", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-node-resolve": "^15.2.3", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-source": "~5.4.0", "rollup": "^4.9.6", "typescript": "^5.3.3", diff --git a/packages/debug/package.json b/packages/debug/package.json index c62c4278756..95ea9c36750 100644 --- a/packages/debug/package.json +++ b/packages/debug/package.json @@ -1,6 +1,6 @@ { "name": "@ember-data/debug", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "description": "Provides support for the ember-inspector for apps built with Ember and EmberData", "keywords": [ "ember-addon" @@ -18,7 +18,7 @@ "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "peerDependencies": { - "@ember-data/store": "workspace:5.5.0-alpha.11", + "@ember-data/store": "workspace:5.4.0-alpha.16", "@ember/string": "^3.1.1" }, "dependenciesMeta": { @@ -43,7 +43,7 @@ }, "dependencies": { "@babel/core": "^7.23.7", - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", "@ember/edition-utils": "^1.2.0", "@embroider/macros": "^1.13.4", "ember-auto-import": "^2.7.0", @@ -52,13 +52,13 @@ "webpack": "^5.89.0" }, "devDependencies": { - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", "@ember/string": "^3.1.1", "@glimmer/component": "^1.1.2", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-source": "~5.4.0" }, "engines": { diff --git a/packages/diagnostic/package.json b/packages/diagnostic/package.json index 77009c89cf3..84845514f6f 100644 --- a/packages/diagnostic/package.json +++ b/packages/diagnostic/package.json @@ -1,7 +1,6 @@ { "name": "@warp-drive/diagnostic", - "version": "5.5.0-alpha.11", - "private": true, + "version": "0.0.0-alpha.2", "description": "⚡️ A Lightweight Modern Test Runner", "keywords": [ "test", @@ -70,7 +69,7 @@ "build:runtime": "rollup --config", "_build": "bun run build:runtime && bun run build:types", "start": "rollup --config --watch", - "prepack": "pnpm build", + "prepack": "bun run _build", "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "peerDependencies": { @@ -106,7 +105,7 @@ "@embroider/addon-shim": "^1.8.7", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-node-resolve": "^15.2.3", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "bun-types": "^1.0.25", "@ember/test-helpers": "^3.2.1", "ember-source": "~5.4.0", diff --git a/packages/eslint-plugin-ember-data/package.json b/packages/eslint-plugin-ember-data/package.json index 83e5c5167d0..873fe205765 100644 --- a/packages/eslint-plugin-ember-data/package.json +++ b/packages/eslint-plugin-ember-data/package.json @@ -2,7 +2,7 @@ "name": "eslint-plugin-ember-data", "description": "ESLint rules for Applications using EmberData", "main": "./src/index.js", - "version": "5.5.0-alpha.11", + "version": "0.0.0-alpha.2", "private": false, "repository": { "type": "git", diff --git a/packages/graph/package.json b/packages/graph/package.json index 11012f07a7b..c5a420806fb 100644 --- a/packages/graph/package.json +++ b/packages/graph/package.json @@ -1,6 +1,6 @@ { "name": "@ember-data/graph", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "description": "Provides a normalized graph for managing relationships between resources", "keywords": [ "ember-addon" @@ -17,7 +17,7 @@ "build:types": "tsc --build", "build:client": "rollup --config && babel ./addon --out-dir addon --plugins=../private-build-infra/src/transforms/babel-plugin-transform-ext.js", "_build": "bun run build:client && bun run build:types", - "prepack": "pnpm build", + "prepack": "bun run _build", "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "files": [ @@ -40,8 +40,8 @@ } }, "peerDependencies": { - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11" + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2" }, "dependenciesMeta": { "@ember-data/private-build-infra": { @@ -64,7 +64,7 @@ } }, "dependencies": { - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", "@ember/edition-utils": "^1.2.0", "@embroider/macros": "^1.13.4", "ember-cli-babel": "^8.2.0", @@ -81,16 +81,16 @@ "@babel/preset-env": "^7.23.8", "@babel/preset-typescript": "^7.23.3", "@babel/runtime": "^7.23.8", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", "@ember/string": "^3.1.1", "@embroider/addon-dev": "^4.1.2", "@glimmer/component": "^1.1.2", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-node-resolve": "^15.2.3", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-source": "~5.4.0", "rollup": "^4.9.6", "typescript": "^5.3.3", diff --git a/packages/holodeck/client/mock.ts b/packages/holodeck/client/mock.ts index 12589e8db64..1d2697ef23c 100644 --- a/packages/holodeck/client/mock.ts +++ b/packages/holodeck/client/mock.ts @@ -28,7 +28,7 @@ export type ResponseGenerator = () => Record; * @param url the url to mock, relative to the mock server host (e.g. `users/1`) * @param response a function which generates the response to return * @param options status, headers for the response, body to match against for the request, and whether to record the request - * @returns + * @return */ export function GET( owner: object, diff --git a/packages/holodeck/package.json b/packages/holodeck/package.json index 16615f1e79c..d60820102cd 100644 --- a/packages/holodeck/package.json +++ b/packages/holodeck/package.json @@ -1,8 +1,7 @@ { "name": "@warp-drive/holodeck", "description": "⚡️ Simple, Fast HTTP Mocking for Tests", - "version": "5.5.0-alpha.11", - "private": true, + "version": "0.0.0-alpha.2", "license": "MIT", "author": "Chris Thoburn ", "repository": { @@ -45,12 +44,12 @@ "build:client": "rollup --config", "_build": "bun run build:client && bun run build:types", "start": "rollup --config --watch", - "prepack": "pnpm build", + "prepack": "bun run _build", "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "peerDependencies": { - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11" + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2" }, "devDependencies": { "@babel/cli": "^7.23.4", @@ -59,12 +58,12 @@ "@babel/preset-env": "^7.23.8", "@babel/preset-typescript": "^7.23.3", "@babel/runtime": "^7.23.8", - "@ember-data/request": "workspace:5.5.0-alpha.11", + "@ember-data/request": "workspace:5.4.0-alpha.16", "@embroider/addon-dev": "^4.1.2", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-node-resolve": "^15.2.3", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "rollup": "^4.9.6", "typescript": "^5.3.3", "walk-sync": "^3.0.0" diff --git a/packages/json-api/package.json b/packages/json-api/package.json index 71b17d257dc..3b70addd39e 100644 --- a/packages/json-api/package.json +++ b/packages/json-api/package.json @@ -1,6 +1,6 @@ { "name": "@ember-data/json-api", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "description": "Provides a JSON:API document and resource cache implementation for EmberData", "keywords": [ "ember-addon" @@ -17,7 +17,7 @@ "build:types": "tsc --build", "build:client": "rollup --config && babel ./addon --out-dir addon --plugins=../private-build-infra/src/transforms/babel-plugin-transform-ext.js", "_build": "bun run build:client && bun run build:types", - "prepack": "pnpm build", + "prepack": "bun run _build", "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "ember-addon": { @@ -45,10 +45,10 @@ } }, "peerDependencies": { - "@ember-data/graph": "workspace:5.5.0-alpha.11", - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", + "@ember-data/graph": "workspace:5.4.0-alpha.16", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", "ember-inflector": "^4.0.2" }, "peerDependenciesMeta": { @@ -57,7 +57,7 @@ } }, "dependencies": { - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", "@ember/edition-utils": "^1.2.0", "@embroider/macros": "^1.13.4", "ember-cli-babel": "^8.2.0", @@ -103,18 +103,18 @@ "@babel/preset-env": "^7.23.8", "@babel/preset-typescript": "^7.23.3", "@babel/runtime": "^7.23.8", - "@ember-data/graph": "workspace:5.5.0-alpha.11", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", + "@ember-data/graph": "workspace:5.4.0-alpha.16", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", "@ember/string": "^3.1.1", "@embroider/addon-dev": "^4.1.2", "@glimmer/component": "^1.1.2", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-node-resolve": "^15.2.3", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-inflector": "^4.0.2", "ember-source": "~5.4.0", "rollup": "^4.9.6", diff --git a/packages/legacy-compat/package.json b/packages/legacy-compat/package.json index 1a154cdd33d..dbe911447e2 100644 --- a/packages/legacy-compat/package.json +++ b/packages/legacy-compat/package.json @@ -1,7 +1,7 @@ { "name": "@ember-data/legacy-compat", "description": "Compatibility Shims for Older EmberData", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "license": "MIT", "author": "Chris Thoburn ", "repository": { @@ -44,7 +44,7 @@ "build:types": "tsc --build", "build:client": "rollup --config && babel ./addon --out-dir addon --plugins=../private-build-infra/src/transforms/babel-plugin-transform-ext.js", "_build": "bun run build:client && bun run build:types", - "prepack": "pnpm build", + "prepack": "bun run _build", "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "ember-addon": { @@ -53,7 +53,7 @@ "version": 1 }, "dependencies": { - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", "@embroider/macros": "^1.13.4", "ember-cli-babel": "^8.2.0", "pnpm-sync-dependencies-meta-injected": "0.0.10" @@ -91,11 +91,11 @@ } }, "peerDependencies": { - "@ember-data/graph": "workspace:5.5.0-alpha.11", - "@ember-data/json-api": "workspace:5.5.0-alpha.11", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11" + "@ember-data/graph": "workspace:5.4.0-alpha.16", + "@ember-data/json-api": "workspace:5.4.0-alpha.16", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2" }, "peerDependenciesMeta": { "@ember-data/graph": { @@ -116,19 +116,19 @@ "@babel/preset-env": "^7.23.8", "@babel/preset-typescript": "^7.23.3", "@babel/runtime": "^7.23.8", - "@ember-data/graph": "workspace:5.5.0-alpha.11", - "@ember-data/json-api": "workspace:5.5.0-alpha.11", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", + "@ember-data/graph": "workspace:5.4.0-alpha.16", + "@ember-data/json-api": "workspace:5.4.0-alpha.16", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", "@ember/string": "^3.1.1", "@embroider/addon-dev": "^4.1.2", "@glimmer/component": "^1.1.2", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-node-resolve": "^15.2.3", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-inflector": "^4.0.2", "ember-source": "~5.4.0", "rollup": "^4.9.6", diff --git a/packages/model/package.json b/packages/model/package.json index 22bf6b786ec..f13db2e73d5 100644 --- a/packages/model/package.json +++ b/packages/model/package.json @@ -1,6 +1,6 @@ { "name": "@ember-data/model", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "description": "A basic Ember implementation of a resource presentation layer for use with @ember-data/store", "keywords": [ "ember-addon" @@ -19,7 +19,7 @@ "build:types": "tsc --build && bun run move-dts", "build:client": "rollup --config && babel ./addon --out-dir addon --plugins=../private-build-infra/src/transforms/babel-plugin-transform-ext.js", "_build": "bun run build:client && bun run build:types", - "prepack": "pnpm build", + "prepack": "bun run _build", "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "ember-addon": { @@ -48,14 +48,14 @@ } }, "peerDependencies": { - "@ember-data/debug": "workspace:5.5.0-alpha.11", - "@ember-data/graph": "workspace:5.5.0-alpha.11", - "@ember-data/json-api": "workspace:5.5.0-alpha.11", - "@ember-data/legacy-compat": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", + "@ember-data/debug": "workspace:5.4.0-alpha.16", + "@ember-data/graph": "workspace:5.4.0-alpha.16", + "@ember-data/json-api": "workspace:5.4.0-alpha.16", + "@ember-data/legacy-compat": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", "@ember/string": "^3.1.1", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", "ember-inflector": "^4.0.2" }, "peerDependenciesMeta": { @@ -108,7 +108,7 @@ } }, "dependencies": { - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", "@ember/edition-utils": "^1.2.0", "@embroider/macros": "^1.13.4", "ember-cli-babel": "^8.2.0", @@ -128,21 +128,21 @@ "@babel/preset-env": "^7.23.8", "@babel/preset-typescript": "^7.23.3", "@babel/runtime": "^7.23.8", - "@ember-data/debug": "workspace:5.5.0-alpha.11", - "@ember-data/graph": "workspace:5.5.0-alpha.11", - "@ember-data/json-api": "workspace:5.5.0-alpha.11", - "@ember-data/legacy-compat": "workspace:5.5.0-alpha.11", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", + "@ember-data/debug": "workspace:5.4.0-alpha.16", + "@ember-data/graph": "workspace:5.4.0-alpha.16", + "@ember-data/json-api": "workspace:5.4.0-alpha.16", + "@ember-data/legacy-compat": "workspace:5.4.0-alpha.16", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", "@ember/string": "^3.1.1", "@embroider/addon-dev": "^4.1.2", "@glimmer/component": "^1.1.2", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-node-resolve": "^15.2.3", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-inflector": "^4.0.2", "ember-source": "~5.4.0", "rollup": "^4.9.6", diff --git a/packages/model/src/-private/promise-many-array.ts b/packages/model/src/-private/promise-many-array.ts index 439ee3ff2f1..a75ccbd1862 100644 --- a/packages/model/src/-private/promise-many-array.ts +++ b/packages/model/src/-private/promise-many-array.ts @@ -66,7 +66,7 @@ export default class PromiseManyArray { * * @method forEach * @param cb - * @returns + * @return * @private */ forEach(cb: Parameters[0]) { @@ -80,7 +80,7 @@ export default class PromiseManyArray { * @method reload * @public * @param options - * @returns + * @return */ reload(options: FindOptions) { assert('You are trying to reload an async manyArray before it has been created', this.content); diff --git a/packages/model/src/-private/references/belongs-to.ts b/packages/model/src/-private/references/belongs-to.ts index d448923e04e..8a647635e07 100644 --- a/packages/model/src/-private/references/belongs-to.ts +++ b/packages/model/src/-private/references/belongs-to.ts @@ -263,7 +263,7 @@ export default class BelongsToReference { * * @method links * @public - * @returns + * @return */ links(): Links | null { const resource = this._resource(); diff --git a/packages/model/src/-private/references/has-many.ts b/packages/model/src/-private/references/has-many.ts index a8676acb123..9796c1b2a1d 100644 --- a/packages/model/src/-private/references/has-many.ts +++ b/packages/model/src/-private/references/has-many.ts @@ -330,7 +330,7 @@ export default class HasManyReference { * * @method links * @public - * @returns + * @return */ links(): PaginationLinks | null { const resource = this._resource(); diff --git a/packages/private-build-infra/package.json b/packages/private-build-infra/package.json index 8d865b283b4..1f83fded0e4 100644 --- a/packages/private-build-infra/package.json +++ b/packages/private-build-infra/package.json @@ -1,6 +1,6 @@ { "name": "@ember-data/private-build-infra", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "description": "The default blueprint for ember-data private packages.", "repository": { "type": "git", diff --git a/packages/request-utils/package.json b/packages/request-utils/package.json index 682a7b20f1a..0caadcbdba6 100644 --- a/packages/request-utils/package.json +++ b/packages/request-utils/package.json @@ -1,7 +1,7 @@ { "name": "@ember-data/request-utils", "description": "Request Building Utilities for use with EmberData", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": false, "license": "MIT", "author": "Chris Thoburn ", @@ -22,7 +22,7 @@ "extends": "../../package.json" }, "peerDependencies": { - "@warp-drive/core-types": "workspace:5.5.0-alpha.11" + "@warp-drive/core-types": "workspace:0.0.0-alpha.2" }, "dependencies": { "ember-cli-babel": "^8.2.0", @@ -48,7 +48,7 @@ "build:types": "tsc --build", "build:client": "rollup --config && babel ./addon --out-dir addon --plugins=../private-build-infra/src/transforms/babel-plugin-transform-ext.js", "_build": "bun run build:client && bun run build:types", - "prepack": "pnpm build", + "prepack": "bun run _build", "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "ember-addon": { @@ -70,8 +70,8 @@ "@glimmer/component": "^1.1.2", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-node-resolve": "^15.2.3", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-source": "~5.4.0", "rollup": "^4.9.6", "typescript": "^5.3.3", diff --git a/packages/request-utils/src/index.ts b/packages/request-utils/src/index.ts index 1ef046f07d2..bead6ca35a8 100644 --- a/packages/request-utils/src/index.ts +++ b/packages/request-utils/src/index.ts @@ -791,7 +791,7 @@ export class LifetimesService { * @param {ImmutableResponse} response * @param {Store} store * @param {StableDocumentIdentifier | null} identifier - * @returns {void} + * @return {void} */ didRequest( request: ImmutableRequestInfo, @@ -840,7 +840,7 @@ export class LifetimesService { * @public * @param {StableDocumentIdentifier} identifier * @param {Store} store - * @returns {boolean} true if the request is considered hard expired + * @return {boolean} true if the request is considered hard expired */ isHardExpired(identifier: StableDocumentIdentifier, store: Store): boolean { // if we are explicitly invalidated, we are hard expired @@ -867,7 +867,7 @@ export class LifetimesService { * @public * @param {StableDocumentIdentifier} identifier * @param {Store} store - * @returns {boolean} true if the request is considered soft expired + * @return {boolean} true if the request is considered soft expired */ isSoftExpired(identifier: StableDocumentIdentifier, store: Store): boolean { const cache = store.cache; diff --git a/packages/request/package.json b/packages/request/package.json index e44ca727c72..e97457c20e4 100644 --- a/packages/request/package.json +++ b/packages/request/package.json @@ -1,7 +1,7 @@ { "name": "@ember-data/request", "description": "⚡️ A simple, small and fast framework-agnostic library to make `fetch` happen", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "license": "MIT", "author": "Chris Thoburn ", "repository": { @@ -19,7 +19,7 @@ "build:types": "tsc --build", "build:client": "rollup --config && babel ./addon --out-dir addon --plugins=../private-build-infra/src/transforms/babel-plugin-transform-ext.js", "_build": "bun run build:client && bun run build:types", - "prepack": "pnpm build", + "prepack": "bun run _build", "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "files": [ @@ -42,10 +42,10 @@ } }, "peerDependencies": { - "@warp-drive/core-types": "workspace:5.5.0-alpha.11" + "@warp-drive/core-types": "workspace:0.0.0-alpha.2" }, "dependencies": { - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", "@ember/test-waiters": "^3.1.0", "@embroider/macros": "^1.13.4", "ember-cli-babel": "^8.2.0", @@ -74,8 +74,8 @@ "@glimmer/component": "^1.1.2", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-node-resolve": "^15.2.3", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-source": "~5.4.0", "rollup": "^4.9.6", "typescript": "^5.3.3", diff --git a/packages/rest/package.json b/packages/rest/package.json index 467a6cdba23..3a30c5062ef 100644 --- a/packages/rest/package.json +++ b/packages/rest/package.json @@ -1,7 +1,7 @@ { "name": "@ember-data/rest", "description": "REST Format Support for EmberData", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": false, "license": "MIT", "author": "Chris Thoburn ", @@ -26,10 +26,10 @@ "pnpm-sync-dependencies-meta-injected": "0.0.10" }, "peerDependencies": { - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", "@ember-data/store": "^4.12.0 || ^5.0.0", "@ember/string": "^3.1.1", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", "ember-inflector": "^4.0.2" }, "files": [ @@ -52,7 +52,7 @@ "build:types": "tsc --build", "build:client": "rollup --config && babel ./addon --out-dir addon --plugins=../private-build-infra/src/transforms/babel-plugin-transform-ext.js", "_build": "bun run build:client && bun run build:types", - "prepack": "pnpm build", + "prepack": "bun run _build", "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "ember-addon": { @@ -70,17 +70,17 @@ "@babel/preset-env": "^7.23.8", "@babel/preset-typescript": "^7.23.3", "@babel/runtime": "^7.23.8", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", "@ember/string": "^3.1.1", "@embroider/addon-dev": "^4.1.2", "@glimmer/component": "^1.1.2", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-node-resolve": "^15.2.3", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-inflector": "^4.0.2", "ember-source": "~5.4.0", "rollup": "^4.9.6", diff --git a/packages/schema-record/package.json b/packages/schema-record/package.json index 5f448cf3832..2c2f56527a4 100644 --- a/packages/schema-record/package.json +++ b/packages/schema-record/package.json @@ -1,6 +1,6 @@ { "name": "@warp-drive/schema-record", - "version": "5.5.0-alpha.11", + "version": "0.0.0-alpha.2", "private": true, "description": "Never write a Model again", "keywords": [ @@ -18,7 +18,7 @@ "build:runtime": "rollup --config && babel ./addon --out-dir addon --plugins=../private-build-infra/src/transforms/babel-plugin-transform-ext.js", "build:types": "tsc --build", "_build": "bun run build:runtime && bun run build:types", - "prepack": "pnpm build", + "prepack": "bun run _build", "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "ember-addon": { @@ -42,9 +42,9 @@ } }, "peerDependencies": { - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11" + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@ember-data/tracking": "workspace:5.4.0-alpha.16" }, "dependenciesMeta": { "@ember-data/private-build-infra": { @@ -67,7 +67,7 @@ } }, "dependencies": { - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", "@ember/edition-utils": "^1.2.0", "@embroider/macros": "^1.13.4", "ember-cli-babel": "^8.2.0", @@ -84,15 +84,15 @@ "@babel/preset-env": "^7.23.8", "@babel/preset-typescript": "^7.23.3", "@babel/runtime": "^7.23.8", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", "@embroider/addon-dev": "^4.1.2", "@glimmer/component": "^1.1.2", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-node-resolve": "^15.2.3", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-source": "~5.4.0", "rollup": "^4.9.6", "typescript": "^5.3.3", diff --git a/packages/schema/package.json b/packages/schema/package.json index ae3ecd072f4..9ae44851cc8 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -1,6 +1,6 @@ { "name": "@warp-drive/schema", - "version": "5.5.0-alpha.11", + "version": "0.0.0-alpha.2", "private": true, "description": "Parse Declarative Typescript into JSON Schemas", "keywords": [ @@ -24,7 +24,7 @@ "build:parse": "bun build src/parse.ts --compile --outfile parse", "build:scaffold": "bun build src/scaffold.ts --compile --outfile scaffold", "build": "bun run build:parse && bun run build:scaffold", - "prepack": "pnpm build", + "prepack": "bun run _build", "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "files": [ diff --git a/packages/serializer/package.json b/packages/serializer/package.json index 975612427e9..368aa0e9984 100644 --- a/packages/serializer/package.json +++ b/packages/serializer/package.json @@ -1,6 +1,6 @@ { "name": "@ember-data/serializer", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "description": "Provides Legacy JSON, JSON:API and REST Implementations of the Serializer Interface for use with @ember-data/store", "keywords": [ "ember-addon" @@ -18,7 +18,7 @@ "build:types": "tsc --build", "build:client": "rollup --config && babel ./addon --out-dir addon --plugins=../private-build-infra/src/transforms/babel-plugin-transform-ext.js", "_build": "bun run build:client && bun run build:types", - "prepack": "pnpm build", + "prepack": "bun run _build", "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "ember-addon": { @@ -48,7 +48,7 @@ }, "peerDependencies": { "@ember/string": "^3.1.1", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", "ember-inflector": "^4.0.2" }, "dependenciesMeta": { @@ -75,7 +75,7 @@ } }, "dependencies": { - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", "@embroider/macros": "^1.13.4", "ember-cli-babel": "^8.2.0", "ember-cli-test-info": "^1.0.0", @@ -92,16 +92,16 @@ "@babel/preset-env": "^7.23.8", "@babel/preset-typescript": "^7.23.3", "@babel/runtime": "^7.23.8", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", "@ember/string": "^3.1.1", "@embroider/addon-dev": "^4.1.2", "@glimmer/component": "^1.1.2", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-node-resolve": "^15.2.3", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-inflector": "^4.0.2", "ember-source": "~5.4.0", "rollup": "^4.9.6", diff --git a/packages/store/package.json b/packages/store/package.json index 188f72d66d0..0c924ccc5f3 100644 --- a/packages/store/package.json +++ b/packages/store/package.json @@ -1,6 +1,6 @@ { "name": "@ember-data/store", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "description": "The core of EmberData. Provides the Store service which coordinates the cache with the network and presentation layers.", "keywords": [ "ember-addon" @@ -36,11 +36,11 @@ "build:runtime": "rollup --config && babel ./addon --out-dir addon --plugins=../private-build-infra/src/transforms/babel-plugin-transform-ext.js", "build:types": "tsc --build", "_build": "bun run build:runtime && bun run build:types", - "prepack": "pnpm build", + "prepack": "bun run _build", "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "dependencies": { - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", "@embroider/macros": "^1.13.4", "ember-cli-babel": "^8.2.0", "pnpm-sync-dependencies-meta-injected": "0.0.10" @@ -63,10 +63,10 @@ } }, "peerDependencies": { - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", "@ember/string": "^3.1.1", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11" + "@warp-drive/core-types": "workspace:0.0.0-alpha.2" }, "devDependencies": { "@babel/cli": "^7.23.4", @@ -79,15 +79,15 @@ "@babel/preset-env": "^7.23.8", "@babel/preset-typescript": "^7.23.3", "@babel/runtime": "^7.23.8", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", "@ember/string": "^3.1.1", "@embroider/addon-dev": "^4.1.2", "@glimmer/component": "^1.1.2", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-node-resolve": "^15.2.3", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-source": "~5.4.0", "rollup": "^4.9.6", "typescript": "^5.3.3", diff --git a/packages/store/src/-private/cache-handler.ts b/packages/store/src/-private/cache-handler.ts index b22bfb6cf36..815b34e3fdc 100644 --- a/packages/store/src/-private/cache-handler.ts +++ b/packages/store/src/-private/cache-handler.ts @@ -57,7 +57,7 @@ export interface LifetimesService { * @public * @param {StableDocumentIdentifier} identifier * @param {Store} store - * @returns {boolean} true if the request is considered hard expired + * @return {boolean} true if the request is considered hard expired */ isHardExpired(identifier: StableDocumentIdentifier, store: Store): boolean; /** @@ -73,7 +73,7 @@ export interface LifetimesService { * @public * @param {StableDocumentIdentifier} identifier * @param {Store} store - * @returns {boolean} true if the request is considered soft expired + * @return {boolean} true if the request is considered soft expired */ isSoftExpired(identifier: StableDocumentIdentifier, store: Store): boolean; @@ -88,7 +88,7 @@ export interface LifetimesService { * @param {ImmutableRequestInfo} request * @param {StableDocumentIdentifier | null} identifier * @param {Store} store - * @returns {void} + * @return {void} */ willRequest?(request: ImmutableRequestInfo, identifier: StableDocumentIdentifier | null, store: Store): void; @@ -105,7 +105,7 @@ export interface LifetimesService { * @param {ImmutableResponse} response * @param {StableDocumentIdentifier | null} identifier * @param {Store} store - * @returns {void} + * @return {void} */ didRequest?( request: ImmutableRequestInfo, diff --git a/packages/store/src/-private/document.ts b/packages/store/src/-private/document.ts index 1ae30fb81a5..f78e2f51007 100644 --- a/packages/store/src/-private/document.ts +++ b/packages/store/src/-private/document.ts @@ -112,7 +112,7 @@ export class Document { * @method fetch * @public * @param {object} options - * @returns Promise + * @return Promise */ fetch(options: Partial = {}): Promise> { assert(`No self or related link`, this.links?.related || this.links?.self); @@ -129,7 +129,7 @@ export class Document { * @method next * @public * @param {object} options - * @returns Promise + * @return Promise */ next(options: Partial = {}): Promise | null> { return this.#request('next', options); @@ -143,7 +143,7 @@ export class Document { * @method prev * @public * @param {object} options - * @returns Promise + * @return Promise */ prev(options: Partial = {}): Promise | null> { return this.#request('prev', options); @@ -157,7 +157,7 @@ export class Document { * @method first * @public * @param {object} options - * @returns Promise + * @return Promise */ first(options: Partial = {}): Promise | null> { return this.#request('first', options); @@ -171,7 +171,7 @@ export class Document { * @method last * @public * @param {object} options - * @returns Promise + * @return Promise */ last(options: Partial = {}): Promise | null> { return this.#request('last', options); @@ -188,7 +188,7 @@ export class Document { * * @method toJSON * @public - * @returns + * @return */ toJSON(): object { const data: Partial> = {}; diff --git a/packages/store/src/-private/managers/cache-manager.ts b/packages/store/src/-private/managers/cache-manager.ts index 3ae5f5454ca..893d98518f1 100644 --- a/packages/store/src/-private/managers/cache-manager.ts +++ b/packages/store/src/-private/managers/cache-manager.ts @@ -375,7 +375,7 @@ export class CacheManager implements Cache { * @method changedAttrs * @public * @param identifier - * @returns + * @return */ changedAttrs(identifier: StableRecordIdentifier): ChangedAttributesHash { return this.#cache.changedAttrs(identifier); @@ -505,7 +505,7 @@ export class CacheManager implements Cache { * @method getErrors * @public * @param identifier - * @returns + * @return */ getErrors(identifier: StableRecordIdentifier): ApiError[] { return this.#cache.getErrors(identifier); diff --git a/packages/tracking/package.json b/packages/tracking/package.json index 6061bd1f20e..95bf61063d2 100644 --- a/packages/tracking/package.json +++ b/packages/tracking/package.json @@ -1,7 +1,7 @@ { "name": "@ember-data/tracking", "description": "Tracking Primitives for controlling change notification of Tracked properties when working with EmberData", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": false, "license": "MIT", "author": "Chris Thoburn ", @@ -27,7 +27,7 @@ } }, "dependencies": { - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", "@embroider/macros": "^1.13.4", "ember-cached-decorator-polyfill": "^1.0.2", "ember-cli-babel": "^8.2.0", @@ -57,7 +57,7 @@ "build:runtime": "rollup --config && babel ./addon --out-dir addon --plugins=../private-build-infra/src/transforms/babel-plugin-transform-ext.js", "build:types": "tsc --build", "_build": "bun run build:runtime && bun run build:types", - "prepack": "pnpm build", + "prepack": "bun run _build", "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "ember-addon": { @@ -81,7 +81,7 @@ "@glimmer/validator": "^0.85.13", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-node-resolve": "^15.2.3", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-source": "~5.4.0", "rollup": "^4.9.6", "typescript": "^5.3.3", diff --git a/packages/tracking/src/-private.ts b/packages/tracking/src/-private.ts index d0bb1a1d72e..713961e32c1 100644 --- a/packages/tracking/src/-private.ts +++ b/packages/tracking/src/-private.ts @@ -392,7 +392,7 @@ export function createArrayTags(obj: T, signal: Signal) { * @internal * @param obj Object we're creating the signal on * @param key Key to create the signal for - * @returns the signal + * @return the signal */ export function createSignal(obj: T, key: string): Signal { const _signal: Signal = { @@ -434,7 +434,7 @@ export function createSignal(obj: T, key: string): Signal { * @param signals Map of signals * @param obj Object we're creating the signal on * @param key Key to create the signal for - * @returns the signal + * @return the signal */ export function entangleSignal(signals: Map, obj: T, key: string): Signal { let _signal = signals.get(key); diff --git a/packages/unpublished-eslint-rules/package.json b/packages/unpublished-eslint-rules/package.json index 5288e4fe4a1..1974f6433fd 100644 --- a/packages/unpublished-eslint-rules/package.json +++ b/packages/unpublished-eslint-rules/package.json @@ -1,7 +1,7 @@ { "name": "eslint-plugin-ember-data-internal", "main": "./src/index.js", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": true, "repository": { "type": "git", diff --git a/packages/unpublished-test-infra/package.json b/packages/unpublished-test-infra/package.json index 30020d0c4af..d8ea76bf5d3 100644 --- a/packages/unpublished-test-infra/package.json +++ b/packages/unpublished-test-infra/package.json @@ -1,6 +1,6 @@ { "name": "@ember-data/unpublished-test-infra", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": true, "description": "The default blueprint for ember-data private packages.", "keywords": [ @@ -54,16 +54,16 @@ } }, "dependencies": { - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", "@ember/edition-utils": "^1.2.0", "@ember/test-helpers": "^3.2.1", "@embroider/macros": "^1.13.4", "@types/qunit": "^2.19.9", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/diagnostic": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/diagnostic": "workspace:0.0.0-alpha.2", "broccoli-merge-trees": "^4.2.0", "chalk": "^4.1.2", "ember-auto-import": "^2.7.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fa48a41a990..3fed6038081 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,6 +36,9 @@ importers: specifier: ^1.11.2 version: 1.11.2 devDependencies: + '@types/semver': + specifier: ^7.5.6 + version: 7.5.6 bun-types: specifier: ^1.0.25 version: 1.0.25 @@ -142,40 +145,40 @@ importers: packages/-ember-data: dependencies: '@ember-data/adapter': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/adapter(@babel/core@7.23.7)(@ember-data/legacy-compat@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/adapter(@babel/core@7.23.7)(@ember-data/legacy-compat@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1)(ember-inflector@4.0.2) '@ember-data/debug': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/debug(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/debug(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1) '@ember-data/graph': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/json-api': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/legacy-compat': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/request@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/request@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/model': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.5.0-alpha.11)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/legacy-compat@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.4.0-alpha.16)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/legacy-compat@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request-utils': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/serializer': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/serializer(@babel/core@7.23.7)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/serializer(@babel/core@7.23.7)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember/edition-utils': specifier: ^1.2.0 @@ -184,7 +187,7 @@ importers: specifier: ^1.13.4 version: 1.13.4(@babel/core@7.23.7) '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) broccoli-merge-trees: specifier: ^4.2.0 @@ -221,7 +224,7 @@ importers: specifier: ^1.1.2 version: 1.1.2 '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-source: specifier: ~5.4.0 @@ -298,16 +301,16 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request-utils': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember/string': specifier: 3.1.1 @@ -325,10 +328,10 @@ importers: specifier: ^15.2.3 version: 15.2.3(rollup@4.9.6) '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-inflector: specifier: ^4.0.2 @@ -364,7 +367,7 @@ importers: packages/adapter: dependencies: '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@embroider/macros': specifier: ^1.13.4 @@ -410,25 +413,25 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/graph': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/json-api': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/legacy-compat': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/request@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/request@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request-utils': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember/string': specifier: 3.1.1 @@ -449,10 +452,10 @@ importers: specifier: ^3.5.29 version: 3.5.29 '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-inflector: specifier: ^4.0.2 @@ -499,7 +502,7 @@ importers: packages/core-types: dependencies: '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra ember-cli-babel: specifier: ^8.1.0 @@ -551,7 +554,7 @@ importers: specifier: ^15.2.3 version: 15.2.3(rollup@4.9.6) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-source: specifier: ~5.4.0 @@ -578,7 +581,7 @@ importers: specifier: ^7.23.7 version: 7.23.7(supports-color@8.1.1) '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@ember/edition-utils': specifier: ^1.2.0 @@ -600,13 +603,13 @@ importers: version: 5.89.0 devDependencies: '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember/string': specifier: 3.1.1 @@ -615,10 +618,10 @@ importers: specifier: ^1.1.2 version: 1.1.2(@babel/core@7.23.7) '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-source: specifier: ~5.4.0 @@ -689,7 +692,7 @@ importers: specifier: ^15.2.3 version: 15.2.3(rollup@4.9.6) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config bun-types: specifier: ^1.0.25 @@ -719,7 +722,7 @@ importers: packages/graph: dependencies: '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@ember/edition-utils': specifier: ^1.2.0 @@ -765,13 +768,13 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember/string': specifier: 3.1.1 @@ -789,10 +792,10 @@ importers: specifier: ^15.2.3 version: 15.2.3(rollup@4.9.6) '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-source: specifier: ~5.4.0 @@ -860,8 +863,8 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@embroider/addon-dev': specifier: ^4.1.2 version: 4.1.2(rollup@4.9.6) @@ -872,10 +875,10 @@ importers: specifier: ^15.2.3 version: 15.2.3(rollup@4.9.6) '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config rollup: specifier: ^4.9.6 @@ -895,7 +898,7 @@ importers: packages/json-api: dependencies: '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@ember/edition-utils': specifier: ^1.2.0 @@ -941,19 +944,19 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/graph': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request-utils': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember/string': specifier: 3.1.1 @@ -971,10 +974,10 @@ importers: specifier: ^15.2.3 version: 15.2.3(rollup@4.9.6) '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-inflector: specifier: ^4.0.2 @@ -1017,7 +1020,7 @@ importers: packages/legacy-compat: dependencies: '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@embroider/macros': specifier: ^1.13.4 @@ -1060,22 +1063,22 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/graph': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/json-api': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request-utils': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember/string': specifier: 3.1.1 @@ -1093,10 +1096,10 @@ importers: specifier: ^15.2.3 version: 15.2.3(rollup@4.9.6) '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-inflector: specifier: ^4.0.2 @@ -1138,7 +1141,7 @@ importers: packages/model: dependencies: '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@ember/edition-utils': specifier: ^1.2.0 @@ -1193,28 +1196,28 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/debug': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/debug(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/debug(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1) '@ember-data/graph': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/json-api': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/legacy-compat': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/request@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/request@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request-utils': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember/string': specifier: 3.1.1 @@ -1232,10 +1235,10 @@ importers: specifier: ^15.2.3 version: 15.2.3(rollup@4.9.6) '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-inflector: specifier: ^4.0.2 @@ -1356,7 +1359,7 @@ importers: packages/request: dependencies: '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@ember/test-waiters': specifier: ^3.1.0 @@ -1414,10 +1417,10 @@ importers: specifier: ^15.2.3 version: 15.2.3(rollup@4.9.6) '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-source: specifier: ~5.4.0 @@ -1486,10 +1489,10 @@ importers: specifier: ^15.2.3 version: 15.2.3(rollup@4.9.6) '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-source: specifier: ~5.4.0 @@ -1544,16 +1547,16 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request-utils': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember/string': specifier: 3.1.1 @@ -1571,10 +1574,10 @@ importers: specifier: ^15.2.3 version: 15.2.3(rollup@4.9.6) '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-inflector: specifier: ^4.0.2 @@ -1623,7 +1626,7 @@ importers: packages/schema-record: dependencies: '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@ember/edition-utils': specifier: ^1.2.0 @@ -1669,13 +1672,13 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember/string': specifier: 3.1.1 @@ -1693,10 +1696,10 @@ importers: specifier: ^15.2.3 version: 15.2.3(rollup@4.9.6) '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-source: specifier: ~5.4.0 @@ -1730,7 +1733,7 @@ importers: packages/serializer: dependencies: '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@embroider/macros': specifier: ^1.13.4 @@ -1776,13 +1779,13 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember/string': specifier: 3.1.1 @@ -1800,10 +1803,10 @@ importers: specifier: ^15.2.3 version: 15.2.3(rollup@4.9.6) '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-inflector: specifier: ^4.0.2 @@ -1842,7 +1845,7 @@ importers: packages/store: dependencies: '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@embroider/macros': specifier: ^1.13.4 @@ -1885,10 +1888,10 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember/string': specifier: 3.1.1 @@ -1906,10 +1909,10 @@ importers: specifier: ^15.2.3 version: 15.2.3(rollup@4.9.6) '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-source: specifier: ~5.4.0 @@ -1941,7 +1944,7 @@ importers: packages/tracking: dependencies: '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@embroider/macros': specifier: ^1.13.4 @@ -2002,7 +2005,7 @@ importers: specifier: ^15.2.3 version: 15.2.3(rollup@4.9.6) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-source: specifier: ~5.4.0 @@ -2029,16 +2032,16 @@ importers: packages/unpublished-test-infra: dependencies: '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember/edition-utils': specifier: ^1.2.0 @@ -2053,10 +2056,10 @@ importers: specifier: ^2.19.9 version: 2.19.9 '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/diagnostic': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/diagnostic(@ember/test-helpers@3.2.1)(@embroider/addon-shim@1.8.7)(ember-cli-test-loader@3.1.0) broccoli-merge-trees: specifier: ^4.2.0 @@ -2178,43 +2181,43 @@ importers: specifier: ^7.23.7 version: 7.23.7(supports-color@8.1.1) '@ember-data/adapter': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/adapter(@babel/core@7.23.7)(@ember-data/legacy-compat@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/adapter(@babel/core@7.23.7)(@ember-data/legacy-compat@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1)(ember-inflector@4.0.2) '@ember-data/debug': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/debug(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/debug(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1) '@ember-data/graph': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/json-api': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/legacy-compat': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/request@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/request@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/model': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.5.0-alpha.11)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/legacy-compat@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.4.0-alpha.16)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/legacy-compat@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request-utils': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/serializer': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/serializer(@babel/core@7.23.7)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/serializer(@babel/core@7.23.7)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember-data/unpublished-test-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/unpublished-test-infra(@babel/core@7.23.7)(@ember/string@3.1.1)(@embroider/addon-shim@1.8.7)(ember-cli-test-loader@3.1.0)(ember-cli@5.4.1)(ember-source@5.4.0) '@ember/string': specifier: 3.1.1 @@ -2226,10 +2229,10 @@ importers: specifier: ^1.1.2 version: 1.1.2 '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-cli: specifier: ~5.4.1 @@ -2300,43 +2303,43 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/active-record': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/active-record(@babel/core@7.23.7)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/active-record(@babel/core@7.23.7)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/debug': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/debug(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/debug(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1) '@ember-data/graph': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/json-api': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/legacy-compat': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/request@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/request@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/model': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.5.0-alpha.11)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/legacy-compat@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.4.0-alpha.16)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/legacy-compat@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request-utils': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/rest': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/rest(@babel/core@7.23.7)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/rest(@babel/core@7.23.7)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember-data/unpublished-test-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/unpublished-test-infra(@babel/core@7.23.7)(@ember/string@3.1.1)(@embroider/addon-shim@1.8.7)(ember-cli-test-loader@3.1.0)(ember-cli@5.4.1)(ember-source@5.4.0) '@ember/edition-utils': specifier: ^1.2.0 @@ -2360,13 +2363,13 @@ importers: specifier: ^1.1.2 version: 1.1.2 '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/diagnostic': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/diagnostic(@ember/test-helpers@3.2.1)(@embroider/addon-shim@1.8.7)(ember-cli-test-loader@3.1.0) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-auto-import: specifier: ^2.7.0 @@ -2465,7 +2468,7 @@ importers: version: 0.0.10 devDependencies: '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config qunit: specifier: 2.19.4 @@ -2480,37 +2483,37 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/debug': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/debug(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/debug(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1) '@ember-data/graph': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/json-api': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/legacy-compat': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/request@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/request@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/model': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.5.0-alpha.11)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/legacy-compat@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.4.0-alpha.16)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/legacy-compat@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request-utils': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/serializer': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/serializer(@babel/core@7.23.7)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/serializer(@babel/core@7.23.7)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember-data/unpublished-test-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/unpublished-test-infra(@babel/core@7.23.7)(@ember/string@3.1.1)(@embroider/addon-shim@1.8.7)(ember-cli-test-loader@3.1.0)(ember-cli@5.4.1)(ember-source@5.4.0) '@ember/optional-features': specifier: ^2.0.0 @@ -2531,13 +2534,13 @@ importers: specifier: ^1.1.2 version: 1.1.2 '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/diagnostic': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/diagnostic(@ember/test-helpers@3.2.1)(@embroider/addon-shim@1.8.7)(ember-cli-test-loader@3.1.0) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-auto-import: specifier: ^2.7.0 @@ -2632,37 +2635,37 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/debug': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/debug(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/debug(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1) '@ember-data/graph': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/json-api': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/legacy-compat': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/request@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/request@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/model': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.5.0-alpha.11)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/legacy-compat@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.4.0-alpha.16)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/legacy-compat@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request-utils': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember-data/unpublished-test-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/unpublished-test-infra(@babel/core@7.23.7)(@ember/string@3.1.1)(@embroider/addon-shim@1.8.7)(ember-cli-test-loader@3.1.0)(ember-cli@5.4.1)(ember-source@5.4.0) '@ember/edition-utils': specifier: ^1.2.0 @@ -2689,13 +2692,13 @@ importers: specifier: ^1.1.2 version: 1.1.2 '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/diagnostic': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/diagnostic(@ember/test-helpers@3.2.1)(@embroider/addon-shim@1.8.7)(ember-cli-test-loader@3.1.0) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-auto-import: specifier: ^2.7.0 @@ -2799,37 +2802,37 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/debug': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/debug(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/debug(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1) '@ember-data/graph': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/json-api': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/legacy-compat': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/request@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/request@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/model': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.5.0-alpha.11)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/legacy-compat@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.4.0-alpha.16)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/legacy-compat@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request-utils': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember-data/unpublished-test-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/unpublished-test-infra(@babel/core@7.23.7)(@ember/string@3.1.1)(@embroider/addon-shim@1.8.7)(ember-cli-test-loader@3.1.0)(ember-cli@5.4.1)(ember-source@5.4.0) '@ember/edition-utils': specifier: ^1.2.0 @@ -2856,13 +2859,13 @@ importers: specifier: ^1.1.2 version: 1.1.2 '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/diagnostic': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/diagnostic(@ember/test-helpers@3.2.1)(@embroider/addon-shim@1.8.7)(ember-cli-test-loader@3.1.0) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-auto-import: specifier: ^2.7.0 @@ -2966,34 +2969,34 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/adapter': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/adapter(@babel/core@7.23.7)(@ember-data/legacy-compat@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/adapter(@babel/core@7.23.7)(@ember-data/legacy-compat@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1)(ember-inflector@4.0.2) '@ember-data/graph': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/json-api': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/legacy-compat': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/request@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/request@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request-utils': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/serializer': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/serializer(@babel/core@7.23.7)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/serializer(@babel/core@7.23.7)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember/optional-features': specifier: ^2.0.0 @@ -3014,13 +3017,13 @@ importers: specifier: ^1.1.2 version: 1.1.2 '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/diagnostic': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/diagnostic(@ember/test-helpers@3.2.1)(@embroider/addon-shim@1.8.7)(ember-cli-test-loader@3.1.0) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-auto-import: specifier: ^2.7.0 @@ -3110,11 +3113,11 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember/edition-utils': specifier: ^1.2.0 version: 1.2.0 @@ -3137,16 +3140,16 @@ importers: specifier: ^1.1.2 version: 1.1.2 '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/diagnostic': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/diagnostic(@ember/test-helpers@3.2.1)(@embroider/addon-shim@1.8.7)(ember-cli-test-loader@3.1.0) '@warp-drive/holodeck': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/holodeck(@ember-data/request@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:0.0.0-alpha.2 + version: file:packages/holodeck(@ember-data/request@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config bun-types: specifier: ^1.0.25 @@ -3243,37 +3246,37 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/adapter': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/adapter(@babel/core@7.23.7)(@ember-data/legacy-compat@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/adapter(@babel/core@7.23.7)(@ember-data/legacy-compat@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1)(ember-inflector@4.0.2) '@ember-data/debug': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/debug(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/debug(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1) '@ember-data/graph': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/json-api': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/legacy-compat': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/request@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/request@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/model': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.5.0-alpha.11)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/legacy-compat@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.4.0-alpha.16)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/legacy-compat@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request-utils': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember-data/unpublished-test-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/unpublished-test-infra(@babel/core@7.23.7)(@ember/string@3.1.1)(@embroider/addon-shim@1.8.7)(ember-cli-test-loader@3.1.0)(ember-cli@5.4.1)(ember-source@5.4.0) '@ember/optional-features': specifier: ^2.0.0 @@ -3291,10 +3294,10 @@ importers: specifier: ^1.1.2 version: 1.1.2 '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-auto-import: specifier: ^2.7.0 @@ -3386,7 +3389,7 @@ importers: specifier: ^2.7.0 version: 2.7.0(webpack@5.89.0) ember-data: - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/-ember-data(@babel/core@7.23.7)(@ember/string@3.1.1)(ember-source@5.4.0) ember-inflector: specifier: ^4.0.2 @@ -3405,7 +3408,7 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/unpublished-test-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/unpublished-test-infra(@babel/core@7.23.7)(@ember/string@3.1.1)(@embroider/addon-shim@1.8.7)(ember-cli-test-loader@3.1.0)(ember-cli@5.4.1)(ember-source@5.4.0) '@ember/optional-features': specifier: ^2.0.0 @@ -3429,7 +3432,7 @@ importers: specifier: ^1.1.2 version: 1.1.2 '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-cli: specifier: ~5.4.1 @@ -3495,7 +3498,7 @@ importers: tests/fastboot: dependencies: '@ember-data/unpublished-test-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/unpublished-test-infra(@babel/core@7.23.7)(@ember/string@3.1.1)(@embroider/addon-shim@1.8.7)(ember-cli-test-loader@3.1.0)(ember-cli@5.4.1)(ember-source@5.4.0) '@ember/string': specifier: 3.1.1 @@ -3504,7 +3507,7 @@ importers: specifier: ^2.7.0 version: 2.7.0(webpack@5.89.0) ember-data: - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/-ember-data(@babel/core@7.23.7)(@ember/string@3.1.1)(ember-source@5.4.0) ember-inflector: specifier: ^4.0.2 @@ -3535,7 +3538,7 @@ importers: specifier: ^1.1.2 version: 1.1.2 '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-cli: specifier: ~5.4.1 @@ -3614,7 +3617,7 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@ember/optional-features': specifier: ^2.0.0 @@ -3647,7 +3650,7 @@ importers: specifier: ^4.0.2 version: 4.0.2 ember-data: - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/-ember-data(@babel/core@7.23.7)(@ember/string@3.1.1)(ember-source@5.4.0) ember-load-initializers: specifier: ^2.1.2 @@ -3694,43 +3697,43 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/adapter': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/adapter(@babel/core@7.23.7)(@ember-data/legacy-compat@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/adapter(@babel/core@7.23.7)(@ember-data/legacy-compat@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1)(ember-inflector@4.0.2) '@ember-data/debug': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/debug(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/debug(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1) '@ember-data/graph': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/json-api': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/legacy-compat': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/request@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/request@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/model': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.5.0-alpha.11)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/legacy-compat@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.4.0-alpha.16)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/legacy-compat@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request-utils': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/serializer': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/serializer(@babel/core@7.23.7)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/serializer(@babel/core@7.23.7)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember-data/unpublished-test-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/unpublished-test-infra(@babel/core@7.23.7)(@ember/string@3.1.1)(@embroider/addon-shim@1.8.7)(ember-cli-test-loader@3.1.0)(ember-cli@5.4.1)(ember-source@5.4.0) '@ember/edition-utils': specifier: ^1.2.0 @@ -3757,13 +3760,13 @@ importers: specifier: ^2.19.9 version: 2.19.9 '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/holodeck': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/holodeck(@ember-data/request@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:0.0.0-alpha.2 + version: file:packages/holodeck(@ember-data/request@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config broccoli-concat: specifier: ^4.2.5 @@ -3811,7 +3814,7 @@ importers: specifier: ^3.1.0 version: 3.1.0(@babel/core@7.23.7) ember-data: - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/-ember-data(@babel/core@7.23.7)(@ember/string@3.1.1)(ember-source@5.4.0) ember-decorators-polyfill: specifier: ^1.1.5 @@ -3917,7 +3920,7 @@ importers: specifier: ^2.7.0 version: 2.7.0(webpack@5.89.0) ember-data: - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/-ember-data(@babel/core@7.23.7)(@ember/string@3.1.1)(ember-source@5.4.0) pnpm-sync-dependencies-meta-injected: specifier: 0.0.10 @@ -3954,7 +3957,7 @@ importers: specifier: ^1.1.2 version: 1.1.2 '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-cli: specifier: ~5.4.1 @@ -4008,37 +4011,37 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/debug': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/debug(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/debug(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1) '@ember-data/graph': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/json-api': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/legacy-compat': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/request@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/request@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/model': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.5.0-alpha.11)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/legacy-compat@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.4.0-alpha.16)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/legacy-compat@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request-utils': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember-data/unpublished-test-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/unpublished-test-infra(@babel/core@7.23.7)(@ember/string@3.1.1)(@embroider/addon-shim@1.8.7)(ember-cli-test-loader@3.1.0)(ember-cli@5.4.1)(ember-source@5.4.0) '@ember/edition-utils': specifier: ^1.2.0 @@ -4074,10 +4077,10 @@ importers: specifier: ^1.9.9 version: 1.9.9 '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config ember-auto-import: specifier: ^2.7.0 @@ -4215,37 +4218,37 @@ importers: specifier: ^7.23.8 version: 7.23.8 '@ember-data/debug': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/debug(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/debug(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1) '@ember-data/graph': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/json-api': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/legacy-compat': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/request@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/request@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/model': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.5.0-alpha.11)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/legacy-compat@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.4.0-alpha.16)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/legacy-compat@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/private-build-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/private-build-infra '@ember-data/request': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/request-utils': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/store': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:5.4.0-alpha.16 + version: file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember-data/unpublished-test-infra': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: file:packages/unpublished-test-infra(@babel/core@7.23.7)(@ember/string@3.1.1)(@embroider/addon-shim@1.8.7)(ember-cli-test-loader@3.1.0)(ember-cli@5.4.1)(ember-source@5.4.0) '@ember/edition-utils': specifier: ^1.2.0 @@ -4269,14 +4272,14 @@ importers: specifier: ^2.19.9 version: 2.19.9 '@warp-drive/core-types': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:0.0.0-alpha.2 version: file:packages/core-types(@babel/core@7.23.7) '@warp-drive/internal-config': - specifier: workspace:5.5.0-alpha.11 + specifier: workspace:5.4.0-alpha.16 version: link:../../config '@warp-drive/schema-record': - specifier: workspace:5.5.0-alpha.11 - version: file:packages/schema-record(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + specifier: workspace:0.0.0-alpha.2 + version: file:packages/schema-record(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) ember-auto-import: specifier: ^2.7.0 version: 2.7.0(webpack@5.89.0) @@ -18747,22 +18750,22 @@ packages: resolution: {directory: packages/-ember-data, type: directory} id: file:packages/-ember-data name: ember-data - version: 5.5.0-alpha.11 + version: 5.4.0-alpha.16 engines: {node: '>= 20.11.0'} peerDependencies: '@ember/string': ^3.1.1 dependencies: - '@ember-data/adapter': file:packages/adapter(@babel/core@7.23.7)(@ember-data/legacy-compat@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1)(ember-inflector@4.0.2) - '@ember-data/debug': file:packages/debug(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1) - '@ember-data/graph': file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) - '@ember-data/json-api': file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) - '@ember-data/legacy-compat': file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/request@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) - '@ember-data/model': file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.5.0-alpha.11)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/legacy-compat@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + '@ember-data/adapter': file:packages/adapter(@babel/core@7.23.7)(@ember-data/legacy-compat@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1)(ember-inflector@4.0.2) + '@ember-data/debug': file:packages/debug(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1) + '@ember-data/graph': file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) + '@ember-data/json-api': file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) + '@ember-data/legacy-compat': file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/request@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) + '@ember-data/model': file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.4.0-alpha.16)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/legacy-compat@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/private-build-infra': file:packages/private-build-infra - '@ember-data/request': file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) - '@ember-data/request-utils': file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) - '@ember-data/serializer': file:packages/serializer(@babel/core@7.23.7)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) - '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + '@ember-data/request': file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) + '@ember-data/request-utils': file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) + '@ember-data/serializer': file:packages/serializer(@babel/core@7.23.7)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) + '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember/edition-utils': 1.2.0 '@ember/string': 3.1.1(@babel/core@7.23.7) @@ -18785,21 +18788,21 @@ packages: - uglify-js - webpack-cli - file:packages/active-record(@babel/core@7.23.7)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2): + file:packages/active-record(@babel/core@7.23.7)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2): resolution: {directory: packages/active-record, type: directory} id: file:packages/active-record name: '@ember-data/active-record' - version: 5.5.0-alpha.11 + version: 5.4.0-alpha.16 engines: {node: '>= 20.11.0'} peerDependencies: - '@ember-data/request-utils': workspace:5.5.0-alpha.11 + '@ember-data/request-utils': workspace:5.4.0-alpha.16 '@ember-data/store': ^4.12.0 || ^5.0.0 '@ember/string': ^3.1.1 - '@warp-drive/core-types': workspace:5.5.0-alpha.11 + '@warp-drive/core-types': workspace:0.0.0-alpha.2 ember-inflector: ^4.0.2 dependencies: - '@ember-data/request-utils': file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) - '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + '@ember-data/request-utils': file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) + '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember/string': 3.1.1(@babel/core@7.23.7) '@warp-drive/core-types': file:packages/core-types(@babel/core@7.23.7) ember-cli-babel: 8.2.0(@babel/core@7.23.7) @@ -18810,21 +18813,21 @@ packages: - supports-color dev: true - file:packages/adapter(@babel/core@7.23.7)(@ember-data/legacy-compat@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1)(ember-inflector@4.0.2): + file:packages/adapter(@babel/core@7.23.7)(@ember-data/legacy-compat@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1)(ember-inflector@4.0.2): resolution: {directory: packages/adapter, type: directory} id: file:packages/adapter name: '@ember-data/adapter' - version: 5.5.0-alpha.11 + version: 5.4.0-alpha.16 engines: {node: '>= 20.11.0'} peerDependencies: - '@ember-data/legacy-compat': workspace:5.5.0-alpha.11 - '@ember-data/store': workspace:5.5.0-alpha.11 + '@ember-data/legacy-compat': workspace:5.4.0-alpha.16 + '@ember-data/store': workspace:5.4.0-alpha.16 '@ember/string': ^3.1.1 ember-inflector: ^4.0.2 dependencies: - '@ember-data/legacy-compat': file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/request@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + '@ember-data/legacy-compat': file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/request@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/private-build-infra': file:packages/private-build-infra - '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember/string': 3.1.1(@babel/core@7.23.7) '@embroider/macros': 1.13.4(@babel/core@7.23.7) ember-cli-babel: 8.2.0(@babel/core@7.23.7) @@ -18840,7 +18843,7 @@ packages: resolution: {directory: packages/core-types, type: directory} id: file:packages/core-types name: '@warp-drive/core-types' - version: 5.5.0-alpha.11 + version: 0.0.0-alpha.2 engines: {node: '>= 20.11.0'} dependencies: '@ember-data/private-build-infra': file:packages/private-build-infra @@ -18851,19 +18854,19 @@ packages: - '@glint/template' - supports-color - file:packages/debug(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1): + file:packages/debug(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1): resolution: {directory: packages/debug, type: directory} id: file:packages/debug name: '@ember-data/debug' - version: 5.5.0-alpha.11 + version: 5.4.0-alpha.16 engines: {node: '>= 20.11.0'} peerDependencies: - '@ember-data/store': workspace:5.5.0-alpha.11 + '@ember-data/store': workspace:5.4.0-alpha.16 '@ember/string': ^3.1.1 dependencies: '@babel/core': 7.23.7(supports-color@8.1.1) '@ember-data/private-build-infra': file:packages/private-build-infra - '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember/edition-utils': 1.2.0 '@ember/string': 3.1.1(@babel/core@7.23.7) '@embroider/macros': 1.13.4(@babel/core@7.23.7) @@ -18883,7 +18886,7 @@ packages: resolution: {directory: packages/diagnostic, type: directory} id: file:packages/diagnostic name: '@warp-drive/diagnostic' - version: 5.5.0-alpha.11 + version: 0.0.0-alpha.2 engines: {node: '>= 20.11.0'} peerDependencies: '@ember/test-helpers': '>= 3.2.1' @@ -18907,18 +18910,18 @@ packages: transitivePeerDependencies: - supports-color - file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11): + file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2): resolution: {directory: packages/graph, type: directory} id: file:packages/graph name: '@ember-data/graph' - version: 5.5.0-alpha.11 + version: 5.4.0-alpha.16 engines: {node: '>= 20.11.0'} peerDependencies: - '@ember-data/store': workspace:5.5.0-alpha.11 - '@warp-drive/core-types': workspace:5.5.0-alpha.11 + '@ember-data/store': workspace:5.4.0-alpha.16 + '@warp-drive/core-types': workspace:0.0.0-alpha.2 dependencies: '@ember-data/private-build-infra': file:packages/private-build-infra - '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember/edition-utils': 1.2.0 '@embroider/macros': 1.13.4(@babel/core@7.23.7) '@warp-drive/core-types': file:packages/core-types(@babel/core@7.23.7) @@ -18929,18 +18932,18 @@ packages: - '@glint/template' - supports-color - file:packages/holodeck(@ember-data/request@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11): + file:packages/holodeck(@ember-data/request@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2): resolution: {directory: packages/holodeck, type: directory} id: file:packages/holodeck name: '@warp-drive/holodeck' - version: 5.5.0-alpha.11 + version: 0.0.0-alpha.2 engines: {node: '>= 20.11.0'} hasBin: true peerDependencies: - '@ember-data/request': workspace:5.5.0-alpha.11 - '@warp-drive/core-types': workspace:5.5.0-alpha.11 + '@ember-data/request': workspace:5.4.0-alpha.16 + '@warp-drive/core-types': workspace:0.0.0-alpha.2 dependencies: - '@ember-data/request': file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + '@ember-data/request': file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@hono/node-server': 1.3.3 '@warp-drive/core-types': file:packages/core-types(@babel/core@7.23.7) chalk: 4.1.2 @@ -18953,26 +18956,26 @@ packages: - utf-8-validate dev: true - file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2): + file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2): resolution: {directory: packages/json-api, type: directory} id: file:packages/json-api name: '@ember-data/json-api' - version: 5.5.0-alpha.11 + version: 5.4.0-alpha.16 engines: {node: '>= 20.11.0'} peerDependencies: - '@ember-data/graph': workspace:5.5.0-alpha.11 - '@ember-data/request-utils': workspace:5.5.0-alpha.11 - '@ember-data/store': workspace:5.5.0-alpha.11 - '@warp-drive/core-types': workspace:5.5.0-alpha.11 + '@ember-data/graph': workspace:5.4.0-alpha.16 + '@ember-data/request-utils': workspace:5.4.0-alpha.16 + '@ember-data/store': workspace:5.4.0-alpha.16 + '@warp-drive/core-types': workspace:0.0.0-alpha.2 ember-inflector: ^4.0.2 peerDependenciesMeta: '@ember-data/request-utils': optional: true dependencies: - '@ember-data/graph': file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + '@ember-data/graph': file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/private-build-infra': file:packages/private-build-infra - '@ember-data/request-utils': file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) - '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + '@ember-data/request-utils': file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) + '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember/edition-utils': 1.2.0 '@embroider/macros': 1.13.4(@babel/core@7.23.7) '@warp-drive/core-types': file:packages/core-types(@babel/core@7.23.7) @@ -18984,29 +18987,29 @@ packages: - '@glint/template' - supports-color - file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/request@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11): + file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/request@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2): resolution: {directory: packages/legacy-compat, type: directory} id: file:packages/legacy-compat name: '@ember-data/legacy-compat' - version: 5.5.0-alpha.11 + version: 5.4.0-alpha.16 engines: {node: '>= 20.11.0'} peerDependencies: - '@ember-data/graph': workspace:5.5.0-alpha.11 - '@ember-data/json-api': workspace:5.5.0-alpha.11 - '@ember-data/request': workspace:5.5.0-alpha.11 - '@ember-data/store': workspace:5.5.0-alpha.11 - '@warp-drive/core-types': workspace:5.5.0-alpha.11 + '@ember-data/graph': workspace:5.4.0-alpha.16 + '@ember-data/json-api': workspace:5.4.0-alpha.16 + '@ember-data/request': workspace:5.4.0-alpha.16 + '@ember-data/store': workspace:5.4.0-alpha.16 + '@warp-drive/core-types': workspace:0.0.0-alpha.2 peerDependenciesMeta: '@ember-data/graph': optional: true '@ember-data/json-api': optional: true dependencies: - '@ember-data/graph': file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) - '@ember-data/json-api': file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) + '@ember-data/graph': file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) + '@ember-data/json-api': file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) '@ember-data/private-build-infra': file:packages/private-build-infra - '@ember-data/request': file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) - '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + '@ember-data/request': file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) + '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@embroider/macros': 1.13.4(@babel/core@7.23.7) '@warp-drive/core-types': file:packages/core-types(@babel/core@7.23.7) ember-cli-babel: 8.2.0(@babel/core@7.23.7) @@ -19016,21 +19019,21 @@ packages: - '@glint/template' - supports-color - file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.5.0-alpha.11)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/legacy-compat@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2): + file:packages/model(@babel/core@7.23.7)(@ember-data/debug@5.4.0-alpha.16)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/legacy-compat@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2): resolution: {directory: packages/model, type: directory} id: file:packages/model name: '@ember-data/model' - version: 5.5.0-alpha.11 + version: 5.4.0-alpha.16 engines: {node: '>= 20.11.0'} peerDependencies: - '@ember-data/debug': workspace:5.5.0-alpha.11 - '@ember-data/graph': workspace:5.5.0-alpha.11 - '@ember-data/json-api': workspace:5.5.0-alpha.11 - '@ember-data/legacy-compat': workspace:5.5.0-alpha.11 - '@ember-data/store': workspace:5.5.0-alpha.11 - '@ember-data/tracking': workspace:5.5.0-alpha.11 + '@ember-data/debug': workspace:5.4.0-alpha.16 + '@ember-data/graph': workspace:5.4.0-alpha.16 + '@ember-data/json-api': workspace:5.4.0-alpha.16 + '@ember-data/legacy-compat': workspace:5.4.0-alpha.16 + '@ember-data/store': workspace:5.4.0-alpha.16 + '@ember-data/tracking': workspace:5.4.0-alpha.16 '@ember/string': ^3.1.1 - '@warp-drive/core-types': workspace:5.5.0-alpha.11 + '@warp-drive/core-types': workspace:0.0.0-alpha.2 ember-inflector: ^4.0.2 peerDependenciesMeta: '@ember-data/debug': @@ -19040,12 +19043,12 @@ packages: '@ember-data/json-api': optional: true dependencies: - '@ember-data/debug': file:packages/debug(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1) - '@ember-data/graph': file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) - '@ember-data/json-api': file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2) - '@ember-data/legacy-compat': file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.5.0-alpha.11)(@ember-data/json-api@5.5.0-alpha.11)(@ember-data/request@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) + '@ember-data/debug': file:packages/debug(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1) + '@ember-data/graph': file:packages/graph(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) + '@ember-data/json-api': file:packages/json-api(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2) + '@ember-data/legacy-compat': file:packages/legacy-compat(@babel/core@7.23.7)(@ember-data/graph@5.4.0-alpha.16)(@ember-data/json-api@5.4.0-alpha.16)(@ember-data/request@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/private-build-infra': file:packages/private-build-infra - '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember/edition-utils': 1.2.0 '@ember/string': 3.1.1(@babel/core@7.23.7) @@ -19065,7 +19068,7 @@ packages: file:packages/private-build-infra: resolution: {directory: packages/private-build-infra, type: directory} name: '@ember-data/private-build-infra' - version: 5.5.0-alpha.11 + version: 5.4.0-alpha.16 engines: {node: '>= 20.11.0'} dependencies: '@babel/core': 7.23.7(supports-color@8.1.1) @@ -19095,14 +19098,14 @@ packages: - '@glint/template' - supports-color - file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11): + file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2): resolution: {directory: packages/request, type: directory} id: file:packages/request name: '@ember-data/request' - version: 5.5.0-alpha.11 + version: 5.4.0-alpha.16 engines: {node: '>= 20.11.0'} peerDependencies: - '@warp-drive/core-types': workspace:5.5.0-alpha.11 + '@warp-drive/core-types': workspace:0.0.0-alpha.2 dependencies: '@ember-data/private-build-infra': file:packages/private-build-infra '@ember/test-waiters': 3.1.0(@babel/core@7.23.7) @@ -19115,17 +19118,15 @@ packages: - '@glint/template' - supports-color - file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11): + file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2): resolution: {directory: packages/request-utils, type: directory} id: file:packages/request-utils name: '@ember-data/request-utils' - version: 5.5.0-alpha.11 + version: 5.4.0-alpha.16 engines: {node: '>= 20.11.0'} peerDependencies: - '@ember-data/store': workspace:5.5.0-alpha.11 - '@warp-drive/core-types': workspace:5.5.0-alpha.11 + '@warp-drive/core-types': workspace:0.0.0-alpha.2 dependencies: - '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) '@warp-drive/core-types': file:packages/core-types(@babel/core@7.23.7) ember-cli-babel: 8.2.0(@babel/core@7.23.7) pnpm-sync-dependencies-meta-injected: 0.0.10 @@ -19133,21 +19134,21 @@ packages: - '@babel/core' - supports-color - file:packages/rest(@babel/core@7.23.7)(@ember-data/request-utils@5.5.0-alpha.11)(@ember-data/store@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2): + file:packages/rest(@babel/core@7.23.7)(@ember-data/request-utils@5.4.0-alpha.16)(@ember-data/store@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2): resolution: {directory: packages/rest, type: directory} id: file:packages/rest name: '@ember-data/rest' - version: 5.5.0-alpha.11 + version: 5.4.0-alpha.16 engines: {node: '>= 20.11.0'} peerDependencies: - '@ember-data/request-utils': workspace:5.5.0-alpha.11 + '@ember-data/request-utils': workspace:5.4.0-alpha.16 '@ember-data/store': ^4.12.0 || ^5.0.0 '@ember/string': ^3.1.1 - '@warp-drive/core-types': workspace:5.5.0-alpha.11 + '@warp-drive/core-types': workspace:0.0.0-alpha.2 ember-inflector: ^4.0.2 dependencies: - '@ember-data/request-utils': file:packages/request-utils(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11) - '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + '@ember-data/request-utils': file:packages/request-utils(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) + '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember/string': 3.1.1(@babel/core@7.23.7) '@warp-drive/core-types': file:packages/core-types(@babel/core@7.23.7) ember-cli-babel: 8.2.0(@babel/core@7.23.7) @@ -19158,19 +19159,19 @@ packages: - supports-color dev: true - file:packages/schema-record(@babel/core@7.23.7)(@ember-data/store@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@warp-drive/core-types@5.5.0-alpha.11): + file:packages/schema-record(@babel/core@7.23.7)(@ember-data/store@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@warp-drive/core-types@0.0.0-alpha.2): resolution: {directory: packages/schema-record, type: directory} id: file:packages/schema-record name: '@warp-drive/schema-record' - version: 5.5.0-alpha.11 + version: 0.0.0-alpha.2 engines: {node: '>= 20.11.0'} peerDependencies: - '@ember-data/store': workspace:5.5.0-alpha.11 - '@ember-data/tracking': workspace:5.5.0-alpha.11 - '@warp-drive/core-types': workspace:5.5.0-alpha.11 + '@ember-data/store': workspace:5.4.0-alpha.16 + '@ember-data/tracking': workspace:5.4.0-alpha.16 + '@warp-drive/core-types': workspace:0.0.0-alpha.2 dependencies: '@ember-data/private-build-infra': file:packages/private-build-infra - '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember/edition-utils': 1.2.0 '@embroider/macros': 1.13.4(@babel/core@7.23.7) @@ -19183,15 +19184,15 @@ packages: - supports-color dev: true - file:packages/serializer(@babel/core@7.23.7)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11)(ember-inflector@4.0.2): + file:packages/serializer(@babel/core@7.23.7)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2)(ember-inflector@4.0.2): resolution: {directory: packages/serializer, type: directory} id: file:packages/serializer name: '@ember-data/serializer' - version: 5.5.0-alpha.11 + version: 5.4.0-alpha.16 engines: {node: '>= 20.11.0'} peerDependencies: '@ember/string': ^3.1.1 - '@warp-drive/core-types': workspace:5.5.0-alpha.11 + '@warp-drive/core-types': workspace:0.0.0-alpha.2 ember-inflector: ^4.0.2 dependencies: '@ember-data/private-build-infra': file:packages/private-build-infra @@ -19207,20 +19208,20 @@ packages: - '@glint/template' - supports-color - file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11): + file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2): resolution: {directory: packages/store, type: directory} id: file:packages/store name: '@ember-data/store' - version: 5.5.0-alpha.11 + version: 5.4.0-alpha.16 engines: {node: '>= 20.11.0'} peerDependencies: - '@ember-data/request': workspace:5.5.0-alpha.11 - '@ember-data/tracking': workspace:5.5.0-alpha.11 + '@ember-data/request': workspace:5.4.0-alpha.16 + '@ember-data/tracking': workspace:5.4.0-alpha.16 '@ember/string': ^3.1.1 - '@warp-drive/core-types': workspace:5.5.0-alpha.11 + '@warp-drive/core-types': workspace:0.0.0-alpha.2 dependencies: '@ember-data/private-build-infra': file:packages/private-build-infra - '@ember-data/request': file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) + '@ember-data/request': file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember/string': 3.1.1(@babel/core@7.23.7) '@embroider/macros': 1.13.4(@babel/core@7.23.7) @@ -19236,7 +19237,7 @@ packages: resolution: {directory: packages/tracking, type: directory} id: file:packages/tracking name: '@ember-data/tracking' - version: 5.5.0-alpha.11 + version: 5.4.0-alpha.16 engines: {node: '>= 20.11.0'} dependencies: '@ember-data/private-build-infra': file:packages/private-build-infra @@ -19254,15 +19255,15 @@ packages: resolution: {directory: packages/unpublished-test-infra, type: directory} id: file:packages/unpublished-test-infra name: '@ember-data/unpublished-test-infra' - version: 5.5.0-alpha.11 + version: 5.4.0-alpha.16 engines: {node: '>= 20.11.0'} peerDependenciesMeta: qunit: optional: true dependencies: '@ember-data/private-build-infra': file:packages/private-build-infra - '@ember-data/request': file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@5.5.0-alpha.11) - '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.5.0-alpha.11)(@ember-data/tracking@5.5.0-alpha.11)(@ember/string@3.1.1)(@warp-drive/core-types@5.5.0-alpha.11) + '@ember-data/request': file:packages/request(@babel/core@7.23.7)(@warp-drive/core-types@0.0.0-alpha.2) + '@ember-data/store': file:packages/store(@babel/core@7.23.7)(@ember-data/request@5.4.0-alpha.16)(@ember-data/tracking@5.4.0-alpha.16)(@ember/string@3.1.1)(@warp-drive/core-types@0.0.0-alpha.2) '@ember-data/tracking': file:packages/tracking(@babel/core@7.23.7)(ember-source@5.4.0) '@ember/edition-utils': 1.2.0 '@ember/test-helpers': 3.2.1(@babel/core@7.23.7)(ember-source@5.4.0)(webpack@5.89.0) diff --git a/publish/core/publish.ts b/publish/core/publish.ts new file mode 100644 index 00000000000..88f196e77e6 --- /dev/null +++ b/publish/core/publish.ts @@ -0,0 +1,64 @@ +import { flags_config } from '../utils/flags-config'; +import { parseRawFlags } from '../utils/parse-args'; +import { getGitState } from '../utils/git'; +import { printHelpDocs } from '../help/docs'; +import { bumpAllPackages, restorePackagesForDryRun } from './publish/steps/bump-versions'; +import { generatePackageTarballs } from './publish/steps/generate-tarballs'; +import { printStrategy } from './publish/steps/print-strategy'; +import { applyStrategy, gatherPackages, loadStrategy } from './publish/steps/generate-strategy'; +import { confirmStrategy } from './publish/steps/confirm-strategy'; +import { publishPackages } from './publish/steps/publish-packages'; + +export async function executePublish(args: string[]) { + // get user supplied config + const config = await parseRawFlags(args, flags_config); + + if (config.full.get('help')) { + return printHelpDocs(args); + } + + const dryRun = config.full.get('dry_run') as boolean; + + // get git info + const gitInfo = await getGitState(config.full); + + // get configured strategy + const strategy = await loadStrategy(); + + // get packages + const packages = await gatherPackages(strategy.config); + + // get applied strategy + const applied = await applyStrategy(config.full, gitInfo, strategy, packages); + + // print strategy to be applied + await printStrategy(config.full, applied); + + await confirmStrategy(); + + // TODO: Generate Release Notes / PR flow? + // Ideally we do per-package changelogs + a root changelog thats rolls up + // those changes into one set of release notes. + // this step probably would create an artifact like .changelog.json + // and open a PR, and then early exit. Then if the script is run again + // it would check if the PR is merged and if so it would continue. + // await generateReleaseNotes(config, packages, applied.public_pks); + // await confirmReleaseNotesMerged(); + + // Bump package.json versions & commit/tag + // ======================== + await bumpAllPackages(config.full, packages, applied.all); + + if (dryRun) { + await restorePackagesForDryRun(packages, applied.all); + } + + // Generate Tarballs in tmp/tarballs/ + // Having applied the types publishing strategy "just in time" + // ======================== + await generatePackageTarballs(config.full, packages, applied.public_pks); + + // Publish to NPM registry + // ======================== + await publishPackages(config.full, packages, applied.public_pks); +} diff --git a/publish/core/publish/steps/bump-versions.ts b/publish/core/publish/steps/bump-versions.ts new file mode 100644 index 00000000000..9d8944d7e78 --- /dev/null +++ b/publish/core/publish/steps/bump-versions.ts @@ -0,0 +1,96 @@ +import chalk from 'chalk'; +import { exec } from '../../../utils/cmd'; +import { APPLIED_STRATEGY, Package } from '../../utils/package'; + +/** + * This function will consume the strategy, bump the versions of all packages, + * and then commit the changes. This includes updating the project lockfile. + * + * The changes will be committed with a message of "Release v${nextVersion}" + * where nextVersion is the version that the root package will be bumped to. + * + * The tag `v${nextVersion}` will be created to match. + * + * @internal + */ +export async function bumpAllPackages( + config: Map, + packages: Map, + strategy: Map +) { + for (const [, pkg] of packages) { + const strat = strategy.get(pkg.pkgData.name); + if (!strat) { + throw new Error(`Unable to find strategy for package ${pkg.pkgData.name}`); + } + pkg.pkgData.version = strat.toVersion; + + // update any referenced packages in dependencies + bumpKnownProjectVersionsFromStrategy(pkg.pkgData.dependencies || {}, strategy); + bumpKnownProjectVersionsFromStrategy(pkg.pkgData.devDependencies || {}, strategy); + bumpKnownProjectVersionsFromStrategy(pkg.pkgData.peerDependencies || {}, strategy); + + await pkg.file.write(); + } + + const dryRun = config.get('dry_run') as boolean; + const nextVersion = strategy.get('root')?.toVersion; + let commitCommand = `git commit -am "Release v${nextVersion}"`; + + if (!dryRun) { + commitCommand = `pnpm install --no-frozen-lockfile && ` + commitCommand; + commitCommand += ` && git tag v${nextVersion}`; + } + + // Let the github action determine whether to push the tag to remote + if (!process.env.CI) { + commitCommand += ` && git push && git push origin v${nextVersion}`; + } + + const cleanCommand = `git clean -fdx`; + + await exec(cleanCommand, dryRun); + await exec(commitCommand, dryRun); + console.log(`✅ ` + chalk.cyan(`Successfully Versioned ${nextVersion}`)); +} + +function bumpKnownProjectVersionsFromStrategy( + deps: Record, + strategy: Map, + restore = false +) { + let changed = false; + Object.keys(deps).forEach((depName) => { + const strat = strategy.get(depName); + if (!strat) { + return; + } + if (deps[depName].startsWith('workspace:')) { + deps[depName] = `workspace:${restore ? strat.fromVersion : strat.toVersion}`; + changed = true; + } + }); + return changed; +} + +export async function restorePackagesForDryRun( + packages: Map, + strategy: Map +) { + for (const [, pkg] of packages) { + const strat = strategy.get(pkg.pkgData.name); + if (!strat) { + throw new Error(`Unable to find strategy for package ${pkg.pkgData.name}`); + } + pkg.pkgData.version = strat.fromVersion; + + // update any referenced packages in dependencies + bumpKnownProjectVersionsFromStrategy(pkg.pkgData.dependencies || {}, strategy, true); + bumpKnownProjectVersionsFromStrategy(pkg.pkgData.devDependencies || {}, strategy, true); + bumpKnownProjectVersionsFromStrategy(pkg.pkgData.peerDependencies || {}, strategy, true); + + await pkg.file.write(); + } + + console.log(`\t♻️ ` + chalk.grey(`Successfully Restored Versions for DryRun`)); +} diff --git a/publish/core/publish/steps/confirm-strategy.ts b/publish/core/publish/steps/confirm-strategy.ts new file mode 100644 index 00000000000..8d10a760a9a --- /dev/null +++ b/publish/core/publish/steps/confirm-strategy.ts @@ -0,0 +1,24 @@ +import chalk from 'chalk'; +import * as readline from 'readline/promises'; + +export async function confirmStrategy() { + if (process.env.CI) { + return; + } + const confirm = await question( + chalk.white(`\nDo you want to continue with this strategy? ${chalk.yellow(`[y/n]`)}: `) + ); + const input = confirm.trim().toLowerCase(); + if (input !== 'y' && input !== 'yes') { + console.log(chalk.red('🚫 Strategy not confirmed. Exiting...')); + process.exit(1); + } +} + +export async function question(prompt: string) { + const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, + }); + return rl.question(prompt); +} diff --git a/publish/core/publish/steps/generate-strategy.ts b/publish/core/publish/steps/generate-strategy.ts new file mode 100644 index 00000000000..0b0cce6c103 --- /dev/null +++ b/publish/core/publish/steps/generate-strategy.ts @@ -0,0 +1,136 @@ +import { getFile } from '../../../utils/json-file'; +import { GIT_STATE } from '../../../utils/git'; +import { STRATEGY_TYPE, CHANNEL, npmDistTagForChannelAndVersion, TYPE_STRATEGY } from '../../../utils/channel'; +import { Glob } from 'bun'; +import { APPLIED_STRATEGY, PACKAGEJSON, Package } from '../../utils/package'; +import { getNextVersion } from '../../utils/next-version'; +import path from 'path'; + +const PROJECT_ROOT = process.cwd(); + +export interface STRATEGY { + config: { + packageRoots: string[]; + }; + defaults: { + stage: STRATEGY_TYPE; + types: TYPE_STRATEGY; + }; + rules: Record< + string, + { + stage: STRATEGY_TYPE; + types: TYPE_STRATEGY; + } + >; +} + +function buildGlob(dirPath: string) { + return `${dirPath}/package.json`; +} + +export async function gatherPackages(config: STRATEGY['config']) { + const packages: Map = new Map(); + + // add root + const rootFilePath = `${process.cwd()}/package.json`; + const rootFile = getFile(rootFilePath); + const rootPkgData = await rootFile.read(); + packages.set('root', new Package(rootFilePath, rootFile, rootPkgData)); + + // add other packages + for (const dirPath of config.packageRoots) { + const glob = new Glob(buildGlob(dirPath)); + + // Scans the current working directory and each of its sub-directories recursively + for await (const filePath of glob.scan('.')) { + const file = getFile(filePath); + const pkgData = await file.read(); + packages.set(pkgData.name, new Package(filePath, file, pkgData)); + } + } + + return packages; +} + +export async function loadStrategy() { + const file = getFile(`${PROJECT_ROOT}/publish/strategy.json`); + const data = await file.read(); + return data; +} + +function sortByName(map: Map) { + const sorted = [...map.values()]; + sorted.sort((a, b) => { + if (a.name.startsWith('@') && !b.name.startsWith('@')) { + return 1; + } + + if (!a.name.startsWith('@') && b.name.startsWith('@')) { + return -1; + } + return a.name > b.name ? 1 : -1; + }); + map.clear(); + sorted.forEach((v) => { + map.set(v.name, v); + }); +} + +function getPkgDir(pkgFilePath: string) { + const relative = path.relative(PROJECT_ROOT, pkgFilePath); + const parts = relative.split('/'); + if (parts.length === 1) { + return ''; + } + return '/' + parts[0]; +} + +export async function applyStrategy( + config: Map, + gitInfo: GIT_STATE, + strategy: STRATEGY, + packages: Map +): Promise { + const channel = config.get('channel') as CHANNEL; + const increment = config.get('increment') as 'major' | 'minor' | 'patch'; + const applied_strategies = new Map(); + const private_pkgs = new Map(); + const public_pks = new Map(); + + packages.forEach((pkg, name) => { + const rule = strategy.rules[name] || strategy.defaults; + const applied_strategy = Object.assign({}, rule) as APPLIED_STRATEGY; + + applied_strategy.name = name; + applied_strategy.private = Boolean(pkg.pkgData.private); + applied_strategy.pkgDir = getPkgDir(pkg.filePath); + applied_strategy.fromVersion = pkg.pkgData.version; + applied_strategy.toVersion = getNextVersion(applied_strategy.fromVersion, channel, increment, rule.stage); + + // channels may not change outside of a major or minor bump + // major and minor bumps may only occur on beta|canary|release|lts + // and never lts-* or release-* and so existing fromVersion is safe + // to use. + applied_strategy.distTag = npmDistTagForChannelAndVersion(channel, applied_strategy.fromVersion); + applied_strategies.set(name, applied_strategy); + + applied_strategy.private ? private_pkgs.set(name, applied_strategy) : public_pks.set(name, applied_strategy); + }); + + sortByName(applied_strategies); + sortByName(private_pkgs); + sortByName(public_pks); + + return { + all: applied_strategies, + private_pkgs, + public_pks, + }; +} + +export type AppliedStrategy = { + all: Map; + private_pkgs: Map; + public_pks: Map; +}; diff --git a/publish/core/publish/steps/generate-tarballs.ts b/publish/core/publish/steps/generate-tarballs.ts new file mode 100644 index 00000000000..ed05325e1a5 --- /dev/null +++ b/publish/core/publish/steps/generate-tarballs.ts @@ -0,0 +1,225 @@ +import chalk from 'chalk'; +import { exec } from '../../../utils/cmd'; +import { APPLIED_STRATEGY, Package } from '../../utils/package'; +import path from 'path'; +import fs from 'fs'; +import { Glob } from 'bun'; + +const PROJECT_ROOT = process.cwd(); +const TARBALL_DIR = path.join(PROJECT_ROOT, 'tmp/tarballs'); + +function toTarballName(name: string) { + return name.replace('@', '').replace('/', '-'); +} + +/** + * Iterates the public packages declared in the strategy and + * generates tarballs in the tmp/tarballs/ directory. + * + * @internal + */ +export async function generatePackageTarballs( + config: Map, + packages: Map, + strategy: Map +) { + // ensure tarball directory exists + const tarballDir = path.join(TARBALL_DIR, packages.get('root')!.pkgData.version); + fs.mkdirSync(tarballDir, { recursive: true }); + + for (const [, pkgStrategy] of strategy) { + const pkg = packages.get(pkgStrategy.name)!; + if (pkg.pkgData.private) { + throw new Error(`Unexpected attempt to publish private package ${pkg.pkgData.name}`); + } + + try { + await amendFilesForTypesStrategy(pkg, pkgStrategy); + } catch (e) { + console.log(`🔴 ${chalk.redBright('failed to amend files to pack for')} ${chalk.yellow(pkg.pkgData.name)}`); + throw e; + } + + try { + const pkgDir = path.join(PROJECT_ROOT, path.dirname(pkg.filePath)); + const tarballPath = path.join(tarballDir, `${toTarballName(pkg.pkgData.name)}-${pkg.pkgData.version}.tgz`); + pkg.tarballPath = tarballPath; + await exec({ cwd: pkgDir, cmd: `pnpm pack --pack-destination=${tarballDir}`, condense: true }); + } catch (e) { + console.log(`🔴 ${chalk.redBright('failed to generate tarball for')} ${chalk.yellow(pkg.pkgData.name)}`); + throw e; + } finally { + // restore state from before amending for types strategy + await restoreTypesStrategyChanges(pkg, pkgStrategy); + } + } + + console.log( + `✅ ` + + chalk.cyan( + `created ${chalk.greenBright(strategy.size)} 📦 tarballs in ${path.relative(PROJECT_ROOT, tarballDir)}` + ) + ); +} + +const PotentialTypesDirectories = new Set([ + 'unstable-preview-types', // alpha + 'preview-types', // beta + 'types', // stable +]); + +function scrubTypesFromExports(pkg: Package) { + // scrub the package.json of any types fields in exports + if (pkg.pkgData.exports) { + // level 1 + for (const [key, value] of Object.entries(pkg.pkgData.exports)) { + if (key === 'types') { + delete pkg.pkgData.exports[key]; + } else if (typeof value === 'object') { + // level 2 + delete value.types; + + for (const [k, v] of Object.entries(value)) { + if (typeof v === 'object') { + // level 3 + delete v.types; + } + } + } + } + } +} + +async function makeTypesPrivate(pkg: Package) { + // scrub the package.json of any types fields in exports + scrubTypesFromExports(pkg); + + // deactivate build types command + if (pkg.pkgData.scripts?.['build:types']) { + pkg.pkgData.scripts['build:types'] = 'echo "Types are private" && exit 0'; + } + + // and remove any types files from the published package artifacts + pkg.pkgData.files = pkg.pkgData.files?.filter((f) => { + return !PotentialTypesDirectories.has(f); + }); +} + +async function makeTypesAlpha(pkg: Package) { + // for alpha types users must explicitly opt-in to using the types + // by adding a source field to their tsconfig.json + // so we scrub the package.json of any types fields in exports + scrubTypesFromExports(pkg); + + // enforce that the correct types directory is present + const present = new Set(pkg.pkgData.files); + if (!present.has('unstable-preview-types')) { + throw new Error( + `Missing unstable-preview-types directory from published files for ${pkg.pkgData.name}. This package is using an alpha types strategy, and should thus publish an unstable-preview-types directory.` + ); + } + if (present.has('preview-types')) { + throw new Error( + `Unexpected preview-types directory in published files for ${pkg.pkgData.name}. This package is using an alpha types strategy, and should thus publish an unstable-preview-types directory.` + ); + } + if (present.has('types')) { + throw new Error( + `Unexpected types directory in published files for ${pkg.pkgData.name}. This package is using an alpha types strategy, and should thus publish an unstable-preview-types directory.` + ); + } + + // TODO we should probably scan our dist/addon directories for ts/.d.ts files and throw if found. +} + +async function makeTypesBeta(pkg: Package) { + // for beta types users must explicitly opt-in to using the types + // by adding a source field to their tsconfig.json + // so we scrub the package.json of any types fields in exports + scrubTypesFromExports(pkg); + + // enforce that the correct types directory is present + const present = new Set(pkg.pkgData.files); + if (!present.has('preview-types')) { + throw new Error( + `Missing preview-types directory from published files for ${pkg.pkgData.name}. This package is using a beta types strategy, and should thus publish a preview-types directory.` + ); + } + if (present.has('unstable-preview-types')) { + throw new Error( + `Unexpected unstable-preview-types directory in published files for ${pkg.pkgData.name}. This package is using a beta types strategy, and should thus publish a preview-types directory.` + ); + } + if (present.has('types')) { + throw new Error( + `Unexpected types directory in published files for ${pkg.pkgData.name}. This package is using a beta types strategy, and should thus publish a preview-types directory.` + ); + } + + // TODO we should probably scan our dist/addon directories for ts/.d.ts files and throw if found. +} +async function makeTypesStable(pkg: Package) { + // for stable, we expect that the types are automatically included + // so we check to ensure that types are in exports + if (!pkg.pkgData.exports) { + throw new Error( + `Missing exports field in package.json for ${pkg.pkgData.name}. This package is using a stable types strategy, and should thus include a types field in its exports.` + ); + } + const value = JSON.stringify(pkg.pkgData.exports); + if (!value.includes('types')) { + throw new Error( + `Missing types field in exports in package.json for ${pkg.pkgData.name}. This package is using a stable types strategy, and should thus include a types field in its exports.` + ); + } + + const hasInlineTypes = value.includes('./dist/index.d.ts'); + + // enforce that the correct types directory is present + const present = new Set(pkg.pkgData.files); + if (!present.has('types') && !hasInlineTypes) { + throw new Error( + `Missing types directory from published files for ${pkg.pkgData.name}. This package is using a stable types strategy, and should thus publish a types directory.` + ); + } + if (present.has('unstable-preview-types')) { + throw new Error( + `Unexpected unstable-preview-types directory in published files for ${pkg.pkgData.name}. This package is using a stable types strategy, and should thus publish a types directory.` + ); + } + if (present.has('preview-types')) { + throw new Error( + `Unexpected preview-types directory in published files for ${pkg.pkgData.name}. This package is using a stable types strategy, and should thus publish a types directory.` + ); + } +} + +async function amendFilesForTypesStrategy(pkg: Package, strategy: APPLIED_STRATEGY) { + switch (strategy.types) { + case 'private': + makeTypesPrivate(pkg); + break; + case 'alpha': + makeTypesAlpha(pkg); + break; + case 'beta': + makeTypesBeta(pkg); + break; + case 'stable': + makeTypesStable(pkg); + break; + } + await pkg.file.write(true); +} + +async function restoreTypesStrategyChanges(pkg: Package, _strategy: APPLIED_STRATEGY) { + // restore the package.json to its original state + await exec({ cmd: `git checkout HEAD -- ${pkg.filePath}`, silent: true }); + await pkg.refresh(); + process.stdout.write( + `\t\t♻️ ` + + chalk.grey( + `Successfully Restored Assets Modified for Types Strategy During Publish in ${chalk.cyan(pkg.pkgData.name)}` + ) + ); +} diff --git a/publish/core/publish/steps/print-strategy.ts b/publish/core/publish/steps/print-strategy.ts new file mode 100644 index 00000000000..aa4dfe8961f --- /dev/null +++ b/publish/core/publish/steps/print-strategy.ts @@ -0,0 +1,95 @@ +import { TYPE_STRATEGY } from '../../../utils/channel'; +import { getCharLength, getPadding } from '../../../help/-utils'; +import chalk from 'chalk'; +import { AppliedStrategy } from './generate-strategy'; + +export const COLORS_BY_STRATEGY: Record = { + private: 'red', + alpha: 'yellow', + beta: 'cyan', + stable: 'green', +}; + +export function colorName(name: string) { + if (name.startsWith('@warp-drive')) { + return chalk.greenBright('@warp-drive/') + chalk.magentaBright(name.substring(12)); + } else if (name.startsWith('@ember-data')) { + return chalk.cyanBright('@ember-data/') + chalk.yellow(name.substring(12)); + } else { + return chalk.cyan(name); + } +} + +function getPaddedString(str: string, targetWidth: number) { + const width = targetWidth + (str.length - getCharLength(str)); + return str.padEnd(width); +} + +const TABLE_SECTION = Object.freeze([]) as unknown as string[]; + +function printTable(title: string, rows: string[][]) { + const widths = rows[0].map((_, i) => Math.max(...rows.map((row) => getCharLength(row[i])))); + const totalWidth = widths.reduce((acc, width) => acc + width + 3, 1); + const line = getPadding(totalWidth, '-'); + rows.forEach((row, index) => { + if (row === TABLE_SECTION) { + row = rows[index] = []; + widths.forEach((width) => { + row.push(getPadding(width, '-')); + }); + } + }); + const paddedRows = rows.map((row) => row.map((cell, i) => getPaddedString(cell, widths[i]))); + const rowLines = paddedRows.map((row) => `| ${row.join(' | ')} |`); + rowLines.splice(1, 0, line); + const finalRows = `\n\t${chalk.white(chalk.bold(title))}\n\t${line}\n\t` + rowLines.join('\n\t') + `\n\t${line}\n\n`; + + console.log(finalRows); +} + +export async function printStrategy(config: Map, applied: AppliedStrategy) { + const tableRows = [['Name', 'From Version', 'To Version', 'Stage', 'Types', 'NPM Dist Tag', 'Status', 'Location']]; + applied.public_pks.forEach((applied, name) => { + tableRows.push([ + colorName(name), + chalk.grey(applied.fromVersion), + chalk[COLORS_BY_STRATEGY[applied.stage]](applied.toVersion), + chalk[COLORS_BY_STRATEGY[applied.stage]](applied.stage), + chalk[COLORS_BY_STRATEGY[applied.types]](applied.types), + chalk.magentaBright(applied.distTag), + chalk.cyanBright('public'), + chalk.grey(applied.pkgDir), + ]); + }); + const groups = new Map(); + applied.private_pkgs.forEach((applied, name) => { + let group = groups.get(applied.pkgDir); + if (!group) { + group = []; + groups.set(applied.pkgDir, group); + } + group.push([ + colorName(name), + chalk.grey(applied.fromVersion), + chalk[COLORS_BY_STRATEGY[applied.stage]](applied.toVersion), + chalk[COLORS_BY_STRATEGY[applied.stage]](applied.stage), + chalk[COLORS_BY_STRATEGY[applied.types]](applied.types), + chalk.grey('N/A'), + chalk.yellow('private'), + chalk.grey(applied.pkgDir), + ]); + }); + groups.forEach((group) => { + tableRows.push(TABLE_SECTION); + tableRows.push(...group); + }); + + printTable( + chalk.grey( + `${chalk.white('Release Strategy')} for ${chalk.cyan(config.get('increment'))} bump in ${chalk.cyan( + config.get('channel') + )} channel` + ), + tableRows + ); +} diff --git a/publish/core/publish/steps/publish-packages.ts b/publish/core/publish/steps/publish-packages.ts new file mode 100644 index 00000000000..bedf25c67ef --- /dev/null +++ b/publish/core/publish/steps/publish-packages.ts @@ -0,0 +1,97 @@ +import chalk from 'chalk'; +import { APPLIED_STRATEGY, Package } from '../../utils/package'; +import { question } from './confirm-strategy'; +import { exec } from '../../../utils/cmd'; + +export async function publishPackages( + config: Map, + packages: Map, + strategy: Map +) { + const NODE_AUTH_TOKEN = process.env.NODE_AUTH_TOKEN; + const CI = process.env.CI; + let token: string | undefined; + + // allow OTP token usage locally + if (!NODE_AUTH_TOKEN) { + if (CI) { + console.log( + chalk.red( + '🚫 NODE_AUTH_TOKEN not found in ENV. NODE_AUTH_TOKEN is required in ENV to publish from CI. Exiting...' + ) + ); + process.exit(1); + } + token = await getOTPToken(config); + } else { + if (!CI) { + const result = await question( + `\n${chalk.cyan('NODE_AUTH_TOKEN')} found in ENV.\nPublish ${config.get('increment')} release in ${config.get( + 'channel' + )} channel to the ${config.get('tag')} tag on the npm registry? ${chalk.yellow('[y/n]')}:` + ); + const input = result.trim().toLowerCase(); + if (input !== 'y' && input !== 'yes') { + console.log(chalk.red('🚫 Publishing not confirmed. Exiting...')); + process.exit(1); + } + } + } + + for (const [, strat] of strategy) { + const pkg = packages.get(strat.name)!; + token = await publishPackage(config, strat.distTag, pkg.tarballPath, config.get('dry_run') as boolean, token); + } + + console.log(`✅ ` + chalk.cyan(`published ${chalk.greenBright(strategy.size)} 📦 packages to npm`)); +} + +async function getOTPToken(config: Map, reprompt?: boolean) { + const prompt = reprompt + ? `The provided OTP token has expired. Please enter a new OTP token: ` + : `\nℹ️ ${chalk.cyan( + 'NODE_AUTH_TOKEN' + )} not found in ENV.\n\nConfiguring NODE_AUTH_TOKEN is the preferred mechanism by which to publish. Alternatively you may continue using an OTP token.\n\nPublishing ${config.get( + 'increment' + )} release in ${config.get('channel')} channel to the ${config.get( + 'tag' + )} tag on the npm registry.\n\nEnter your OTP token: `; + + let token = await question(prompt); + + return token.trim(); +} + +async function publishPackage( + config: Map, + distTag: string, + tarball: string, + dryRun: boolean, + otp?: string +): Promise { + let cmd = `npm publish ${tarball} --tag=${distTag} --access=public`; + + if (otp) { + cmd += ` --otp=${otp}`; + } + + if (dryRun) { + cmd += ' --dry-run'; + } + + try { + await exec({ cmd, condense: true }); + } catch (e) { + if (!otp || !(e instanceof Error)) { + throw e; + } + if (e.message.includes('E401') || e.message.includes('EOTP')) { + otp = await getOTPToken(config, true); + return publishPackage(config, distTag, tarball, dryRun, otp); + } else { + throw e; + } + } + + return otp; +} diff --git a/publish/core/utils/next-version.ts b/publish/core/utils/next-version.ts new file mode 100644 index 00000000000..ce9fbd93c9e --- /dev/null +++ b/publish/core/utils/next-version.ts @@ -0,0 +1,155 @@ +import { STRATEGY_TYPE, SEMVER_VERSION, CHANNEL } from '../../utils/channel'; + +import semver from 'semver'; + +/** + * "Next Version" is a complicated subject. + * + * Disregarding "strategy" for the moment: + * + * If we are beta channel or canary channel + * - then next patch means next prerelease e.g. from 1.0.0-beta.1 => 1.0.0-beta.2 + * - next minor means 1.0.0-beta.3 => 1.1.0-beta.1 + * - next major means 1.4.0-beta.3 => 2.0.0-beta.1 + * + * If we are a release channel + * - then next patch means next patch e.g. from 1.0.0 => 1.0.1 + * - next minor means 1.0.1 => 1.1.0 (valid only in a "re-release") + * - next major means 1.1.0 => 2.0.0 (valid only in a "re-release") + * + * If we are any other channel, then only next patch is allowed. + * + * To promote an alpha to beta and a beta to release: + * + * 1.0.0-alpha.3 => 1.0.0-beta.1 is a "patch" performed via beta channel + * 1.0.0-beta.3 => 1.0.0 is a "patch" performed via release channel + * + * However, "strategy" amends these rules. When considering strategy, the + * above description applies to a "stable" package. + * + * ## Beta strategy adjustments + * + * If our strategy is "beta" then our "major" version should be "0". + * + * If we are a beta channel or canary channel + * - then next patch means next prerelease e.g. from 0.1.0-beta.1 => 0.1.0-beta.2 + * - next minor increments the third number e.g. from 0.1.0-beta.2 => 0.1.1-beta.1 + * - next major means to bump the second number e.g. from 0.1.1-beta.3 => 0.2.0-beta.1 + * + * If we are a release channel + * - then next patch means next patch e.g. from 0.1.0 => 0.1.1 + * - next minor is equivalent to next patch e.g. 0.1.1 => 0.1.2 (valid only in a "re-release") + * - next major increments the second number instead e.g. 0.1.1 => 0.2.0 (valid only in a "re-release") + * + * ## Alpha strategy adjustments + * + * If our strategy is "alpha" then our "major" version and our "minor" version should be "0". + * + * If we are a beta channel or canary channel + * - then next patch means next prerelease e.g. from 0.0.0-beta.1 => 0.0.0-beta.2 + * - next minor increments the prerelease as well e.g. from 0.0.0-beta.1 => 0.0.0-beta.2 + * - next major means to bump the third number e.g. from 0.0.1-beta.3 => 0.0.2-beta.1 + * + * If we are a release channel + * - then next major, minor or patch all increment the third number e.g. from 0.0.0 => 0.0.1 + * + * + * + * For re-release we will need to graph all versions associated with the prior release + * and increment those somehow as fromVersion. + */ + +export function getNextMajor(fromVersion: SEMVER_VERSION, channel: CHANNEL, strategy: STRATEGY_TYPE): SEMVER_VERSION { + if (channel !== 'canary' && channel !== 'beta' && channel !== 'release') { + throw new Error(`You cannot increment the major version directly within the '${channel}' channel.`); + } + + switch (strategy) { + case 'alpha': + if (channel === 'canary') return semver.inc(fromVersion, 'prepatch', 'alpha') as SEMVER_VERSION; + if (channel === 'beta') return semver.inc(fromVersion, 'prepatch', 'beta') as SEMVER_VERSION; + return semver.inc(fromVersion, 'patch') as SEMVER_VERSION; + + case 'beta': + if (channel === 'canary') return semver.inc(fromVersion, 'preminor', 'alpha') as SEMVER_VERSION; + if (channel === 'beta') return semver.inc(fromVersion, 'preminor', 'beta') as SEMVER_VERSION; + return semver.inc(fromVersion, 'minor') as SEMVER_VERSION; + + case 'stable': + if (channel === 'canary') return semver.inc(fromVersion, 'premajor', 'alpha') as SEMVER_VERSION; + if (channel === 'beta') return semver.inc(fromVersion, 'premajor', 'beta') as SEMVER_VERSION; + return semver.inc(fromVersion, 'major') as SEMVER_VERSION; + + default: + throw new Error(`Unexpected strategy '${strategy}'`); + } +} + +export function getNextMinor(fromVersion: SEMVER_VERSION, channel: CHANNEL, strategy: STRATEGY_TYPE): SEMVER_VERSION { + if (channel !== 'canary' && channel !== 'beta' && channel !== 'release') { + throw new Error(`You cannot increment the minor version directly within the '${channel}' channel.`); + } + + switch (strategy) { + case 'alpha': + if (channel === 'canary') return semver.inc(fromVersion, 'prerelease', 'alpha') as SEMVER_VERSION; + if (channel === 'beta') return semver.inc(fromVersion, 'prerelease', 'beta') as SEMVER_VERSION; + return semver.inc(fromVersion, 'patch') as SEMVER_VERSION; + + case 'beta': + if (channel === 'canary') return semver.inc(fromVersion, 'prepatch', 'alpha') as SEMVER_VERSION; + if (channel === 'beta') return semver.inc(fromVersion, 'prepatch', 'beta') as SEMVER_VERSION; + return semver.inc(fromVersion, 'minor') as SEMVER_VERSION; + + case 'stable': + if (channel === 'canary') return semver.inc(fromVersion, 'preminor', 'alpha') as SEMVER_VERSION; + if (channel === 'beta') return semver.inc(fromVersion, 'preminor', 'beta') as SEMVER_VERSION; + return semver.inc(fromVersion, 'minor') as SEMVER_VERSION; + + default: + throw new Error(`Unexpected strategy '${strategy}'`); + } +} + +export function getNextPatch(fromVersion: SEMVER_VERSION, channel: CHANNEL, strategy: STRATEGY_TYPE): SEMVER_VERSION { + switch (strategy) { + case 'alpha': + if (channel === 'canary') return semver.inc(fromVersion, 'prerelease', 'alpha') as SEMVER_VERSION; + if (channel === 'beta') return semver.inc(fromVersion, 'prerelease', 'beta') as SEMVER_VERSION; + return semver.inc(fromVersion, 'patch') as SEMVER_VERSION; + + case 'beta': + if (channel === 'canary') return semver.inc(fromVersion, 'prerelease', 'alpha') as SEMVER_VERSION; + if (channel === 'beta') return semver.inc(fromVersion, 'prerelease', 'beta') as SEMVER_VERSION; + return semver.inc(fromVersion, 'patch') as SEMVER_VERSION; + + case 'stable': + if (channel === 'canary') return semver.inc(fromVersion, 'prerelease', 'alpha') as SEMVER_VERSION; + if (channel === 'beta') return semver.inc(fromVersion, 'prerelease', 'beta') as SEMVER_VERSION; + return semver.inc(fromVersion, 'patch') as SEMVER_VERSION; + + default: + throw new Error(`Unexpected strategy '${strategy}'`); + } +} + +export function getNextVersion( + fromVersion: SEMVER_VERSION, + channel: CHANNEL, + increment: 'major' | 'minor' | 'patch', + strategy: STRATEGY_TYPE +): SEMVER_VERSION { + switch (increment) { + case 'major': { + return getNextMajor(fromVersion, channel, strategy); + } + case 'minor': { + return getNextMinor(fromVersion, channel, strategy); + } + case 'patch': { + return getNextPatch(fromVersion, channel, strategy); + } + default: + throw new Error(`Unexpected version increment method '${increment}'`); + } +} diff --git a/publish/core/utils/package.ts b/publish/core/utils/package.ts new file mode 100644 index 00000000000..2b817d071af --- /dev/null +++ b/publish/core/utils/package.ts @@ -0,0 +1,68 @@ +import { JSONFile } from '../../utils/json-file'; +import { NPM_DIST_TAG, SEMVER_VERSION, STRATEGY_TYPE, TYPE_STRATEGY } from '../../utils/channel'; + +export class Package { + declare filePath: string; + declare file: JSONFile; + declare pkgData: PACKAGEJSON; + declare tarballPath: string; + + constructor(filePath: string, file: JSONFile, pkgData: PACKAGEJSON) { + this.filePath = filePath; + this.file = file; + this.pkgData = pkgData; + this.tarballPath = ''; + } + + async refresh() { + await this.file.invalidate(); + this.pkgData = await this.file.read(); + } +} + +/** + * A valid package.json file can go up to 3 levels deep + * when defining the exports field. + * + * ``` + * { + * "exports": { + * ".": "./index.js", + * "main": { + * "import": "./index.js", + * "require": "./index.js" + * "browser": { + * "import": "./index.js", + * "require": "./index.js" + * } + * } + * } + * } + * ``` + * + * @internal + */ +type ExportConfig = Record>>; + +export type PACKAGEJSON = { + name: string; + version: SEMVER_VERSION; + private: boolean; + dependencies?: Record; + devDependencies?: Record; + peerDependencies?: Record; + scripts?: Record; + files?: string[]; + exports?: ExportConfig; +}; + +export type APPLIED_STRATEGY = { + name: string; + private: boolean; + stage: STRATEGY_TYPE; + types: TYPE_STRATEGY; + fromVersion: SEMVER_VERSION; + toVersion: SEMVER_VERSION; + distTag: NPM_DIST_TAG; + pkgDir: string; +}; diff --git a/publish/help/-utils.ts b/publish/help/-utils.ts new file mode 100644 index 00000000000..e62ec6fa74c --- /dev/null +++ b/publish/help/-utils.ts @@ -0,0 +1,201 @@ +import chalk from 'chalk'; + +export function getCharLength(str: string | undefined): number { + if (!str) { + return 0; + } + // The string iterator that is used here iterates over characters, + // not mere code units + let count = 0; + let isColorChar = false; + + // color chars follow the pattern + // \u001b[m + for (const char of str) { + if (isColorChar && char === 'm') { + isColorChar = false; + } else if (char === '\u001b' || char === '\u001B') { + isColorChar = true; + } else if (!isColorChar) { + count++; + } + } + + return count; +} + +export function adjustForWords(str: string, max_length: number) { + // The string iterator that is used here iterates over characters, + // not mere code units + let count = 0; + let len = 0; + let lastWhitespaceLen = 0; + let isColorChar = false; + let isMaybeStartingWhitespace = true; + + // color chars follow the pattern + // \u001b[m + for (const char of str) { + let charIndex = len; + len++; + if (isMaybeStartingWhitespace) { + if (char === ' ' || char === '\t') { + // increment len but not count + lastWhitespaceLen = charIndex; + continue; + } else { + isMaybeStartingWhitespace = false; + } + } + + if (isColorChar && char === 'm') { + isColorChar = false; + } else if (char === '\u001b') { + isColorChar = true; + } else if (!isColorChar) { + count++; + if (count > max_length) { + return lastWhitespaceLen; + } + if (char === ' ' || char === '\t') { + lastWhitespaceLen = charIndex; + } + } + } + + return len; +} + +export function indent(str: string, depth = 1) { + const indentStr = getPadding(depth); + return str + .split('\n') + .map((line) => { + return indentStr + line; + }) + .join('\n'); +} + +export function getPadding(depth: number, filler = '\t') { + return new Array(depth).fill(filler).join(''); +} + +export function getNumTabs(str: string) { + let len = Math.max(4, str.length); + len = Math.min(len, 8); + return 3 - Math.round(len / 4); +} + +/** + * colorizes a string based on color<<>> syntax + * where color is one of the following: + * - gr (grey) + * - bg (brightGreen) + * - bm (brightMagenta) + * - cy (cyan) + * - ye (yellow) + * + * e.g. + * + * color`This is gr<> and this is bg<> and this is bm<> and this is cy<> and this is ye<>` + */ +export function color(str: string) { + const colors = { + gr: 'grey', + gb: 'greenBright', + mb: 'magentaBright', + cy: 'cyan', + ye: 'yellow', + }; + + const colorized = str.replace(/(\w+)<<(.+?)>>/g, (match, color, text) => { + const c = colors[color]; + if (!c) { + throw new Error(`Unknown color ${color}`); + } + return chalk[c](text); + }); + + return colorized; +} + +// TODO if the last line of a context is too long we don't always +// end up rebalancing correctly. We need to splice an additional +// line in in this case. If we do this on a rolling basis its +// probably easier. +export function rebalanceLines(str: string, max_length = 75): string { + const lines = str.split('\n'); + let inContext = false; + let contextIndent = ''; + let contextHasBullet = false; + let contextIndex = 0; + let contextBulletIndent = ''; + + for (let i = 0; i < lines.length; i++) { + const line = lines[i]; + if (line === '') { + inContext = false; + continue; + } + if (line.trim() === '---') { + lines[i] = chalk.grey(getPadding(max_length, '-')); + inContext = false; + continue; + } + if (line.trim() === '===') { + lines[i] = chalk.grey(getPadding(max_length, '=')); + inContext = false; + continue; + } + + let indentMatch = line.match(/^\s+/); + let hasBullet = line.match(/^\s*[-\*]\s+/) || line.match(/^\s*\d+\)?\.\s+/); + let bulletIndent = hasBullet ? hasBullet[0] : ''; + let indent = ''; + + if (indentMatch) { + indent = indentMatch[0]; + } + + // if we have our own bullet, this is a new context + // so nothing can be rebalanced + if (hasBullet || !inContext) { + contextIndex = i; + inContext = true; + contextIndent = indent; + contextHasBullet = Boolean(hasBullet); + contextBulletIndent = bulletIndent; + continue; + } + + const isBulletContinuation = + contextHasBullet && indent.startsWith(contextIndent) && indent.length === contextBulletIndent.length; + const isNonBulletContinuation = !contextHasBullet && indent === contextIndent; + + // determine if we match + if (isBulletContinuation || isNonBulletContinuation) { + // we are in the same context + // rebalance if needed + const fullText = lines[contextIndex] + ' ' + line.slice(indent.length); + const len = adjustForWords(fullText, max_length); + const prevLine = fullText.slice(0, len).trimEnd(); + const thisLine = indent + fullText.slice(len).trim(); + lines[contextIndex] = prevLine; + lines[i] = thisLine || (null as unknown as string); + if (thisLine) { + // only update if we have content on the line + contextIndex = i; + } + } else { + // we are a new context + contextIndex = i; + inContext = true; + contextIndent = (indent as unknown as string) || ''; + contextHasBullet = false; + contextBulletIndent = ''; + continue; + } + } + + return lines.filter((l) => l !== null).join('\n'); +} diff --git a/publish/help/docs.ts b/publish/help/docs.ts new file mode 100644 index 00000000000..c6986047b4e --- /dev/null +++ b/publish/help/docs.ts @@ -0,0 +1,70 @@ +import chalk from 'chalk'; +import { command_config, flags_config } from '../utils/flags-config'; +import { Command, Flag } from '../utils/parse-args'; +import { color, getNumTabs, getPadding, indent } from './-utils'; + +function buildOptionDoc(flag: Flag, index: number): string { + const { flag_aliases, flag_mispellings, description, examples } = flag; + const flag_shape = + chalk.magentaBright(flag.positional ? `<${flag.flag}>` : `--${flag.flag}`) + + (flag.required ? chalk.yellow(chalk.italic(` required`)) : ''); + const flag_aliases_str = chalk.grey(flag_aliases?.join(', ') || 'N/A'); + const flag_mispellings_str = chalk.grey(flag_mispellings?.join(', ') || 'N/A'); + + return `${chalk.greenBright(flag.name)} ${flag_shape} +\t${chalk.yellow('aliases')}: ${flag_aliases_str} +\t${chalk.yellow('alt')}: ${flag_mispellings_str} +${indent(description, 1)} +\t${chalk.grey('Examples')}: +\t${examples + .map((example) => { + if (typeof example === 'string') { + return example; + } else { + return `${example.desc}\n\t\t${example.example.join('\n\t\t')}`; + } + }) + .join('\n\t')}`; +} + +function buildCommandDoc(command: Command, index: number): string { + const { name, cmd, description, alt, options, overview, example } = command; + let xmpl: string | undefined = ''; + + if (Array.isArray(example)) { + xmpl = example.join('\n\t '); + } else { + xmpl = example; + } + + const lines = [ + `cy<<${cmd}>>${getPadding(getNumTabs(cmd))}${description}`, + alt ? `\tye<>: gr<<${alt.join(', ')}>>` : '', + overview ? `\t${overview}` : '', + xmpl ? `\n\tgr<<${Array.isArray(example) ? 'Examples' : 'Example'}>>:` : '', + xmpl ? `\t ${xmpl}\n` : '', + ].filter(Boolean); + + return color(lines.join('\n')); +} + +export async function printHelpDocs(_args: string[]) { + const config = Object.values(flags_config); + const commands = Object.values(command_config); + + console.log( + indent( + `${chalk.bold('Usage')} +$ ./publish/index.ts ${chalk.magentaBright('')} [options] + + + +${chalk.bold('Commands')} + ${commands.map(buildCommandDoc).join('\n ')} + +${chalk.bold('Options')} + ${config.map(buildOptionDoc).join('\n ')} +` + ) + ); +} diff --git a/publish/help/sections/about.ts b/publish/help/sections/about.ts new file mode 100644 index 00000000000..ebc472b1856 --- /dev/null +++ b/publish/help/sections/about.ts @@ -0,0 +1,92 @@ +import { color, indent, rebalanceLines } from '../-utils'; + +export const ABOUT = new Set([ + 'about', + 'abt', + 'abut', + 'aboot', + 'abt', + 'describe', + 'desc', + 'dsc', + 'dscr', + 'dscrb', + 'why', + 'y', + 'a', + 'd', +]); + +export const About = `ye<<#>> About + +This script is used to automate the release process for cy<>. + +=== + +ye<<##>> Who Can Release? + +It is intended that this process is run in CI (ENV cy<>); +however, it is able to be run manually as well. + +For both CI and locally it is expected that ENV contains a cy<> +with proper permissions to publish the various packages within the ember-data NPM +organization. + +Users (or CI) will also need special permission to push to main, beta, lts, lts-*-* +and release-*-* branches. For CI based triggers, the user triggering MUST have been +given permission to trigger the workflow. + +--- + +ye<<##>> Process Overview + +The release process is carried out in a multi-step process, where +each step is capable of being run independently. This allows for +a release to be potentially recoverable in the event of a failure +in one step when prior steps have succeeded. + +Releases are governed by a mb<>. The strategy is determined by +the mb<> being released to, the intended version change of the release +(ye<<'major'>>, ye<<'minor'>> or ye<<'patch'>>), and the cy<<./strategy.json>> +file in the publish directory. + +Each package follows both a general release strategy based on its maturity +AND a typescript release strategy based on the maturity of its type definitions. + +\tye<<###>> Steps + +\t[All] +\t1. ensure local branch is clean and sync'd to upstream +\t2. generate release plan +\t - if not CI, confirm release plan + +\t[All but beta/canary] +\t3. generate changelog PR against current branch +\t - if not CI, leave open change against current branch +\t4. confirm changelog PR merged to current branch +\t - if not CI, confirm changelog committed and upstream updated +\t5. PR changelog updates to main branch +\t - if not CI, output warning to do this manually + +\t[All] +\t6. bump versions & update referenced versions throughout the project +\t - if CI, this is triggered automatically by the merge of the changelog PR +\t7. commit and tag version changes, push to upstream +\t8. inter-package dependency and peer-dependency ranges are patched according +\t to the strategy defined, this is not committed +\t9. packages are patched to remove or rename files according to the typescript +\t strategy defined, this is not committed. +\t10. prepackage tarballs +\t11. publish tarballs to npm +\t12. reset local state + +\t[All but beta/canary] +\t13. generate a github Release with notes + +--- + +`; + +export function printAbout(args: string[]) { + console.log(indent(rebalanceLines(color(About)), 1)); +} diff --git a/publish/help/sections/manual.ts b/publish/help/sections/manual.ts new file mode 100644 index 00000000000..f9aa145fb67 --- /dev/null +++ b/publish/help/sections/manual.ts @@ -0,0 +1,15 @@ +export const HELP = new Set([ + 'doc', + 'docs', + 'guide', + 'h', + 'halp', + 'he', + 'hel', + 'help', + 'hlp', + 'm', + 'man', + 'mn', + 'usage', +]); diff --git a/publish/index.ts b/publish/index.ts new file mode 100755 index 00000000000..e5880790e88 --- /dev/null +++ b/publish/index.ts @@ -0,0 +1,38 @@ +#!/usr/bin/env bun +import chalk from 'chalk'; +import { printHelpDocs } from './help/docs'; +import { normalizeFlag } from './utils/parse-args'; +import { getCommands } from './utils/flags-config'; +import { printAbout } from './help/sections/about'; +import { executePublish } from './core/publish'; +import { write } from './utils/write'; + +const COMMANDS = { + help: printHelpDocs, + about: printAbout, + default: executePublish, +}; + +async function main() { + const args = Bun.argv.slice(2); + + write( + chalk.grey( + `\n\t${chalk.bold( + chalk.greenBright('Warp') + chalk.magentaBright('Drive') + )} | Automated Release\n\t==============================` + ) + chalk.grey(`\n\tengine: ${chalk.cyan('bun@' + Bun.version)}\n`) + ); + + if (args.length === 0) { + args.push('help'); + } + + const commands = getCommands(); + const cmdString = (commands.get(normalizeFlag(args[0])) as keyof typeof COMMANDS) || 'default'; + + const cmd = COMMANDS[cmdString]; + return await cmd(args); +} + +await main(); diff --git a/publish/strategy.json b/publish/strategy.json new file mode 100644 index 00000000000..882de025b40 --- /dev/null +++ b/publish/strategy.json @@ -0,0 +1,35 @@ +{ + "config": { + "packageRoots": ["packages/*", "tests/*", "config"] + }, + "defaults": { + "stage": "stable", + "types": "private" + }, + "rules": { + "@warp-drive/holodeck": { + "stage": "alpha", + "types": "private" + }, + "@warp-drive/diagnostic": { + "stage": "alpha", + "types": "private" + }, + "eslint-plugin-ember-data": { + "stage": "alpha", + "types": "private" + }, + "@warp-drive/core-types": { + "stage": "alpha", + "types": "private" + }, + "@warp-drive/schema": { + "stage": "alpha", + "types": "private" + }, + "@warp-drive/schema-record": { + "stage": "alpha", + "types": "private" + } + } +} diff --git a/publish/tsconfig.json b/publish/tsconfig.json new file mode 100644 index 00000000000..6c8863a5903 --- /dev/null +++ b/publish/tsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "lib": ["ESNext"], + "module": "esnext", + "target": "esnext", + "moduleResolution": "bundler", + "moduleDetection": "force", + "allowImportingTsExtensions": true, + "strict": true, + "downlevelIteration": true, + "skipLibCheck": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "allowJs": true, + "noEmit": true, + "types": ["bun-types", "@types/semver"] + } +} diff --git a/publish/utils/channel.ts b/publish/utils/channel.ts new file mode 100644 index 00000000000..e4fcabc9c01 --- /dev/null +++ b/publish/utils/channel.ts @@ -0,0 +1,118 @@ +import semver from 'semver'; + +export type LTS_TAG = `lts-${number}-${number}`; +export type RELEASE_TAG = `release-${number}-${number}`; +export type NPM_DIST_TAG = 'latest' | 'beta' | 'canary' | 'lts' | LTS_TAG | RELEASE_TAG; +export type VALID_BRANCHES = 'main' | 'beta' | 'release' | LTS_TAG | RELEASE_TAG; +export type CHANNEL = 'lts' | 'release' | 'beta' | 'canary' | 'lts-prev' | 'release-prev'; +export type ALPHA_SEMVER = `${number}.${number}.${number}-alpha.${number}`; +export type BETA_SEMVER = `${number}.${number}.${number}-beta.${number}`; +export type RELEASE_SEMVER = `${number}.${number}.${number}`; +export type SEMVER_VERSION = RELEASE_SEMVER | BETA_SEMVER | ALPHA_SEMVER; +/** + * The strategy type is used to determine the next version of a package + * and how to handle types during publish. + * + * For Versions + * + * - alpha means the project is still unstable and we are working towards a beta + * - beta means the project is stable but not yet ready for general release + * - stable means the project is capable of being released for general use + * + * See the `next version` function for more details. + * + * For Types + * + * - private means the project's types are highly unstable and should not be published + * - alpha means the project's types are stable enough to experiment but not recommended. + * Users should expect breaking changes regularly, and must configure their tsconfig + * to consume the types. e.g. `"types": ["ember-data/unstable-preview-types"],` + * - beta means the project's types are stable and can be consumed by the general public + * but are not yet ready for general release. e.g. `"types": ["ember-data/types"],` + * - stable means the project's types are stable and can be consumed by the general public + * no special configuration is required to receive these types, they are the default. + * + * @internal + */ +export type STRATEGY_TYPE = 'stable' | 'alpha' | 'beta'; +export type TYPE_STRATEGY = 'stable' | 'alpha' | 'beta' | 'private'; +export type RELEASE_TYPE = 'major' | 'minor' | 'patch'; + +const RELEASE_BRANCH_REGEXP = /^release\-(\d+)\-(\d+)/; +const LTS_BRANCH_REGEXP = /^lts\-(\d+)\-(\d+)/; + +export function channelForBranch(branch: string, currentVersion: SEMVER_VERSION, force: boolean): CHANNEL { + if (branch === 'main') return 'canary'; + if (branch === 'beta' || branch === 'release' || branch === 'lts') return branch; + if (RELEASE_BRANCH_REGEXP.test(branch)) return 'release-prev'; + if (LTS_BRANCH_REGEXP.test(branch)) return 'lts-prev'; + + if (force) { + if (currentVersion.includes('beta')) { + return 'beta'; + } + if (currentVersion.includes('alpha')) { + return 'canary'; + } + // we wouldn't want to treat this as latest + // unless user is very clear it is + return 'release-prev'; + } + throw new Error(`Attempting to release from an unexpected branch ${branch}`); +} + +export function npmDistTagForChannelAndVersion(channel: CHANNEL, package_version: SEMVER_VERSION): NPM_DIST_TAG { + const major = semver.major(package_version); + const minor = semver.minor(package_version); + + if (major === undefined) { + throw new Error(`Unable to parse semver major from version ${package_version}`); + } + + if (minor === undefined) { + throw new Error(`Unable to parse semver minor from version ${package_version}`); + } + + switch (channel) { + case 'beta': + case 'canary': + case 'lts': + return channel; + case 'release': + return 'latest'; + case 'lts-prev': + return `lts-${major}-${minor}`; + case 'release-prev': + return `release-${major}-${minor}`; + default: + throw new Error(`Unable to determine npm dist-tag for channel ${channel} and version ${package_version}`); + } +} + +export function branchForChannelAndVersion(channel: CHANNEL, package_version: SEMVER_VERSION): VALID_BRANCHES { + const major = semver.major(package_version); + const minor = semver.minor(package_version); + + if (major === undefined) { + throw new Error(`Unable to parse semver major from version ${package_version}`); + } + + if (minor === undefined) { + throw new Error(`Unable to parse semver minor from version ${package_version}`); + } + + switch (channel) { + case 'canary': + return 'main'; + case 'beta': + case 'release': + return channel; + case 'lts': + case 'lts-prev': + return `lts-${major}-${minor}`; + case 'release-prev': + return `release-${major}-${minor}`; + default: + throw new Error(`Unable to determine expected branch name for channel ${channel} and version ${package_version}`); + } +} diff --git a/publish/utils/cmd.ts b/publish/utils/cmd.ts new file mode 100644 index 00000000000..3c2f2e6be08 --- /dev/null +++ b/publish/utils/cmd.ts @@ -0,0 +1,178 @@ +import chalk from 'chalk'; +import path from 'path'; +import * as readline from 'readline/promises'; + +type CMD = { + cwd?: string; + cmd: string[] | string; + condense?: boolean; + lines?: number; + silent?: boolean; +}; + +// async function step() { +// await new Promise((resolve) => setTimeout(resolve, 10)); +// } + +const isCI = Boolean(Bun.env.CI); +class CLICondenser { + declare reader: ReadableStreamDefaultReader; + declare cmd: string; + declare lines: number; + declare cwd: string; + + constructor(cmd: string, reader: ReadableStreamDefaultReader, config: CMD) { + this.reader = reader; + this.cmd = cmd; + this.lines = config.lines ?? 8; + this.cwd = config.cwd ?? process.cwd(); + } + + async read() { + const { reader, cmd, lines } = this; + let output = ''; + let currentLines = 0; + const packets = []; + + const rd = new readline.Readline(process.stdout); + process.stdout.write( + `\n🚀 ${chalk.yellow(cmd)} in ${chalk.greenBright(path.relative(process.cwd(), this.cwd))}\n${chalk.magentaBright( + `⎾` + )}\n` + ); + + // await step(); + while (true) { + let done, value; + try { + const result = await reader.read(); + done = result.done; + value = result.value; + } catch (e) { + throw e; + } + if (done) { + break; + } + + const maxWidth = process.stdout.columns ?? 80; + const maxLines = Math.min(process.stdout.rows, lines); + const packet = new TextDecoder().decode(value, { stream: true }); + packets.push(packet); + output += packet; + const lineOutput = output.split(`\n`); + const lastLines = lineOutput.slice(-maxLines); + const lastLineOutput = lastLines + .map((line) => { + return chalk.magentaBright('⏐ ') + line.substring(0, maxWidth - 2); + }) + .join(`\n`); + + if (!isCI && currentLines) { + // process.stdout.write(`\tclearing ${currentLines} lines`); + // await step(); + rd.cursorTo(0); + // await rd.commit(); + // await step(); + while (currentLines--) { + rd.clearLine(0); + // await rd.commit(); + // await step(); + rd.moveCursor(0, currentLines === 0 ? 0 : -1); + // await rd.commit(); + // await step(); + } + await rd.commit(); + } + + currentLines = lastLines.length + 1; + process.stdout.write(lastLineOutput + '\n' + chalk.magentaBright('⎿')); + if (isCI) { + process.stdout.write('\n'); + } + // await step(); + } + + if (!isCI) { + currentLines = currentLines + 3; + // process.stdout.write(`\tclearing ${currentLines} lines`); + // await step(); + rd.cursorTo(0); + // await rd.commit(); + // await step(); + while (currentLines--) { + rd.clearLine(0); + // await rd.commit(); + // await step(); + rd.moveCursor(0, currentLines === 0 ? 0 : -1); + // await rd.commit(); + // await step(); + } + await rd.commit(); + } + process.stdout.write( + `\t☑️\t${chalk.grey(cmd)} in ${chalk.greenBright(path.relative(process.cwd(), this.cwd) || '')}\n` + ); + + return output; + } +} + +/** + * + * @see {@link CMD} + * + * @internal + */ +export async function exec(cmd: string[] | string | CMD, dryRun: boolean = false) { + const isCmdWithConfig = typeof cmd === 'object' && !Array.isArray(cmd); + const mainCommand = isCmdWithConfig ? cmd.cmd : cmd; + const cwd = isCmdWithConfig && cmd.cwd ? cmd.cwd : process.cwd(); + + let args = mainCommand; + if (typeof args === 'string') { + args = args.split(' '); + } + + if (dryRun) { + console.log(`\t` + chalk.grey(`Would Run: ${Array.isArray(mainCommand) ? mainCommand.join(' ') : mainCommand}`)); + } else if (!isCmdWithConfig || (!cmd.condense && !cmd.silent)) { + console.log(`\t` + chalk.grey(`Running: ${args.join(' ')}\t...`)); + } + + if (!dryRun) { + if (isCmdWithConfig && cmd.condense) { + const proc = Bun.spawn(args, { + env: process.env, + cwd, + stderr: 'pipe', + stdout: 'pipe', + }); + + const reader = proc.stdout.getReader() as ReadableStreamDefaultReader; + const condenser = new CLICondenser(args.join(' '), reader, cmd); + const result = await condenser.read(); + + await proc.exited; + if (proc.exitCode !== 0) { + console.log({ result }); + throw proc.exitCode; + } + return result; + } else { + const proc = Bun.spawn(args, { + env: process.env, + cwd, + }); + + await proc.exited; + if (proc.exitCode !== 0) { + throw proc.exitCode; + } + + return await new Response(proc.stdout).text(); + } + } else { + return ''; + } +} diff --git a/publish/utils/flags-config.ts b/publish/utils/flags-config.ts new file mode 100644 index 00000000000..2389a6e688d --- /dev/null +++ b/publish/utils/flags-config.ts @@ -0,0 +1,167 @@ +import { HELP } from '../help/sections/manual'; +import { ABOUT } from '../help/sections/about'; +import { normalizeFlag, type CommandConfig, type FlagConfig } from './parse-args'; +import { CHANNEL, npmDistTagForChannelAndVersion } from './channel'; +import { getGitState } from './git'; +import chalk from 'chalk'; + +export const flags_config: FlagConfig = { + help: { + name: 'Help', + flag: 'help', + flag_aliases: ['h', 'm'], + flag_mispellings: [ + 'desc', + 'describe', + 'doc', + 'docs', + 'dsc', + 'guide', + 'halp', + 'he', + 'hel', + 'hlp', + 'man', + 'mn', + 'usage', + ], + type: Boolean, + default_value: false, + description: 'Print this usage manual.', + examples: ['./publish/index.ts --help'], + }, + channel: { + name: 'Channel', + flag: 'channel', + type: String, + default_value: async (options: Map) => { + const gitState = await getGitState(options); + return gitState.expectedChannel; + }, + validate: (value: unknown) => { + if (!['lts', 'release', 'beta', 'canary', 'lts-prev', 'release-prev'].includes(value as string)) { + throw new Error(`Channel must be one of lts, release, beta, canary, lts-prev, or release-prev. Got ${value}`); + } + }, + description: + 'EmberData always publishes to a "release channel".\nTypically this will be one of lts, release, beta, or canary.\nWhen publishing a new version of a non-current lts or non-current release, the channel should be "lts-prev" or "release-prev"', + examples: ['./publish/index.ts lts', './publish/index.ts publish lts', './publish/index.ts --channel=lts'], + positional: true, + positional_index: 0, + // required: true, + }, + dry_run: { + name: 'Dry Run', + flag: 'dry_run', + flag_mispellings: ['dry'], + default_value: false, + description: 'Do not actually publish, just print what would be done', + type: Boolean, + examples: ['./publish/index.ts --channel=stable --dry_run'], + }, + dangerously_force: { + name: 'Force Release', + flag: 'dangerously_force', + flag_mispellings: [], + default_value: false, + description: 'Ignore safety checks and attempt to create and publish a release anyway', + type: Boolean, + examples: ['./publish/index.ts --channel=stable --dangerously_force'], + }, + tag: { + name: 'NPM Distribution Tag', + flag: 'tag', + flag_aliases: ['t'], + flag_mispellings: ['dist_tag'], + type: String, + description: '', + examples: [], + default_value: async (options: Map) => { + const gitInfo = await getGitState(options); + return npmDistTagForChannelAndVersion(gitInfo.expectedChannel, gitInfo.rootVersion); + }, + validate: async (value: unknown, options: Map) => { + const channel = options.get('channel') as CHANNEL; + const gitInfo = await getGitState(options); + const expectedTag = npmDistTagForChannelAndVersion(channel, gitInfo.rootVersion); + if (value !== expectedTag) { + if (!options.get('dangerously_force')) { + throw new Error( + `Expected npm dist-tag ${expectedTag} for channel ${channel} on branch ${gitInfo.branch} with version ${gitInfo.rootVersion} but got ${value}` + ); + } else { + console.log( + chalk.red( + `\t🚨 Expected npm dist-tag ${expectedTag} for channel ${channel} on branch ${ + gitInfo.branch + } with version ${gitInfo.rootVersion} but got ${value}\n\t\t${chalk.yellow( + '⚠️ Continuing Due to use of --dangerously-force' + )}` + ) + ); + } + } + }, + }, + increment: { + name: 'Version Increment', + flag: 'increment', + flag_aliases: ['i', 'b'], + flag_mispellings: ['inc', 'bump', 'incr'], + description: 'kind of version bump to perform, if any', + type: String, + examples: [], + default_value: 'patch', + validate: (value: unknown) => { + if (!['major', 'minor', 'patch'].includes(value as string)) { + throw new Error(`the 'increment' option must be one of 'major', 'minor' or 'patch'`); + } + }, + }, +}; + +export const command_config: CommandConfig = { + help: { + name: 'Help', + cmd: 'help', + description: 'Output This Manual', + alt: Array.from(HELP), + example: '$ ./publish/index.ts help', + }, + about: { + name: 'About', + cmd: 'about', + description: 'Print Information About This Script', + alt: Array.from(ABOUT), + example: '$ ./publish/index.ts about', + }, + // retag: {}, + default: { + name: 'Publish', + cmd: 'publish', + default: true, + description: 'Publish a new version of EmberData to the specified channel.', + options: flags_config, + example: ['$ ./publish/index.ts', '$ ./publish/index.ts publish'], + }, +}; + +export function getCommands() { + const keys = Object.keys(command_config); + const commands = new Map(); + keys.forEach((key) => { + const cmd = normalizeFlag(key); + commands.set(cmd, cmd); + if (command_config[cmd].alt) { + command_config[cmd].alt!.forEach((alt: string) => { + const alternate = normalizeFlag(alt); + if (commands.has(alternate) && commands.get(alternate) !== cmd) { + throw new Error(`Duplicate command alias ${alternate} for ${cmd} and ${commands.get(alternate)}`); + } + commands.set(alternate, cmd); + }); + } + }); + + return commands; +} diff --git a/publish/utils/git.ts b/publish/utils/git.ts new file mode 100644 index 00000000000..0595b10003a --- /dev/null +++ b/publish/utils/git.ts @@ -0,0 +1,126 @@ +import chalk from 'chalk'; +import { branchForChannelAndVersion, CHANNEL, channelForBranch, SEMVER_VERSION, VALID_BRANCHES } from './channel'; +import { getFile } from './json-file'; +import { exec } from './cmd'; + +export type GIT_STATE = { + rootVersion: SEMVER_VERSION; + isClean: boolean; + isCurrent: boolean; + isCorrectBranch: boolean; + branch: string; + expectedBranch: VALID_BRANCHES; + expectedChannel: CHANNEL; +}; + +let _GIT_STATE: GIT_STATE | null = null; +export async function getGitState(options: Map): Promise { + if (_GIT_STATE) { + return _GIT_STATE; + } + const dangerously_force = options.get('dangerously_force') as boolean; + const isHelp = options.get('help') as boolean; + const status = await exec(['git', 'status']); + let clean = true; + let current = true; + + if (!status.match(/^nothing to commit/m)) { + clean = false; + if (dangerously_force || isHelp) { + const base = chalk.white('\t⚠️ Local Git branch has uncommitted changes!'); + console.log( + dangerously_force + ? base + + chalk.yellow('\n\t\tPassed option: ') + + chalk.white('--dangerously-force') + + chalk.grey(' :: ignoring unclean git working tree') + : base + ); + if (!isHelp) { + await exec('git add -A'); + await exec(['git', 'commit', '-m', '"publish: stash of uncommitted changes by release script"']); + } + } else { + console.log( + chalk.red('💥 Git working tree is not clean. 💥 \n\t') + + chalk.grey('Use ') + + chalk.white('--dangerously-force') + + chalk.grey(' to ignore this warning and publish anyway\n') + + chalk.yellow('⚠️ Publishing from an unclean working state may result in a broken release ⚠️\n\n') + + chalk.grey(`Status:\n${status}`) + ); + process.exit(1); + } + + if (!status.match(/^Your branch is up to date with/m)) { + current = false; + if (dangerously_force || isHelp) { + const base = chalk.white('\t⚠️ Local Git branch is not in sync with origin branch'); + console.log( + dangerously_force + ? base + + chalk.yellow('\n\t\tPassed option: ') + + chalk.white('--dangerously-force') + + chalk.grey(' :: ignoring unsynced git branch') + : base + ); + } else { + console.log( + chalk.red('💥 Local Git branch is not in sync with origin branch. 💥 \n\t') + + chalk.grey('Use ') + + chalk.white('--dangerously-force') + + chalk.grey(' to ignore this warning and publish anyway\n') + + chalk.yellow('⚠️ Publishing from an unsynced working state may result in a broken release ⚠️') + + chalk.grey(`Status:\n${status}`) + ); + process.exit(1); + } + } + } + + const rootPkg = await getFile<{ version: SEMVER_VERSION }>(`${process.cwd()}/package.json`).read(); + const rootVersion = rootPkg.version; + + const foundBranch = status.split('\n')[0].replace('On branch ', ''); + const channel = + (options.get('channel') as CHANNEL) || channelForBranch(foundBranch, rootVersion, dangerously_force || isHelp); + const expectedBranch = branchForChannelAndVersion(channel, rootVersion); + + if (foundBranch !== expectedBranch) { + if (dangerously_force || isHelp) { + const base = chalk.white( + `\t⚠️ Expected to publish the release-channel '${channel}' from the git branch '${expectedBranch}', but found '${foundBranch}'` + ); + console.log( + dangerously_force + ? base + + chalk.yellow('\n\t\tPassed option: ') + + chalk.white('--dangerously-force') + + chalk.grey(' :: ignoring unexpected branch') + : base + ); + } else { + console.log( + chalk.red( + `💥 Expected to publish the release-channel '${channel}' from the git branch '${expectedBranch}', but found '${foundBranch}' 💥 \n\t` + ) + + chalk.grey('Use ') + + chalk.white('--dangerously-force') + + chalk.grey(' to ignore this warning and publish anyway\n') + + chalk.yellow('⚠️ Publishing from an incorrect branch may result in a broken release ⚠️') + ); + process.exit(1); + } + } + + _GIT_STATE = { + rootVersion, + isClean: clean, + isCurrent: current, + isCorrectBranch: foundBranch === expectedBranch, + branch: foundBranch, + expectedBranch, + expectedChannel: channel, + }; + return _GIT_STATE; +} diff --git a/publish/utils/json-file.ts b/publish/utils/json-file.ts new file mode 100644 index 00000000000..fc588144fb2 --- /dev/null +++ b/publish/utils/json-file.ts @@ -0,0 +1,72 @@ +import { BunFile } from 'bun'; +import chalk from 'chalk'; + +const EOL = '\n'; +export class JSONFile> { + declare contents: T | null; + declare filePath: string; + declare handle: BunFile; + + #lastKnown: string | null = null; + + constructor(filePath: string) { + this.contents = null; + this.filePath = filePath; + } + + async #getHandle() { + if (!this.handle) { + const fileHandle = Bun.file(this.filePath, { type: 'application/json' }); + const exists = await fileHandle.exists(); + + if (!exists) { + throw new Error(`The file ${chalk.white(this.filePath)} does not exist!`); + } + + this.handle = fileHandle; + } + + return this.handle; + } + + async invalidate() { + this.contents = null; + } + + async read(): Promise { + if (this.contents === null) { + const fileHandle = await this.#getHandle(); + const data = await fileHandle.json(); + this.contents = data; + this.#lastKnown = JSON.stringify(data, null, 2); + } + + return this.contents; + } + + async write(allowNoop?: boolean): Promise { + if (this.contents === null) { + throw new Error(`Cannot write before updating contents`); + } + const strData = JSON.stringify(this.contents, null, 2) + EOL; + if (this.#lastKnown === strData) { + if (allowNoop) { + return; + } + throw new Error(`Should not write when not updating contents`); + } + this.#lastKnown = strData; + const fileHandle = await this.#getHandle(); + await Bun.write(fileHandle, strData); + } +} + +const FILES: Map = new Map(); + +export function getFile(filePath: string): JSONFile { + let file: JSONFile | undefined = FILES.get(filePath) as JSONFile; + if (!file) { + file = new JSONFile(filePath); + } + return file; +} diff --git a/publish/utils/parse-args.ts b/publish/utils/parse-args.ts new file mode 100644 index 00000000000..3ea32665b9f --- /dev/null +++ b/publish/utils/parse-args.ts @@ -0,0 +1,323 @@ +export type Command = { + name: string; + cmd: string; + description: string; + example?: string | string[]; + overview?: string; + default?: boolean; + alt?: string[]; + options?: FlagConfig; +}; +export type CommandConfig = Record; +export type Flag = { + name: string; + flag: string; + flag_aliases?: string[]; + flag_mispellings?: string[]; + description: string; + validate?: (value: unknown, config: Map) => void | Promise; + examples: Array< + | string + | { + desc: string; + example: string[]; + } + >; + type: StringConstructor | NumberConstructor | BooleanConstructor; + default_value?: + | string + | number + | boolean + | null + | (( + config: Map + ) => string | number | boolean | null | Promise); + /* + Positional flags are not specified by name, but by position + When using this with more than one positional flag, you must specify positional_index + */ + positional?: boolean; + /* + Positional flags must be specified in order + If you have two positional flags, you must specify positional_index + + Discovered positional values will be mapped to flags based on their relative + index. E.g. first positional value discovered is `0`, second is `1` and so on. + */ + positional_index?: number; + /* + Required flags must be specified by the user, and will throw an error if not + */ + required?: boolean; + required_error?: string; + /* + If a boolean flag is present AND does not have an explicitly set value, its value + is false instead of true + If a boolean flag is not present, the default_value is used if one is provided, + else the value is true (instead of false) + + e.g. + + `--some-bool` -> false + `--some-bool=true` -> true + `--some-bool=1` -> true + `--some-bool=false` -> false + `--some-bool=0` -> false + */ + invert_boolean?: boolean; +}; +export interface FlagConfig { + [key: string]: Flag; +} + +const FalseyStrings = new Set(['false', '0', 'no', 'n', 'off', '']); + +function processRawValue(config: Flag, raw_value: string | undefined): string | number | boolean | null { + if (raw_value === undefined) { + if (config.type === Boolean) { + return config.invert_boolean ? false : true; + } else if (config.default_value !== undefined && typeof config.default_value !== 'function') { + return config.default_value; + } + raw_value = ''; + } + + if (config.type === Boolean) { + return !FalseyStrings.has(raw_value.toLowerCase()); + } else if (config.type === Number) { + return Number(raw_value); + } else { + return raw_value; + } +} + +async function processMissingFlag( + config: Flag, + values: Map +): Promise { + if (config.default_value !== undefined) { + if (typeof config.default_value === 'function') { + return await config.default_value(values); + } + return config.default_value; + } else if (config.type === Boolean && config.invert_boolean) { + return true; + } else { + throw new Error(`Flag ${config.name} (${config.flag}) had no default value and was not provided by the user`); + } +} + +/** + * process the config to create mappings for aliases and misspellings + */ +function createMappings(flags_config: FlagConfig): { + aliases: Map; + spellings: Map; + positional: Flag[]; + all: Map; +} { + const aliases = new Map(); + const spellings = new Map(); + const seen_positions = new Set(); + const positional: Flag[] = []; + const all = new Map(); + Object.keys(flags_config).forEach((f) => { + const flag = normalizeFlag(f); + const config = flags_config[f]; + + if (config.flag !== flag) { + throw new Error(`Expected configuration key ${flag} for ${config.name} to match ${config.flag}`); + } + all.set(flag, config); + + // TODO validate flag config structure more thoroughly + // esp for non-optional fields + + if (config.positional) { + if (typeof config.positional_index !== 'number') { + throw new Error(`Positional flag ${config.name} must specify positional_index in its config`); + } + if (seen_positions.has(config.positional_index)) { + throw new Error(`Positional flag ${config.name} has a duplicate positional_index`); + } + seen_positions.add(config.positional_index); + positional.push(config); + } + + if (Array.isArray(config.flag_aliases)) { + config.flag_aliases.forEach((a) => { + const alias = normalizeFlag(a); + if (alias.length !== 1) { + throw new Error(`Flag aliases must be a single character, found ${alias} for ${flag}`); + } + if (aliases.has(alias)) { + throw new Error(`Alias ${alias} is already in use by ${aliases.get(alias)}`); + } + aliases.set(alias, flag); + }); + } + + // always add ourself to the spellings map + spellings.set(flag, flag); + if (Array.isArray(config.flag_mispellings)) { + config.flag_mispellings.forEach((msp) => { + const misspelling = normalizeFlag(msp); + if (misspelling.length < 2) { + throw new Error(`Flag misspellings must be at least two characters, found ${misspelling} for ${flag}`); + } + if (spellings.has(misspelling)) { + throw new Error(`Misspelling ${misspelling} is already in use by ${spellings.get(misspelling)}`); + } + spellings.set(misspelling, flag); + }); + } + }); + + positional.sort((a, b) => { + return a.positional_index! > b.positional_index! ? 1 : -1; + }); + + return { aliases, spellings, positional, all }; +} + +/** + * normalize a string to lowercase and replace dashes with underscores + * + */ +export function normalizeFlag(str: string): string { + let normalized = str + .replace(/([A-Z])/g, '_$1') + .toLowerCase() + .replaceAll('-', '_'); + + while (normalized.charAt(0) === '_') { + normalized = normalized.slice(1); + } + + return normalized; +} + +/** + * Process raw user provided command line arguments into a populated config object + */ +export async function parseRawFlags( + raw: string[], + flags_config: FlagConfig +): Promise<{ + specified: Map; + full: Map; +}> { + let current_position = 0; + const processed_flags = new Map(); + const { aliases, spellings, positional, all } = createMappings(flags_config); + + for (let i = 0; i < raw.length; i++) { + const raw_arg = raw[i]; + + // handle named args + if (raw_arg.startsWith('--')) { + const arg = raw_arg.slice(2); + const parts = arg.split('='); + const spelling = normalizeFlag(parts[0]); + const flag = spellings.get(spelling); + if (!flag) { + throw new Error(`Unknown flag: ${spelling}`); + } + const config = flags_config[flag]; + let raw_value = parts[1]; + + if (config) { + if (processed_flags.has(flag)) { + throw new Error(`Flag ${flag} was provided more than once`); + } + + // scan ahead for a value + // scan ahead is not valid for boolean flags + if (raw_value === undefined && config.type !== Boolean) { + const potential_value = raw[i + 1]; + if (potential_value && !potential_value.startsWith('-')) { + raw_value = potential_value; + i++; + } + } + + processed_flags.set(flag, processRawValue(config, raw_value)); + } else { + throw new Error(`Unknown flag: ${flag}`); + } + + // treat as aliases + } else if (raw_arg.startsWith('-')) { + const arg = normalizeFlag(raw_arg.slice(1)); + // we only allow one non-boolean flag per alias group + let has_found_non_boolean_flag = false; + + for (let j = 0; j < arg.length; j++) { + const alias = arg[j]; + const flag = aliases.get(alias); + if (!flag) { + throw new Error(`Unknown flag alias: ${alias}`); + } + const config = flags_config[flag]; + if (!config) { + throw new Error(`Unknown flag: ${flag} found for alias ${alias}`); + } + if (processed_flags.has(flag)) { + throw new Error(`Flag ${flag} was provided more than once (discovered via alias '${alias}')`); + } + let raw_value: string | undefined = undefined; + if (config.type !== Boolean) { + if (has_found_non_boolean_flag) { + throw new Error(`An alias group may only contain one non-boolean flag alias`); + } + + // scan ahead for the value + const potential_value = raw[i + 1]; + if (potential_value && !potential_value.startsWith('-')) { + raw_value = potential_value; + i++; + } else { + throw new Error( + `The non-boolean flag alias ${alias} was provided for ${flag} without a corresponding value as the next argument` + ); + } + + has_found_non_boolean_flag = true; + } + processed_flags.set(flag, processRawValue(config, raw_value)); + } + + // treat as positional + } else { + const config = positional[current_position++]; + if (!config) { + throw new Error(`Unknown positional argument: ${raw_arg}`); + } + + const value = processRawValue(config, raw_arg); + processed_flags.set(config.flag, value); + } + } + + const full_flags = new Map(processed_flags); + + // process full flags + for (const [flag, config] of all) { + if (processed_flags.has(flag)) { + await config.validate?.(processed_flags.get(flag), processed_flags); + continue; + } + + if (config.required) { + throw new Error(config.required_error || `Missing required flag: ${flag}`); + } + + const val = await processMissingFlag(config, processed_flags); + full_flags.set(flag, val); + } + + return { + specified: processed_flags, + full: full_flags, + }; +} diff --git a/publish/utils/write.ts b/publish/utils/write.ts new file mode 100644 index 00000000000..cc52f61566d --- /dev/null +++ b/publish/utils/write.ts @@ -0,0 +1,3 @@ +export function write(content: string) { + console.log(content); +} diff --git a/scripts/publish.js b/scripts/publish.js deleted file mode 100644 index 23101bf3ab6..00000000000 --- a/scripts/publish.js +++ /dev/null @@ -1,457 +0,0 @@ -'use strict'; - -/* -Usage - -publish lts|release|beta|canary|release--|lts-- - -Flags - ---distTag=latest|lts--|lts|beta|canary|release-- defaults to latest if channel is release, else defaults to channel ---version [optional] the exact version to tag these assets as ---fromVersion [optional] similar to version except treat this as the version to bump from ---bumpMajor ---bumpMinor ---skipVersion ---skipPack ---skipPublish ---skipSmokeTest ---dryRun - -Inspiration from https://github.com/glimmerjs/glimmer-vm/commit/01e68d7dddf28ac3200f183bffb7d520a3c71249#diff-19fef6f3236e72e3b5af7c884eef67a0 -*/ - -const fs = require('fs'); -const path = require('path'); -const readline = require('readline'); -const process = require('process'); - -const chalk = require('chalk'); -const execa = require('execa'); -const cliArgs = require('command-line-args'); -const semver = require('semver'); -const debug = require('debug')('publish-packages'); - -const projectRoot = path.resolve(__dirname, '../'); -const packagesDir = path.join(projectRoot, './packages'); -const packages = fs.readdirSync(packagesDir); -const testsDir = path.join(projectRoot, './tests'); -const tests = fs.readdirSync(testsDir); -const PreviousReleasePattern = /^release-(\d)-(\d+)$/; - -let isBugfixRelease = false; - -function cleanProject() { - execWithLog(`cd ${projectRoot} && rm -rf packages/*/dist packages/*/tmp packages/*/node_modules node_modules`); - execWithLog(`cd ${projectRoot} && pnpm install`); -} - -function scrubWorkspacesForHash(hash, newVersion) { - if (!hash) { - return; - } - Object.keys(hash).forEach(function (key) { - let val = hash[key]; - if (val.startsWith('workspace:')) { - hash[key] = `workspace:${newVersion}`; - } - }); -} -function scrubWorkspaces(pkg, path, newVersion) { - scrubWorkspacesForHash(pkg.dependencies, newVersion); - scrubWorkspacesForHash(pkg.peerDependencies, newVersion); - scrubWorkspacesForHash(pkg.devDependencies, newVersion); - fs.writeFileSync(path, JSON.stringify(pkg, null, 2), { encoding: 'utf8' }); -} - -/** - * - * @param {*} command The command to execute - * @param {*} proxyIO whether to proxy stdio from the main process for this command - * - * proxyIO=true is useful when you want to see the output log or respond to prompts - */ -function execWithLog(command, proxyIO = false) { - debug(chalk.cyan('Executing: ') + chalk.yellow(command)); - if (proxyIO) { - return execa.sync(command, { stdio: [0, 1, 2], shell: true, preferLocal: true }); - } - - return execa.sync(command, { shell: true, preferLocal: true }).stdout; -} - -function getConfig() { - const mainOptionsDefinitions = [{ name: 'channel', defaultOption: true }]; - const mainOptions = cliArgs(mainOptionsDefinitions, { stopAtFirstUnknown: true }); - const argv = mainOptions._unknown || []; - - if (!mainOptions.channel) { - throw new Error(`Incorrect usage of publish:\n\tpublish \n\nNo channel was specified`); - } - if (!['release', 'beta', 'canary', 'lts'].includes(mainOptions.channel)) { - const channel = mainOptions.channel; - let potentialRelease = !!channel && channel.match(PreviousReleasePattern); - if (potentialRelease && Array.isArray(potentialRelease)) { - isBugfixRelease = true; - } else { - throw new Error( - `Incorrect usage of publish:\n\tpublish \n\nChannel must be one of release|beta|canary|lts. Received ${mainOptions.channel}` - ); - } - } - - const optionsDefinitions = [ - { - name: 'distTag', - alias: 't', - type: String, - defaultValue: mainOptions.channel === 'release' ? 'latest' : mainOptions.channel, - }, - { - name: 'version', - alias: 'v', - type: String, - defaultValue: null, - }, - { - name: 'fromVersion', - type: String, - defaultValue: null, - }, - { name: 'skipVersion', type: Boolean, defaultValue: false }, - { name: 'skipPack', type: Boolean, defaultValue: false }, - { name: 'skipPublish', type: Boolean, defaultValue: false }, - { name: 'skipSmokeTest', type: Boolean, defaultValue: false }, - { name: 'bumpMajor', type: Boolean, defaultValue: false }, - { name: 'bumpMinor', type: Boolean, defaultValue: false }, - { name: 'force', type: Boolean, defaultValue: false }, - { name: 'dryRun', type: Boolean, defaultValue: false }, - ]; - const options = cliArgs(optionsDefinitions, { argv }); - const currentProjectVersion = options.fromVersion || require(path.join(__dirname, '../package.json')).version; - - if (isBugfixRelease && (options.bumpMajor || options.bumpMinor)) { - throw new Error(`Cannot bump major or minor version of a past release`); - } - - if (options.bumpMinor && options.bumpMajor) { - throw new Error(`Cannot bump both major and minor versions simultaneously`); - } - - options.channel = mainOptions.channel; - options.currentVersion = currentProjectVersion; - - return options; -} - -function assertGitIsClean(options) { - let status = execWithLog('git status'); - - if (!status.match(/^nothing to commit/m)) { - if (options.force) { - console.log( - chalk.white('⚠️ ⚠️ ⚠️ Local Git branch has uncommitted changes!\n\t') + - chalk.yellow('Passed option: ') + - chalk.white('--force') + - chalk.grey(' :: ignoring unclean git working tree') - ); - } else { - console.log( - chalk.red('💥 Git working tree is not clean. 💥 \n\t') + - chalk.grey('Use ') + - chalk.white('--force') + - chalk.grey(' to ignore this warning and publish anyway\n') + - chalk.yellow('⚠️ Publishing from an unclean working state may result in a broken release ⚠️\n\n') + - chalk.grey(`Status:\n${status}`) - ); - process.exit(1); - } - } - - if (!status.match(/^Your branch is up to date with/m)) { - if (options.force) { - console.log( - chalk.white('⚠️ ⚠️ ⚠️ Local Git branch is not in sync with origin branch') + - chalk.yellow('\n\tPassed option: ') + - chalk.white('--force') + - chalk.grey(' :: ignoring unsynced git branch') - ); - } else { - console.log( - chalk.red('💥 Local Git branch is not in sync with origin branch. 💥 \n\t') + - chalk.grey('Use ') + - chalk.white('--force') + - chalk.grey(' to ignore this warning and publish anyway\n') + - chalk.yellow('⚠️ Publishing from an unsynced working state may result in a broken release ⚠️') + - chalk.grey(`Status:\n${status}`) - ); - process.exit(1); - } - } - - let expectedChannelBranch = - options.distTag === 'canary' ? 'main' : options.distTag === 'latest' ? 'release' : options.distTag; - - if (options.channel === 'lts') { - expectedChannelBranch = `lts-${semver.major(options.currentVersion)}-${semver.minor(options.currentVersion)}`; - } - - let foundBranch = status.split('\n')[0]; - foundBranch = foundBranch.replace('On branch ', ''); - - if (foundBranch !== expectedChannelBranch) { - if (options.force) { - console.log( - chalk.white( - `⚠️ ⚠️ ⚠️ Expected to publish npm tag ${options.distTag} from the git branch ${expectedChannelBranch}, but found ${foundBranch}` - ) + - chalk.yellow('\n\tPassed option: ') + - chalk.white('--force') + - chalk.grey(' :: ignoring unexpected branch') - ); - } else { - console.log( - chalk.red( - `💥 Expected to publish npm tag ${options.distTag} from the git branch ${expectedChannelBranch}, but found ${foundBranch} 💥 \n\t` - ) + - chalk.grey('Use ') + - chalk.white('--force') + - chalk.grey(' to ignore this warning and publish anyway\n') + - chalk.yellow('⚠️ Publishing from an incorrect branch may result in a broken release ⚠️') - ); - process.exit(1); - } - } -} - -function retrieveNextVersion(options) { - /* - - A brief rundown of how version updates flow through the branches. - - - We only ever bump the major or minor version on main - - All other branches pick it up as those changes flow through the release cycle. - - See RELEASE.md for more about this - - #main 3.11.0-canary.x - releases with `canary` - #beta 3.10.0-beta.x - cuts from last 3.10.0-canary.x main with `beta` - #release 3.9.0 - cuts from last 3.9.0-beta.x - #lts 3.8.x - cuts from last 3.8.x on release -*/ - let v; - if (options.channel === 'release' || options.channel === 'lts') { - // a new patch, or our first release of a new minor/major - // usually for new minor/major the version will have drifted up - // from prior beta/canary incrementing - // bumpMajor means we are doing a re-release that makes us a new major release - // bumpMinor means we are doing a re-release that makes us a new minor release - // else this is a new patch release or the first release but cut from a previous beta. - let bumpType = options.bumpMajor ? 'major' : options.bumpMinor ? 'minor' : 'patch'; - v = semver.inc(options.currentVersion, bumpType); - } else if (options.channel === 'beta') { - // bumpMajor means we are doing a re-release that makes us the first beta of an upcoming major release - // bumpMinor means we are doing a re-release that makes us the first beta of an upcoming minor release - // else this is a new weekly beta or the first beta but cut from a previous canary. - let bumpType = options.bumpMajor ? 'premajor' : options.bumpMinor ? 'preminor' : 'prerelease'; - v = semver.inc(options.currentVersion, bumpType, 'beta'); - } else if (options.channel === 'canary') { - // bumpMajor is our first canary for an upcoming major - // bumpMinor is our first canary for an upcoming minor - // else this is a new nightly canary - let bumpType = options.bumpMajor ? 'premajor' : options.bumpMinor ? 'preminor' : 'prerelease'; - v = semver.inc(options.currentVersion, bumpType, 'alpha'); - } else if (isBugfixRelease) { - let bumpType = 'patch'; - v = semver.inc(options.currentVersion, bumpType); - } - - return v; -} - -function convertPackageNameToTarballName(str) { - str = str.replace('@', ''); - str = str.replace('/', '-'); - return str; -} - -function collectTarballPaths() { - const tarballs = []; - packages.forEach((localName) => { - const pkgDir = path.join(packagesDir, localName); - const pkgPath = path.join(pkgDir, 'package.json'); - const pkgInfo = require(pkgPath); - if (pkgInfo.private !== true) { - const tarballName = `${convertPackageNameToTarballName(pkgInfo.name)}-${pkgInfo.version}.tgz`; - tarballs.push(path.join(projectRoot, tarballName)); - } - }); - return tarballs; -} - -function bumpAllPackages(nextVersion) { - function bump(baseDir, localName) { - const pkgDir = path.join(baseDir, localName); - const pkgPath = path.join(pkgDir, 'package.json'); - const pkgInfo = require(pkgPath); - pkgInfo.version = nextVersion; - scrubWorkspaces(pkgInfo, pkgPath, nextVersion); - } - packages.forEach((l) => bump(packagesDir, l)); - tests.forEach((l) => bump(testsDir, l)); - const pkgJsonPath = path.join(projectRoot, './package.json'); - const pkgInfo = require(pkgJsonPath); - pkgInfo.version = nextVersion; - scrubWorkspaces(pkgInfo, pkgJsonPath, nextVersion); -} - -function packAllPackages() { - packages.forEach((localName) => { - const pkgDir = path.join(packagesDir, localName); - const pkgPath = path.join(pkgDir, 'package.json'); - const pkgInfo = require(pkgPath); - if (pkgInfo.private !== true) { - // will pack into the project root directory - // due to an issue where npm does not run prepublishOnly for pack, we run it here - // however this is also a timing bug, as typically it would be run *after* prepublish - // and prepare and now it is run *before* - // we do not use `prepublish` or `prepare` so this should be fine for now. - // https://docs.npmjs.com/misc/scripts - // https://github.com/npm/npm/issues/15363 - if (pkgInfo.scripts) { - if (pkgInfo.scripts.prepack) { - execWithLog(`cd ${pkgDir} && pnpm run prepack`); - } - } - execWithLog(`cd ${pkgDir} && pnpm pack --pack-destination=${projectRoot}`); - } - }); -} - -async function getOTPToken() { - let token = await question(chalk.green('\nPlease provide OTP token ')); - - return token.trim(); -} -function question(prompt) { - return new Promise((resolve) => { - cli.question(prompt, resolve); - }); -} -let cli = readline.createInterface({ - input: process.stdin, - output: process.stdout, -}); - -/** - * If otp is passed add it as a parameter to the publish command else assume authentication is setup either - * as environment variable - * - * @param {string} distTag - Use this tag on npm for this instance - * @param {string} tarball - Path to the tarball - * @param {string} otp - Token to make publish requests to npm - */ -function publishPackage(distTag, tarball, otp) { - let cmd = `npm publish ${tarball} --tag=${distTag} --access=public`; - - if (otp) { - cmd += ` --otp=${otp}`; - } - - execWithLog(cmd); -} - -async function confirmPublish(tarballs, options, promptOtp = true) { - let otp; - - if (promptOtp && !options.dryRun) { - otp = await getOTPToken(); - } - - for (let tarball of tarballs) { - if (options.dryRun) { - console.log('Would have published', tarball, 'with tag', options.distTag); - } else { - try { - publishPackage(options.distTag, tarball, otp); - } catch (e) { - // the token is outdated, we need another one - if (e.message.includes('E401') || e.message.includes('EOTP')) { - otp = await getOTPToken(); - - publishPackage(options.distTag, tarball, otp); - } else { - throw e; - } - } - } - } -} - -async function main() { - const options = getConfig(); - - assertGitIsClean(options); - - if (!options.skipSmokeTest) { - execWithLog(`pnpm run lint && pnpm run test`, debug.enabled); - console.log(`✅ ` + chalk.cyan(`Project passes Smoke Test`)); - } else { - console.log(`⚠️ ` + chalk.grey(`Skipping Smoke Test`)); - } - - let nextVersion = options.currentVersion; - if (!options.skipVersion) { - nextVersion = options.version || retrieveNextVersion(options); - bumpAllPackages(nextVersion); - let commitCommand = `git commit -am "Release v${nextVersion}"`; - if (!options.dryRun) { - commitCommand = `pnpm install --no-frozen-lockfile && ` + commitCommand; - commitCommand += ` && git tag v${nextVersion}`; - } - - // Let the github action determine whether to push the tag to remote - if (!process.env.CI) { - commitCommand += ` && git push && git push origin v${nextVersion}`; - } - - execWithLog(commitCommand, true); - console.log(`✅ ` + chalk.cyan(`Successfully Versioned ${nextVersion}`)); - } else { - console.log('⚠️ ' + chalk.grey(`Skipping Versioning`)); - } - - if (!options.skipPack) { - cleanProject(); - packAllPackages(); - console.log(`✅ ` + chalk.cyan(`Successfully Packaged ${nextVersion}`)); - } else { - console.log('⚠️ ' + chalk.grey(`Skipping Packaging`)); - } - - if (!options.skipPublish) { - const tarballs = collectTarballPaths(); - const npmAuthTokenInEnv = !!process.env.NODE_AUTH_TOKEN; - if (!npmAuthTokenInEnv && !options.dryRun) { - if (process.env.CI) { - throw new Error('No NODE_AUTH_TOKEN environment variable, cannot continue publishing.'); - } - } - // Assume human ran script if token is missing - await confirmPublish(tarballs, options, !npmAuthTokenInEnv); - console.log(`✅ ` + chalk.cyan(`Successfully Published ${nextVersion}`)); - } else { - console.log('⚠️ ' + chalk.grey(`Skipping Publishing`)); - } -} - -main() - .finally(() => cli.close()) - .catch((reason) => { - console.error(reason); - process.exit(1); - }); diff --git a/tests/blueprints/package.json b/tests/blueprints/package.json index b1717af6662..763ffd41b85 100644 --- a/tests/blueprints/package.json +++ b/tests/blueprints/package.json @@ -1,6 +1,6 @@ { "name": "blueprint-tests", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": true, "description": "Provides tests for blueprints", "repository": { @@ -73,24 +73,24 @@ }, "devDependencies": { "@babel/core": "^7.23.7", - "@ember-data/adapter": "workspace:5.5.0-alpha.11", - "@ember-data/debug": "workspace:5.5.0-alpha.11", - "@ember-data/graph": "workspace:5.5.0-alpha.11", - "@ember-data/json-api": "workspace:5.5.0-alpha.11", - "@ember-data/legacy-compat": "workspace:5.5.0-alpha.11", - "@ember-data/model": "workspace:5.5.0-alpha.11", - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", - "@ember-data/serializer": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", - "@ember-data/unpublished-test-infra": "workspace:5.5.0-alpha.11", + "@ember-data/adapter": "workspace:5.4.0-alpha.16", + "@ember-data/debug": "workspace:5.4.0-alpha.16", + "@ember-data/graph": "workspace:5.4.0-alpha.16", + "@ember-data/json-api": "workspace:5.4.0-alpha.16", + "@ember-data/legacy-compat": "workspace:5.4.0-alpha.16", + "@ember-data/model": "workspace:5.4.0-alpha.16", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", + "@ember-data/serializer": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", + "@ember-data/unpublished-test-infra": "workspace:5.4.0-alpha.16", "@ember/string": "3.1.1", "@glimmer/component": "^1.1.2", "@glimmer/tracking": "^1.1.2", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-cli": "~5.4.1", "ember-cli-blueprint-test-helpers": "^0.19.2", "ember-inflector": "^4.0.2", diff --git a/tests/builders/package.json b/tests/builders/package.json index f5956c4f467..43f2de873af 100644 --- a/tests/builders/package.json +++ b/tests/builders/package.json @@ -1,6 +1,7 @@ { "name": "builders-test-app", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", + "private": true, "description": "Provides tests for URL and Request Building Capabilities", "keywords": [], "repository": { @@ -78,19 +79,19 @@ "devDependencies": { "@babel/core": "^7.23.7", "@babel/runtime": "^7.23.8", - "@ember-data/active-record": "workspace:5.5.0-alpha.11", - "@ember-data/debug": "workspace:5.5.0-alpha.11", - "@ember-data/graph": "workspace:5.5.0-alpha.11", - "@ember-data/json-api": "workspace:5.5.0-alpha.11", - "@ember-data/legacy-compat": "workspace:5.5.0-alpha.11", - "@ember-data/model": "workspace:5.5.0-alpha.11", - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", - "@ember-data/rest": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", - "@ember-data/unpublished-test-infra": "workspace:5.5.0-alpha.11", + "@ember-data/active-record": "workspace:5.4.0-alpha.16", + "@ember-data/debug": "workspace:5.4.0-alpha.16", + "@ember-data/graph": "workspace:5.4.0-alpha.16", + "@ember-data/json-api": "workspace:5.4.0-alpha.16", + "@ember-data/legacy-compat": "workspace:5.4.0-alpha.16", + "@ember-data/model": "workspace:5.4.0-alpha.16", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", + "@ember-data/rest": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", + "@ember-data/unpublished-test-infra": "workspace:5.4.0-alpha.16", "@ember/edition-utils": "^1.2.0", "@ember/optional-features": "^2.0.0", "@ember/string": "3.1.1", @@ -98,9 +99,9 @@ "@embroider/addon-shim": "^1.8.7", "@glimmer/component": "^1.1.2", "@glimmer/tracking": "^1.1.2", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/diagnostic": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/diagnostic": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-auto-import": "^2.7.0", "ember-cli": "~5.4.1", "ember-cli-babel": "^8.2.0", diff --git a/tests/docs/package.json b/tests/docs/package.json index 4cbdf56ecaa..4e5039f7cbd 100644 --- a/tests/docs/package.json +++ b/tests/docs/package.json @@ -1,6 +1,6 @@ { "name": "docs-tests", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": true, "description": "Provides tests for blueprints", "repository": { @@ -16,7 +16,7 @@ "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "devDependencies": { - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "qunit": "^2.20.0" }, "engines": { diff --git a/tests/ember-data__adapter/package.json b/tests/ember-data__adapter/package.json index 2bbfcbf602e..bc51bdf55dd 100644 --- a/tests/ember-data__adapter/package.json +++ b/tests/ember-data__adapter/package.json @@ -1,6 +1,6 @@ { "name": "ember-data__adapter", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": true, "description": "Tests for @ember-data/adapter", "repository": { @@ -73,26 +73,26 @@ "dependencies": { "@babel/core": "^7.23.7", "@babel/runtime": "^7.23.8", - "@ember-data/debug": "workspace:5.5.0-alpha.11", - "@ember-data/graph": "workspace:5.5.0-alpha.11", - "@ember-data/json-api": "workspace:5.5.0-alpha.11", - "@ember-data/legacy-compat": "workspace:5.5.0-alpha.11", - "@ember-data/model": "workspace:5.5.0-alpha.11", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", - "@ember-data/serializer": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", - "@ember-data/unpublished-test-infra": "workspace:5.5.0-alpha.11", + "@ember-data/debug": "workspace:5.4.0-alpha.16", + "@ember-data/graph": "workspace:5.4.0-alpha.16", + "@ember-data/json-api": "workspace:5.4.0-alpha.16", + "@ember-data/legacy-compat": "workspace:5.4.0-alpha.16", + "@ember-data/model": "workspace:5.4.0-alpha.16", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", + "@ember-data/serializer": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", + "@ember-data/unpublished-test-infra": "workspace:5.4.0-alpha.16", "@ember/optional-features": "^2.0.0", "@ember/string": "3.1.1", "@ember/test-helpers": "^3.2.1", "@embroider/addon-shim": "^1.8.7", "@glimmer/component": "^1.1.2", "@glimmer/tracking": "^1.1.2", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", - "@warp-drive/diagnostic": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", + "@warp-drive/diagnostic": "workspace:0.0.0-alpha.2", "ember-auto-import": "^2.7.0", "ember-cli": "~5.4.1", "ember-cli-babel": "^8.2.0", diff --git a/tests/ember-data__graph/package.json b/tests/ember-data__graph/package.json index 6f11f22c688..c8364e9edcb 100644 --- a/tests/ember-data__graph/package.json +++ b/tests/ember-data__graph/package.json @@ -1,6 +1,6 @@ { "name": "ember-data__graph", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": true, "description": "Provides tests for @ember-data/graph", "keywords": [], @@ -73,17 +73,17 @@ "devDependencies": { "@babel/core": "^7.23.7", "@babel/runtime": "^7.23.8", - "@ember-data/debug": "workspace:5.5.0-alpha.11", - "@ember-data/graph": "workspace:5.5.0-alpha.11", - "@ember-data/json-api": "workspace:5.5.0-alpha.11", - "@ember-data/legacy-compat": "workspace:5.5.0-alpha.11", - "@ember-data/model": "workspace:5.5.0-alpha.11", - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", - "@ember-data/unpublished-test-infra": "workspace:5.5.0-alpha.11", + "@ember-data/debug": "workspace:5.4.0-alpha.16", + "@ember-data/graph": "workspace:5.4.0-alpha.16", + "@ember-data/json-api": "workspace:5.4.0-alpha.16", + "@ember-data/legacy-compat": "workspace:5.4.0-alpha.16", + "@ember-data/model": "workspace:5.4.0-alpha.16", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", + "@ember-data/unpublished-test-infra": "workspace:5.4.0-alpha.16", "@ember/edition-utils": "^1.2.0", "@ember/optional-features": "^2.0.0", "@ember/string": "3.1.1", @@ -92,9 +92,9 @@ "@embroider/macros": "^1.13.4", "@glimmer/component": "^1.1.2", "@glimmer/tracking": "^1.1.2", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", - "@warp-drive/diagnostic": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", + "@warp-drive/diagnostic": "workspace:0.0.0-alpha.2", "ember-auto-import": "^2.7.0", "ember-cli": "~5.4.1", "ember-cli-babel": "^8.2.0", diff --git a/tests/ember-data__json-api/package.json b/tests/ember-data__json-api/package.json index ce4e2f40752..5f3a647f123 100644 --- a/tests/ember-data__json-api/package.json +++ b/tests/ember-data__json-api/package.json @@ -1,6 +1,6 @@ { "name": "ember-data__json-api", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": true, "description": "Provides tests for @ember-data/json-api", "keywords": [], @@ -73,17 +73,17 @@ "devDependencies": { "@babel/core": "^7.23.7", "@babel/runtime": "^7.23.8", - "@ember-data/debug": "workspace:5.5.0-alpha.11", - "@ember-data/graph": "workspace:5.5.0-alpha.11", - "@ember-data/json-api": "workspace:5.5.0-alpha.11", - "@ember-data/legacy-compat": "workspace:5.5.0-alpha.11", - "@ember-data/model": "workspace:5.5.0-alpha.11", - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", - "@ember-data/unpublished-test-infra": "workspace:5.5.0-alpha.11", + "@ember-data/debug": "workspace:5.4.0-alpha.16", + "@ember-data/graph": "workspace:5.4.0-alpha.16", + "@ember-data/json-api": "workspace:5.4.0-alpha.16", + "@ember-data/legacy-compat": "workspace:5.4.0-alpha.16", + "@ember-data/model": "workspace:5.4.0-alpha.16", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", + "@ember-data/unpublished-test-infra": "workspace:5.4.0-alpha.16", "@ember/edition-utils": "^1.2.0", "@ember/optional-features": "^2.0.0", "@ember/string": "3.1.1", @@ -92,9 +92,9 @@ "@embroider/macros": "^1.13.4", "@glimmer/component": "^1.1.2", "@glimmer/tracking": "^1.1.2", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/diagnostic": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/diagnostic": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-auto-import": "^2.7.0", "ember-cli": "~5.4.1", "ember-cli-babel": "^8.2.0", diff --git a/tests/ember-data__model/package.json b/tests/ember-data__model/package.json index 962377b2285..b45e871c295 100644 --- a/tests/ember-data__model/package.json +++ b/tests/ember-data__model/package.json @@ -1,6 +1,6 @@ { "name": "ember-data__model", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": true, "description": "Tests for @ember-data/model", "repository": { @@ -68,25 +68,25 @@ "devDependencies": { "@babel/core": "^7.23.7", "@babel/runtime": "^7.23.8", - "@ember-data/adapter": "workspace:5.5.0-alpha.11", - "@ember-data/graph": "workspace:5.5.0-alpha.11", - "@ember-data/json-api": "workspace:5.5.0-alpha.11", - "@ember-data/legacy-compat": "workspace:5.5.0-alpha.11", - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", - "@ember-data/serializer": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", + "@ember-data/adapter": "workspace:5.4.0-alpha.16", + "@ember-data/graph": "workspace:5.4.0-alpha.16", + "@ember-data/json-api": "workspace:5.4.0-alpha.16", + "@ember-data/legacy-compat": "workspace:5.4.0-alpha.16", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", + "@ember-data/serializer": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", "@ember/optional-features": "^2.0.0", "@ember/string": "3.1.1", "@ember/test-helpers": "^3.2.1", "@embroider/addon-shim": "^1.8.7", "@glimmer/component": "^1.1.2", "@glimmer/tracking": "^1.1.2", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/diagnostic": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/diagnostic": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-auto-import": "^2.7.0", "ember-cli": "~5.4.1", "ember-cli-babel": "^8.2.0", diff --git a/tests/ember-data__request/package.json b/tests/ember-data__request/package.json index 3dde627fab0..1099f271717 100644 --- a/tests/ember-data__request/package.json +++ b/tests/ember-data__request/package.json @@ -1,6 +1,7 @@ { "name": "ember-data__request", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", + "private": true, "description": "Provides tests for @ember-data/request", "keywords": [], "repository": { @@ -48,8 +49,8 @@ "devDependencies": { "@babel/core": "^7.23.7", "@babel/runtime": "^7.23.8", - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", - "@ember-data/request": "workspace:5.5.0-alpha.11", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", + "@ember-data/request": "workspace:5.4.0-alpha.16", "@ember/edition-utils": "^1.2.0", "@ember/optional-features": "^2.0.0", "@ember/string": "3.1.1", @@ -57,10 +58,10 @@ "@embroider/addon-shim": "^1.8.7", "@glimmer/component": "^1.1.2", "@glimmer/tracking": "^1.1.2", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/diagnostic": "workspace:5.5.0-alpha.11", - "@warp-drive/holodeck": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/diagnostic": "workspace:0.0.0-alpha.2", + "@warp-drive/holodeck": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "bun-types": "^1.0.25", "ember-auto-import": "^2.7.0", "ember-cli": "~5.4.1", diff --git a/tests/ember-data__serializer/package.json b/tests/ember-data__serializer/package.json index ee18680550b..e24f244fcde 100644 --- a/tests/ember-data__serializer/package.json +++ b/tests/ember-data__serializer/package.json @@ -1,6 +1,6 @@ { "name": "ember-data__serializer", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": true, "description": "Tests for the @ember-data/serializer package", "repository": { @@ -69,24 +69,24 @@ "devDependencies": { "@babel/core": "^7.23.7", "@babel/runtime": "^7.23.8", - "@ember-data/adapter": "workspace:5.5.0-alpha.11", - "@ember-data/debug": "workspace:5.5.0-alpha.11", - "@ember-data/graph": "workspace:5.5.0-alpha.11", - "@ember-data/json-api": "workspace:5.5.0-alpha.11", - "@ember-data/legacy-compat": "workspace:5.5.0-alpha.11", - "@ember-data/model": "workspace:5.5.0-alpha.11", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", - "@ember-data/unpublished-test-infra": "workspace:5.5.0-alpha.11", + "@ember-data/adapter": "workspace:5.4.0-alpha.16", + "@ember-data/debug": "workspace:5.4.0-alpha.16", + "@ember-data/graph": "workspace:5.4.0-alpha.16", + "@ember-data/json-api": "workspace:5.4.0-alpha.16", + "@ember-data/legacy-compat": "workspace:5.4.0-alpha.16", + "@ember-data/model": "workspace:5.4.0-alpha.16", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", + "@ember-data/unpublished-test-infra": "workspace:5.4.0-alpha.16", "@ember/optional-features": "^2.0.0", "@ember/string": "3.1.1", "@ember/test-helpers": "^3.2.1", "@glimmer/component": "^1.1.2", "@glimmer/tracking": "^1.1.2", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-auto-import": "^2.7.0", "ember-cli": "~5.4.1", "ember-cli-babel": "^8.2.0", diff --git a/tests/embroider-basic-compat/package.json b/tests/embroider-basic-compat/package.json index 75086439f8e..5f182427313 100644 --- a/tests/embroider-basic-compat/package.json +++ b/tests/embroider-basic-compat/package.json @@ -1,6 +1,6 @@ { "name": "embroider-basic-compat", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": true, "description": "Small description for embroider-basic-compat goes here", "repository": { @@ -25,7 +25,7 @@ "dependencies": { "@ember/string": "3.1.1", "ember-auto-import": "^2.7.0", - "ember-data": "workspace:5.5.0-alpha.11", + "ember-data": "workspace:5.4.0-alpha.16", "ember-inflector": "^4.0.2", "pnpm-sync-dependencies-meta-injected": "0.0.10", "webpack": "^5.89.0" @@ -47,7 +47,7 @@ "devDependencies": { "@babel/core": "^7.23.7", "@babel/runtime": "^7.23.8", - "@ember-data/unpublished-test-infra": "workspace:5.5.0-alpha.11", + "@ember-data/unpublished-test-infra": "workspace:5.4.0-alpha.16", "@ember/optional-features": "^2.0.0", "@ember/test-helpers": "^3.2.1", "@embroider/compat": "^3.4.0", @@ -55,7 +55,7 @@ "@embroider/webpack": "^3.2.1", "@glimmer/component": "^1.1.2", "@glimmer/tracking": "^1.1.2", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-cli": "~5.4.1", "ember-cli-babel": "^8.2.0", "ember-cli-dependency-checker": "^3.3.2", diff --git a/tests/fastboot/package.json b/tests/fastboot/package.json index 64103e034a4..dac884951e2 100644 --- a/tests/fastboot/package.json +++ b/tests/fastboot/package.json @@ -1,6 +1,6 @@ { "name": "fastboot-test-app", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": true, "description": "Small description for fastboot-test-app goes here", "repository": { @@ -23,10 +23,10 @@ "_syncPnpm": "bun run sync-dependencies-meta-injected" }, "dependencies": { - "@ember-data/unpublished-test-infra": "workspace:5.5.0-alpha.11", + "@ember-data/unpublished-test-infra": "workspace:5.4.0-alpha.16", "@ember/string": "3.1.1", "ember-auto-import": "^2.7.0", - "ember-data": "workspace:5.5.0-alpha.11", + "ember-data": "workspace:5.4.0-alpha.16", "ember-inflector": "^4.0.2", "pnpm-sync-dependencies-meta-injected": "0.0.10", "webpack": "^5.89.0" @@ -52,7 +52,7 @@ "@ember/test-helpers": "^3.2.1", "@glimmer/component": "^1.1.2", "@glimmer/tracking": "^1.1.2", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-cli": "~5.4.1", "ember-cli-babel": "^8.2.0", "ember-cli-dependency-checker": "^3.3.2", diff --git a/tests/full-data-asset-size-app/package.json b/tests/full-data-asset-size-app/package.json index f826efe7c9d..f56015417cc 100644 --- a/tests/full-data-asset-size-app/package.json +++ b/tests/full-data-asset-size-app/package.json @@ -1,6 +1,6 @@ { "name": "full-data-asset-size-app", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": true, "description": "An app for determining asset-size of the meta package", "repository": { @@ -33,7 +33,7 @@ "devDependencies": { "@babel/core": "^7.23.7", "@babel/runtime": "^7.23.8", - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", "@ember/optional-features": "^2.0.0", "@ember/string": "3.1.1", "@glimmer/component": "^1.1.2", @@ -44,7 +44,7 @@ "ember-cli-dependency-checker": "^3.3.2", "ember-cli-htmlbars": "^6.3.0", "ember-cli-terser": "^4.0.2", - "ember-data": "workspace:5.5.0-alpha.11", + "ember-data": "workspace:5.4.0-alpha.16", "ember-load-initializers": "^2.1.2", "ember-maybe-import-regenerator": "^1.0.0", "ember-resolver": "^11.0.1", diff --git a/tests/main/package.json b/tests/main/package.json index b2ce8ea53dc..40d06af639e 100644 --- a/tests/main/package.json +++ b/tests/main/package.json @@ -1,6 +1,6 @@ { "name": "main-test-app", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": true, "description": "A data layer for your Ember applications.", "repository": { @@ -90,19 +90,19 @@ "@babel/core": "^7.23.7", "@babel/plugin-transform-typescript": "^7.23.6", "@babel/runtime": "^7.23.8", - "@ember-data/adapter": "workspace:5.5.0-alpha.11", - "@ember-data/debug": "workspace:5.5.0-alpha.11", - "@ember-data/graph": "workspace:5.5.0-alpha.11", - "@ember-data/json-api": "workspace:5.5.0-alpha.11", - "@ember-data/legacy-compat": "workspace:5.5.0-alpha.11", - "@ember-data/model": "workspace:5.5.0-alpha.11", - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", - "@ember-data/serializer": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", - "@ember-data/unpublished-test-infra": "workspace:5.5.0-alpha.11", + "@ember-data/adapter": "workspace:5.4.0-alpha.16", + "@ember-data/debug": "workspace:5.4.0-alpha.16", + "@ember-data/graph": "workspace:5.4.0-alpha.16", + "@ember-data/json-api": "workspace:5.4.0-alpha.16", + "@ember-data/legacy-compat": "workspace:5.4.0-alpha.16", + "@ember-data/model": "workspace:5.4.0-alpha.16", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", + "@ember-data/serializer": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", + "@ember-data/unpublished-test-infra": "workspace:5.4.0-alpha.16", "@ember/edition-utils": "^1.2.0", "@ember/optional-features": "^2.0.0", "@ember/string": "3.1.1", @@ -111,9 +111,9 @@ "@glimmer/component": "^1.1.2", "@glimmer/tracking": "^1.1.2", "@types/qunit": "^2.19.9", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/holodeck": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/holodeck": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "broccoli-concat": "^4.2.5", "broccoli-merge-trees": "^4.2.0", "broccoli-stew": "^3.0.0", @@ -129,7 +129,7 @@ "ember-cli-inject-live-reload": "^2.1.0", "ember-cli-terser": "~4.0.2", "ember-cli-test-loader": "^3.1.0", - "ember-data": "workspace:5.5.0-alpha.11", + "ember-data": "workspace:5.4.0-alpha.16", "ember-decorators-polyfill": "^1.1.5", "ember-disable-prototype-extensions": "^1.1.3", "ember-exam": "^9.0.0", diff --git a/tests/performance/package.json b/tests/performance/package.json index 721cc57364e..fb7264ed769 100644 --- a/tests/performance/package.json +++ b/tests/performance/package.json @@ -1,6 +1,6 @@ { "name": "performance-test-app", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": true, "description": "Small description for performance-test-app goes here", "repository": { @@ -23,7 +23,7 @@ "dependencies": { "@ember/string": "3.1.1", "ember-auto-import": "^2.7.0", - "ember-data": "workspace:5.5.0-alpha.11", + "ember-data": "workspace:5.4.0-alpha.16", "pnpm-sync-dependencies-meta-injected": "0.0.10", "webpack": "^5.89.0" }, @@ -45,7 +45,7 @@ "@embroider/webpack": "^3.2.1", "@glimmer/component": "^1.1.2", "@glimmer/tracking": "^1.1.2", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-cli": "~5.4.1", "ember-cli-babel": "^8.2.0", "ember-cli-dependency-checker": "^3.3.2", diff --git a/tests/recommended-json-api/package.json b/tests/recommended-json-api/package.json index 6c524388fef..c9ce2853905 100644 --- a/tests/recommended-json-api/package.json +++ b/tests/recommended-json-api/package.json @@ -1,6 +1,6 @@ { "name": "recommended-json-api", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": true, "description": "Demos the recommended experience for JSON:API with EmberData", "keywords": [], @@ -69,17 +69,17 @@ "devDependencies": { "@babel/core": "^7.23.7", "@babel/runtime": "^7.23.8", - "@ember-data/debug": "workspace:5.5.0-alpha.11", - "@ember-data/graph": "workspace:5.5.0-alpha.11", - "@ember-data/json-api": "workspace:5.5.0-alpha.11", - "@ember-data/legacy-compat": "workspace:5.5.0-alpha.11", - "@ember-data/model": "workspace:5.5.0-alpha.11", - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", - "@ember-data/unpublished-test-infra": "workspace:5.5.0-alpha.11", + "@ember-data/debug": "workspace:5.4.0-alpha.16", + "@ember-data/graph": "workspace:5.4.0-alpha.16", + "@ember-data/json-api": "workspace:5.4.0-alpha.16", + "@ember-data/legacy-compat": "workspace:5.4.0-alpha.16", + "@ember-data/model": "workspace:5.4.0-alpha.16", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", + "@ember-data/unpublished-test-infra": "workspace:5.4.0-alpha.16", "@ember/edition-utils": "^1.2.0", "@ember/optional-features": "^2.0.0", "@ember/string": "3.1.1", @@ -91,8 +91,8 @@ "@glimmer/tracking": "^1.1.2", "@html-next/vertical-collection": "^4.0.2", "@types/morgan": "^1.9.9", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", "ember-auto-import": "^2.7.0", "ember-cli": "~5.4.1", "ember-cli-babel": "^8.2.0", diff --git a/tests/warp-drive__schema-record/package.json b/tests/warp-drive__schema-record/package.json index 776c12cbf31..0c74b73c328 100644 --- a/tests/warp-drive__schema-record/package.json +++ b/tests/warp-drive__schema-record/package.json @@ -1,6 +1,6 @@ { "name": "warp-drive__schema-record", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "description": "Provides tests for @warp-drive/schema-record", "private": true, "keywords": [], @@ -72,17 +72,17 @@ "devDependencies": { "@babel/core": "^7.23.7", "@babel/runtime": "^7.23.8", - "@ember-data/debug": "workspace:5.5.0-alpha.11", - "@ember-data/graph": "workspace:5.5.0-alpha.11", - "@ember-data/json-api": "workspace:5.5.0-alpha.11", - "@ember-data/private-build-infra": "workspace:5.5.0-alpha.11", - "@ember-data/request": "workspace:5.5.0-alpha.11", - "@ember-data/request-utils": "workspace:5.5.0-alpha.11", - "@ember-data/store": "workspace:5.5.0-alpha.11", - "@ember-data/tracking": "workspace:5.5.0-alpha.11", - "@ember-data/unpublished-test-infra": "workspace:5.5.0-alpha.11", - "@ember-data/model": "workspace:5.5.0-alpha.11", - "@ember-data/legacy-compat": "workspace:5.5.0-alpha.11", + "@ember-data/debug": "workspace:5.4.0-alpha.16", + "@ember-data/graph": "workspace:5.4.0-alpha.16", + "@ember-data/json-api": "workspace:5.4.0-alpha.16", + "@ember-data/private-build-infra": "workspace:5.4.0-alpha.16", + "@ember-data/request": "workspace:5.4.0-alpha.16", + "@ember-data/request-utils": "workspace:5.4.0-alpha.16", + "@ember-data/store": "workspace:5.4.0-alpha.16", + "@ember-data/tracking": "workspace:5.4.0-alpha.16", + "@ember-data/unpublished-test-infra": "workspace:5.4.0-alpha.16", + "@ember-data/model": "workspace:5.4.0-alpha.16", + "@ember-data/legacy-compat": "workspace:5.4.0-alpha.16", "@ember/edition-utils": "^1.2.0", "@ember/optional-features": "^2.0.0", "@ember/string": "3.1.1", @@ -90,9 +90,9 @@ "@glimmer/component": "^1.1.2", "@glimmer/tracking": "^1.1.2", "@types/qunit": "^2.19.9", - "@warp-drive/core-types": "workspace:5.5.0-alpha.11", - "@warp-drive/internal-config": "workspace:5.5.0-alpha.11", - "@warp-drive/schema-record": "workspace:5.5.0-alpha.11", + "@warp-drive/core-types": "workspace:0.0.0-alpha.2", + "@warp-drive/internal-config": "workspace:5.4.0-alpha.16", + "@warp-drive/schema-record": "workspace:0.0.0-alpha.2", "ember-auto-import": "^2.7.0", "ember-cli": "~5.4.1", "ember-cli-babel": "^8.2.0", diff --git a/tests/warp-drive__schema/package.json b/tests/warp-drive__schema/package.json index 07b999571de..1377c93a19a 100644 --- a/tests/warp-drive__schema/package.json +++ b/tests/warp-drive__schema/package.json @@ -1,6 +1,6 @@ { "name": "warp-drive__schema", - "version": "5.5.0-alpha.11", + "version": "5.4.0-alpha.16", "private": true, "description": "Tests for the @warp-drive/schema package", "keywords": [],