diff --git a/.gitignore b/.gitignore index d533e179..242325a2 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,5 @@ node_modules/ # Test artifacts coverage/ +tests/my-addon/ +tests/test-app/ diff --git a/files/__addonLocation__/.eslintignore b/files/__addonLocation__/.eslintignore deleted file mode 100644 index 4e982747..00000000 --- a/files/__addonLocation__/.eslintignore +++ /dev/null @@ -1,9 +0,0 @@ -# unconventional js -/blueprints/*/files/ - -# compiled output -/dist/ -/declarations/ - -# misc -/coverage/ diff --git a/files/__addonLocation__/.eslintrc.cjs b/files/__addonLocation__/.eslintrc.cjs deleted file mode 100644 index a490896f..00000000 --- a/files/__addonLocation__/.eslintrc.cjs +++ /dev/null @@ -1,104 +0,0 @@ -'use strict'; - -module.exports = { - root: true, - // Only use overrides - // https://github.com/ember-cli/eslint-plugin-ember?tab=readme-ov-file#gtsgjs - overrides: [ - { - files: ['**/*.js'<%= typescript ? ", '**/*.ts'" : '' %>], - env: { browser: true }, - parser: '<%= typescript ? '@typescript-eslint/parser' : '@babel/eslint-parser' %>', - parserOptions: { - ecmaVersion: 'latest',<% if (!typescript) { %> - sourceType: 'module', - babelOptions: { - root: __dirname, - },<% } %> - }, - plugins: ['ember', 'import'], - extends: [ - 'eslint:recommended', - 'plugin:ember/recommended', - 'plugin:prettier/recommended', - ], - rules: { - // require relative imports use full extensions - 'import/extensions': ['error', 'always', { ignorePackages: true }], - // Add any custom rules here - }, - }, -<% if (typescript) { %> // ts files - { - files: ['**/*.ts'], - extends: [ - 'eslint:recommended', - 'plugin:ember/recommended', - 'plugin:@typescript-eslint/eslint-recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:prettier/recommended', - ], - rules: { - // require relative imports use full extensions - 'import/extensions': ['error', 'always', { ignorePackages: true }], - // Add any custom rules here - }, - }, - { - files: ['**/*.gts'], - parser: 'ember-eslint-parser', - plugins: ['ember', 'import'], - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/eslint-recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:ember/recommended', - 'plugin:ember/recommended-gts', - 'plugin:prettier/recommended', - ], - rules: { - // require relative imports use full extensions - 'import/extensions': ['error', 'always', { ignorePackages: true }], - // Add any custom rules here - }, - }, -<% } %> { - files: ['**/*.gjs'], - parser: 'ember-eslint-parser', - plugins: ['ember', 'import'], - extends: [ - 'eslint:recommended', - 'plugin:ember/recommended', - 'plugin:ember/recommended-gjs', - 'plugin:prettier/recommended', - ], - rules: { - // require relative imports use full extensions - 'import/extensions': ['error', 'always', { ignorePackages: true }], - // Add any custom rules here - }, - }, - // node files - { - files: [ - './.eslintrc.cjs', - './.prettierrc.cjs', - './.template-lintrc.cjs', - './addon-main.cjs', - ], - parserOptions: { - sourceType: 'script', - }, - env: { - browser: false, - node: true, - }, - plugins: ['n'], - extends: [ - 'eslint:recommended', - 'plugin:n/recommended', - 'plugin:prettier/recommended', - ], - }, - ], -}; diff --git a/files/__addonLocation__/_js_eslint.config.mjs b/files/__addonLocation__/_js_eslint.config.mjs new file mode 100644 index 00000000..ffb1fc80 --- /dev/null +++ b/files/__addonLocation__/_js_eslint.config.mjs @@ -0,0 +1,114 @@ +/** + * 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 babelParser from '@babel/eslint-parser'; +import js from '@eslint/js'; +import prettier from 'eslint-config-prettier'; +import ember from 'eslint-plugin-ember/recommended'; +import importPlugin from 'eslint-plugin-import'; +import n from 'eslint-plugin-n'; +import globals from 'globals'; + +const esmParserOptions = { + ecmaFeatures: { modules: true }, + ecmaVersion: 'latest', +}; + +export default [ + js.configs.recommended, + prettier, + ember.configs.base, + ember.configs.gjs, + /** + * Ignores must be in their own object + * https://eslint.org/docs/latest/use/configure/ignore + */ + { + ignores: ['dist/', 'declarations/', '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: esmParserOptions, + globals: { + ...globals.browser, + }, + }, + }, + { + files: ['src/**/*'], + plugins: { + import: importPlugin, + }, + rules: { + // require relative imports use full extensions + 'import/extensions': ['error', 'always', { ignorePackages: true }], + }, + }, + /** + * CJS node files + */ + { + files: [ + '**/*.cjs', + '.prettierrc.js', + '.stylelintrc.js', + '.template-lintrc.js', + 'addon-main.cjs', + ], + plugins: { + n, + }, + + languageOptions: { + sourceType: 'script', + ecmaVersion: 'latest', + globals: { + ...globals.node, + }, + }, + }, + /** + * ESM node files + */ + { + files: ['**/*.mjs'], + plugins: { + n, + }, + + languageOptions: { + sourceType: 'module', + ecmaVersion: 'latest', + parserOptions: esmParserOptions, + globals: { + ...globals.node, + }, + }, + }, +]; diff --git a/files/__addonLocation__/_ts_eslint.config.mjs b/files/__addonLocation__/_ts_eslint.config.mjs new file mode 100644 index 00000000..a7c9d80c --- /dev/null +++ b/files/__addonLocation__/_ts_eslint.config.mjs @@ -0,0 +1,133 @@ +/** + * 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 babelParser from '@babel/eslint-parser'; +import js from '@eslint/js'; +import prettier from 'eslint-config-prettier'; +import ember from 'eslint-plugin-ember/recommended'; +import importPlugin from 'eslint-plugin-import'; +import n from 'eslint-plugin-n'; +import globals from 'globals'; +import ts from 'typescript-eslint'; + +const parserOptions = { + esm: { + js: { + ecmaFeatures: { modules: true }, + ecmaVersion: 'latest', + }, + ts: { + projectService: true, + project: 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/', 'declarations/', '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: ['src/**/*'], + plugins: { + import: importPlugin, + }, + rules: { + // require relative imports use full extensions + 'import/extensions': ['error', 'always', { ignorePackages: true }], + }, + }, + /** + * CJS node files + */ + { + files: [ + '**/*.cjs', + '.prettierrc.js', + '.stylelintrc.js', + '.template-lintrc.js', + 'addon-main.cjs', + ], + 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/files/__addonLocation__/babel.config.json b/files/__addonLocation__/babel.config.json index 0321bbf4..3f587027 100644 --- a/files/__addonLocation__/babel.config.json +++ b/files/__addonLocation__/babel.config.json @@ -1,11 +1,24 @@ { "plugins": [ -<% if (typescript) { %> ["@babel/plugin-transform-typescript", { "allExtensions": true, "onlyRemoveTypeImports": true, "allowDeclareFields": true }], +<% if (typescript) { %> [ + "@babel/plugin-transform-typescript", + { + "allExtensions": true, + "onlyRemoveTypeImports": true, + "allowDeclareFields": true + } + ], <% } %> "@embroider/addon-dev/template-colocation-plugin", - ["babel-plugin-ember-template-compilation", { - "targetFormat": "hbs", - "transforms": [] - }], - ["module:decorator-transforms", { "runtime": { "import": "decorator-transforms/runtime" } }], + [ + "babel-plugin-ember-template-compilation", + { + "targetFormat": "hbs", + "transforms": [] + } + ], + [ + "module:decorator-transforms", + { "runtime": { "import": "decorator-transforms/runtime" } } + ] ] } diff --git a/files/__addonLocation__/package.json b/files/__addonLocation__/package.json index 91464a08..a166484a 100644 --- a/files/__addonLocation__/package.json +++ b/files/__addonLocation__/package.json @@ -15,8 +15,10 @@ ], "scripts": { "build": "rollup --config", - "lint": "concurrently \"<%= packageManager %>:lint:*(!fix)\" --names \"lint:\"", - "lint:fix": "concurrently \"<%= packageManager %>:lint:*:fix\" --names \"fix:\"", + "format": "prettier . --cache --write", + "lint": "concurrently \"<%= packageManager %>:lint:*(!fix)\" --names \"lint:\" --prefixColors auto", + "lint:fix": "concurrently \"<%= packageManager %>:lint:*:fix\" --names \"fix:\" --prefixColors auto && <%= packageManager %> run format", + "lint:format": "prettier . --cache --check", "lint:hbs": "ember-template-lint . --no-error-on-unmatched-pattern", "lint:js": "eslint . --cache", "lint:hbs:fix": "ember-template-lint . --fix --no-error-on-unmatched-pattern", @@ -24,7 +26,7 @@ "lint:types": "glint",<% } %> "start": "rollup --config --watch", "test": "echo 'A v2 addon does not have tests, run tests in test-app'", - "prepack": <% if (typescript) { %>"concurrently '<%= packageManager %>:build:*'"<% } else { %>"rollup --config"<% } %> + "prepack": "rollup --config" }, "dependencies": { "@embroider/addon-shim": "^1.8.9", @@ -35,32 +37,33 @@ }, "devDependencies": { "@babel/core": "^7.25.2", - <% if (typescript) { %>"@babel/plugin-transform-typescript": "^7.25.2"<% } else { %>"@babel/eslint-parser": "^7.25.1"<% } %>, + <% if (typescript) { %>"@babel/plugin-transform-typescript": "^7.25.2",<% } %> + "@babel/eslint-parser": "^7.25.1", "@babel/runtime": "^7.25.6", + "@eslint/js": "^9.17.0", "@embroider/addon-dev": "^7.1.0",<% if (typescript) { %> "@glint/core": "^1.4.0", "@glint/environment-ember-loose": "^1.4.0", "@glint/environment-ember-template-imports": "^1.4.0", "@glint/template": "^1.4.0", - "@tsconfig/ember": "^3.0.8", - "@typescript-eslint/eslint-plugin": "^8.13.0", - "@typescript-eslint/parser": "^8.13.0",<% } %> + "@tsconfig/ember": "^3.0.8",<% } %> "@rollup/plugin-babel": "^6.0.4", "babel-plugin-ember-template-compilation": "^2.2.5", "concurrently": "^9.0.1", "ember-source": "^5.4.0", "ember-template-lint": "^6.0.0", - "eslint": "^8.56.0", + "eslint": "^9.17.0", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-ember": "^12.3.1", - "eslint-plugin-import": "^2.30.0", - "eslint-plugin-n": "^17.10.3", - "eslint-plugin-prettier": "^5.2.1", - "prettier": "^3.3.3", - "prettier-plugin-ember-template-tag": "^2.0.2", + "eslint-plugin-ember": "^12.3.3", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-n": "^17.15.1", + "globals": "^15.14.0", + "prettier": "^3.4.2", + "prettier-plugin-ember-template-tag": "^2.0.4", "rollup": "^4.22.5"<% if (!isExistingMonorepo) { %>, "rollup-plugin-copy": "^3.5.0"<% } %><% if (typescript) { %>, - "typescript": "^5.4.5"<% } %> + "typescript-eslint": "^8.19.1", + "typescript": "~5.6.0"<% } %> }, "ember": { "edition": "octane" diff --git a/files/__addonLocation__/tsconfig.json b/files/__addonLocation__/tsconfig.json index 28dd17ea..dad8b876 100644 --- a/files/__addonLocation__/tsconfig.json +++ b/files/__addonLocation__/tsconfig.json @@ -1,9 +1,6 @@ { "extends": "@tsconfig/ember/tsconfig.json", - "include": [ - "src/**/*", - "unpublished-development-types/**/*" - ], + "include": ["src/**/*", "unpublished-development-types/**/*"], "glint": { "environment": ["ember-loose", "ember-template-imports"] }, @@ -50,8 +47,6 @@ */ "allowImportingTsExtensions": true, - "types": [ - "ember-source/types" - ] + "types": ["ember-source/types"] } } diff --git a/files/test-app-overrides/tsconfig.json b/files/test-app-overrides/tsconfig.json new file mode 100644 index 00000000..43ffc6dc --- /dev/null +++ b/files/test-app-overrides/tsconfig.json @@ -0,0 +1,25 @@ +{ + "extends": "@tsconfig/ember/tsconfig.json", + "glint": { + "environment": ["ember-loose", "ember-template-imports"] + }, + "compilerOptions": { + "skipLibCheck": true, + "noEmit": true, + "noEmitOnError": false, + "declaration": false, + "declarationMap": false, + // The combination of `baseUrl` with `paths` allows Ember's classic package + // layout, which is not resolvable with the Node resolution algorithm, to + // work with TypeScript. + "baseUrl": ".", + "paths": { + "<%= testAppInfo.packageName %>/tests/*": ["tests/*"], + "<%= testAppInfo.packageName %>/*": ["app/*"], + "*": ["types/*"] + }, + "types": [ + "ember-source/types", + ] + } +} diff --git a/index.js b/index.js index 3f7723f2..8d20107a 100644 --- a/index.js +++ b/index.js @@ -80,13 +80,6 @@ module.exports = { if (options.packageManager === 'pnpm' || options.pnpm) { delete json.workspaces; - - json.pnpm = { - // TODO: update the blueprint's output to ESLint 8 - overrides: { - '@types/eslint': '^7.0.0', - }, - }; } await fs.writeFile(packageJson, JSON.stringify(json, null, 2)); @@ -349,6 +342,51 @@ module.exports = { return entityName; }, + + /** + * @override + * + * This modification of buildFileInfo allows our differing + * input files to output to a single file, depending on the options. + * For example: + * + * for javascript, + * _ts_eslint.config.mjs is deleted + * _js_eslint.config.mjs is renamed to eslint.config.mjs + * + * for typescript, + * _js_eslint.config.mjs is deleted + * _ts_eslint.config.mjs is renamed to eslint.config.mjs + */ + buildFileInfo(intoDir, templateVariables, file, options) { + let fileInfo = this._super.buildFileInfo.apply(this, arguments); + + if (file.includes('_js_')) { + if (options.typescript) { + return null; + } + + fileInfo.outputBasePath = fileInfo.outputPath.replace('_js_', ''); + fileInfo.outputPath = fileInfo.outputPath.replace('_js_', ''); + fileInfo.displayPath = fileInfo.outputPath.replace('_js_', ''); + + return fileInfo; + } + + if (file.includes('_ts_')) { + if (!options.typescript) { + return null; + } + + fileInfo.outputBasePath = fileInfo.outputPath.replace('_ts_', ''); + fileInfo.outputPath = fileInfo.outputPath.replace('_ts_', ''); + fileInfo.displayPath = fileInfo.outputPath.replace('_ts_', ''); + + return fileInfo; + } + + return fileInfo; + }, }; function buildBlueprintOptions(blueprintOptions) { diff --git a/package.json b/package.json index 8c7ec47a..96b58453 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "test": "pnpm --filter 'blueprint-tests' test" }, "dependencies": { - "ember-cli": "^5.6.0", + "ember-cli": "^6.1.0", "ember-cli-normalize-entity-name": "^1.0.0", "ember-cli-string-utils": "^1.1.0", "fs-extra": "^10.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4e2a8117..239e53bf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: dependencies: ember-cli: - specifier: ^5.6.0 - version: 5.6.0(lodash@4.17.21) + specifier: ^6.1.0 + version: 6.1.0 ember-cli-normalize-entity-name: specifier: ^1.0.0 version: 1.0.0 @@ -67,7 +67,7 @@ importers: specifier: ^7.11.3 version: 7.11.3 ember-cli: - specifier: ember-cli/ember-cli#master + specifier: github:ember-cli/ember-cli#master version: github.com/ember-cli/ember-cli/086543fa1dfac629d94954530d965c53cd9929e7 execa: specifier: ^6.1.0 @@ -449,11 +449,13 @@ packages: /@glimmer/env@0.1.7: resolution: {integrity: sha512-JKF/a9I9jw6fGoz8kA7LEQslrwJ5jms5CXhu/aqkBWk+PmZ6pTl8mlb/eJ/5ujBGTiQzBhy5AIWF712iA+4/mw==} + dev: true /@glimmer/interfaces@0.84.3: resolution: {integrity: sha512-dk32ykoNojt0mvEaIW6Vli5MGTbQo58uy3Epj7ahCgTHmWOKuw/0G83f2UmFprRwFx689YTXG38I/vbpltEjzg==} dependencies: '@simple-dom/interface': 1.4.0 + dev: true /@glimmer/syntax@0.84.3: resolution: {integrity: sha512-ioVbTic6ZisLxqTgRBL2PCjYZTFIwobifCustrozRU2xGDiYvVIL0vt25h2c1ioDsX59UgVlDkIK4YTAQQSd2A==} @@ -462,6 +464,7 @@ packages: '@glimmer/util': 0.84.3 '@handlebars/parser': 2.0.0 simple-html-tokenizer: 0.5.11 + dev: true /@glimmer/util@0.84.3: resolution: {integrity: sha512-qFkh6s16ZSRuu2rfz3T4Wp0fylFj3HBsONGXQcrAdZjdUaIS6v3pNj6mecJ71qRgcym9Hbaq/7/fefIwECUiKw==} @@ -469,9 +472,11 @@ packages: '@glimmer/env': 0.1.7 '@glimmer/interfaces': 0.84.3 '@simple-dom/interface': 1.4.0 + dev: true /@handlebars/parser@2.0.0: resolution: {integrity: sha512-EP9uEDZv/L5Qh9IWuMUGJRfwhXJ4h1dqKTT4/3+tY0eu7sPis7xh23j61SYUnNF4vqCQvvUXpDo9Bh/+q1zASA==} + dev: true /@humanwhocodes/config-array@0.9.5: resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} @@ -823,34 +828,12 @@ packages: /@pnpm/constants@10.0.0: resolution: {integrity: sha512-dxIXcW1F1dxIGfye2JXE7Q8WVwYB0axVzdBOkvE1WKIVR4xjB8e6k/Dkjo7DpbyfW5Vu2k21p6dyM32YLSAWoQ==} engines: {node: '>=18.12'} - dev: true - - /@pnpm/constants@7.1.1: - resolution: {integrity: sha512-31pZqMtjwV+Vaq7MaPrT1EoDFSYwye3dp6BiHIGRJmVThCQwySRKM7hCvqqI94epNkqFAAYoWrNynWoRYosGdw==} - engines: {node: '>=16.14'} - dev: false - - /@pnpm/error@5.0.2: - resolution: {integrity: sha512-0TEm+tWNYm+9uh6DSKyRbv8pv/6b4NL0PastLvMxIoqZbBZ5Zj1cYi332R9xsSUi31ZOsu2wpgn/bC7DA9hrjg==} - engines: {node: '>=16.14'} - dependencies: - '@pnpm/constants': 7.1.1 - dev: false /@pnpm/error@6.0.3: resolution: {integrity: sha512-OIYhG7HQh4zUFh2s8/6bp7glVRjNxms7bpzXVOLV7pyRa+rSYFmqJ8zDsBC64k58nuaxS85Ip+SCDjFxsFGeOg==} engines: {node: '>=18.12'} dependencies: '@pnpm/constants': 10.0.0 - dev: true - - /@pnpm/find-workspace-dir@6.0.2: - resolution: {integrity: sha512-JSrpQUFCs4vY1D5tOmj7qBb+oE2j/lO6341giEdUpvYf3FijY8CY13l8rPjfHV2y3m//utzl0An+q+qx14S6Nw==} - engines: {node: '>=16.14'} - dependencies: - '@pnpm/error': 5.0.2 - find-up: 5.0.0 - dev: false /@pnpm/find-workspace-dir@7.0.3: resolution: {integrity: sha512-eGjkyHSufkHyZ66WpygWnslcRePB0U1lJg1dF3rgWqTChpregYoDyNGDzK7l9Gk+CHVgGZZS5aWp7uKKVmAAEg==} @@ -858,7 +841,6 @@ packages: dependencies: '@pnpm/error': 6.0.3 find-up: 5.0.0 - dev: true /@polka/url@1.0.0-next.21: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} @@ -866,6 +848,7 @@ packages: /@simple-dom/interface@1.4.0: resolution: {integrity: sha512-l5qumKFWU0S+4ZzMaLXFU8tQZsicHEMEyAxI5kDFGhJsRqDwe0a7/iPA/GdxlGyDKseQQAgIz5kzU7eXTrlSpA==} + dev: true /@sindresorhus/is@0.14.0: resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} @@ -1171,6 +1154,7 @@ packages: /@xmldom/xmldom@0.8.6: resolution: {integrity: sha512-uRjjusqpoqfmRkTaNuLJ2VohVr67Q5YwDATW3VU7PfzTj6IRaihGrYI7zckGZjxQPBIp63nfvJbM+Yu5ICh0Bg==} engines: {node: '>=10.0.0'} + deprecated: this version has critical issues, please update to the latest version /abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} @@ -1314,6 +1298,7 @@ packages: /are-we-there-yet@3.0.1: resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. dependencies: delegates: 1.0.0 readable-stream: 3.6.0 @@ -1524,7 +1509,6 @@ packages: prettier: 2.8.8 transitivePeerDependencies: - supports-color - dev: true /backbone@1.4.1: resolution: {integrity: sha512-ADy1ztN074YkWbHi8ojJVFe3vAanO/lrzMGZWUClIP7oDD/Pjy2vrASraUP+2EVCfIiTtCW4FChVow01XneivA==} @@ -1580,26 +1564,6 @@ packages: /bluebird@3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - /body-parser@1.20.1: - resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dependencies: - bytes: 3.1.2 - content-type: 1.0.4 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.11.0 - raw-body: 2.5.1 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: false - /body-parser@1.20.3: resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -1618,7 +1582,6 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: true /body@5.1.0: resolution: {integrity: sha512-chUsBxGRtuElD6fmw1gHLpvnKdVLK302peeFa9ZqAEk8TyzZ3fygLyUEDDPTJvL9+Bor0dIwn6ePOsRM2y0zQQ==} @@ -1987,6 +1950,7 @@ packages: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: semver: 7.5.4 + dev: true /bytes@1.0.0: resolution: {integrity: sha512-/x68VkHLeTl3/Ll8IvxdwzhrT+IyKc52e/oyHhA2RwqPqswSnjVbSddfPRwAsJtbilMAPSRWwAlpxdYsSWOTKQ==} @@ -2083,13 +2047,13 @@ packages: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 - dev: true /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 get-intrinsic: 1.2.1 + dev: true /call-bound@1.0.3: resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} @@ -2097,7 +2061,6 @@ packages: dependencies: call-bind-apply-helpers: 1.0.1 get-intrinsic: 1.2.7 - dev: true /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} @@ -2174,15 +2137,9 @@ packages: engines: {node: '>=10'} dev: true - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} - engines: {node: '>=8'} - dev: false - /ci-info@4.1.0: resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==} engines: {node: '>=8'} - dev: true /class-utils@0.3.6: resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} @@ -2548,18 +2505,17 @@ packages: dependencies: safe-buffer: 5.2.1 + /content-tag@2.0.3: + resolution: {integrity: sha512-htLIdtfhhKW2fHlFLnZH7GFzHSdSpHhDLrWVswkNiiPMZ5uXq5JfrGboQKFhNQuAAFF8VNB2EYUj3MsdJrKKpg==} + dev: false + /content-tag@3.1.0: resolution: {integrity: sha512-gSESx+fia81/vKjorui0V6wY7IBpuitd84LcQnaPVF9Xe9ctLAf4saHwbUi3SAhYfi9kxs5ODfAVnm5MmjojCQ==} dev: true - /content-type@1.0.4: - resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} - engines: {node: '>= 0.6'} - /content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - dev: true /continuable-cache@0.3.1: resolution: {integrity: sha512-TF30kpKhTH8AGCG3dut0rdd/19B7Z+qCnrMoBLpyQu/2drZdNrrpcjPEoJeSVsQM+8KmWG5O56oPDjSSUsuTyA==} @@ -2574,15 +2530,9 @@ packages: resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} engines: {node: '>= 0.6'} - /cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} - engines: {node: '>= 0.6'} - dev: false - /cookie@0.7.1: resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} engines: {node: '>= 0.6'} - dev: true /copy-descriptor@0.1.1: resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} @@ -2831,7 +2781,6 @@ packages: call-bind-apply-helpers: 1.0.1 es-errors: 1.3.0 gopd: 1.2.0 - dev: true /duplexer3@0.1.5: resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} @@ -2923,12 +2872,13 @@ packages: - supports-color dev: true - /ember-cli@5.6.0(lodash@4.17.21): - resolution: {integrity: sha512-9ARiTnNgQDX6RPC37PjlEc58/e8p7pgmNu6GcmARq4iBLeTWWW+2mgw3HKoFd91ob1EdRiglskLYzgboRxtBBw==} + /ember-cli@6.1.0: + resolution: {integrity: sha512-LpVtpf/QgHcmmzX3InToSUnn0wX9D8TEKVhxF4KPf2HpCzrTllUcwu+pfCsXDb3VziTjRKUnnh5ZnjER/pVyFQ==} engines: {node: '>= 18'} hasBin: true dependencies: - '@pnpm/find-workspace-dir': 6.0.2 + '@pnpm/find-workspace-dir': 7.0.3 + babel-remove-types: 1.0.0 broccoli: 3.5.2 broccoli-builder: 0.18.14 broccoli-concat: 4.2.5 @@ -2945,11 +2895,12 @@ packages: calculate-cache-key-for-tree: 2.0.0 capture-exit: 2.0.0 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 4.1.0 clean-base-url: 1.0.0 compression: 1.7.4 configstore: 5.0.1 console-ui: 3.1.2 + content-tag: 2.0.3 core-object: 3.1.5 dag-map: 2.0.2 diff: 5.1.0 @@ -2958,11 +2909,10 @@ packages: ember-cli-normalize-entity-name: 1.0.0 ember-cli-preprocess-registry: 5.0.1 ember-cli-string-utils: 1.1.0 - ember-template-tag: 2.3.15 ensure-posix-path: 1.1.1 execa: 5.1.1 exit: 0.1.2 - express: 4.18.2 + express: 4.21.2 filesize: 10.0.12 find-up: 5.0.0 find-yarn-workspace-root: 2.0.0 @@ -2981,31 +2931,30 @@ packages: inquirer: 9.2.7 is-git-url: 1.0.0 is-language-code: 3.1.0 - isbinaryfile: 5.0.0 - lodash.template: 4.5.0 + isbinaryfile: 5.0.4 + lodash: 4.17.21 markdown-it: 13.0.1 markdown-it-terminal: 0.4.0(markdown-it@13.0.1) minimatch: 7.4.6 morgan: 1.10.0 nopt: 3.0.6 - npm-package-arg: 10.1.0 + npm-package-arg: 12.0.1 os-locale: 5.0.0 p-defer: 3.0.0 portfinder: 1.0.32 promise-map-series: 0.3.0 promise.hash.helper: 1.0.8 quick-temp: 0.1.8 - remove-types: 1.0.0 resolve: 1.22.4 resolve-package-path: 4.0.3 safe-stable-stringify: 2.4.3 sane: 5.0.1 - semver: 7.5.4 + semver: 7.6.3 silent-error: 1.1.1 sort-package-json: 1.57.0 symlink-or-copy: 1.3.1 temp: 0.9.4 - testem: 3.10.1(lodash@4.17.21) + testem: 3.15.2 tiny-lr: 2.0.0 tree-sync: 2.1.0 walk-sync: 3.0.0 @@ -3039,7 +2988,6 @@ packages: - just - liquid-node - liquor - - lodash - marko - mote - nunjucks @@ -3092,17 +3040,6 @@ packages: - supports-color dev: true - /ember-template-tag@2.3.15: - resolution: {integrity: sha512-uvFt+eIE4788Yr3X1wYLrh+PYYmasmREh2IoShIrZvOW2dOfC+elSZeqeEacNhbKJUX3tT9XUKlbpYFVwvSvyA==} - dependencies: - '@babel/generator': 7.23.0 - '@babel/traverse': 7.23.0 - '@babel/types': 7.23.0 - '@glimmer/syntax': 0.84.3 - transitivePeerDependencies: - - supports-color - dev: false - /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -3117,7 +3054,6 @@ packages: /encodeurl@2.0.0: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} - dev: true /encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} @@ -3244,19 +3180,16 @@ packages: /es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} - dev: true /es-errors@1.3.0: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - dev: true /es-object-atoms@1.1.0: resolution: {integrity: sha512-Ujz8Al/KfOVR7fkaghAB1WvnLsdYxHDWmfoi2vlA2jZWRg31XhIC1a4B+/I24muD8iSbHxJ1JkrfqmWb65P/Mw==} engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 - dev: true /es-set-tostringtag@2.0.1: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} @@ -3900,45 +3833,6 @@ packages: dependencies: homedir-polyfill: 1.0.3 - /express@4.18.2: - resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} - engines: {node: '>= 0.10.0'} - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.1 - content-disposition: 0.5.4 - content-type: 1.0.4 - cookie: 0.5.0 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.2.0 - fresh: 0.5.2 - http-errors: 2.0.0 - merge-descriptors: 1.0.1 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: 2.0.7 - qs: 6.11.0 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 - setprototypeof: 1.2.0 - statuses: 2.0.1 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - dev: false - /express@4.21.2: resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} engines: {node: '>= 0.10.0'} @@ -3947,7 +3841,7 @@ packages: array-flatten: 1.1.1 body-parser: 1.20.3 content-disposition: 0.5.4 - content-type: 1.0.4 + content-type: 1.0.5 cookie: 0.7.1 cookie-signature: 1.0.6 debug: 2.6.9 @@ -3976,7 +3870,6 @@ packages: vary: 1.1.2 transitivePeerDependencies: - supports-color - dev: true /extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} @@ -4144,21 +4037,6 @@ packages: transitivePeerDependencies: - supports-color - /finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} - engines: {node: '>= 0.8'} - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: false - /finalhandler@1.3.1: resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} engines: {node: '>= 0.8'} @@ -4172,7 +4050,6 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: true /find-index@1.1.1: resolution: {integrity: sha512-XYKutXMrIK99YMUPf91KX5QVJoG31/OsgftD6YoTPAObfQIxM4ziA9f0J1AsqKhJmo+IeaIPP0CFopTD4bdUBw==} @@ -4421,7 +4298,6 @@ packages: /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true /function.prototype.name@1.1.5: resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} @@ -4444,6 +4320,7 @@ packages: /gauge@4.0.4: resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -4473,6 +4350,7 @@ packages: has: 1.0.3 has-proto: 1.0.1 has-symbols: 1.0.3 + dev: true /get-intrinsic@1.2.7: resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} @@ -4488,7 +4366,6 @@ packages: has-symbols: 1.1.0 hasown: 2.0.2 math-intrinsics: 1.1.0 - dev: true /get-proto@1.0.1: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} @@ -4496,7 +4373,6 @@ packages: dependencies: dunder-proto: 1.0.1 es-object-atoms: 1.1.0 - dev: true /get-stdin@9.0.0: resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} @@ -4596,6 +4472,7 @@ packages: /glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -4674,7 +4551,6 @@ packages: /gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} - dev: true /got@9.6.0: resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} @@ -4744,15 +4620,16 @@ packages: /has-proto@1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} + dev: true /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} + dev: true /has-symbols@1.1.0: resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} - dev: true /has-tostringtag@1.0.0: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} @@ -4814,7 +4691,6 @@ packages: engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 - dev: true /heimdalljs-fs-monitor@1.1.1: resolution: {integrity: sha512-BHB8oOXLRlrIaON0MqJSEjGVPDyqt2Y6gu+w2PaEZjrCxeVtZG7etEZp7M4ZQ80HNvnr66KIQ2lot2qdeG8HgQ==} @@ -4861,13 +4737,6 @@ packages: lru-cache: 6.0.0 dev: true - /hosted-git-info@6.1.1: - resolution: {integrity: sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - lru-cache: 7.14.1 - dev: false - /hosted-git-info@7.0.1: resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} engines: {node: ^16.14.0 || >=18.0.0} @@ -4880,7 +4749,6 @@ packages: engines: {node: ^18.17.0 || >=20.5.0} dependencies: lru-cache: 10.1.0 - dev: true /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -5363,15 +5231,9 @@ packages: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} dev: true - /isbinaryfile@5.0.0: - resolution: {integrity: sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg==} - engines: {node: '>= 14.0.0'} - dev: false - /isbinaryfile@5.0.4: resolution: {integrity: sha512-YKBKVkKhty7s8rxddb40oOkuP0NbaeXrQvLin6QMHL7Ypiy2RW9LwOVrVgZRyOrhQlayMd9t+D8yDy8MKFTSDQ==} engines: {node: '>= 18.0.0'} - dev: true /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -5642,27 +5504,11 @@ packages: /lodash._reinterpolate@3.0.0: resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} - /lodash.assignin@4.2.0: - resolution: {integrity: sha512-yX/rx6d/UTVh7sSVWVSIMjfnz95evAgDFdb1ZozC35I9mSFCkmzptOzevxjgbQUsc78NR44LVHWjsoMQXy9FDg==} - dev: false - - /lodash.castarray@4.4.0: - resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} - dev: false - - /lodash.clonedeep@4.5.0: - resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} - dev: false - /lodash.debounce@3.1.1: resolution: {integrity: sha512-lcmJwMpdPAtChA4hfiwxTtgFeNAaow701wWUgVUqeD0XJF7vMXIN+bu/2FJSGxT0NUbZy9g9VFrlOFfPjl+0Ew==} dependencies: lodash._getnative: 3.9.1 - /lodash.find@4.6.0: - resolution: {integrity: sha512-yaRZoAV3Xq28F1iafWN1+a0rflOej93l1DQUejs3SZ41h2O9UJBoS9aueGjPDgAl4B6tPC0NuuchLKaDQQ3Isg==} - dev: false - /lodash.flatten@3.0.2: resolution: {integrity: sha512-jCXLoNcqQRbnT/KWZq2fIREHWeczrzpTR0vsycm96l/pu5hGeAntVBG0t7GuM/2wFqmnZs3d1eGptnAH2E8+xQ==} dependencies: @@ -5698,10 +5544,6 @@ packages: /lodash.uniq@4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} - /lodash.uniqby@4.7.0: - resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==} - dev: false - /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -5744,7 +5586,6 @@ packages: /lru-cache@10.1.0: resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} engines: {node: 14 || >=16.14} - dev: true /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -5757,11 +5598,6 @@ packages: dependencies: yallist: 4.0.0 - /lru-cache@7.14.1: - resolution: {integrity: sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==} - engines: {node: '>=12'} - dev: false - /magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: @@ -5882,7 +5718,6 @@ packages: /math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - dev: true /mdurl@1.0.1: resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} @@ -5909,13 +5744,8 @@ packages: dependencies: readable-stream: 1.0.34 - /merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - dev: false - /merge-descriptors@1.0.3: resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} - dev: true /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -6105,12 +5935,12 @@ packages: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} hasBin: true + dev: true /mkdirp@3.0.1: resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} engines: {node: '>=10'} hasBin: true - dev: true /mktemp@0.4.0: resolution: {integrity: sha512-IXnMcJ6ZyTuhRmJSjzvHSRhlVPiN9Jwc6e59V0bEJ0ba6OBeX2L0E+mRN1QseeOF4mM+F1Rit6Nh7o+rl2Yn/A==} @@ -6226,7 +6056,7 @@ packages: dependencies: growly: 1.3.0 is-wsl: 2.2.0 - semver: 7.5.4 + semver: 7.6.3 shellwords: 0.1.1 uuid: 8.3.2 which: 2.0.2 @@ -6277,16 +6107,6 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /npm-package-arg@10.1.0: - resolution: {integrity: sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - hosted-git-info: 6.1.1 - proc-log: 3.0.0 - semver: 7.5.4 - validate-npm-package-name: 5.0.0 - dev: false - /npm-package-arg@11.0.1: resolution: {integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==} engines: {node: ^16.14.0 || >=18.0.0} @@ -6303,9 +6123,8 @@ packages: dependencies: hosted-git-info: 8.0.2 proc-log: 5.0.0 - semver: 7.5.4 + semver: 7.6.3 validate-npm-package-name: 6.0.0 - dev: true /npm-pick-manifest@9.0.0: resolution: {integrity: sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==} @@ -6339,6 +6158,7 @@ packages: /npmlog@6.0.2: resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. dependencies: are-we-there-yet: 3.0.1 console-control-strings: 1.1.0 @@ -6359,11 +6179,11 @@ packages: /object-inspect@1.12.3: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + dev: true /object-inspect@1.13.3: resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} engines: {node: '>= 0.4'} - dev: true /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} @@ -6682,11 +6502,6 @@ packages: /path-to-regexp@0.1.12: resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} - dev: true - - /path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - dev: false /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} @@ -6785,11 +6600,11 @@ packages: /proc-log@3.0.0: resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true /proc-log@5.0.0: resolution: {integrity: sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==} engines: {node: ^18.17.0 || >=20.5.0} - dev: true /progress@2.0.3: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} @@ -6849,18 +6664,11 @@ packages: engines: {node: '>=6'} dev: true - /qs@6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} - engines: {node: '>=0.6'} - dependencies: - side-channel: 1.0.4 - /qs@6.13.0: resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} dependencies: side-channel: 1.1.0 - dev: true /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -6883,16 +6691,6 @@ packages: bytes: 1.0.0 string_decoder: 0.10.31 - /raw-body@2.5.1: - resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} - engines: {node: '>= 0.8'} - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - dev: false - /raw-body@2.5.2: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} @@ -6901,7 +6699,6 @@ packages: http-errors: 2.0.0 iconv-lite: 0.4.24 unpipe: 1.0.0 - dev: true /rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} @@ -7013,17 +6810,6 @@ packages: /remove-trailing-separator@1.1.0: resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} - /remove-types@1.0.0: - resolution: {integrity: sha512-G7Hk1Q+UJ5DvlNAoJZObxANkBZGiGdp589rVcTW/tYqJWJ5rwfraSnKSQaETN8Epaytw8J40nS/zC7bcHGv36w==} - dependencies: - '@babel/core': 7.22.10 - '@babel/plugin-syntax-decorators': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-typescript': 7.20.7(@babel/core@7.22.10) - prettier: 2.8.8 - transitivePeerDependencies: - - supports-color - dev: false - /repeat-element@1.1.4: resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} engines: {node: '>=0.10.0'} @@ -7130,6 +6916,7 @@ packages: /rimraf@2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -7280,28 +7067,6 @@ packages: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} hasBin: true - dev: true - - /send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - dev: false /send@0.19.0: resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} @@ -7322,19 +7087,6 @@ packages: statuses: 2.0.1 transitivePeerDependencies: - supports-color - dev: true - - /serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} - dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.18.0 - transitivePeerDependencies: - - supports-color - dev: false /serve-static@1.16.2: resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} @@ -7346,7 +7098,6 @@ packages: send: 0.19.0 transitivePeerDependencies: - supports-color - dev: true /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} @@ -7395,7 +7146,6 @@ packages: dependencies: es-errors: 1.3.0 object-inspect: 1.13.3 - dev: true /side-channel-map@1.0.1: resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} @@ -7405,7 +7155,6 @@ packages: es-errors: 1.3.0 get-intrinsic: 1.2.7 object-inspect: 1.13.3 - dev: true /side-channel-weakmap@1.0.2: resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} @@ -7416,7 +7165,6 @@ packages: get-intrinsic: 1.2.7 object-inspect: 1.13.3 side-channel-map: 1.0.1 - dev: true /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} @@ -7424,6 +7172,7 @@ packages: call-bind: 1.0.2 get-intrinsic: 1.2.1 object-inspect: 1.12.3 + dev: true /side-channel@1.1.0: resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} @@ -7434,7 +7183,6 @@ packages: side-channel-list: 1.0.0 side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 - dev: true /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -7453,6 +7201,7 @@ packages: /simple-html-tokenizer@0.5.11: resolution: {integrity: sha512-C2WEK/Z3HoSFbYq8tI7ni3eOo/NneSPRoPpcM7WdLjFOArFuyXEjAoCdOC3DgMfRyziZQ1hCNR4mrNdWEvD0og==} + dev: true /sirv@2.0.2: resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==} @@ -7913,99 +7662,6 @@ packages: minimatch: 3.1.2 dev: true - /testem@3.10.1(lodash@4.17.21): - resolution: {integrity: sha512-42c4e7qlAelwMd8O3ogtVGRbgbr6fJnX6H51ACOIG1V1IjsKPlcQtxPyOwaL4iikH22Dfh+EyIuJnMG4yxieBQ==} - engines: {node: '>= 7.*'} - hasBin: true - dependencies: - '@xmldom/xmldom': 0.8.6 - backbone: 1.4.1 - bluebird: 3.7.2 - charm: 1.0.2 - commander: 2.20.3 - compression: 1.7.4 - consolidate: 0.16.0(lodash@4.17.21)(mustache@4.2.0) - execa: 1.0.0 - express: 4.18.2 - fireworm: 0.7.2 - glob: 7.2.3 - http-proxy: 1.18.1 - js-yaml: 3.14.1 - lodash.assignin: 4.2.0 - lodash.castarray: 4.4.0 - lodash.clonedeep: 4.5.0 - lodash.find: 4.6.0 - lodash.uniqby: 4.7.0 - mkdirp: 1.0.4 - mustache: 4.2.0 - node-notifier: 10.0.1 - npmlog: 6.0.2 - printf: 0.6.1 - rimraf: 3.0.2 - socket.io: 4.5.4 - spawn-args: 0.2.0 - styled_string: 0.0.1 - tap-parser: 7.0.0 - tmp: 0.0.33 - transitivePeerDependencies: - - arc-templates - - atpl - - babel-core - - bracket-template - - bufferutil - - coffee-script - - debug - - dot - - dust - - dustjs-helpers - - dustjs-linkedin - - eco - - ect - - ejs - - haml-coffee - - hamlet - - hamljs - - handlebars - - hogan.js - - htmling - - jade - - jazz - - jqtpl - - just - - liquid-node - - liquor - - lodash - - marko - - mote - - nunjucks - - plates - - pug - - qejs - - ractive - - razor-tmpl - - react - - react-dom - - slm - - squirrelly - - supports-color - - swig - - swig-templates - - teacup - - templayed - - then-jade - - then-pug - - tinyliquid - - toffee - - twig - - twing - - underscore - - utf-8-validate - - vash - - velocityjs - - walrus - - whiskers - dev: false - /testem@3.15.2: resolution: {integrity: sha512-mRzqZktqTCWi/rUP/RQOKXvMtuvY3lxuzBVb1xGXPnRNGMEj/1DaLGn6X447yOsz6SlWxSsZfcNuiE7fT1MOKg==} engines: {node: '>= 7.*'} @@ -8092,7 +7748,6 @@ packages: - velocityjs - walrus - whiskers - dev: true /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} @@ -8132,7 +7787,7 @@ packages: faye-websocket: 0.11.4 livereload-js: 3.4.1 object-assign: 4.1.1 - qs: 6.11.0 + qs: 6.13.0 transitivePeerDependencies: - supports-color @@ -8512,11 +8167,11 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: builtins: 5.0.1 + dev: true /validate-npm-package-name@6.0.0: resolution: {integrity: sha512-d7KLgL1LD3U3fgnvWEY1cQXoO/q6EQ1BSz48Sa149V/5zVTAbgmZIpyI8TRi6U9/JNyeYLlTKsEMPtLC27RFUg==} engines: {node: ^18.17.0 || >=20.5.0} - dev: true /validate-peer-dependencies@1.2.0: resolution: {integrity: sha512-nd2HUpKc6RWblPZQ2GDuI65sxJ2n/UqZwSBVtj64xlWjMx0m7ZB2m9b2JS3v1f+n9VWH/dd1CMhkHfP6pIdckA==} @@ -8949,7 +8604,7 @@ packages: resolve-package-path: 4.0.3 safe-stable-stringify: 2.4.3 sane: 5.0.1 - semver: 7.5.4 + semver: 7.6.3 silent-error: 1.1.1 sort-package-json: 2.13.0 symlink-or-copy: 1.3.1 diff --git a/src/root-package-json.js b/src/root-package-json.js index d29eb06a..6ecedcf0 100644 --- a/src/root-package-json.js +++ b/src/root-package-json.js @@ -50,7 +50,7 @@ let scripts = { lint: 'npm run lint --workspaces --if-present', 'lint:fix': 'npm run lint:fix --workspaces --if-present', prepare: 'npm run build', - start: "concurrently 'npm:start:*' --restart-after 5000 --prefix-colors cyan,white,yellow", + start: "concurrently 'npm:start:*' --restart-after 5000 --prefixColors auto", 'start:addon': `npm start --workspace ${addonName} -- --no-watch.clearScreen`, 'start:test-app': `npm start --workspace ${testAppName}`, test: 'npm run test --workspaces --if-present', @@ -73,7 +73,7 @@ let scripts = { lint: 'yarn workspaces run lint', 'lint:fix': 'yarn workspaces run lint:fix', prepare: 'yarn build', - start: "concurrently 'yarn:start:*' --restart-after 5000 --prefix-colors cyan,white,yellow", + start: "concurrently 'yarn:start:*' --restart-after 5000 --prefixColors auto", 'start:addon': `yarn workspace ${addonName} run start`, 'start:test-app': `yarn workspace ${testAppName} run start`, test: 'yarn workspaces run test', @@ -110,7 +110,7 @@ let scripts = { * * Colors are customizable */ - start: "concurrently 'pnpm:start:*' --restart-after 5000 --prefix-colors cyan,white,yellow", + start: "concurrently 'pnpm:start:*' --restart-after 5000 --prefixColors auto", 'start:addon': `pnpm --filter ${addonName} start --no-watch.clearScreen`, 'start:test-app': `pnpm --filter ${testAppName} start`, /** diff --git a/tests/fixtures/explicit-imports/test-app/tests/unit/import-test.ts b/tests/fixtures/explicit-imports/test-app/tests/unit/import-test.ts index 42f39369..3d973783 100644 --- a/tests/fixtures/explicit-imports/test-app/tests/unit/import-test.ts +++ b/tests/fixtures/explicit-imports/test-app/tests/unit/import-test.ts @@ -6,7 +6,7 @@ import { hbs } from 'ember-cli-htmlbars'; import * as myModule from 'my-addon'; module('imports', function () { - test('did they work', async function (assert) { + test('did they work', function (assert) { assert.ok(myModule.MyService); assert.ok(myModule.JSComponent); assert.ok(myModule.TSComponent); diff --git a/tests/fixtures/explicit-imports/test-app/types/registry.d.ts b/tests/fixtures/explicit-imports/test-app/types/registry.d.ts index 042a6d4d..0f5eeae5 100644 --- a/tests/fixtures/explicit-imports/test-app/types/registry.d.ts +++ b/tests/fixtures/explicit-imports/test-app/types/registry.d.ts @@ -4,6 +4,6 @@ import '@glint/environment-ember-template-imports'; import { default as MyAddonRegistry } from 'my-addon/template-registry'; declare module '@glint/environment-ember-loose/registry' { - // eslint-disable-next-line @typescript-eslint/no-empty-interface + // eslint-disable-next-line @typescript-eslint/no-empty-object-type export default interface Registry extends MyAddonRegistry {} } diff --git a/tests/helpers/utils.ts b/tests/helpers/utils.ts index b73a3387..0defb298 100644 --- a/tests/helpers/utils.ts +++ b/tests/helpers/utils.ts @@ -116,7 +116,9 @@ export async function createAddon({ console.debug(`\tember ${emberCliArgs.join(' ')}`); } - let result = await execa('ember', emberCliArgs, { + let localEmberCli = require.resolve('ember-cli/bin/ember'); + + let result = await execa(localEmberCli, emberCliArgs, { ...options, preferLocal: true, }); diff --git a/tests/package.json b/tests/package.json index 1c3edb16..d91c8b26 100644 --- a/tests/package.json +++ b/tests/package.json @@ -9,7 +9,7 @@ "@types/fs-extra": "^9.0.13", "@vitest/ui": "^0.18.0", "c8": "^7.11.3", - "ember-cli": "ember-cli/ember-cli#master", + "ember-cli": "github:ember-cli/ember-cli#master", "execa": "^6.1.0", "fixturify": "^3.0.0", "fs-extra": "^10.0.0", diff --git a/tests/smoke-tests/--addon-only.test.ts b/tests/smoke-tests/--addon-only.test.ts index 4b78212b..7fe450a9 100644 --- a/tests/smoke-tests/--addon-only.test.ts +++ b/tests/smoke-tests/--addon-only.test.ts @@ -23,8 +23,7 @@ describe('--addon-only', () => { await matchesFixture('.npmrc', { cwd: helper.projectRoot, scenario: 'pnpm-addon-only' }); expect(rootContents).to.include('.editorconfig'); - expect(rootContents).to.include('.eslintignore'); - expect(rootContents).to.include('.eslintrc.cjs'); + expect(rootContents).to.include('eslint.config.mjs'); expect(rootContents).to.include('.gitignore'); expect(rootContents).to.include('.npmrc'); expect(rootContents).to.include('.prettierignore'); @@ -49,7 +48,7 @@ describe('--addon-only', () => { it('is not a monorepo', async () => { let hasPnpmWorkspace = await fse.pathExists( - path.join(helper.projectRoot, 'pnpm-workspace.yaml') + path.join(helper.projectRoot, 'pnpm-workspace.yaml'), ); let packageJson = await fse.readJson(path.join(helper.projectRoot, 'package.json'));