ember-cli 6.9.1 → 6.10.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/CONTRIBUTING.md +30 -34
  3. package/README.md +9 -21
  4. package/RELEASE.md +12 -10
  5. package/bin/ember +16 -13
  6. package/blueprints/addon-import/index.js +4 -4
  7. package/docs/build/data.json +9 -9
  8. package/lib/broccoli/ember-app.js +1 -1
  9. package/lib/commands/generate.js +1 -1
  10. package/lib/commands/init.js +1 -1
  11. package/lib/commands/new.js +1 -1
  12. package/lib/commands/test.js +0 -3
  13. package/lib/commands/unknown.js +1 -1
  14. package/lib/debug/deprecate.js +1 -1
  15. package/lib/models/asset-size-printer.js +3 -3
  16. package/lib/models/blueprint.js +6 -6
  17. package/lib/models/builder.js +1 -1
  18. package/lib/models/command.js +1 -1
  19. package/lib/models/hardware-info.js +5 -2
  20. package/lib/models/instrumentation.js +2 -2
  21. package/lib/models/project.js +3 -3
  22. package/lib/models/watcher.js +1 -1
  23. package/lib/models/worker.js +2 -2
  24. package/lib/tasks/addon-install.js +1 -1
  25. package/lib/tasks/build-watch.js +2 -2
  26. package/lib/tasks/build.js +1 -1
  27. package/lib/tasks/git-init.js +2 -2
  28. package/lib/tasks/install-blueprint.js +1 -1
  29. package/lib/tasks/interactive-new.js +5 -5
  30. package/lib/tasks/npm-task.js +2 -2
  31. package/lib/tasks/serve.js +1 -1
  32. package/lib/tasks/server/express-server.js +1 -1
  33. package/lib/tasks/test-server.js +1 -1
  34. package/lib/utilities/find-build-file.js +2 -2
  35. package/lib/utilities/get-lang-arg.js +4 -4
  36. package/lib/utilities/heimdall-progress.js +5 -2
  37. package/lib/utilities/lint-fix.js +1 -1
  38. package/lib/utilities/markdown-color.js +1 -1
  39. package/lib/utilities/print-command.js +1 -1
  40. package/lib/utilities/require-as-hash.js +10 -8
  41. package/lib/utilities/windows-admin.js +1 -1
  42. package/package.json +63 -50
  43. package/packages/addon-blueprint/additional-package.json +1 -3
  44. package/packages/addon-blueprint/index.js +1 -1
  45. package/packages/addon-blueprint/package.json +11 -3
  46. package/packages/app-blueprint/files/package.json +10 -10
  47. package/packages/app-blueprint/index.js +1 -1
  48. package/packages/app-blueprint/package.json +11 -3
  49. package/tests/helpers/acceptance.js +50 -0
  50. package/tests/helpers/command-generator.js +2 -2
  51. package/tests/helpers/package-cache.js +1 -1
  52. package/tests/helpers/process-help-string.js +3 -3
  53. package/tests/helpers/run-command.js +1 -1
  54. package/lib/utilities/execa.js +0 -20
@@ -4,15 +4,15 @@
4
4
  @module ember-cli
5
5
  */
6
6
  const FileInfo = require('@ember-tooling/blueprint-model/utilities/file-info');
7
- const chalk = require('chalk');
7
+ const { default: chalk } = require('chalk');
8
8
  const MarkdownColor = require('../utilities/markdown-color');
9
9
  const sequence = require('../utilities/sequence');
10
10
  const printCommand = require('../utilities/print-command');
11
11
  const insertIntoFile = require('../utilities/insert-into-file');
12
12
  const cleanRemove = require('../utilities/clean-remove');
13
13
  const fs = require('fs-extra');
14
- const inflector = require('inflection');
15
- const minimatch = require('minimatch');
14
+ const { pluralize } = require('inflection');
15
+ const { minimatch } = require('minimatch');
16
16
  const path = require('path');
17
17
  const stringUtils = require('ember-cli-string-utils');
18
18
  const merge = require('lodash/merge');
