diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2e27cc2f80..02c3f95356 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -46,7 +46,11 @@ jobs: run: pnpm lint:hbs - name: Lint (js) run: pnpm lint:js - - name: Run test + - name: build + run: EMBER_ENV=test pnpm ember build --environment test + - name: test ember debug + run: pnpm ember-debug:test + - name: Run test inspector ui run: pnpm test env: COVERAGE: 'true' @@ -107,14 +111,12 @@ jobs: - name: Set NO_EXTEND_PROTOTYPES if: matrix.scenario == 'ember-default-no-prototype-extensions' run: echo "NO_EXTEND_PROTOTYPES==true" >> .GITHUB_ENV - - name: Setup ember-try scenario - run: pnpm ember try:one ${{ matrix.scenario }} --skip-cleanup --- cat package.json - - name: Build + - name: Build Inspector run: pnpm ember build --environment test + - name: Setup ember-try scenario + run: pnpm ember-debug:try:one ${{ matrix.scenario }} --skip-cleanup --- cat package.json - name: Run test - # Due to a bug in ember-cli, running `ember test` with `--path` doesn't set `EMBER_ENV=test` - # See https://github.com/ember-cli/ember-cli/issues/8922 - run: EMBER_ENV=test pnpm ember test --path dist --filter="Ember Debug" + run: pnpm ember-debug:try:one ${{ matrix.scenario }} --skip-cleanup build: name: Build extensions diff --git a/.gitignore b/.gitignore index 741b8e7b8d..45f2e23712 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,8 @@ # dependencies /node_modules/ +/test-apps/*/dist +/test-apps/*/node_modules # misc /.env* diff --git a/ember_debug/libs/render-tree.js b/ember_debug/libs/render-tree.js index 39af76329c..2188b90c98 100644 --- a/ember_debug/libs/render-tree.js +++ b/ember_debug/libs/render-tree.js @@ -605,8 +605,9 @@ export default class RenderTree { // EmberWormhole component from ember-wormhole was used to provide // rendering into a given DOM element prior to built-in in-element. if ( - node.template === - 'ember-wormhole/templates/components/ember-wormhole.hbs' + node.template + ?.replace(/\\/g, '/') + .includes('ember-wormhole/templates/components/ember-wormhole.hbs') ) { this.inElementSupport?.remoteRoots.push(node); const bounds = node.bounds; diff --git a/ember_debug/object-inspector.js b/ember_debug/object-inspector.js index 777f9d5f4b..d60251df7a 100644 --- a/ember_debug/object-inspector.js +++ b/ember_debug/object-inspector.js @@ -39,33 +39,37 @@ if (GlimmerValidator) { track = GlimmerValidator.track; // patch tagFor to add debug info, older versions already have _propertyKey - const tagFor = GlimmerValidator.tagFor; - GlimmerValidator.tagFor = function (...args) { - const tag = tagFor.call(this, ...args); - const [obj, key] = args; - if ( - (!tag._propertyKey || !tag._object) && - typeof obj === 'object' && - typeof key === 'string' - ) { - tag._propertyKey = key; - tag._object = obj; - } - return tag; - }; - const trackedData = GlimmerValidator.trackedData; - GlimmerValidator.trackedData = function (...args) { - const r = trackedData.call(this, ...args); - if (r.getter && args.length === 2) { - const [key] = args; - const getter = r.getter; - r.getter = function (self) { - GlimmerValidator.tagFor(self, key); - return getter.call(this, self); - }; - } - return r; - }; + try { + const tagFor = GlimmerValidator.tagFor; + GlimmerValidator.tagFor = function (...args) { + const tag = tagFor.call(this, ...args); + const [obj, key] = args; + if ( + (!tag._propertyKey || !tag._object) && + typeof obj === 'object' && + typeof key === 'string' + ) { + tag._propertyKey = key; + tag._object = obj; + } + return tag; + }; + const trackedData = GlimmerValidator.trackedData; + GlimmerValidator.trackedData = function (...args) { + const r = trackedData.call(this, ...args); + if (r.getter && args.length === 2) { + const [key] = args; + const getter = r.getter; + r.getter = function (self) { + GlimmerValidator.tagFor(self, key); + return getter.call(this, self); + }; + } + return r; + }; + } catch { + // cannot patch + } } else if (GlimmerReference) { tagValue = GlimmerReference.value; tagValidate = GlimmerReference.validate; diff --git a/ember_debug/rollup.config.js b/ember_debug/rollup.config.js index 472c1363fb..6962cc0fe6 100644 --- a/ember_debug/rollup.config.js +++ b/ember_debug/rollup.config.js @@ -10,6 +10,7 @@ export default { 'utils/version.js', 'port.js', 'utils/ember.js', + 'utils/type-check', 'models/profile-node.js', 'libs/promise-assembler.js', ], diff --git a/ember_debug/utils/version.js b/ember_debug/utils/version.js index d07b125267..12a6030d37 100644 --- a/ember_debug/utils/version.js +++ b/ember_debug/utils/version.js @@ -34,6 +34,8 @@ export function isInVersionSpecifier(specifier, version) { let operator = specifier[0]; if (Number.isNaN(+operator)) { specifier = specifier.slice(1); + } else { + return specifier === version; } specifier = cleanupVersion(specifier).split('.'); version2 = cleanupVersion(version).split('.'); diff --git a/eslint.config.mjs b/eslint.config.mjs index 5aed6b609e..05f34638a2 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -62,6 +62,10 @@ export default ts.config( 'dist/', 'ember_debug/dist/', 'node_modules/', + 'test-apps/*/node_modules/', + 'test-apps/*/dist/', + 'test-apps/*/public/', + 'test-apps/tests/helpers/index.ts', 'coverage/', '!**/.*', 'vendor/', @@ -93,6 +97,7 @@ export default ts.config( ...globals.browser, basicContext: false, requireModule: false, + chrome: true, }, }, }, @@ -113,10 +118,21 @@ export default ts.config( }, }, { - files: ['tests/**/*-test.{js,gjs,ts,gts}'], + files: [ + 'tests/**/*-test.{js,gjs,ts,gts}', + 'test-apps/*/tests/**/*-test.{js,gjs,ts,gts}', + ], plugins: { qunit, }, + languageOptions: { + globals: { + ...globals.browser, + basicContext: false, + requireModule: false, + chrome: true, + }, + }, }, /** * CJS node files @@ -125,15 +141,18 @@ export default ts.config( files: [ '**/*.cjs', 'config/**/*.js', + 'test-apps/*/config/**/*.js', 'lib/*/index.js', 'scripts/**/*.js', 'testem.js', + 'test-apps/*/testem.js', 'testem*.js', '.prettierrc.js', '.stylelintrc.js', '.template-lintrc.js', 'babel.config.js', 'ember-cli-build.js', + 'test-apps/*/ember-cli-build.js', 'gulpfile.js', ], plugins: { diff --git a/package.json b/package.json index 26c6c38726..8fcda3df43 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,9 @@ "watch-test:inspector-ui": "ember test --serv", "watch": "pnpm '/watch:/'", "watch:inspector-ui": "ember build --watch", - "watch:ember-debug": "pnpm --filter ember-debug watch" + "watch:ember-debug": "pnpm --filter ember-debug watch", + "ember-debug:try:one": "pnpm run --sequential --filter '*' ember:try:one", + "ember-debug:test": "pnpm run --sequential --filter '*' ember-debug-test" }, "dependencies": { "got": "^11.8.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d0dffd580f..789dc81b10 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,7 +20,7 @@ importers: devDependencies: '@babel/core': specifier: ^7.26.0 - version: 7.26.0 + version: 7.26.0(supports-color@8.1.1) '@babel/eslint-parser': specifier: ^7.25.9 version: 7.26.5(@babel/core@7.26.0)(eslint@9.18.0) @@ -356,10 +356,10 @@ importers: version: 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-class-properties': specifier: ^7.25.9 - version: 7.27.1(@babel/core@7.26.0) + version: 7.27.1(@babel/core@7.26.0)(supports-color@8.1.1) '@babel/plugin-transform-class-static-block': specifier: ^7.26.0 - version: 7.27.1(@babel/core@7.26.0) + version: 7.27.1(@babel/core@7.26.0)(supports-color@8.1.1) '@rollup/plugin-babel': specifier: ^6.0.4 version: 6.0.4(@babel/core@7.26.0)(rollup@4.41.1) @@ -382,12 +382,447 @@ importers: specifier: ^1.2.1 version: 1.2.1 + test-apps/classic: + devDependencies: + '@babel/core': + specifier: ^7.26.0 + version: 7.26.0(supports-color@8.1.1) + '@babel/eslint-parser': + specifier: ^7.25.9 + version: 7.26.5(@babel/core@7.26.0)(eslint@9.18.0) + '@babel/plugin-proposal-decorators': + specifier: ^7.25.9 + version: 7.25.9(@babel/core@7.26.0) + '@ember/optional-features': + specifier: ^2.2.0 + version: 2.2.0 + '@ember/render-modifiers': + specifier: ^3.0.0 + version: 3.0.0(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + '@ember/string': + specifier: ^4.0.0 + version: 4.0.0 + '@ember/test-helpers': + specifier: ^4.0.4 + version: 4.0.4(@babel/core@7.26.0)(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + '@eslint/js': + specifier: ^9.17.0 + version: 9.18.0 + '@glimmer/component': + specifier: ^1.1.2 + version: 1.1.2(@babel/core@7.26.0) + '@glimmer/tracking': + specifier: ^1.1.2 + version: 1.1.2 + broccoli-asset-rev: + specifier: ^3.0.0 + version: 3.0.0 + concurrently: + specifier: ^9.1.0 + version: 9.1.2 + ember-auto-import: + specifier: ^2.10.0 + version: 2.10.0(@glint/template@1.5.1)(webpack@5.97.1) + ember-cli: + specifier: ~6.1.0 + version: 6.1.0(handlebars@4.7.8)(underscore@1.13.7) + ember-cli-babel: + specifier: ^8.2.0 + version: 8.2.0(@babel/core@7.26.0) + ember-cli-clean-css: + specifier: ^3.0.0 + version: 3.0.0 + ember-cli-dependency-checker: + specifier: ^3.3.3 + version: 3.3.3(ember-cli@6.1.0(handlebars@4.7.8)(underscore@1.13.7)) + ember-cli-htmlbars: + specifier: ^6.3.0 + version: 6.3.0 + ember-cli-inject-live-reload: + specifier: ^2.1.0 + version: 2.1.0 + ember-cli-sri: + specifier: ^2.1.1 + version: 2.1.1 + ember-cli-terser: + specifier: ^4.0.2 + version: 4.0.2 + ember-fetch: + specifier: ^8.1.2 + version: 8.1.2(encoding@0.1.13) + ember-in-element-polyfill: + specifier: ^1.0.1 + version: 1.0.1 + ember-load-initializers: + specifier: ^3.0.1 + version: 3.0.1(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + ember-modifier: + specifier: ^4.2.0 + version: 4.2.0(@babel/core@7.26.0)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + ember-page-title: + specifier: ^8.2.3 + version: 8.2.4(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + ember-qunit: + specifier: ^8.1.1 + version: 8.1.1(@ember/test-helpers@4.0.4(@babel/core@7.26.0)(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)))(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))(qunit@2.24.1) + ember-resolver: + specifier: ^13.1.0 + version: 13.1.0(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + ember-sinon-qunit: + specifier: ^7.5.0 + version: 7.5.0(@babel/core@7.26.0)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))(qunit@2.24.1)(sinon@15.2.0) + ember-source: + specifier: ^5.0.0 + version: 5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1) + ember-template-lint: + specifier: ^6.0.0 + version: 6.0.0 + ember-try: + specifier: ^3.0.0 + version: 3.0.0(encoding@0.1.13) + ember-welcome-page: + specifier: ^7.0.2 + version: 7.0.2 + ember-wormhole: + specifier: ^0.6.0 + version: 0.6.0 + loader.js: + specifier: ^4.7.0 + version: 4.7.0 + qunit: + specifier: ^2.24.1 + version: 2.24.1 + qunit-dom: + specifier: ^3.4.0 + version: 3.4.0 + tracked-built-ins: + specifier: ^3.4.0 + version: 3.4.0(@babel/core@7.26.0) + webpack: + specifier: ^5.97.1 + version: 5.97.1 + + test-apps/embroider-static-source: + devDependencies: + '@babel/core': + specifier: ^7.26.0 + version: 7.26.0(supports-color@8.1.1) + '@babel/eslint-parser': + specifier: ^7.25.9 + version: 7.26.5(@babel/core@7.26.0)(eslint@9.18.0) + '@babel/plugin-proposal-decorators': + specifier: ^7.25.9 + version: 7.25.9(@babel/core@7.26.0) + '@ember/optional-features': + specifier: ^2.2.0 + version: 2.2.0 + '@ember/render-modifiers': + specifier: ^3.0.0 + version: 3.0.0(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + '@ember/string': + specifier: ^4.0.0 + version: 4.0.0 + '@ember/test-helpers': + specifier: ^4.0.4 + version: 4.0.4(@babel/core@7.26.0)(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + '@embroider/compat': + specifier: ^3.9.1 + version: 3.9.1(@embroider/core@3.5.7(@glint/template@1.5.1))(@glint/template@1.5.1) + '@embroider/core': + specifier: ^3.5.7 + version: 3.5.7(@glint/template@1.5.1) + '@embroider/webpack': + specifier: ^4.1.0 + version: 4.1.1(@embroider/core@3.5.7(@glint/template@1.5.1))(webpack@5.97.1) + '@eslint/js': + specifier: ^9.17.0 + version: 9.18.0 + '@glimmer/component': + specifier: ^1.1.2 + version: 1.1.2(@babel/core@7.26.0) + '@glimmer/tracking': + specifier: ^1.1.2 + version: 1.1.2 + broccoli-asset-rev: + specifier: ^3.0.0 + version: 3.0.0 + concurrently: + specifier: ^9.1.0 + version: 9.1.2 + ember-auto-import: + specifier: ^2.10.0 + version: 2.10.0(@glint/template@1.5.1)(webpack@5.97.1) + ember-cli: + specifier: ~6.1.0 + version: 6.1.0(handlebars@4.7.8)(underscore@1.13.7) + ember-cli-babel: + specifier: ^8.2.0 + version: 8.2.0(@babel/core@7.26.0) + ember-cli-clean-css: + specifier: ^3.0.0 + version: 3.0.0 + ember-cli-dependency-checker: + specifier: ^3.3.3 + version: 3.3.3(ember-cli@6.1.0(handlebars@4.7.8)(underscore@1.13.7)) + ember-cli-htmlbars: + specifier: ^6.3.0 + version: 6.3.0 + ember-cli-inject-live-reload: + specifier: ^2.1.0 + version: 2.1.0 + ember-cli-sri: + specifier: ^2.1.1 + version: 2.1.1 + ember-cli-terser: + specifier: ^4.0.2 + version: 4.0.2 + ember-fetch: + specifier: ^8.1.2 + version: 8.1.2(encoding@0.1.13) + ember-in-element-polyfill: + specifier: ^1.0.1 + version: 1.0.1 + ember-load-initializers: + specifier: ^3.0.1 + version: 3.0.1(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + ember-modifier: + specifier: ^4.2.0 + version: 4.2.0(@babel/core@7.26.0)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + ember-page-title: + specifier: ^8.2.3 + version: 8.2.4(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + ember-qunit: + specifier: ^8.1.1 + version: 8.1.1(@ember/test-helpers@4.0.4(@babel/core@7.26.0)(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)))(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))(qunit@2.24.1) + ember-resolver: + specifier: ^13.1.0 + version: 13.1.0(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + ember-sinon-qunit: + specifier: ^7.5.0 + version: 7.5.0(@babel/core@7.26.0)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))(qunit@2.24.1)(sinon@15.2.0) + ember-source: + specifier: ^5.0.0 + version: 5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1) + ember-template-lint: + specifier: ^6.0.0 + version: 6.0.0 + ember-try: + specifier: ^4.0.0 + version: 4.0.0(encoding@0.1.13) + ember-welcome-page: + specifier: ^7.0.2 + version: 7.0.2 + ember-wormhole: + specifier: ^0.6.0 + version: 0.6.0 + loader.js: + specifier: ^4.7.0 + version: 4.7.0 + qunit: + specifier: ^2.24.1 + version: 2.24.1 + qunit-dom: + specifier: ^3.4.0 + version: 3.4.0 + tracked-built-ins: + specifier: ^3.4.0 + version: 3.4.0(@babel/core@7.26.0) + webpack: + specifier: ^5.97.1 + version: 5.97.1 + + test-apps/vite-app: + devDependencies: + '@babel/core': + specifier: ^7.22.20 + version: 7.26.0(supports-color@8.1.1) + '@babel/eslint-parser': + specifier: ^7.21.3 + version: 7.26.5(@babel/core@7.26.0)(eslint@9.18.0) + '@babel/plugin-proposal-decorators': + specifier: ^7.21.0 + version: 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-runtime': + specifier: ^7.25.4 + version: 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-typescript': + specifier: ^7.21.3 + version: 7.25.7(@babel/core@7.26.0) + '@babel/runtime': + specifier: ^7.25.6 + version: 7.25.7 + '@ember/optional-features': + specifier: ^2.0.0 + version: 2.2.0 + '@ember/render-modifiers': + specifier: ^3.0.0 + version: 3.0.0(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + '@ember/string': + specifier: ^3.1.1 + version: 3.1.1 + '@ember/test-helpers': + specifier: ^4.0.4 + version: 4.0.4(@babel/core@7.26.0)(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + '@embroider/compat': + specifier: ^4.1.0 + version: 4.1.0(@embroider/core@4.1.1(@glint/template@1.5.1))(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1) + '@embroider/config-meta-loader': + specifier: ^1.0.0 + version: 1.0.0 + '@embroider/core': + specifier: ^4.1.1 + version: 4.1.1(@glint/template@1.5.1) + '@embroider/router': + specifier: ^3.0.1 + version: 3.0.1(@embroider/core@4.1.1(@glint/template@1.5.1)) + '@embroider/test-setup': + specifier: ^4.0.0 + version: 4.0.0(@embroider/compat@4.1.0(@embroider/core@4.1.1(@glint/template@1.5.1))(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))(@embroider/core@4.1.1(@glint/template@1.5.1))(@embroider/webpack@4.1.1(@embroider/core@4.1.1(@glint/template@1.5.1))(webpack@5.97.1)) + '@embroider/vite': + specifier: ^1.1.5 + version: 1.1.5(@embroider/core@4.1.1(@glint/template@1.5.1))(@glint/template@1.5.1)(rollup@4.41.1)(vite@6.3.5(@types/node@22.7.5)(sass@1.79.4)(terser@5.34.1)) + '@glimmer/component': + specifier: ^1.1.2 + version: 1.1.2(@babel/core@7.26.0) + '@glimmer/tracking': + specifier: ^1.1.2 + version: 1.1.2 + '@glint/environment-ember-loose': + specifier: ^1.1.0 + version: 1.5.1(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.0(@babel/core@7.26.0)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))) + '@glint/template': + specifier: ^1.1.0 + version: 1.5.1 + '@rollup/plugin-babel': + specifier: ^5.3.1 + version: 5.3.1(@babel/core@7.26.0)(rollup@4.41.1) + '@tsconfig/ember': + specifier: ^1.0.0 + version: 1.1.0 + '@types/htmlbars-inline-precompile': + specifier: ^3.0.0 + version: 3.0.3 + '@types/qunit': + specifier: 2.19.10 + version: 2.19.10 + '@types/rsvp': + specifier: ^4.0.4 + version: 4.0.9 + babel-plugin-ember-template-compilation: + specifier: ^3.0.0 + version: 3.0.0 + broccoli-asset-rev: + specifier: ^3.0.0 + version: 3.0.0 + concurrently: + specifier: ^8.2.1 + version: 8.2.2 + decorator-transforms: + specifier: ^2.0.0 + version: 2.2.2(@babel/core@7.26.0) + ember-auto-import: + specifier: ^2.6.3 + version: 2.10.0(@glint/template@1.5.1)(webpack@5.97.1) + ember-cli: + specifier: ~5.3.0 + version: 5.3.0(handlebars@4.7.8)(underscore@1.13.7) + ember-cli-app-version: + specifier: ^6.0.1 + version: 6.0.1(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + ember-cli-babel: + specifier: ^8.0.0 + version: 8.2.0(@babel/core@7.26.0) + ember-cli-clean-css: + specifier: ^3.0.0 + version: 3.0.0 + ember-cli-dependency-checker: + specifier: ^3.3.2 + version: 3.3.3(ember-cli@5.3.0(handlebars@4.7.8)(underscore@1.13.7)) + ember-cli-htmlbars: + specifier: ^6.3.0 + version: 6.3.0 + ember-cli-inject-live-reload: + specifier: ^2.1.0 + version: 2.1.0 + ember-cli-sri: + specifier: ^2.1.1 + version: 2.1.1 + ember-cli-terser: + specifier: ^4.0.2 + version: 4.0.2 + ember-load-initializers: + specifier: ^3.0.0 + version: 3.0.1(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + ember-modifier: + specifier: ^4.1.0 + version: 4.2.0(@babel/core@7.26.0)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + ember-page-title: + specifier: ^8.0.0 + version: 8.2.4(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + ember-qunit: + specifier: ^8.1.1 + version: 8.1.1(@ember/test-helpers@4.0.4(@babel/core@7.26.0)(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)))(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))(qunit@2.24.1) + ember-resolver: + specifier: ^13.1.0 + version: 13.1.0(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + ember-source: + specifier: ~5.12.0 + version: 5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1) + ember-try: + specifier: ^4.0.0 + version: 4.0.0(encoding@0.1.13) + eslint-plugin-n: + specifier: ^16.1.0 + version: 16.6.2(eslint@9.18.0) + loader.js: + specifier: ^4.7.0 + version: 4.7.0 + prettier: + specifier: ^3.0.3 + version: 3.4.2 + qunit: + specifier: ^2.19.4 + version: 2.24.1 + qunit-dom: + specifier: ^2.0.0 + version: 2.0.0 + send: + specifier: ^1.2.0 + version: 1.2.0 + stylelint: + specifier: ^15.10.3 + version: 15.11.0(typescript@5.7.3) + stylelint-config-standard: + specifier: ^34.0.0 + version: 34.0.0(stylelint@15.11.0(typescript@5.7.3)) + stylelint-prettier: + specifier: ^4.0.2 + version: 4.1.0(prettier@3.4.2)(stylelint@15.11.0(typescript@5.7.3)) + terser: + specifier: ^5.7.0 + version: 5.34.1 + tracked-built-ins: + specifier: ^3.2.0 + version: 3.4.0(@babel/core@7.26.0) + typescript: + specifier: ^5.4.5 + version: 5.7.3 + vite: + specifier: ^6.0.0 + version: 6.3.5(@types/node@22.7.5)(sass@1.79.4)(terser@5.34.1) + webpack: + specifier: ^5.88.2 + version: 5.97.1 + packages: '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + '@asamuzakjp/css-color@3.2.0': + resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==} + '@babel/code-frame@7.26.2': resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} @@ -536,10 +971,6 @@ packages: resolution: {integrity: sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==} engines: {node: '>=6.9.0'} - '@babel/helper-skip-transparent-expression-wrappers@7.25.7': - resolution: {integrity: sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==} - engines: {node: '>=6.9.0'} - '@babel/helper-skip-transparent-expression-wrappers@7.25.9': resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} engines: {node: '>=6.9.0'} @@ -713,6 +1144,11 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-dynamic-import@7.8.3': + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-import-assertions@7.25.7': resolution: {integrity: sha512-ZvZQRmME0zfJnDQnVBKYzHxXT7lYBB3Revz1GuS7oLXWMgqUPX4G+DDbT30ICClht9WKV34QVrZhSw6WdklwZQ==} engines: {node: '>=6.9.0'} @@ -1142,16 +1578,51 @@ packages: resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} + '@csstools/color-helpers@5.0.2': + resolution: {integrity: sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==} + engines: {node: '>=18'} + + '@csstools/css-calc@2.1.4': + resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-color-parser@3.0.10': + resolution: {integrity: sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-parser-algorithms@2.7.1': + resolution: {integrity: sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + '@csstools/css-tokenizer': ^2.4.1 + '@csstools/css-parser-algorithms@3.0.4': resolution: {integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==} engines: {node: '>=18'} peerDependencies: '@csstools/css-tokenizer': ^3.0.3 + '@csstools/css-tokenizer@2.4.1': + resolution: {integrity: sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==} + engines: {node: ^14 || ^16 || >=18} + '@csstools/css-tokenizer@3.0.3': resolution: {integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==} engines: {node: '>=18'} + '@csstools/media-query-list-parser@2.1.13': + resolution: {integrity: sha512-XaHr+16KRU9Gf8XLi3q8kDlI18d5vzKSKCY510Vrtc9iNR0NJzbY9hhTmwhzYZj/ZwGL4VmB3TA9hJW0Um2qFA==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + '@csstools/css-parser-algorithms': ^2.7.1 + '@csstools/css-tokenizer': ^2.4.1 + '@csstools/media-query-list-parser@4.0.2': resolution: {integrity: sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A==} engines: {node: '>=18'} @@ -1159,6 +1630,12 @@ packages: '@csstools/css-parser-algorithms': ^3.0.4 '@csstools/css-tokenizer': ^3.0.3 + '@csstools/selector-specificity@3.1.1': + resolution: {integrity: sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss-selector-parser: ^6.0.13 + '@csstools/selector-specificity@5.0.0': resolution: {integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==} engines: {node: '>=18'} @@ -1206,6 +1683,16 @@ packages: '@glint/template': optional: true + '@ember/render-modifiers@3.0.0': + resolution: {integrity: sha512-gJztS8dI7Jt8ohFQptEDJAgpl9DG84IpqwQoR1JDpVIBy2uLbf8KFD6S3h3LfyMsgJce6G38cOvyQv6BDgcnsA==} + engines: {node: '>= 18'} + peerDependencies: + '@glint/template': ^1.0.2 + ember-source: '>= 4.0.0' + peerDependenciesMeta: + '@glint/template': + optional: true + '@ember/string@3.1.1': resolution: {integrity: sha512-UbXJ+k3QOrYN4SRPHgXCqYIJ+yWWUg1+vr0H4DhdQPTy8LJfyqwZ2tc5uqpSSnEXE+/1KopHBE5J8GDagAg5cg==} engines: {node: 12.* || 14.* || >= 16} @@ -1222,10 +1709,52 @@ packages: resolution: {integrity: sha512-bb9h95ktG2wKY9+ja1sdsFBdOms2lB19VWs8wmNpzgHv1NCetonBoV5jHBV4DHt0uS1tg9z66cZqhUVlYs96KQ==} engines: {node: 10.* || 12.* || >= 14.*} + '@embroider/addon-shim@1.10.0': + resolution: {integrity: sha512-gcJuHiXgnrzaU8NyU+2bMbtS6PNOr5v5B8OXBqaBvTCsMpXLvKo8OBOQFCoUN0rPX2J6VaFqrbi/371sMvzZug==} + engines: {node: 12.* || 14.* || >= 16} + '@embroider/addon-shim@1.8.9': resolution: {integrity: sha512-qyN64T1jMHZ99ihlk7VFHCWHYZHLE1DOdHi0J7lmn5waV1DoW7gD8JLi1i7FregzXtKhbDc7shyEmTmWPTs8MQ==} engines: {node: 12.* || 14.* || >= 16} + '@embroider/babel-loader-9@3.1.2': + resolution: {integrity: sha512-x2K0QpG+S3h6a0gY8tWtiUFEQAMUk6NdWqtT+4eyoZ1YCYcWXVPhRx3FXS5FsHXk/lmrMd2hc7XPgYk6kYoKuQ==} + engines: {node: 12.* || 14.* || >= 16} + peerDependencies: + '@embroider/core': ^3.5.7 + + '@embroider/compat@3.9.1': + resolution: {integrity: sha512-bFG1XZWC388OV0/tlCmzwEYX7i+G4sQCyTGFIz657r1ouQiCaCu6vFDNsumfwYZw/ixqJSUowbbvSucPwWHi4g==} + engines: {node: 12.* || 14.* || >= 16} + hasBin: true + peerDependencies: + '@embroider/core': ^3.5.7 + + '@embroider/compat@4.1.0': + resolution: {integrity: sha512-7pqXS+uK/ovhVfFBqmPzeMfdbLI4f/LCOhjdghYJGBxb40IG49BuXgjBQr2cOofU0/ItbQISZd0Ksl0JU4Eu5w==} + engines: {node: 12.* || 14.* || >= 16} + peerDependencies: + '@embroider/core': ^4.1.0 + + '@embroider/config-meta-loader@1.0.0': + resolution: {integrity: sha512-qznkdjgEGPe6NM94hZNXvOm/WhrJwBh8FtSQZ+nGjh9TOjY42tOiTEevFuM0onNXUn6bpdGzmjwKo2xY2jxQxQ==} + engines: {node: 12.* || 14.* || >= 16} + + '@embroider/core@3.5.7': + resolution: {integrity: sha512-0oytko2+iaYS31TG9Axj7Py0e0FAccUhu9J1h7ldEnQegK+Eu5+OINU0dYQgt0ijp6f2yF4+o3J7u9CJCLZ1gw==} + engines: {node: 12.* || 14.* || >= 16} + + '@embroider/core@4.1.1': + resolution: {integrity: sha512-ds4Bf+ORxmcVjVQy6mUQHRHpioF79MdFJ5AyVK5wmz7Cn7omwYfsLSmM1kZZtQfcDgQqOI7Kf/Z4jKwBdFD2Vg==} + engines: {node: 12.* || 14.* || >= 16} + + '@embroider/hbs-loader@3.0.4': + resolution: {integrity: sha512-k7ZWqOzZGQHyCciaPs87K5/nlaFOtXbLaRhjrBpSZJafXxbu21tYQWDjsQG5sfNhmX+izjQeZ/7fcimpG08edg==} + engines: {node: 12.* || 14.* || >= 16} + peerDependencies: + '@embroider/core': ^3.5.7 + webpack: ^5 + '@embroider/macros@1.16.9': resolution: {integrity: sha512-AUrmHQdixczIU3ouv/+HzWxwYVsw/NwssZxAQnXfBDJ3d3/CRtAvGRu3JhY6OT3AAPFwfa2WT66tB5jeAa7r5g==} engines: {node: 12.* || 14.* || >= 16} @@ -1235,10 +1764,216 @@ packages: '@glint/template': optional: true + '@embroider/macros@1.18.0': + resolution: {integrity: sha512-KanP80XxNK4bmQ1HKTcUjy/cdCt9n7knPMLK1vzHdOFymACHo+GbhgUjXjYdOCuBTv+ZwcjL2P2XDmBcYS9r8g==} + engines: {node: 12.* || 14.* || >= 16} + peerDependencies: + '@glint/template': ^1.0.0 + peerDependenciesMeta: + '@glint/template': + optional: true + + '@embroider/reverse-exports@0.1.2': + resolution: {integrity: sha512-TgjQalfB42RnwdRVApjcvHSVjBe+7MJfCZV0Cs1jv2QgnFGr/6f5X19PKvmF4FU4xbBf7yOsIWrVvYvidWnXlw==} + + '@embroider/router@3.0.1': + resolution: {integrity: sha512-0+kzSvXNj8mLbbXbD9F+Y5MqtggPN/fEl71VtTa+j6bOP3lW/xvKQ1kje/H5EHF9MYsnlH8KitWDCsphbQz5Qw==} + peerDependencies: + '@embroider/core': ^2.0.0||^3.0.0||^4.0.0-alpha.0 + peerDependenciesMeta: + '@embroider/core': + optional: true + '@embroider/shared-internals@2.8.1': resolution: {integrity: sha512-zi0CENFD1e0DH7c9M/rNKJnFnt2c3+736J3lguBddZdmaIV6Cb8l3HQSkskSW5O4ady+SavemLKO3hCjQQJBIw==} engines: {node: 12.* || 14.* || >= 16} + '@embroider/shared-internals@2.9.1': + resolution: {integrity: sha512-8PJBsa37GD++SAfHf8rcJzlwDwuAQCBo0fr+eGxg9l8XhBXsTnE/7706dM4OqWew9XNqRXn39wfIGHZoBpjNMw==} + engines: {node: 12.* || 14.* || >= 16} + + '@embroider/shared-internals@3.0.0': + resolution: {integrity: sha512-5J5ipUMCAinQS38WW7wedruq5Z4VnHvNo+ZgOduw0PtI9w0CQWx7/HE+98PBDW8jclikeF+aHwF317vc1hwuzg==} + engines: {node: 12.* || 14.* || >= 16} + + '@embroider/test-setup@4.0.0': + resolution: {integrity: sha512-1S3Ebk0CEh3XDqD93AWSwQZBCk+oGv03gtkaGgdgyXGIR7jrVyDgEnEuslN/hJ0cuU8TqhiXrzHMw7bJwIGhWw==} + engines: {node: 12.* || 14.* || >= 16} + peerDependencies: + '@embroider/compat': ^3.4.8 + '@embroider/core': ^3.4.8 + '@embroider/webpack': ^4.0.0 + peerDependenciesMeta: + '@embroider/compat': + optional: true + '@embroider/core': + optional: true + '@embroider/webpack': + optional: true + + '@embroider/vite@1.1.5': + resolution: {integrity: sha512-PGN4FgPlmHw19Hj/VcAwuJa2fECZ4ZLreMcryWgNuplt+PEMpse2+r4TeCacuLFNwhSV4H4Gne0/izbmvg4i0A==} + peerDependencies: + '@embroider/core': ^4.1.0 + vite: '>= 5.2.0' + + '@embroider/webpack@4.1.1': + resolution: {integrity: sha512-L/Og9W9BhHo0RhRsxJjfDMIBZQvuAP9kcUw7ysG+yfblCmRpQarWu+3IyKEBpPt0B2BKfnJY1fW6WtyPKCov3Q==} + engines: {node: 12.* || 14.* || >= 16} + peerDependencies: + '@embroider/core': ^3.5.7 + webpack: ^5.0.0 + + '@esbuild/aix-ppc64@0.25.5': + resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.25.5': + resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.25.5': + resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.25.5': + resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.25.5': + resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.25.5': + resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.25.5': + resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.25.5': + resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.25.5': + resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.25.5': + resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.25.5': + resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.25.5': + resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.25.5': + resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.25.5': + resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.25.5': + resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.25.5': + resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.25.5': + resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.5': + resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.5': + resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.5': + resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.5': + resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.25.5': + resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.25.5': + resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.25.5': + resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.25.5': + resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1321,6 +2056,9 @@ packages: '@glimmer/interfaces@0.92.3': resolution: {integrity: sha512-QwQeA01N+0h+TAi/J7iUnZtRuJy+093hNyagxDQBA6b1wCBw+q+al9+O6gmbWlkWE7EifzmNE1nnrgcecJBlJQ==} + '@glimmer/interfaces@0.94.6': + resolution: {integrity: sha512-sp/1WePvB/8O+jrcUHwjboNPTKrdGicuHKA9T/lh0vkYK2qM5Xz4i25lQMQ38tEMiw7KixrjHiTUiaXRld+IwA==} + '@glimmer/manager@0.92.4': resolution: {integrity: sha512-YMoarZT/+Ft2YSd+Wuu5McVsdP9y6jeAdVQGYFpno3NlL3TXYbl7ELtK7OGxFLjzQE01BdiUZZRvcY+a/s9+CQ==} @@ -1351,6 +2089,9 @@ packages: '@glimmer/syntax@0.92.3': resolution: {integrity: sha512-7wPKQmULyXCYf0KvbPmfrs/skPISH2QGR9atCnmDWnHyLv5SSZVLm1P0Ctrpta6+Ci3uGQb7hGk0IjsLEavcYQ==} + '@glimmer/syntax@0.94.9': + resolution: {integrity: sha512-OBw8DqMzKO4LX4kJBhwfTUqtpbd7O9amQXNTfb1aS7pufio5Vu5Qi6mRTfdFj6RyJ//aSI/l0kxWt6beYW0Apg==} + '@glimmer/tracking@1.1.2': resolution: {integrity: sha512-cyV32zsHh+CnftuRX84ALZpd2rpbDrhLhJnTXn9W//QpqdRZ5rdMsxSY9fOsj0CKEc706tmEU299oNnDc0d7tA==} @@ -1363,6 +2104,9 @@ packages: '@glimmer/util@0.92.3': resolution: {integrity: sha512-K1oH93gGU36slycxJ9CcFpUTsdOc4XQ6RuZFu5oRsxFYtEF5PSu7ik11h58fyeoaWOr1ebfkyAMawbeI2AJ5GA==} + '@glimmer/util@0.94.8': + resolution: {integrity: sha512-HfCKeZ74clF9BsPDBOqK/yRNa/ke6niXFPM6zRn9OVYw+ZAidLs7V8He/xljUHlLRL322kaZZY8XxRW7ALEwyg==} + '@glimmer/validator@0.44.0': resolution: {integrity: sha512-i01plR0EgFVz69GDrEuFgq1NheIjZcyTy3c7q+w7d096ddPVeVcRzU3LKaqCfovvLJ+6lJx40j45ecycASUUyw==} @@ -1382,6 +2126,9 @@ packages: '@glimmer/wire-format@0.92.3': resolution: {integrity: sha512-gFz81Q9+V7Xs0X8mSq6y8qacHm0dPaGJo2/Bfcsdow1hLOKNgTCLr4XeDBhRML8f6I6Gk9ugH4QDxyIOXOpC4w==} + '@glimmer/wire-format@0.94.8': + resolution: {integrity: sha512-A+Cp5m6vZMAEu0Kg/YwU2dJZXyYxVJs2zI57d3CP6NctmX7FsT8WjViiRUmt5abVmMmRH5b8BUovqY6GSMAdrw==} + '@glint/environment-ember-loose@1.5.1': resolution: {integrity: sha512-cWZaRB5UwmgU6X5VYIkdTSjaLZROnsiHRXj1zjJH/q9FOF4+gtLAW8A/RDbp+pU0SgoJxSbC9IjlxMGsB/3lBA==} peerDependencies: @@ -1684,10 +2431,22 @@ packages: resolution: {integrity: sha512-dxIXcW1F1dxIGfye2JXE7Q8WVwYB0axVzdBOkvE1WKIVR4xjB8e6k/Dkjo7DpbyfW5Vu2k21p6dyM32YLSAWoQ==} engines: {node: '>=18.12'} + '@pnpm/constants@7.1.1': + resolution: {integrity: sha512-31pZqMtjwV+Vaq7MaPrT1EoDFSYwye3dp6BiHIGRJmVThCQwySRKM7hCvqqI94epNkqFAAYoWrNynWoRYosGdw==} + engines: {node: '>=16.14'} + + '@pnpm/error@5.0.3': + resolution: {integrity: sha512-ONJU5cUeoeJSy50qOYsMZQHTA/9QKmGgh1ATfEpCLgtbdwqUiwD9MxHNeXUYYI/pocBCz6r1ZCFqiQvO+8SUKA==} + engines: {node: '>=16.14'} + '@pnpm/error@6.0.3': resolution: {integrity: sha512-OIYhG7HQh4zUFh2s8/6bp7glVRjNxms7bpzXVOLV7pyRa+rSYFmqJ8zDsBC64k58nuaxS85Ip+SCDjFxsFGeOg==} engines: {node: '>=18.12'} + '@pnpm/find-workspace-dir@6.0.3': + resolution: {integrity: sha512-0iJnNkS4T8lJE4ldOhRERgER1o59iHA1nMlvpUI5lxNC9SUruH6peRUOlP4/rNcDg+UQ9u0rt5loYOnWKCojtw==} + engines: {node: '>=16.14'} + '@pnpm/find-workspace-dir@7.0.3': resolution: {integrity: sha512-eGjkyHSufkHyZ66WpygWnslcRePB0U1lJg1dF3rgWqTChpregYoDyNGDzK7l9Gk+CHVgGZZS5aWp7uKKVmAAEg==} engines: {node: '>=18.12'} @@ -1703,6 +2462,17 @@ packages: '@ro0gr/ceibo@2.2.0': resolution: {integrity: sha512-4gSXPwwr99zUWxnTllN5L4QlfgFDloYKOsenoPvx46LE75x3wvLgGUhxUxhIMxJbqOZ0w9pzrugjQR7St0/PQg==} + '@rollup/plugin-babel@5.3.1': + resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} + engines: {node: '>= 10.0.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@types/babel__core': ^7.1.9 + rollup: ^1.20.0||^2.0.0 + peerDependenciesMeta: + '@types/babel__core': + optional: true + '@rollup/plugin-babel@6.0.4': resolution: {integrity: sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==} engines: {node: '>=14.0.0'} @@ -1734,6 +2504,12 @@ packages: rollup: optional: true + '@rollup/pluginutils@3.1.0': + resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + '@rollup/pluginutils@5.1.4': resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} engines: {node: '>=14.0.0'} @@ -1906,12 +2682,18 @@ packages: resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} engines: {node: '>= 6'} + '@tsconfig/ember@1.1.0': + resolution: {integrity: sha512-VzIrPO7ZpnIEmU+dJe3ubEPhxUIyavwIh2vxg8rXrwSnB99hdVcq0ZFPQ4KRP0LrSNzaPI1QA2sATIPwnBYPQg==} + '@tsconfig/ember@3.0.8': resolution: {integrity: sha512-OVnIsZIt/8q0VEtcdz3rRryNrm6gdJTxXlxefkGIrkZnME0wqslmwHlUEZ7mvh377df9FqBhNKrYNarhCW8zJA==} '@types/acorn@4.0.6': resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + '@types/babel__code-frame@7.0.6': + resolution: {integrity: sha512-Anitqkl3+KrzcW2k77lRlg/GfLZLWXBuNgbEcIOU6M92yw42vsd3xV/Z/yAHEj8m+KUjL6bWOVOFqX8PFPJ4LA==} + '@types/body-parser@1.19.5': resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} @@ -1952,6 +2734,9 @@ packages: '@types/eslint__js@8.42.3': resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==} + '@types/estree@0.0.39': + resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} + '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} @@ -1985,6 +2770,9 @@ packages: '@types/har-format@1.2.16': resolution: {integrity: sha512-fluxdy7ryD3MV6h8pTfTYpy/xQzCFC7m89nOH9y94cNqJ1mDIDPut7MnRHI3F6qRmh/cT2fUjG1MLdCNb4hE9A==} + '@types/htmlbars-inline-precompile@3.0.3': + resolution: {integrity: sha512-utarMsjpGrHc67F0o4AitUwNOW8YWeF2JfAixWQoZIOy/tyIOxw/qHHQS5AnuazDa1Rt2Mlr9OlHDFD72QJMrA==} + '@types/http-cache-semantics@4.0.4': resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} @@ -2012,6 +2800,9 @@ packages: '@types/minimatch@5.1.2': resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + '@types/minimist@1.2.5': + resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} + '@types/ms@0.7.34': resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} @@ -2021,12 +2812,18 @@ packages: '@types/node@9.6.61': resolution: {integrity: sha512-/aKAdg5c8n468cYLy2eQrcR5k6chlbNwZNGUj3TboyPa2hcO2QAJcfymlqPzMiRj8B6nYKXjzQz36minFE0RwQ==} + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + '@types/q@1.5.8': resolution: {integrity: sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==} '@types/qs@6.9.16': resolution: {integrity: sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==} + '@types/qunit@2.19.10': + resolution: {integrity: sha512-gVB+rxvxmbyPFWa6yjjKgcumWal3hyqoTXI0Oil161uWfo1OCzWZ/rnEumsx+6uVgrwPrCrhpQbLkzfildkSbg==} + '@types/qunit@2.19.12': resolution: {integrity: sha512-II+C1wgzUia0g+tGAH+PBb4XiTm8/C/i6sN23r21NNskBYOYrv+qnW0tFQ/IxZzKVwrK4CTglf8YO3poJUclQA==} @@ -2060,12 +2857,21 @@ packages: '@types/sizzle@2.3.8': resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==} + '@types/supports-color@8.1.3': + resolution: {integrity: sha512-Hy6UMpxhE3j1tLpl27exp1XqHD7n8chAiNPzWfz16LPZoMMoSc4dzLl6w9qijkEb/r5O1ozdu1CWGA2L83ZeZg==} + '@types/symlink-or-copy@1.2.2': resolution: {integrity: sha512-MQ1AnmTLOncwEf9IVU+B2e4Hchrku5N67NkgcAHW0p3sdzPe0FNMANxEm6OJUzPniEQGkeT3OROLlCwZJLWFZA==} '@types/unist@2.0.11': resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + '@typescript-eslint/eslint-plugin@8.21.0': resolution: {integrity: sha512-eTH+UOR4I7WbdQnG4Z48ebIA6Bgi7WO8HvFEneeYBxG8qCOYgTOFPSg6ek9ITIDvGjDQzWHcoWHCDO2biByNzA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2431,6 +3237,10 @@ packages: resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} + arrify@1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + asn1@0.2.6: resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} @@ -2527,6 +3337,10 @@ packages: resolution: {integrity: sha512-4YNPkuVsxAW5lnSTa6cn4Wk49RX6GAB6vX+M6LqEtN0YePqoFczv1/x0EyLK/o+4E1j9jEuYj5Su7IEPab5JHQ==} engines: {node: '>= 12.*'} + babel-import-util@3.0.1: + resolution: {integrity: sha512-2copPaWQFUrzooJVIVZA/Oppx/S/KOoZ4Uhr+XWEQDMZ8Rvq/0SNQpbdIyMBJ8IELWt10dewuJw+tX4XjOo7Rg==} + engines: {node: '>= 12.*'} + babel-loader@8.4.1: resolution: {integrity: sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==} engines: {node: '>= 8.9'} @@ -2534,6 +3348,13 @@ packages: '@babel/core': ^7.0.0 webpack: '>=2' + babel-loader@9.2.1: + resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@babel/core': ^7.12.0 + webpack: '>=5' + babel-messages@6.23.0: resolution: {integrity: sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==} @@ -2549,6 +3370,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + babel-plugin-debug-macros@1.0.2: + resolution: {integrity: sha512-ADkMh1LL45678c+4iGn3Fp8hdI9qvxGBkH5x9HNiIlgYJGdQWmYNcA2cS3XAr76N85kDCg4VpqsTN1hFX2jbEA==} + engines: {node: '>=16'} + peerDependencies: + '@babel/core': ^7.0.0 + babel-plugin-ember-data-packages-polyfill@0.1.2: resolution: {integrity: sha512-kTHnOwoOXfPXi00Z8yAgyD64+jdSXk3pknnS7NlqnCKAU6YDkXZ4Y7irl66kaZjZn0FBBt0P4YOZFZk85jYOww==} engines: {node: 6.* || 8.* || 10.* || >= 12.*} @@ -2561,6 +3388,14 @@ packages: resolution: {integrity: sha512-4ZrKVSqdw5PxEKRbqfOpPhrrNBDG3mFPhyT6N1Oyyem81ZIkCvNo7TPKvlTHeFxqb6HtUvCACP/pzFpZ74J4pg==} engines: {node: '>= 12.*'} + babel-plugin-ember-template-compilation@2.4.1: + resolution: {integrity: sha512-n+ktQ3JeyWrpRutSyPn2PsHeH+A94SVm+iUoogzf9VUqpP47FfWem24gpQXhn+p6+x5/BpuFJXMLXWt7ZoYAKA==} + engines: {node: '>= 12.*'} + + babel-plugin-ember-template-compilation@3.0.0: + resolution: {integrity: sha512-tIZh1sgvswtJqtjiAQLZEtfje37HvsFsivV3jOrkruq0K1JzewP5VUJxx72qK3vwqFOG6XtiVXYBNyEJFmdXgQ==} + engines: {node: '>= 18.*'} + babel-plugin-htmlbars-inline-precompile@5.3.1: resolution: {integrity: sha512-QWjjFgSKtSRIcsBhJmEwS2laIdrA6na8HAlc/pEAhjHgQsah/gMiBFRZvbQTy//hWxR4BMwV7/Mya7q5H8uHeA==} engines: {node: 10.* || >= 12.*} @@ -2701,6 +3536,9 @@ packages: resolution: {integrity: sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==} engines: {node: '>=0.8'} + bind-decorator@1.0.11: + resolution: {integrity: sha512-yzkH0uog6Vv/vQ9+rhSKxecnqGUZHYncg7qS7voz3Q76+TAi1SGiOKk2mlOvusQnFz9Dc4BC/NMkeXu11YgjJg==} + bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} @@ -2768,6 +3606,9 @@ packages: resolution: {integrity: sha512-YoUHeKnPi4xIGZ2XDVN9oHNA9k3xF5f5vlA+1wvrxIIDXqQU97gp2FxVAF503Zxdtt0C5CRB5n+47k2hlkaBzA==} engines: {node: '>= 0.10.0'} + broccoli-caching-writer@2.3.1: + resolution: {integrity: sha512-lfoDx98VaU8tG4mUXCxKdKyw2Lr+iSIGUjCgV83KC2zRC07SzYTGuSsMqpXFiOQlOGuoJxG3NRoyniBa1BWOqA==} + broccoli-caching-writer@3.0.3: resolution: {integrity: sha512-g644Kb5uBPsy+6e2DvO3sOc+/cXZQQNgQt64QQzjA9TSdP0dl5qvetpoNIx4sy/XIjrPYG1smEidq9Z9r61INw==} @@ -2805,6 +3646,9 @@ packages: resolution: {integrity: sha512-ng4eIhPYiXqMw6SyGoxPHR3YAwEd2lr9FgBI1CyTbspl4txZovOsmzFkMkGAlu88xyvYXJqHiM2crfLa65T1BQ==} engines: {node: 10.* || >= 12.*} + broccoli-kitchen-sink-helpers@0.2.9: + resolution: {integrity: sha512-C+oEqivDofZv/h80rgN4WJkbZkbfwkrIeu8vFn4bb4m4jPd3ICNNplhkXGl3ps439pzc2yjZ1qIwz0yy8uHcQg==} + broccoli-kitchen-sink-helpers@0.3.1: resolution: {integrity: sha512-gqYnKSJxBSjj/uJqeuRAzYVbmjWhG0mOZ8jrp6+fnUIOgLN6MvI7XxBECDHkYMIFPJ8Smf4xaI066Q2FqQDnXg==} @@ -2849,6 +3693,9 @@ packages: resolution: {integrity: sha512-Q+8iezprZzL9voaBsDY3rQVl7c7H5h+bvv8SpzCZXPZgfBFCbx7KFQ2c3rZR6lW5k4Kwoqt7jG+rZMUg67Gwxw==} engines: {node: 10.* || >= 12.*} + broccoli-plugin@1.1.0: + resolution: {integrity: sha512-dY1QsA20of9wWEto8yhN7JQjpfjySmgeIMsvnQ9aBAv1wEJJCe04B0ekdgq7Bduyx9yWXdoC5CngGy81swmp2w==} + broccoli-plugin@1.3.1: resolution: {integrity: sha512-DW8XASZkmorp+q7J4EeDEZz+LoyKLAd2XZULXyD9l4m9/hAKV3vjHmB1kiUshcWAYMgTP1m2i4NnqCE/23h6AQ==} @@ -2886,6 +3733,9 @@ packages: resolution: {integrity: sha512-ZbGVQjivWi0k220fEeIUioN6Y68xjMy0xiLAc0LdieHI99gw+tafU8w0CggBDYVNsJMKUr006AZaM7gNEwCxEg==} engines: {node: 8.* || 10.* || >= 12.*} + broccoli-sri-hash@2.1.2: + resolution: {integrity: sha512-toLD/v7ut2ajcH8JsdCMG2Bpq2qkwTcKM6CMzVMSAJjaz/KpK69fR+gSqe1dsjh+QTdxG0yVvkq3Sij/XMzV6A==} + broccoli-stew@3.0.0: resolution: {integrity: sha512-NXfi+Vas24n3Ivo21GvENTI55qxKu7OwKRnCLWXld8MiLiQKQlWIq28eoARaFj0lTUFwUa4jKZeA7fW9PiWQeg==} engines: {node: 8.* || >= 10.*} @@ -2909,6 +3759,13 @@ packages: resolution: {integrity: sha512-sWi3b3fTUSVPDsz5KsQ5eCQNVAtLgkIE/HYFkEZXR/07clqmd4E/gFiuwSaqa9b+QTXc1Uemfb7TVWbEIURWDg==} engines: {node: 8.* || >= 10.*} + browserslist-to-esbuild@2.1.1: + resolution: {integrity: sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + browserslist: '*' + browserslist@4.24.0: resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -2933,6 +3790,13 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + + builtins@5.1.0: + resolution: {integrity: sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==} + bundle-name@3.0.0: resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} engines: {node: '>=12'} @@ -2983,6 +3847,10 @@ packages: resolution: {integrity: sha512-Quw8a6y8CPmRd6eU+mwypktYCwUcf8yVFIRbNZ6tPQEckX9yd+EBVEPC/GSZZrMWH9e7Vz4pT7XhpmyApRByLQ==} engines: {node: 6.* || 8.* || >= 10.*} + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} @@ -2991,6 +3859,10 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + camelcase-keys@7.0.2: + resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==} + engines: {node: '>=12'} + camelcase@3.0.0: resolution: {integrity: sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==} engines: {node: '>=0.10.0'} @@ -2999,6 +3871,10 @@ packages: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + camelcase@7.0.1: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} @@ -3260,6 +4136,9 @@ packages: common-ancestor-path@1.0.1: resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} + common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + common-tags@1.8.2: resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} engines: {node: '>=4.0.0'} @@ -3288,6 +4167,11 @@ packages: resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} engines: {'0': node >= 0.8} + concurrently@8.2.2: + resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==} + engines: {node: ^14.13.0 || >=16.0.0} + hasBin: true + concurrently@9.1.2: resolution: {integrity: sha512-H9MWcoPsYddwbOGM6difjVwVZHl63nwMEwDJG/L7VGtuaJhb12h2caPG2tVPWs7emuYix252iGfqOyrz1GczTQ==} engines: {node: '>=18'} @@ -3488,6 +4372,9 @@ packages: content-tag@2.0.2: resolution: {integrity: sha512-qHRyTp02dgzRK2tsCFxZ1H289bZOuSLNpupr6prvnSFq4SFPmNlBKbbE5PCMb+8+Z1a1z+yCVtXvQIGUCCa3lQ==} + content-tag@3.1.3: + resolution: {integrity: sha512-4Kiv9mEroxuMXfWUNUHcljVJgxThCNk7eEswdHMXdzJnkBBaYDqDwzHkoh3F74JJhfU3taJOsgpR6oEGIDg17g==} + content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} @@ -3547,6 +4434,15 @@ packages: resolution: {integrity: sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==} engines: {node: '>=14'} + cosmiconfig@8.3.6: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + cosmiconfig@9.0.0: resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} @@ -3606,6 +4502,14 @@ packages: resolution: {integrity: sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w==} engines: {node: '>=0.10.0'} + css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + + css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + css-tree@3.1.0: resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} @@ -3627,6 +4531,14 @@ packages: resolution: {integrity: sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==} engines: {node: '>=0.10.0'} + csso@4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + + cssstyle@4.6.0: + resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==} + engines: {node: '>=18'} + d@1.0.2: resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} engines: {node: '>=0.12'} @@ -3646,6 +4558,10 @@ packages: resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} engines: {node: '>= 14'} + data-urls@5.0.0: + resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} + engines: {node: '>=18'} + data-view-buffer@1.0.1: resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} engines: {node: '>= 0.4'} @@ -3658,6 +4574,10 @@ packages: resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} engines: {node: '>= 0.4'} + date-fns@2.30.0: + resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} + engines: {node: '>=0.11'} + date-fns@3.6.0: resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} @@ -3681,8 +4601,17 @@ packages: supports-color: optional: true - debug@4.3.7: - resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -3690,10 +4619,21 @@ packages: supports-color: optional: true + decamelize-keys@1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} + decamelize@1.2.0: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} + decamelize@5.0.1: + resolution: {integrity: sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==} + engines: {node: '>=10'} + + decimal.js@10.5.0: + resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} + decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} @@ -3863,6 +4803,10 @@ packages: resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} engines: {node: '>=10'} + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + duplexer3@0.1.5: resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} @@ -3904,6 +4848,12 @@ packages: resolution: {integrity: sha512-rnGP5/7Gid+ShgTcLB0SR16IlxtTtdZq/pvtAZGwWvEWF8dJOl33vH1/Zc3052mHs9oN2gbZ8mOoBPYbF8ZA2g==} engines: {node: '>= 10.*'} + ember-cli-app-version@6.0.1: + resolution: {integrity: sha512-XA1FwkWA5QytmWF0jcJqEr3jcZoiCl9Fb33TZgOVfClL7Voxe+/RwzISEprBRQgbf7j8z1xf8/RJCKfclUy3rQ==} + engines: {node: 14.* || 16.* || >= 18} + peerDependencies: + ember-source: ^3.28.0 || >= 4.0.0 + ember-cli-app-version@7.0.0: resolution: {integrity: sha512-zWIkxvlRrW7w1/vp+bGkmS27QsVum7NKp8N9DgAjhFMWuKewVqGyl/jeYaujMS/I4WSKBzSG9WHwBy2rjbUWxA==} engines: {node: '>= 18'} @@ -3992,6 +4942,10 @@ packages: resolution: {integrity: sha512-RMlFPMK4kaB+67seF/IIoY3EC4rRd+L58q+lyElrxB3FcQTgph/qmGwtqf9Up7m3SDbPiA7cccCOSmgReMgCXA==} engines: {node: '>= 10.*'} + ember-cli-sri@2.1.1: + resolution: {integrity: sha512-YG/lojDxkur9Bnskt7xB6gUOtJ6aPl/+JyGYm9HNDk3GECVHB3SMN3rlGhDKHa1ndS5NK2W2TSLb9bzRbGlMdg==} + engines: {node: '>= 0.10.0'} + ember-cli-string-utils@1.1.0: resolution: {integrity: sha512-PlJt4fUDyBrC/0X+4cOpaGCiMawaaB//qD85AXmDRikxhxVzfVdpuoec02HSiTGTTB85qCIzWBIh8lDOiMyyFg==} @@ -4034,6 +4988,11 @@ packages: resolution: {integrity: sha512-rk7GY+FmLn/2e22HsZs0Ycrz8HQ1W3Fv+2TFOuEFW9optnDXDgkntPBIl6gact/LHsfBM5RKbM3dHsIIeLgl0Q==} engines: {node: 10.* || >= 12.*} + ember-cli@5.3.0: + resolution: {integrity: sha512-Om19C49hAYFgVduidtfQPbZcR3bmdHhYJ4XxEEEvW+sP1WAXNOPWf5e3W6HGDarjIeg04bZxOMkMZy28bubOBA==} + engines: {node: '>= 16'} + hasBin: true + ember-cli@6.1.0: resolution: {integrity: sha512-LpVtpf/QgHcmmzX3InToSUnn0wX9D8TEKVhxF4KPf2HpCzrTllUcwu+pfCsXDb3VziTjRKUnnh5ZnjER/pVyFQ==} engines: {node: '>= 18'} @@ -4113,6 +5072,12 @@ packages: resolution: {integrity: sha512-Pz7muUcwzgAVGQ3ZNCdY/KMKtmvtJk5DWetuvx2MVHZCRpVzSRvkVa2tKXcp4tmz/COYUysneJxAR4tmwAyH9Q==} engines: {node: 12.* || 14.* || >= 16} + ember-page-title@8.2.4: + resolution: {integrity: sha512-ZZ912IRItIEfD5+35w65DT9TmqppK+suXJeaJenD5OSuvujUnYl6KxBpyAbfjw4mYtURwJO/TmSe+4GGJbsJ0w==} + engines: {node: 16.* || >= 18} + peerDependencies: + ember-source: '>= 3.28.0' + ember-qunit@8.1.1: resolution: {integrity: sha512-nT+6s74j3BKNn+QQY/hINC3Xw3kn0NF0cU9zlgVQmCBWoyis1J24xWrY2LFOMThPmF6lHqcrUb5JwvBD4BXEXg==} peerDependencies: @@ -4172,6 +5137,12 @@ packages: peerDependencies: '@glimmer/component': ^1.1.2 + ember-source@6.1.0-beta.1: + resolution: {integrity: sha512-ErAYSpftkTnxr6rS6eaCkW/p5Cn8keXW/92P3MfkZNXTD3iAwARS2k7E6lYrnmCONPlae1yaSmkGbKf+fkV0rw==} + engines: {node: '>= 18.*'} + peerDependencies: + '@glimmer/component': '>= 1.1.2' + ember-svg-jar@2.6.0: resolution: {integrity: sha512-LRG+BoQJTHPQlxfCPGIrOZo/UqXtadcOLuUjrhHRyQJJYDFEeJX5sWUsz/bJe48Bgi9FyOoQtdqrRAQ+COn2Kg==} engines: {node: 12.* || 14.* || >= 16} @@ -4214,6 +5185,14 @@ packages: resolution: {integrity: sha512-ZYVKYWMnrHSD3vywo7rV76kPCOC9ATIEnGGG/PEKfCcFE0lB26jltRDnOrhORfLKq0JFp62fFxC/4940U+MwRQ==} engines: {node: 16.* || >= 18.*} + ember-try@4.0.0: + resolution: {integrity: sha512-gWG1k8+hio1rndJXxzIYhayL7ITof3ebkZ7HwFzFDaz3NARb8MjcVloKj1PFCheu8ZbY8iP8QTRPqb+J+N+Izg==} + engines: {node: '>= 18'} + + ember-welcome-page@7.0.2: + resolution: {integrity: sha512-TyaKxFIRXhODW5BTbqD/by0Gu8Z9B9AA1ki3Bzzm6fOj2b30Qlprtt+XUG52kS0zVNmxYj/WWoT0TsKiU61VOw==} + engines: {node: 14.* || 16.* || >= 18} + ember-wormhole@0.6.0: resolution: {integrity: sha512-b7RrRxkwCBEJxM2zR34dEzIET81BOZWTcYNJtkidLycLQvdbxPys5QJEjJ/IfDikT/z5HuQBdZRKBhXI0vZNXQ==} engines: {node: 10.* || >= 12} @@ -4302,6 +5281,10 @@ packages: resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} engines: {node: '>= 0.4'} + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + es-errors@1.3.0: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} @@ -4316,14 +5299,25 @@ packages: resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} engines: {node: '>= 0.4'} + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + es-set-tostringtag@2.0.3: resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} engines: {node: '>= 0.4'} + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} + es-toolkit@1.39.5: + resolution: {integrity: sha512-z9V0qU4lx1TBXDNFWfAASWk6RNU6c6+TJBKE+FLIg8u0XJ6Yw58Hi0yX8ftEouj6p1QARRlXLFfHbIli93BdQQ==} + es5-ext@0.10.64: resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} engines: {node: '>=0.10'} @@ -4338,6 +5332,11 @@ packages: es6-weak-map@2.0.3: resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} + esbuild@0.25.5: + resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -4397,6 +5396,12 @@ packages: peerDependencies: eslint: '>=8' + eslint-plugin-n@16.6.2: + resolution: {integrity: sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + eslint: '>=7.0.0' + eslint-plugin-n@17.15.1: resolution: {integrity: sha512-KFw7x02hZZkBdbZEFQduRGH4VkIH4MW97ClsbAM4Y4E6KguBJWGfWG1P4HEIpZk2bkoWf0bojpnjNAhYQP8beA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4502,6 +5507,9 @@ packages: estree-walker@0.6.1: resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} + estree-walker@1.0.1: + resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} + estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} @@ -4694,6 +5702,10 @@ packages: file-entry-cache@10.0.5: resolution: {integrity: sha512-umpQsJrBNsdMDgreSryMEXvJh66XeLtZUwA8Gj7rHGearGufUFv6rB/bcXRFsiGWw/VeSUgUofF4Rf2UKEOrTA==} + file-entry-cache@7.0.2: + resolution: {integrity: sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==} + engines: {node: '>=12.0.0'} + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -4732,6 +5744,10 @@ packages: resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} engines: {node: '>=8'} + find-cache-dir@4.0.0: + resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} + engines: {node: '>=14.16'} + find-index@1.1.1: resolution: {integrity: sha512-XYKutXMrIK99YMUPf91KX5QVJoG31/OsgftD6YoTPAObfQIxM4ziA9f0J1AsqKhJmo+IeaIPP0CFopTD4bdUBw==} @@ -4755,6 +5771,10 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} + find-up@6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + find-up@7.0.0: resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} engines: {node: '>=18'} @@ -4800,6 +5820,10 @@ packages: resolution: {integrity: sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==} engines: {node: '>= 0.10'} + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} @@ -4854,6 +5878,10 @@ packages: resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} engines: {node: '>= 0.12'} + form-data@4.0.3: + resolution: {integrity: sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==} + engines: {node: '>= 6'} + formdata-polyfill@4.0.10: resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} engines: {node: '>=12.20.0'} @@ -4870,6 +5898,10 @@ packages: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} + fresh@2.0.0: + resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} + engines: {node: '>= 0.8'} + fs-extra@0.24.0: resolution: {integrity: sha512-w1RvhdLZdU9V3vQdL+RooGlo6b9R9WVoBanOfoJvosWlqSKvrjFlci2oVhwvLwZXBtM7khyPvZ8r3fwsim3o0A==} @@ -4977,10 +6009,18 @@ packages: resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} engines: {node: '>= 0.4'} + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + get-stdin@9.0.0: resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} engines: {node: '>=12'} @@ -5109,6 +6149,10 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -5157,6 +6201,10 @@ packages: gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + got@11.8.6: resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} engines: {node: '>=10.19.0'} @@ -5225,6 +6273,10 @@ packages: engines: {node: '>=6'} deprecated: this library is no longer supported + hard-rejection@2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} + has-ansi@2.0.0: resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} engines: {node: '>=0.10.0'} @@ -5255,6 +6307,10 @@ packages: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + has-tostringtag@1.0.2: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} @@ -5319,10 +6375,18 @@ packages: resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} engines: {node: '>=10'} + hosted-git-info@6.1.3: + resolution: {integrity: sha512-HVJyzUrLIL1c0QmviVh5E8VGyUS7xCFPS6yydaVd1UegW+ibV/CohqTH9MkOLDp5o+rb82DMo77PTuc9F/8GKw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hosted-git-info@8.0.2: resolution: {integrity: sha512-sYKnA7eGln5ov8T8gnYlkSOxFJvywzEx9BueN6xo/GKO8PGiI6uK6xx+DIGe45T3bdVjLAQDQW1aicT8z8JwQg==} engines: {node: ^18.17.0 || >=20.5.0} + html-encoding-sniffer@4.0.0: + resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} + engines: {node: '>=18'} + html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -5437,6 +6501,9 @@ packages: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} engines: {node: '>=8'} + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -5448,6 +6515,10 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} + indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + infer-owner@1.0.4: resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} @@ -5555,6 +6626,10 @@ packages: is-buffer@1.1.6: resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -5703,6 +6778,10 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} + is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + is-plain-obj@2.1.0: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} @@ -5719,6 +6798,9 @@ packages: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} + is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} @@ -5923,6 +7005,15 @@ packages: jsbn@1.1.0: resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} + jsdom@25.0.1: + resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==} + engines: {node: '>=18'} + peerDependencies: + canvas: ^2.11.2 + peerDependenciesMeta: + canvas: + optional: true + jsesc@3.0.2: resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} engines: {node: '>=6'} @@ -5934,6 +7025,9 @@ packages: json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} @@ -6020,6 +7114,9 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} + known-css-properties@0.29.0: + resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==} + known-css-properties@0.35.0: resolution: {integrity: sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==} @@ -6065,6 +7162,9 @@ packages: resolution: {integrity: sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow==} engines: {node: '>= 0.10'} + leek@0.0.24: + resolution: {integrity: sha512-6PVFIYXxlYF0o6hrAsHtGpTmi06otkwNrMcmQ0K96SeSRHPREPa9J3nJZ1frliVH7XT0XFswoJFQoXsDukzGNQ==} + lerna-changelog@2.2.0: resolution: {integrity: sha512-yjYNAHrbnw8xYFKmYWJEP52Tk4xSdlNmzpYr26+3glbSGDmpe8UMo8f9DlEntjGufL+opup421oVTXcLshwAaQ==} engines: {node: 12.* || 14.* || >= 16} @@ -6132,9 +7232,21 @@ packages: resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + lodash._baseassign@3.2.0: + resolution: {integrity: sha512-t3N26QR2IdSN+gqSy9Ds9pBu/J1EAFEshKlUHpJG3rvyJOYgcELIxcIeKKfZk7sjOz11cFfzJRsyFry/JyabJQ==} + + lodash._basecopy@3.0.1: + resolution: {integrity: sha512-rFR6Vpm4HeCK1WPGvjZSJ+7yik8d8PVUdCJx5rT2pogG4Ve/2ZS7kfmO5l5T2o5V2mqlNIfSF5MZlr1+xOoYQQ==} + lodash._baseflatten@3.1.4: resolution: {integrity: sha512-fESngZd+X4k+GbTxdMutf8ohQa0s3sJEHIcwtu4/LsIQ2JTDzdRxDCMQjW+ezzwRitLmHnacVVmosCbxifefbw==} + lodash._bindcallback@3.0.1: + resolution: {integrity: sha512-2wlI0JRAGX8WEf4Gm1p/mv/SZ+jLijpj0jyaE/AXeuQphzCgD8ZQW4oSpoN8JAopujOFGU3KMuq7qfHBWlGpjQ==} + + lodash._createassigner@3.1.1: + resolution: {integrity: sha512-LziVL7IDnJjQeeV95Wvhw6G28Z8Q6da87LWKOPWmzBLv4u6FAT/x5v00pyGW0u38UoogNF2JnD3bGgZZDaNEBw==} + lodash._getnative@3.9.1: resolution: {integrity: sha512-RrL9VxMEPyDMHOd9uFbvMe8X55X16/cGM5IgOKgRElQZutpX89iS6vwl64duTV1/16w5JY7tuFNXqoekmh1EmA==} @@ -6144,6 +7256,9 @@ packages: lodash._reinterpolate@3.0.0: resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} + lodash.assign@3.2.0: + resolution: {integrity: sha512-/VVxzgGBmbphasTg51FrztxQJ/VgAUpol6zmJuSVSGcNg4g7FA4z7rQV8Ovr9V3vFBNWZhvKWHfpAytjTVUfFA==} + lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} @@ -6184,6 +7299,9 @@ packages: lodash.kebabcase@4.1.1: resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} + lodash.keys@3.1.2: + resolution: {integrity: sha512-CuBsapFjcubOGMn3VD+24HOAPxM79tH+V6ivJL3CHYjtrawauDJHUk//Yew9Hvc6e9rbCrURGk8z6PC+8WJBfQ==} + lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} @@ -6194,6 +7312,9 @@ packages: resolution: {integrity: sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==} deprecated: This package is deprecated. Use destructuring assignment syntax instead. + lodash.restparam@3.6.1: + resolution: {integrity: sha512-L4/arjjuq4noiUJpt3yS6KIKDtJwNe2fIYgMqyYYKoeIfV1iEqvPwhCx23o+R9dzouGihDAPN1dTIRWa7zk8tw==} + lodash.template@4.5.0: resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} deprecated: This package is deprecated. Use https://socket.dev/npm/package/eta instead. @@ -6302,6 +7423,14 @@ packages: resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} engines: {node: '>=0.10.0'} + map-obj@1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + + map-obj@4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + map-visit@1.0.0: resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} engines: {node: '>=0.10.0'} @@ -6326,6 +7455,10 @@ packages: resolution: {integrity: sha512-daE62nS2ZQsDg9raM0IlZzLmI2u+7ZapXBwdoeBUKAYERPDDIc0qNqA8E0Rp2D+gspKR7BgIFP52GeujaGXWeQ==} engines: {node: 6.* || 8.* || >= 10.*} + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + mathml-tag-names@2.1.3: resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} @@ -6338,6 +7471,12 @@ packages: mdn-data@1.1.4: resolution: {integrity: sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==} + mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + mdn-data@2.0.4: resolution: {integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==} @@ -6358,9 +7497,17 @@ packages: resolution: {integrity: sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw==} engines: {node: '>=8'} + mem@8.1.1: + resolution: {integrity: sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==} + engines: {node: '>=10'} + memory-streams@0.1.3: resolution: {integrity: sha512-qVQ/CjkMyMInPaaRMrwWNDvf6boRZXaT/DbQeMYcCWuXPEBf1v8qChOc9OlEVQp2uOvRXa1Qu30fLmKhY6NipA==} + meow@10.1.5: + resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + meow@13.2.0: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} engines: {node: '>=18'} @@ -6461,10 +7608,18 @@ packages: resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==} engines: {node: '>= 0.6'} + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} + mime-types@3.0.1: + resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==} + engines: {node: '>= 0.6'} + mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} @@ -6478,6 +7633,10 @@ packages: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} + mimic-fn@3.1.0: + resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} + engines: {node: '>=8'} + mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} @@ -6494,6 +7653,10 @@ packages: resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + mini-css-extract-plugin@2.9.1: resolution: {integrity: sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==} engines: {node: '>= 12.13.0'} @@ -6523,6 +7686,10 @@ packages: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} + minimist-options@4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -6629,6 +7796,11 @@ packages: nan@2.21.0: resolution: {integrity: sha512-MCpOGmdWvAOMi4RWnpxS5G24l7dVMtdSHtV87I3ltjaLdFOTO74HVJ+DfYiAXjxGKsYR/UCmm1rBwhMN7KqS1A==} + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -6717,6 +7889,10 @@ packages: normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + normalize-package-data@3.0.3: + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} + normalize-path@2.1.1: resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} engines: {node: '>=0.10.0'} @@ -6752,6 +7928,10 @@ packages: resolution: {integrity: sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==} engines: {node: ^18.17.0 || >=20.5.0} + npm-package-arg@10.1.0: + resolution: {integrity: sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + npm-package-arg@12.0.1: resolution: {integrity: sha512-aDxjFfPV3Liw0WOBWlyZLMBqtbgbg03rmGvHDJa2Ttv7tIz+1oB5qWec4psCDFZcZi9b5XdGkPdQiJxOPzvQRQ==} engines: {node: ^18.17.0 || >=20.5.0} @@ -6795,6 +7975,9 @@ packages: resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} engines: {node: '>=0.10.0'} + nwsapi@2.2.20: + resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==} + oauth-sign@0.9.0: resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} @@ -7208,6 +8391,10 @@ packages: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} + pkg-dir@7.0.0: + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} + pkg-entry-points@1.1.0: resolution: {integrity: sha512-9vL2T/he5Kb97GVY+V3Ih4jCC1lF3PQGIDUJIUqKM4Q6twmhrUSAa0OFj+kb8IEs4wYzEgB6kcc4oYy21kZnQw==} @@ -7265,6 +8452,12 @@ packages: postcss-resolve-nested-selector@0.1.6: resolution: {integrity: sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==} + postcss-safe-parser@6.0.0: + resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.3.3 + postcss-safe-parser@7.0.1: resolution: {integrity: sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==} engines: {node: '>=18.0'} @@ -7296,6 +8489,10 @@ packages: resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + prelude-ls@1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} engines: {node: '>= 0.8.0'} @@ -7351,6 +8548,10 @@ packages: resolution: {integrity: sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==} engines: {node: '>= 0.6'} + proc-log@3.0.0: + resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + proc-log@5.0.0: resolution: {integrity: sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==} engines: {node: ^18.17.0 || >=20.5.0} @@ -7454,6 +8655,10 @@ packages: quick-temp@0.1.8: resolution: {integrity: sha512-YsmIFfD9j2zaFwJkzI6eMG7y0lQP7YeWzgtFgNl38pGWZBSXJooZbOWwkcRot7Vt0Fg9L23pX0tqWU3VvLDsiA==} + qunit-dom@2.0.0: + resolution: {integrity: sha512-mElzLN99wYPOGekahqRA+mq7NcThXY9c+/tDkgJmT7W5LeZAFNyITr2rFKNnCbWLIhuLdFw88kCBMrJSfyBYpA==} + engines: {node: 12.* || 14.* || >= 16.*} + qunit-dom@3.4.0: resolution: {integrity: sha512-N5PYbJ20RD3JZN4whINdl7dDfxScUy7eNuO8IwUtBWC7d6SH+BqtBqVZdRn9evxLQVzuask6OGvMy4gdpiCceg==} @@ -7465,6 +8670,11 @@ packages: engines: {node: '>=10'} hasBin: true + qunit@2.24.1: + resolution: {integrity: sha512-Eu0k/5JDjx0QnqxsE1WavnDNDgL1zgMZKsMw/AoAxnsl9p4RgyLODyo2N7abZY7CEAnvl5YUqFZdkImzbgXzSg==} + engines: {node: '>=10'} + hasBin: true + randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -7488,10 +8698,18 @@ packages: resolution: {integrity: sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==} engines: {node: '>=0.10.0'} + read-pkg-up@8.0.0: + resolution: {integrity: sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==} + engines: {node: '>=12'} + read-pkg@1.1.0: resolution: {integrity: sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==} engines: {node: '>=0.10.0'} + read-pkg@6.0.0: + resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==} + engines: {node: '>=12'} + readable-stream@1.0.34: resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} @@ -7518,6 +8736,10 @@ packages: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} + redent@4.0.0: + resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==} + engines: {node: '>=12'} + redeyed@1.0.1: resolution: {integrity: sha512-8eEWsNCkV2rvwKLS1Cvp5agNjMhwRe2um+y32B2+3LqOzg4C9BBPs6vzAfV16Ivb8B9HPNKIqd8OrdBws8kNlQ==} @@ -7705,6 +8927,10 @@ packages: resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} deprecated: https://github.com/lydell/resolve-url#deprecated + resolve.exports@2.0.3: + resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} + engines: {node: '>=10'} + resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -7793,6 +9019,12 @@ packages: route-recognizer: ^0.3.4 rsvp: ^4.8.5 + rrweb-cssom@0.7.1: + resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==} + + rrweb-cssom@0.8.0: + resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} + rsvp@3.2.1: resolution: {integrity: sha512-Rf4YVNYpKjZ6ASAmibcwTNciQ5Co5Ztq6iZPEykHpkoflnD/K5ryE/rHehFsTm4NJj8nKDhbi3eKBWGogmNnkg==} @@ -7876,6 +9108,10 @@ packages: sax@1.2.4: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + schema-utils@2.7.1: resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} engines: {node: '>= 8.9.0'} @@ -7914,10 +9150,18 @@ packages: engines: {node: '>=10'} hasBin: true + send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + send@0.19.0: resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} engines: {node: '>= 0.8.0'} + send@1.2.0: + resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} + engines: {node: '>= 18'} + serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} @@ -8105,6 +9349,9 @@ packages: spawn-args@0.2.0: resolution: {integrity: sha512-73BoniQDcRWgnLAf/suKH6V5H54gd1KLzwYN9FB6J/evqTV33htH9xwV/4BHek+++jzxpVlZQKKZkqstPQPmQg==} + spawn-command@0.0.2: + resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==} + spdx-correct@3.2.0: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} @@ -8127,6 +9374,10 @@ packages: sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + sri-toolbox@0.2.0: + resolution: {integrity: sha512-DQIMWCAr/M7phwo+d3bEfXwSBEwuaJL+SJx9cuqt1Ty7K96ZFoHpYnSbhrQZEr0+0/GtmpKECP8X/R4RyeTAfw==} + engines: {node: '>= 0.10.4'} + sshpk@1.18.0: resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} engines: {node: '>=0.10.0'} @@ -8264,6 +9515,10 @@ packages: resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} engines: {node: '>=18'} + strip-indent@4.0.0: + resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} + engines: {node: '>=12'} + strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} @@ -8278,6 +9533,9 @@ packages: peerDependencies: webpack: ^4.0.0 || ^5.0.0 + style-search@0.1.0: + resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} + styled_string@0.0.1: resolution: {integrity: sha512-DU2KZiB6VbPkO2tGSqQ9n96ZstUPjW7X4sGO6V2m1myIQluX0p1Ol8BrA/l6/EesqhMqXOIXs3cJNOy1UuU2BA==} @@ -8291,6 +9549,12 @@ packages: postcss: optional: true + stylelint-config-recommended@13.0.0: + resolution: {integrity: sha512-EH+yRj6h3GAe/fRiyaoO2F9l9Tgg50AOFhaszyfov9v6ayXJ1IkSHwTxd7lB48FmOeSGDPLjatjO11fJpmarkQ==} + engines: {node: ^14.13.1 || >=16.0.0} + peerDependencies: + stylelint: ^15.10.0 + stylelint-config-recommended@14.0.1: resolution: {integrity: sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==} engines: {node: '>=18.12.0'} @@ -8307,12 +9571,25 @@ packages: postcss: optional: true + stylelint-config-standard@34.0.0: + resolution: {integrity: sha512-u0VSZnVyW9VSryBG2LSO+OQTjN7zF9XJaAJRX/4EwkmU0R2jYwmBSN10acqZisDitS0CLiEiGjX7+Hrq8TAhfQ==} + engines: {node: ^14.13.1 || >=16.0.0} + peerDependencies: + stylelint: ^15.10.0 + stylelint-config-standard@36.0.1: resolution: {integrity: sha512-8aX8mTzJ6cuO8mmD5yon61CWuIM4UD8Q5aBcWKGSf6kg+EC3uhB+iOywpTK4ca6ZL7B49en8yanOFtUW0qNzyw==} engines: {node: '>=18.12.0'} peerDependencies: stylelint: ^16.1.0 + stylelint-prettier@4.1.0: + resolution: {integrity: sha512-dd653q/d1IfvsSQshz1uAMe+XDm6hfM/7XiFH0htYY8Lse/s5ERTg7SURQehZPwVvm/rs7AsFhda9EQ2E9TS0g==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + prettier: '>=3.0.0' + stylelint: '>=15.8.0' + stylelint-prettier@5.0.2: resolution: {integrity: sha512-qJ+BN+1T2ZcKz9WIrv0x+eFGHzSUnXfXd5gL///T6XoJvr3D8/ztzz2fhtmXef7Vb8P33zBXmLTTveByr0nwBw==} engines: {node: '>=18.12.0'} @@ -8326,6 +9603,11 @@ packages: peerDependencies: stylelint: ^16.0.2 + stylelint@15.11.0: + resolution: {integrity: sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==} + engines: {node: ^14.13.1 || >=16.0.0} + hasBin: true + stylelint@16.13.2: resolution: {integrity: sha512-wDlgh0mRO9RtSa3TdidqHd0nOG8MmUyVKl+dxA6C1j8aZRzpNeEgdhFmU5y4sZx4Fc6r46p0fI7p1vR5O2DZqA==} engines: {node: '>=18.12.0'} @@ -8367,6 +9649,9 @@ packages: deprecated: This SVGO version is no longer supported. Upgrade to v2.x.x. hasBin: true + symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + symlink-or-copy@1.3.1: resolution: {integrity: sha512-0K91MEXFpBUaywiwSSkmKjnGcasG/rVBXFLJz5DrgGabpYD6N+3yZrfD6uUIfpuTu65DZLHi7N8CizHc07BPZA==} @@ -8397,6 +9682,10 @@ packages: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} + temp-dir@2.0.0: + resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} + engines: {node: '>=8'} + temp@0.9.4: resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==} engines: {node: '>=6.0.0'} @@ -8442,6 +9731,12 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + thread-loader@3.0.4: + resolution: {integrity: sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.27.0 || ^5.0.0 + through2-filter@3.0.0: resolution: {integrity: sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==} @@ -8468,10 +9763,21 @@ packages: tiny-lr@2.0.0: resolution: {integrity: sha512-f6nh0VMRvhGx4KCeK1lQ/jaL0Zdb5WdR+Jk8q9OSUQnaSDxAEGH1fgqLZ+cMl5EW3F2MGnCsalBO1IsnnogW1Q==} + tinyglobby@0.2.14: + resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + engines: {node: '>=12.0.0'} + titleize@3.0.0: resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} engines: {node: '>=12'} + tldts-core@6.1.86: + resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} + + tldts@6.1.86: + resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==} + hasBin: true + tmp@0.0.28: resolution: {integrity: sha512-c2mmfiBmND6SOVxzogm1oda0OJ1HZVIk/5n26N59dDTh80MUeavpiCls4PGAdkX1PFkKokLpcf7prSjCeXLsJg==} engines: {node: '>=0.4.0'} @@ -8535,9 +9841,17 @@ packages: resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} engines: {node: '>=0.8'} + tough-cookie@5.1.2: + resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} + engines: {node: '>=16'} + tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tr46@5.1.1: + resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} + engines: {node: '>=18'} + tracked-built-ins@3.4.0: resolution: {integrity: sha512-aRwWQXC3VkY50oYxS7wKZiavkjf3uaN+UYUH30D5gxUqbxDN2LnNsfWyDfckmxHUGw4gJDH5lpRS0jX/tim0vw==} @@ -8561,6 +9875,10 @@ packages: resolution: {integrity: sha512-OLWW+Nd99NOM53aZ8ilT/YpEiOo6mXD3F4/wLbARqybSZ3Jb8IxHK5UGVbZaae0wtXAyQshVV+SeqVBik+Fbmw==} engines: {node: '>=8'} + trim-newlines@4.1.1: + resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==} + engines: {node: '>=12'} + ts-api-utils@2.0.0: resolution: {integrity: sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==} engines: {node: '>=18.12'} @@ -8599,6 +9917,10 @@ packages: resolution: {integrity: sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==} engines: {node: '>=8'} + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -8611,6 +9933,10 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} + type-fest@4.41.0: + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} + engines: {node: '>=16'} + type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -8827,6 +10153,10 @@ packages: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + uvu@0.5.6: resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} engines: {node: '>=8'} @@ -8842,6 +10172,10 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + validate-npm-package-name@5.0.1: + resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + validate-npm-package-name@6.0.0: resolution: {integrity: sha512-d7KLgL1LD3U3fgnvWEY1cQXoO/q6EQ1BSz48Sa149V/5zVTAbgmZIpyI8TRi6U9/JNyeYLlTKsEMPtLC27RFUg==} engines: {node: ^18.17.0 || >=20.5.0} @@ -8877,12 +10211,59 @@ packages: resolution: {integrity: sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==} engines: {node: '>= 0.10'} + vite@6.3.5: + resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + vm2@3.9.19: resolution: {integrity: sha512-J637XF0DHDMV57R6JyVsTak7nIL8gy5KH4r1HiwWLf/4GBbb5MKL5y7LpmF4A8E2nR6XmzpmMFQ7V7ppPTmUQg==} engines: {node: '>=6.0'} deprecated: The library contains critical security issues and should not be used for production! The maintenance of the project has been discontinued. Consider migrating your code to isolated-vm. hasBin: true + w3c-xmlserializer@5.0.0: + resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} + engines: {node: '>=18'} + + walk-sync@0.2.7: + resolution: {integrity: sha512-OH8GdRMowEFr0XSHQeX5fGweO6zSVHo7bG/0yJQx6LAj9Oukz0C8heI3/FYectT66gY0IPGe89kOvU410/UNpg==} + walk-sync@0.3.4: resolution: {integrity: sha512-ttGcuHA/OBnN2pcM6johpYlEms7XpO5/fyKIr48541xXedan4roO8cS1Q2S/zbbjGH/BarYDAMeS2Mi9HE5Tig==} @@ -8918,6 +10299,10 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + webpack-sources@3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} @@ -8951,6 +10336,10 @@ packages: resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} engines: {node: '>=18'} + whatwg-url@14.2.0: + resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} + engines: {node: '>=18'} + whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -9050,6 +10439,18 @@ packages: utf-8-validate: optional: true + ws@8.18.2: + resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + xdg-basedir@4.0.0: resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} engines: {node: '>=8'} @@ -9058,6 +10459,13 @@ packages: resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} engines: {node: '>=12'} + xml-name-validator@5.0.0: + resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} + engines: {node: '>=18'} + + xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -9139,6 +10547,14 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 + '@asamuzakjp/css-color@3.2.0': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + lru-cache: 10.4.3 + '@babel/code-frame@7.26.2': dependencies: '@babel/helper-validator-identifier': 7.25.9 @@ -9155,20 +10571,20 @@ snapshots: '@babel/compat-data@7.26.5': {} - '@babel/core@7.26.0': + '@babel/core@7.26.0(supports-color@8.1.1)': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.26.2 '@babel/generator': 7.26.5 '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)(supports-color@8.1.1) '@babel/helpers': 7.26.0 '@babel/parser': 7.26.5 '@babel/template': 7.25.9 - '@babel/traverse': 7.26.5 + '@babel/traverse': 7.26.5(supports-color@8.1.1) '@babel/types': 7.26.5 convert-source-map: 2.0.0 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -9177,7 +10593,7 @@ snapshots: '@babel/eslint-parser@7.26.5(@babel/core@7.26.0)(eslint@9.18.0)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 eslint: 9.18.0 eslint-visitor-keys: 2.1.0 @@ -9211,10 +10627,10 @@ snapshots: dependencies: '@babel/types': 7.27.3 - '@babel/helper-builder-binary-assignment-operator-visitor@7.25.7': + '@babel/helper-builder-binary-assignment-operator-visitor@7.25.7(supports-color@8.1.1)': dependencies: - '@babel/traverse': 7.26.5 - '@babel/types': 7.26.5 + '@babel/traverse': 7.27.3(supports-color@8.1.1) + '@babel/types': 7.27.3 transitivePeerDependencies: - supports-color @@ -9236,85 +10652,85 @@ snapshots: '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-member-expression-to-functions': 7.25.9(supports-color@8.1.1) '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.0) + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.0)(supports-color@8.1.1) '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.26.5 + '@babel/traverse': 7.26.5(supports-color@8.1.1) semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.26.0)': + '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.26.0)(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-member-expression-to-functions': 7.27.1(supports-color@8.1.1) '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.26.0) - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.27.3 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1(supports-color@8.1.1) + '@babel/traverse': 7.27.3(supports-color@8.1.1) semver: 6.3.1 transitivePeerDependencies: - supports-color '@babel/helper-create-regexp-features-plugin@7.25.7(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.27.3 regexpu-core: 6.1.1 semver: 6.3.1 - '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.26.0)': + '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.26.0)(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-plugin-utils': 7.26.5 - debug: 4.3.7 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 + debug: 4.4.1(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: - supports-color - '@babel/helper-member-expression-to-functions@7.25.9': + '@babel/helper-member-expression-to-functions@7.25.9(supports-color@8.1.1)': dependencies: - '@babel/traverse': 7.26.5 + '@babel/traverse': 7.26.5(supports-color@8.1.1) '@babel/types': 7.26.5 transitivePeerDependencies: - supports-color - '@babel/helper-member-expression-to-functions@7.27.1': + '@babel/helper-member-expression-to-functions@7.27.1(supports-color@8.1.1)': dependencies: - '@babel/traverse': 7.27.3 + '@babel/traverse': 7.27.3(supports-color@8.1.1) '@babel/types': 7.27.3 transitivePeerDependencies: - supports-color - '@babel/helper-module-imports@7.25.9': + '@babel/helper-module-imports@7.25.9(supports-color@8.1.1)': dependencies: - '@babel/traverse': 7.26.5 + '@babel/traverse': 7.26.5(supports-color@8.1.1) '@babel/types': 7.26.5 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.25.7(@babel/core@7.26.0)': + '@babel/helper-module-transforms@7.25.7(@babel/core@7.26.0)(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-simple-access': 7.25.7 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-module-imports': 7.25.9(supports-color@8.1.1) + '@babel/helper-simple-access': 7.25.7(supports-color@8.1.1) '@babel/helper-validator-identifier': 7.25.7 - '@babel/traverse': 7.26.5 + '@babel/traverse': 7.26.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-module-imports': 7.25.9(supports-color@8.1.1) '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.5 + '@babel/traverse': 7.26.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -9332,57 +10748,50 @@ snapshots: '@babel/helper-plugin-utils@7.27.1': {} - '@babel/helper-remap-async-to-generator@7.25.7(@babel/core@7.26.0)': + '@babel/helper-remap-async-to-generator@7.25.7(@babel/core@7.26.0)(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-wrap-function': 7.25.7 - '@babel/traverse': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-wrap-function': 7.25.7(supports-color@8.1.1) + '@babel/traverse': 7.27.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.26.5(@babel/core@7.26.0)': + '@babel/helper-replace-supers@7.26.5(@babel/core@7.26.0)(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-member-expression-to-functions': 7.25.9(supports-color@8.1.1) '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/traverse': 7.26.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.27.1(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-member-expression-to-functions': 7.27.1 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.27.3 + '@babel/traverse': 7.26.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/helper-simple-access@7.25.7': + '@babel/helper-replace-supers@7.27.1(@babel/core@7.26.0)(supports-color@8.1.1)': dependencies: - '@babel/traverse': 7.26.5 - '@babel/types': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-member-expression-to-functions': 7.27.1(supports-color@8.1.1) + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/traverse': 7.27.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/helper-skip-transparent-expression-wrappers@7.25.7': + '@babel/helper-simple-access@7.25.7(supports-color@8.1.1)': dependencies: - '@babel/traverse': 7.26.5 - '@babel/types': 7.26.5 + '@babel/traverse': 7.27.3(supports-color@8.1.1) + '@babel/types': 7.27.3 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.25.9': dependencies: - '@babel/traverse': 7.26.5 + '@babel/traverse': 7.26.5(supports-color@8.1.1) '@babel/types': 7.26.5 transitivePeerDependencies: - supports-color - '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + '@babel/helper-skip-transparent-expression-wrappers@7.27.1(supports-color@8.1.1)': dependencies: - '@babel/traverse': 7.27.3 + '@babel/traverse': 7.27.3(supports-color@8.1.1) '@babel/types': 7.27.3 transitivePeerDependencies: - supports-color @@ -9403,11 +10812,11 @@ snapshots: '@babel/helper-validator-option@7.25.9': {} - '@babel/helper-wrap-function@7.25.7': + '@babel/helper-wrap-function@7.25.7(supports-color@8.1.1)': dependencies: '@babel/template': 7.25.9 - '@babel/traverse': 7.26.5 - '@babel/types': 7.26.5 + '@babel/traverse': 7.27.3(supports-color@8.1.1) + '@babel/types': 7.27.3 transitivePeerDependencies: - supports-color @@ -9418,7 +10827,7 @@ snapshots: '@babel/parser@7.25.8': dependencies: - '@babel/types': 7.26.5 + '@babel/types': 7.27.3 '@babel/parser@7.26.5': dependencies: @@ -9428,44 +10837,44 @@ snapshots: dependencies: '@babel/types': 7.27.3 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.7(@babel/core@7.26.0)': + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.7(@babel/core@7.26.0)(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/traverse': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.26.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.7(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.7(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.7(@babel/core@7.26.0)': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.7(@babel/core@7.26.0)(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/plugin-transform-optional-chaining': 7.25.8(@babel/core@7.26.0) + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1(supports-color@8.1.1) + '@babel/plugin-transform-optional-chaining': 7.25.8(@babel/core@7.26.0)(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.7(@babel/core@7.26.0)': + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.7(@babel/core@7.26.0)(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/traverse': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.26.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: @@ -9473,7 +10882,7 @@ snapshots: '@babel/plugin-proposal-decorators@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.26.0) @@ -9482,43 +10891,43 @@ snapshots: '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.0) '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.0) '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.26.0)': dependencies: '@babel/compat-data': 7.25.8 - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.0) '@babel/plugin-transform-parameters': 7.25.7(@babel/core@7.26.0) '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.0) '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1(supports-color@8.1.1) '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.0) transitivePeerDependencies: - supports-color '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: @@ -9526,11 +10935,11 @@ snapshots: '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/helper-annotate-as-pure': 7.25.7 '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 @@ -9540,720 +10949,1225 @@ snapshots: '@babel/plugin-syntax-decorators@7.25.7(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-decorators@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.26.5 + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-import-assertions@7.25.7(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-import-attributes@7.25.7(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-typescript@7.25.7(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-arrow-functions@7.25.7(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-async-generator-functions@7.25.8(@babel/core@7.26.0)': + '@babel/plugin-transform-async-generator-functions@7.25.8(@babel/core@7.26.0)(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-remap-async-to-generator': 7.25.7(@babel/core@7.26.0) - '@babel/traverse': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/traverse': 7.26.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-async-to-generator@7.25.7(@babel/core@7.26.0)': + '@babel/plugin-transform-async-to-generator@7.25.7(@babel/core@7.26.0)(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-remap-async-to-generator': 7.25.7(@babel/core@7.26.0) + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-module-imports': 7.25.9(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) transitivePeerDependencies: - supports-color '@babel/plugin-transform-block-scoped-functions@7.25.7(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-block-scoping@7.25.7(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.26.0)': + '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.26.0)(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.26.0) + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.26.0)(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-class-static-block@7.27.1(@babel/core@7.26.0)': + '@babel/plugin-transform-class-static-block@7.27.1(@babel/core@7.26.0)(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.26.0) + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.26.0)(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-classes@7.25.7(@babel/core@7.26.0)': + '@babel/plugin-transform-classes@7.25.7(@babel/core@7.26.0)(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.0) - '@babel/traverse': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/traverse': 7.26.5(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color '@babel/plugin-transform-computed-properties@7.25.7(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 '@babel/template': 7.25.7 - '@babel/plugin-transform-destructuring@7.25.7(@babel/core@7.26.0)': + '@babel/plugin-transform-destructuring@7.25.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-dotall-regex@7.25.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-duplicate-keys@7.25.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-dynamic-import@7.25.8(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-exponentiation-operator@7.25.7(@babel/core@7.26.0)(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-export-namespace-from@7.25.8(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-for-of@7.25.7(@babel/core@7.26.0)(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.25.7(@babel/core@7.26.0)(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-compilation-targets': 7.25.7 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.26.5(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-json-strings@7.25.8(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-literals@7.25.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-logical-assignment-operators@7.25.8(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-member-expression-literals@7.25.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-modules-amd@7.25.7(@babel/core@7.26.0)(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-module-transforms': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.26.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.25.7(@babel/core@7.26.0)(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-module-transforms': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-simple-access': 7.25.7(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.25.7(@babel/core@7.26.0)(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-module-transforms': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-identifier': 7.25.7 + '@babel/traverse': 7.26.5(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.25.7(@babel/core@7.26.0)(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-module-transforms': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.25.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-new-target@7.25.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-nullish-coalescing-operator@7.25.8(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-numeric-separator@7.25.8(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-object-rest-spread@7.25.8(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-compilation-targets': 7.25.7 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-parameters': 7.25.7(@babel/core@7.26.0) + + '@babel/plugin-transform-object-super@7.25.7(@babel/core@7.26.0)(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.0)(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.25.8(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-optional-chaining@7.25.8(@babel/core@7.26.0)(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.25.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-private-methods@7.25.7(@babel/core@7.26.0)(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.25.8(@babel/core@7.26.0)(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.25.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-regenerator@7.25.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + regenerator-transform: 0.15.2 + + '@babel/plugin-transform-reserved-words@7.25.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-runtime@7.25.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-module-imports': 7.25.9(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.26.0)(supports-color@8.1.1) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0)(supports-color@8.1.1) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.26.0)(supports-color@8.1.1) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-shorthand-properties@7.25.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-spread@7.25.7(@babel/core@7.26.0)(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.25.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-template-literals@7.25.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-typeof-symbol@7.25.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-typescript@7.25.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1(supports-color@8.1.1) + '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-typescript@7.5.5(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-unicode-escapes@7.25.7(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-dotall-regex@7.25.7(@babel/core@7.26.0)': + '@babel/plugin-transform-unicode-property-regex@7.25.7(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-duplicate-keys@7.25.7(@babel/core@7.26.0)': + '@babel/plugin-transform-unicode-regex@7.25.7(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.7(@babel/core@7.26.0)': + '@babel/plugin-transform-unicode-sets-regex@7.25.7(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-dynamic-import@7.25.8(@babel/core@7.26.0)': + '@babel/polyfill@7.12.1': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + core-js: 2.6.12 + regenerator-runtime: 0.13.11 - '@babel/plugin-transform-exponentiation-operator@7.25.7(@babel/core@7.26.0)': + '@babel/preset-env@7.25.8(@babel/core@7.26.0)(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.7 + '@babel/compat-data': 7.25.8 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-compilation-targets': 7.25.7 '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-validator-option': 7.25.7 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0) + '@babel/plugin-syntax-import-assertions': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-syntax-import-attributes': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.0) + '@babel/plugin-transform-arrow-functions': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-async-generator-functions': 7.25.8(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-transform-async-to-generator': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-transform-block-scoped-functions': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoping': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-transform-class-static-block': 7.27.1(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-transform-classes': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-transform-computed-properties': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-destructuring': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-dotall-regex': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-keys': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-dynamic-import': 7.25.8(@babel/core@7.26.0) + '@babel/plugin-transform-exponentiation-operator': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-transform-export-namespace-from': 7.25.8(@babel/core@7.26.0) + '@babel/plugin-transform-for-of': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-transform-function-name': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-transform-json-strings': 7.25.8(@babel/core@7.26.0) + '@babel/plugin-transform-literals': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-logical-assignment-operators': 7.25.8(@babel/core@7.26.0) + '@babel/plugin-transform-member-expression-literals': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-modules-amd': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-transform-modules-commonjs': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-transform-modules-systemjs': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-transform-modules-umd': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-transform-named-capturing-groups-regex': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-new-target': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.25.8(@babel/core@7.26.0) + '@babel/plugin-transform-numeric-separator': 7.25.8(@babel/core@7.26.0) + '@babel/plugin-transform-object-rest-spread': 7.25.8(@babel/core@7.26.0) + '@babel/plugin-transform-object-super': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-transform-optional-catch-binding': 7.25.8(@babel/core@7.26.0) + '@babel/plugin-transform-optional-chaining': 7.25.8(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-transform-parameters': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-private-methods': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-transform-private-property-in-object': 7.25.8(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-transform-property-literals': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-regenerator': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-reserved-words': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-shorthand-properties': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-spread': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-transform-sticky-regex': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-template-literals': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-typeof-symbol': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-escapes': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-property-regex': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-regex': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-sets-regex': 7.25.7(@babel/core@7.26.0) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.0) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.26.0)(supports-color@8.1.1) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0)(supports-color@8.1.1) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.26.0)(supports-color@8.1.1) + core-js-compat: 3.38.1 + semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-export-namespace-from@7.25.8(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-for-of@7.25.7(@babel/core@7.26.0)': + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/types': 7.26.5 + esutils: 2.0.3 - '@babel/plugin-transform-function-name@7.25.7(@babel/core@7.26.0)': + '@babel/runtime@7.12.18': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/traverse': 7.26.5 - transitivePeerDependencies: - - supports-color + regenerator-runtime: 0.13.11 - '@babel/plugin-transform-json-strings@7.25.8(@babel/core@7.26.0)': + '@babel/runtime@7.25.7': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + regenerator-runtime: 0.14.1 - '@babel/plugin-transform-literals@7.25.7(@babel/core@7.26.0)': + '@babel/template@7.25.7': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.27.3 + '@babel/types': 7.27.3 - '@babel/plugin-transform-logical-assignment-operators@7.25.8(@babel/core@7.26.0)': + '@babel/template@7.25.9': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.5 + '@babel/types': 7.26.5 - '@babel/plugin-transform-member-expression-literals@7.25.7(@babel/core@7.26.0)': + '@babel/template@7.27.2': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.27.3 + '@babel/types': 7.27.3 - '@babel/plugin-transform-modules-amd@7.25.7(@babel/core@7.26.0)': + '@babel/traverse@7.26.5(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.5 + '@babel/parser': 7.26.5 + '@babel/template': 7.25.9 + '@babel/types': 7.26.5 + debug: 4.3.7(supports-color@8.1.1) + globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-commonjs@7.25.7(@babel/core@7.26.0)': + '@babel/traverse@7.27.3(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-simple-access': 7.25.7 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.27.3 + '@babel/parser': 7.27.3 + '@babel/template': 7.27.2 + '@babel/types': 7.27.3 + debug: 4.3.7(supports-color@8.1.1) + globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.25.7(@babel/core@7.26.0)': + '@babel/types@7.25.8': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-string-parser': 7.25.7 '@babel/helper-validator-identifier': 7.25.7 - '@babel/traverse': 7.26.5 - transitivePeerDependencies: - - supports-color + to-fast-properties: 2.0.0 - '@babel/plugin-transform-modules-umd@7.25.7(@babel/core@7.26.0)': + '@babel/types@7.26.5': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.26.5 - transitivePeerDependencies: - - supports-color + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 - '@babel/plugin-transform-named-capturing-groups-regex@7.25.7(@babel/core@7.26.0)': + '@babel/types@7.27.3': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 - '@babel/plugin-transform-new-target@7.25.7(@babel/core@7.26.0)': + '@cnakazawa/watch@1.0.4': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + exec-sh: 0.3.6 + minimist: 1.2.8 - '@babel/plugin-transform-nullish-coalescing-operator@7.25.8(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@colors/colors@1.5.0': + optional: true - '@babel/plugin-transform-numeric-separator@7.25.8(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@csstools/color-helpers@5.0.2': {} - '@babel/plugin-transform-object-rest-spread@7.25.8(@babel/core@7.26.0)': + '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-parameters': 7.25.7(@babel/core@7.26.0) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 - '@babel/plugin-transform-object-super@7.25.7(@babel/core@7.26.0)': + '@csstools/css-color-parser@3.0.10(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.0) - transitivePeerDependencies: - - supports-color + '@csstools/color-helpers': 5.0.2 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 - '@babel/plugin-transform-optional-catch-binding@7.25.8(@babel/core@7.26.0)': + '@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@csstools/css-tokenizer': 2.4.1 - '@babel/plugin-transform-optional-chaining@7.25.8(@babel/core@7.26.0)': + '@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color + '@csstools/css-tokenizer': 3.0.3 - '@babel/plugin-transform-parameters@7.25.7(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@csstools/css-tokenizer@2.4.1': {} - '@babel/plugin-transform-private-methods@7.25.7(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.26.5 - transitivePeerDependencies: - - supports-color + '@csstools/css-tokenizer@3.0.3': {} - '@babel/plugin-transform-private-property-in-object@7.25.8(@babel/core@7.26.0)': + '@csstools/media-query-list-parser@2.1.13(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.26.5 - transitivePeerDependencies: - - supports-color + '@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1) + '@csstools/css-tokenizer': 2.4.1 - '@babel/plugin-transform-property-literals@7.25.7(@babel/core@7.26.0)': + '@csstools/media-query-list-parser@4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 - '@babel/plugin-transform-regenerator@7.25.7(@babel/core@7.26.0)': + '@csstools/selector-specificity@3.1.1(postcss-selector-parser@6.1.2)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 - regenerator-transform: 0.15.2 + postcss-selector-parser: 6.1.2 - '@babel/plugin-transform-reserved-words@7.25.7(@babel/core@7.26.0)': + '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.0.0)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + postcss-selector-parser: 7.0.0 - '@babel/plugin-transform-runtime@7.25.7(@babel/core@7.26.0)': + '@dual-bundle/import-meta-resolve@4.1.0': {} + + '@ember-data/rfc395-data@0.0.4': {} + + '@ember-decorators/component@6.1.1': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.26.5 - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.26.0) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.26.0) - semver: 6.3.1 + '@ember-decorators/utils': 6.1.1 + ember-cli-babel: 7.26.11 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-shorthand-properties@7.25.7(@babel/core@7.26.0)': + '@ember-decorators/object@6.1.1': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@ember-decorators/utils': 6.1.1 + ember-cli-babel: 7.26.11 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-spread@7.25.7(@babel/core@7.26.0)': + '@ember-decorators/utils@6.1.1': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + ember-cli-babel: 7.26.11 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-sticky-regex@7.25.7(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@ember/edition-utils@1.2.0': {} - '@babel/plugin-transform-template-literals@7.25.7(@babel/core@7.26.0)': + '@ember/legacy-built-in-components@0.4.2(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + '@embroider/macros': 1.16.9(@glint/template@1.5.1) + ember-cli-babel: 7.26.11 + ember-cli-htmlbars: 5.7.2 + ember-cli-typescript: 4.2.1 + ember-source: 5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1) + transitivePeerDependencies: + - '@glint/template' + - supports-color - '@babel/plugin-transform-typeof-symbol@7.25.7(@babel/core@7.26.0)': + '@ember/optional-features@2.2.0': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + chalk: 4.1.2 + ember-cli-version-checker: 5.1.2 + glob: 7.2.3 + inquirer: 7.3.3 + mkdirp: 1.0.4 + silent-error: 1.1.1 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-typescript@7.25.7(@babel/core@7.26.0)': + '@ember/render-modifiers@2.1.0(@babel/core@7.26.0)(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.7 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 - '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.26.0) + '@embroider/macros': 1.16.9(@glint/template@1.5.1) + ember-cli-babel: 7.26.11 + ember-modifier-manager-polyfill: 1.2.0(@babel/core@7.26.0) + ember-source: 5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1) + optionalDependencies: + '@glint/template': 1.5.1 transitivePeerDependencies: + - '@babel/core' - supports-color - '@babel/plugin-transform-typescript@7.5.5(@babel/core@7.26.0)': + '@ember/render-modifiers@3.0.0(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.26.0) + '@babel/core': 7.26.0(supports-color@8.1.1) + '@embroider/macros': 1.16.9(@glint/template@1.5.1) + ember-cli-babel: 8.2.0(@babel/core@7.26.0) + ember-modifier-manager-polyfill: 1.2.0(@babel/core@7.26.0) + ember-source: 5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1) + optionalDependencies: + '@glint/template': 1.5.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-unicode-escapes@7.25.7(@babel/core@7.26.0)': + '@ember/string@3.1.1': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 + ember-cli-babel: 7.26.11 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-unicode-property-regex@7.25.7(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.26.5 + '@ember/string@4.0.0': {} - '@babel/plugin-transform-unicode-regex@7.25.7(@babel/core@7.26.0)': + '@ember/test-helpers@4.0.4(@babel/core@7.26.0)(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.26.5 + '@ember/test-waiters': 3.1.0 + '@embroider/addon-shim': 1.8.9 + '@embroider/macros': 1.16.9(@glint/template@1.5.1) + '@simple-dom/interface': 1.4.0 + decorator-transforms: 2.2.2(@babel/core@7.26.0) + dom-element-descriptors: 0.5.1 + ember-source: 5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1) + transitivePeerDependencies: + - '@babel/core' + - '@glint/template' + - supports-color - '@babel/plugin-transform-unicode-sets-regex@7.25.7(@babel/core@7.26.0)': + '@ember/test-waiters@3.1.0': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.26.5 + calculate-cache-key-for-tree: 2.0.0 + ember-cli-babel: 7.26.11 + ember-cli-version-checker: 5.1.2 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color - '@babel/polyfill@7.12.1': + '@embroider/addon-shim@1.10.0': dependencies: - core-js: 2.6.12 - regenerator-runtime: 0.13.11 + '@embroider/shared-internals': 3.0.0 + broccoli-funnel: 3.0.8 + common-ancestor-path: 1.0.1 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color - '@babel/preset-env@7.25.8(@babel/core@7.26.0)': + '@embroider/addon-shim@1.8.9': dependencies: - '@babel/compat-data': 7.25.8 - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-validator-option': 7.25.7 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0) - '@babel/plugin-syntax-import-assertions': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-syntax-import-attributes': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.0) - '@babel/plugin-transform-arrow-functions': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-async-generator-functions': 7.25.8(@babel/core@7.26.0) - '@babel/plugin-transform-async-to-generator': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-block-scoped-functions': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-block-scoping': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.26.0) - '@babel/plugin-transform-class-static-block': 7.27.1(@babel/core@7.26.0) - '@babel/plugin-transform-classes': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-computed-properties': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-destructuring': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-dotall-regex': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-duplicate-keys': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-dynamic-import': 7.25.8(@babel/core@7.26.0) - '@babel/plugin-transform-exponentiation-operator': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-export-namespace-from': 7.25.8(@babel/core@7.26.0) - '@babel/plugin-transform-for-of': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-function-name': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-json-strings': 7.25.8(@babel/core@7.26.0) - '@babel/plugin-transform-literals': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-logical-assignment-operators': 7.25.8(@babel/core@7.26.0) - '@babel/plugin-transform-member-expression-literals': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-modules-amd': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-modules-commonjs': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-modules-systemjs': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-modules-umd': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-new-target': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-nullish-coalescing-operator': 7.25.8(@babel/core@7.26.0) - '@babel/plugin-transform-numeric-separator': 7.25.8(@babel/core@7.26.0) - '@babel/plugin-transform-object-rest-spread': 7.25.8(@babel/core@7.26.0) - '@babel/plugin-transform-object-super': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-optional-catch-binding': 7.25.8(@babel/core@7.26.0) - '@babel/plugin-transform-optional-chaining': 7.25.8(@babel/core@7.26.0) - '@babel/plugin-transform-parameters': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-private-methods': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-private-property-in-object': 7.25.8(@babel/core@7.26.0) - '@babel/plugin-transform-property-literals': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-regenerator': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-reserved-words': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-shorthand-properties': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-spread': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-sticky-regex': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-template-literals': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-typeof-symbol': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-escapes': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-property-regex': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-regex': 7.25.7(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-sets-regex': 7.25.7(@babel/core@7.26.0) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.0) - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.26.0) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.26.0) - core-js-compat: 3.38.1 - semver: 6.3.1 + '@embroider/shared-internals': 2.8.1 + broccoli-funnel: 3.0.8 + common-ancestor-path: 1.0.1 + semver: 7.6.3 transitivePeerDependencies: - supports-color - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.0)': + '@embroider/babel-loader-9@3.1.2(@embroider/core@3.5.7(@glint/template@1.5.1))(supports-color@8.1.1)(webpack@5.97.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/types': 7.26.5 - esutils: 2.0.3 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@embroider/core': 3.5.7(@glint/template@1.5.1) + babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.97.1) + transitivePeerDependencies: + - supports-color + - webpack - '@babel/runtime@7.12.18': + '@embroider/babel-loader-9@3.1.2(@embroider/core@4.1.1(@glint/template@1.5.1))(supports-color@8.1.1)(webpack@5.97.1)': dependencies: - regenerator-runtime: 0.13.11 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@embroider/core': 4.1.1(@glint/template@1.5.1) + babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.97.1) + transitivePeerDependencies: + - supports-color + - webpack + optional: true - '@babel/runtime@7.25.7': + '@embroider/compat@3.9.1(@embroider/core@3.5.7(@glint/template@1.5.1))(@glint/template@1.5.1)': dependencies: - regenerator-runtime: 0.14.1 + '@babel/code-frame': 7.27.1 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-runtime': 7.25.7(@babel/core@7.26.0) + '@babel/preset-env': 7.25.8(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/runtime': 7.25.7 + '@babel/traverse': 7.27.3(supports-color@8.1.1) + '@embroider/core': 3.5.7(@glint/template@1.5.1) + '@embroider/macros': 1.16.9(@glint/template@1.5.1) + '@types/babel__code-frame': 7.0.6 + '@types/yargs': 17.0.33 + assert-never: 1.3.0 + babel-import-util: 2.1.1 + babel-plugin-ember-template-compilation: 2.3.0 + babel-plugin-syntax-dynamic-import: 6.18.0 + babylon: 6.18.0 + bind-decorator: 1.0.11 + broccoli: 3.5.2 + broccoli-concat: 4.2.5 + broccoli-file-creator: 2.1.1 + broccoli-funnel: 3.0.8 + broccoli-merge-trees: 4.2.0 + broccoli-persistent-filter: 3.1.3 + broccoli-plugin: 4.0.7 + broccoli-source: 3.0.1 + chalk: 4.1.2 + debug: 4.3.7(supports-color@8.1.1) + escape-string-regexp: 4.0.0 + fast-sourcemap-concat: 2.1.1 + fs-extra: 9.1.0 + fs-tree-diff: 2.0.1 + jsdom: 25.0.1(supports-color@8.1.1) + lodash: 4.17.21 + pkg-up: 3.1.0 + resolve: 1.22.8 + resolve-package-path: 4.0.3 + semver: 7.6.3 + symlink-or-copy: 1.3.1 + tree-sync: 2.1.0 + typescript-memoize: 1.1.1 + walk-sync: 3.0.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@glint/template' + - bufferutil + - canvas + - supports-color + - utf-8-validate - '@babel/template@7.25.7': + '@embroider/compat@4.1.0(@embroider/core@4.1.1(@glint/template@1.5.1))(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)': dependencies: - '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.5 - '@babel/types': 7.26.5 + '@babel/code-frame': 7.27.1 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-runtime': 7.25.7(@babel/core@7.26.0) + '@babel/preset-env': 7.25.8(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/runtime': 7.25.7 + '@babel/traverse': 7.27.3(supports-color@8.1.1) + '@embroider/core': 4.1.1(@glint/template@1.5.1) + '@embroider/macros': 1.18.0(@glint/template@1.5.1) + '@types/babel__code-frame': 7.0.6 + assert-never: 1.3.0 + babel-import-util: 3.0.1 + babel-plugin-debug-macros: 1.0.2(@babel/core@7.26.0) + babel-plugin-ember-template-compilation: 3.0.0 + babel-plugin-ember-template-compilation-2: babel-plugin-ember-template-compilation@2.4.1 + babel-plugin-syntax-dynamic-import: 6.18.0 + babylon: 6.18.0 + bind-decorator: 1.0.11 + broccoli: 3.5.2 + broccoli-concat: 4.2.5 + broccoli-file-creator: 2.1.1 + broccoli-funnel: 3.0.8 + broccoli-merge-trees: 4.2.0 + broccoli-persistent-filter: 3.1.3 + broccoli-plugin: 4.0.7 + broccoli-source: 3.0.1 + chalk: 4.1.2 + debug: 4.4.1(supports-color@8.1.1) + ember-source: 6.1.0-beta.1(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1) + fast-sourcemap-concat: 2.1.1 + fs-extra: 9.1.0 + fs-tree-diff: 2.0.1 + jsdom: 25.0.1(supports-color@8.1.1) + lodash: 4.17.21 + pkg-up: 3.1.0 + resolve: 1.22.8 + resolve-package-path: 4.0.3 + resolve.exports: 2.0.3 + semver: 7.6.3 + symlink-or-copy: 1.3.1 + tree-sync: 2.1.0 + typescript-memoize: 1.1.1 + walk-sync: 3.0.0 + transitivePeerDependencies: + - '@glimmer/component' + - '@glint/template' + - bufferutil + - canvas + - rsvp + - supports-color + - utf-8-validate + - webpack - '@babel/template@7.25.9': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.5 - '@babel/types': 7.26.5 + '@embroider/config-meta-loader@1.0.0': {} - '@babel/template@7.27.2': + '@embroider/core@3.5.7(@glint/template@1.5.1)': dependencies: - '@babel/code-frame': 7.27.1 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/parser': 7.27.3 - '@babel/types': 7.27.3 - - '@babel/traverse@7.26.5': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.5 - '@babel/parser': 7.26.5 - '@babel/template': 7.25.9 - '@babel/types': 7.26.5 - debug: 4.3.7 - globals: 11.12.0 + '@babel/traverse': 7.27.3(supports-color@8.1.1) + '@embroider/macros': 1.16.9(@glint/template@1.5.1) + '@embroider/shared-internals': 2.9.1(supports-color@8.1.1) + assert-never: 1.3.0 + babel-plugin-ember-template-compilation: 2.3.0 + broccoli-node-api: 1.7.0 + broccoli-persistent-filter: 3.1.3 + broccoli-plugin: 4.0.7 + broccoli-source: 3.0.1 + debug: 4.3.7(supports-color@8.1.1) + fast-sourcemap-concat: 2.1.1 + filesize: 10.1.6 + fs-extra: 9.1.0 + fs-tree-diff: 2.0.1 + handlebars: 4.7.8 + js-string-escape: 1.0.1 + jsdom: 25.0.1(supports-color@8.1.1) + lodash: 4.17.21 + resolve: 1.22.8 + resolve-package-path: 4.0.3 + semver: 7.6.3 + typescript-memoize: 1.1.1 + walk-sync: 3.0.0 transitivePeerDependencies: + - '@glint/template' + - bufferutil + - canvas - supports-color + - utf-8-validate - '@babel/traverse@7.27.3': + '@embroider/core@4.1.1(@glint/template@1.5.1)': dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.27.3 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/parser': 7.27.3 - '@babel/template': 7.27.2 - '@babel/types': 7.27.3 - debug: 4.3.7 - globals: 11.12.0 + '@babel/traverse': 7.27.3(supports-color@8.1.1) + '@embroider/macros': 1.18.0(@glint/template@1.5.1) + '@embroider/reverse-exports': 0.1.2 + '@embroider/shared-internals': 3.0.0 + assert-never: 1.3.0 + babel-plugin-ember-template-compilation: 3.0.0 + broccoli-node-api: 1.7.0 + broccoli-persistent-filter: 3.1.3 + broccoli-plugin: 4.0.7 + broccoli-source: 3.0.1 + debug: 4.4.1(supports-color@8.1.1) + escape-string-regexp: 4.0.0 + fast-sourcemap-concat: 2.1.1 + fs-extra: 9.1.0 + fs-tree-diff: 2.0.1 + handlebars: 4.7.8 + js-string-escape: 1.0.1 + jsdom: 25.0.1(supports-color@8.1.1) + lodash: 4.17.21 + resolve: 1.22.8 + resolve-package-path: 4.0.3 + resolve.exports: 2.0.3 + semver: 7.6.3 + typescript-memoize: 1.1.1 + walk-sync: 3.0.0 transitivePeerDependencies: + - '@glint/template' + - bufferutil + - canvas - supports-color + - utf-8-validate - '@babel/types@7.25.8': - dependencies: - '@babel/helper-string-parser': 7.25.7 - '@babel/helper-validator-identifier': 7.25.7 - to-fast-properties: 2.0.0 - - '@babel/types@7.26.5': - dependencies: - '@babel/helper-string-parser': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - - '@babel/types@7.27.3': + '@embroider/hbs-loader@3.0.4(@embroider/core@3.5.7(@glint/template@1.5.1))(webpack@5.97.1)': dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 + '@embroider/core': 3.5.7(@glint/template@1.5.1) + webpack: 5.97.1 - '@cnakazawa/watch@1.0.4': + '@embroider/hbs-loader@3.0.4(@embroider/core@4.1.1(@glint/template@1.5.1))(webpack@5.97.1)': dependencies: - exec-sh: 0.3.6 - minimist: 1.2.8 - - '@colors/colors@1.5.0': + '@embroider/core': 4.1.1(@glint/template@1.5.1) + webpack: 5.97.1 optional: true - '@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)': - dependencies: - '@csstools/css-tokenizer': 3.0.3 - - '@csstools/css-tokenizer@3.0.3': {} - - '@csstools/media-query-list-parser@4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - - '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.0.0)': - dependencies: - postcss-selector-parser: 7.0.0 - - '@dual-bundle/import-meta-resolve@4.1.0': {} - - '@ember-data/rfc395-data@0.0.4': {} - - '@ember-decorators/component@6.1.1': + '@embroider/macros@1.16.9(@glint/template@1.5.1)': dependencies: - '@ember-decorators/utils': 6.1.1 + '@embroider/shared-internals': 2.8.1 + assert-never: 1.3.0 + babel-import-util: 2.1.1 ember-cli-babel: 7.26.11 + find-up: 5.0.0 + lodash: 4.17.21 + resolve: 1.22.8 + semver: 7.6.3 + optionalDependencies: + '@glint/template': 1.5.1 transitivePeerDependencies: - supports-color - '@ember-decorators/object@6.1.1': + '@embroider/macros@1.18.0(@glint/template@1.5.1)': dependencies: - '@ember-decorators/utils': 6.1.1 + '@embroider/shared-internals': 3.0.0 + assert-never: 1.3.0 + babel-import-util: 3.0.1 ember-cli-babel: 7.26.11 + find-up: 5.0.0 + lodash: 4.17.21 + resolve: 1.22.8 + semver: 7.6.3 + optionalDependencies: + '@glint/template': 1.5.1 transitivePeerDependencies: - supports-color - '@ember-decorators/utils@6.1.1': + '@embroider/reverse-exports@0.1.2': dependencies: - ember-cli-babel: 7.26.11 - transitivePeerDependencies: - - supports-color - - '@ember/edition-utils@1.2.0': {} + mem: 8.1.1 + resolve.exports: 2.0.3 - '@ember/legacy-built-in-components@0.4.2(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))': + '@embroider/router@3.0.1(@embroider/core@4.1.1(@glint/template@1.5.1))': dependencies: - '@embroider/macros': 1.16.9(@glint/template@1.5.1) - ember-cli-babel: 7.26.11 - ember-cli-htmlbars: 5.7.2 - ember-cli-typescript: 4.2.1 - ember-source: 5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1) + '@ember/test-waiters': 3.1.0 + '@embroider/addon-shim': 1.10.0 + optionalDependencies: + '@embroider/core': 4.1.1(@glint/template@1.5.1) transitivePeerDependencies: - - '@glint/template' - supports-color - '@ember/optional-features@2.2.0': + '@embroider/shared-internals@2.8.1': dependencies: - chalk: 4.1.2 - ember-cli-version-checker: 5.1.2 - glob: 7.2.3 - inquirer: 7.3.3 - mkdirp: 1.0.4 - silent-error: 1.1.1 + babel-import-util: 2.1.1 + debug: 4.3.7(supports-color@8.1.1) + ember-rfc176-data: 0.3.18 + fs-extra: 9.1.0 + is-subdir: 1.2.0 + js-string-escape: 1.0.1 + lodash: 4.17.21 + minimatch: 3.1.2 + pkg-entry-points: 1.1.0 + resolve-package-path: 4.0.3 + semver: 7.6.3 + typescript-memoize: 1.1.1 transitivePeerDependencies: - supports-color - '@ember/render-modifiers@2.1.0(@babel/core@7.26.0)(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))': + '@embroider/shared-internals@2.9.1(supports-color@8.1.1)': dependencies: - '@embroider/macros': 1.16.9(@glint/template@1.5.1) - ember-cli-babel: 7.26.11 - ember-modifier-manager-polyfill: 1.2.0(@babel/core@7.26.0) - ember-source: 5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1) - optionalDependencies: - '@glint/template': 1.5.1 + babel-import-util: 2.1.1 + debug: 4.3.7(supports-color@8.1.1) + ember-rfc176-data: 0.3.18 + fs-extra: 9.1.0 + is-subdir: 1.2.0 + js-string-escape: 1.0.1 + lodash: 4.17.21 + minimatch: 3.1.2 + pkg-entry-points: 1.1.0 + resolve-package-path: 4.0.3 + semver: 7.6.3 + typescript-memoize: 1.1.1 transitivePeerDependencies: - - '@babel/core' - supports-color - '@ember/string@3.1.1': + '@embroider/shared-internals@3.0.0': dependencies: - ember-cli-babel: 7.26.11 + babel-import-util: 3.0.1 + debug: 4.4.1(supports-color@8.1.1) + ember-rfc176-data: 0.3.18 + fs-extra: 9.1.0 + is-subdir: 1.2.0 + js-string-escape: 1.0.1 + lodash: 4.17.21 + minimatch: 3.1.2 + pkg-entry-points: 1.1.0 + resolve-package-path: 4.0.3 + resolve.exports: 2.0.3 + semver: 7.6.3 + typescript-memoize: 1.1.1 transitivePeerDependencies: - supports-color - '@ember/string@4.0.0': {} - - '@ember/test-helpers@4.0.4(@babel/core@7.26.0)(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))': + '@embroider/test-setup@4.0.0(@embroider/compat@4.1.0(@embroider/core@4.1.1(@glint/template@1.5.1))(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))(@embroider/core@4.1.1(@glint/template@1.5.1))(@embroider/webpack@4.1.1(@embroider/core@4.1.1(@glint/template@1.5.1))(webpack@5.97.1))': dependencies: - '@ember/test-waiters': 3.1.0 - '@embroider/addon-shim': 1.8.9 - '@embroider/macros': 1.16.9(@glint/template@1.5.1) - '@simple-dom/interface': 1.4.0 - decorator-transforms: 2.2.2(@babel/core@7.26.0) - dom-element-descriptors: 0.5.1 - ember-source: 5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1) - transitivePeerDependencies: - - '@babel/core' - - '@glint/template' - - supports-color + lodash: 4.17.21 + resolve: 1.22.8 + optionalDependencies: + '@embroider/compat': 4.1.0(@embroider/core@4.1.1(@glint/template@1.5.1))(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1) + '@embroider/core': 4.1.1(@glint/template@1.5.1) + '@embroider/webpack': 4.1.1(@embroider/core@4.1.1(@glint/template@1.5.1))(webpack@5.97.1) - '@ember/test-waiters@3.1.0': + '@embroider/vite@1.1.5(@embroider/core@4.1.1(@glint/template@1.5.1))(@glint/template@1.5.1)(rollup@4.41.1)(vite@6.3.5(@types/node@22.7.5)(sass@1.79.4)(terser@5.34.1))': dependencies: - calculate-cache-key-for-tree: 2.0.0 - ember-cli-babel: 7.26.11 - ember-cli-version-checker: 5.1.2 - semver: 7.6.3 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@embroider/core': 4.1.1(@glint/template@1.5.1) + '@embroider/macros': 1.18.0(@glint/template@1.5.1) + '@embroider/reverse-exports': 0.1.2 + '@rollup/pluginutils': 5.1.4(rollup@4.41.1) + assert-never: 1.3.0 + browserslist: 4.24.0 + browserslist-to-esbuild: 2.1.1(browserslist@4.24.0) + content-tag: 3.1.3 + debug: 4.4.1(supports-color@8.1.1) + fast-glob: 3.3.3 + fs-extra: 10.1.0 + jsdom: 25.0.1(supports-color@8.1.1) + send: 0.18.0 + source-map-url: 0.4.1 + terser: 5.34.1 + vite: 6.3.5(@types/node@22.7.5)(sass@1.79.4)(terser@5.34.1) transitivePeerDependencies: + - '@glint/template' + - bufferutil + - canvas + - rollup - supports-color + - utf-8-validate - '@embroider/addon-shim@1.8.9': + '@embroider/webpack@4.1.1(@embroider/core@3.5.7(@glint/template@1.5.1))(webpack@5.97.1)': dependencies: - '@embroider/shared-internals': 2.8.1 - broccoli-funnel: 3.0.8 - common-ancestor-path: 1.0.1 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/preset-env': 7.25.8(@babel/core@7.26.0)(supports-color@8.1.1) + '@embroider/babel-loader-9': 3.1.2(@embroider/core@3.5.7(@glint/template@1.5.1))(supports-color@8.1.1)(webpack@5.97.1) + '@embroider/core': 3.5.7(@glint/template@1.5.1) + '@embroider/hbs-loader': 3.0.4(@embroider/core@3.5.7(@glint/template@1.5.1))(webpack@5.97.1) + '@embroider/shared-internals': 2.9.1(supports-color@8.1.1) + '@types/supports-color': 8.1.3 + assert-never: 1.3.0 + babel-loader: 8.4.1(@babel/core@7.26.0)(webpack@5.97.1) + css-loader: 5.2.7(webpack@5.97.1) + csso: 4.2.0 + debug: 4.3.7(supports-color@8.1.1) + escape-string-regexp: 4.0.0 + fs-extra: 9.1.0 + jsdom: 25.0.1(supports-color@8.1.1) + lodash: 4.17.21 + mini-css-extract-plugin: 2.9.1(webpack@5.97.1) semver: 7.6.3 + source-map-url: 0.4.1 + style-loader: 2.0.0(webpack@5.97.1) + supports-color: 8.1.1 + terser: 5.34.1 + thread-loader: 3.0.4(webpack@5.97.1) + webpack: 5.97.1 transitivePeerDependencies: - - supports-color + - bufferutil + - canvas + - utf-8-validate - '@embroider/macros@1.16.9(@glint/template@1.5.1)': + '@embroider/webpack@4.1.1(@embroider/core@4.1.1(@glint/template@1.5.1))(webpack@5.97.1)': dependencies: - '@embroider/shared-internals': 2.8.1 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/preset-env': 7.25.8(@babel/core@7.26.0)(supports-color@8.1.1) + '@embroider/babel-loader-9': 3.1.2(@embroider/core@4.1.1(@glint/template@1.5.1))(supports-color@8.1.1)(webpack@5.97.1) + '@embroider/core': 4.1.1(@glint/template@1.5.1) + '@embroider/hbs-loader': 3.0.4(@embroider/core@4.1.1(@glint/template@1.5.1))(webpack@5.97.1) + '@embroider/shared-internals': 2.9.1(supports-color@8.1.1) + '@types/supports-color': 8.1.3 assert-never: 1.3.0 - babel-import-util: 2.1.1 - ember-cli-babel: 7.26.11 - find-up: 5.0.0 + babel-loader: 8.4.1(@babel/core@7.26.0)(webpack@5.97.1) + css-loader: 5.2.7(webpack@5.97.1) + csso: 4.2.0 + debug: 4.3.7(supports-color@8.1.1) + escape-string-regexp: 4.0.0 + fs-extra: 9.1.0 + jsdom: 25.0.1(supports-color@8.1.1) lodash: 4.17.21 - resolve: 1.22.8 + mini-css-extract-plugin: 2.9.1(webpack@5.97.1) semver: 7.6.3 - optionalDependencies: - '@glint/template': 1.5.1 + source-map-url: 0.4.1 + style-loader: 2.0.0(webpack@5.97.1) + supports-color: 8.1.1 + terser: 5.34.1 + thread-loader: 3.0.4(webpack@5.97.1) + webpack: 5.97.1 transitivePeerDependencies: - - supports-color + - bufferutil + - canvas + - utf-8-validate + optional: true + + '@esbuild/aix-ppc64@0.25.5': + optional: true + + '@esbuild/android-arm64@0.25.5': + optional: true + + '@esbuild/android-arm@0.25.5': + optional: true + + '@esbuild/android-x64@0.25.5': + optional: true + + '@esbuild/darwin-arm64@0.25.5': + optional: true + + '@esbuild/darwin-x64@0.25.5': + optional: true + + '@esbuild/freebsd-arm64@0.25.5': + optional: true + + '@esbuild/freebsd-x64@0.25.5': + optional: true + + '@esbuild/linux-arm64@0.25.5': + optional: true + + '@esbuild/linux-arm@0.25.5': + optional: true + + '@esbuild/linux-ia32@0.25.5': + optional: true + + '@esbuild/linux-loong64@0.25.5': + optional: true + + '@esbuild/linux-mips64el@0.25.5': + optional: true + + '@esbuild/linux-ppc64@0.25.5': + optional: true + + '@esbuild/linux-riscv64@0.25.5': + optional: true + + '@esbuild/linux-s390x@0.25.5': + optional: true + + '@esbuild/linux-x64@0.25.5': + optional: true + + '@esbuild/netbsd-arm64@0.25.5': + optional: true + + '@esbuild/netbsd-x64@0.25.5': + optional: true + + '@esbuild/openbsd-arm64@0.25.5': + optional: true + + '@esbuild/openbsd-x64@0.25.5': + optional: true + + '@esbuild/sunos-x64@0.25.5': + optional: true + + '@esbuild/win32-arm64@0.25.5': + optional: true - '@embroider/shared-internals@2.8.1': - dependencies: - babel-import-util: 2.1.1 - debug: 4.3.7 - ember-rfc176-data: 0.3.18 - fs-extra: 9.1.0 - is-subdir: 1.2.0 - js-string-escape: 1.0.1 - lodash: 4.17.21 - minimatch: 3.1.2 - pkg-entry-points: 1.1.0 - resolve-package-path: 4.0.3 - semver: 7.6.3 - typescript-memoize: 1.1.1 - transitivePeerDependencies: - - supports-color + '@esbuild/win32-ia32@0.25.5': + optional: true + + '@esbuild/win32-x64@0.25.5': + optional: true '@eslint-community/eslint-utils@4.4.0(eslint@9.18.0)': dependencies: @@ -10272,7 +12186,7 @@ snapshots: '@eslint/config-array@0.19.1': dependencies: '@eslint/object-schema': 2.1.5 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -10284,7 +12198,7 @@ snapshots: '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) espree: 10.3.0 globals: 14.0.0 ignore: 5.3.2 @@ -10370,6 +12284,11 @@ snapshots: dependencies: '@simple-dom/interface': 1.4.0 + '@glimmer/interfaces@0.94.6': + dependencies: + '@simple-dom/interface': 1.4.0 + type-fest: 4.41.0 + '@glimmer/manager@0.92.4': dependencies: '@glimmer/debug': 0.92.4 @@ -10463,6 +12382,14 @@ snapshots: '@handlebars/parser': 2.0.0 simple-html-tokenizer: 0.5.11 + '@glimmer/syntax@0.94.9': + dependencies: + '@glimmer/interfaces': 0.94.6 + '@glimmer/util': 0.94.8 + '@glimmer/wire-format': 0.94.8 + '@handlebars/parser': 2.0.0 + simple-html-tokenizer: 0.5.11 + '@glimmer/tracking@1.1.2': dependencies: '@glimmer/env': 0.1.7 @@ -10481,6 +12408,10 @@ snapshots: '@glimmer/env': 0.1.7 '@glimmer/interfaces': 0.92.3 + '@glimmer/util@0.94.8': + dependencies: + '@glimmer/interfaces': 0.94.6 + '@glimmer/validator@0.44.0': {} '@glimmer/validator@0.84.3': @@ -10511,6 +12442,10 @@ snapshots: '@glimmer/interfaces': 0.92.3 '@glimmer/util': 0.92.3 + '@glimmer/wire-format@0.94.8': + dependencies: + '@glimmer/interfaces': 0.94.6 + '@glint/environment-ember-loose@1.5.1(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.0(@babel/core@7.26.0)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)))': dependencies: '@glimmer/component': 1.1.2(@babel/core@7.26.0) @@ -10838,10 +12773,21 @@ snapshots: '@pnpm/constants@10.0.0': {} + '@pnpm/constants@7.1.1': {} + + '@pnpm/error@5.0.3': + dependencies: + '@pnpm/constants': 7.1.1 + '@pnpm/error@6.0.3': dependencies: '@pnpm/constants': 10.0.0 + '@pnpm/find-workspace-dir@6.0.3': + dependencies: + '@pnpm/error': 5.0.3 + find-up: 5.0.0 + '@pnpm/find-workspace-dir@7.0.3': dependencies: '@pnpm/error': 6.0.3 @@ -10859,10 +12805,19 @@ snapshots: '@ro0gr/ceibo@2.2.0': {} + '@rollup/plugin-babel@5.3.1(@babel/core@7.26.0)(rollup@4.41.1)': + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-module-imports': 7.25.9(supports-color@8.1.1) + '@rollup/pluginutils': 3.1.0(rollup@4.41.1) + rollup: 4.41.1 + transitivePeerDependencies: + - supports-color + '@rollup/plugin-babel@6.0.4(@babel/core@7.26.0)(rollup@4.41.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-module-imports': 7.25.9(supports-color@8.1.1) '@rollup/pluginutils': 5.1.4(rollup@4.41.1) optionalDependencies: rollup: 4.41.1 @@ -10891,6 +12846,13 @@ snapshots: optionalDependencies: rollup: 4.41.1 + '@rollup/pluginutils@3.1.0(rollup@4.41.1)': + dependencies: + '@types/estree': 0.0.39 + estree-walker: 1.0.1 + picomatch: 2.3.1 + rollup: 4.41.1 + '@rollup/pluginutils@5.1.4(rollup@4.41.1)': dependencies: '@types/estree': 1.0.6 @@ -11013,12 +12975,16 @@ snapshots: '@tootallnate/once@1.1.2': {} + '@tsconfig/ember@1.1.0': {} + '@tsconfig/ember@3.0.8': {} '@types/acorn@4.0.6': dependencies: '@types/estree': 1.0.6 + '@types/babel__code-frame@7.0.6': {} + '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 @@ -11076,6 +13042,8 @@ snapshots: dependencies: '@types/eslint': 8.56.12 + '@types/estree@0.0.39': {} + '@types/estree@1.0.6': {} '@types/estree@1.0.7': {} @@ -11120,6 +13088,8 @@ snapshots: '@types/har-format@1.2.16': {} + '@types/htmlbars-inline-precompile@3.0.3': {} + '@types/http-cache-semantics@4.0.4': {} '@types/http-errors@2.0.4': {} @@ -11144,6 +13114,8 @@ snapshots: '@types/minimatch@5.1.2': {} + '@types/minimist@1.2.5': {} + '@types/ms@0.7.34': {} '@types/node@22.7.5': @@ -11152,10 +13124,14 @@ snapshots: '@types/node@9.6.61': {} + '@types/normalize-package-data@2.4.4': {} + '@types/q@1.5.8': {} '@types/qs@6.9.16': {} + '@types/qunit@2.19.10': {} + '@types/qunit@2.19.12': {} '@types/range-parser@1.2.7': {} @@ -11192,10 +13168,18 @@ snapshots: '@types/sizzle@2.3.8': {} + '@types/supports-color@8.1.3': {} + '@types/symlink-or-copy@1.2.2': {} '@types/unist@2.0.11': {} + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + '@typescript-eslint/eslint-plugin@8.21.0(@typescript-eslint/parser@8.21.0(eslint@9.18.0)(typescript@5.7.3))(eslint@9.18.0)(typescript@5.7.3)': dependencies: '@eslint-community/regexpp': 4.12.1 @@ -11219,7 +13203,7 @@ snapshots: '@typescript-eslint/types': 8.21.0 '@typescript-eslint/typescript-estree': 8.21.0(typescript@5.7.3) '@typescript-eslint/visitor-keys': 8.21.0 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) eslint: 9.18.0 typescript: 5.7.3 transitivePeerDependencies: @@ -11234,7 +13218,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 8.21.0(typescript@5.7.3) '@typescript-eslint/utils': 8.21.0(eslint@9.18.0)(typescript@5.7.3) - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) eslint: 9.18.0 ts-api-utils: 2.0.0(typescript@5.7.3) typescript: 5.7.3 @@ -11247,7 +13231,7 @@ snapshots: dependencies: '@typescript-eslint/types': 8.21.0 '@typescript-eslint/visitor-keys': 8.21.0 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 @@ -11384,13 +13368,13 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.7 + debug: 4.4.1(supports-color@8.1.1) transitivePeerDependencies: - supports-color - agent-base@7.1.1: + agent-base@7.1.1(supports-color@8.1.1): dependencies: - debug: 4.3.7 + debug: 4.4.1(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -11598,6 +13582,8 @@ snapshots: is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.3 + arrify@1.0.1: {} + asn1@0.2.6: dependencies: safer-buffer: 2.1.2 @@ -11630,7 +13616,7 @@ snapshots: async-disk-cache@2.1.0: dependencies: - debug: 4.3.7 + debug: 4.4.1(supports-color@8.1.1) heimdalljs: 0.2.6 istextorbinary: 2.6.0 mkdirp: 0.5.6 @@ -11698,29 +13684,44 @@ snapshots: babel-import-util@3.0.0: {} + babel-import-util@3.0.1: {} + babel-loader@8.4.1(@babel/core@7.26.0)(webpack@5.97.1): dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 webpack: 5.97.1 + babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.97.1): + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + find-cache-dir: 4.0.0 + schema-utils: 4.2.0 + webpack: 5.97.1 + babel-messages@6.23.0: dependencies: babel-runtime: 6.26.0 babel-plugin-debug-macros@0.2.0(@babel/core@7.26.0): dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) semver: 5.7.2 babel-plugin-debug-macros@0.3.4(@babel/core@7.26.0): dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) semver: 5.7.2 + babel-plugin-debug-macros@1.0.2(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + babel-import-util: 2.1.1 + semver: 7.6.3 + babel-plugin-ember-data-packages-polyfill@0.1.2: dependencies: '@ember-data/rfc395-data': 0.0.4 @@ -11734,6 +13735,17 @@ snapshots: '@glimmer/syntax': 0.84.3 babel-import-util: 3.0.0 + babel-plugin-ember-template-compilation@2.4.1: + dependencies: + '@glimmer/syntax': 0.94.9 + babel-import-util: 3.0.1 + + babel-plugin-ember-template-compilation@3.0.0: + dependencies: + '@glimmer/syntax': 0.94.9 + babel-import-util: 3.0.0 + import-meta-resolve: 4.1.0 + babel-plugin-htmlbars-inline-precompile@5.3.1: dependencies: babel-plugin-ember-modules-api-polyfill: 3.5.0 @@ -11776,27 +13788,27 @@ snapshots: reselect: 4.1.8 resolve: 1.22.8 - babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.26.0): + babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.26.0)(supports-color@8.1.1): dependencies: - '@babel/compat-data': 7.25.8 - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.0) + '@babel/compat-data': 7.26.5 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.0)(supports-color@8.1.1) semver: 6.3.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.0): + babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.0)(supports-color@8.1.1): dependencies: - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.0) + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.0)(supports-color@8.1.1) core-js-compat: 3.38.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.26.0): + babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.26.0)(supports-color@8.1.1): dependencies: - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.0) + '@babel/core': 7.26.0(supports-color@8.1.1) + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.0)(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -11804,7 +13816,7 @@ snapshots: babel-plugin-transform-commonjs@1.1.6(@babel/core@7.26.0): dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.25.7 babel-plugin-transform-es2015-modules-amd@6.24.1: @@ -11831,7 +13843,7 @@ snapshots: babel-remove-types@1.0.0: dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/plugin-syntax-decorators': 7.25.7(@babel/core@7.26.0) '@babel/plugin-transform-typescript': 7.25.7(@babel/core@7.26.0) prettier: 2.8.8 @@ -11942,6 +13954,8 @@ snapshots: binaryextensions@2.3.0: {} + bind-decorator@1.0.11: {} + bindings@1.5.0: dependencies: file-uri-to-path: 1.0.0 @@ -11993,7 +14007,7 @@ snapshots: dependencies: ansi-align: 3.0.1 camelcase: 7.0.1 - chalk: 5.3.0 + chalk: 5.4.1 cli-boxes: 3.0.0 string-width: 5.1.2 type-fest: 2.19.0 @@ -12051,7 +14065,7 @@ snapshots: broccoli-babel-transpiler@7.8.1: dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/polyfill': 7.12.1 broccoli-funnel: 2.0.2 broccoli-merge-trees: 3.0.2 @@ -12068,7 +14082,7 @@ snapshots: broccoli-babel-transpiler@8.0.0(@babel/core@7.26.0): dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) broccoli-persistent-filter: 3.1.3 clone: 2.1.2 hash-for-dep: 1.5.1 @@ -12092,6 +14106,17 @@ snapshots: transitivePeerDependencies: - supports-color + broccoli-caching-writer@2.3.1: + dependencies: + broccoli-kitchen-sink-helpers: 0.2.9 + broccoli-plugin: 1.1.0 + debug: 2.6.9 + rimraf: 2.7.1 + rsvp: 3.6.2 + walk-sync: 0.2.7 + transitivePeerDependencies: + - supports-color + broccoli-caching-writer@3.0.3: dependencies: broccoli-kitchen-sink-helpers: 0.3.1 @@ -12207,7 +14232,7 @@ snapshots: dependencies: array-equal: 1.0.2 broccoli-plugin: 4.0.7 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) fs-tree-diff: 2.0.1 heimdalljs: 0.2.6 minimatch: 3.1.2 @@ -12215,6 +14240,11 @@ snapshots: transitivePeerDependencies: - supports-color + broccoli-kitchen-sink-helpers@0.2.9: + dependencies: + glob: 5.0.15 + mkdirp: 0.5.6 + broccoli-kitchen-sink-helpers@0.3.1: dependencies: glob: 5.0.15 @@ -12321,6 +14351,13 @@ snapshots: transitivePeerDependencies: - supports-color + broccoli-plugin@1.1.0: + dependencies: + promise-map-series: 0.2.3 + quick-temp: 0.1.8 + rimraf: 2.7.1 + symlink-or-copy: 1.3.1 + broccoli-plugin@1.3.1: dependencies: promise-map-series: 0.2.3 @@ -12397,6 +14434,16 @@ snapshots: dependencies: broccoli-node-api: 1.7.0 + broccoli-sri-hash@2.1.2: + dependencies: + broccoli-caching-writer: 2.3.1 + mkdirp: 0.5.6 + rsvp: 3.6.2 + sri-toolbox: 0.2.0 + symlink-or-copy: 1.3.1 + transitivePeerDependencies: + - supports-color + broccoli-stew@3.0.0: dependencies: broccoli-debug: 0.6.5 @@ -12405,7 +14452,7 @@ snapshots: broccoli-persistent-filter: 2.3.1 broccoli-plugin: 2.1.0 chalk: 2.4.2 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) ensure-posix-path: 1.1.1 fs-extra: 8.1.0 minimatch: 3.1.2 @@ -12446,7 +14493,7 @@ snapshots: async-promise-queue: 1.0.5 broccoli-plugin: 4.0.7 convert-source-map: 2.0.0 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) lodash.defaultsdeep: 4.6.1 matcher-collection: 2.0.1 symlink-or-copy: 1.3.1 @@ -12485,6 +14532,11 @@ snapshots: transitivePeerDependencies: - supports-color + browserslist-to-esbuild@2.1.1(browserslist@4.24.0): + dependencies: + browserslist: 4.24.0 + meow: 13.2.0 + browserslist@4.24.0: dependencies: caniuse-lite: 1.0.30001667 @@ -12512,6 +14564,12 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 + builtin-modules@3.3.0: {} + + builtins@5.1.0: + dependencies: + semver: 7.6.3 + bundle-name@3.0.0: dependencies: run-applescript: 5.0.0 @@ -12600,6 +14658,11 @@ snapshots: dependencies: json-stable-stringify: 1.1.1 + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + call-bind@1.0.7: dependencies: es-define-property: 1.0.0 @@ -12610,10 +14673,19 @@ snapshots: callsites@3.1.0: {} + camelcase-keys@7.0.2: + dependencies: + camelcase: 6.3.0 + map-obj: 4.3.0 + quick-lru: 5.1.1 + type-fest: 1.4.0 + camelcase@3.0.0: {} camelcase@5.3.1: {} + camelcase@6.3.0: {} + camelcase@7.0.1: {} can-symlink@1.0.0: @@ -12890,6 +14962,8 @@ snapshots: common-ancestor-path@1.0.1: {} + common-path-prefix@3.0.0: {} + common-tags@1.8.2: {} commondir@1.0.1: {} @@ -12923,6 +14997,18 @@ snapshots: readable-stream: 2.3.8 typedarray: 0.0.6 + concurrently@8.2.2: + dependencies: + chalk: 4.1.2 + date-fns: 2.30.0 + lodash: 4.17.21 + rxjs: 7.8.1 + shell-quote: 1.8.1 + spawn-command: 0.0.2 + supports-color: 8.1.1 + tree-kill: 1.2.2 + yargs: 17.7.2 + concurrently@9.1.2: dependencies: chalk: 4.1.2 @@ -12989,6 +15075,8 @@ snapshots: content-tag@2.0.2: {} + content-tag@3.1.3: {} + content-type@1.0.5: {} continuable-cache@0.3.1: {} @@ -13038,6 +15126,15 @@ snapshots: parse-json: 5.2.0 path-type: 4.0.0 + cosmiconfig@8.3.6(typescript@5.7.3): + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.7.3 + cosmiconfig@9.0.0(typescript@5.7.3): dependencies: env-paths: 2.2.1 @@ -13118,6 +15215,16 @@ snapshots: mdn-data: 2.0.4 source-map: 0.5.7 + css-tree@1.1.3: + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + + css-tree@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.1 + css-tree@3.1.0: dependencies: mdn-data: 2.12.2 @@ -13133,6 +15240,15 @@ snapshots: dependencies: css-tree: 1.0.0-alpha.29 + csso@4.2.0: + dependencies: + css-tree: 1.1.3 + + cssstyle@4.6.0: + dependencies: + '@asamuzakjp/css-color': 3.2.0 + rrweb-cssom: 0.8.0 + d@1.0.2: dependencies: es5-ext: 0.10.64 @@ -13148,6 +15264,11 @@ snapshots: data-uri-to-buffer@6.0.2: {} + data-urls@5.0.0: + dependencies: + whatwg-mimetype: 4.0.0 + whatwg-url: 14.2.0 + data-view-buffer@1.0.1: dependencies: call-bind: 1.0.7 @@ -13166,6 +15287,10 @@ snapshots: es-errors: 1.3.0 is-data-view: 1.0.1 + date-fns@2.30.0: + dependencies: + '@babel/runtime': 7.25.7 + date-fns@3.6.0: {} date-time@2.1.0: @@ -13180,12 +15305,29 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.7: + debug@4.3.7(supports-color@8.1.1): + dependencies: + ms: 2.1.3 + optionalDependencies: + supports-color: 8.1.1 + + debug@4.4.1(supports-color@8.1.1): dependencies: ms: 2.1.3 + optionalDependencies: + supports-color: 8.1.1 + + decamelize-keys@1.1.1: + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 decamelize@1.2.0: {} + decamelize@5.0.1: {} + + decimal.js@10.5.0: {} + decode-named-character-reference@1.0.2: dependencies: character-entities: 2.0.2 @@ -13202,7 +15344,7 @@ snapshots: decorator-transforms@2.2.2(@babel/core@7.26.0): dependencies: - '@babel/plugin-syntax-decorators': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.26.0) babel-import-util: 3.0.0 transitivePeerDependencies: - '@babel/core' @@ -13355,6 +15497,12 @@ snapshots: dependencies: is-obj: 2.0.0 + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + duplexer3@0.1.5: {} duplexify@3.7.1: @@ -13389,12 +15537,12 @@ snapshots: ember-auto-import@2.10.0(@glint/template@1.5.1)(webpack@5.97.1): dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.26.0) '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.0) '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.26.0) - '@babel/plugin-transform-class-static-block': 7.27.1(@babel/core@7.26.0) - '@babel/preset-env': 7.25.8(@babel/core@7.26.0) + '@babel/plugin-transform-class-static-block': 7.27.1(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/preset-env': 7.25.8(@babel/core@7.26.0)(supports-color@8.1.1) '@embroider/macros': 1.16.9(@glint/template@1.5.1) '@embroider/shared-internals': 2.8.1 babel-loader: 8.4.1(@babel/core@7.26.0)(webpack@5.97.1) @@ -13408,7 +15556,7 @@ snapshots: broccoli-plugin: 4.0.7 broccoli-source: 3.0.1 css-loader: 5.2.7(webpack@5.97.1) - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) fs-extra: 10.1.0 fs-tree-diff: 2.0.1 handlebars: 4.7.8 @@ -13453,6 +15601,14 @@ snapshots: - supports-color - webpack + ember-cli-app-version@6.0.1(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)): + dependencies: + ember-cli-babel: 7.26.11 + ember-source: 5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1) + git-repo-info: 2.1.1 + transitivePeerDependencies: + - supports-color + ember-cli-app-version@7.0.0(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)): dependencies: ember-cli-babel: 7.26.11 @@ -13465,17 +15621,17 @@ snapshots: ember-cli-babel@7.26.11: dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/helper-compilation-targets': 7.25.7 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.26.0) '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.0) '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.26.0) '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.26.0) - '@babel/plugin-transform-modules-amd': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-modules-amd': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) '@babel/plugin-transform-runtime': 7.25.7(@babel/core@7.26.0) '@babel/plugin-transform-typescript': 7.25.7(@babel/core@7.26.0) '@babel/polyfill': 7.12.1 - '@babel/preset-env': 7.25.8(@babel/core@7.26.0) + '@babel/preset-env': 7.25.8(@babel/core@7.26.0)(supports-color@8.1.1) '@babel/runtime': 7.12.18 amd-name-resolver: 1.3.1 babel-plugin-debug-macros: 0.3.4(@babel/core@7.26.0) @@ -13500,17 +15656,17 @@ snapshots: ember-cli-babel@8.2.0(@babel/core@7.26.0): dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/helper-compilation-targets': 7.25.7 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.26.0) '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.0) '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.26.0) '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.26.0) - '@babel/plugin-transform-class-static-block': 7.27.1(@babel/core@7.26.0) - '@babel/plugin-transform-modules-amd': 7.25.7(@babel/core@7.26.0) + '@babel/plugin-transform-class-static-block': 7.27.1(@babel/core@7.26.0)(supports-color@8.1.1) + '@babel/plugin-transform-modules-amd': 7.25.7(@babel/core@7.26.0)(supports-color@8.1.1) '@babel/plugin-transform-runtime': 7.25.7(@babel/core@7.26.0) '@babel/plugin-transform-typescript': 7.25.7(@babel/core@7.26.0) - '@babel/preset-env': 7.25.8(@babel/core@7.26.0) + '@babel/preset-env': 7.25.8(@babel/core@7.26.0)(supports-color@8.1.1) '@babel/runtime': 7.12.18 amd-name-resolver: 1.3.1 babel-plugin-debug-macros: 0.3.4(@babel/core@7.26.0) @@ -13553,6 +15709,15 @@ snapshots: transitivePeerDependencies: - supports-color + ember-cli-dependency-checker@3.3.3(ember-cli@5.3.0(handlebars@4.7.8)(underscore@1.13.7)): + dependencies: + chalk: 2.4.2 + ember-cli: 5.3.0(handlebars@4.7.8)(underscore@1.13.7) + find-yarn-workspace-root: 2.0.0 + is-git-url: 1.0.0 + resolve: 1.22.8 + semver: 5.7.2 + ember-cli-dependency-checker@3.3.3(ember-cli@6.1.0(handlebars@4.7.8)(underscore@1.13.7)): dependencies: chalk: 2.4.2 @@ -13654,7 +15819,7 @@ snapshots: ember-cli-preprocess-registry@5.0.1: dependencies: broccoli-funnel: 3.0.8 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -13667,6 +15832,12 @@ snapshots: transitivePeerDependencies: - supports-color + ember-cli-sri@2.1.1: + dependencies: + broccoli-sri-hash: 2.1.2 + transitivePeerDependencies: + - supports-color + ember-cli-string-utils@1.1.0: {} ember-cli-terser@4.0.2: @@ -13692,7 +15863,7 @@ snapshots: dependencies: '@babel/plugin-transform-typescript': 7.5.5(@babel/core@7.26.0) ansi-to-html: 0.6.15 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) ember-cli-babel-plugin-helpers: 1.1.1 execa: 2.1.0 fs-extra: 8.1.0 @@ -13709,7 +15880,7 @@ snapshots: dependencies: ansi-to-html: 0.6.15 broccoli-stew: 3.0.0 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) execa: 4.1.0 fs-extra: 9.1.0 resolve: 1.22.8 @@ -13724,7 +15895,7 @@ snapshots: dependencies: ansi-to-html: 0.6.15 broccoli-stew: 3.0.0 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) execa: 4.1.0 fs-extra: 9.1.0 resolve: 1.22.8 @@ -13738,28 +15909,173 @@ snapshots: ember-cli-version-checker@2.2.0: dependencies: resolve: 1.22.8 - semver: 5.7.2 - - ember-cli-version-checker@3.1.3: - dependencies: - resolve-package-path: 1.2.7 - semver: 5.7.2 - - ember-cli-version-checker@4.1.1: - dependencies: - resolve-package-path: 2.0.0 - semver: 6.3.1 - silent-error: 1.1.1 - transitivePeerDependencies: - - supports-color - - ember-cli-version-checker@5.1.2: - dependencies: - resolve-package-path: 3.1.0 + semver: 5.7.2 + + ember-cli-version-checker@3.1.3: + dependencies: + resolve-package-path: 1.2.7 + semver: 5.7.2 + + ember-cli-version-checker@4.1.1: + dependencies: + resolve-package-path: 2.0.0 + semver: 6.3.1 + silent-error: 1.1.1 + transitivePeerDependencies: + - supports-color + + ember-cli-version-checker@5.1.2: + dependencies: + resolve-package-path: 3.1.0 + semver: 7.6.3 + silent-error: 1.1.1 + transitivePeerDependencies: + - supports-color + + ember-cli@5.3.0(handlebars@4.7.8)(underscore@1.13.7): + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) + '@pnpm/find-workspace-dir': 6.0.3 + broccoli: 3.5.2 + broccoli-builder: 0.18.14 + broccoli-concat: 4.2.5 + broccoli-config-loader: 1.0.1 + broccoli-config-replace: 1.1.2 + broccoli-debug: 0.6.5 + broccoli-funnel: 3.0.8 + broccoli-funnel-reducer: 1.0.0 + broccoli-merge-trees: 4.2.0 + broccoli-middleware: 2.1.1 + broccoli-slow-trees: 3.1.0 + broccoli-source: 3.0.1 + broccoli-stew: 3.0.0 + calculate-cache-key-for-tree: 2.0.0 + capture-exit: 2.0.0 + chalk: 4.1.2 + ci-info: 3.9.0 + clean-base-url: 1.0.0 + compression: 1.7.4 + configstore: 5.0.1 + console-ui: 3.1.2 + core-object: 3.1.5 + dag-map: 2.0.2 + diff: 5.2.0 + ember-cli-is-package-missing: 1.0.0 + ember-cli-lodash-subset: 2.0.1 + ember-cli-normalize-entity-name: 1.0.0 + ember-cli-preprocess-registry: 5.0.1 + ember-cli-string-utils: 1.1.0 + ensure-posix-path: 1.1.1 + execa: 5.1.1 + exit: 0.1.2 + express: 4.21.1 + filesize: 10.1.6 + find-up: 5.0.0 + find-yarn-workspace-root: 2.0.0 + fixturify-project: 2.1.1 + fs-extra: 11.2.0 + fs-tree-diff: 2.0.1 + get-caller-file: 2.0.5 + git-repo-info: 2.1.1 + glob: 8.1.0 + heimdalljs: 0.2.6 + heimdalljs-fs-monitor: 1.1.1 + heimdalljs-graph: 1.0.0 + heimdalljs-logger: 0.1.10 + http-proxy: 1.18.1 + inflection: 2.0.1 + inquirer: 9.3.7 + is-git-url: 1.0.0 + is-language-code: 3.1.0 + isbinaryfile: 5.0.2 + leek: 0.0.24 + lodash.template: 4.5.0 + markdown-it: 13.0.2 + markdown-it-terminal: 0.4.0(markdown-it@13.0.2) + minimatch: 7.4.6 + morgan: 1.10.0 + nopt: 3.0.6 + npm-package-arg: 10.1.0 + os-locale: 5.0.0 + p-defer: 3.0.0 + portfinder: 1.0.32 + promise-map-series: 0.3.0 + promise.hash.helper: 1.0.8 + quick-temp: 0.1.8 + remove-types: 1.0.0 + resolve: 1.22.8 + resolve-package-path: 4.0.3 + safe-stable-stringify: 2.5.0 + sane: 5.0.1 semver: 7.6.3 silent-error: 1.1.1 + sort-package-json: 1.57.0 + symlink-or-copy: 1.3.1 + temp: 0.9.4 + testem: 3.15.2(handlebars@4.7.8)(underscore@1.13.7) + tiny-lr: 2.0.0 + tree-sync: 2.1.0 + uuid: 9.0.1 + walk-sync: 3.0.0 + watch-detector: 1.0.2 + workerpool: 6.5.1 + yam: 1.0.0 transitivePeerDependencies: + - arc-templates + - atpl + - babel-core + - bracket-template + - bufferutil + - coffee-script + - debug + - dot + - dust + - dustjs-helpers + - dustjs-linkedin + - eco + - ect + - ejs + - haml-coffee + - hamlet + - hamljs + - handlebars + - hogan.js + - htmling + - jade + - jazz + - jqtpl + - just + - liquid-node + - liquor + - marko + - mote + - nunjucks + - plates + - pug + - qejs + - ractive + - razor-tmpl + - react + - react-dom + - slm + - squirrelly - supports-color + - swig + - swig-templates + - teacup + - templayed + - then-jade + - then-pug + - tinyliquid + - toffee + - twig + - twing + - underscore + - utf-8-validate + - vash + - velocityjs + - walrus + - whiskers ember-cli@6.1.0(handlebars@4.7.8)(underscore@1.13.7): dependencies: @@ -13939,7 +16255,7 @@ snapshots: ember-eslint-parser@0.5.8(@babel/core@7.26.0)(@typescript-eslint/parser@8.21.0(eslint@9.18.0)(typescript@5.7.3))(eslint@9.18.0): dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/eslint-parser': 7.26.5(@babel/core@7.26.0)(eslint@9.18.0) '@glimmer/syntax': 0.92.3 content-tag: 2.0.2 @@ -13998,7 +16314,7 @@ snapshots: ember-in-element-polyfill@1.0.1: dependencies: - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) ember-cli-babel: 7.26.11 ember-cli-htmlbars: 5.7.2 ember-cli-version-checker: 5.1.2 @@ -14058,6 +16374,14 @@ snapshots: - '@babel/core' - supports-color + ember-page-title@8.2.4(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)): + dependencies: + '@embroider/addon-shim': 1.8.9 + '@simple-dom/document': 1.4.0 + ember-source: 5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1) + transitivePeerDependencies: + - supports-color + ember-qunit@8.1.1(@ember/test-helpers@4.0.4(@babel/core@7.26.0)(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)))(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))(qunit@2.24.0): dependencies: '@ember/test-helpers': 4.0.4(@babel/core@7.26.0)(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) @@ -14071,6 +16395,19 @@ snapshots: - '@glint/template' - supports-color + ember-qunit@8.1.1(@ember/test-helpers@4.0.4(@babel/core@7.26.0)(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)))(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))(qunit@2.24.1): + dependencies: + '@ember/test-helpers': 4.0.4(@babel/core@7.26.0)(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)) + '@embroider/addon-shim': 1.8.9 + '@embroider/macros': 1.16.9(@glint/template@1.5.1) + ember-cli-test-loader: 3.1.0 + ember-source: 5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1) + qunit: 2.24.1 + qunit-theme-ember: 1.0.0 + transitivePeerDependencies: + - '@glint/template' + - supports-color + ember-raf-scheduler@0.3.0: dependencies: ember-cli-babel: 7.26.11 @@ -14097,7 +16434,7 @@ snapshots: ember-router-generator@2.0.0: dependencies: '@babel/parser': 7.26.5 - '@babel/traverse': 7.26.5 + '@babel/traverse': 7.26.5(supports-color@8.1.1) recast: 0.18.10 transitivePeerDependencies: - supports-color @@ -14136,6 +16473,18 @@ snapshots: - '@babel/core' - supports-color + ember-sinon-qunit@7.5.0(@babel/core@7.26.0)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))(qunit@2.24.1)(sinon@15.2.0): + dependencies: + '@embroider/addon-shim': 1.8.9 + '@types/sinon': 17.0.3 + decorator-transforms: 2.2.2(@babel/core@7.26.0) + ember-source: 5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1) + qunit: 2.24.1 + sinon: 15.2.0 + transitivePeerDependencies: + - '@babel/core' + - supports-color + ember-source-channel-url@3.0.0(encoding@0.1.13): dependencies: node-fetch: 2.7.0(encoding@0.1.13) @@ -14144,8 +16493,59 @@ snapshots: ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1): dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) + '@ember/edition-utils': 1.2.0 + '@glimmer/compiler': 0.92.4 + '@glimmer/component': 1.1.2(@babel/core@7.26.0) + '@glimmer/destroyable': 0.92.3 + '@glimmer/env': 0.1.7 + '@glimmer/global-context': 0.92.3 + '@glimmer/interfaces': 0.92.3 + '@glimmer/manager': 0.92.4 + '@glimmer/node': 0.92.4 + '@glimmer/opcode-compiler': 0.92.4 + '@glimmer/owner': 0.92.3 + '@glimmer/program': 0.92.4 + '@glimmer/reference': 0.92.3 + '@glimmer/runtime': 0.92.4 + '@glimmer/syntax': 0.92.3 + '@glimmer/util': 0.92.3 + '@glimmer/validator': 0.92.3 + '@glimmer/vm': 0.92.3 + '@glimmer/vm-babel-plugins': 0.92.3(@babel/core@7.26.0) + '@simple-dom/interface': 1.4.0 + backburner.js: 2.8.0 + broccoli-file-creator: 2.1.1 + broccoli-funnel: 3.0.8 + broccoli-merge-trees: 4.2.0 + chalk: 4.1.2 + ember-auto-import: 2.10.0(@glint/template@1.5.1)(webpack@5.97.1) + ember-cli-babel: 8.2.0(@babel/core@7.26.0) + ember-cli-get-component-path-option: 1.0.0 + ember-cli-is-package-missing: 1.0.0 + ember-cli-normalize-entity-name: 1.0.0 + ember-cli-path-utils: 1.0.0 + ember-cli-string-utils: 1.1.0 + ember-cli-typescript-blueprint-polyfill: 0.1.0 + ember-cli-version-checker: 5.1.2 + ember-router-generator: 2.0.0 + inflection: 2.0.1 + route-recognizer: 0.3.4 + router_js: 8.0.6(route-recognizer@0.3.4)(rsvp@4.8.5) + semver: 7.6.3 + silent-error: 1.1.1 + simple-html-tokenizer: 0.5.11 + transitivePeerDependencies: + - '@glint/template' + - rsvp + - supports-color + - webpack + + ember-source@6.1.0-beta.1(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1): + dependencies: + '@babel/core': 7.26.0(supports-color@8.1.1) '@ember/edition-utils': 1.2.0 + '@embroider/addon-shim': 1.10.0 '@glimmer/compiler': 0.92.4 '@glimmer/component': 1.1.2(@babel/core@7.26.0) '@glimmer/destroyable': 0.92.3 @@ -14215,7 +16615,7 @@ snapshots: ember-table@5.0.6(@ember/test-helpers@4.0.4(@babel/core@7.26.0)(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1)))(@glint/template@1.5.1)(webpack@5.97.1): dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.26.0) '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.26.0) '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.26.0) @@ -14328,18 +16728,42 @@ snapshots: chalk: 4.1.2 cli-table3: 0.6.5 core-object: 3.1.5 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) + ember-try-config: 4.0.0(encoding@0.1.13) + execa: 4.1.0 + fs-extra: 6.0.1 + resolve: 1.22.8 + rimraf: 3.0.2 + semver: 7.6.3 + walk-sync: 2.2.0 + transitivePeerDependencies: + - encoding + - supports-color + + ember-try@4.0.0(encoding@0.1.13): + dependencies: + chalk: 4.1.2 + cli-table3: 0.6.5 + debug: 4.4.1(supports-color@8.1.1) ember-try-config: 4.0.0(encoding@0.1.13) + es-toolkit: 1.39.5 execa: 4.1.0 fs-extra: 6.0.1 resolve: 1.22.8 rimraf: 3.0.2 semver: 7.6.3 + temp-dir: 2.0.0 walk-sync: 2.2.0 transitivePeerDependencies: - encoding - supports-color + ember-welcome-page@7.0.2: + dependencies: + '@embroider/addon-shim': 1.8.9 + transitivePeerDependencies: + - supports-color + ember-wormhole@0.6.0: dependencies: ember-cli-babel: 7.26.11 @@ -14384,7 +16808,7 @@ snapshots: base64id: 2.0.0 cookie: 0.7.2 cors: 2.8.5 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) engine.io-parser: 5.2.3 ws: 8.17.1 transitivePeerDependencies: @@ -14474,6 +16898,8 @@ snapshots: dependencies: get-intrinsic: 1.2.4 + es-define-property@1.0.1: {} + es-errors@1.3.0: {} es-get-iterator@1.1.3: @@ -14494,18 +16920,31 @@ snapshots: dependencies: es-errors: 1.3.0 + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + es-set-tostringtag@2.0.3: dependencies: get-intrinsic: 1.2.4 has-tostringtag: 1.0.2 hasown: 2.0.2 + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + es-to-primitive@1.2.1: dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 is-symbol: 1.0.4 + es-toolkit@1.39.5: {} + es5-ext@0.10.64: dependencies: es6-iterator: 2.0.3 @@ -14531,6 +16970,34 @@ snapshots: es6-iterator: 2.0.3 es6-symbol: 3.1.4 + esbuild@0.25.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.5 + '@esbuild/android-arm': 0.25.5 + '@esbuild/android-arm64': 0.25.5 + '@esbuild/android-x64': 0.25.5 + '@esbuild/darwin-arm64': 0.25.5 + '@esbuild/darwin-x64': 0.25.5 + '@esbuild/freebsd-arm64': 0.25.5 + '@esbuild/freebsd-x64': 0.25.5 + '@esbuild/linux-arm': 0.25.5 + '@esbuild/linux-arm64': 0.25.5 + '@esbuild/linux-ia32': 0.25.5 + '@esbuild/linux-loong64': 0.25.5 + '@esbuild/linux-mips64el': 0.25.5 + '@esbuild/linux-ppc64': 0.25.5 + '@esbuild/linux-riscv64': 0.25.5 + '@esbuild/linux-s390x': 0.25.5 + '@esbuild/linux-x64': 0.25.5 + '@esbuild/netbsd-arm64': 0.25.5 + '@esbuild/netbsd-x64': 0.25.5 + '@esbuild/openbsd-arm64': 0.25.5 + '@esbuild/openbsd-x64': 0.25.5 + '@esbuild/sunos-x64': 0.25.5 + '@esbuild/win32-arm64': 0.25.5 + '@esbuild/win32-ia32': 0.25.5 + '@esbuild/win32-x64': 0.25.5 + escalade@3.2.0: {} escape-goat@4.0.0: {} @@ -14588,6 +17055,21 @@ snapshots: eslint: 9.18.0 eslint-compat-utils: 0.5.1(eslint@9.18.0) + eslint-plugin-n@16.6.2(eslint@9.18.0): + dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@9.18.0) + builtins: 5.1.0 + eslint: 9.18.0 + eslint-plugin-es-x: 7.8.0(eslint@9.18.0) + get-tsconfig: 4.8.1 + globals: 13.24.0 + ignore: 5.3.2 + is-builtin-module: 3.2.1 + is-core-module: 2.15.1 + minimatch: 3.1.2 + resolve: 1.22.8 + semver: 7.6.3 + eslint-plugin-n@17.15.1(eslint@9.18.0): dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.18.0) @@ -14660,7 +17142,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) escape-string-regexp: 4.0.0 eslint-scope: 8.2.0 eslint-visitor-keys: 4.2.0 @@ -14715,6 +17197,8 @@ snapshots: estree-walker@0.6.1: {} + estree-walker@1.0.1: {} + estree-walker@2.0.2: {} esutils@2.0.3: {} @@ -14758,7 +17242,7 @@ snapshots: execa@4.1.0: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 get-stream: 5.2.0 human-signals: 1.1.1 is-stream: 2.0.1 @@ -15004,6 +17488,10 @@ snapshots: dependencies: flat-cache: 6.1.5 + file-entry-cache@7.0.2: + dependencies: + flat-cache: 3.2.0 + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -15063,6 +17551,11 @@ snapshots: make-dir: 3.1.0 pkg-dir: 4.2.0 + find-cache-dir@4.0.0: + dependencies: + common-path-prefix: 3.0.0 + pkg-dir: 7.0.0 + find-index@1.1.1: {} find-up@1.1.2: @@ -15088,6 +17581,11 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 + find-up@6.3.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + find-up@7.0.0: dependencies: locate-path: 7.2.0 @@ -15169,6 +17667,12 @@ snapshots: flagged-respawn@1.0.1: {} + flat-cache@3.2.0: + dependencies: + flatted: 3.3.2 + keyv: 4.5.4 + rimraf: 3.0.2 + flat-cache@4.0.1: dependencies: flatted: 3.3.1 @@ -15218,6 +17722,14 @@ snapshots: combined-stream: 1.0.8 mime-types: 2.1.35 + form-data@4.0.3: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.2 + mime-types: 2.1.35 + formdata-polyfill@4.0.10: dependencies: fetch-blob: 3.2.0 @@ -15230,6 +17742,8 @@ snapshots: fresh@0.5.2: {} + fresh@2.0.0: {} + fs-extra@0.24.0: dependencies: graceful-fs: 4.2.11 @@ -15386,12 +17900,30 @@ snapshots: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 hasown: 2.0.2 + math-intrinsics: 1.1.0 get-package-type@0.1.0: {} + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + get-stdin@9.0.0: {} get-stream@4.1.0: @@ -15423,7 +17955,7 @@ snapshots: dependencies: basic-ftp: 5.0.5 data-uri-to-buffer: 6.0.2 - debug: 4.3.7 + debug: 4.4.1(supports-color@8.1.1) fs-extra: 11.2.0 transitivePeerDependencies: - supports-color @@ -15582,6 +18114,10 @@ snapshots: globals@11.12.0: {} + globals@13.24.0: + dependencies: + type-fest: 0.20.2 + globals@14.0.0: {} globals@15.14.0: {} @@ -15644,6 +18180,8 @@ snapshots: dependencies: get-intrinsic: 1.2.4 + gopd@1.2.0: {} + got@11.8.6: dependencies: '@sindresorhus/is': 4.6.0 @@ -15762,6 +18300,8 @@ snapshots: ajv: 6.12.6 har-schema: 2.0.0 + hard-rejection@2.1.0: {} + has-ansi@2.0.0: dependencies: ansi-regex: 2.1.1 @@ -15784,6 +18324,8 @@ snapshots: has-symbols@1.0.3: {} + has-symbols@1.1.0: {} + has-tostringtag@1.0.2: dependencies: has-symbols: 1.0.3 @@ -15863,10 +18405,18 @@ snapshots: dependencies: lru-cache: 6.0.0 + hosted-git-info@6.1.3: + dependencies: + lru-cache: 7.18.3 + hosted-git-info@8.0.2: dependencies: lru-cache: 10.4.3 + html-encoding-sniffer@4.0.0: + dependencies: + whatwg-encoding: 3.1.1 + html-escaper@2.0.2: {} html-tags@3.3.1: {} @@ -15901,14 +18451,14 @@ snapshots: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.7 + debug: 4.4.1(supports-color@8.1.1) transitivePeerDependencies: - supports-color - http-proxy-agent@7.0.2: + http-proxy-agent@7.0.2(supports-color@8.1.1): dependencies: - agent-base: 7.1.1 - debug: 4.3.7 + agent-base: 7.1.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -15939,14 +18489,14 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.7 + debug: 4.4.1(supports-color@8.1.1) transitivePeerDependencies: - supports-color - https-proxy-agent@7.0.5: + https-proxy-agent@7.0.5(supports-color@8.1.1): dependencies: - agent-base: 7.1.1 - debug: 4.3.7 + agent-base: 7.1.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -15991,12 +18541,16 @@ snapshots: import-lazy@4.0.0: {} + import-meta-resolve@4.1.0: {} + imurmurhash@0.1.4: {} include-path-searcher@0.1.0: {} indent-string@4.0.0: {} + indent-string@5.0.0: {} + infer-owner@1.0.4: {} inflection@2.0.1: {} @@ -16051,7 +18605,7 @@ snapshots: inquirer@9.2.6: dependencies: ansi-escapes: 4.3.2 - chalk: 5.3.0 + chalk: 5.4.1 cli-cursor: 3.1.0 cli-width: 4.1.0 external-editor: 3.1.0 @@ -16142,6 +18696,10 @@ snapshots: is-buffer@1.1.6: {} + is-builtin-module@3.2.1: + dependencies: + builtin-modules: 3.3.0 + is-callable@1.2.7: {} is-ci@3.0.1: @@ -16251,6 +18809,8 @@ snapshots: is-path-inside@3.0.3: {} + is-plain-obj@1.1.0: {} + is-plain-obj@2.1.0: {} is-plain-obj@4.1.0: {} @@ -16261,6 +18821,8 @@ snapshots: is-plain-object@5.0.0: {} + is-potential-custom-element-name@1.0.1: {} + is-reference@1.2.1: dependencies: '@types/estree': 1.0.6 @@ -16372,7 +18934,7 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/parser': 7.25.8 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 @@ -16449,12 +19011,42 @@ snapshots: jsbn@1.1.0: {} + jsdom@25.0.1(supports-color@8.1.1): + dependencies: + cssstyle: 4.6.0 + data-urls: 5.0.0 + decimal.js: 10.5.0 + form-data: 4.0.3 + html-encoding-sniffer: 4.0.0 + http-proxy-agent: 7.0.2(supports-color@8.1.1) + https-proxy-agent: 7.0.5(supports-color@8.1.1) + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.20 + parse5: 7.1.2 + rrweb-cssom: 0.7.1 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 5.1.2 + w3c-xmlserializer: 5.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 3.1.1 + whatwg-mimetype: 4.0.0 + whatwg-url: 14.2.0 + ws: 8.18.2 + xml-name-validator: 5.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + jsesc@3.0.2: {} json-buffer@3.0.0: {} json-buffer@3.0.1: {} + json-parse-better-errors@1.0.2: {} + json-parse-even-better-errors@2.3.1: {} json-parse-even-better-errors@4.0.0: {} @@ -16535,6 +19127,8 @@ snapshots: kleur@4.1.5: {} + known-css-properties@0.29.0: {} + known-css-properties@0.35.0: {} ky@1.8.1: {} @@ -16576,6 +19170,14 @@ snapshots: dependencies: flush-write-stream: 1.1.1 + leek@0.0.24: + dependencies: + debug: 2.6.9 + lodash.assign: 3.2.0 + rsvp: 3.6.2 + transitivePeerDependencies: + - supports-color + lerna-changelog@2.2.0: dependencies: chalk: 4.1.2 @@ -16668,17 +19270,38 @@ snapshots: dependencies: p-locate: 6.0.0 + lodash._baseassign@3.2.0: + dependencies: + lodash._basecopy: 3.0.1 + lodash.keys: 3.1.2 + + lodash._basecopy@3.0.1: {} + lodash._baseflatten@3.1.4: dependencies: lodash.isarguments: 3.1.0 lodash.isarray: 3.0.4 + lodash._bindcallback@3.0.1: {} + + lodash._createassigner@3.1.1: + dependencies: + lodash._bindcallback: 3.0.1 + lodash._isiterateecall: 3.0.9 + lodash.restparam: 3.6.1 + lodash._getnative@3.9.1: {} lodash._isiterateecall@3.0.9: {} lodash._reinterpolate@3.0.0: {} + lodash.assign@3.2.0: + dependencies: + lodash._baseassign: 3.2.0 + lodash._createassigner: 3.1.1 + lodash.keys: 3.1.2 + lodash.camelcase@4.3.0: {} lodash.capitalize@4.2.1: {} @@ -16710,12 +19333,20 @@ snapshots: lodash.kebabcase@4.1.1: {} + lodash.keys@3.1.2: + dependencies: + lodash._getnative: 3.9.1 + lodash.isarguments: 3.1.0 + lodash.isarray: 3.0.4 + lodash.memoize@4.1.2: {} lodash.merge@4.6.2: {} lodash.omit@4.5.0: {} + lodash.restparam@3.6.1: {} + lodash.template@4.5.0: dependencies: lodash._reinterpolate: 3.0.0 @@ -16744,7 +19375,7 @@ snapshots: log-symbols@5.1.0: dependencies: - chalk: 5.3.0 + chalk: 5.4.1 is-unicode-supported: 1.3.0 loose-envify@1.4.0: @@ -16833,6 +19464,10 @@ snapshots: map-cache@0.2.2: {} + map-obj@1.0.1: {} + + map-obj@4.3.0: {} + map-visit@1.0.0: dependencies: object-visit: 1.0.1 @@ -16871,6 +19506,8 @@ snapshots: '@types/minimatch': 3.0.5 minimatch: 3.1.2 + math-intrinsics@1.1.0: {} + mathml-tag-names@2.1.3: {} mdast-util-from-markdown@1.3.1: @@ -16896,6 +19533,10 @@ snapshots: mdn-data@1.1.4: {} + mdn-data@2.0.14: {} + + mdn-data@2.0.30: {} + mdn-data@2.0.4: {} mdn-data@2.12.2: {} @@ -16912,10 +19553,30 @@ snapshots: mimic-fn: 2.1.0 p-is-promise: 2.1.0 + mem@8.1.1: + dependencies: + map-age-cleaner: 0.1.3 + mimic-fn: 3.1.0 + memory-streams@0.1.3: dependencies: readable-stream: 1.0.34 + meow@10.1.5: + dependencies: + '@types/minimist': 1.2.5 + camelcase-keys: 7.0.2 + decamelize: 5.0.1 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 3.0.3 + read-pkg-up: 8.0.0 + redent: 4.0.0 + trim-newlines: 4.1.1 + type-fest: 1.4.0 + yargs-parser: 20.2.9 + meow@13.2.0: {} merge-descriptors@1.0.3: {} @@ -17047,7 +19708,7 @@ snapshots: micromark@3.2.0: dependencies: '@types/debug': 4.1.12 - debug: 4.3.7 + debug: 4.4.1(supports-color@8.1.1) decode-named-character-reference: 1.0.2 micromark-core-commonmark: 1.1.0 micromark-factory-space: 1.1.0 @@ -17093,16 +19754,24 @@ snapshots: mime-db@1.53.0: {} + mime-db@1.54.0: {} + mime-types@2.1.35: dependencies: mime-db: 1.52.0 + mime-types@3.0.1: + dependencies: + mime-db: 1.54.0 + mime@1.6.0: {} mimic-fn@1.2.0: {} mimic-fn@2.1.0: {} + mimic-fn@3.1.0: {} + mimic-fn@4.0.0: {} mimic-response@1.0.1: {} @@ -17111,6 +19780,8 @@ snapshots: mimic-response@4.0.0: {} + min-indent@1.0.1: {} + mini-css-extract-plugin@2.9.1(webpack@5.97.1): dependencies: schema-utils: 4.2.0 @@ -17141,6 +19812,12 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimist-options@4.1.0: + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + kind-of: 6.0.3 + minimist@1.2.8: {} minipass-collect@1.0.2: @@ -17237,6 +19914,8 @@ snapshots: nan@2.21.0: optional: true + nanoid@3.3.11: {} + nanoid@3.3.7: {} nanoid@3.3.8: {} @@ -17332,6 +20011,13 @@ snapshots: semver: 5.7.2 validate-npm-package-license: 3.0.4 + normalize-package-data@3.0.3: + dependencies: + hosted-git-info: 4.1.0 + is-core-module: 2.15.1 + semver: 7.6.3 + validate-npm-package-license: 3.0.4 + normalize-path@2.1.1: dependencies: remove-trailing-separator: 1.1.0 @@ -17356,6 +20042,13 @@ snapshots: npm-normalize-package-bin@4.0.0: {} + npm-package-arg@10.1.0: + dependencies: + hosted-git-info: 6.1.3 + proc-log: 3.0.0 + semver: 7.6.3 + validate-npm-package-name: 5.0.1 + npm-package-arg@12.0.1: dependencies: hosted-git-info: 8.0.2 @@ -17408,6 +20101,8 @@ snapshots: number-is-nan@1.0.1: {} + nwsapi@2.2.20: {} + oauth-sign@0.9.0: {} object-assign@4.1.1: {} @@ -17546,7 +20241,7 @@ snapshots: ora@6.3.1: dependencies: - chalk: 5.3.0 + chalk: 5.4.1 cli-cursor: 4.0.0 cli-spinners: 2.9.2 is-interactive: 2.0.0 @@ -17643,11 +20338,11 @@ snapshots: pac-proxy-agent@6.0.4: dependencies: - agent-base: 7.1.1 - debug: 4.3.7 + agent-base: 7.1.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) get-uri: 6.0.3 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.5 + http-proxy-agent: 7.0.2(supports-color@8.1.1) + https-proxy-agent: 7.0.5(supports-color@8.1.1) pac-resolver: 6.0.2 socks-proxy-agent: 8.0.4 transitivePeerDependencies: @@ -17700,7 +20395,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.26.2 + '@babel/code-frame': 7.27.1 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -17826,6 +20521,10 @@ snapshots: dependencies: find-up: 4.1.0 + pkg-dir@7.0.0: + dependencies: + find-up: 6.3.0 + pkg-entry-points@1.1.0: {} pkg-up@2.0.0: @@ -17880,6 +20579,10 @@ snapshots: postcss-resolve-nested-selector@0.1.6: {} + postcss-safe-parser@6.0.0(postcss@8.5.1): + dependencies: + postcss: 8.5.1 + postcss-safe-parser@7.0.1(postcss@8.5.1): dependencies: postcss: 8.5.1 @@ -17912,6 +20615,12 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + prelude-ls@1.1.2: {} prelude-ls@1.2.1: {} @@ -17929,7 +20638,7 @@ snapshots: prettier-plugin-ember-template-tag@2.0.4(prettier@3.4.2): dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) content-tag: 2.0.2 prettier: 3.4.2 transitivePeerDependencies: @@ -17953,6 +20662,8 @@ snapshots: private@0.1.8: {} + proc-log@3.0.0: {} + proc-log@5.0.0: {} process-nextick-args@2.0.1: {} @@ -18000,10 +20711,10 @@ snapshots: proxy-agent@6.2.1: dependencies: - agent-base: 7.1.1 - debug: 4.3.7 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.5 + agent-base: 7.1.1(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) + http-proxy-agent: 7.0.2(supports-color@8.1.1) + https-proxy-agent: 7.0.5(supports-color@8.1.1) lru-cache: 7.18.3 pac-proxy-agent: 6.0.4 proxy-from-env: 1.1.0 @@ -18055,6 +20766,15 @@ snapshots: rimraf: 2.7.1 underscore.string: 3.3.6 + qunit-dom@2.0.0: + dependencies: + broccoli-funnel: 3.0.8 + broccoli-merge-trees: 4.2.0 + ember-cli-babel: 7.26.11 + ember-cli-version-checker: 5.1.2 + transitivePeerDependencies: + - supports-color + qunit-dom@3.4.0: dependencies: dom-element-descriptors: 0.5.1 @@ -18067,6 +20787,12 @@ snapshots: node-watch: 0.7.3 tiny-glob: 0.2.9 + qunit@2.24.1: + dependencies: + commander: 7.2.0 + node-watch: 0.7.3 + tiny-glob: 0.2.9 + randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 @@ -18097,12 +20823,25 @@ snapshots: find-up: 1.1.2 read-pkg: 1.1.0 + read-pkg-up@8.0.0: + dependencies: + find-up: 5.0.0 + read-pkg: 6.0.0 + type-fest: 1.4.0 + read-pkg@1.1.0: dependencies: load-json-file: 1.1.0 normalize-package-data: 2.5.0 path-type: 1.1.0 + read-pkg@6.0.0: + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 3.0.3 + parse-json: 5.2.0 + type-fest: 1.4.0 + readable-stream@1.0.34: dependencies: core-util-is: 1.0.3 @@ -18147,6 +20886,11 @@ snapshots: dependencies: resolve: 1.22.8 + redent@4.0.0: + dependencies: + indent-string: 5.0.0 + strip-indent: 4.0.0 + redeyed@1.0.1: dependencies: esprima: 3.0.0 @@ -18294,7 +21038,7 @@ snapshots: remove-types@1.0.0: dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) '@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-typescript': 7.25.7(@babel/core@7.26.0) prettier: 2.8.8 @@ -18397,6 +21141,8 @@ snapshots: resolve-url@0.2.1: {} + resolve.exports@2.0.3: {} + resolve@1.22.8: dependencies: is-core-module: 2.15.1 @@ -18510,6 +21256,10 @@ snapshots: route-recognizer: 0.3.4 rsvp: 4.8.5 + rrweb-cssom@0.7.1: {} + + rrweb-cssom@0.8.0: {} + rsvp@3.2.1: {} rsvp@3.6.2: {} @@ -18601,6 +21351,10 @@ snapshots: sax@1.2.4: {} + saxes@6.0.0: + dependencies: + xmlchars: 2.2.0 + schema-utils@2.7.1: dependencies: '@types/json-schema': 7.0.15 @@ -18638,6 +21392,24 @@ snapshots: semver@7.6.3: {} + send@0.18.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + send@0.19.0: dependencies: debug: 2.6.9 @@ -18656,6 +21428,22 @@ snapshots: transitivePeerDependencies: - supports-color + send@1.2.0: + dependencies: + debug: 4.4.1(supports-color@8.1.1) + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 2.0.0 + http-errors: 2.0.0 + mime-types: 3.0.1 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 @@ -18796,7 +21584,7 @@ snapshots: socket.io-adapter@2.5.5: dependencies: - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) ws: 8.17.1 transitivePeerDependencies: - bufferutil @@ -18806,7 +21594,7 @@ snapshots: socket.io-parser@4.2.4: dependencies: '@socket.io/component-emitter': 3.1.2 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -18815,7 +21603,7 @@ snapshots: accepts: 1.3.8 base64id: 2.0.0 cors: 2.8.5 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) engine.io: 6.6.2 socket.io-adapter: 2.5.5 socket.io-parser: 4.2.4 @@ -18827,15 +21615,15 @@ snapshots: socks-proxy-agent@6.2.1: dependencies: agent-base: 6.0.2 - debug: 4.3.7 + debug: 4.4.1(supports-color@8.1.1) socks: 2.8.3 transitivePeerDependencies: - supports-color socks-proxy-agent@8.0.4: dependencies: - agent-base: 7.1.1 - debug: 4.3.7 + agent-base: 7.1.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) socks: 2.8.3 transitivePeerDependencies: - supports-color @@ -18889,6 +21677,8 @@ snapshots: spawn-args@0.2.0: {} + spawn-command@0.0.2: {} + spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 @@ -18911,6 +21701,8 @@ snapshots: sprintf-js@1.1.3: {} + sri-toolbox@0.2.0: {} + sshpk@1.18.0: dependencies: asn1: 0.2.6 @@ -18933,7 +21725,7 @@ snapshots: stagehand@1.0.1: dependencies: - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -19067,6 +21859,10 @@ snapshots: strip-final-newline@4.0.0: {} + strip-indent@4.0.0: + dependencies: + min-indent: 1.0.1 + strip-json-comments@2.0.1: {} strip-json-comments@3.1.1: {} @@ -19077,6 +21873,8 @@ snapshots: schema-utils: 3.3.0 webpack: 5.97.1 + style-search@0.1.0: {} + styled_string@0.0.1: {} stylelint-config-recommended-scss@14.1.0(postcss@8.5.1)(stylelint@16.13.2(typescript@5.7.3)): @@ -19088,6 +21886,10 @@ snapshots: optionalDependencies: postcss: 8.5.1 + stylelint-config-recommended@13.0.0(stylelint@15.11.0(typescript@5.7.3)): + dependencies: + stylelint: 15.11.0(typescript@5.7.3) + stylelint-config-recommended@14.0.1(stylelint@16.13.2(typescript@5.7.3)): dependencies: stylelint: 16.13.2(typescript@5.7.3) @@ -19100,11 +21902,22 @@ snapshots: optionalDependencies: postcss: 8.5.1 + stylelint-config-standard@34.0.0(stylelint@15.11.0(typescript@5.7.3)): + dependencies: + stylelint: 15.11.0(typescript@5.7.3) + stylelint-config-recommended: 13.0.0(stylelint@15.11.0(typescript@5.7.3)) + stylelint-config-standard@36.0.1(stylelint@16.13.2(typescript@5.7.3)): dependencies: stylelint: 16.13.2(typescript@5.7.3) stylelint-config-recommended: 14.0.1(stylelint@16.13.2(typescript@5.7.3)) + stylelint-prettier@4.1.0(prettier@3.4.2)(stylelint@15.11.0(typescript@5.7.3)): + dependencies: + prettier: 3.4.2 + prettier-linter-helpers: 1.0.0 + stylelint: 15.11.0(typescript@5.7.3) + stylelint-prettier@5.0.2(prettier@3.4.2)(stylelint@16.13.2(typescript@5.7.3)): dependencies: prettier: 3.4.2 @@ -19123,6 +21936,52 @@ snapshots: postcss-value-parser: 4.2.0 stylelint: 16.13.2(typescript@5.7.3) + stylelint@15.11.0(typescript@5.7.3): + dependencies: + '@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1) + '@csstools/css-tokenizer': 2.4.1 + '@csstools/media-query-list-parser': 2.1.13(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1) + '@csstools/selector-specificity': 3.1.1(postcss-selector-parser@6.1.2) + balanced-match: 2.0.0 + colord: 2.9.3 + cosmiconfig: 8.3.6(typescript@5.7.3) + css-functions-list: 3.2.3 + css-tree: 2.3.1 + debug: 4.4.1(supports-color@8.1.1) + fast-glob: 3.3.3 + fastest-levenshtein: 1.0.16 + file-entry-cache: 7.0.2 + global-modules: 2.0.0 + globby: 11.1.0 + globjoin: 0.1.4 + html-tags: 3.3.1 + ignore: 5.3.2 + import-lazy: 4.0.0 + imurmurhash: 0.1.4 + is-plain-object: 5.0.0 + known-css-properties: 0.29.0 + mathml-tag-names: 2.1.3 + meow: 10.1.5 + micromatch: 4.0.8 + normalize-path: 3.0.0 + picocolors: 1.1.1 + postcss: 8.5.1 + postcss-resolve-nested-selector: 0.1.6 + postcss-safe-parser: 6.0.0(postcss@8.5.1) + postcss-selector-parser: 6.1.2 + postcss-value-parser: 4.2.0 + resolve-from: 5.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + style-search: 0.1.0 + supports-hyperlinks: 3.1.0 + svg-tags: 1.0.0 + table: 6.9.0 + write-file-atomic: 5.0.1 + transitivePeerDependencies: + - supports-color + - typescript + stylelint@16.13.2(typescript@5.7.3): dependencies: '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) @@ -19135,7 +21994,7 @@ snapshots: cosmiconfig: 9.0.0(typescript@5.7.3) css-functions-list: 3.2.3 css-tree: 3.1.0 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) fast-glob: 3.3.3 fastest-levenshtein: 1.0.16 file-entry-cache: 10.0.5 @@ -19211,6 +22070,8 @@ snapshots: unquote: 1.1.1 util.promisify: 1.0.1 + symbol-tree@3.2.4: {} + symlink-or-copy@1.3.1: {} sync-disk-cache@1.3.4: @@ -19225,7 +22086,7 @@ snapshots: sync-disk-cache@2.1.0: dependencies: - debug: 4.3.7 + debug: 4.4.1(supports-color@8.1.1) heimdalljs: 0.2.6 mkdirp: 0.5.6 rimraf: 3.0.2 @@ -19263,6 +22124,8 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 + temp-dir@2.0.0: {} + temp@0.9.4: dependencies: mkdirp: 0.5.6 @@ -19280,7 +22143,7 @@ snapshots: terser@5.34.1: dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.12.1 + acorn: 8.14.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -19384,6 +22247,15 @@ snapshots: dependencies: any-promise: 1.3.0 + thread-loader@3.0.4(webpack@5.97.1): + dependencies: + json-parse-better-errors: 1.0.2 + loader-runner: 4.3.0 + loader-utils: 2.0.4 + neo-async: 2.6.2 + schema-utils: 3.3.0 + webpack: 5.97.1 + through2-filter@3.0.0: dependencies: through2: 2.0.5 @@ -19421,8 +22293,19 @@ snapshots: transitivePeerDependencies: - supports-color + tinyglobby@0.2.14: + dependencies: + fdir: 6.4.5(picomatch@4.0.2) + picomatch: 4.0.2 + titleize@3.0.0: {} + tldts-core@6.1.86: {} + + tldts@6.1.86: + dependencies: + tldts-core: 6.1.86 + tmp@0.0.28: dependencies: os-tmpdir: 1.0.2 @@ -19481,8 +22364,16 @@ snapshots: psl: 1.9.0 punycode: 2.3.1 + tough-cookie@5.1.2: + dependencies: + tldts: 6.1.86 + tr46@0.0.3: {} + tr46@5.1.1: + dependencies: + punycode: 2.3.1 + tracked-built-ins@3.4.0(@babel/core@7.26.0): dependencies: '@embroider/addon-shim': 1.8.9 @@ -19516,7 +22407,7 @@ snapshots: tree-sync@2.1.0: dependencies: - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) fs-tree-diff: 2.0.1 mkdirp: 0.5.6 quick-temp: 0.1.8 @@ -19524,6 +22415,8 @@ snapshots: transitivePeerDependencies: - supports-color + trim-newlines@4.1.1: {} + ts-api-utils@2.0.0(typescript@5.7.3): dependencies: typescript: 5.7.3 @@ -19552,12 +22445,16 @@ snapshots: type-fest@0.11.0: {} + type-fest@0.20.2: {} + type-fest@0.21.3: {} type-fest@1.4.0: {} type-fest@2.19.0: {} + type-fest@4.41.0: {} + type-is@1.6.18: dependencies: media-typer: 0.3.0 @@ -19736,7 +22633,7 @@ snapshots: update-notifier@6.0.2: dependencies: boxen: 7.1.1 - chalk: 5.3.0 + chalk: 5.4.1 configstore: 6.0.0 has-yarn: 3.0.0 import-lazy: 4.0.0 @@ -19781,6 +22678,8 @@ snapshots: uuid@8.3.2: {} + uuid@9.0.1: {} + uvu@0.5.6: dependencies: dequal: 2.0.3 @@ -19799,6 +22698,8 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 + validate-npm-package-name@5.0.1: {} + validate-npm-package-name@6.0.0: {} validate-peer-dependencies@1.2.0: @@ -19860,11 +22761,34 @@ snapshots: remove-trailing-separator: 1.1.0 replace-ext: 1.0.1 + vite@6.3.5(@types/node@22.7.5)(sass@1.79.4)(terser@5.34.1): + dependencies: + esbuild: 0.25.5 + fdir: 6.4.5(picomatch@4.0.2) + picomatch: 4.0.2 + postcss: 8.5.6 + rollup: 4.41.1 + tinyglobby: 0.2.14 + optionalDependencies: + '@types/node': 22.7.5 + fsevents: 2.3.3 + sass: 1.79.4 + terser: 5.34.1 + vm2@3.9.19: dependencies: acorn: 8.12.1 acorn-walk: 8.3.4 + w3c-xmlserializer@5.0.0: + dependencies: + xml-name-validator: 5.0.0 + + walk-sync@0.2.7: + dependencies: + ensure-posix-path: 1.1.1 + matcher-collection: 1.1.2 + walk-sync@0.3.4: dependencies: ensure-posix-path: 1.1.1 @@ -19915,6 +22839,8 @@ snapshots: webidl-conversions@3.0.1: {} + webidl-conversions@7.0.0: {} + webpack-sources@3.2.3: {} webpack@5.97.1: @@ -19963,6 +22889,11 @@ snapshots: whatwg-mimetype@4.0.0: {} + whatwg-url@14.2.0: + dependencies: + tr46: 5.1.1 + webidl-conversions: 7.0.0 + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 @@ -20020,7 +22951,7 @@ snapshots: workerpool@3.1.2: dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.0(supports-color@8.1.1) object-assign: 4.1.1 rsvp: 4.8.5 transitivePeerDependencies: @@ -20073,10 +23004,16 @@ snapshots: ws@8.17.1: {} + ws@8.18.2: {} + xdg-basedir@4.0.0: {} xdg-basedir@5.1.0: {} + xml-name-validator@5.0.0: {} + + xmlchars@2.2.0: {} + xtend@4.0.2: {} y18n@3.2.2: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index a694fdd9da..ecdf393257 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,3 +1,4 @@ packages: - . - ember_debug + - test-apps/* diff --git a/test-apps/classic/.ember-cli b/test-apps/classic/.ember-cli new file mode 100644 index 0000000000..4defd284ec --- /dev/null +++ b/test-apps/classic/.ember-cli @@ -0,0 +1,7 @@ +{ + /** + Setting `isTypeScriptProject` to true will force the blueprint generators to generate TypeScript + rather than JavaScript by default, when a TypeScript version of a given blueprint is available. + */ + "isTypeScriptProject": true +} diff --git a/test-apps/classic/config/ember-cli-update.json b/test-apps/classic/config/ember-cli-update.json new file mode 100644 index 0000000000..5dc0d1493e --- /dev/null +++ b/test-apps/classic/config/ember-cli-update.json @@ -0,0 +1,20 @@ +{ + "schemaVersion": "1.0.0", + "packages": [ + { + "name": "ember-cli", + "version": "6.1.0", + "blueprints": [ + { + "name": "app", + "outputRepo": "https://github.com/ember-cli/ember-new-output", + "codemodsSource": "ember-app-codemods-manifest@1", + "isBaseBlueprint": true, + "options": [ + "--ci-provider=github" + ] + } + ] + } + ] +} diff --git a/config/ember-try.js b/test-apps/classic/config/ember-try.js similarity index 94% rename from config/ember-try.js rename to test-apps/classic/config/ember-try.js index 4471528f9f..5cae0d8085 100644 --- a/config/ember-try.js +++ b/test-apps/classic/config/ember-try.js @@ -12,7 +12,6 @@ module.exports = async function () { devDependencies: { '@ember/test-helpers': '^2.4.0', 'ember-cli': '^3.28.0', - 'ember-cli-app-version': '^5.0.0', 'ember-source': '~3.16.0', 'ember-resolver': '^11.0.1', 'ember-qunit': '^5.1.5', @@ -25,7 +24,6 @@ module.exports = async function () { devDependencies: { '@ember/test-helpers': '^2.4.0', 'ember-cli': '^3.28.0', - 'ember-cli-app-version': '^5.0.0', 'ember-source': '~3.20.5', 'ember-resolver': '^11.0.1', 'ember-qunit': '^5.1.5', @@ -38,7 +36,6 @@ module.exports = async function () { devDependencies: { '@ember/test-helpers': '^2.4.0', 'ember-cli': '^3.28.0', - 'ember-cli-app-version': '^5.0.0', 'ember-source': '~3.24.0', 'ember-resolver': '^11.0.1', 'ember-qunit': '^5.1.5', @@ -51,7 +48,6 @@ module.exports = async function () { devDependencies: { '@ember/test-helpers': '^2.4.0', 'ember-cli': '^3.28.0', - 'ember-cli-app-version': '^6.0.0', 'ember-source': '~3.28.0', 'ember-resolver': '^11.0.1', 'ember-qunit': '^5.1.5', diff --git a/test-apps/classic/config/environment.js b/test-apps/classic/config/environment.js new file mode 100644 index 0000000000..113d30aeb0 --- /dev/null +++ b/test-apps/classic/config/environment.js @@ -0,0 +1,48 @@ +'use strict'; + +module.exports = function (environment) { + const ENV = { + modulePrefix: 'test-app', + environment, + rootURL: '/', + locationType: 'history', + EmberENV: { + EXTEND_PROTOTYPES: false, + FEATURES: { + // Here you can enable experimental features on an ember canary build + // e.g. EMBER_NATIVE_DECORATOR_SUPPORT: true + }, + }, + + APP: { + // Here you can pass flags/options to your application instance + // when it is created + }, + }; + + if (environment === 'development') { + // ENV.APP.LOG_RESOLVER = true; + // ENV.APP.LOG_ACTIVE_GENERATION = true; + // ENV.APP.LOG_TRANSITIONS = true; + // ENV.APP.LOG_TRANSITIONS_INTERNAL = true; + // ENV.APP.LOG_VIEW_LOOKUPS = true; + } + + if (environment === 'test') { + // Testem prefers this... + ENV.locationType = 'none'; + + // keep test console output quieter + ENV.APP.LOG_ACTIVE_GENERATION = false; + ENV.APP.LOG_VIEW_LOOKUPS = false; + + ENV.APP.rootElement = '#ember-testing'; + ENV.APP.autoboot = false; + } + + if (environment === 'production') { + // here you can enable a production-specific feature + } + + return ENV; +}; diff --git a/test-apps/classic/config/optional-features.json b/test-apps/classic/config/optional-features.json new file mode 100644 index 0000000000..5329dd9913 --- /dev/null +++ b/test-apps/classic/config/optional-features.json @@ -0,0 +1,7 @@ +{ + "application-template-wrapper": false, + "default-async-observers": true, + "jquery-integration": false, + "template-only-glimmer-components": true, + "no-implicit-route-model": true +} diff --git a/test-apps/classic/config/targets.js b/test-apps/classic/config/targets.js new file mode 100644 index 0000000000..1e48e0599f --- /dev/null +++ b/test-apps/classic/config/targets.js @@ -0,0 +1,11 @@ +'use strict'; + +const browsers = [ + 'last 1 Chrome versions', + 'last 1 Firefox versions', + 'last 1 Safari versions', +]; + +module.exports = { + browsers, +}; diff --git a/test-apps/classic/ember-cli-build.js b/test-apps/classic/ember-cli-build.js new file mode 100644 index 0000000000..fdfdfa2438 --- /dev/null +++ b/test-apps/classic/ember-cli-build.js @@ -0,0 +1,33 @@ +'use strict'; + +const EmberApp = require('ember-cli/lib/broccoli/ember-app'); +const path = require('path'); +const fs = require('fs'); +const { Funnel } = require('broccoli-funnel'); + +const testingDir = path.resolve(__dirname, '../../dist/testing'); +const distDir = path.resolve(__dirname, '../../dist'); +const testingFolderExists = fs.existsSync(testingDir); + +module.exports = function (defaults) { + defaults.project.name = () => 'test-app'; + const app = new EmberApp(defaults, { + 'ember-cli-babel': { enableTypeScriptTransform: true }, + trees: { + tests: new Funnel(path.resolve(__dirname, '../shared/tests')), + app: new Funnel(path.resolve(__dirname, '../shared/app')), + styles: new Funnel(path.resolve(__dirname, '../shared/app/styles')), + templates: new Funnel(path.resolve(__dirname, '../shared/app/templates')), + public: new Funnel(testingFolderExists ? testingDir : distDir, { + files: [ + 'ember_debug.js', + 'background.js', + 'content-script.js', + 'panes-3-16-0', + ], + }), + }, + }); + + return app.toTree(); +}; diff --git a/test-apps/classic/package.json b/test-apps/classic/package.json new file mode 100644 index 0000000000..50e284094b --- /dev/null +++ b/test-apps/classic/package.json @@ -0,0 +1,67 @@ +{ + "name": "classic-test-app", + "version": "0.0.0", + "private": true, + "description": "Small description for test-app goes here", + "repository": "", + "license": "MIT", + "author": "", + "directories": { + "doc": "doc", + "test": "tests" + }, + "scripts": { + "build": "ember build --environment=testing", + "test": "EMBER_ENV=test ember test", + "ember-debug-test": "pnpm test", + "ember:try:one": "ember try:one", + "test-server:ember": "ember test --serve --watcher node" + }, + "devDependencies": { + "@babel/core": "^7.26.0", + "@babel/eslint-parser": "^7.25.9", + "@babel/plugin-proposal-decorators": "^7.25.9", + "@ember/optional-features": "^2.2.0", + "@ember/string": "^4.0.0", + "@ember/test-helpers": "^4.0.4", + "@eslint/js": "^9.17.0", + "@glimmer/component": "^1.1.2", + "@glimmer/tracking": "^1.1.2", + "broccoli-asset-rev": "^3.0.0", + "concurrently": "^9.1.0", + "ember-auto-import": "^2.10.0", + "ember-cli": "~6.1.0", + "ember-cli-babel": "^8.2.0", + "ember-cli-clean-css": "^3.0.0", + "ember-cli-dependency-checker": "^3.3.3", + "ember-cli-htmlbars": "^6.3.0", + "ember-cli-inject-live-reload": "^2.1.0", + "ember-cli-sri": "^2.1.1", + "ember-cli-terser": "^4.0.2", + "ember-fetch": "^8.1.2", + "ember-load-initializers": "^3.0.1", + "ember-modifier": "^4.2.0", + "ember-page-title": "^8.2.3", + "ember-qunit": "^8.1.1", + "@ember/render-modifiers": "^3.0.0", + "qunit": "^2.24.1", + "qunit-dom": "^3.4.0", + "ember-sinon-qunit": "^7.5.0", + "ember-resolver": "^13.1.0", + "ember-source": "^5.0.0", + "ember-template-lint": "^6.0.0", + "ember-welcome-page": "^7.0.2", + "ember-wormhole": "^0.6.0", + "ember-try": "^3.0.0", + "loader.js": "^4.7.0", + "tracked-built-ins": "^3.4.0", + "ember-in-element-polyfill": "^1.0.1", + "webpack": "^5.97.1" + }, + "engines": { + "node": ">= 18" + }, + "ember": { + "edition": "octane" + } +} diff --git a/test-apps/classic/testem.js b/test-apps/classic/testem.js new file mode 100644 index 0000000000..ed2f37124a --- /dev/null +++ b/test-apps/classic/testem.js @@ -0,0 +1,23 @@ +'use strict'; + +module.exports = { + test_page: 'tests/index.html?hidepassed', + disable_watching: true, + launch_in_ci: ['Chrome'], + launch_in_dev: ['Chrome'], + browser_start_timeout: 120, + browser_args: { + Chrome: { + ci: [ + // --no-sandbox is needed when running Chrome inside a container + process.env.CI ? '--no-sandbox' : null, + '--headless', + '--disable-dev-shm-usage', + '--disable-software-rasterizer', + '--mute-audio', + '--remote-debugging-port=0', + '--window-size=1440,900', + ].filter(Boolean), + }, + }, +}; diff --git a/test-apps/embroider-static-source/.ember-cli b/test-apps/embroider-static-source/.ember-cli new file mode 100644 index 0000000000..4defd284ec --- /dev/null +++ b/test-apps/embroider-static-source/.ember-cli @@ -0,0 +1,7 @@ +{ + /** + Setting `isTypeScriptProject` to true will force the blueprint generators to generate TypeScript + rather than JavaScript by default, when a TypeScript version of a given blueprint is available. + */ + "isTypeScriptProject": true +} diff --git a/test-apps/embroider-static-source/app/inspector-support.js b/test-apps/embroider-static-source/app/inspector-support.js new file mode 100644 index 0000000000..ad4711e3a2 --- /dev/null +++ b/test-apps/embroider-static-source/app/inspector-support.js @@ -0,0 +1,26 @@ +// this is to support ember > 6 + +import Ember from 'ember'; +import * as runtime from '@glimmer/runtime'; +import * as tracking from '@glimmer/tracking'; +import * as validator from '@glimmer/validator'; +import { RSVP } from '@ember/-internals/runtime'; +import * as metal from '@ember/-internals/metal'; +import * as runloop from '@ember/runloop'; + +import config from 'test-app/config/environment'; + +// eslint-disable-next-line ember/new-module-imports +if (Ember.VERSION?.startsWith('6')) { + window.define('@glimmer/tracking', () => tracking); + window.define('@glimmer/runtime', () => runtime); + window.define('@ember/-internals/metal', () => metal); + window.define('@glimmer/validator', () => validator); + window.define('@ember/runloop', () => runloop); + window.define('rsvp', () => RSVP); + window.define('ember', () => ({ default: Ember })); + window.define('test-app/config/environment', () => ({ + default: config, + })); + document.dispatchEvent(new Event('Ember')); +} diff --git a/test-apps/embroider-static-source/config/ember-cli-update.json b/test-apps/embroider-static-source/config/ember-cli-update.json new file mode 100644 index 0000000000..5dc0d1493e --- /dev/null +++ b/test-apps/embroider-static-source/config/ember-cli-update.json @@ -0,0 +1,20 @@ +{ + "schemaVersion": "1.0.0", + "packages": [ + { + "name": "ember-cli", + "version": "6.1.0", + "blueprints": [ + { + "name": "app", + "outputRepo": "https://github.com/ember-cli/ember-new-output", + "codemodsSource": "ember-app-codemods-manifest@1", + "isBaseBlueprint": true, + "options": [ + "--ci-provider=github" + ] + } + ] + } + ] +} diff --git a/test-apps/embroider-static-source/config/ember-try.js b/test-apps/embroider-static-source/config/ember-try.js new file mode 100644 index 0000000000..9bd6ec4c89 --- /dev/null +++ b/test-apps/embroider-static-source/config/ember-try.js @@ -0,0 +1,142 @@ +'use strict'; + +const getChannelURL = require('ember-source-channel-url'); + +module.exports = async function () { + return { + packageManager: 'pnpm', + // hack to override + scenarios: [ + { + name: 'ember-lts-3.16', + command: 'pnpm run test-lts-3', + npm: { + devDependencies: { + '@ember/test-helpers': '^2.4.0', + 'ember-cli': '^3.28.0', + 'ember-source': '~3.16.0', + 'ember-resolver': '^11.0.1', + 'ember-qunit': '^5.1.5', + }, + }, + }, + { + name: 'ember-lts-3.20', + command: 'pnpm run test-lts-3', + npm: { + devDependencies: { + '@ember/test-helpers': '^2.4.0', + 'ember-cli': '^3.28.0', + 'ember-source': '~3.20.5', + 'ember-resolver': '^11.0.1', + 'ember-qunit': '^5.1.5', + }, + }, + }, + { + name: 'ember-lts-3.24', + command: 'pnpm run test-lts-3', + npm: { + devDependencies: { + '@ember/test-helpers': '^2.4.0', + 'ember-cli': '^3.28.0', + 'ember-source': '~3.24.0', + 'ember-resolver': '^11.0.1', + 'ember-qunit': '^5.1.5', + }, + }, + }, + { + name: 'ember-lts-3.28', + command: 'pnpm run test-lts-3', + npm: { + devDependencies: { + '@ember/test-helpers': '^2.4.0', + 'ember-cli': '^3.28.0', + 'ember-source': '~3.28.0', + 'ember-resolver': '^11.0.1', + 'ember-qunit': '^5.1.5', + 'babel-plugin-ember-template-compilation': '^1.0.2', + }, + }, + }, + { + name: 'ember-lts-4.8', + npm: { + devDependencies: { + 'ember-resolver': '^11.0.1', + 'ember-source': '~4.8.0', + }, + }, + }, + { + name: 'ember-lts-4.12', + npm: { + devDependencies: { + 'ember-source': '~4.12.0', + }, + }, + }, + { + name: 'ember-lts-5.4', + npm: { + devDependencies: { + 'ember-source': '~5.4.0', + }, + }, + }, + { + name: 'ember-lts-5.8', + npm: { + devDependencies: { + 'ember-source': '~5.8.0', + }, + }, + }, + { + name: 'ember-lts-5.12', + npm: { + devDependencies: { + 'ember-source': '~5.12.0', + }, + }, + }, + { + name: 'ember-release', + npm: { + devDependencies: { + 'ember-source': await getChannelURL('release'), + }, + }, + }, + { + name: 'ember-beta', + npm: { + devDependencies: { + 'ember-source': await getChannelURL('beta'), + }, + }, + }, + { + name: 'ember-canary', + npm: { + devDependencies: { + 'ember-source': await getChannelURL('canary'), + }, + }, + }, + { + name: 'ember-default', + npm: { + devDependencies: {}, + }, + }, + { + name: 'ember-default-no-prototype-extensions', + env: { + NO_EXTEND_PROTOTYPES: 'true', + }, + }, + ], + }; +}; diff --git a/test-apps/embroider-static-source/config/environment.js b/test-apps/embroider-static-source/config/environment.js new file mode 100644 index 0000000000..113d30aeb0 --- /dev/null +++ b/test-apps/embroider-static-source/config/environment.js @@ -0,0 +1,48 @@ +'use strict'; + +module.exports = function (environment) { + const ENV = { + modulePrefix: 'test-app', + environment, + rootURL: '/', + locationType: 'history', + EmberENV: { + EXTEND_PROTOTYPES: false, + FEATURES: { + // Here you can enable experimental features on an ember canary build + // e.g. EMBER_NATIVE_DECORATOR_SUPPORT: true + }, + }, + + APP: { + // Here you can pass flags/options to your application instance + // when it is created + }, + }; + + if (environment === 'development') { + // ENV.APP.LOG_RESOLVER = true; + // ENV.APP.LOG_ACTIVE_GENERATION = true; + // ENV.APP.LOG_TRANSITIONS = true; + // ENV.APP.LOG_TRANSITIONS_INTERNAL = true; + // ENV.APP.LOG_VIEW_LOOKUPS = true; + } + + if (environment === 'test') { + // Testem prefers this... + ENV.locationType = 'none'; + + // keep test console output quieter + ENV.APP.LOG_ACTIVE_GENERATION = false; + ENV.APP.LOG_VIEW_LOOKUPS = false; + + ENV.APP.rootElement = '#ember-testing'; + ENV.APP.autoboot = false; + } + + if (environment === 'production') { + // here you can enable a production-specific feature + } + + return ENV; +}; diff --git a/test-apps/embroider-static-source/config/optional-features.json b/test-apps/embroider-static-source/config/optional-features.json new file mode 100644 index 0000000000..5329dd9913 --- /dev/null +++ b/test-apps/embroider-static-source/config/optional-features.json @@ -0,0 +1,7 @@ +{ + "application-template-wrapper": false, + "default-async-observers": true, + "jquery-integration": false, + "template-only-glimmer-components": true, + "no-implicit-route-model": true +} diff --git a/test-apps/embroider-static-source/config/targets.js b/test-apps/embroider-static-source/config/targets.js new file mode 100644 index 0000000000..1e48e0599f --- /dev/null +++ b/test-apps/embroider-static-source/config/targets.js @@ -0,0 +1,11 @@ +'use strict'; + +const browsers = [ + 'last 1 Chrome versions', + 'last 1 Firefox versions', + 'last 1 Safari versions', +]; + +module.exports = { + browsers, +}; diff --git a/test-apps/embroider-static-source/ember-cli-build.js b/test-apps/embroider-static-source/ember-cli-build.js new file mode 100644 index 0000000000..6b2cd89a69 --- /dev/null +++ b/test-apps/embroider-static-source/ember-cli-build.js @@ -0,0 +1,42 @@ +'use strict'; + +const EmberApp = require('ember-cli/lib/broccoli/ember-app'); +const path = require('path'); +const fs = require('fs'); +const { Funnel } = require('broccoli-funnel'); +const merge = require('broccoli-merge-trees'); +const { compatBuild } = require('@embroider/compat'); + +const testingDir = path.resolve(__dirname, '../../dist/testing'); +const distDir = path.resolve(__dirname, '../../dist'); +const testingFolderExists = fs.existsSync(testingDir); + +module.exports = function (defaults) { + defaults.project.name = () => 'test-app'; + const app = new EmberApp(defaults, { + 'ember-cli-babel': { enableTypeScriptTransform: true }, + trees: { + tests: new Funnel(path.resolve(__dirname, '../shared/tests')), + app: merge( + [new Funnel(path.resolve(__dirname, '../shared/app')), 'app'], + { + overwrite: true, + }, + ), + styles: new Funnel(path.resolve(__dirname, '../shared/app/styles')), + templates: new Funnel(path.resolve(__dirname, '../shared/app/templates')), + public: new Funnel(testingFolderExists ? testingDir : distDir, { + files: [ + 'ember_debug.js', + 'background.js', + 'content-script.js', + 'panes-3-16-0', + ], + }), + }, + }); + + return compatBuild(app, require('@embroider/webpack').Webpack, { + staticEmberSource: true, + }); +}; diff --git a/test-apps/embroider-static-source/package.json b/test-apps/embroider-static-source/package.json new file mode 100644 index 0000000000..d847cdebdf --- /dev/null +++ b/test-apps/embroider-static-source/package.json @@ -0,0 +1,73 @@ +{ + "name": "embroider-static-source-test-app", + "version": "0.0.0", + "private": true, + "description": "Small description for test-app goes here", + "repository": "", + "license": "MIT", + "author": "", + "directories": { + "doc": "doc", + "test": "tests" + }, + "scripts": { + "build": "ember build --environment=testing", + "test": "EMBER_ENV=test ember test", + "ember-debug-test": "pnpm test", + "lts-3-apply-override": "jq '.pnpm.overrides.\"babel-plugin-ember-template-compilation\" = \"^1.0.2\"' ../../package.json > tmp.json && mv tmp.json ../../package.json", + "lts-3-remove-override": "jq 'del(.pnpm)' ../../package.json > tmp.json && mv tmp.json ../../package.json", + "test-lts-3": "pnpm lts-3-apply-override; pnpm test; pnpm lts-3-remove-override", + "ember:try:one": "ember try:one", + "test-server:ember": "ember test --serve --watcher node" + }, + "devDependencies": { + "@babel/core": "^7.26.0", + "@babel/eslint-parser": "^7.25.9", + "@babel/plugin-proposal-decorators": "^7.25.9", + "@ember/optional-features": "^2.2.0", + "@ember/string": "^4.0.0", + "@ember/test-helpers": "^4.0.4", + "@eslint/js": "^9.17.0", + "@glimmer/component": "^1.1.2", + "@glimmer/tracking": "^1.1.2", + "broccoli-asset-rev": "^3.0.0", + "concurrently": "^9.1.0", + "ember-auto-import": "^2.10.0", + "ember-cli": "~6.1.0", + "ember-cli-babel": "^8.2.0", + "ember-cli-clean-css": "^3.0.0", + "ember-cli-dependency-checker": "^3.3.3", + "ember-cli-htmlbars": "^6.3.0", + "ember-cli-inject-live-reload": "^2.1.0", + "ember-cli-sri": "^2.1.1", + "ember-cli-terser": "^4.0.2", + "ember-fetch": "^8.1.2", + "ember-load-initializers": "^3.0.1", + "ember-modifier": "^4.2.0", + "ember-page-title": "^8.2.3", + "ember-qunit": "^8.1.1", + "@ember/render-modifiers": "^3.0.0", + "qunit": "^2.24.1", + "qunit-dom": "^3.4.0", + "ember-sinon-qunit": "^7.5.0", + "ember-resolver": "^13.1.0", + "ember-source": "^5.0.0", + "ember-template-lint": "^6.0.0", + "ember-welcome-page": "^7.0.2", + "ember-wormhole": "^0.6.0", + "ember-try": "^4.0.0", + "loader.js": "^4.7.0", + "tracked-built-ins": "^3.4.0", + "ember-in-element-polyfill": "^1.0.1", + "webpack": "^5.97.1", + "@embroider/compat": "^3.9.1", + "@embroider/webpack": "^4.1.0", + "@embroider/core": "^3.5.7" + }, + "engines": { + "node": ">= 18" + }, + "ember": { + "edition": "octane" + } +} diff --git a/test-apps/embroider-static-source/testem.js b/test-apps/embroider-static-source/testem.js new file mode 100644 index 0000000000..ed2f37124a --- /dev/null +++ b/test-apps/embroider-static-source/testem.js @@ -0,0 +1,23 @@ +'use strict'; + +module.exports = { + test_page: 'tests/index.html?hidepassed', + disable_watching: true, + launch_in_ci: ['Chrome'], + launch_in_dev: ['Chrome'], + browser_start_timeout: 120, + browser_args: { + Chrome: { + ci: [ + // --no-sandbox is needed when running Chrome inside a container + process.env.CI ? '--no-sandbox' : null, + '--headless', + '--disable-dev-shm-usage', + '--disable-software-rasterizer', + '--mute-audio', + '--remote-debugging-port=0', + '--window-size=1440,900', + ].filter(Boolean), + }, + }, +}; diff --git a/test-apps/shared/app/app.js b/test-apps/shared/app/app.js new file mode 100644 index 0000000000..2b768cf9fc --- /dev/null +++ b/test-apps/shared/app/app.js @@ -0,0 +1,15 @@ +import './inspector-support'; +import Application from '@ember/application'; +import Resolver from 'ember-resolver'; +import loadInitializers from 'ember-load-initializers'; +import config from 'test-app/config/environment'; + +export default class App extends Application { + modulePrefix = config.modulePrefix; + podModulePrefix = config.podModulePrefix; + Resolver = Resolver; +} + +console.log('test app'); + +loadInitializers(App, config.modulePrefix); diff --git a/test-apps/shared/app/components/.gitkeep b/test-apps/shared/app/components/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test-apps/shared/app/controllers/.gitkeep b/test-apps/shared/app/controllers/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test-apps/shared/app/helpers/.gitkeep b/test-apps/shared/app/helpers/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test-apps/shared/app/index.html b/test-apps/shared/app/index.html new file mode 100644 index 0000000000..3a3c400d40 --- /dev/null +++ b/test-apps/shared/app/index.html @@ -0,0 +1,25 @@ + + + + + TestApp + + + + {{content-for "head"}} + + + + + {{content-for "head-footer"}} + + + {{content-for "body"}} + + + + + + {{content-for "body-footer"}} + + diff --git a/test-apps/shared/app/inspector-support.js b/test-apps/shared/app/inspector-support.js new file mode 100644 index 0000000000..ff7bd09c0c --- /dev/null +++ b/test-apps/shared/app/inspector-support.js @@ -0,0 +1 @@ +// placeholder diff --git a/test-apps/shared/app/models/.gitkeep b/test-apps/shared/app/models/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test-apps/shared/app/router.js b/test-apps/shared/app/router.js new file mode 100644 index 0000000000..38a0b80a63 --- /dev/null +++ b/test-apps/shared/app/router.js @@ -0,0 +1,9 @@ +import EmberRouter from '@ember/routing/router'; +import config from 'test-app/config/environment'; + +export default class Router extends EmberRouter { + location = config.locationType; + rootURL = config.rootURL; +} + +Router.map(function () {}); diff --git a/test-apps/shared/app/routes/.gitkeep b/test-apps/shared/app/routes/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test-apps/shared/app/services/adapters/basic.js b/test-apps/shared/app/services/adapters/basic.js new file mode 100644 index 0000000000..9fa13c3a9b --- /dev/null +++ b/test-apps/shared/app/services/adapters/basic.js @@ -0,0 +1,156 @@ +/** + * The adapter stores logic specific to each environment. + * Extend this object with env specific code (such as chrome/firefox/test), + * then set the application's `adapter` property to the name of this adapter. + * + * example: + * + * ```javascript + * const EmberInspector = App.Create({ + * adapter: 'chrome' + * }); + * ``` + */ +import Service from '@ember/service'; +import { action } from '@ember/object'; +import { tracked } from '@glimmer/tracking'; + +const config = {}; + +export default class Basic extends Service { + _messageCallbacks; + name = 'basic'; + + @tracked canOpenResource = false; + + /** + * Called when the adapter is created (when + * the inspector app boots). + */ + constructor() { + super(...arguments); + + this._messageCallbacks = []; + this._checkVersion(); + } + + /** + * Listens to Ember Inspector message about + * Ember version mismatch. If a mismatch message is received + * it means the current inspector app does not support the current + * Ember version and needs to switch to an inspector version + * that does. + * + * @private + */ + _checkVersion() { + this.onMessageReceived((message) => { + const { name, version } = message; + if (name === 'version-mismatch') { + const previousVersions = config.previousEmberVersionsSupported; + const [fromVersion, tillVersion] = config.emberVersionsSupported; + let neededVersion; + + if (compareVersion(version, fromVersion) === -1) { + neededVersion = previousVersions[previousVersions.length - 1]; + } else if (tillVersion && compareVersion(version, tillVersion) !== -1) { + neededVersion = tillVersion; + } else { + return; + } + this.onVersionMismatch(neededVersion); + } + }); + this.sendMessage({ type: 'check-version', from: 'devtools' }); + } + + /** + * Hook called when the Ember version is not + * supported by the current inspector version. + * + * Each adapter should implement this hook + * to switch to an older/new inspector version + * that supports this Ember version. + * + * @param _neededVersion (The version to go to) + */ + onVersionMismatch() {} + + /** + Used to send messages to EmberDebug + + @param _message the message to send + **/ + sendMessage() {} + + /** + Register functions to be called + when a message from EmberDebug is received + **/ + onMessageReceived(callback) { + this._messageCallbacks.push(callback); + } + + _messageReceived(...args) { + this._messageCallbacks.forEach((callback) => { + callback(...args); + }); + } + + reloadTab() {} + // Called when the "Reload" is clicked by the user + willReload() {} + openResource() {} + + @action + refreshPage() { + // If the adapter defined a `reloadTab` method, it means + // they prefer to handle the reload themselves + if (typeof this.reloadTab === 'function') { + this.reloadTab(); + } else { + // inject ember_debug as quickly as possible in chrome + // so that promises created on dom ready are caught + this.port.send('general:refresh'); + this.willReload(); + } + } +} + +/** + * Compares two Ember versions. + * + * Returns: + * `-1` if version < version + * 0 if version1 == version2 + * 1 if version1 > version2 + * + * @return result of the comparison + */ +function compareVersion(version1, version2) { + const v1 = cleanupVersion(version1).split('.'); + const v2 = cleanupVersion(version2).split('.'); + for (let i = 0; i < 3; i++) { + // @ts-expect-error TODO: refactor this to make TS happy + const compared = compare(+v1[i], +v2[i]); + if (compared !== 0) { + return compared; + } + } + return 0; +} + +/* Remove -alpha, -beta, etc from versions */ +function cleanupVersion(version) { + return version.replace(/-.*/g, ''); +} + +function compare(val, number) { + if (val === number) { + return 0; + } else if (val < number) { + return -1; + } else if (val > number) { + return 1; + } +} diff --git a/test-apps/shared/app/services/adapters/web-extension.js b/test-apps/shared/app/services/adapters/web-extension.js new file mode 100644 index 0000000000..68221c533a --- /dev/null +++ b/test-apps/shared/app/services/adapters/web-extension.js @@ -0,0 +1,163 @@ +import { tracked } from '@glimmer/tracking'; + +import BasicAdapter from './basic'; + +let emberDebug = null; +let config = { + emberVersionsSupported: ['3.16.0'], +}; + +export default class WebExtension extends BasicAdapter { + @tracked canOpenResource = false; + name = 'web-extension'; + + /** + * Called when the adapter is created. + */ + constructor() { + super(); + + this._connect(); + this._handleReload(); + this._setThemeColors(); + + void Promise.resolve().then(() => this._sendEmberDebug()); + } + + sendMessage(message) { + this._chromePort.postMessage(message ?? {}); + } + + _sendEmberDebug() { + const minimumVersion = config.emberVersionsSupported[0].replace(/\./g, '-'); + const url = chrome.runtime.getURL( + `/panes-${minimumVersion}/ember_debug.js`, + ); + // first send to all frames in current tab + this.sendMessage({ + from: 'devtools', + tabId: chrome.devtools.inspectedWindow.tabId, + type: 'inject-ember-debug', + value: url, + }); + this.onMessageReceived((message, sender) => { + if (message === 'ember-content-script-ready') { + this.sendMessage({ + frameId: sender.frameId, + from: 'devtools', + tabId: chrome.devtools.inspectedWindow.tabId, + type: 'inject-ember-debug', + value: url, + }); + } + }); + } + + get _chromePort() { + return chrome.runtime.connect(); + } + + _connect() { + const chromePort = this._chromePort; + chromePort.postMessage({ appId: chrome.devtools.inspectedWindow.tabId }); + + chromePort.onMessage.addListener((...args) => { + this._messageReceived(...args); + }); + + chromePort.onDisconnect.addListener(() => { + this._connect(); + }); + } + + _handleReload() { + chrome.devtools.network.onNavigated.addListener(() => { + this._injectDebugger(); + location.reload(); + }); + } + + _injectDebugger() { + void loadEmberDebug().then((emberDebug) => { + chrome.devtools.inspectedWindow.eval(emberDebug, (success, error) => { + if (success === undefined && error) { + throw error; + } + }); + }); + } + + _setThemeColors() { + // Remove old theme colors to ensure switching themes works + document.body.classList.remove('theme-light', 'theme-dark'); + + let theme = 'theme-light'; + if (chrome.devtools.panels.themeName === 'dark') { + theme = 'theme-dark'; + } + document.body.classList.add(theme); + } + + willReload() { + this._injectDebugger(); + } + + /** + * Open the devtools "Elements" or "Sources" tab and select a specific DOM node or function. + */ + inspectJSValue(name) { + chrome.devtools.inspectedWindow.eval(` + inspect(window[${JSON.stringify(name)}]); + delete window[${JSON.stringify(name)}]; + `); + } + + /** + * Redirect to the correct inspector version. + */ + onVersionMismatch(goToVersion) { + window.location.href = `../panes-${goToVersion.replace( + /\./g, + '-', + )}/index.html`; + } + + /** + We handle the reload here so we can inject + scripts as soon as possible into the new page. + */ + reloadTab() { + void loadEmberDebug().then((emberDebug) => { + chrome.devtools.inspectedWindow.reload({ + injectedScript: emberDebug, + }); + }); + } +} + +function loadEmberDebug() { + const minimumVersion = config.emberVersionsSupported[0].replace(/\./g, '-'); + let xhr; + + return new Promise((resolve) => { + if (!emberDebug) { + xhr = new XMLHttpRequest(); + xhr.open( + 'GET', + chrome.runtime.getURL(`/panes-${minimumVersion}/ember_debug.js`), + ); + xhr.onload = function () { + if (xhr.readyState === 4) { + if (xhr.status === 200) { + emberDebug = xhr.responseText; + resolve(emberDebug); + } + } + }; + + xhr.send(); + } else { + resolve(emberDebug); + } + }); +} diff --git a/test-apps/shared/app/styles/app.css b/test-apps/shared/app/styles/app.css new file mode 100644 index 0000000000..2763afa4cf --- /dev/null +++ b/test-apps/shared/app/styles/app.css @@ -0,0 +1 @@ +/* Ember supports plain CSS out of the box. More info: https://cli.emberjs.com/release/advanced-use/stylesheets/ */ diff --git a/test-apps/shared/app/templates/application.hbs b/test-apps/shared/app/templates/application.hbs new file mode 100644 index 0000000000..d6565bbd6b --- /dev/null +++ b/test-apps/shared/app/templates/application.hbs @@ -0,0 +1,7 @@ +{{page-title "TestApp"}} + +{{outlet}} + +{{! The following component displays Ember's default welcome message. }} + +{{! Feel free to remove this! }} \ No newline at end of file diff --git a/tests/ember_debug/container-debug-test.js b/test-apps/shared/tests/ember_debug/container-debug-test.js similarity index 100% rename from tests/ember_debug/container-debug-test.js rename to test-apps/shared/tests/ember_debug/container-debug-test.js diff --git a/tests/ember_debug/deprecation-debug-test.js b/test-apps/shared/tests/ember_debug/deprecation-debug-test.js similarity index 100% rename from tests/ember_debug/deprecation-debug-test.js rename to test-apps/shared/tests/ember_debug/deprecation-debug-test.js diff --git a/tests/ember_debug/ember-data-test.js b/test-apps/shared/tests/ember_debug/ember-data-test.js similarity index 100% rename from tests/ember_debug/ember-data-test.js rename to test-apps/shared/tests/ember_debug/ember-data-test.js diff --git a/tests/ember_debug/ember-debug-test.js b/test-apps/shared/tests/ember_debug/ember-debug-test.js similarity index 100% rename from tests/ember_debug/ember-debug-test.js rename to test-apps/shared/tests/ember_debug/ember-debug-test.js diff --git a/tests/ember_debug/object-inspector-test.js b/test-apps/shared/tests/ember_debug/object-inspector-test.js similarity index 99% rename from tests/ember_debug/object-inspector-test.js rename to test-apps/shared/tests/ember_debug/object-inspector-test.js index 4ae1d4b0f5..a75fc95f56 100644 --- a/tests/ember_debug/object-inspector-test.js +++ b/test-apps/shared/tests/ember_debug/object-inspector-test.js @@ -16,21 +16,13 @@ import { VERSION } from '@ember/version'; import { tracked } from '@glimmer/tracking'; import { module, skip, test } from 'qunit'; import { hbs } from 'ember-cli-htmlbars'; -import require from 'require'; import hasEmberVersion from '@ember/test-helpers/has-ember-version'; import { compareVersion } from 'ember-debug/version'; import EmberDebug from 'ember-debug/main'; import setupEmberDebugTest from '../helpers/setup-ember-debug-test'; import EmberRoute from '@ember/routing/route'; import Controller from '@ember/controller'; - -const GlimmerComponent = (function () { - try { - return require('@glimmer/component').default; - } catch { - // ignore, return undefined - } -})(); +import GlimmerComponent from '@glimmer/component'; let objectInspector; diff --git a/tests/ember_debug/profile-manager-test.js b/test-apps/shared/tests/ember_debug/profile-manager-test.js similarity index 100% rename from tests/ember_debug/profile-manager-test.js rename to test-apps/shared/tests/ember_debug/profile-manager-test.js diff --git a/tests/ember_debug/profile-node-test.js b/test-apps/shared/tests/ember_debug/profile-node-test.js similarity index 100% rename from tests/ember_debug/profile-node-test.js rename to test-apps/shared/tests/ember_debug/profile-node-test.js diff --git a/tests/ember_debug/promise-assembler-test.js b/test-apps/shared/tests/ember_debug/promise-assembler-test.js similarity index 100% rename from tests/ember_debug/promise-assembler-test.js rename to test-apps/shared/tests/ember_debug/promise-assembler-test.js diff --git a/tests/ember_debug/promise-debug-test.js b/test-apps/shared/tests/ember_debug/promise-debug-test.js similarity index 100% rename from tests/ember_debug/promise-debug-test.js rename to test-apps/shared/tests/ember_debug/promise-debug-test.js diff --git a/tests/ember_debug/render-debug-test.js b/test-apps/shared/tests/ember_debug/render-debug-test.js similarity index 100% rename from tests/ember_debug/render-debug-test.js rename to test-apps/shared/tests/ember_debug/render-debug-test.js diff --git a/tests/ember_debug/route-debug-test.js b/test-apps/shared/tests/ember_debug/route-debug-test.js similarity index 100% rename from tests/ember_debug/route-debug-test.js rename to test-apps/shared/tests/ember_debug/route-debug-test.js diff --git a/tests/ember_debug/view-debug-test.js b/test-apps/shared/tests/ember_debug/view-debug-test.js similarity index 98% rename from tests/ember_debug/view-debug-test.js rename to test-apps/shared/tests/ember_debug/view-debug-test.js index 34e48300f0..32e2b8ddb4 100644 --- a/tests/ember_debug/view-debug-test.js +++ b/test-apps/shared/tests/ember_debug/view-debug-test.js @@ -24,18 +24,7 @@ import { isInVersionSpecifier } from 'ember-debug/version'; import { VERSION } from 'ember-debug/ember'; import GlimmerComponent from '@glimmer/component'; import { tracked } from '@glimmer/tracking'; - -let templateOnlyComponent = null; -try { - // eslint-disable-next-line no-undef,ember/new-module-imports - templateOnlyComponent = Ember._templateOnlyComponent; - // eslint-disable-next-line no-empty -} catch {} -try { - // eslint-disable-next-line no-undef - templateOnlyComponent = require('ember').default._templateOnlyComponent; - // eslint-disable-next-line no-empty -} catch {} +import templateOnlyComponent from '@ember/component/template-only'; // TODO switch to an adapter architecture, similar to the acceptance tests async function captureMessage(type, callback) { diff --git a/test-apps/shared/tests/helpers/index.ts b/test-apps/shared/tests/helpers/index.ts new file mode 100644 index 0000000000..e190f567ed --- /dev/null +++ b/test-apps/shared/tests/helpers/index.ts @@ -0,0 +1,43 @@ +import { + setupApplicationTest as upstreamSetupApplicationTest, + setupRenderingTest as upstreamSetupRenderingTest, + setupTest as upstreamSetupTest, + type SetupTestOptions, +} from 'ember-qunit'; + +// This file exists to provide wrappers around ember-qunit's +// test setup functions. This way, you can easily extend the setup that is +// needed per test type. + +function setupApplicationTest(hooks: NestedHooks, options?: SetupTestOptions) { + upstreamSetupApplicationTest(hooks, options); + + // Additional setup for application tests can be done here. + // + // For example, if you need an authenticated session for each + // application test, you could do: + // + // hooks.beforeEach(async function () { + // await authenticateSession(); // ember-simple-auth + // }); + // + // This is also a good place to call test setup functions coming + // from other addons: + // + // setupIntl(hooks, 'en-us'); // ember-intl + // setupMirage(hooks); // ember-cli-mirage +} + +function setupRenderingTest(hooks: NestedHooks, options?: SetupTestOptions) { + upstreamSetupRenderingTest(hooks, options); + + // Additional setup for rendering tests can be done here. +} + +function setupTest(hooks: NestedHooks, options?: SetupTestOptions) { + upstreamSetupTest(hooks, options); + + // Additional setup for unit tests can be done here. +} + +export { setupApplicationTest, setupRenderingTest, setupTest }; diff --git a/test-apps/shared/tests/helpers/setup-ember-debug-test.js b/test-apps/shared/tests/helpers/setup-ember-debug-test.js new file mode 100644 index 0000000000..466a549cbf --- /dev/null +++ b/test-apps/shared/tests/helpers/setup-ember-debug-test.js @@ -0,0 +1,86 @@ +/* eslint-disable ember/no-runloop */ +import Application from '@ember/application'; +import Resolver from 'ember-resolver'; +import EmberRouter from '@ember/routing/router'; +import { + getApplication, + setApplication, + setupApplicationContext, + setupContext, + teardownContext, +} from '@ember/test-helpers'; +import { run } from '@ember/runloop'; +import config from 'test-app/config/environment'; +import EmberDebug from 'ember-debug/main'; +import { hbs } from 'ember-cli-htmlbars'; +import Port from 'ember-debug/port'; + +export default function setupEmberDebugTest(hooks, options = {}) { + let app, originalApp, originalPort, originalIgnoreDeprecations; + + hooks.beforeEach(async function () { + originalPort = EmberDebug.Port; + originalApp = getApplication(); + originalIgnoreDeprecations = EmberDebug.IGNORE_DEPRECATIONS; + + app = Application.create({ + ...config.APP, + modulePrefix: config.modulePrefix, + Resolver, + }); + setApplication(app); + + await setupContext(this); + await setupApplicationContext(this); + + // eslint-disable-next-line ember/no-classic-classes + const Router = EmberRouter.extend({ + location: 'none', + }); + + if (options.routes) { + Router.map(options.routes); + } else { + Router.map(function () { + this.route('simple'); + }); + + this.owner.register('template:simple', hbs`Simple template`); + } + + this.owner.register('router:main', Router); + + run(() => { + EmberDebug.isTesting = true; + EmberDebug.owner = this.owner; + }); + + EmberDebug.Port = + options.Port || + class extends Port { + init() {} + send() {} + }; + + run(EmberDebug, 'start'); + }); + + hooks.afterEach(async function () { + EmberDebug.destroyContainer(); + EmberDebug.clear(); + + await teardownContext(this); + + EmberDebug.IGNORE_DEPRECATIONS = originalIgnoreDeprecations; + + run(() => { + EmberDebug.isTesting = false; + }); + + EmberDebug.Port = originalPort; + + setApplication(originalApp); + + run(app, 'destroy'); + }); +} diff --git a/test-apps/shared/tests/index.html b/test-apps/shared/tests/index.html new file mode 100644 index 0000000000..3da4f5837f --- /dev/null +++ b/test-apps/shared/tests/index.html @@ -0,0 +1,65 @@ + + + + + EmberInspector Tests + + + + + + {{content-for "head"}} + {{content-for "test-head"}} + + + + + + {{content-for "head-footer"}} + {{content-for "test-head-footer"}} + + + + {{content-for "body"}} + {{content-for "test-body"}} + +
+
+
+
+
+
+ + + + + + + + + + + {{content-for "body-footer"}} + {{content-for "test-body-footer"}} + + diff --git a/test-apps/shared/tests/integration/injection-test.js b/test-apps/shared/tests/integration/injection-test.js new file mode 100644 index 0000000000..869849ba74 --- /dev/null +++ b/test-apps/shared/tests/integration/injection-test.js @@ -0,0 +1,361 @@ +import { module, test } from 'qunit'; +import { setupApplicationTest } from 'ember-qunit'; +import { isInVersionSpecifier } from 'ember-debug/version'; +import { VERSION } from 'ember-debug/ember'; + +class ChromePort { + constructor(self, other) { + this.onDisconnectListeners = []; + const port = this; + this.selfSide = { + postMessage(msg) { + other.subscribers.forEach((sub) => sub(msg, other.sender)); + }, + onMessage: { + addListener(callback) { + self.subscribers.push(callback); + }, + }, + onDisconnect: { + addListener(l) { + port.onDisconnectListeners.push(l); + }, + }, + }; + this.otherSide = { + postMessage(msg) { + self.subscribers.forEach((sub) => sub(msg, self.sender)); + }, + onMessage: { + addListener(callback) { + other.subscribers.push(callback); + }, + }, + onDisconnect: { + addListener(l) { + port.onDisconnectListeners.push(l); + }, + }, + }; + } +} + +// mock chrome api +class ChromeApi { + /** + * + * @param type {'content'|'background'|'inspector'} + */ + constructor(type) { + const self = this; + let subscribers; + this.subscribers = subscribers = []; + this.contentScript = null; + this.inspector = null; + this.backgroundScript = null; + this.type = type; + + this.onRemovedListeners = []; + this.onNavigatedListeners = []; + this.onConnectListeners = []; + this.onTabActivatedListeners = []; + + this.registeredContextMenus = {}; + + this.storage = { + sync: { + get() {}, + }, + }; + + const contextMenuListeners = []; + + this.contextMenus = { + remove(name) { + delete self.registeredContextMenus[name]; + }, + + create(menu) { + self.registeredContextMenus[menu.id] = menu; + self.registeredContextMenus[menu.id].onclick = () => + contextMenuListeners.forEach((fn) => fn({ menuItemId: menu.id })); + }, + + onClicked: { + addListener(fn) { + contextMenuListeners.push(fn); + }, + }, + }; + + this.tabs = { + onActivated: { + addListener(l) { + self.onTabActivatedListeners.push(l); + }, + }, + onRemoved: { + addListener(l) { + self.onRemovedListeners.push(l); + }, + }, + sendMessage(tabId, msg) { + self.contentScript.subscribers.forEach((sub) => sub(msg, self.sender)); + }, + }; + this.devtools = { + panels: {}, + network: { + onNavigated: { + addListener(l) { + self.onNavigatedListeners.push(l); + }, + }, + }, + inspectedWindow: { + tabId: 1, + }, + }; + this.runtime = { + onConnect: { + addListener(l) { + self.onConnectListeners.push(l); + }, + }, + sendMessage(msg) { + (self.backgroundScript || self.inspector).subscribers.forEach((sub) => + sub(msg, self.sender), + ); + }, + onMessage: { + addListener(callback) { + subscribers.push(callback); + }, + }, + getURL(url) { + if (url.startsWith('/')) { + url = url.slice(1); + } + return '/' + url; + }, + connect() { + const other = self.connectToOther; + const port = new ChromePort(self, other); + other.onConnectListeners.forEach((l) => l(port.otherSide)); + return port.selfSide; + }, + }; + } + + get connectToOther() { + return this.contentScript || this.inspector || this.backgroundScript; + } + + get sender() { + if (this.type === 'content') { + return { + tab: { + id: 1, + }, + }; + } + return {}; + } +} + +let loaderInstance = {}; +function getLoader(def, req) { + let { define, requireModule } = loaderInstance; + if (typeof define !== 'function' || typeof requireModule !== 'function') { + (function () { + let registry = {}, + seen = {}; + + define = function (name, deps, callback) { + if (arguments.length < 3) { + callback = deps; + deps = []; + } + registry[name] = { deps, callback }; + }; + + requireModule = function (name) { + if (!name.startsWith('ember-debug')) { + return req(name); + } + if (seen[name]) { + return seen[name]; + } + + let mod = registry[name]; + if (!mod) { + throw new Error(`Module: '${name}' not found.`); + } + + seen[name] = {}; + + let deps = mod.deps; + let callback = mod.callback; + let reified = []; + let exports; + + for (let i = 0, l = deps.length; i < l; i++) { + if (deps[i] === 'exports') { + reified.push((exports = {})); + } else { + reified.push(requireModule(deps[i])); + } + } + + let value = callback.apply(this, reified); + seen[name] = exports || value; + return seen[name]; + }; + + requireModule.has = req.has; + + define.registry = registry; + define.seen = seen; + })(); + } + loaderInstance = { define, requireModule }; + return loaderInstance; +} + +module('Integration | Injection', function (hooks) { + setupApplicationTest(hooks); + + if (isInVersionSpecifier('~3.16.0', VERSION)) { + return; + } + + /** + * @type {ChromeApi} + */ + let contentChromeApi, inspectorChromeApi, backgroundChromeApi; + const olddefine = window.define; + const olddrequireModule = window.requireModule; + + let injected; + + async function inject(owner, assert) { + if (injected) return; + const backgroundScript = await (await fetch('/background.js')).text(); + { + const chrome = backgroundChromeApi; + eval(backgroundScript); + assert.strictEqual(chrome.onRemovedListeners.length, 1); + } + + let contentScript = await (await fetch('/content-script.js')).text(); + + window.addEventListener('message', () => { + windowMessages += 1; + }); + + let windowMessages = 0; + + // setup global loader for ember-debug, will be reset after test + + const { define, requireModule } = getLoader( + window.define, + window.requireModule, + ); + window.define = define; + window.requireModule = requireModule; + { + // eslint-disable-next-line no-unused-vars + const chrome = contentChromeApi; + backgroundChromeApi.onTabActivatedListeners.forEach((act) => + act({ tabId: 1 }), + ); + eval(contentScript); + } + + assert.strictEqual( + windowMessages, + 0, + 'content script should not send window messages', + ); + + window.chrome = inspectorChromeApi; + + const emberDebugStarted = new Promise((resolve) => { + inspectorChromeApi.runtime.onMessage.addListener((msg) => { + if (msg.type === 'general:applicationBooted') { + resolve(); + } + }); + }); + + const p = new Promise((resolve) => { + window.addEventListener('message', (msg) => { + if (msg.data === 'debugger-client') { + resolve(); + } + }); + }); + owner.lookup('service:adapters/web-extension'); + await p; + await emberDebugStarted; + injected = true; + } + + hooks.before(() => { + window.NO_EMBER_DEBUG = false; + contentChromeApi = new ChromeApi('content'); + inspectorChromeApi = new ChromeApi('inspector'); + backgroundChromeApi = new ChromeApi('background'); + backgroundChromeApi.contentScript = contentChromeApi; + backgroundChromeApi.inspector = inspectorChromeApi; + + contentChromeApi.backgroundScript = backgroundChromeApi; + inspectorChromeApi.backgroundScript = backgroundChromeApi; + }); + + hooks.after(() => { + window.define = olddefine; + window.requireModule = olddrequireModule; + window.NO_EMBER_DEBUG = true; + }); + + test('inject ember debug via content and background scripts', async function (assert) { + await inject(this.owner, assert); + const { requireModule } = getLoader(window.define, window.requireModule); + const emberDebug = requireModule('ember-debug/main'); + assert.notStrictEqual( + emberDebug, + undefined, + 'ember debug should be loaded', + ); + }); + + test('add Inspect Ember Component Context Menu Item', async function (assert) { + await inject(this.owner, assert); + assert.true( + !!backgroundChromeApi.registeredContextMenus['inspect-ember-component'], + 'should have registered context menu', + ); + }); + + test('triggering Ember Component Context Menu Item should call inspect nearest', async function (assert) { + await inject(this.owner, assert); + assert.timeout(100); + + const emberDebug = requireModule('ember-debug/main'); + const viewInspection = emberDebug.viewDebug.viewInspection; + + const inspectNearestCalled = new Promise((resolve) => { + viewInspection.inspectNearest = () => { + resolve(); + }; + }); + + backgroundChromeApi.registeredContextMenus[ + 'inspect-ember-component' + ].onclick(); + + await inspectNearestCalled; + assert.true(true); + }); +}); diff --git a/test-apps/shared/tests/test-adapter.js b/test-apps/shared/tests/test-adapter.js new file mode 100644 index 0000000000..283b5204b4 --- /dev/null +++ b/test-apps/shared/tests/test-adapter.js @@ -0,0 +1,348 @@ +import QUnit from 'qunit'; +import { next } from '@ember/runloop'; +import BasicAdapter from 'test-app/services/adapters/basic'; +import { settled } from '@ember/test-helpers'; + +let adapter = null; +let resourcesEnabled = false; +let resources = []; +let responders = []; + +export function setupTestAdapter(hooks) { + // Some default responders that are part of the normal application boot cycle + hooks.beforeEach(function () { + respondWith('check-version', false, { isDefault: true }); + + respondWith( + 'general:applicationBooted', + { + type: 'general:applicationBooted', + applicationId: 'my-app', + applicationName: 'My App', + booted: true, + }, + { isDefault: true }, + ); + + respondWith( + 'app-picker-loaded', + { + type: 'apps-loaded', + applicationId: null, + applicationName: null, + apps: [ + { + applicationId: 'my-app', + applicationName: 'My App', + }, + ], + }, + { isDefault: true }, + ); + + respondWith('app-selected', false, { isDefault: true }); + + respondWith( + 'deprecation:getCount', + ({ applicationId, applicationName }) => ({ + type: 'deprecation:count', + applicationId, + applicationName, + count: 0, + }), + { isDefault: true }, + ); + }); + + // Ensure all expectations are met and reset the global states + hooks.afterEach(function (assert) { + for (let { file, line, actual, expected, reject } of resources) { + if (!isNaN(expected) && actual !== expected) { + assert.strictEqual( + actual, + expected, + `Expceting resouce ${file}:${line} to be opened ${expected} time(s)`, + ); + reject( + `Expceting resouce ${file}:${line} to be opened ${expected} time(s), was opened ${actual} time(s)`, + ); + } + } + + for (let { type, isDefault, actual, expected, reject } of responders) { + if (!isDefault && !isNaN(expected) && actual !== expected) { + assert.strictEqual( + actual, + expected, + `The correct amount of ${type} messages are sent`, + ); + reject(`Expecting ${expected} ${type} messages, got ${actual}`); + } + } + + adapter = null; + resourcesEnabled = false; + resources.length = 0; + responders.length = 0; + }); +} + +/** + * Allow `openResouce` to be called on the adapter. + * + * @method enableOpenResource + */ +export function enableOpenResource() { + resourcesEnabled = true; +} + +/** + * Expect `openResouce` to be called on the adapter with a specific filename and + * line number. Must call `enableOpenResource` first. + * + * @method expectOpenResource + * @param {String} file The filename. + * @param {number} line The line number. + * @param {Object} options + * - {number | false} count How many calls to allow. `false` for unlimited. + * Defaults to 1. + * @return {Promise} Resolves when all the expected calls are made, or + * rejects at the end of the current test if not called + * enough times. + */ +export function expectOpenResource(file, line, options = {}) { + if (!resourcesEnabled) { + throw new Error('call enableOpenResource first'); + } + + return new Promise((resolve, reject) => { + let { count } = { count: 1, ...options }; + resources.push({ + file, + line, + actual: 0, + expected: count === false ? NaN : count, + resolve, + reject, + }); + }); +} + +/** + * Send a message to the adapter. + * + * @method expectOpenResource + * @param {Object} message The message. + * @return {Promise} Resolves when the message is delivered. + */ +export async function sendMessage(message) { + if (adapter === null) { + throw new Error('Cannot call sendMessage outside of a test'); + } + + const msg = await new Promise((resolve, reject) => { + // eslint-disable-next-line ember/no-runloop + next(async () => { + let normalized = { + applicationId: 'my-app', + applicationName: 'My App', + ...message, + from: 'inspectedWindow', + }; + try { + adapter._messageReceived(normalized); + } catch (e) { + return reject(e); + } + + resolve(normalized); + }); + }); + + await settled(); + return msg; +} + +/** + * Expect a message from the adapter of the given type, and respond to the message + * with the given payload. + * + * @method respondWith + * @param {String} type The incoming message type. + * @param { false | Object | Function } payload The payload. + * - Pass `false` to acknoledge the message but don't send a response. + * - Pass an object to send a response (`message` parameter of `sendMessage`). + * - Pass a callback to dynamically respond with one of the above, or `undefined`, + * in which case the incoming messages is considered unhandled and the remaining + * responders will be tried instead. The callback is given the incoming message + * as an argument. + * @param {Object} options + * - {number | false} count How many calls to allow. `false` for unlimited. + * Defaults to 1. + * @return {Promise} Resolves when all the expected calls are made, or + * rejects at the end of the current test if not called + * enough times. + */ +export function respondWith(type, payload, options = {}) { + return new Promise((resolve, reject) => { + let { count, isDefault } = { count: 1, isDefault: false, ...options }; + let callback = typeof payload === 'function' ? payload : () => payload; + + responders.push({ + type, + isDefault, + callback, + actual: 0, + expected: count === false ? NaN : count, + resolve, + reject, + }); + }); +} + +/** + * Disable the default responder for the given type. + * + * @method disableDefaultResponseFor + */ +export function disableDefaultResponseFor(type) { + for (let [i, responder] of responders.entries()) { + if (responder.type === type && responder.isDefault) { + if (responder.actual > 0) { + throw new Error( + `Cannot remove default responder for ${type}: a response has already been sent!`, + ); + } + + responders.splice(i, 1); + return; + } + } + + throw new Error( + `Cannot remove default responder for ${type}: no such responder!`, + ); +} + +export default class TestAdapter extends BasicAdapter { + constructor() { + super(...arguments); + adapter = this; + } + + get name() { + return 'test'; + } + + get canOpenResource() { + return resourcesEnabled; + } + + openResource(file, line) { + if (!resourcesEnabled) { + throw new Error('openResource called unexpectedly'); + } + + console.debug('Opening resource', { file, line }); + + if (!file) { + QUnit.assert.ok( + file, + `resource has valid "file" field: ${JSON.stringify(file)}`, + ); + return; + } + + if (!line) { + QUnit.assert.ok( + file, + `resource has valid "line" field: ${JSON.stringify(line)}`, + ); + return; + } + + for (let resource of resources) { + let { actual, expected, resolve } = resource; + + if (actual === expected) { + continue; + } + + if (file === resource.file && line === resource.line) { + console.debug('Opened resource', { file, line }); + resource.actual = ++actual; + resolve(); + return; + } + } + + console.error('Unknown resource', { file, line }); + + QUnit.assert.deepEqual({ file, line }, {}, 'Unknown resource'); + } + + sendMessage(message) { + console.debug('Sending message (devtools -> inspectedWindow)', message); + + if (!message.type) { + QUnit.assert.ok( + false, + `message has valid "type" field: ${JSON.stringify(message)}`, + ); + return; + } + + if (message.from !== 'devtools') { + QUnit.assert.strictEqual( + message.from, + 'devtools', + `message has valid "from" field: ${JSON.stringify(message)}`, + ); + return; + } + + for (let responder of responders) { + let { type, callback, actual, expected, resolve } = responder; + + if (actual === expected) { + continue; + } + + if (type === message.type) { + let response = callback(message); + + if (response !== undefined) { + responder.actual = ++actual; + } + + let didRespond; + + if (response) { + console.debug( + 'Received response (inspectedWindow -> devtools)', + response, + ); + didRespond = sendMessage(response); + } else if (response === false) { + console.debug( + 'Ignoreing message (devtools -> inspectedWindow)', + message, + ); + didRespond = Promise.resolve(); + } + + if (didRespond) { + if (actual === expected) { + didRespond.then(resolve); + } + + return; + } + } + } + + console.error('Unexpected message', message); + + QUnit.assert.deepEqual(message, {}, 'Unexpected message'); + } +} diff --git a/test-apps/shared/tests/test-helper.js b/test-apps/shared/tests/test-helper.js new file mode 100644 index 0000000000..f54d65f9f5 --- /dev/null +++ b/test-apps/shared/tests/test-helper.js @@ -0,0 +1,37 @@ +import Application from 'test-app/app'; +import config from 'test-app/config/environment'; +import * as QUnit from 'qunit'; +import { setApplication } from '@ember/test-helpers'; +import { setup } from 'qunit-dom'; +import { start } from 'ember-qunit'; +import TestAdapter from './test-adapter'; +import setupSinon from 'ember-sinon-qunit'; + +Application.initializer({ + name: `00-override-adapter`, + initialize(app) { + app.register('service:adapter', TestAdapter); + }, +}); + +setApplication(Application.create(config.APP)); + +setupSinon(); + +window.NO_EMBER_DEBUG = true; +QUnit.config.testTimeout = 60000; + +setup(QUnit.assert); + +export async function waitForEmberDebug() { + while (true) { + if (requireModule.has('ember-debug/main')) return; + await new Promise((res) => setTimeout(res, 1)); + } +} + +if (!globalThis.NO_TEST_AUTO_START) { + waitForEmberDebug().then(() => start()); +} + +export { start }; diff --git a/test-apps/shared/tests/unit/.gitkeep b/test-apps/shared/tests/unit/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test-apps/shared/tests/unit/utils/type-check-test.js b/test-apps/shared/tests/unit/utils/type-check-test.js new file mode 100644 index 0000000000..8586e31def --- /dev/null +++ b/test-apps/shared/tests/unit/utils/type-check-test.js @@ -0,0 +1,22 @@ +import { inspect } from 'ember-debug/type-check'; +import { module, test } from 'qunit'; + +module('Unit | Utility | type-check', function () { + test('inspect | An POJO with Symbols is correctly transformed into preview', async function (assert) { + let symbol = Symbol('test'); + let symbolValue = Symbol('value'); + + let inspected = { + [symbol]: 'Symbol Value', + symbolVal: symbolValue, + }; + + let obj = inspect(inspected); + + assert.deepEqual( + obj, + '{ symbolVal: Symbol(value) }', + 'object is in expected shape', + ); + }); +}); diff --git a/test-apps/vite-app/app/app.ts b/test-apps/vite-app/app/app.ts new file mode 100644 index 0000000000..ba87ec96b6 --- /dev/null +++ b/test-apps/vite-app/app/app.ts @@ -0,0 +1,15 @@ +/* eslint-disable */ +// @ts-nocheck +import Application from '@ember/application'; +import compatModules from '@embroider/virtual/compat-modules'; +import Resolver from 'ember-resolver'; +import loadInitializers from 'ember-load-initializers'; +import config from 'vite-app/config/environment'; + +export default class App extends Application { + modulePrefix = config.modulePrefix; + podModulePrefix = config.podModulePrefix; + Resolver = Resolver.withModules(compatModules); +} + +loadInitializers(App, config.modulePrefix, compatModules); diff --git a/test-apps/vite-app/app/config/environment.ts b/test-apps/vite-app/app/config/environment.ts new file mode 100644 index 0000000000..b70178f38c --- /dev/null +++ b/test-apps/vite-app/app/config/environment.ts @@ -0,0 +1,3 @@ +import loadConfigFromMeta from '@embroider/config-meta-loader'; + +export default loadConfigFromMeta('vite-app'); diff --git a/test-apps/vite-app/app/inspector-support.js b/test-apps/vite-app/app/inspector-support.js new file mode 100644 index 0000000000..84608491ac --- /dev/null +++ b/test-apps/vite-app/app/inspector-support.js @@ -0,0 +1,25 @@ +// this is to support ember > 6 + +import Ember from 'ember'; +import * as runtime from '@glimmer/runtime'; +import * as tracking from '@glimmer/tracking'; +import * as validator from '@glimmer/validator'; +import * as component from '@glimmer/component'; +import { RSVP } from '@ember/-internals/runtime'; +import * as metal from '@ember/-internals/metal'; +import * as runloop from '@ember/runloop'; + +import config from 'test-app/config/environment'; + +window.define('@glimmer/tracking', () => tracking); +window.define('@glimmer/runtime', () => runtime); +window.define('@ember/-internals/metal', () => metal); +window.define('@glimmer/validator', () => validator); +window.define('@glimmer/component', () => component); +window.define('@ember/runloop', () => runloop); +window.define('rsvp', () => RSVP); +window.define('ember', () => ({ default: Ember })); +window.define('test-app/config/environment', () => ({ + default: config, +})); +document.dispatchEvent(new Event('Ember')); diff --git a/test-apps/vite-app/babel.config.cjs b/test-apps/vite-app/babel.config.cjs new file mode 100644 index 0000000000..0ba59badb3 --- /dev/null +++ b/test-apps/vite-app/babel.config.cjs @@ -0,0 +1,45 @@ +const { + babelCompatSupport, + templateCompatSupport, +} = require('@embroider/compat/babel'); + +module.exports = { + plugins: [ + ['@babel/plugin-transform-typescript'], + [ + 'babel-plugin-ember-template-compilation', + { + compilerPath: 'ember-source/dist/ember-template-compiler.js', + + enableLegacyModules: [ + 'ember-cli-htmlbars', + 'ember-cli-htmlbars-inline-precompile', + 'htmlbars-inline-precompile', + ], + // remove resolver-transform so that it does not change the hbs + transforms: [...templateCompatSupport()].slice(0, -1), + }, + ], + [ + 'module:decorator-transforms', + { + runtime: { + import: require.resolve('decorator-transforms/runtime-esm'), + }, + }, + ], + [ + '@babel/plugin-transform-runtime', + { + absoluteRuntime: __dirname, + useESModules: true, + regenerator: false, + }, + ], + ...babelCompatSupport(), + ], + + generatorOpts: { + compact: false, + }, +}; diff --git a/test-apps/vite-app/config/ember-cli-update.json b/test-apps/vite-app/config/ember-cli-update.json new file mode 100644 index 0000000000..5dc0d1493e --- /dev/null +++ b/test-apps/vite-app/config/ember-cli-update.json @@ -0,0 +1,20 @@ +{ + "schemaVersion": "1.0.0", + "packages": [ + { + "name": "ember-cli", + "version": "6.1.0", + "blueprints": [ + { + "name": "app", + "outputRepo": "https://github.com/ember-cli/ember-new-output", + "codemodsSource": "ember-app-codemods-manifest@1", + "isBaseBlueprint": true, + "options": [ + "--ci-provider=github" + ] + } + ] + } + ] +} diff --git a/test-apps/vite-app/config/ember-try.js b/test-apps/vite-app/config/ember-try.js new file mode 100644 index 0000000000..9bd6ec4c89 --- /dev/null +++ b/test-apps/vite-app/config/ember-try.js @@ -0,0 +1,142 @@ +'use strict'; + +const getChannelURL = require('ember-source-channel-url'); + +module.exports = async function () { + return { + packageManager: 'pnpm', + // hack to override + scenarios: [ + { + name: 'ember-lts-3.16', + command: 'pnpm run test-lts-3', + npm: { + devDependencies: { + '@ember/test-helpers': '^2.4.0', + 'ember-cli': '^3.28.0', + 'ember-source': '~3.16.0', + 'ember-resolver': '^11.0.1', + 'ember-qunit': '^5.1.5', + }, + }, + }, + { + name: 'ember-lts-3.20', + command: 'pnpm run test-lts-3', + npm: { + devDependencies: { + '@ember/test-helpers': '^2.4.0', + 'ember-cli': '^3.28.0', + 'ember-source': '~3.20.5', + 'ember-resolver': '^11.0.1', + 'ember-qunit': '^5.1.5', + }, + }, + }, + { + name: 'ember-lts-3.24', + command: 'pnpm run test-lts-3', + npm: { + devDependencies: { + '@ember/test-helpers': '^2.4.0', + 'ember-cli': '^3.28.0', + 'ember-source': '~3.24.0', + 'ember-resolver': '^11.0.1', + 'ember-qunit': '^5.1.5', + }, + }, + }, + { + name: 'ember-lts-3.28', + command: 'pnpm run test-lts-3', + npm: { + devDependencies: { + '@ember/test-helpers': '^2.4.0', + 'ember-cli': '^3.28.0', + 'ember-source': '~3.28.0', + 'ember-resolver': '^11.0.1', + 'ember-qunit': '^5.1.5', + 'babel-plugin-ember-template-compilation': '^1.0.2', + }, + }, + }, + { + name: 'ember-lts-4.8', + npm: { + devDependencies: { + 'ember-resolver': '^11.0.1', + 'ember-source': '~4.8.0', + }, + }, + }, + { + name: 'ember-lts-4.12', + npm: { + devDependencies: { + 'ember-source': '~4.12.0', + }, + }, + }, + { + name: 'ember-lts-5.4', + npm: { + devDependencies: { + 'ember-source': '~5.4.0', + }, + }, + }, + { + name: 'ember-lts-5.8', + npm: { + devDependencies: { + 'ember-source': '~5.8.0', + }, + }, + }, + { + name: 'ember-lts-5.12', + npm: { + devDependencies: { + 'ember-source': '~5.12.0', + }, + }, + }, + { + name: 'ember-release', + npm: { + devDependencies: { + 'ember-source': await getChannelURL('release'), + }, + }, + }, + { + name: 'ember-beta', + npm: { + devDependencies: { + 'ember-source': await getChannelURL('beta'), + }, + }, + }, + { + name: 'ember-canary', + npm: { + devDependencies: { + 'ember-source': await getChannelURL('canary'), + }, + }, + }, + { + name: 'ember-default', + npm: { + devDependencies: {}, + }, + }, + { + name: 'ember-default-no-prototype-extensions', + env: { + NO_EXTEND_PROTOTYPES: 'true', + }, + }, + ], + }; +}; diff --git a/test-apps/vite-app/config/environment.js b/test-apps/vite-app/config/environment.js new file mode 100644 index 0000000000..81d93ebd9c --- /dev/null +++ b/test-apps/vite-app/config/environment.js @@ -0,0 +1,48 @@ +'use strict'; + +module.exports = function (environment) { + const ENV = { + modulePrefix: 'vite-app', + environment, + rootURL: '/', + locationType: 'history', + EmberENV: { + EXTEND_PROTOTYPES: false, + FEATURES: { + // Here you can enable experimental features on an ember canary build + // e.g. EMBER_NATIVE_DECORATOR_SUPPORT: true + }, + }, + + APP: { + // Here you can pass flags/options to your application instance + // when it is created + }, + }; + + if (environment === 'development') { + // ENV.APP.LOG_RESOLVER = true; + // ENV.APP.LOG_ACTIVE_GENERATION = true; + // ENV.APP.LOG_TRANSITIONS = true; + // ENV.APP.LOG_TRANSITIONS_INTERNAL = true; + // ENV.APP.LOG_VIEW_LOOKUPS = true; + } + + if (environment === 'test') { + // Testem prefers this... + ENV.locationType = 'none'; + + // keep test console output quieter + ENV.APP.LOG_ACTIVE_GENERATION = false; + ENV.APP.LOG_VIEW_LOOKUPS = false; + + ENV.APP.rootElement = '#ember-testing'; + ENV.APP.autoboot = false; + } + + if (environment === 'production') { + // here you can enable a production-specific feature + } + + return ENV; +}; diff --git a/test-apps/vite-app/config/optional-features.json b/test-apps/vite-app/config/optional-features.json new file mode 100644 index 0000000000..5329dd9913 --- /dev/null +++ b/test-apps/vite-app/config/optional-features.json @@ -0,0 +1,7 @@ +{ + "application-template-wrapper": false, + "default-async-observers": true, + "jquery-integration": false, + "template-only-glimmer-components": true, + "no-implicit-route-model": true +} diff --git a/test-apps/vite-app/config/targets.js b/test-apps/vite-app/config/targets.js new file mode 100644 index 0000000000..1e48e0599f --- /dev/null +++ b/test-apps/vite-app/config/targets.js @@ -0,0 +1,11 @@ +'use strict'; + +const browsers = [ + 'last 1 Chrome versions', + 'last 1 Firefox versions', + 'last 1 Safari versions', +]; + +module.exports = { + browsers, +}; diff --git a/test-apps/vite-app/ember-cli-build.js b/test-apps/vite-app/ember-cli-build.js new file mode 100644 index 0000000000..14c2f4c8e6 --- /dev/null +++ b/test-apps/vite-app/ember-cli-build.js @@ -0,0 +1,13 @@ +'use strict'; + +const EmberApp = require('ember-cli/lib/broccoli/ember-app'); +const { compatBuild } = require('@embroider/compat'); + +module.exports = async function (defaults) { + const { buildOnce } = await import('@embroider/vite'); + const app = new EmberApp(defaults, { + 'ember-cli-babel': { enableTypeScriptTransform: true }, + }); + + return compatBuild(app, buildOnce); +}; diff --git a/test-apps/vite-app/index.html b/test-apps/vite-app/index.html new file mode 100644 index 0000000000..717db3655a --- /dev/null +++ b/test-apps/vite-app/index.html @@ -0,0 +1,29 @@ + + + + + TsAppTemplate + + + + {{content-for "head"}} + + + + + {{content-for "head-footer"}} + + + {{content-for "body"}} + + + + + {{content-for "body-footer"}} + + diff --git a/test-apps/vite-app/package.json b/test-apps/vite-app/package.json new file mode 100644 index 0000000000..e7d6477cac --- /dev/null +++ b/test-apps/vite-app/package.json @@ -0,0 +1,103 @@ +{ + "name": "vite-app", + "version": "0.0.0", + "private": true, + "description": "Small description for vite-app goes here", + "repository": "", + "license": "MIT", + "author": "", + "directories": { + "doc": "doc", + "test": "tests" + }, + "exports": { + "./tests/*": "./tests/*", + "./*": "./app/*" + }, + "scripts": { + "build": "ember build --environment=test", + "lint": "concurrently \"npm:lint:*(!fix)\" --names \"lint:\"", + "lint:css": "stylelint \"**/*.css\"", + "lint:css:fix": "concurrently \"npm:lint:css -- --fix\"", + "lint:fix": "concurrently \"npm:lint:*:fix\" --names \"fix:\"", + "lint:hbs": "ember-template-lint .", + "lint:hbs:fix": "ember-template-lint . --fix", + "lint:js": "eslint . --cache", + "lint:js:fix": "eslint . --fix", + "start": "vite", + "test": "concurrently \"npm:lint\" \"npm:test:*\" --names \"lint,test:\"", + "test:ember": "ember test" + }, + "devDependencies": { + "@babel/core": "^7.22.20", + "@babel/eslint-parser": "^7.21.3", + "@babel/plugin-proposal-decorators": "^7.21.0", + "@babel/plugin-transform-runtime": "^7.25.4", + "@babel/plugin-transform-typescript": "^7.21.3", + "@babel/runtime": "^7.25.6", + "@ember/optional-features": "^2.0.0", + "@ember/string": "^3.1.1", + "@ember/test-helpers": "^4.0.4", + "@ember/render-modifiers": "^3.0.0", + "@embroider/compat": "^4.1.0", + "@embroider/config-meta-loader": "^1.0.0", + "@embroider/core": "^4.1.1", + "@embroider/router": "^3.0.1", + "@embroider/test-setup": "^4.0.0", + "@embroider/vite": "^1.1.5", + "@glimmer/component": "^1.1.2", + "@glimmer/tracking": "^1.1.2", + "@glint/environment-ember-loose": "^1.1.0", + "@glint/template": "^1.1.0", + "@rollup/plugin-babel": "^5.3.1", + "@tsconfig/ember": "^1.0.0", + "@types/htmlbars-inline-precompile": "^3.0.0", + "@types/qunit": "2.19.10", + "@types/rsvp": "^4.0.4", + "babel-plugin-ember-template-compilation": "^3.0.0", + "broccoli-asset-rev": "^3.0.0", + "concurrently": "^8.2.1", + "decorator-transforms": "^2.0.0", + "ember-auto-import": "^2.6.3", + "ember-cli": "~5.3.0", + "ember-cli-app-version": "^6.0.1", + "ember-cli-babel": "^8.0.0", + "ember-cli-clean-css": "^3.0.0", + "ember-cli-dependency-checker": "^3.3.2", + "ember-cli-htmlbars": "^6.3.0", + "ember-cli-inject-live-reload": "^2.1.0", + "ember-cli-sri": "^2.1.1", + "ember-cli-terser": "^4.0.2", + "ember-load-initializers": "^3.0.0", + "ember-modifier": "^4.1.0", + "ember-page-title": "^8.0.0", + "ember-qunit": "^8.1.1", + "ember-resolver": "^13.1.0", + "ember-source": "~5.12.0", + "ember-try": "^4.0.0", + "loader.js": "^4.7.0", + "send": "^1.2.0", + "eslint-plugin-n": "^16.1.0", + "prettier": "^3.0.3", + "qunit": "^2.19.4", + "qunit-dom": "^2.0.0", + "stylelint": "^15.10.3", + "stylelint-config-standard": "^34.0.0", + "stylelint-prettier": "^4.0.2", + "terser": "^5.7.0", + "tracked-built-ins": "^3.2.0", + "typescript": "^5.4.5", + "vite": "^6.0.0", + "webpack": "^5.88.2" + }, + "engines": { + "node": "16.* || >= 18" + }, + "ember": { + "edition": "octane" + }, + "ember-addon": { + "type": "app", + "version": 2 + } +} diff --git a/test-apps/vite-app/tests/index.html b/test-apps/vite-app/tests/index.html new file mode 100644 index 0000000000..17f49ca684 --- /dev/null +++ b/test-apps/vite-app/tests/index.html @@ -0,0 +1,52 @@ + + + + + TsAppTemplate Tests + + + + {{content-for "head"}} + {{content-for "test-head"}} + + + + + + {{content-for "head-footer"}} + {{content-for "test-head-footer"}} + + + {{content-for "body"}} + {{content-for "test-body"}} + +
+
+
+
+
+
+ + + + + + + + + + + + + {{content-for "body-footer"}} + + diff --git a/test-apps/vite-app/tsconfig.json b/test-apps/vite-app/tsconfig.json new file mode 100644 index 0000000000..7729f6a736 --- /dev/null +++ b/test-apps/vite-app/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "@tsconfig/ember/tsconfig.json", + "compilerOptions": { + // The combination of `baseUrl` with `paths` allows Ember's classic package + // layout, which is not resolvable with the Node resolution algorithm, to + // work with TypeScript. + "baseUrl": ".", + "paths": { + "vite-apptests/*": ["tests/*"], + "vite-app*": ["app/*"], + "*": ["types/*"] + } + }, + "include": ["app/**/*", "tests/**/*", "types/**/*"] +} diff --git a/test-apps/vite-app/vite.config.mjs b/test-apps/vite-app/vite.config.mjs new file mode 100644 index 0000000000..3ce437b310 --- /dev/null +++ b/test-apps/vite-app/vite.config.mjs @@ -0,0 +1,109 @@ +import { defineConfig } from 'vite'; +import { extensions, classicEmberSupport, ember } from '@embroider/vite'; +import { babel } from '@rollup/plugin-babel'; +import path from 'path'; +import fs from 'fs'; +import send from 'send'; + +function emberDebug() { + const testingDir = path.resolve(__dirname, '../../dist/testing'); + const distDir = path.resolve(__dirname, '../../dist'); + const shared = path.resolve(__dirname, '../shared'); + const testingFolderExists = fs.existsSync(testingDir); + const dist = testingFolderExists ? testingDir : distDir; + const files = [ + 'ember_debug.js', + 'background.js', + 'content-script.js', + 'panes-3-16-0/ember_debug.js', + ]; + return { + name: 'ember-debug-loader', + async resolveId(id, importer, opts) { + if (id.startsWith('ember-debug')) { + return id; + } + if (id.startsWith('vite-app')) { + const sharedId = id.replace('vite-app', `${shared}/app`); + const resolved = await this.resolve(sharedId, importer, opts); + if (resolved) { + return resolved; + } + } + if (importer?.includes('shared')) { + return this.resolve(id, importer.replace(shared, process.cwd()), opts); + } + }, + load(id) { + if (id.startsWith('ember-debug/version')) { + return ` + export default requireModule('${id}').default; + export const compareVersion = requireModule('${id}').compareVersion; + export const isInVersionSpecifier = requireModule('${id}').isInVersionSpecifier; + `; + } + if (id.startsWith('ember-debug/type-check')) { + return ` + export default requireModule('${id}').default; + export const inspect = requireModule('${id}').inspect; + `; + } + if (id.startsWith('ember-debug/ember')) { + return ` + export default requireModule('${id}').default; + export const VERSION = requireModule('${id}').VERSION; + `; + } + if (id.startsWith('ember-debug')) { + return `export default requireModule('${id}').default`; + } + }, + writeBundle() { + for (const file of files) { + fs.cpSync( + path.resolve(dist, file), + path.resolve(__dirname, 'dist', file), + ); + } + }, + configureServer(server) { + return () => { + server.middlewares.use((req, res, next) => { + let originalUrl = req.originalUrl; + const found = + originalUrl && + files.find((f) => f.startsWith(originalUrl.slice(1))); + if (found) { + const assetUrl = path.resolve(dist, found); + if (assetUrl) { + return send(req, assetUrl).pipe(res); + } + } + return next(); + }); + }; + }, + }; +} + +export default defineConfig({ + resolve: { + alias: { + 'test-app': 'vite-app', + }, + }, + build: { + rollupOptions: { + external: [/^ember-debug/], + }, + }, + plugins: [ + emberDebug(), + classicEmberSupport(), + ember(), + babel({ + babelHelpers: 'runtime', + extensions, + }), + ], +}); diff --git a/tests/index.html b/tests/index.html index daf58d259a..cd21f0ea9d 100644 --- a/tests/index.html +++ b/tests/index.html @@ -26,7 +26,6 @@ - {{content-for "head-footer"}} {{content-for "test-head-footer"}} diff --git a/tsconfig.json b/tsconfig.json index 1c159c047d..32ce044bec 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -19,5 +19,5 @@ }, "types": ["chrome", "./node_modules/ember-source/types/stable"] }, - "include": ["app/**/*", "tests/**/*", "types/**/*", "lib/ui/**/*"] + "include": ["app/**/*", "test-apps/**/*", "tests/**/*", "types/**/*", "lib/ui/**/*"] }