From 4b9ffefc80d35d990d450ae7c272221e1541b844 Mon Sep 17 00:00:00 2001 From: Chris Thoburn Date: Thu, 22 Aug 2024 14:17:53 -0700 Subject: [PATCH 01/26] reconfigure to modern WarpDrive --- app/models/pokemon.ts | 68 ------ app/schemas/pokemon.ts | 245 +++++++++++++++++++++ app/services/store.js | 13 -- app/services/store.ts | 53 +++++ ember-cli-build.js | 7 +- package.json | 21 +- pnpm-lock.yaml | 350 +++++++----------------------- tests/unit/models/pokemon-test.js | 12 - tsconfig.json | 22 +- 9 files changed, 394 insertions(+), 397 deletions(-) delete mode 100644 app/models/pokemon.ts create mode 100644 app/schemas/pokemon.ts delete mode 100644 app/services/store.js create mode 100644 app/services/store.ts delete mode 100644 tests/unit/models/pokemon-test.js diff --git a/app/models/pokemon.ts b/app/models/pokemon.ts deleted file mode 100644 index 9a21c7b..0000000 --- a/app/models/pokemon.ts +++ /dev/null @@ -1,68 +0,0 @@ -import Model, { attr } from '@ember-data/model'; -import { Type } from '@warp-drive/core-types/symbols'; - -export type PokemonType = - | 'Normal' - | 'Fighting' - | 'Flying' - | 'Poison' - | 'Ground' - | 'Rock' - | 'Bug' - | 'Ghost' - | 'Steel' - | 'Fire' - | 'Water' - | 'Grass' - | 'Electric' - | 'Psychic' - | 'Ice' - | 'Dragon' - | 'Dark' - | 'Fairy'; - -export default class PokemonModel extends Model { - @attr declare name: { - english: string; - japanese: string; - chinese: string; - french: string; - }; - - @attr('string') declare description: string; - - @attr declare type: PokemonType[]; - - @attr declare base: { - HP: number; - Attack: number; - Defense: number; - 'Sp. Attack': number; - 'Sp. Defense': number; - Speed: number; - }; - - @attr declare species: string; - - @attr declare evolution: { - prev: [string, string]; - next: [string, string][]; - }; - - @attr declare profile: { - height: string; - weight: string; - egg: string[]; - ability: [string, string][]; - }; - - @attr declare gender: string; - - @attr declare image: { - sprite: string; - thumbnail: string; - hires: string; - }; - - [Type] = 'pokemon' as const; -} diff --git a/app/schemas/pokemon.ts b/app/schemas/pokemon.ts new file mode 100644 index 0000000..dfacd16 --- /dev/null +++ b/app/schemas/pokemon.ts @@ -0,0 +1,245 @@ +import type { SchemaService } from '@ember-data/store/types'; +import type { ResourceSchema } from '@warp-drive/core-types/schema/fields'; +import { Type } from '@warp-drive/core-types/symbols'; +import { withDefaults } from '@warp-drive/schema-record/schema'; + +export type PokemonType = + | 'Normal' + | 'Fighting' + | 'Flying' + | 'Poison' + | 'Ground' + | 'Rock' + | 'Bug' + | 'Ghost' + | 'Steel' + | 'Fire' + | 'Water' + | 'Grass' + | 'Electric' + | 'Psychic' + | 'Ice' + | 'Dragon' + | 'Dark' + | 'Fairy'; + +type PokemonBaseStats = { + HP: number; + Attack: number; + Defense: number; + 'Sp. Attack': number; + 'Sp. Defense': number; + Speed: number; +}; + +type PokemonName = { + english: string; + japanese: string; + chinese: string; + french: string; +}; + +type PokemonEvolution = { + prev: [string, string]; + next: [string, string][]; +}; + +type PokemonProfile = { + height: string; + weight: string; + egg: string[]; + ability: [string, string][]; +}; + +type PokemonImage = { + sprite: string; + thumbnail: string; + hires: string; +}; + +export type Pokemon = Readonly<{ + id: string; + $type: 'pokemon'; + + name: Readonly; + description: string; + type: Readonly; + base: Readonly; + species: string; + evolution: Readonly; + + profile: Readonly; + image: Readonly; + gender: string; + + [Type]: 'pokemon'; +}>; + +const PokemonBaseStatsSchema: ResourceSchema = { + identity: null, + type: 'pokemon-base-stats', + fields: [ + { + kind: 'field', + name: 'HP', + }, + { + kind: 'field', + name: 'Attack', + }, + { + kind: 'field', + name: 'Defense', + }, + { + kind: 'field', + name: 'Sp. Attack', + }, + { + kind: 'field', + name: 'Sp. Defense', + }, + { + kind: 'field', + name: 'Speed', + }, + ], +}; + +const PokemonNameSchema: ResourceSchema = { + identity: null, + type: 'pokemon-name', + fields: [ + { + kind: 'field', + name: 'english', + }, + { + kind: 'field', + name: 'japanese', + }, + { + kind: 'field', + name: 'chinese', + }, + { + kind: 'field', + name: 'french', + }, + ], +}; + +const PokemonEvolutionSchema: ResourceSchema = { + identity: null, + type: 'pokemon-evolution', + fields: [ + { + kind: 'array', + name: 'prev', + }, + { + kind: 'array', + name: 'next', + }, + ], +}; + +const PokemonProfileSchema: ResourceSchema = { + identity: null, + type: 'pokemon-profile', + fields: [ + { + kind: 'field', + name: 'height', + }, + { + kind: 'field', + name: 'weight', + }, + { + kind: 'array', + name: 'egg', + }, + { + kind: 'array', + name: 'ability', + }, + ], +}; + +const PokemonImageSchema: ResourceSchema = { + identity: null, + type: 'pokemon-image', + fields: [ + { + kind: 'field', + name: 'sprite', + }, + { + kind: 'field', + name: 'thumbnail', + }, + { + kind: 'field', + name: 'hires', + }, + ], +}; + +const PokemonSchema = withDefaults({ + type: 'pokemon', + fields: [ + { + kind: 'schema-object', + name: 'name', + type: 'pokemon-name', + }, + { + kind: 'field', + name: 'description', + }, + { + kind: 'array', + name: 'type', + }, + { + kind: 'schema-object', + name: 'base', + type: 'pokemon-base-stats', + }, + { + kind: 'field', + name: 'species', + }, + { + kind: 'schema-object', + name: 'evolution', + type: 'pokemon-evolution', + }, + { + kind: 'schema-object', + name: 'profile', + type: 'pokemon-profile', + }, + { + kind: 'schema-object', + name: 'image', + type: 'pokemon-image', + }, + { + kind: 'field', + name: 'gender', + }, + ], +}); + +export function register(schema: SchemaService) { + schema.registerResources([ + PokemonBaseStatsSchema, + PokemonNameSchema, + PokemonEvolutionSchema, + PokemonProfileSchema, + PokemonImageSchema, + PokemonSchema, + ]); +} diff --git a/app/services/store.js b/app/services/store.js deleted file mode 100644 index bf24dd4..0000000 --- a/app/services/store.js +++ /dev/null @@ -1,13 +0,0 @@ -import RequestManager from '@ember-data/request'; -// eslint-disable-next-line ember/use-ember-data-rfc-395-imports -import Store from 'ember-data/store'; -import Fetch from '@ember-data/request/fetch'; -import { JsonSuffixHandler } from 'ember-polaris-pokedex/utils/handlers'; - -export default class StoreService extends Store { - constructor() { - super(...arguments); - this.requestManager = new RequestManager(); - this.requestManager.use([JsonSuffixHandler, Fetch]); - } -} diff --git a/app/services/store.ts b/app/services/store.ts new file mode 100644 index 0000000..71f6957 --- /dev/null +++ b/app/services/store.ts @@ -0,0 +1,53 @@ +import RequestManager from '@ember-data/request'; +import BaseStore, { CacheHandler } from '@ember-data/store'; +import Fetch from '@ember-data/request/fetch'; +import { JsonSuffixHandler } from 'ember-polaris-pokedex/utils/handlers'; +import { CachePolicy } from '@ember-data/request-utils'; +import { + registerDerivations, + SchemaService, +} from '@warp-drive/schema-record/schema'; +import { register as registerPokemon } from 'ember-polaris-pokedex/schemas/pokemon'; +import type { CacheCapabilitiesManager } from '@ember-data/store/types'; +import JSONAPICache from '@ember-data/json-api/-private/cache'; +import type { StableRecordIdentifier } from '@warp-drive/core-types/identifier'; +import { + instantiateRecord, + teardownRecord, +} from '@warp-drive/schema-record/hooks'; +import type { SchemaRecord } from '@warp-drive/schema-record/record'; + +export default class Store extends BaseStore { + lifetimes = new CachePolicy({ + apiCacheHardExpires: 1000 * 60 * 60 * 48, // 48 hours + apiCacheSoftExpires: 1000 * 60 * 60, // 1 hour + }); + + requestManager = new RequestManager() + .use([JsonSuffixHandler, Fetch]) + .useCache(CacheHandler); + + createSchemaService() { + const schema = new SchemaService(); + + registerDerivations(schema); + registerPokemon(schema); + + return schema; + } + + createCache(capabilites: CacheCapabilitiesManager) { + return new JSONAPICache(capabilites); + } + + instantiateRecord( + identifier: StableRecordIdentifier, + createRecordArgs: { [key: string]: unknown }, + ) { + return instantiateRecord(this, identifier, createRecordArgs); + } + + teardownRecord(record: SchemaRecord): void { + teardownRecord(record); + } +} diff --git a/ember-cli-build.js b/ember-cli-build.js index a2be909..503691d 100644 --- a/ember-cli-build.js +++ b/ember-cli-build.js @@ -3,13 +3,18 @@ const EmberApp = require('ember-cli/lib/broccoli/ember-app'); const { maybeEmbroider } = require('@embroider/test-setup'); -module.exports = function (defaults) { +module.exports = async function (defaults) { + const { setConfig } = await import('@warp-drive/build-config'); const app = new EmberApp(defaults, { 'ember-cli-babel': { enableTypeScriptTransform: true }, // Add options here }); + setConfig(app, __dirname, { + compatWith: '99.0', + }); + return maybeEmbroider(app, { skipBabel: [ { diff --git a/package.json b/package.json index 17b5e1e..a99ef7b 100644 --- a/package.json +++ b/package.json @@ -32,17 +32,6 @@ "@babel/core": "^7.25.2", "@babel/eslint-parser": "^7.24.7", "@babel/plugin-proposal-decorators": "^7.24.7", - "@ember-data-types/adapter": "5.4.0-alpha.98", - "@ember-data-types/graph": "5.4.0-alpha.98", - "@ember-data-types/json-api": "5.4.0-alpha.98", - "@ember-data-types/legacy-compat": "5.4.0-alpha.98", - "@ember-data-types/model": "5.4.0-alpha.98", - "@ember-data-types/request": "5.4.0-alpha.98", - "@ember-data-types/request-utils": "5.4.0-alpha.98", - "@ember-data-types/rest": "5.4.0-alpha.98", - "@ember-data-types/serializer": "5.4.0-alpha.98", - "@ember-data-types/store": "5.4.0-alpha.98", - "@ember-data-types/tracking": "5.4.0-alpha.98", "@ember/optional-features": "^2.1.0", "@ember/string": "^3.1.1", "@ember/test-helpers": "^3.3.0", @@ -64,7 +53,6 @@ "@types/rsvp": "^4.0.9", "@typescript-eslint/eslint-plugin": "^8.1.0", "@typescript-eslint/parser": "^8.1.0", - "@warp-drive-types/core-types": "0.0.0-alpha.84", "autoprefixer": "^10.0.2", "concurrently": "^8.2.2", "ember-auto-import": "^2.7.4", @@ -72,7 +60,6 @@ "ember-cli-babel": "^8.2.0", "ember-cli-htmlbars": "^6.3.0", "ember-cli-inject-live-reload": "^2.1.0", - "ember-data-types": "5.4.0-alpha.98", "ember-eslint-parser": "^0.5.0", "ember-load-initializers": "^2.1.2", "ember-modifier": "^4.2.0", @@ -113,20 +100,18 @@ "edition": "octane" }, "dependencies": { - "@ember-data/adapter": "5.4.0-alpha.98", "@ember-data/graph": "5.4.0-alpha.98", "@ember-data/json-api": "5.4.0-alpha.98", - "@ember-data/legacy-compat": "5.4.0-alpha.98", - "@ember-data/model": "5.4.0-alpha.98", "@ember-data/request": "5.4.0-alpha.98", "@ember-data/request-utils": "5.4.0-alpha.98", "@ember-data/rest": "5.4.0-alpha.98", - "@ember-data/serializer": "5.4.0-alpha.98", "@ember-data/store": "5.4.0-alpha.98", "@ember-data/tracking": "5.4.0-alpha.98", "@warp-drive/core-types": "0.0.0-alpha.84", + "@warp-drive/build-config": "0.0.0-alpha.35", + "@warp-drive/schema-record": "0.0.0-alpha.84", + "@warp-drive/experiments": "0.0.1-alpha.98", "@warp-drive/ember": "0.0.0-alpha.60", - "ember-data": "5.4.0-alpha.98", "ember-router-scroll": "^4.1.2" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 30bca71..2a21dd9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,21 +11,12 @@ importers: .: dependencies: - '@ember-data/adapter': - specifier: 5.4.0-alpha.98 - version: 5.4.0-alpha.98(ilrb7rbaqv7qxlbl2kyivxba54) '@ember-data/graph': specifier: 5.4.0-alpha.98 version: 5.4.0-alpha.98(@ember-data/store@5.4.0-alpha.98(@ember-data/request-utils@5.4.0-alpha.98(@ember/string@3.1.1)(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/request@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/tracking@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb))(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0)))(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) '@ember-data/json-api': specifier: 5.4.0-alpha.98 version: 5.4.0-alpha.98(mxywmd626fbpw3egoak7w6c3ga) - '@ember-data/legacy-compat': - specifier: 5.4.0-alpha.98 - version: 5.4.0-alpha.98(tl3pfg4snmfjlztfjfqmppxkni) - '@ember-data/model': - specifier: 5.4.0-alpha.98 - version: 5.4.0-alpha.98(xuhmnfoprrnsamlavkrjqyqmve) '@ember-data/request': specifier: 5.4.0-alpha.98 version: 5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) @@ -35,24 +26,27 @@ importers: '@ember-data/rest': specifier: 5.4.0-alpha.98 version: 5.4.0-alpha.98(qxo37skxa575f5klxo5xxdpafi) - '@ember-data/serializer': - specifier: 5.4.0-alpha.98 - version: 5.4.0-alpha.98(ilrb7rbaqv7qxlbl2kyivxba54) '@ember-data/store': specifier: 5.4.0-alpha.98 version: 5.4.0-alpha.98(@ember-data/request-utils@5.4.0-alpha.98(@ember/string@3.1.1)(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/request@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/tracking@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb))(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0)))(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) '@ember-data/tracking': specifier: 5.4.0-alpha.98 version: 5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb))(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0)) + '@warp-drive/build-config': + specifier: 0.0.0-alpha.35 + version: 0.0.0-alpha.35(@glint/template@1.4.1-unstable.01b8deb) '@warp-drive/core-types': specifier: 0.0.0-alpha.84 version: 0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb) '@warp-drive/ember': specifier: 0.0.0-alpha.60 version: 0.0.0-alpha.60(x6y2okmsfl5vw6ltaub6ry3cgq) - ember-data: - specifier: 5.4.0-alpha.98 - version: 5.4.0-alpha.98(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.2)(@glint/template@1.4.1-unstable.01b8deb)(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0))(webpack@5.93.0))(@ember/test-waiters@3.1.0)(@glint/template@1.4.1-unstable.01b8deb)(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0))(qunit@2.21.1) + '@warp-drive/experiments': + specifier: 0.0.1-alpha.98 + version: 0.0.1-alpha.98(db2n26fdpfyfxzg2b6un4r2eti) + '@warp-drive/schema-record': + specifier: 0.0.0-alpha.84 + version: 0.0.0-alpha.84(6feayrdfw5zmjt3ehyvdmzdpuq) ember-router-scroll: specifier: ^4.1.2 version: 4.1.2(@babel/core@7.25.2) @@ -66,39 +60,6 @@ importers: '@babel/plugin-proposal-decorators': specifier: ^7.24.7 version: 7.24.7(@babel/core@7.25.2) - '@ember-data-types/adapter': - specifier: 5.4.0-alpha.98 - version: 5.4.0-alpha.98 - '@ember-data-types/graph': - specifier: 5.4.0-alpha.98 - version: 5.4.0-alpha.98 - '@ember-data-types/json-api': - specifier: 5.4.0-alpha.98 - version: 5.4.0-alpha.98 - '@ember-data-types/legacy-compat': - specifier: 5.4.0-alpha.98 - version: 5.4.0-alpha.98 - '@ember-data-types/model': - specifier: 5.4.0-alpha.98 - version: 5.4.0-alpha.98 - '@ember-data-types/request': - specifier: 5.4.0-alpha.98 - version: 5.4.0-alpha.98 - '@ember-data-types/request-utils': - specifier: 5.4.0-alpha.98 - version: 5.4.0-alpha.98 - '@ember-data-types/rest': - specifier: 5.4.0-alpha.98 - version: 5.4.0-alpha.98 - '@ember-data-types/serializer': - specifier: 5.4.0-alpha.98 - version: 5.4.0-alpha.98 - '@ember-data-types/store': - specifier: 5.4.0-alpha.98 - version: 5.4.0-alpha.98 - '@ember-data-types/tracking': - specifier: 5.4.0-alpha.98 - version: 5.4.0-alpha.98 '@ember/optional-features': specifier: ^2.1.0 version: 2.1.0 @@ -162,9 +123,6 @@ importers: '@typescript-eslint/parser': specifier: ^8.1.0 version: 8.1.0(eslint@8.57.0)(typescript@5.5.4) - '@warp-drive-types/core-types': - specifier: 0.0.0-alpha.84 - version: 0.0.0-alpha.84 autoprefixer: specifier: ^10.0.2 version: 10.4.20(postcss@8.4.41) @@ -186,9 +144,6 @@ importers: ember-cli-inject-live-reload: specifier: ^2.1.0 version: 2.1.0 - ember-data-types: - specifier: 5.4.0-alpha.98 - version: 5.4.0-alpha.98 ember-eslint-parser: specifier: ^0.5.0 version: 0.5.0(@babel/core@7.25.2)(@typescript-eslint/parser@8.1.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0) @@ -981,57 +936,6 @@ packages: '@dual-bundle/import-meta-resolve@4.1.0': resolution: {integrity: sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==} - '@ember-data-types/adapter@5.4.0-alpha.98': - resolution: {integrity: sha512-ImTQaF9BmnSPKMcqzxhTxUKreane8PB8dU3TRlRk+7uZxC3SB/6t666aIpK4ZPBhUIp0+E0vAMM4NE8Cpo7DsQ==} - - '@ember-data-types/graph@5.4.0-alpha.98': - resolution: {integrity: sha512-hvTVeW1Bj+X/ndTpHyRgnQVTkBypPdIiJwtCjF+wuM3wEqMb90nq0rN2MnIVA4SRdJKjjYxUq20cl5cOD1yM6w==} - - '@ember-data-types/json-api@5.4.0-alpha.98': - resolution: {integrity: sha512-SpCE8vTAdoihasAXEWW1e2oUOt6W8CaW5ovoWj/X4aL6Gi5iSfGvir9SKeCoYnH5hlVs7ADvPJnh0cg9jDQzBw==} - - '@ember-data-types/legacy-compat@5.4.0-alpha.98': - resolution: {integrity: sha512-IwTjGnmFi1ZqkLgT9cMPCQqUy62cfTgRe0TLXwhseHFEPeAwW4h0ijh/g9aL8jtwB7dFXu0qvMbOLJxQEd2qhA==} - - '@ember-data-types/model@5.4.0-alpha.98': - resolution: {integrity: sha512-ZwERjequQ0Ye26QxFZ00GE4HoMOyAWbbLSnGvpaXCymVdor3yijqS8I78utBDNWKoTFnxYCHdjRcGHYiaV9LXg==} - - '@ember-data-types/request-utils@5.4.0-alpha.98': - resolution: {integrity: sha512-a9WXZvqL714EDHt1dWl7JzScW5tvf3aGIAN94EDgPWEU0oss6U7kKvmZskStRv4Z25hbeuGG263eaqIfeB48eA==} - - '@ember-data-types/request@5.4.0-alpha.98': - resolution: {integrity: sha512-f4GBd2EIo8JnY0OCdezMw4sr1yLeKFfHRmU2TbtFz3Wc19hMU91Wo8t9F00t7shxsNItgvbP8HnrZojWUGF9tA==} - - '@ember-data-types/rest@5.4.0-alpha.98': - resolution: {integrity: sha512-9rZxlAQ/WFFXkG5Dw1B+/3cQZf+OVBpThd0BmygyZxAoy20f6JugTHLhUgYzrbJazZLhDLqHK68p6bzFzm7tcQ==} - - '@ember-data-types/serializer@5.4.0-alpha.98': - resolution: {integrity: sha512-TShqtrPejSQQkEUWsB5/256h5A5oo3pKrtAxx3A070L6/K5/y7DzPxfOQn/J/bq7wweT9qK9vil5O1ZHcuIWmQ==} - - '@ember-data-types/store@5.4.0-alpha.98': - resolution: {integrity: sha512-CKTDDfhKGCJLQVdU8SnXiZ4Ff1SqbKz/O6UBxYv0edbLHHfuXteJQDalQOLFLaRqkk/rsslsXkKL6mQQYU014A==} - - '@ember-data-types/tracking@5.4.0-alpha.98': - resolution: {integrity: sha512-/uSqhtDrFqdPDyC2xqkYStDlmUI2x9NpYzoiSqc4qhFQyg+BZbxlkRkxva2DW6I8tXmMqRtz6i3Z/qC7AqxSSg==} - - '@ember-data/adapter@5.4.0-alpha.98': - resolution: {integrity: sha512-kO2+Dng9Wao3r5i7cPzO8qZArdjhQTq3wO09jOaa1t1RXc36S/Lek0mSy4sTXf0j2lljv7c7Sxw0Ejp2tqWLTg==} - engines: {node: '>= 18.20.3'} - peerDependencies: - '@ember-data/legacy-compat': 5.4.0-alpha.98 - '@ember-data/request-utils': 5.4.0-alpha.98 - '@ember-data/store': 5.4.0-alpha.98 - '@warp-drive/core-types': 0.0.0-alpha.84 - - '@ember-data/debug@5.4.0-alpha.98': - resolution: {integrity: sha512-v8nGNPVNfk5tJG/y/c5V8v3dlsHQnAdRxp8MApT7OTCewG8DNb7wLx0EYl07896hwq5SkqXpQo/fC3QsGjLpLg==} - engines: {node: '>= 18.20.3'} - peerDependencies: - '@ember-data/model': 5.4.0-alpha.98 - '@ember-data/request-utils': 5.4.0-alpha.98 - '@ember-data/store': 5.4.0-alpha.98 - '@warp-drive/core-types': 0.0.0-alpha.84 - '@ember-data/graph@5.4.0-alpha.98': resolution: {integrity: sha512-SfpidJiNB9EJiOMhd5TSd5n6CnaSFPc6D9Ra7TtREdBSnpja3m7itpSLVTLrX9sjRITNS8Ku5hEU/Ammwgq9LQ==} engines: {node: '>= 18.20.3'} @@ -1112,15 +1016,6 @@ packages: '@ember-data/rfc395-data@0.0.4': resolution: {integrity: sha512-tGRdvgC9/QMQSuSuJV45xoyhI0Pzjm7A9o/MVVA3HakXIImJbbzx/k/6dO9CUEQXIyS2y0fW6C1XaYOG7rY0FQ==} - '@ember-data/serializer@5.4.0-alpha.98': - resolution: {integrity: sha512-b/HZPVP6NNV/en1+7+3WeduzQN+ftGSC33TaXb/JmzNDwHsso5uy3VW9F/TnXOL6M78mhaWlww73CJvIHDa5HA==} - engines: {node: '>= 18.20.3'} - peerDependencies: - '@ember-data/legacy-compat': 5.4.0-alpha.98 - '@ember-data/request-utils': 5.4.0-alpha.98 - '@ember-data/store': 5.4.0-alpha.98 - '@warp-drive/core-types': 0.0.0-alpha.84 - '@ember-data/store@5.4.0-alpha.98': resolution: {integrity: sha512-OKcSHj6ZCFJ/fVTYXgmEq5sKft8mUG1X8NZAhBFdphLPpb58bHDUkb+3oxQzpG7Q5Aulbuvchh4d2fAR3UkDZA==} engines: {node: '>= 18.20.3'} @@ -2182,9 +2077,6 @@ packages: '@volar/typescript@2.4.0-alpha.16': resolution: {integrity: sha512-WCx7z5O81McCQp2cC0c8081y+MgTiAR2WAiJjVL4tr4Qh4GgqK0lgn3CqAjcKizaK1R5y3wfrUqgIYr+QeFYcw==} - '@warp-drive-types/core-types@0.0.0-alpha.84': - resolution: {integrity: sha512-ju+EZc+qTF/p5ZihiENyOBNVE4JEzgxx+6wdNHe+mPY7kHg8xbT1UqnKuXgF7Rmcj4QswfYFEOY0XT7vLQCLgw==} - '@warp-drive/build-config@0.0.0-alpha.35': resolution: {integrity: sha512-J9zQ7j9vMLqimCPL1gQ2BC/gwQ0LepfKFVE+g9b1KiMxH5V3L7LQL0xYG77UFbjzbkwM/O9sZ+pNd2s7+BAB1A==} engines: {node: '>= 18.20.3'} @@ -2207,6 +2099,32 @@ packages: ember-provide-consume-context: optional: true + '@warp-drive/experiments@0.0.1-alpha.98': + resolution: {integrity: sha512-0+4m/Ps/FCivfsmjY/Z3h2Qt0KvT5FylYiRIzsxghn9DCT0/GehSemY7NyddMXddV8xv/qdDeGgUqcaelihkWA==} + engines: {node: '>= 18.20.3'} + peerDependencies: + '@ember-data/request': 5.4.0-alpha.98 + '@ember-data/request-utils': 5.4.0-alpha.98 + '@ember-data/store': 5.4.0-alpha.98 + '@sqlite.org/sqlite-wasm': 3.46.0-build2 + '@warp-drive/core-types': 0.0.0-alpha.84 + peerDependenciesMeta: + '@sqlite.org/sqlite-wasm': + optional: true + + '@warp-drive/schema-record@0.0.0-alpha.84': + resolution: {integrity: sha512-2pjEtGy/1SIG+XHaJDDFtG0d7Pn//Mt7X4uL760tPXqJGjhtD2Zd8NZoxVv3qRJpGd4QBIZA/fV//l8fDcGh4w==} + engines: {node: '>= 18.20.3'} + peerDependencies: + '@ember-data/model': 5.4.0-alpha.98 + '@ember-data/request': 5.4.0-alpha.98 + '@ember-data/store': 5.4.0-alpha.98 + '@ember-data/tracking': 5.4.0-alpha.98 + '@warp-drive/core-types': 0.0.0-alpha.84 + peerDependenciesMeta: + '@ember-data/model': + optional: true + '@webassemblyjs/ast@1.12.1': resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} @@ -3561,24 +3479,6 @@ packages: resolution: {integrity: sha512-BtkjulweiXo9c3yVWrtexw2dTmBrvavD/xixNC6TKOBdrixUwU+6nuOO9dufDWsMxoid7MvtmDpzc9+mE8PdaA==} engines: {node: 10.* || >= 12.*} - ember-data-types@5.4.0-alpha.98: - resolution: {integrity: sha512-BpHTBjzWRIjchk86GJXM7+KWsHhzuYKZdfOqTgaf0faufzUjnA5KATNQ3NxYYktS8xe3muRkYb26UA7PjfFmZQ==} - - ember-data@5.4.0-alpha.98: - resolution: {integrity: sha512-fP87RTS9oOuwOdKnO+K9LIsQn5NP5+Rjb6VuFaxv9Z6V1OQiQP31mmDFtSMtoKeKzALj4+Y4Ql9RMpuGWo6QIQ==} - engines: {node: '>= 18.20.3'} - peerDependencies: - '@ember/test-helpers': ^3.3.0 - '@ember/test-waiters': ^3.1.0 - qunit: ^2.18.0 - peerDependenciesMeta: - '@ember/test-helpers': - optional: true - '@ember/test-waiters': - optional: true - qunit: - optional: true - ember-destroyable-polyfill@2.0.3: resolution: {integrity: sha512-TovtNqCumzyAiW0/OisSkkVK93xnVF4NRU6+FN0ubpfwEOpRrmM2RqDwXI6YAChCgSHON1cz0DfQStpA1Gjuuw==} engines: {node: 10.* || >= 12} @@ -7901,57 +7801,6 @@ snapshots: '@dual-bundle/import-meta-resolve@4.1.0': {} - '@ember-data-types/adapter@5.4.0-alpha.98': {} - - '@ember-data-types/graph@5.4.0-alpha.98': {} - - '@ember-data-types/json-api@5.4.0-alpha.98': {} - - '@ember-data-types/legacy-compat@5.4.0-alpha.98': {} - - '@ember-data-types/model@5.4.0-alpha.98': {} - - '@ember-data-types/request-utils@5.4.0-alpha.98': {} - - '@ember-data-types/request@5.4.0-alpha.98': {} - - '@ember-data-types/rest@5.4.0-alpha.98': {} - - '@ember-data-types/serializer@5.4.0-alpha.98': {} - - '@ember-data-types/store@5.4.0-alpha.98': {} - - '@ember-data-types/tracking@5.4.0-alpha.98': {} - - '@ember-data/adapter@5.4.0-alpha.98(ilrb7rbaqv7qxlbl2kyivxba54)': - dependencies: - '@ember-data/legacy-compat': 5.4.0-alpha.98(tl3pfg4snmfjlztfjfqmppxkni) - '@ember-data/request-utils': 5.4.0-alpha.98(@ember/string@3.1.1)(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) - '@ember-data/store': 5.4.0-alpha.98(@ember-data/request-utils@5.4.0-alpha.98(@ember/string@3.1.1)(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/request@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/tracking@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb))(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0)))(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) - '@ember/edition-utils': 1.2.0 - '@embroider/macros': 1.16.5(@glint/template@1.4.1-unstable.01b8deb) - '@warp-drive/build-config': 0.0.0-alpha.35(@glint/template@1.4.1-unstable.01b8deb) - '@warp-drive/core-types': 0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb) - ember-cli-path-utils: 1.0.0 - ember-cli-string-utils: 1.1.0 - ember-cli-test-info: 1.0.0 - transitivePeerDependencies: - - '@glint/template' - - supports-color - - '@ember-data/debug@5.4.0-alpha.98(4ze2lg2ytx5ywfb2u4e3bddhni)': - dependencies: - '@ember-data/model': 5.4.0-alpha.98(xuhmnfoprrnsamlavkrjqyqmve) - '@ember-data/request-utils': 5.4.0-alpha.98(@ember/string@3.1.1)(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) - '@ember-data/store': 5.4.0-alpha.98(@ember-data/request-utils@5.4.0-alpha.98(@ember/string@3.1.1)(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/request@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/tracking@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb))(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0)))(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) - '@ember/edition-utils': 1.2.0 - '@embroider/macros': 1.16.5(@glint/template@1.4.1-unstable.01b8deb) - '@warp-drive/build-config': 0.0.0-alpha.35(@glint/template@1.4.1-unstable.01b8deb) - '@warp-drive/core-types': 0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb) - transitivePeerDependencies: - - '@glint/template' - - supports-color - '@ember-data/graph@5.4.0-alpha.98(@ember-data/store@5.4.0-alpha.98(@ember-data/request-utils@5.4.0-alpha.98(@ember/string@3.1.1)(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/request@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/tracking@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb))(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0)))(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb))': dependencies: '@ember-data/store': 5.4.0-alpha.98(@ember-data/request-utils@5.4.0-alpha.98(@ember/string@3.1.1)(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/request@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/tracking@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb))(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0)))(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) @@ -7989,6 +7838,7 @@ snapshots: transitivePeerDependencies: - '@glint/template' - supports-color + optional: true '@ember-data/model@5.4.0-alpha.98(xuhmnfoprrnsamlavkrjqyqmve)': dependencies: @@ -8009,6 +7859,7 @@ snapshots: transitivePeerDependencies: - '@glint/template' - supports-color + optional: true '@ember-data/request-utils@5.4.0-alpha.98(@ember/string@3.1.1)(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb))': dependencies: @@ -8044,22 +7895,6 @@ snapshots: '@ember-data/rfc395-data@0.0.4': {} - '@ember-data/serializer@5.4.0-alpha.98(ilrb7rbaqv7qxlbl2kyivxba54)': - dependencies: - '@ember-data/legacy-compat': 5.4.0-alpha.98(tl3pfg4snmfjlztfjfqmppxkni) - '@ember-data/request-utils': 5.4.0-alpha.98(@ember/string@3.1.1)(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) - '@ember-data/store': 5.4.0-alpha.98(@ember-data/request-utils@5.4.0-alpha.98(@ember/string@3.1.1)(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/request@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/tracking@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb))(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0)))(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) - '@ember/edition-utils': 1.2.0 - '@embroider/macros': 1.16.5(@glint/template@1.4.1-unstable.01b8deb) - '@warp-drive/build-config': 0.0.0-alpha.35(@glint/template@1.4.1-unstable.01b8deb) - '@warp-drive/core-types': 0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb) - ember-cli-path-utils: 1.0.0 - ember-cli-string-utils: 1.1.0 - ember-cli-test-info: 1.0.0 - transitivePeerDependencies: - - '@glint/template' - - supports-color - '@ember-data/store@5.4.0-alpha.98(@ember-data/request-utils@5.4.0-alpha.98(@ember/string@3.1.1)(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/request@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/tracking@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb))(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0)))(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb))': dependencies: '@ember-data/request': 5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) @@ -8956,35 +8791,14 @@ snapshots: '@types/ember__utils': 3.16.8 '@types/rsvp': 4.0.9 - '@types/ember@4.0.11': - dependencies: - '@types/ember__application': 4.0.11(@babel/core@7.25.2) - '@types/ember__array': 4.0.10(@babel/core@7.25.2) - '@types/ember__component': 4.0.22(@babel/core@7.25.2) - '@types/ember__controller': 4.0.12(@babel/core@7.25.2) - '@types/ember__debug': 4.0.8 - '@types/ember__engine': 4.0.11 - '@types/ember__error': 4.0.6 - '@types/ember__object': 4.0.12(@babel/core@7.25.2) - '@types/ember__polyfills': 4.0.6 - '@types/ember__routing': 4.0.22(@babel/core@7.25.2) - '@types/ember__runloop': 4.0.10 - '@types/ember__service': 4.0.9(@babel/core@7.25.2) - '@types/ember__string': 3.16.3 - '@types/ember__template': 4.0.7 - '@types/ember__test': 4.0.6(@babel/core@7.25.2) - '@types/ember__utils': 4.0.7 - '@types/rsvp': 4.0.9 - optional: true - '@types/ember@4.0.11(@babel/core@7.25.2)': dependencies: '@types/ember__application': 4.0.11(@babel/core@7.25.2) '@types/ember__array': 4.0.10(@babel/core@7.25.2) '@types/ember__component': 4.0.22(@babel/core@7.25.2) '@types/ember__controller': 4.0.12(@babel/core@7.25.2) - '@types/ember__debug': 4.0.8 - '@types/ember__engine': 4.0.11 + '@types/ember__debug': 4.0.8(@babel/core@7.25.2) + '@types/ember__engine': 4.0.11(@babel/core@7.25.2) '@types/ember__error': 4.0.6 '@types/ember__object': 4.0.12(@babel/core@7.25.2) '@types/ember__polyfills': 4.0.6 @@ -9010,8 +8824,8 @@ snapshots: '@types/ember__application@4.0.11(@babel/core@7.25.2)': dependencies: '@glimmer/component': 1.1.2(@babel/core@7.25.2) - '@types/ember': 4.0.11 - '@types/ember__engine': 4.0.11 + '@types/ember': 4.0.11(@babel/core@7.25.2) + '@types/ember__engine': 4.0.11(@babel/core@7.25.2) '@types/ember__object': 4.0.12(@babel/core@7.25.2) '@types/ember__owner': 4.0.9 '@types/ember__routing': 4.0.22(@babel/core@7.25.2) @@ -9064,20 +8878,26 @@ snapshots: '@types/ember__engine': 3.16.9 '@types/ember__object': 3.12.13 - '@types/ember__debug@4.0.8': + '@types/ember__debug@4.0.8(@babel/core@7.25.2)': dependencies: '@types/ember__object': 4.0.12(@babel/core@7.25.2) '@types/ember__owner': 4.0.9 + transitivePeerDependencies: + - '@babel/core' + - supports-color optional: true '@types/ember__engine@3.16.9': dependencies: '@types/ember__object': 3.12.13 - '@types/ember__engine@4.0.11': + '@types/ember__engine@4.0.11(@babel/core@7.25.2)': dependencies: '@types/ember__object': 4.0.12(@babel/core@7.25.2) '@types/ember__owner': 4.0.9 + transitivePeerDependencies: + - '@babel/core' + - supports-color optional: true '@types/ember__error@3.16.6': {} @@ -9145,11 +8965,6 @@ snapshots: '@types/ember__runloop@3.16.10': {} - '@types/ember__runloop@4.0.10': - dependencies: - '@types/ember': 4.0.11 - optional: true - '@types/ember__runloop@4.0.10(@babel/core@7.25.2)': dependencies: '@types/ember': 4.0.11(@babel/core@7.25.2) @@ -9198,11 +9013,6 @@ snapshots: '@types/ember__utils@3.16.8': {} - '@types/ember__utils@4.0.7': - dependencies: - '@types/ember': 4.0.11 - optional: true - '@types/ember__utils@4.0.7(@babel/core@7.25.2)': dependencies: '@types/ember': 4.0.11(@babel/core@7.25.2) @@ -9448,8 +9258,6 @@ snapshots: path-browserify: 1.0.1 vscode-uri: 3.0.8 - '@warp-drive-types/core-types@0.0.0-alpha.84': {} - '@warp-drive/build-config@0.0.0-alpha.35(@glint/template@1.4.1-unstable.01b8deb)': dependencies: '@embroider/addon-shim': 1.8.9 @@ -9483,6 +9291,32 @@ snapshots: - '@glint/template' - supports-color + '@warp-drive/experiments@0.0.1-alpha.98(db2n26fdpfyfxzg2b6un4r2eti)': + dependencies: + '@ember-data/request': 5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) + '@ember-data/request-utils': 5.4.0-alpha.98(@ember/string@3.1.1)(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) + '@ember-data/store': 5.4.0-alpha.98(@ember-data/request-utils@5.4.0-alpha.98(@ember/string@3.1.1)(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/request@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/tracking@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb))(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0)))(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) + '@embroider/macros': 1.16.5(@glint/template@1.4.1-unstable.01b8deb) + '@warp-drive/build-config': 0.0.0-alpha.35(@glint/template@1.4.1-unstable.01b8deb) + '@warp-drive/core-types': 0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb) + transitivePeerDependencies: + - '@glint/template' + - supports-color + + '@warp-drive/schema-record@0.0.0-alpha.84(6feayrdfw5zmjt3ehyvdmzdpuq)': + dependencies: + '@ember-data/request': 5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) + '@ember-data/store': 5.4.0-alpha.98(@ember-data/request-utils@5.4.0-alpha.98(@ember/string@3.1.1)(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/request@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/tracking@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb))(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0)))(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) + '@ember-data/tracking': 5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb))(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0)) + '@embroider/macros': 1.16.5(@glint/template@1.4.1-unstable.01b8deb) + '@warp-drive/build-config': 0.0.0-alpha.35(@glint/template@1.4.1-unstable.01b8deb) + '@warp-drive/core-types': 0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb) + optionalDependencies: + '@ember-data/model': 5.4.0-alpha.98(xuhmnfoprrnsamlavkrjqyqmve) + transitivePeerDependencies: + - '@glint/template' + - supports-color + '@webassemblyjs/ast@1.12.1': dependencies: '@webassemblyjs/helper-numbers': 1.11.6 @@ -10981,6 +10815,7 @@ snapshots: ember-cli-test-info@1.0.0: dependencies: ember-cli-string-utils: 1.1.0 + optional: true ember-cli-test-loader@3.1.0: dependencies: @@ -11220,36 +11055,6 @@ snapshots: - '@babel/core' - supports-color - ember-data-types@5.4.0-alpha.98: {} - - ember-data@5.4.0-alpha.98(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.2)(@glint/template@1.4.1-unstable.01b8deb)(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0))(webpack@5.93.0))(@ember/test-waiters@3.1.0)(@glint/template@1.4.1-unstable.01b8deb)(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0))(qunit@2.21.1): - dependencies: - '@ember-data/adapter': 5.4.0-alpha.98(ilrb7rbaqv7qxlbl2kyivxba54) - '@ember-data/debug': 5.4.0-alpha.98(4ze2lg2ytx5ywfb2u4e3bddhni) - '@ember-data/graph': 5.4.0-alpha.98(@ember-data/store@5.4.0-alpha.98(@ember-data/request-utils@5.4.0-alpha.98(@ember/string@3.1.1)(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/request@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/tracking@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb))(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0)))(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) - '@ember-data/json-api': 5.4.0-alpha.98(mxywmd626fbpw3egoak7w6c3ga) - '@ember-data/legacy-compat': 5.4.0-alpha.98(tl3pfg4snmfjlztfjfqmppxkni) - '@ember-data/model': 5.4.0-alpha.98(xuhmnfoprrnsamlavkrjqyqmve) - '@ember-data/request': 5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) - '@ember-data/request-utils': 5.4.0-alpha.98(@ember/string@3.1.1)(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) - '@ember-data/serializer': 5.4.0-alpha.98(ilrb7rbaqv7qxlbl2kyivxba54) - '@ember-data/store': 5.4.0-alpha.98(@ember-data/request-utils@5.4.0-alpha.98(@ember/string@3.1.1)(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/request@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)))(@ember-data/tracking@5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb))(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0)))(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb)) - '@ember-data/tracking': 5.4.0-alpha.98(@glint/template@1.4.1-unstable.01b8deb)(@warp-drive/core-types@0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb))(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0)) - '@ember/edition-utils': 1.2.0 - '@embroider/macros': 1.16.5(@glint/template@1.4.1-unstable.01b8deb) - '@warp-drive/build-config': 0.0.0-alpha.35(@glint/template@1.4.1-unstable.01b8deb) - '@warp-drive/core-types': 0.0.0-alpha.84(@glint/template@1.4.1-unstable.01b8deb) - optionalDependencies: - '@ember/test-helpers': 3.3.1(@babel/core@7.25.2)(@glint/template@1.4.1-unstable.01b8deb)(ember-source@5.10.2(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glint/template@1.4.1-unstable.01b8deb)(rsvp@4.8.5)(webpack@5.93.0))(webpack@5.93.0) - '@ember/test-waiters': 3.1.0 - qunit: 2.21.1 - transitivePeerDependencies: - - '@ember/string' - - '@glint/template' - - ember-inflector - - ember-source - - supports-color - ember-destroyable-polyfill@2.0.3(@babel/core@7.25.2): dependencies: ember-cli-babel: 7.26.11 @@ -12647,7 +12452,8 @@ snapshots: inflection@2.0.1: {} - inflection@3.0.0: {} + inflection@3.0.0: + optional: true inflight@1.0.6: dependencies: diff --git a/tests/unit/models/pokemon-test.js b/tests/unit/models/pokemon-test.js deleted file mode 100644 index b709e1a..0000000 --- a/tests/unit/models/pokemon-test.js +++ /dev/null @@ -1,12 +0,0 @@ -import { setupTest } from 'ember-polaris-pokedex/tests/helpers'; -import { module, test } from 'qunit'; - -module('Unit | Model | pokemon', function (hooks) { - setupTest(hooks); - - test('it exists', function (assert) { - const store = this.owner.lookup('service:store'); - const model = store.createRecord('pokemon', {}); - assert.ok(model, 'model exists'); - }); -}); diff --git a/tsconfig.json b/tsconfig.json index 17e917a..9127172 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,20 +17,16 @@ ] }, "types": [ - "./node_modules/@ember-data-types/adapter/unstable-preview-types", - "./node_modules/@ember-data-types/graph/unstable-preview-types", - "./node_modules/@ember-data-types/json-api/unstable-preview-types", - "./node_modules/@ember-data-types/rest/unstable-preview-types", - "./node_modules/@ember-data-types/legacy-compat/unstable-preview-types", - "./node_modules/@ember-data-types/model/unstable-preview-types", - "./node_modules/@ember-data-types/request-utils/unstable-preview-types", - "./node_modules/@ember-data-types/request/unstable-preview-types", - "./node_modules/@ember-data-types/serializer/unstable-preview-types", - "./node_modules/@ember-data-types/store/unstable-preview-types", - "./node_modules/@ember-data-types/tracking/unstable-preview-types", - "./node_modules/@warp-drive-types/core-types/unstable-preview-types", + "./node_modules/@ember-data/graph/unstable-preview-types", + "./node_modules/@ember-data/json-api/unstable-preview-types", + "./node_modules/@ember-data/rest/unstable-preview-types", + "./node_modules/@ember-data/request-utils/unstable-preview-types", + "./node_modules/@ember-data/request/unstable-preview-types", + "./node_modules/@ember-data/store/unstable-preview-types", + "./node_modules/@ember-data/tracking/unstable-preview-types", + "./node_modules/@warp-drive/core-types/unstable-preview-types", + "./node_modules/@warp-drive/schema-record/unstable-preview-types", "./node_modules/@warp-drive/ember/unstable-preview-types", - "./node_modules/ember-data-types/unstable-preview-types", "./node_modules/@types/dom-view-transitions", "ember-source/types", "vite/client" From 251b9ce542cdbf7f50098f7b46f994b9ea46d5dc Mon Sep 17 00:00:00 2001 From: Chris Thoburn Date: Thu, 22 Aug 2024 14:32:20 -0700 Subject: [PATCH 02/26] cleanup types --- app/components/pokemon-details.gts | 4 ++-- app/components/pokemon-evolution-nav.gts | 6 +++--- app/components/pokemon-grid-item.gts | 6 +++--- app/components/pokemon-type-badge.gts | 2 +- app/routes/application.ts | 4 ++-- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/components/pokemon-details.gts b/app/components/pokemon-details.gts index 806e8a1..825f93e 100644 --- a/app/components/pokemon-details.gts +++ b/app/components/pokemon-details.gts @@ -1,10 +1,10 @@ import Component from '@glimmer/component'; -import type PokemonModel from 'ember-polaris-pokedex/models/pokemon'; +import type { Pokemon } from 'ember-polaris-pokedex/schemas/pokemon'; import PokemonTypeBadge from 'ember-polaris-pokedex/components/pokemon-type-badge'; import PokemonEvolutionNav from 'ember-polaris-pokedex/components/pokemon-evolution-nav'; export default class PokemonDetails extends Component<{ - Args: { pokemon: PokemonModel; allPokemon: PokemonModel[] }; + Args: { pokemon: Pokemon; allPokemon: Pokemon[] }; }> {