@@ -547,7 +547,7 @@ let Blueprint = CoreObject.extend({
547
547
  let strippedCode = code;
548
548
  for (let i = 0; i < templateTagMatches.length; i++) {
549
549
  const match = templateTagMatches[i];
550
- const templateTag = substringBytes(code, match.range.start, match.range.end);
550
+ const templateTag = substringBytes(code, match.range.startByte, match.range.endByte);
551
551
  if (match.type === 'class-member') {
552
552
  strippedCode = strippedCode.replace(templateTag, replacementClassMember(i));
553
553
  } else {
@@ -562,7 +562,7 @@ let Blueprint = CoreObject.extend({
562
562
  let transformedWithTemplateTag = transformed;
563
563
  for (let i = 0; i < templateTagMatches.length; i++) {
564
564
  const match = templateTagMatches[i];
565
- const templateTag = substringBytes(code, match.range.start, match.range.end);
565
+ const templateTag = substringBytes(code, match.range.startByte, match.range.endByte);
566
566
  if (match.type === 'class-member') {
567
567
  transformedWithTemplateTag = transformedWithTemplateTag.replace(replacementClassMember(i), templateTag);
568
568
  } else {
@@ -745,7 +745,7 @@ let Blueprint = CoreObject.extend({
745
745
  if (options.pod && options.hasPathToken) {
746
746
  return path.join(options.podPath, options.dasherizedModuleName);
747
747
  }
748
- return inflector.pluralize(blueprintName);
748
+ return pluralize(blueprintName);
749
749
  },
750
750
  __root__(options) {
751
751
  if (options.inRepoAddon) {
@@ -4,7 +4,7 @@ const fs = require('fs-extra');
4
4
  const path = require('path');
5
5
  const CoreObject = require('core-object');
6
6
  const SilentError = require('silent-error');
7
- const chalk = require('chalk');
7
+ const { default: chalk } = require('chalk');
8
8
  const findBuildFile = require('../utilities/find-build-file');
9
9
  const _resetTreeCache = require('./addon')._resetTreeCache;
10
10
  const Sync = require('tree-sync');
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const nopt = require('nopt');
4
- const chalk = require('chalk');
4
+ const { default: chalk } = require('chalk');
5
5
  const path = require('path');
6
6
  const isGitRepo = require('is-git-url');
7
7
  const camelize = require('ember-cli-string-utils').camelize;
@@ -1,10 +1,13 @@
1
1
  'use strict';
2
2
 
3
- const execa = require('execa');
3
+ const { execaSync } = require('execa');
4
4
  const fs = require('fs');
5
5
  const logger = require('heimdalljs-logger')('ember-cli:hardware-info');
6
6
  const os = require('os');
7
7
 
8
+ // For testing purposes:
9
+ const execa = { sync: execaSync };
10
+
8
11
  function isUsingBatteryAcpi() {
9
12
  try {
10
13
  const { stdout } = execa.sync('acpi', ['--ac-adapter']);
@@ -382,4 +385,4 @@ const hwinfo = {
382
385
  },
383
386
  };
384
387
 
385
- module.exports = hwinfo;
388
+ module.exports = { execa, hwinfo };
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  const fs = require('fs-extra');
4
- const chalk = require('chalk');
4
+ const { default: chalk } = require('chalk');
5
5
  const heimdallGraph = require('heimdalljs-graph');
6
6
  const getConfig = require('../utilities/get-config');
7
7
  const utilsInstrumentation = require('../utilities/instrumentation');
8
8
  const logger = require('heimdalljs-logger')('ember-cli:instrumentation');
9
- const hwinfo = require('./hardware-info');
9
+ const { hwinfo } = require('./hardware-info');
10
10
 
11
11
  let vizEnabled = utilsInstrumentation.vizEnabled;
12
12
  let instrumentationEnabled = utilsInstrumentation.instrumentationEnabled;
@@ -5,7 +5,7 @@
5
5
  */
6
6
  const util = require('util');
7
7
  const path = require('path');
8
- const findup = require('find-up');
8
+ const { findUpSync } = require('find-up');
9
9
  const resolve = util.promisify(require('resolve'));
10
10
  const fs = require('fs-extra');
11
11
  const cloneDeep = require('lodash/cloneDeep');
@@ -717,7 +717,7 @@ class Project {
717
717
  @return {String} The project root directory
718
718
  */
719
719
  static getProjectRoot() {
720
- let packagePath = findup.sync('package.json');
720
+ let packagePath = findUpSync('package.json');
721
721
  if (!packagePath) {
722
722
  logger.info('getProjectRoot: not found. Will use cwd: %s', process.cwd());
723
723
  return process.cwd();
@@ -777,7 +777,7 @@ function ensureUI(_ui) {
777
777
  }
778
778
 
779
779
  function findupPath(pathName) {
780
- let pkgPath = findup.sync('package.json', { cwd: pathName });
780
+ let pkgPath = findUpSync('package.json', { cwd: pathName });
781
781
  if (!pkgPath) {
782
782
  throw new NotFoundError(`No project found at or up from: \`${pathName}\``);
783
783
  }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const chalk = require('chalk');
3
+ const { default: chalk } = require('chalk');
4
4
  const logger = require('heimdalljs-logger')('ember-cli:watcher');
5
5
  const CoreObject = require('core-object');
6
6
  const serveURL = require('../utilities/get-serve-url');
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- const workerpool = require('workerpool');
3
+ const { worker } = require('workerpool');
4
4
  const gzipStats = require('./gzipStats');
5
5
 
6
6
  // create worker and register public functions
7
- workerpool.worker({
7
+ worker({
8
8
  gzipStats,
9
9
  });
@@ -14,7 +14,7 @@ class AddonInstallTask extends Task {
14
14
  }
15
15
 
16
16
  run(options) {
17
- const chalk = require('chalk');
17
+ const { default: chalk } = require('chalk');
18
18
  let ui = this.ui;
19
19
  let packageNames = options.packages || [];
20
20
  let blueprintOptions = options.blueprintOptions || {};
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- const chalk = require('chalk');
3
+ const { default: chalk } = require('chalk');
4
4
  const path = require('path');
5
5
  const Task = require('../models/task');
6
6
  const Watcher = require('../models/watcher');
7
7
  const Builder = require('../models/builder');
8
- const pDefer = require('p-defer');
8
+ const { default: pDefer } = require('p-defer');
9
9
 
10
10
  class BuildWatchTask extends Task {
11
11
  constructor(options) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const chalk = require('chalk');
3
+ const { default: chalk } = require('chalk');
4
4
  const Task = require('../models/task');
5
5
  const Builder = require('../models/builder');
6
6
 
@@ -4,12 +4,12 @@ const Task = require('../models/task');
4
4
  const path = require('path');
5
5
  const pkg = require('../../package.json');
6
6
  const fs = require('fs');
7
- const execa = require('../utilities/execa');
7
+ const { execa } = require('execa');
8
8
 
9
9
  module.exports = class GitInitTask extends Task {
10
10
  async run(_commandOptions) {
11
11
  let commandOptions = _commandOptions || {};
12
- const chalk = require('chalk');
12
+ const { default: chalk } = require('chalk');
13
13
  let ui = this.ui;
14
14
 
15
15
  if (commandOptions.skipGit) {
@@ -7,7 +7,7 @@ const util = require('util');
7
7
  const temp = require('temp');
8
8
  const path = require('path');
9
9
  const merge = require('lodash/merge');
10
- const execa = require('../utilities/execa');
10
+ const { execa } = require('execa');
11
11
  const SilentError = require('silent-error');
12
12
  const npa = require('npm-package-arg');
13
13
  const lintFix = require('../utilities/lint-fix');
@@ -27,7 +27,7 @@ class InteractiveNewTask extends Task {
27
27
  return [
28
28
  {
29
29
  name: 'blueprint',
30
- type: 'list',
30
+ type: 'select',
31
31
  message: 'Is this an app or an addon?',
32
32
  choices: [
33
33
  {
@@ -59,7 +59,7 @@ class InteractiveNewTask extends Task {
59
59
  },
60
60
  {
61
61
  name: 'langSelection',
62
- type: 'list',
62
+ type: 'select',
63
63
  message: ({ blueprint }) => `Please provide the spoken/content language of your ${blueprint}:`,
64
64
  when: !newCommandOptions.lang,
65
65
  choices: await this.getLangChoices(),
@@ -79,7 +79,7 @@ class InteractiveNewTask extends Task {
79
79
  },
80
80
  {
81
81
  name: 'packageManager',
82
- type: 'list',
82
+ type: 'select',
83
83
  message: 'Pick the package manager to use when installing dependencies:',
84
84
  when: !newCommandOptions.packageManager,
85
85
  choices: [
@@ -103,7 +103,7 @@ class InteractiveNewTask extends Task {
103
103
  },
104
104
  {
105
105
  name: 'ciProvider',
106
- type: 'list',
106
+ type: 'select',
107
107
  message: 'Which CI provider do you want to use?',
108
108
  when: !newCommandOptions.ciProvider,
109
109
  choices: [
@@ -165,7 +165,7 @@ class InteractiveNewTask extends Task {
165
165
  }
166
166
 
167
167
  getUserLocale() {
168
- const osLocale = require('os-locale');
168
+ const { osLocale } = require('os-locale');
169
169
 
170
170
  return osLocale();
171
171
  }
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- const chalk = require('chalk');
4
- const execa = require('../utilities/execa');
3
+ const { default: chalk } = require('chalk');
4
+ const { execa } = require('execa');
5
5
  const semver = require('semver');
6
6
  const SilentError = require('silent-error');
7
7
  const { isPnpmProject, isYarnProject } = require('../utilities/package-managers');
@@ -9,7 +9,7 @@ const ServerWatcher = require('../models/server-watcher');
9
9
  const Builder = require('../models/builder');
10
10
  const SilentError = require('silent-error');
11
11
  const serveURL = require('../utilities/get-serve-url');
12
- const pDefer = require('p-defer');
12
+ const { default: pDefer } = require('p-defer');
13
13
 
14
14
  function mockWatcher(distDir) {
15
15
  let watcher = Promise.resolve({ directory: distDir });
@@ -2,7 +2,7 @@
2
2
 
3
3
  const path = require('path');
4
4
  const EventEmitter = require('events').EventEmitter;
5
- const chalk = require('chalk');
5
+ const { default: chalk } = require('chalk');
6
6
  const fs = require('fs');
7
7
  const debounce = require('lodash/debounce');
8
8
  const mapSeries = require('promise-map-series');
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const TestTask = require('./test');
4
- const chalk = require('chalk');
4
+ const { default: chalk } = require('chalk');
5
5
  const SilentError = require('silent-error');
6
6
 
7
7
  class TestServerTask extends TestTask {
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
- const findUp = require('find-up');
2
+ const { findUpSync } = require('find-up');
3
3
  const path = require('path');
4
4
  const url = require('url');
5
5
 
@@ -7,7 +7,7 @@ module.exports = async function (dir) {
7
7
  let buildFilePath = null;
8
8
 
9
9
  for (let ext of ['js', 'mjs', 'cjs']) {
10
- let candidate = findUp.sync(`ember-cli-build.${ext}`, { cwd: dir });
10
+ let candidate = findUpSync(`ember-cli-build.${ext}`, { cwd: dir });
11
11
  if (candidate) {
12
12
  buildFilePath = candidate;
13
13
  break;
@@ -236,10 +236,10 @@ function getBodyMsg(langArg) {
236
236
  return isValidCodeAndProg(langArg)
237
237
  ? getValidAndProgMsg(langArg)
238
238
  : isProgLang(langArg)
239
- ? getProgLangMsg(langArg)
240
- : startsWithHyphen(langArg)
241
- ? getCliMsg(langArg)
242
- : getLangCodeMsg(langArg);
239
+ ? getProgLangMsg(langArg)
240
+ : startsWithHyphen(langArg)
241
+ ? getCliMsg(langArg)
242
+ : getLangCodeMsg(langArg);
243
243
  }
244
244
 
245
245
  function getFullMsg(langArg) {
@@ -1,10 +1,13 @@
1
1
  'use strict';
2
2
 
3
+ const { default: chalk } = require('chalk');
4
+
3
5
  module.exports = function progress(heimdalljs = require('heimdalljs')) {
4
6
  let current = heimdalljs.current;
5
7
  const stack = [current.id.name];
6
8
 
7
- while (current = current.parent) { // eslint-disable-line
9
+ while ((current = current.parent)) {
10
+ // eslint-disable-line
8
11
  stack.push(current.id.name);
9
12
  }
10
13
 
@@ -15,5 +18,5 @@ module.exports = function progress(heimdalljs = require('heimdalljs')) {
15
18
  };
16
19
 
17
20
  module.exports.format = function (text) {
18
- return require('chalk').green('building... ') + (text ? `[${text}]` : '');
21
+ return chalk.green('building... ') + (text ? `[${text}]` : '');
19
22
  };
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const execa = require('../utilities/execa');
3
+ const { execa } = require('execa');
4
4
  const { isPnpmProject, isYarnProject } = require('../utilities/package-managers');
5
5
  const prependEmoji = require('@ember-tooling/blueprint-model/utilities/prepend-emoji');
6
6
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  const fs = require('fs');
4
4
 
5
- const chalk = require('chalk');
5
+ const { default: chalk } = require('chalk');
6
6
  const SilentError = require('silent-error');
7
7
  const merge = require('lodash/merge');
8
8
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const chalk = require('chalk');
3
+ const { default: chalk } = require('chalk');
4
4
  const EOL = require('os').EOL;
5
5
 
6
6
  module.exports = function (initialMargin, shouldDescriptionBeGrey) {
@@ -13,18 +13,20 @@ const stringUtils = require('ember-cli-string-utils');
13
13
  // Hamster: Hamster // Same as require('./hamster.js')
14
14
  // }
15
15
 
16
- const globSync = require('glob').sync;
16
+ const { globSync } = require('glob');
17
17
  const path = require('path');
18
18
  const getCallerFile = require('get-caller-file');
19
19
 
20
20
  module.exports = requireAsHash;
21
21
  function requireAsHash(pattern, type) {
22
22
  let callerFileDir = path.dirname(getCallerFile());
23
- return globSync(pattern, { cwd: callerFileDir }).reduce((hash, file) => {
24
- const klass = require(`${callerFileDir}/${file}`);
25
- if (!type || klass.prototype instanceof type) {
26
- hash[stringUtils.classify(path.basename(file, '.js'))] = klass;
27
- }
28
- return hash;
29
- }, {});
23
+ return globSync(pattern, { cwd: callerFileDir })
24
+ .sort()
25
+ .reduce((hash, file) => {
26
+ const klass = require(`${callerFileDir}/${file}`);
27
+ if (!type || klass.prototype instanceof type) {
28
+ hash[stringUtils.classify(path.basename(file, '.js'))] = klass;
29
+ }
30
+ return hash;
31
+ }, {});
30
32
  }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const chalk = require('chalk');
3
+ const { default: chalk } = require('chalk');
4
4
 
5
5
  class WindowsSymlinkChecker {
6
6
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-cli",
3
- "version": "6.9.1",
3
+ "version": "6.10.0-beta.1",
4
4
  "description": "Command line tool for developing ambitious ember.js apps",
5
5
  "keywords": [
6
6
  "app",
@@ -26,12 +26,20 @@
26
26
  "bin": {
27
27
  "ember": "./bin/ember"
28
28
  },
29
+ "release-plan": {
30
+ "semverIncrementAs": {
31
+ "minor": "prerelease",
32
+ "patch": "prerelease"
33
+ },
34
+ "semverIncrementTag": "beta",
35
+ "publishTag": "beta"
36
+ },
29
37
  "dependencies": {
30
38
  "@ember-tooling/blueprint-blueprint": "^0.2.1",
31
- "@ember-tooling/blueprint-model": "^0.4.1",
32
- "@ember/app-blueprint": "~6.9.0",
33
- "@pnpm/find-workspace-dir": "^1000.1.0",
34
- "babel-remove-types": "^1.0.1",
39
+ "@ember-tooling/blueprint-model": "^0.5.0",
40
+ "@ember/app-blueprint": "~6.10.0-beta.1",
41
+ "@pnpm/find-workspace-dir": "^1000.1.3",
42
+ "babel-remove-types": "^1.0.2",
35
43
  "broccoli": "^4.0.0",
36
44
  "broccoli-concat": "^4.2.5",
37
45
  "broccoli-config-loader": "^1.0.1",
@@ -46,105 +54,105 @@
46
54
  "broccoli-stew": "^3.0.0",
47
55
  "calculate-cache-key-for-tree": "^2.0.0",
48
56
  "capture-exit": "^2.0.0",
49
- "chalk": "^4.1.2",
50
- "ci-info": "^4.0.0",
57
+ "chalk": "^5.6.2",
58
+ "ci-info": "^4.3.1",
51
59
  "clean-base-url": "^1.0.0",
52
- "compression": "^1.8.0",
53
- "configstore": "^5.0.1",
60
+ "compression": "^1.8.1",
61
+ "configstore": "^7.1.0",
54
62
  "console-ui": "^3.1.2",
55
- "content-tag": "^3.1.2",
63
+ "content-tag": "^4.0.0",
56
64
  "core-object": "^3.1.5",
57
65
  "dag-map": "^2.0.2",
58
- "diff": "^7.0.0",
66
+ "diff": "^8.0.2",
59
67
  "ember-cli-is-package-missing": "^1.0.0",
60
68
  "ember-cli-normalize-entity-name": "^1.0.0",
61
69
  "ember-cli-preprocess-registry": "^5.0.1",
62
70
  "ember-cli-string-utils": "^1.1.0",
63
71
  "ensure-posix-path": "^1.1.1",
64
- "execa": "^5.1.1",
72
+ "execa": "^9.6.1",
65
73
  "exit": "^0.1.2",
66
- "express": "^4.21.1",
67
- "filesize": "^10.0.8",
68
- "find-up": "^5.0.0",
74
+ "express": "^5.2.1",
75
+ "filesize": "^11.0.13",
76
+ "find-up": "^8.0.0",
69
77
  "find-yarn-workspace-root": "^2.0.0",
70
78
  "fixturify-project": "^2.1.1",
71
- "fs-extra": "^11.3.0",
79
+ "fs-extra": "^11.3.3",
72
80
  "fs-tree-diff": "^2.0.1",
73
81
  "get-caller-file": "^2.0.5",
74
82
  "git-repo-info": "^2.1.1",
75
- "glob": "^8.1.0",
83
+ "glob": "^13.0.0",
76
84
  "heimdalljs": "^0.2.6",
77
85
  "heimdalljs-fs-monitor": "^1.1.2",
78
86
  "heimdalljs-graph": "^1.0.0",
79
87
  "heimdalljs-logger": "^0.1.10",
80
88
  "http-proxy": "^1.18.1",
81
- "inflection": "^2.0.1",
82
- "inquirer": "^9.1.5",
89
+ "inflection": "^3.0.2",
90
+ "inquirer": "^13.1.0",
83
91
  "is-git-url": "^1.0.0",
84
- "is-language-code": "^3.1.0",
85
- "isbinaryfile": "^5.0.4",
92
+ "is-language-code": "^5.1.0",
93
+ "isbinaryfile": "^6.0.0",
86
94
  "lodash": "^4.17.21",
87
95
  "markdown-it": "^14.1.0",
88
96
  "markdown-it-terminal": "^0.4.0",
89
- "minimatch": "^7.4.3",
90
- "morgan": "^1.10.0",
97
+ "minimatch": "^10.1.1",
98
+ "morgan": "^1.10.1",
91
99
  "nopt": "^3.0.6",
92
- "npm-package-arg": "^12.0.2",
93
- "os-locale": "^5.0.0",
94
- "p-defer": "^3.0.0",
100
+ "npm-package-arg": "^13.0.2",
101
+ "os-locale": "^6.0.2",
102
+ "p-defer": "^4.0.1",
95
103
  "portfinder": "^1.0.32",
96
104
  "promise-map-series": "^0.3.0",
97
105
  "promise.hash.helper": "^1.0.8",
98
- "quick-temp": "^0.1.8",
99
- "resolve": "^1.22.10",
106
+ "quick-temp": "^0.1.9",
107
+ "resolve": "^1.22.11",
100
108
  "resolve-package-path": "^4.0.3",
101
109
  "safe-stable-stringify": "^2.4.3",
102
110
  "sane": "^5.0.1",
103
- "semver": "^7.7.1",
111
+ "semver": "^7.7.3",
104
112
  "silent-error": "^1.1.1",
105
- "sort-package-json": "^2.12.0",
113
+ "sort-package-json": "^3.6.0",
106
114
  "symlink-or-copy": "^1.3.1",
107
115
  "temp": "0.9.4",
108
- "testem": "^3.15.2",
116
+ "testem": "^3.17.0",
109
117
  "tiny-lr": "^2.0.0",
110
118
  "tree-sync": "^2.1.0",
111
- "walk-sync": "^3.0.0",
119
+ "walk-sync": "^4.0.1",
112
120
  "watch-detector": "^1.0.2",
113
- "workerpool": "^9.2.0",
121
+ "workerpool": "^10.0.1",
114
122
  "yam": "^1.0.0",
115
- "@ember-tooling/classic-build-addon-blueprint": "6.9.0",
116
- "@ember-tooling/classic-build-app-blueprint": "6.9.0"
123
+ "@ember-tooling/classic-build-addon-blueprint": "6.10.0-beta.1",
124
+ "@ember-tooling/classic-build-app-blueprint": "6.10.0-beta.1"
117
125
  },
118
126
  "devDependencies": {
119
127
  "broccoli-plugin": "^4.0.3",
120
128
  "broccoli-test-helper": "^2.0.0",
121
- "chai": "^4.3.7",
122
- "chai-as-promised": "^7.1.1",
129
+ "chai": "^6.2.1",
130
+ "chai-as-promised": "^8.0.2",
123
131
  "chai-files": "^1.4.0",
124
132
  "chai-jest-snapshot": "^2.0.0",
133
+ "concurrently": "^9.2.1",
125
134
  "ember-cli-blueprint-test-helpers": "^0.19.2",
126
135
  "ember-cli-internal-test-helpers": "^0.9.1",
127
136
  "eslint": "^8.44.0",
128
- "eslint-config-prettier": "^8.9.0",
137
+ "eslint-config-prettier": "^10.1.8",
129
138
  "eslint-plugin-chai-expect": "^3.0.0",
130
139
  "eslint-plugin-mocha": "^10.5.0",
131
- "eslint-plugin-n": "^16.0.1",
132
- "eslint-plugin-prettier": "^4.2.1",
140
+ "eslint-plugin-n": "^17.23.1",
133
141
  "fixturify": "^3.0.0",
134
142
  "jsdom": "^21.1.1",
135
- "latest-version": "^5.1.0",
136
- "mocha": "^11.1.0",
137
- "nock": "^13.5.5",
138
- "nyc": "^15.1.0",
139
- "prettier": "2.8.7",
143
+ "latest-version": "^9.0.0",
144
+ "mocha": "^11.7.5",
145
+ "nock": "^14.0.10",
146
+ "nyc": "^17.1.0",
147
+ "prettier": "3.7.4",
140
148
  "release-plan": "^0.17.2",
141
- "strip-ansi": "^6.0.0",
142
- "supertest": "^7.1.0",
149
+ "strip-ansi": "^7.1.2",
150
+ "supertest": "^7.1.4",
143
151
  "testdouble": "^3.18.0",
144
- "tmp": "^0.2.1",
152
+ "tmp": "^0.2.5",
145
153
  "tmp-promise": "^3.0.3",
146
154
  "websocket": "^1.0.32",
147
- "which": "3.0.1",
155
+ "which": "6.0.0",
148
156
  "yuidoc-ember-cli-theme": "^1.0.4",
149
157
  "yuidocjs": "0.10.2"
150
158
  },
@@ -160,7 +168,12 @@
160
168
  },
161
169
  "scripts": {
162
170
  "docs": "yuidoc",
163
- "lint": "eslint . --cache",
171
+ "format": "prettier . --cache --write",
172
+ "lint": "concurrently \"pnpm:lint:*(!fix)\" --group --names \"lint:\" --prefixColors auto --timings",
173
+ "lint:fix": "concurrently \"pnpm:lint:*:fix\" --group --names \"fix:\" --prefixColors auto --timings && pnpm format",
174
+ "lint:format": "prettier . --cache --check",
175
+ "lint:js": "eslint . --cache",
176
+ "lint:js:fix": "eslint . --fix",
164
177
  "mocha": "pnpm exec mocha --require ./tests/bootstrap.js tests/**/*-test.js",
165
178
  "test": "node --unhandled-rejections=strict tests/runner",
166
179
  "test:all": "node --unhandled-rejections=strict tests/runner all",
@@ -1,7 +1,5 @@
1
1
  {
2
- "keywords": [
3
- "ember-addon"
4
- ],
2
+ "keywords": ["ember-addon"],
5
3
  "scripts": {
6
4
  "test:ember-compatibility": "ember try:each"
7
5
  },
@@ -3,7 +3,7 @@
3
3
  const fs = require('fs-extra');
4
4
  const path = require('path');
5
5
  const walkSync = require('walk-sync');
6
- const chalk = require('chalk');
6
+ const { default: chalk } = require('chalk');
7
7
  const stringUtil = require('ember-cli-string-utils');
8
8
  const merge = require('lodash/merge');
9
9
  const uniq = require('lodash/uniq');