diff --git a/CHANGELOG.md b/CHANGELOG.md index d560be3..91eadad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,38 +1,51 @@ # Changelog -## Release (2026-08-20) +## Release (2026-09-24) -* @ember/app-blueprint 7.4.0-alpha.1 (minor) +* @ember/app-blueprint 7.4.0-beta.1 (minor) #### :rocket: Enhancement * `@ember/app-blueprint` + * [#332](https://github.com/ember-cli/ember-app-blueprint/pull/332) Prepare 7.4 Beta ([@mansona](https://github.com/mansona)) + * [#328](https://github.com/ember-cli/ember-app-blueprint/pull/328) Promote Beta and update all dependencies for 7.3 release ([@mansona](https://github.com/mansona)) * [#320](https://github.com/ember-cli/ember-app-blueprint/pull/320) Prepare 7.4 Alpha ([@mansona](https://github.com/mansona)) #### :bug: Bug Fix * `@ember/app-blueprint` - * [#315](https://github.com/ember-cli/ember-app-blueprint/pull/315) update ember-cli dependency to 7.2 ([@mansona](https://github.com/mansona)) + * [#330](https://github.com/ember-cli/ember-app-blueprint/pull/330) update ember-cli dependency to latest ([@mansona](https://github.com/mansona)) #### :house: Internal * `@ember/app-blueprint` + * [#311](https://github.com/ember-cli/ember-app-blueprint/pull/311) add concurrency section to github CI ([@mansona](https://github.com/mansona)) * [#313](https://github.com/ember-cli/ember-app-blueprint/pull/313) Update RELEASE.md ([@mansona](https://github.com/mansona)) #### Committers: 1 - Chris Manson ([@mansona](https://github.com/mansona)) -## Release (2026-08-18) +## Release (2026-09-21) + +* @ember/app-blueprint 7.3.1 (patch) + +#### :bug: Bug Fix +* `@ember/app-blueprint` + * [#330](https://github.com/ember-cli/ember-app-blueprint/pull/330) update ember-cli dependency to latest ([@mansona](https://github.com/mansona)) -* @ember/app-blueprint 7.3.0-beta.1 (minor) +#### Committers: 1 +- Chris Manson ([@mansona](https://github.com/mansona)) + +## Release (2026-09-21) + +* @ember/app-blueprint 7.3.0 (minor) #### :rocket: Enhancement * `@ember/app-blueprint` - * [#317](https://github.com/ember-cli/ember-app-blueprint/pull/317) Prepare 7.3 beta ([@mansona](https://github.com/mansona)) - * [#312](https://github.com/ember-cli/ember-app-blueprint/pull/312) Promote Beta and update all dependencies for 7.2 release ([@mansona](https://github.com/mansona)) + * [#328](https://github.com/ember-cli/ember-app-blueprint/pull/328) Promote Beta and update all dependencies for 7.3 release ([@mansona](https://github.com/mansona)) * [#283](https://github.com/ember-cli/ember-app-blueprint/pull/283) refactor: remove sort-package-json dependency ([@olenderhub](https://github.com/olenderhub)) - * [#307](https://github.com/ember-cli/ember-app-blueprint/pull/307) Don't use ember-cli for running tests. ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) + * [#307](https://github.com/ember-cli/ember-app-blueprint/pull/307) Use testem directly instead of ember-cli for running tests ([@NullVoxPopuli](https://github.com/NullVoxPopuli)) #### :bug: Bug Fix * `@ember/app-blueprint` - * [#315](https://github.com/ember-cli/ember-app-blueprint/pull/315) update ember-cli dependency to 7.2 ([@mansona](https://github.com/mansona)) + * [#326](https://github.com/ember-cli/ember-app-blueprint/pull/326) [BUGFIX BETA] assert package.json template sort with sort-package-json ([@olenderhub](https://github.com/olenderhub)) #### :house: Internal * `@ember/app-blueprint` diff --git a/files/package.json b/files/package.json index 8ea8a8d..d93cb5a 100644 --- a/files/package.json +++ b/files/package.json @@ -6,6 +6,10 @@ "repository": "", "license": "MIT", "author": "", + "exports": { + "./tests/*": "./tests/*", + "./*": "./app/*" + }, "directories": { "doc": "doc", "test": "tests" @@ -26,33 +30,29 @@ "start": "vite", "test": "vite build --mode development && testem ci --port 0" }, - "exports": { - "./tests/*": "./tests/*", - "./*": "./app/*" - }, "devDependencies": { "@babel/core": "^7.29.7", - "@babel/runtime": "^7.29.7", + "@babel/eslint-parser": "^7.29.7", "@babel/plugin-transform-runtime": "^7.29.7<% if (typescript) { %>", "@babel/plugin-transform-typescript": "^7.29.7<% } %>", - "@babel/eslint-parser": "^7.29.7<% if (typescript) { %>", + "@babel/runtime": "^7.29.7<% if (typescript) { %>", "@ember/app-tsconfig": "^2.0.0<% } %>", "@ember/optional-features": "^3.0.0", "@ember/string": "^4.0.1", "@ember/test-helpers": "^5.4.3", "@ember/test-waiters": "^4.1.2", - "@embroider/macros": "^1.20.6", - "@embroider/core": "^4.6.3", - "@embroider/vite": "^1.7.9", - "@embroider/compat": "^4.1.22", - "@embroider/router": "^3.0.6", + "@embroider/compat": "^4.1.25", "@embroider/config-meta-loader": "^1.0.0", + "@embroider/core": "^4.6.7", "@embroider/legacy-inspector-support": "^0.1.3", + "@embroider/macros": "^1.21.1", + "@embroider/router": "^3.0.6", + "@embroider/vite": "^1.7.13", "@eslint/js": "^9.39.5", "@glimmer/component": "^2.1.1<% if (typescript) { %>", - "@glint/ember-tsc": "^1.10.0", - "@glint/template": "^1.8.0", - "@glint/tsserver-plugin": "^2.7.0<% } %>", + "@glint/ember-tsc": "^1.11.4", + "@glint/template": "^1.9.0", + "@glint/tsserver-plugin": "^2.7.7<% } %>", "@rollup/plugin-babel": "^7.1.0<% if (typescript) { %>", "@types/qunit": "^2.19.14", "@types/rsvp": "^4.0.9<% } %><% if (warpDrive) { %>", @@ -64,15 +64,15 @@ "babel-plugin-ember-template-compilation": "^4.0.0", "concurrently": "^9.2.4", "decorator-transforms": "^2.4.0", - "ember-cli": "~7.2.0", - "ember-cli-babel": "^8.3.1", + "ember-cli": "~7.3.0", + "ember-cli-babel": "^8.3.2", "ember-cli-deprecation-workflow": "^4.0.1", "ember-load-initializers": "^3.0.1", "ember-modifier": "^4.3.0", "ember-page-title": "^9.0.3", "ember-qunit": "^9.1.0", "ember-resolver": "^13.2.0", - "ember-source": "~7.4.0-alpha.1", + "ember-source": "~7.5.0-alpha.1", "ember-template-lint": "^7.9.3<% if (welcome) { %>", "ember-welcome-page": "^8.0.5<% } %>", "eslint": "^9.39.5", @@ -80,18 +80,18 @@ "eslint-plugin-ember": "^12.7.5", "eslint-plugin-n": "^17.24.0", "eslint-plugin-qunit": "^8.2.6<% if (warpDrive) { %>", - "eslint-plugin-warp-drive": "^5.8.2<% } %>", + "eslint-plugin-warp-drive": "^5.9.1<% } %>", "globals": "^16.5.0", - "prettier": "^3.9.6", - "prettier-plugin-ember-template-tag": "^2.1.7", + "prettier": "^3.9.8", + "prettier-plugin-ember-template-tag": "^2.1.8", "qunit": "^2.26.0", "qunit-dom": "^3.6.0", - "stylelint": "^17.14.1", + "stylelint": "^17.15.0", "stylelint-config-standard": "^40.0.0", - "testem": "^3.20.1<% if (typescript) { %>", + "testem": "^3.21.0<% if (typescript) { %>", "typescript": "^6.0.3", - "typescript-eslint": "^8.67.0<% } %>", - "vite": "^8.2.1" + "typescript-eslint": "^8.70.0<% } %>", + "vite": "^8.3.0" }, "engines": { "node": ">= 20.19.0" diff --git a/package.json b/package.json index cc5d6cd..0563826 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@ember/app-blueprint", - "version": "7.4.0-alpha.1", + "version": "7.5.0-alpha.0", "description": "Blueprint for next generation of Ember apps", "keywords": [ "ember-blueprint" @@ -30,19 +30,20 @@ "devDependencies": { "@eslint/js": "^9.39.5", "concurrently": "^9.2.4", - "ember-cli": "^7.2.0", + "ember-cli": "^7.3.0", "eslint": "9.x", "eslint-config-prettier": "^9.1.2", "execa": "^9.6.1", "fixturify": "^3.0.0", "globals": "^15.15.0", "jsonc-parser": "^3.3.1", - "prettier": "^3.9.6", - "prettier-plugin-ember-template-tag": "^2.1.7", + "prettier": "^3.9.8", + "prettier-plugin-ember-template-tag": "^2.1.8", "release-plan": "^0.18.0", + "sort-package-json": "^3.7.1", "strip-ansi": "^7.2.0", "tmp-promise": "^3.0.3", - "vitest": "^4.1.10", + "vitest": "^4.1.11", "vitest-matrix": "^0.2.1" }, "packageManager": "pnpm@10.20.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0f4abd2..8d0a9a5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -28,8 +28,8 @@ importers: specifier: ^9.2.4 version: 9.2.4 ember-cli: - specifier: ^7.2.0 - version: 7.2.0(@babel/core@7.29.7)(@types/node@22.15.2)(ejs@3.1.10)(handlebars@4.7.8)(underscore@1.13.7) + specifier: ^7.3.0 + version: 7.3.0(@babel/core@7.29.7)(@types/node@22.15.2)(ejs@3.1.10)(handlebars@4.7.8)(underscore@1.13.7) eslint: specifier: 9.x version: 9.25.1 @@ -49,14 +49,17 @@ importers: specifier: ^3.3.1 version: 3.3.1 prettier: - specifier: ^3.9.6 - version: 3.9.6 + specifier: ^3.9.8 + version: 3.9.9 prettier-plugin-ember-template-tag: - specifier: ^2.1.7 - version: 2.1.7(prettier@3.9.6) + specifier: ^2.1.8 + version: 2.1.8(prettier@3.9.9) release-plan: specifier: ^0.18.0 version: 0.18.0 + sort-package-json: + specifier: ^3.7.1 + version: 3.7.1 strip-ansi: specifier: ^7.2.0 version: 7.2.0 @@ -64,8 +67,8 @@ importers: specifier: ^3.0.3 version: 3.0.3 vitest: - specifier: ^4.1.10 - version: 4.1.10(@types/node@22.15.2)(vite@7.1.9(@types/node@22.15.2)(yaml@2.9.0)) + specifier: ^4.1.11 + version: 4.1.11(@types/node@22.15.2)(vite@7.1.9(@types/node@22.15.2)(yaml@2.9.0)) vitest-matrix: specifier: ^0.2.1 version: 0.2.1 @@ -200,14 +203,14 @@ packages: '@ember-tooling/blueprint-model@0.7.1': resolution: {integrity: sha512-UqibAm7MWkSNdAnBfq2i36jaQpUjCvhdcRFiT+oWWXer5WgaoYFVJ+kHs5Ux2i42kCWjsztercepOEm+BhOyQw==} - '@ember-tooling/classic-build-addon-blueprint@7.2.0': - resolution: {integrity: sha512-/pUXRe2k6pZ4YVNAVMZfMdN00GUJgNrerNY2eajhUNgtTfQvdmK8MBNUNQ7e1fBC+x0UptR7lmQtVssDy2uKWw==} + '@ember-tooling/classic-build-addon-blueprint@7.3.0': + resolution: {integrity: sha512-czapzVozpPlITjnMDEBUgX1zP0iiO2drmEnQmK2Z3fC5aW0mW7zJVAFRFsACfi46pL6Rhujvn6N0nr4acQIHaw==} - '@ember-tooling/classic-build-app-blueprint@7.2.0': - resolution: {integrity: sha512-7CsesB6uM+0Ca1RqvzzHb+elXC7Bv2tj+t6KVEhhcDEqfyxvmtzjm4fnsO3g0hmFhm4buhJ+StyIiyd3owP1Lw==} + '@ember-tooling/classic-build-app-blueprint@7.3.0': + resolution: {integrity: sha512-b8yI/kWqmxWKiZUfObL0hsJu61wUGXQAgmIr4HnerW2Uyge/Jta7py/cNVa+GLDl/xOWjZJltIr1EqIyoF6Sng==} - '@ember/app-blueprint@7.2.0': - resolution: {integrity: sha512-QiWnJUUSjYCV00XMlhSPbPPZYj9nyHiR5P/QC1+Ki5CXdTwE3lKQEs/anyxZl6gH1LslgFShwVlJi9kvDKXsnw==} + '@ember/app-blueprint@7.3.0': + resolution: {integrity: sha512-nfiuJCKqJmWhiCFIATNuvnY5GsonZHrPW8HtoAaZ/Kq/2y1+PYvcw28zSL1vZBW/MCaAbrlwXCt2cNJFn7Zuow==} '@esbuild/aix-ppc64@0.25.10': resolution: {integrity: sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==} @@ -877,11 +880,11 @@ packages: '@types/symlink-or-copy@1.2.2': resolution: {integrity: sha512-MQ1AnmTLOncwEf9IVU+B2e4Hchrku5N67NkgcAHW0p3sdzPe0FNMANxEm6OJUzPniEQGkeT3OROLlCwZJLWFZA==} - '@vitest/expect@4.1.10': - resolution: {integrity: sha512-YsCn+qAk1GWjQOWFEsEcL2gNQ0zmVmQu3T03qP6UyjhtmdtwtbuI+DASn/7iQB3HGTXkdBwGddzxPlmiql5vlA==} + '@vitest/expect@4.1.11': + resolution: {integrity: sha512-VX2x5vNJXET47KAFzwERI+KRMtTTCSWTfSMKsW7JsUsXV4psq++e3DvZpuTDOpHcxytiDs6p2nhVb2tVDiiUYw==} - '@vitest/mocker@4.1.10': - resolution: {integrity: sha512-v0xaezt+DKEmKfaxg133ldzADrwLGd7Ze1MfQQTYfvs8OqZIwbxyxaYURivwV7sWy5fqn3rH5uOrSp07bp44Ow==} + '@vitest/mocker@4.1.11': + resolution: {integrity: sha512-2XJVD55d1o5AZous5CCGKS74g/riOj9odEt2bQpCVZeblHyHdnMeFl4jl0XjU21stf4mbjUkew2eXQZt65g5CQ==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -891,20 +894,20 @@ packages: vite: optional: true - '@vitest/pretty-format@4.1.10': - resolution: {integrity: sha512-W1HsjSH4MXQ9YfmmhLAoIYf1HRfekQCGngeIgcei6MP5QQGWUe0gkopdZQaVCFO+JDJMrAJGwa5pRpNpvy4P8Q==} + '@vitest/pretty-format@4.1.11': + resolution: {integrity: sha512-yiZzPbGTS9Sr/JpFl8zHrcIkAofNbFV6k21vIgQN/cY/oxZeXhJv5sc/MBJ5jFKWmWs+oJHw0UXLZjmf931+Vw==} - '@vitest/runner@4.1.10': - resolution: {integrity: sha512-IKI6kpIH+LmpROplyLwBBaCfMgOZOMsygVa6BARD6ahA04VRuJSa6OaVG7kRvSEMD870Vd91rSSw0eegtWyLGg==} + '@vitest/runner@4.1.11': + resolution: {integrity: sha512-LztvUgdwMNJMIkj3hQnnxiC2Xy1zNxq928W/xhjCLaNCzqTZOudjwbQf6v9IntZGPw132i2Lq2rgTRZHD3JHNw==} - '@vitest/snapshot@4.1.10': - resolution: {integrity: sha512-xRkfOT1qpTAi/Ti4Y1LtfRc3kEuqxGw59eN2jN9pRWMtS/XDevekhcFSqvQqjUNGksfjMJu3Y+oJ+4Ypn2OaJw==} + '@vitest/snapshot@4.1.11': + resolution: {integrity: sha512-pN7ikn1ON7h8ee4gIAp4AzyK+zBtJPzVbqOgu5LCEh4VaJVbPQcgYQYJIMGQPXVeJJq1fnfazis7a5pFNPahog==} - '@vitest/spy@4.1.10': - resolution: {integrity: sha512-PLf/Ugvoq5wO/b4rwYCR1h2PSIdXz7wnkQFMiUpLdtM7l6pqVFcQIBEHyT1+l+cj7mNwAfZHzqXqDyjvOuwbDw==} + '@vitest/spy@4.1.11': + resolution: {integrity: sha512-apNa/prQy2qCeywhnixOHPRCgGNhvg7T4Dapfl1GahLp/R+uhBm5cPyFoNVyqsNd2h1nJxL6BqqdIjiABL60YA==} - '@vitest/utils@4.1.10': - resolution: {integrity: sha512-fy9am/HWxbaGt/Sawrp90vt6Y6jQwf1RX77cz3uwoJwJVMli/e1IEwRPnMNJ7vKfPTwo0diXifkpPvwH9v7nGA==} + '@vitest/utils@4.1.11': + resolution: {integrity: sha512-zTCVGpyFsGWBhllOyKlTw/vnr6D9qxsfSDyfbyZmTyjHw5N/VuvzHpHoQjm2ZJzn4RJgx5w4r7V0er69CmLgPQ==} '@xmldom/xmldom@0.9.10': resolution: {integrity: sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw==} @@ -1239,6 +1242,7 @@ packages: charm@1.0.2: resolution: {integrity: sha512-wqW3VdPnlSWT4eRiYX+hcs+C6ViBPUWk1qTCd+37qw9kEm/a5n2qcyQDMBWvSYKN/ctqZzeXNQaeBjOetJJUkw==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. chokidar@5.0.0: resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} @@ -1297,10 +1301,6 @@ packages: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} - codsen-utils@1.7.3: - resolution: {integrity: sha512-YIFQQ1n2NSgwoB3sCe7RpkZzsrPxTMek6jc7wC9fXOm1wwfWAKja9gLOMEjlXOUd3LKV3o6Jci7n9BoHs5Z8Sg==} - engines: {node: '>=14.18.0'} - color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -1330,8 +1330,8 @@ packages: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} - compression@1.8.1: - resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} + compression@1.8.2: + resolution: {integrity: sha512-o8vI5RE5A6EVVOd9o41jKp41aJom+QTEO/Bx8MYNjexMo/Bv2WOjUfZr+aL0WnYSgymUy6zeguqLTsIhV0gMvQ==} engines: {node: '>= 0.8.0'} concat-map@0.0.1: @@ -1610,6 +1610,10 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + detect-file@1.0.0: resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} engines: {node: '>=0.10.0'} @@ -1665,8 +1669,8 @@ packages: ember-cli-string-utils@1.1.0: resolution: {integrity: sha512-PlJt4fUDyBrC/0X+4cOpaGCiMawaaB//qD85AXmDRikxhxVzfVdpuoec02HSiTGTTB85qCIzWBIh8lDOiMyyFg==} - ember-cli@7.2.0: - resolution: {integrity: sha512-EafquLJ+EVHz0nNo32NWwAfHr5UxTXn9zdlukuKZFSFrR4G6RRStmBPQ5O0bLSaQVDtU+jOe5gGTHSS4Xy3uQA==} + ember-cli@7.3.0: + resolution: {integrity: sha512-FZX9IoFioIn6V86t2TwbNtcr+TyzYoSf+dMR6tA/tFCePDJtIhnrMOChnYrgsSbuTecwSP3vivjHfrezrQHOOA==} engines: {node: '>= 20.19.0'} hasBin: true @@ -1922,8 +1926,8 @@ packages: filelist@1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} - filesize@11.0.22: - resolution: {integrity: sha512-RlCVs9CY+oSsRnNZn95J9vDXjNjOwddKyTFjOYtA4yxYVIxBnwiVVGJX+TFhsmu3uUf81JDGyijtYL9xgawlTw==} + filesize@11.0.24: + resolution: {integrity: sha512-R+YVXTiRPxjX02Ul2Ta2cCas43gjdwKaxTIxl9/7bkaAy97U4BXb31N/xXk7Kp9pIkg3o/RScNypKr6RlcZMyA==} engines: {node: '>= 10.8.0'} fill-range@7.1.1: @@ -2232,6 +2236,9 @@ packages: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} + httpxy@0.5.5: + resolution: {integrity: sha512-uDjmnPyp1q4Sgzf3w+J/Fc6UqcCEj0x4Wjp7OqK5dGhNeDgpyrAmnS6ey8QWrX3SWDon2DMKf9sBa5X9+CVyMA==} + human-signals@1.1.1: resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} engines: {node: '>=8.12.0'} @@ -2356,9 +2363,9 @@ packages: is-lambda@1.0.1: resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - is-language-code@5.1.3: - resolution: {integrity: sha512-LI43ua9ZYquG9kxzUl3laVQ2Ly8VGGr8vOfYv64DaK3uOGejz6ANDzteOvZlgPT40runzARzRMQZnRZg99ZW4g==} - engines: {node: '>=14.18.0'} + is-language-code@5.2.2: + resolution: {integrity: sha512-k1sHKmFnGUwKYgzEX4lLrRONPOQZ49sxI1unasz+ldcddmJj3c7PLmxVxazZtRGJO4Aiww6CrRbCp3upJBa5Gw==} + engines: {node: '>=18.20.8'} is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} @@ -2438,6 +2445,10 @@ packages: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true + js-yaml@5.4.2: + resolution: {integrity: sha512-m+aqu+LwO1O6sIopafj8HUVl5aawITwZQe/yHpMCKjaWBaA/d07B/QdMb3529REftiU+RMMHL3Vlsw3hON7vWg==} + hasBin: true + jsbn@1.1.0: resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} @@ -2555,8 +2566,8 @@ packages: peerDependencies: markdown-it: '>= 13.0.0' - markdown-it@14.3.0: - resolution: {integrity: sha512-RCEsPjR+sr0x+AuYp601tKTkgFG4YEPLCzHST3cQ/fhlJkqAkz1L2/Qbp1j9qw5SBwQHFBoW8+hoN5xssOF0Tw==} + markdown-it@14.3.2: + resolution: {integrity: sha512-sHHjZ5fJKlgrG4qns2YwVcdNep35h5fERrfkD2YNsb9UFk0UIHarbiTaHKVMlPuWAoiilyK8Fv/jAm11slsY7Q==} hasBin: true matcher-collection@1.1.2: @@ -2693,17 +2704,12 @@ packages: engines: {node: '>=10'} hasBin: true - mkdirp@3.0.1: - resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} - engines: {node: '>=10'} - hasBin: true - mktemp@2.0.3: resolution: {integrity: sha512-Bq72L2oi/isYSy0guN9ihNhAMQOyZEwts+Bezm/1U+wh8bQ+fVQ2ZiUoJJjceOMiiKv/BUrA0NF98jFc81CB6w==} engines: {node: 20 || 22 || 24} - morgan@1.11.0: - resolution: {integrity: sha512-zSkVu3t18r39pw4ixfBKvfZi3y2UOqr7d4WYwcj3m8nXpEQK4rPO6GLzs/CExoRgmX3y9EjmmcXqv6jq0SK46g==} + morgan@1.12.1: + resolution: {integrity: sha512-tljKC0ex20AjO58Ob/eZ53JloycbVswbVNCHx6V6VLGzqt/w8dIynVGL0G8qVjNKwiA7sYSogCrN6QtJ82IV+g==} engines: {node: '>= 0.8.0'} ms@2.0.0: @@ -2975,14 +2981,14 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-plugin-ember-template-tag@2.1.7: - resolution: {integrity: sha512-NQS/a03LCefDbOJ1o0NeN+4VdfZRJt6NBp6/5yLMXTQ2TNT4fkcbhfXkvcgl7lN9nmssm6GweX51G/CAEvtazg==} + prettier-plugin-ember-template-tag@2.1.8: + resolution: {integrity: sha512-ioLdBFoZ11kuiuFF9/bGwHgzjiU3vQVOF1rQhcuEqGc1jmKBH+G3i3BL2yHGum2Z2IQOE/7MPstYo5iAU0Uhlw==} engines: {node: 18.* || >= 20} peerDependencies: prettier: '>= 3.0.0' - prettier@3.9.6: - resolution: {integrity: sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==} + prettier@3.9.9: + resolution: {integrity: sha512-Z/CJHIkdujO/OtN7nXUii0Rf3VT5SRuhjBA82Xvu2XhBUgX3nhP67T0LHceBdQLex7OOFGTox+Q5Yg8Jk2Qivg==} engines: {node: '>=14'} hasBin: true @@ -2990,10 +2996,6 @@ packages: resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} engines: {node: '>=18'} - printf@0.6.1: - resolution: {integrity: sha512-is0ctgGdPJ5951KulgfzvHGwJtZ5ck8l042vRkV6jrkpBzTmb/lueTqguWHy2JfVA+RY6gFVlaZgUS0j7S/dsw==} - engines: {node: '>= 0.9.0'} - proc-log@5.0.0: resolution: {integrity: sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==} engines: {node: ^18.17.0 || >=20.5.0} @@ -3143,9 +3145,6 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rfdc@1.4.1: - resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rimraf@2.7.1: resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} deprecated: Rimraf versions prior to v4 are no longer supported @@ -3495,9 +3494,9 @@ packages: engines: {node: '>=10'} deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - testem@3.20.1: - resolution: {integrity: sha512-HMbcVlrRDt+GjEGJZrPSCp0XFzM7SSdmLvNSJm++hIITEIMoccCQGikvelOO/NjfZJ0HTZCEyvg3+CIStjaZqQ==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + testem@3.21.0: + resolution: {integrity: sha512-7DLAgvhK0qRfr7mFVD69o3Z2Jb8GDAJ9LfCre7jJJqsa88SDqE2M686SXTQHIpRFUEYi2RrXSu5414kSjX50uw==} + engines: {node: ^20.19.0 || ^22.12.0 || ^24.0.0 || >= 26.0.0} hasBin: true textextensions@2.6.0: @@ -3546,10 +3545,6 @@ packages: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} - tmp@0.1.0: - resolution: {integrity: sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==} - engines: {node: '>=6'} - tmp@0.2.5: resolution: {integrity: sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==} engines: {node: '>=14.14'} @@ -3717,20 +3712,20 @@ packages: resolution: {integrity: sha512-psqb3sEHZF8sXyF8Ji6Uc95CpC2iwiR4n8Yfq6DcHDFFvMaI4djwpi1nAdI3jM7+1i0vB2xXDm1tp785wG6uiw==} hasBin: true - vitest@4.1.10: - resolution: {integrity: sha512-R9jUTe5S4Qb0HCd4TNqpC7oGcrMssMRGXLW80ubjWsW9VH5GF8y1Y0SFLY9AbqSk6nt0PnOx4H4WNJYZ13GUPw==} + vitest@4.1.11: + resolution: {integrity: sha512-fhACrNXUidIbGSBr5FlbuBkO7VWC1ZyLl0DO4CU2DrQoAPxX84Ysxs+HeGQpii5lZWV1Q4gBZTTu49mF+A6Edw==} engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.1.10 - '@vitest/browser-preview': 4.1.10 - '@vitest/browser-webdriverio': 4.1.10 - '@vitest/coverage-istanbul': 4.1.10 - '@vitest/coverage-v8': 4.1.10 - '@vitest/ui': 4.1.10 + '@vitest/browser-playwright': 4.1.11 + '@vitest/browser-preview': 4.1.11 + '@vitest/browser-webdriverio': 4.1.11 + '@vitest/coverage-istanbul': 4.1.11 + '@vitest/coverage-v8': 4.1.11 + '@vitest/ui': 4.1.11 happy-dom: '*' jsdom: '*' vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -3779,8 +3774,8 @@ packages: walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - watch-detector@1.0.2: - resolution: {integrity: sha512-MrJK9z7kD5Gl3jHBnnBVHvr1saVGAfmkyyrvuNzV/oe0Gr1nwZTy5VSA0Gw2j2Or0Mu8HcjUa44qlBvC2Ofnpg==} + watch-detector@1.0.3: + resolution: {integrity: sha512-c9gP6tfJ8vK+eH84IF4+8r4Z/g2KhRc+XwLGl208tAIHR1mz0o7zy5Hkm+4XpACh8lNp9/EHqXHIQkw2nBbdYA==} engines: {node: '>= 8'} wcwidth@1.0.1: @@ -4096,8 +4091,8 @@ snapshots: inflection: 3.0.2 isbinaryfile: 5.0.7 lodash: 4.18.1 - markdown-it: 14.3.0 - markdown-it-terminal: 0.4.0(markdown-it@14.3.0) + markdown-it: 14.3.2 + markdown-it-terminal: 0.4.0(markdown-it@14.3.2) minimatch: 10.2.6 promise.hash.helper: 1.0.8 quick-temp: 0.1.9 @@ -4106,7 +4101,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@ember-tooling/classic-build-addon-blueprint@7.2.0': + '@ember-tooling/classic-build-addon-blueprint@7.3.0': dependencies: '@ember-tooling/blueprint-model': 0.7.1 chalk: 5.6.2 @@ -4120,7 +4115,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@ember-tooling/classic-build-app-blueprint@7.2.0': + '@ember-tooling/classic-build-app-blueprint@7.3.0': dependencies: '@ember-tooling/blueprint-model': 0.7.1 chalk: 5.6.2 @@ -4128,12 +4123,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@ember/app-blueprint@7.2.0': + '@ember/app-blueprint@7.3.0': dependencies: ejs: 3.1.10 ember-cli-string-utils: 1.1.0 lodash: 4.18.1 - sort-package-json: 3.7.1 walk-sync: 4.0.2 '@esbuild/aix-ppc64@0.25.10': @@ -4452,7 +4446,7 @@ snapshots: '@npmcli/fs@1.1.1': dependencies: '@gar/promisify': 1.1.3 - semver: 7.8.0 + semver: 7.8.5 '@npmcli/git@6.0.3': dependencies: @@ -4692,44 +4686,44 @@ snapshots: '@types/symlink-or-copy@1.2.2': {} - '@vitest/expect@4.1.10': + '@vitest/expect@4.1.11': dependencies: '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.2 - '@vitest/spy': 4.1.10 - '@vitest/utils': 4.1.10 + '@vitest/spy': 4.1.11 + '@vitest/utils': 4.1.11 chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.10(vite@7.1.9(@types/node@22.15.2)(yaml@2.9.0))': + '@vitest/mocker@4.1.11(vite@7.1.9(@types/node@22.15.2)(yaml@2.9.0))': dependencies: - '@vitest/spy': 4.1.10 + '@vitest/spy': 4.1.11 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: vite: 7.1.9(@types/node@22.15.2)(yaml@2.9.0) - '@vitest/pretty-format@4.1.10': + '@vitest/pretty-format@4.1.11': dependencies: tinyrainbow: 3.1.0 - '@vitest/runner@4.1.10': + '@vitest/runner@4.1.11': dependencies: - '@vitest/utils': 4.1.10 + '@vitest/utils': 4.1.11 pathe: 2.0.3 - '@vitest/snapshot@4.1.10': + '@vitest/snapshot@4.1.11': dependencies: - '@vitest/pretty-format': 4.1.10 - '@vitest/utils': 4.1.10 + '@vitest/pretty-format': 4.1.11 + '@vitest/utils': 4.1.11 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@4.1.10': {} + '@vitest/spy@4.1.11': {} - '@vitest/utils@4.1.10': + '@vitest/utils@4.1.11': dependencies: - '@vitest/pretty-format': 4.1.10 + '@vitest/pretty-format': 4.1.11 convert-source-map: 2.0.0 tinyrainbow: 3.1.0 @@ -4849,7 +4843,7 @@ snapshots: '@babel/core': 7.29.7 '@babel/plugin-syntax-decorators': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) - prettier: 3.9.6 + prettier: 3.9.9 transitivePeerDependencies: - supports-color @@ -5125,7 +5119,7 @@ snapshots: tmp: 0.2.5 tree-sync: 2.1.0 underscore.string: 3.3.6 - watch-detector: 1.0.2 + watch-detector: 1.0.3 transitivePeerDependencies: - supports-color @@ -5279,10 +5273,6 @@ snapshots: clone@1.0.4: {} - codsen-utils@1.7.3: - dependencies: - rfdc: 1.4.1 - color-convert@1.9.3: dependencies: color-name: 1.1.3 @@ -5305,11 +5295,12 @@ snapshots: dependencies: mime-db: 1.54.0 - compression@1.8.1: + compression@1.8.2: dependencies: bytes: 3.1.2 compressible: 2.0.18 debug: 2.6.9 + destroy: 1.2.0 negotiator: 0.6.4 on-headers: 1.1.0 safe-buffer: 5.2.1 @@ -5436,6 +5427,8 @@ snapshots: depd@2.0.0: {} + destroy@1.2.0: {} + detect-file@1.0.0: {} detect-indent@7.0.2: {} @@ -5483,13 +5476,13 @@ snapshots: ember-cli-string-utils@1.1.0: {} - ember-cli@7.2.0(@babel/core@7.29.7)(@types/node@22.15.2)(ejs@3.1.10)(handlebars@4.7.8)(underscore@1.13.7): + ember-cli@7.3.0(@babel/core@7.29.7)(@types/node@22.15.2)(ejs@3.1.10)(handlebars@4.7.8)(underscore@1.13.7): dependencies: '@ember-tooling/blueprint-blueprint': 0.3.0 '@ember-tooling/blueprint-model': 0.7.1 - '@ember-tooling/classic-build-addon-blueprint': 7.2.0 - '@ember-tooling/classic-build-app-blueprint': 7.2.0 - '@ember/app-blueprint': 7.2.0 + '@ember-tooling/classic-build-addon-blueprint': 7.3.0 + '@ember-tooling/classic-build-app-blueprint': 7.3.0 + '@ember/app-blueprint': 7.3.0 '@pnpm/find-workspace-dir': 1000.1.5 babel-remove-types: 2.0.0 broccoli: 4.0.0 @@ -5509,7 +5502,7 @@ snapshots: chalk: 5.6.2 ci-info: 4.4.0 clean-base-url: 1.0.0 - compression: 1.8.1 + compression: 1.8.2 configstore: 8.0.0 console-ui: 3.1.2 content-tag: 4.2.0 @@ -5524,7 +5517,7 @@ snapshots: execa: 9.6.1 exit: 0.1.2 express: 5.2.1 - filesize: 11.0.22 + filesize: 11.0.24 find-up: 8.0.0 find-yarn-workspace-root: 2.0.0 fs-extra: 11.4.0 @@ -5540,12 +5533,12 @@ snapshots: inflection: 3.0.2 inquirer: 13.4.3(@types/node@22.15.2) is-git-url: 1.0.0 - is-language-code: 5.1.3 + is-language-code: 5.2.2 lodash: 4.18.1 - markdown-it: 14.3.0 - markdown-it-terminal: 0.4.0(markdown-it@14.3.0) + markdown-it: 14.3.2 + markdown-it-terminal: 0.4.0(markdown-it@14.3.2) minimatch: 10.2.6 - morgan: 1.11.0 + morgan: 1.12.1 nopt: 3.0.6 npm-package-arg: 13.0.2 os-locale: 6.0.2 @@ -5563,11 +5556,11 @@ snapshots: silent-error: 1.1.1 sort-package-json: 3.7.1 symlink-or-copy: 1.3.1 - testem: 3.20.1(@babel/core@7.29.7)(ejs@3.1.10)(handlebars@4.7.8)(underscore@1.13.7) + testem: 3.21.0(@babel/core@7.29.7)(ejs@3.1.10)(handlebars@4.7.8)(underscore@1.13.7) tiny-lr: 2.0.0 tree-sync: 2.1.0 walk-sync: 4.0.2 - watch-detector: 1.0.2 + watch-detector: 1.0.3 workerpool: 10.0.3 yam: 1.0.0 transitivePeerDependencies: @@ -5964,7 +5957,7 @@ snapshots: dependencies: minimatch: 5.1.6 - filesize@11.0.22: {} + filesize@11.0.24: {} fill-range@7.1.1: dependencies: @@ -6379,6 +6372,8 @@ snapshots: transitivePeerDependencies: - supports-color + httpxy@0.5.5: {} + human-signals@1.1.1: {} human-signals@2.1.0: {} @@ -6487,9 +6482,7 @@ snapshots: is-lambda@1.0.1: {} - is-language-code@5.1.3: - dependencies: - codsen-utils: 1.7.3 + is-language-code@5.2.2: {} is-number@7.0.0: {} @@ -6551,6 +6544,10 @@ snapshots: dependencies: argparse: 2.0.1 + js-yaml@5.4.2: + dependencies: + argparse: 2.0.1 + jsbn@1.1.0: {} jsesc@3.1.0: {} @@ -6674,15 +6671,15 @@ snapshots: dependencies: tmpl: 1.0.5 - markdown-it-terminal@0.4.0(markdown-it@14.3.0): + markdown-it-terminal@0.4.0(markdown-it@14.3.2): dependencies: ansi-styles: 3.2.1 cardinal: 1.0.0 cli-table: 0.3.11 lodash.merge: 4.6.2 - markdown-it: 14.3.0 + markdown-it: 14.3.2 - markdown-it@14.3.0: + markdown-it@14.3.2: dependencies: argparse: 2.0.1 entities: 4.5.0 @@ -6811,11 +6808,9 @@ snapshots: mkdirp@1.0.4: {} - mkdirp@3.0.1: {} - mktemp@2.0.3: {} - morgan@1.11.0: + morgan@1.12.1: dependencies: basic-auth: 2.0.1 debug: 2.6.9 @@ -6865,7 +6860,7 @@ snapshots: npm-install-checks@7.1.1: dependencies: - semver: 7.8.0 + semver: 7.8.5 npm-normalize-package-bin@4.0.0: {} @@ -6873,7 +6868,7 @@ snapshots: dependencies: hosted-git-info: 8.1.0 proc-log: 5.0.0 - semver: 7.8.0 + semver: 7.8.5 validate-npm-package-name: 6.0.0 npm-package-arg@13.0.2: @@ -6888,7 +6883,7 @@ snapshots: npm-install-checks: 7.1.1 npm-normalize-package-bin: 4.0.0 npm-package-arg: 12.0.2 - semver: 7.8.0 + semver: 7.8.5 npm-run-path@4.0.1: dependencies: @@ -7061,22 +7056,20 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-ember-template-tag@2.1.7(prettier@3.9.6): + prettier-plugin-ember-template-tag@2.1.8(prettier@3.9.9): dependencies: '@babel/traverse': 7.29.7 content-tag: 4.2.0 - prettier: 3.9.6 + prettier: 3.9.9 transitivePeerDependencies: - supports-color - prettier@3.9.6: {} + prettier@3.9.9: {} pretty-ms@9.2.0: dependencies: parse-ms: 4.0.0 - printf@0.6.1: {} - proc-log@5.0.0: {} proc-log@6.1.0: {} @@ -7235,8 +7228,6 @@ snapshots: reusify@1.1.0: {} - rfdc@1.4.1: {} - rimraf@2.7.1: dependencies: glob: 7.2.3 @@ -7501,7 +7492,7 @@ snapshots: detect-newline: 4.0.1 git-hooks-list: 4.2.1 is-plain-obj: 4.1.0 - semver: 7.8.0 + semver: 7.8.5 sort-object-keys: 2.1.0 tinyglobby: 0.2.15 @@ -7649,25 +7640,23 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 - testem@3.20.1(@babel/core@7.29.7)(ejs@3.1.10)(handlebars@4.7.8)(underscore@1.13.7): + testem@3.21.0(@babel/core@7.29.7)(ejs@3.1.10)(handlebars@4.7.8)(underscore@1.13.7): dependencies: '@xmldom/xmldom': 0.9.10 backbone: 1.6.1 charm: 1.0.2 chokidar: 5.0.0 commander: 14.0.3 - compression: 1.8.1 + compression: 1.8.2 consolidate: 1.0.4(@babel/core@7.29.7)(ejs@3.1.10)(handlebars@4.7.8)(lodash@4.18.1)(mustache@4.2.0)(underscore@1.13.7) execa: 9.6.1 express: 5.2.1 glob: 13.0.6 - http-proxy: 1.18.1 - js-yaml: 4.1.1 + httpxy: 0.5.5 + js-yaml: 5.4.2 lodash: 4.18.1 minimatch: 10.2.6 - mkdirp: 3.0.1 mustache: 4.2.0 - printf: 0.6.1 proc-log: 6.1.0 rimraf: 6.1.3 socket.io: 4.8.3 @@ -7682,7 +7671,6 @@ snapshots: - bracket-template - bufferutil - coffee-script - - debug - dot - dust - dustjs-helpers @@ -7778,10 +7766,6 @@ snapshots: dependencies: os-tmpdir: 1.0.2 - tmp@0.1.0: - dependencies: - rimraf: 2.7.1 - tmp@0.2.5: {} tmpl@1.0.5: {} @@ -7918,15 +7902,15 @@ snapshots: escape-string-regexp: 5.0.0 execa: 9.6.1 - vitest@4.1.10(@types/node@22.15.2)(vite@7.1.9(@types/node@22.15.2)(yaml@2.9.0)): + vitest@4.1.11(@types/node@22.15.2)(vite@7.1.9(@types/node@22.15.2)(yaml@2.9.0)): dependencies: - '@vitest/expect': 4.1.10 - '@vitest/mocker': 4.1.10(vite@7.1.9(@types/node@22.15.2)(yaml@2.9.0)) - '@vitest/pretty-format': 4.1.10 - '@vitest/runner': 4.1.10 - '@vitest/snapshot': 4.1.10 - '@vitest/spy': 4.1.10 - '@vitest/utils': 4.1.10 + '@vitest/expect': 4.1.11 + '@vitest/mocker': 4.1.11(vite@7.1.9(@types/node@22.15.2)(yaml@2.9.0)) + '@vitest/pretty-format': 4.1.11 + '@vitest/runner': 4.1.11 + '@vitest/snapshot': 4.1.11 + '@vitest/spy': 4.1.11 + '@vitest/utils': 4.1.11 es-module-lexer: 2.1.0 expect-type: 1.3.0 magic-string: 0.30.21 @@ -7980,11 +7964,11 @@ snapshots: dependencies: makeerror: 1.0.12 - watch-detector@1.0.2: + watch-detector@1.0.3: dependencies: heimdalljs-logger: 0.1.10 silent-error: 1.1.1 - tmp: 0.1.0 + tmp: 0.2.5 transitivePeerDependencies: - supports-color diff --git a/tests/package-json.test.mjs b/tests/package-json.test.mjs index 35a070b..6a2ee22 100644 --- a/tests/package-json.test.mjs +++ b/tests/package-json.test.mjs @@ -1,32 +1,16 @@ import { describe, expect, it } from 'vitest'; import { readFileSync } from 'node:fs'; import { join } from 'node:path'; - -function isObject(value) { - return value !== null && typeof value === 'object' && !Array.isArray(value); -} - -function sortedCopy(value) { - if (Array.isArray(value)) { - return value.map(sortedCopy); - } - - if (isObject(value)) { - return Object.fromEntries( - Object.keys(value) - .sort() - .map((key) => [key, sortedCopy(value[key])]), - ); - } - - return value; -} +import { sortPackageJson } from 'sort-package-json'; describe('package.json template', function () { it('is sorted', function () { let packageJsonPath = join(__dirname, '..', 'files', 'package.json'); let packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8')); - expect(packageJson).toEqual(sortedCopy(packageJson)); + // JSON.stringify is order-sensitive (unlike object deep-equal). + expect(JSON.stringify(packageJson, null, 2)).toEqual( + JSON.stringify(sortPackageJson(packageJson), null, 2), + ); }); });