diff --git a/.prettierrc.cjs b/.prettierrc.cjs index 7cdf7074..8eda0644 100644 --- a/.prettierrc.cjs +++ b/.prettierrc.cjs @@ -5,7 +5,7 @@ module.exports = { templateSingleQuote: false, overrides: [ { - files: '*.{js,ts,gjs,gts}', + files: '*.{js,gjs,ts,gts,mjs,mts,cjs,cts}', options: { singleQuote: true, }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 23c3cb36..d65681c5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -46,7 +46,7 @@ importers: version: 2.0.0(@babel/core@7.26.10) ember-modifier: specifier: ^3.2.7 || ^4.0.0 - version: 4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.98.0)) + version: 4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)) ember-source: specifier: ^3.28.0 || ^4.0.0 || >=5.0.0 version: 6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.98.0) @@ -68,10 +68,10 @@ importers: version: 1.5.2(typescript@5.8.2) '@glint/environment-ember-loose': specifier: 1.5.2 - version: 1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.26.10))(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__controller@4.0.12(@babel/core@7.26.10))(@types/ember__object@4.0.12(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.98.0))) + version: 1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.26.10))(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__controller@4.0.12(@babel/core@7.26.10))(@types/ember__object@4.0.12(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5))) '@glint/environment-ember-template-imports': specifier: 1.5.2 - version: 1.5.2(@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.26.10))(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__controller@4.0.12(@babel/core@7.26.10))(@types/ember__object@4.0.12(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.98.0))))(@glint/template@1.5.2)(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__helper@4.0.9(@babel/core@7.26.10))(@types/ember__modifier@4.0.9(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10)) + version: 1.5.2(@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.26.10))(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__controller@4.0.12(@babel/core@7.26.10))(@types/ember__object@4.0.12(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5))))(@glint/template@1.5.2)(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__helper@4.0.9(@babel/core@7.26.10))(@types/ember__modifier@4.0.9(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10)) '@glint/template': specifier: 1.5.2 version: 1.5.2 @@ -192,6 +192,12 @@ importers: '@babel/core': specifier: 7.26.10 version: 7.26.10(supports-color@8.1.1) + '@babel/eslint-parser': + specifier: ^7.26.5 + version: 7.26.10(@babel/core@7.26.10)(eslint@9.19.0) + '@babel/plugin-proposal-decorators': + specifier: ^7.25.9 + version: 7.25.9(@babel/core@7.26.10) '@ember/optional-features': specifier: 2.2.0 version: 2.2.0 @@ -204,6 +210,9 @@ importers: '@embroider/test-setup': specifier: 4.0.0 version: 4.0.0(@embroider/compat@3.8.3(@embroider/core@3.5.2(@glint/template@1.5.2))(@glint/template@1.5.2))(@embroider/core@3.5.2(@glint/template@1.5.2))(@embroider/webpack@4.1.0(@embroider/core@3.5.2(@glint/template@1.5.2))(webpack@5.98.0)) + '@eslint/js': + specifier: ^9.19.0 + version: 9.22.0 '@glimmer/component': specifier: 2.0.0 version: 2.0.0 @@ -215,91 +224,25 @@ importers: version: 1.5.2(typescript@5.8.2) '@glint/environment-ember-loose': specifier: 1.5.2 - version: 1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.26.10))(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__controller@4.0.12(@babel/core@7.26.10))(@types/ember__object@4.0.12(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.98.0))) + version: 1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.26.10))(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__controller@4.0.12(@babel/core@7.26.10))(@types/ember__object@4.0.12(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5))) '@glint/environment-ember-template-imports': specifier: 1.5.2 - version: 1.5.2(@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.26.10))(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__controller@4.0.12(@babel/core@7.26.10))(@types/ember__object@4.0.12(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.98.0))))(@glint/template@1.5.2)(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__helper@4.0.9(@babel/core@7.26.10))(@types/ember__modifier@4.0.9(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10)) + version: 1.5.2(@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.26.10))(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__controller@4.0.12(@babel/core@7.26.10))(@types/ember__object@4.0.12(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5))))(@glint/template@1.5.2)(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__helper@4.0.9(@babel/core@7.26.10))(@types/ember__modifier@4.0.9(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10)) '@glint/template': specifier: 1.5.2 version: 1.5.2 '@tsconfig/ember': specifier: 3.0.9 version: 3.0.9 - '@types/ember': - specifier: 4.0.11 - version: 4.0.11(@babel/core@7.26.10) - '@types/ember__application': - specifier: 4.0.11 - version: 4.0.11(@babel/core@7.26.10) - '@types/ember__array': - specifier: 4.0.10 - version: 4.0.10(@babel/core@7.26.10) - '@types/ember__component': - specifier: 4.0.22 - version: 4.0.22(@babel/core@7.26.10) - '@types/ember__controller': - specifier: 4.0.12 - version: 4.0.12(@babel/core@7.26.10) - '@types/ember__debug': - specifier: 4.0.8 - version: 4.0.8(@babel/core@7.26.10) - '@types/ember__destroyable': - specifier: 4.0.5 - version: 4.0.5 - '@types/ember__engine': - specifier: 4.0.11 - version: 4.0.11(@babel/core@7.26.10) - '@types/ember__error': - specifier: 4.0.6 - version: 4.0.6 - '@types/ember__helper': - specifier: 4.0.9 - version: 4.0.9(@babel/core@7.26.10) - '@types/ember__modifier': - specifier: 4.0.9 - version: 4.0.9(@babel/core@7.26.10) - '@types/ember__object': - specifier: 4.0.12 - version: 4.0.12(@babel/core@7.26.10) - '@types/ember__owner': - specifier: 4.0.9 - version: 4.0.9 - '@types/ember__polyfills': - specifier: 4.0.6 - version: 4.0.6 - '@types/ember__routing': - specifier: 4.0.22 - version: 4.0.22(@babel/core@7.26.10) - '@types/ember__runloop': - specifier: 4.0.10 - version: 4.0.10(@babel/core@7.26.10) - '@types/ember__service': - specifier: 4.0.9 - version: 4.0.9(@babel/core@7.26.10) - '@types/ember__string': - specifier: 3.16.3 - version: 3.16.3 - '@types/ember__template': - specifier: 4.0.7 - version: 4.0.7 - '@types/ember__test': - specifier: 4.0.6 - version: 4.0.6(@babel/core@7.26.10) - '@types/ember__utils': - specifier: 4.0.7 - version: 4.0.7(@babel/core@7.26.10) + '@types/eslint__js': + specifier: ^8.42.3 + version: 8.42.3 '@types/qunit': specifier: 2.19.12 version: 2.19.12 '@types/rsvp': specifier: 4.0.9 version: 4.0.9 - '@typescript-eslint/eslint-plugin': - specifier: 7.18.0 - version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)(typescript@5.8.2) - '@typescript-eslint/parser': - specifier: 7.18.0 - version: 7.18.0(eslint@8.57.1)(typescript@5.8.2) broccoli-asset-rev: specifier: 3.0.0 version: 3.0.0 @@ -338,7 +281,7 @@ importers: version: 4.0.2 ember-eslint-parser: specifier: 0.5.9 - version: 0.5.9(@babel/core@7.26.10)(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1) + version: 0.5.9(@babel/core@7.26.10)(@typescript-eslint/parser@8.26.1(eslint@9.19.0)(typescript@5.8.2))(eslint@9.19.0) ember-fetch: specifier: 8.1.2 version: 8.1.2(encoding@0.1.13) @@ -347,7 +290,7 @@ importers: version: 3.0.1(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.98.0)) ember-modifier: specifier: 4.2.0 - version: 4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.98.0)) + version: 4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)) ember-page-title: specifier: 9.0.1 version: 9.0.1(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.98.0)) @@ -376,23 +319,26 @@ importers: specifier: 4.0.0 version: 4.0.0(encoding@0.1.13) eslint: - specifier: 8.57.1 - version: 8.57.1 + specifier: 9.19.0 + version: 9.19.0 eslint-config-prettier: specifier: 10.1.1 - version: 10.1.1(eslint@8.57.1) + version: 10.1.1(eslint@9.19.0) eslint-plugin-ember: specifier: 12.5.0 - version: 12.5.0(@babel/core@7.26.10)(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1) + version: 12.5.0(@babel/core@7.26.10)(@typescript-eslint/parser@8.26.1(eslint@9.19.0)(typescript@5.8.2))(eslint@9.19.0) eslint-plugin-n: specifier: 17.16.2 - version: 17.16.2(eslint@8.57.1) + version: 17.16.2(eslint@9.19.0) eslint-plugin-prettier: specifier: 5.2.3 - version: 5.2.3(@types/eslint@9.6.0)(eslint-config-prettier@10.1.1(eslint@8.57.1))(eslint@8.57.1)(prettier@3.5.3) + version: 5.2.3(@types/eslint@9.6.0)(eslint-config-prettier@10.1.1(eslint@9.19.0))(eslint@9.19.0)(prettier@3.5.3) eslint-plugin-qunit: specifier: 8.1.2 - version: 8.1.2(eslint@8.57.1) + version: 8.1.2(eslint@9.19.0) + globals: + specifier: ^15.14.0 + version: 15.15.0 loader.js: specifier: 4.7.0 version: 4.7.0 @@ -423,6 +369,9 @@ importers: typescript: specifier: 5.8.2 version: 5.8.2 + typescript-eslint: + specifier: ^8.23.0 + version: 8.26.1(eslint@9.19.0)(typescript@5.8.2) webpack: specifier: 5.98.0 version: 5.98.0 @@ -452,12 +401,12 @@ packages: resolution: {integrity: sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==} engines: {node: '>=6.9.0'} - '@babel/eslint-parser@7.23.10': - resolution: {integrity: sha512-3wSYDPZVnhseRnxRJH6ZVTNknBz76AEnyC+AYYhasjP3Yy23qz0ERR7Fcd2SHmYuSFJ2kY9gaaDd3vyqU09eSw==} + '@babel/eslint-parser@7.26.10': + resolution: {integrity: sha512-QsfQZr4AiLpKqn7fz+j7SN+f43z2DZCgGyYbNJ2vJOqKfG4E6MZer1+jqGZqKJaxq/gdO2DC/nUu45+pOL5p2Q==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': ^7.11.0 - eslint: ^7.5.0 || ^8.0.0 + eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 '@babel/generator@7.26.10': resolution: {integrity: sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==} @@ -588,8 +537,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-decorators@7.24.0': - resolution: {integrity: sha512-LiT1RqZWeij7X+wGxCoYh3/3b8nVOX6/7BZ9wiQgAIyjoeQWdROaodJCgT+dwtbjHaz0r7bEbHJzjSbVfcOyjQ==} + '@babel/plugin-proposal-decorators@7.25.9': + resolution: {integrity: sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1164,14 +1113,46 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@eslint/config-array@0.19.2': + resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.10.0': + resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.12.0': + resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/eslintrc@2.1.4': resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/eslintrc@3.3.0': + resolution: {integrity: sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/js@8.57.1': resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/js@9.19.0': + resolution: {integrity: sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.22.0': + resolution: {integrity: sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.6': + resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.2.7': + resolution: {integrity: sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@gar/promisify@1.1.3': resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} @@ -1334,6 +1315,14 @@ packages: '@handlebars/parser@2.0.0': resolution: {integrity: sha512-EP9uEDZv/L5Qh9IWuMUGJRfwhXJ4h1dqKTT4/3+tY0eu7sPis7xh23j61SYUnNF4vqCQvvUXpDo9Bh/+q1zASA==} + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} + '@humanwhocodes/config-array@0.13.0': resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} @@ -1347,6 +1336,14 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.2': + resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} + engines: {node: '>=18.18'} + '@iarna/toml@2.2.5': resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} @@ -1751,6 +1748,9 @@ packages: '@types/eslint@9.6.0': resolution: {integrity: sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==} + '@types/eslint__js@8.42.3': + resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==} + '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} @@ -1852,6 +1852,14 @@ packages: typescript: optional: true + '@typescript-eslint/eslint-plugin@8.26.1': + resolution: {integrity: sha512-2X3mwqsj9Bd3Ciz508ZUtoQQYpOhU/kWoUqIf49H8Z0+Vbh6UF/y0OEYp0Q0axOGzaBGs7QxRwq0knSQ8khQNA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/parser@7.18.0': resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} engines: {node: ^18.18.0 || >=20.0.0} @@ -1862,10 +1870,21 @@ packages: typescript: optional: true + '@typescript-eslint/parser@8.26.1': + resolution: {integrity: sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/scope-manager@7.18.0': resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/scope-manager@8.26.1': + resolution: {integrity: sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/type-utils@7.18.0': resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} engines: {node: ^18.18.0 || >=20.0.0} @@ -1876,10 +1895,21 @@ packages: typescript: optional: true + '@typescript-eslint/type-utils@8.26.1': + resolution: {integrity: sha512-Kcj/TagJLwoY/5w9JGEFV0dclQdyqw9+VMndxOJKtoFSjfZhLXhYjzsQEeyza03rwHx2vFEGvrJWJBXKleRvZg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/types@7.18.0': resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/types@8.26.1': + resolution: {integrity: sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@7.18.0': resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} engines: {node: ^18.18.0 || >=20.0.0} @@ -1889,16 +1919,33 @@ packages: typescript: optional: true + '@typescript-eslint/typescript-estree@8.26.1': + resolution: {integrity: sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/utils@7.18.0': resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 + '@typescript-eslint/utils@8.26.1': + resolution: {integrity: sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/visitor-keys@7.18.0': resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/visitor-keys@8.26.1': + resolution: {integrity: sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -3069,6 +3116,10 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + crypto-random-string@2.0.0: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} @@ -3701,6 +3752,10 @@ packages: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.3.0: + resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-utils@3.0.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} @@ -3715,16 +3770,34 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@4.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint@8.57.1: resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true + eslint@9.19.0: + resolution: {integrity: sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + esm@3.2.25: resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} engines: {node: '>=6'} + espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3901,6 +3974,10 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + filesize@10.1.6: resolution: {integrity: sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==} engines: {node: '>= 10.4.0'} @@ -3993,6 +4070,10 @@ packages: 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'} + flat-cache@6.1.7: resolution: {integrity: sha512-qwZ4xf1v1m7Rc9XiORly31YaChvKt6oNVHuqqZcoED/7O+ToyNVGobKsIAopY9ODcWpEDKEBAbrSOCBHtNQvew==} @@ -4228,6 +4309,10 @@ packages: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + globals@15.15.0: resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} @@ -6915,6 +7000,12 @@ packages: peerDependencies: typescript: '>=4.2.0' + ts-api-utils@2.0.1: + resolution: {integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} @@ -6968,6 +7059,13 @@ packages: typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + typescript-eslint@8.26.1: + resolution: {integrity: sha512-t/oIs9mYyrwZGRpDv3g+3K6nZ5uhKEMt2oNmAPwaY4/ye0+EH4nXIPYNtkYFS6QHm+1DFg34DbglYBz5P9Xysg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + typescript-memoize@1.1.1: resolution: {integrity: sha512-GQ90TcKpIH4XxYTI2F98yEQYZgjNMOGPpOgdjIBhaLaWji5HPWlRnZ4AeA1hfBxtY7bCGDJsqDDHk/KaHOl5bA==} @@ -7425,7 +7523,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/eslint-parser@7.23.10(@babel/core@7.26.10)(eslint@8.57.1)': + '@babel/eslint-parser@7.26.10(@babel/core@7.26.10)(eslint@8.57.1)': dependencies: '@babel/core': 7.26.10(supports-color@8.1.1) '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 @@ -7433,6 +7531,14 @@ snapshots: eslint-visitor-keys: 2.1.0 semver: 6.3.1 + '@babel/eslint-parser@7.26.10(@babel/core@7.26.10)(eslint@9.19.0)': + dependencies: + '@babel/core': 7.26.10(supports-color@8.1.1) + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 9.19.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 + '@babel/generator@7.26.10': dependencies: '@babel/parser': 7.26.10 @@ -7604,7 +7710,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-decorators@7.24.0(@babel/core@7.26.10)': + '@babel/plugin-proposal-decorators@7.25.9(@babel/core@7.26.10)': dependencies: '@babel/core': 7.26.10(supports-color@8.1.1) '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.10)(supports-color@8.1.1) @@ -8431,8 +8537,29 @@ snapshots: eslint: 8.57.1 eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils@4.5.1(eslint@9.19.0)': + dependencies: + eslint: 9.19.0 + eslint-visitor-keys: 3.4.3 + '@eslint-community/regexpp@4.12.1': {} + '@eslint/config-array@0.19.2': + dependencies: + '@eslint/object-schema': 2.1.6 + debug: 4.4.0(supports-color@8.1.1) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/core@0.10.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/core@0.12.0': + dependencies: + '@types/json-schema': 7.0.15 + '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 @@ -8447,8 +8574,33 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/eslintrc@3.3.0': + dependencies: + ajv: 6.12.6 + debug: 4.4.0(supports-color@8.1.1) + espree: 10.3.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + '@eslint/js@8.57.1': {} + '@eslint/js@9.19.0': {} + + '@eslint/js@9.22.0': {} + + '@eslint/object-schema@2.1.6': {} + + '@eslint/plugin-kit@0.2.7': + dependencies: + '@eslint/core': 0.12.0 + levn: 0.4.1 + '@gar/promisify@1.1.3': {} '@glimmer/compiler@0.92.4': @@ -8678,7 +8830,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.26.10))(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__controller@4.0.12(@babel/core@7.26.10))(@types/ember__object@4.0.12(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.98.0)))': + '@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.26.10))(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__controller@4.0.12(@babel/core@7.26.10))(@types/ember__object@4.0.12(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)))': dependencies: '@glimmer/component': 2.0.0 '@glint/template': 1.5.2 @@ -8689,11 +8841,11 @@ snapshots: '@types/ember__object': 4.0.12(@babel/core@7.26.10) '@types/ember__routing': 4.0.22(@babel/core@7.26.10) ember-cli-htmlbars: 6.3.0 - ember-modifier: 4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.98.0)) + ember-modifier: 4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)) - '@glint/environment-ember-template-imports@1.5.2(@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.26.10))(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__controller@4.0.12(@babel/core@7.26.10))(@types/ember__object@4.0.12(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.98.0))))(@glint/template@1.5.2)(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__helper@4.0.9(@babel/core@7.26.10))(@types/ember__modifier@4.0.9(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10))': + '@glint/environment-ember-template-imports@1.5.2(@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.26.10))(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__controller@4.0.12(@babel/core@7.26.10))(@types/ember__object@4.0.12(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5))))(@glint/template@1.5.2)(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__helper@4.0.9(@babel/core@7.26.10))(@types/ember__modifier@4.0.9(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10))': dependencies: - '@glint/environment-ember-loose': 1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.26.10))(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__controller@4.0.12(@babel/core@7.26.10))(@types/ember__object@4.0.12(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.98.0))) + '@glint/environment-ember-loose': 1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.26.10))(@types/ember__component@4.0.22(@babel/core@7.26.10))(@types/ember__controller@4.0.12(@babel/core@7.26.10))(@types/ember__object@4.0.12(@babel/core@7.26.10))(@types/ember__routing@4.0.22(@babel/core@7.26.10))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5))) '@glint/template': 1.5.2 content-tag: 2.0.1 optionalDependencies: @@ -8706,6 +8858,13 @@ snapshots: '@handlebars/parser@2.0.0': {} + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 + '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 @@ -8718,6 +8877,10 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.2': {} + '@iarna/toml@2.2.5': {} '@inquirer/figures@1.0.11': {} @@ -9037,26 +9200,6 @@ snapshots: dependencies: '@types/ms': 0.7.34 - '@types/ember@4.0.11': - dependencies: - '@types/ember__application': 4.0.11(@babel/core@7.26.10) - '@types/ember__array': 4.0.10(@babel/core@7.26.10) - '@types/ember__component': 4.0.22(@babel/core@7.26.10) - '@types/ember__controller': 4.0.12(@babel/core@7.26.10) - '@types/ember__debug': 4.0.8(@babel/core@7.26.10) - '@types/ember__engine': 4.0.11(@babel/core@7.26.10) - '@types/ember__error': 4.0.6 - '@types/ember__object': 4.0.12(@babel/core@7.26.10) - '@types/ember__polyfills': 4.0.6 - '@types/ember__routing': 4.0.22(@babel/core@7.26.10) - '@types/ember__runloop': 4.0.10 - '@types/ember__service': 4.0.9(@babel/core@7.26.10) - '@types/ember__string': 3.16.3 - '@types/ember__template': 4.0.7 - '@types/ember__test': 4.0.6(@babel/core@7.26.10) - '@types/ember__utils': 4.0.7 - '@types/rsvp': 4.0.9 - '@types/ember@4.0.11(@babel/core@7.26.10)': dependencies: '@types/ember__application': 4.0.11(@babel/core@7.26.10) @@ -9083,7 +9226,7 @@ snapshots: '@types/ember__application@4.0.11(@babel/core@7.26.10)': dependencies: '@glimmer/component': 1.1.2(@babel/core@7.26.10) - '@types/ember': 4.0.11 + '@types/ember': 4.0.11(@babel/core@7.26.10) '@types/ember__engine': 4.0.11(@babel/core@7.26.10) '@types/ember__object': 4.0.12(@babel/core@7.26.10) '@types/ember__owner': 4.0.9 @@ -9174,10 +9317,6 @@ snapshots: - '@babel/core' - supports-color - '@types/ember__runloop@4.0.10': - dependencies: - '@types/ember': 4.0.11 - '@types/ember__runloop@4.0.10(@babel/core@7.26.10)': dependencies: '@types/ember': 4.0.11(@babel/core@7.26.10) @@ -9205,10 +9344,6 @@ snapshots: - '@babel/core' - supports-color - '@types/ember__utils@4.0.7': - dependencies: - '@types/ember': 4.0.11 - '@types/ember__utils@4.0.7(@babel/core@7.26.10)': dependencies: '@types/ember': 4.0.11(@babel/core@7.26.10) @@ -9226,6 +9361,10 @@ snapshots: '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 + '@types/eslint__js@8.42.3': + dependencies: + '@types/eslint': 9.6.0 + '@types/estree@1.0.6': {} '@types/express-serve-static-core@4.17.43': @@ -9344,6 +9483,23 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/eslint-plugin@8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.19.0)(typescript@5.8.2))(eslint@9.19.0)(typescript@5.8.2)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.26.1(eslint@9.19.0)(typescript@5.8.2) + '@typescript-eslint/scope-manager': 8.26.1 + '@typescript-eslint/type-utils': 8.26.1(eslint@9.19.0)(typescript@5.8.2) + '@typescript-eslint/utils': 8.26.1(eslint@9.19.0)(typescript@5.8.2) + '@typescript-eslint/visitor-keys': 8.26.1 + eslint: 9.19.0 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 2.0.1(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.2)': dependencies: '@typescript-eslint/scope-manager': 7.18.0 @@ -9357,11 +9513,28 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.26.1(eslint@9.19.0)(typescript@5.8.2)': + dependencies: + '@typescript-eslint/scope-manager': 8.26.1 + '@typescript-eslint/types': 8.26.1 + '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.8.2) + '@typescript-eslint/visitor-keys': 8.26.1 + debug: 4.4.0(supports-color@8.1.1) + eslint: 9.19.0 + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/scope-manager@7.18.0': dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 + '@typescript-eslint/scope-manager@8.26.1': + dependencies: + '@typescript-eslint/types': 8.26.1 + '@typescript-eslint/visitor-keys': 8.26.1 + '@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.8.2)': dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.2) @@ -9374,8 +9547,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@8.26.1(eslint@9.19.0)(typescript@5.8.2)': + dependencies: + '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.8.2) + '@typescript-eslint/utils': 8.26.1(eslint@9.19.0)(typescript@5.8.2) + debug: 4.4.0(supports-color@8.1.1) + eslint: 9.19.0 + ts-api-utils: 2.0.1(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/types@7.18.0': {} + '@typescript-eslint/types@8.26.1': {} + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.8.2)': dependencies: '@typescript-eslint/types': 7.18.0 @@ -9391,6 +9577,20 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.26.1(typescript@5.8.2)': + dependencies: + '@typescript-eslint/types': 8.26.1 + '@typescript-eslint/visitor-keys': 8.26.1 + debug: 4.4.0(supports-color@8.1.1) + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.1 + ts-api-utils: 2.0.1(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.8.2)': dependencies: '@eslint-community/eslint-utils': 4.5.1(eslint@8.57.1) @@ -9402,11 +9602,27 @@ snapshots: - supports-color - typescript + '@typescript-eslint/utils@8.26.1(eslint@9.19.0)(typescript@5.8.2)': + dependencies: + '@eslint-community/eslint-utils': 4.5.1(eslint@9.19.0) + '@typescript-eslint/scope-manager': 8.26.1 + '@typescript-eslint/types': 8.26.1 + '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.8.2) + eslint: 9.19.0 + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@7.18.0': dependencies: '@typescript-eslint/types': 7.18.0 eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@8.26.1': + dependencies: + '@typescript-eslint/types': 8.26.1 + eslint-visitor-keys: 4.2.0 + '@ungap/structured-clone@1.2.0': {} '@webassemblyjs/ast@1.14.1': @@ -10797,6 +11013,12 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + crypto-random-string@2.0.0: {} css-functions-list@3.2.3: {} @@ -11014,7 +11236,7 @@ snapshots: dependencies: '@babel/core': 7.26.10(supports-color@8.1.1) '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.26.10) - '@babel/plugin-proposal-decorators': 7.24.0(@babel/core@7.26.10) + '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.10) '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.26.10) '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.10)(supports-color@8.1.1) '@babel/preset-env': 7.26.9(@babel/core@7.26.10)(supports-color@8.1.1) @@ -11068,7 +11290,7 @@ snapshots: '@babel/core': 7.26.10(supports-color@8.1.1) '@babel/helper-compilation-targets': 7.26.5 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.26.10) - '@babel/plugin-proposal-decorators': 7.24.0(@babel/core@7.26.10) + '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.10) '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.26.10) '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.26.10) '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.10)(supports-color@8.1.1) @@ -11103,7 +11325,7 @@ snapshots: '@babel/core': 7.26.10(supports-color@8.1.1) '@babel/helper-compilation-targets': 7.26.5 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.26.10) - '@babel/plugin-proposal-decorators': 7.24.0(@babel/core@7.26.10) + '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.10) '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.26.10) '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.26.10) '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.10)(supports-color@8.1.1) @@ -11442,7 +11664,7 @@ snapshots: ember-eslint-parser@0.5.9(@babel/core@7.26.10)(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1): dependencies: '@babel/core': 7.26.10(supports-color@8.1.1) - '@babel/eslint-parser': 7.23.10(@babel/core@7.26.10)(eslint@8.57.1) + '@babel/eslint-parser': 7.26.10(@babel/core@7.26.10)(eslint@8.57.1) '@glimmer/syntax': 0.92.3 content-tag: 2.0.1 eslint-scope: 7.2.2 @@ -11454,6 +11676,21 @@ snapshots: transitivePeerDependencies: - eslint + ember-eslint-parser@0.5.9(@babel/core@7.26.10)(@typescript-eslint/parser@8.26.1(eslint@9.19.0)(typescript@5.8.2))(eslint@9.19.0): + dependencies: + '@babel/core': 7.26.10(supports-color@8.1.1) + '@babel/eslint-parser': 7.26.10(@babel/core@7.26.10)(eslint@9.19.0) + '@glimmer/syntax': 0.92.3 + content-tag: 2.0.1 + eslint-scope: 7.2.2 + html-tags: 3.3.1 + mathml-tag-names: 2.1.3 + svg-tags: 1.0.0 + optionalDependencies: + '@typescript-eslint/parser': 8.26.1(eslint@9.19.0)(typescript@5.8.2) + transitivePeerDependencies: + - eslint + ember-fetch@8.1.2(encoding@0.1.13): dependencies: abortcontroller-polyfill: 1.7.5 @@ -11478,7 +11715,7 @@ snapshots: dependencies: ember-source: 6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.98.0) - ember-modifier@4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.98.0)): + ember-modifier@4.2.0(@babel/core@7.26.10)(ember-source@6.2.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)): dependencies: '@embroider/addon-shim': 1.9.0 decorator-transforms: 2.0.0(@babel/core@7.26.10) @@ -11831,10 +12068,19 @@ snapshots: eslint: 8.57.1 semver: 7.7.1 + eslint-compat-utils@0.5.1(eslint@9.19.0): + dependencies: + eslint: 9.19.0 + semver: 7.7.1 + eslint-config-prettier@10.1.1(eslint@8.57.1): dependencies: eslint: 8.57.1 + eslint-config-prettier@10.1.1(eslint@9.19.0): + dependencies: + eslint: 9.19.0 + eslint-formatter-kakoune@1.0.0: {} eslint-plugin-ember@12.5.0(@babel/core@7.26.10)(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1): @@ -11855,6 +12101,24 @@ snapshots: transitivePeerDependencies: - '@babel/core' + eslint-plugin-ember@12.5.0(@babel/core@7.26.10)(@typescript-eslint/parser@8.26.1(eslint@9.19.0)(typescript@5.8.2))(eslint@9.19.0): + dependencies: + '@ember-data/rfc395-data': 0.0.4 + css-tree: 3.1.0 + ember-eslint-parser: 0.5.9(@babel/core@7.26.10)(@typescript-eslint/parser@8.26.1(eslint@9.19.0)(typescript@5.8.2))(eslint@9.19.0) + ember-rfc176-data: 0.3.18 + eslint: 9.19.0 + eslint-utils: 3.0.0(eslint@9.19.0) + estraverse: 5.3.0 + lodash.camelcase: 4.3.0 + lodash.kebabcase: 4.1.1 + requireindex: 1.2.0 + snake-case: 3.0.4 + optionalDependencies: + '@typescript-eslint/parser': 8.26.1(eslint@9.19.0)(typescript@5.8.2) + transitivePeerDependencies: + - '@babel/core' + eslint-plugin-es-x@7.8.0(eslint@8.57.1): dependencies: '@eslint-community/eslint-utils': 4.5.1(eslint@8.57.1) @@ -11862,6 +12126,13 @@ snapshots: eslint: 8.57.1 eslint-compat-utils: 0.5.1(eslint@8.57.1) + eslint-plugin-es-x@7.8.0(eslint@9.19.0): + dependencies: + '@eslint-community/eslint-utils': 4.5.1(eslint@9.19.0) + '@eslint-community/regexpp': 4.12.1 + eslint: 9.19.0 + eslint-compat-utils: 0.5.1(eslint@9.19.0) + eslint-plugin-n@17.16.2(eslint@8.57.1): dependencies: '@eslint-community/eslint-utils': 4.5.1(eslint@8.57.1) @@ -11874,6 +12145,18 @@ snapshots: minimatch: 9.0.5 semver: 7.7.1 + eslint-plugin-n@17.16.2(eslint@9.19.0): + dependencies: + '@eslint-community/eslint-utils': 4.5.1(eslint@9.19.0) + enhanced-resolve: 5.18.1 + eslint: 9.19.0 + eslint-plugin-es-x: 7.8.0(eslint@9.19.0) + get-tsconfig: 4.10.0 + globals: 15.15.0 + ignore: 5.3.2 + minimatch: 9.0.5 + semver: 7.7.1 + eslint-plugin-prettier@5.2.3(@types/eslint@9.6.0)(eslint-config-prettier@10.1.1(eslint@8.57.1))(eslint@8.57.1)(prettier@3.5.3): dependencies: eslint: 8.57.1 @@ -11884,9 +12167,19 @@ snapshots: '@types/eslint': 9.6.0 eslint-config-prettier: 10.1.1(eslint@8.57.1) - eslint-plugin-qunit@8.1.2(eslint@8.57.1): + eslint-plugin-prettier@5.2.3(@types/eslint@9.6.0)(eslint-config-prettier@10.1.1(eslint@9.19.0))(eslint@9.19.0)(prettier@3.5.3): dependencies: - eslint-utils: 3.0.0(eslint@8.57.1) + eslint: 9.19.0 + prettier: 3.5.3 + prettier-linter-helpers: 1.0.0 + synckit: 0.9.2 + optionalDependencies: + '@types/eslint': 9.6.0 + eslint-config-prettier: 10.1.1(eslint@9.19.0) + + eslint-plugin-qunit@8.1.2(eslint@9.19.0): + dependencies: + eslint-utils: 3.0.0(eslint@9.19.0) requireindex: 1.2.0 transitivePeerDependencies: - eslint @@ -11901,15 +12194,27 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 + eslint-scope@8.3.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + eslint-utils@3.0.0(eslint@8.57.1): dependencies: eslint: 8.57.1 eslint-visitor-keys: 2.1.0 + eslint-utils@3.0.0(eslint@9.19.0): + dependencies: + eslint: 9.19.0 + eslint-visitor-keys: 2.1.0 + eslint-visitor-keys@2.1.0: {} eslint-visitor-keys@3.4.3: {} + eslint-visitor-keys@4.2.0: {} + eslint@8.57.1: dependencies: '@eslint-community/eslint-utils': 4.5.1(eslint@8.57.1) @@ -11953,8 +12258,53 @@ snapshots: transitivePeerDependencies: - supports-color + eslint@9.19.0: + dependencies: + '@eslint-community/eslint-utils': 4.5.1(eslint@9.19.0) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.19.2 + '@eslint/core': 0.10.0 + '@eslint/eslintrc': 3.3.0 + '@eslint/js': 9.19.0 + '@eslint/plugin-kit': 0.2.7 + '@humanfs/node': 0.16.6 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.2 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.0(supports-color@8.1.1) + escape-string-regexp: 4.0.0 + eslint-scope: 8.3.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + transitivePeerDependencies: + - supports-color + esm@3.2.25: {} + espree@10.3.0: + dependencies: + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) + eslint-visitor-keys: 4.2.0 + espree@9.6.1: dependencies: acorn: 8.14.1 @@ -12203,6 +12553,10 @@ snapshots: dependencies: flat-cache: 3.2.0 + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + filesize@10.1.6: {} fill-range@4.0.0: @@ -12347,6 +12701,11 @@ snapshots: keyv: 4.5.4 rimraf: 3.0.2 + flat-cache@4.0.1: + dependencies: + flatted: 3.3.3 + keyv: 4.5.4 + flat-cache@6.1.7: dependencies: cacheable: 1.8.9 @@ -12647,6 +13006,8 @@ snapshots: dependencies: type-fest: 0.20.2 + globals@14.0.0: {} + globals@15.15.0: {} globalthis@1.0.3: @@ -15685,6 +16046,10 @@ snapshots: dependencies: typescript: 5.8.2 + ts-api-utils@2.0.1(typescript@5.8.2): + dependencies: + typescript: 5.8.2 + tslib@1.14.1: {} tslib@2.6.2: {} @@ -15744,6 +16109,16 @@ snapshots: dependencies: is-typedarray: 1.0.0 + typescript-eslint@8.26.1(eslint@9.19.0)(typescript@5.8.2): + dependencies: + '@typescript-eslint/eslint-plugin': 8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.19.0)(typescript@5.8.2))(eslint@9.19.0)(typescript@5.8.2) + '@typescript-eslint/parser': 8.26.1(eslint@9.19.0)(typescript@5.8.2) + '@typescript-eslint/utils': 8.26.1(eslint@9.19.0)(typescript@5.8.2) + eslint: 9.19.0 + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + typescript-memoize@1.1.1: {} typescript@5.8.2: {} diff --git a/test-app/.eslintignore b/test-app/.eslintignore deleted file mode 100644 index 768fab33..00000000 --- a/test-app/.eslintignore +++ /dev/null @@ -1,14 +0,0 @@ -# unconventional js -/blueprints/*/files/ - -# compiled output -/declarations/ -/dist/ - -# misc -/coverage/ -!.* -.*/ - -# ember-try -/.node_modules.ember-try/ diff --git a/test-app/.eslintrc.js b/test-app/.eslintrc.js deleted file mode 100644 index 121ac75c..00000000 --- a/test-app/.eslintrc.js +++ /dev/null @@ -1,55 +0,0 @@ -'use strict'; - -module.exports = { - root: true, - parser: '@typescript-eslint/parser', - parserOptions: { - ecmaVersion: 'latest', - }, - plugins: ['ember', '@typescript-eslint'], - extends: [ - 'eslint:recommended', - 'plugin:ember/recommended', - 'plugin:prettier/recommended', - ], - env: { - browser: true, - }, - rules: {}, - overrides: [ - // ts files - { - files: ['**/*.ts'], - extends: [ - 'plugin:@typescript-eslint/eslint-recommended', - 'plugin:@typescript-eslint/recommended', - ], - rules: {}, - }, - // node files - { - files: [ - './.eslintrc.js', - './.prettierrc.js', - './.stylelintrc.js', - './.template-lintrc.js', - './ember-cli-build.js', - './testem.js', - './blueprints/*/index.js', - './config/**/*.js', - './lib/*/index.js', - './server/**/*.js', - ], - env: { - browser: false, - node: true, - }, - extends: ['plugin:n/recommended'], - }, - { - // test files - files: ['tests/**/*-test.{js,ts}'], - extends: ['plugin:qunit/recommended'], - }, - ], -}; diff --git a/test-app/config/ember-cli-update.json b/test-app/config/ember-cli-update.json index 3113b545..2dc9af62 100644 --- a/test-app/config/ember-cli-update.json +++ b/test-app/config/ember-cli-update.json @@ -3,7 +3,7 @@ "packages": [ { "name": "ember-cli", - "version": "5.12.0", + "version": "6.2.3", "blueprints": [ { "name": "app", diff --git a/test-app/eslint.config.mjs b/test-app/eslint.config.mjs new file mode 100644 index 00000000..ccde221f --- /dev/null +++ b/test-app/eslint.config.mjs @@ -0,0 +1,144 @@ +/** + * Debugging: + * https://eslint.org/docs/latest/use/configure/debug + * ---------------------------------------------------- + * + * Print a file's calculated configuration + * + * npx eslint --print-config path/to/file.js + * + * Inspecting the config + * + * npx eslint --inspect-config + * + */ +import globals from 'globals'; +import js from '@eslint/js'; + +import ts from 'typescript-eslint'; + +import ember from 'eslint-plugin-ember/recommended'; + +import prettier from 'eslint-plugin-prettier/recommended'; +import qunit from 'eslint-plugin-qunit'; +import n from 'eslint-plugin-n'; + +import babelParser from '@babel/eslint-parser'; + +const parserOptions = { + esm: { + js: { + ecmaFeatures: { modules: true }, + ecmaVersion: 'latest', + requireConfigFile: false, + babelOptions: { + plugins: [ + [ + '@babel/plugin-proposal-decorators', + { decoratorsBeforeExport: true }, + ], + ], + }, + }, + ts: { + projectService: true, + tsconfigRootDir: import.meta.dirname, + }, + }, +}; + +export default ts.config( + js.configs.recommended, + ember.configs.base, + ember.configs.gjs, + ember.configs.gts, + prettier, + /** + * Ignores must be in their own object + * https://eslint.org/docs/latest/use/configure/ignore + */ + { + ignores: ['dist/', 'node_modules/', 'coverage/', '!**/.*'], + }, + /** + * https://eslint.org/docs/latest/use/configure/configuration-files#configuring-linter-options + */ + { + linterOptions: { + reportUnusedDisableDirectives: 'error', + }, + }, + { + files: ['**/*.js'], + languageOptions: { + parser: babelParser, + }, + }, + { + files: ['**/*.{js,gjs}'], + languageOptions: { + parserOptions: parserOptions.esm.js, + globals: { + ...globals.browser, + }, + }, + }, + { + files: ['**/*.{ts,gts}'], + languageOptions: { + parser: ember.parser, + parserOptions: parserOptions.esm.ts, + }, + extends: [...ts.configs.recommendedTypeChecked, ember.configs.gts], + }, + { + files: ['tests/**/*-test.{js,gjs,ts,gts}'], + plugins: { + qunit, + }, + }, + /** + * CJS node files + */ + { + files: [ + '**/*.cjs', + 'config/**/*.js', + 'testem.js', + 'testem*.js', + '.prettierrc.js', + '.stylelintrc.js', + '.template-lintrc.js', + 'ember-cli-build.js', + ], + plugins: { + n, + }, + + languageOptions: { + sourceType: 'script', + ecmaVersion: 'latest', + globals: { + ...globals.node, + }, + }, + }, + /** + * ESM node files + */ + { + files: ['**/*.mjs'], + plugins: { + n, + }, + + languageOptions: { + sourceType: 'module', + ecmaVersion: 'latest', + parserOptions: parserOptions.esm.js, + globals: { + ...globals.node, + }, + }, + }, +); diff --git a/test-app/package.json b/test-app/package.json index 4c1814c0..6ee46ba8 100644 --- a/test-app/package.json +++ b/test-app/package.json @@ -12,25 +12,28 @@ }, "scripts": { "build": "ember build --environment=production", - "lint": "concurrently \"pnpm:lint:*(!fix)\" --names \"lint:\"", + "lint": "concurrently \"pnpm:lint:*(!fix)\" --names \"lint:\" --prefixColors auto", "lint:css": "stylelint \"**/*.css\"", "lint:css:fix": "concurrently \"pnpm:lint:css -- --fix\"", - "lint:fix": "concurrently \"pnpm:lint:*:fix\" --names \"fix:\"", + "lint:fix": "concurrently \"pnpm:lint:*:fix\" --names \"fix:\" --prefixColors auto", "lint:hbs": "ember-template-lint .", "lint:hbs:fix": "ember-template-lint . --fix", "lint:js": "eslint . --cache", "lint:js:fix": "eslint . --fix", "lint:types": "glint", "start": "ember serve", - "test": "concurrently \"pnpm:lint\" \"pnpm:test:*\" --names \"lint,test:\"", + "test": "concurrently \"pnpm:lint\" \"pnpm:test:*\" --names \"lint,test:\" --prefixColors auto", "test:ember": "ember test" }, "devDependencies": { "@babel/core": "7.26.10", + "@babel/eslint-parser": "^7.26.5", + "@babel/plugin-proposal-decorators": "^7.25.9", "@ember/optional-features": "2.2.0", "@ember/string": "4.0.1", "@ember/test-helpers": "5.1.0", "@embroider/test-setup": "4.0.0", + "@eslint/js": "^9.19.0", "@glimmer/component": "2.0.0", "@glimmer/tracking": "1.1.2", "@glint/core": "1.5.2", @@ -38,31 +41,9 @@ "@glint/environment-ember-template-imports": "1.5.2", "@glint/template": "1.5.2", "@tsconfig/ember": "3.0.9", - "@types/ember": "4.0.11", - "@types/ember__application": "4.0.11", - "@types/ember__array": "4.0.10", - "@types/ember__component": "4.0.22", - "@types/ember__controller": "4.0.12", - "@types/ember__debug": "4.0.8", - "@types/ember__destroyable": "4.0.5", - "@types/ember__engine": "4.0.11", - "@types/ember__error": "4.0.6", - "@types/ember__helper": "4.0.9", - "@types/ember__modifier": "4.0.9", - "@types/ember__object": "4.0.12", - "@types/ember__owner": "4.0.9", - "@types/ember__polyfills": "4.0.6", - "@types/ember__routing": "4.0.22", - "@types/ember__runloop": "4.0.10", - "@types/ember__service": "4.0.9", - "@types/ember__string": "3.16.3", - "@types/ember__template": "4.0.7", - "@types/ember__test": "4.0.6", - "@types/ember__utils": "4.0.7", + "@types/eslint__js": "^8.42.3", "@types/qunit": "2.19.12", "@types/rsvp": "4.0.9", - "@typescript-eslint/eslint-plugin": "7.18.0", - "@typescript-eslint/parser": "7.18.0", "broccoli-asset-rev": "3.0.0", "concurrently": "9.1.2", "ember-auto-import": "2.10.0", @@ -88,12 +69,13 @@ "ember-template-imports": "4.3.0", "ember-template-lint": "7.0.1", "ember-try": "4.0.0", - "eslint": "8.57.1", + "eslint": "9.19.0", "eslint-config-prettier": "10.1.1", "eslint-plugin-ember": "12.5.0", "eslint-plugin-n": "17.16.2", "eslint-plugin-prettier": "5.2.3", "eslint-plugin-qunit": "8.1.2", + "globals": "^15.14.0", "loader.js": "4.7.0", "prettier": "3.5.3", "prettier-plugin-ember-template-tag": "2.0.4", @@ -104,6 +86,7 @@ "stylelint-prettier": "5.0.3", "tracked-built-ins": "4.0.0", "typescript": "5.8.2", + "typescript-eslint": "^8.23.0", "webpack": "5.98.0" }, "engines": { diff --git a/test-app/tests/integration/modifiers/style-test.ts b/test-app/tests/integration/modifiers/style-test.ts index a1c6dfe5..e1f812bd 100644 --- a/test-app/tests/integration/modifiers/style-test.ts +++ b/test-app/tests/integration/modifiers/style-test.ts @@ -68,7 +68,7 @@ module('Integration | Modifiers | style', function (hooks) { { interface Context extends TestContext { - // eslint-disable-next-line @typescript-eslint/ban-types + // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types display: String; } diff --git a/test-app/tsconfig.json b/test-app/tsconfig.json index c51af670..2a7954ba 100644 --- a/test-app/tsconfig.json +++ b/test-app/tsconfig.json @@ -12,6 +12,9 @@ "test-app/tests/*": ["tests/*"], "test-app/*": ["app/*"], "*": ["types/*"] - } + }, + "types": [ + "./node_modules/ember-source/types/stable" + ] } } diff --git a/test-app/types/global.d.ts b/test-app/types/global.d.ts index c60d6034..e3578541 100644 --- a/test-app/types/global.d.ts +++ b/test-app/types/global.d.ts @@ -2,5 +2,5 @@ import '@glint/environment-ember-loose'; import EmberStyleModifierRegistry from 'ember-style-modifier/template-registry'; declare module '@glint/environment-ember-loose/registry' { - export default interface Registry extends EmberStyleModifierRegistry {} + export default EmberStyleModifierRegistry; }