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.
- package/CHANGELOG.md +44 -0
- package/CONTRIBUTING.md +30 -34
- package/README.md +9 -21
- package/RELEASE.md +12 -10
- package/bin/ember +16 -13
- package/blueprints/addon-import/index.js +4 -4
- package/docs/build/data.json +9 -9
- package/lib/broccoli/ember-app.js +1 -1
- package/lib/commands/generate.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/new.js +1 -1
- package/lib/commands/test.js +0 -3
- package/lib/commands/unknown.js +1 -1
- package/lib/debug/deprecate.js +1 -1
- package/lib/models/asset-size-printer.js +3 -3
- package/lib/models/blueprint.js +6 -6
- package/lib/models/builder.js +1 -1
- package/lib/models/command.js +1 -1
- package/lib/models/hardware-info.js +5 -2
- package/lib/models/instrumentation.js +2 -2
- package/lib/models/project.js +3 -3
- package/lib/models/watcher.js +1 -1
- package/lib/models/worker.js +2 -2
- package/lib/tasks/addon-install.js +1 -1
- package/lib/tasks/build-watch.js +2 -2
- package/lib/tasks/build.js +1 -1
- package/lib/tasks/git-init.js +2 -2
- package/lib/tasks/install-blueprint.js +1 -1
- package/lib/tasks/interactive-new.js +5 -5
- package/lib/tasks/npm-task.js +2 -2
- package/lib/tasks/serve.js +1 -1
- package/lib/tasks/server/express-server.js +1 -1
- package/lib/tasks/test-server.js +1 -1
- package/lib/utilities/find-build-file.js +2 -2
- package/lib/utilities/get-lang-arg.js +4 -4
- package/lib/utilities/heimdall-progress.js +5 -2
- package/lib/utilities/lint-fix.js +1 -1
- package/lib/utilities/markdown-color.js +1 -1
- package/lib/utilities/print-command.js +1 -1
- package/lib/utilities/require-as-hash.js +10 -8
- package/lib/utilities/windows-admin.js +1 -1
- package/package.json +63 -50
- package/packages/addon-blueprint/additional-package.json +1 -3
- package/packages/addon-blueprint/index.js +1 -1
- package/packages/addon-blueprint/package.json +11 -3
- package/packages/app-blueprint/files/package.json +10 -10
- package/packages/app-blueprint/index.js +1 -1
- package/packages/app-blueprint/package.json +11 -3
- package/tests/helpers/acceptance.js +50 -0
- package/tests/helpers/command-generator.js +2 -2
- package/tests/helpers/package-cache.js +1 -1
- package/tests/helpers/process-help-string.js +3 -3
- package/tests/helpers/run-command.js +1 -1
- package/lib/utilities/execa.js +0 -20
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ember-tooling/classic-build-addon-blueprint",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.10.0-beta.1",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/ember-cli/ember-cli.git",
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"ember-blueprint"
|
|
12
12
|
],
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@ember-tooling/blueprint-model": "^0.
|
|
15
|
-
"chalk": "^
|
|
14
|
+
"@ember-tooling/blueprint-model": "^0.5.0",
|
|
15
|
+
"chalk": "^5.6.2",
|
|
16
16
|
"ember-cli-normalize-entity-name": "^1.0.0",
|
|
17
17
|
"ember-cli-string-utils": "^1.1.0",
|
|
18
18
|
"fs-extra": "^11.3.0",
|
|
@@ -20,5 +20,13 @@
|
|
|
20
20
|
"silent-error": "^1.1.1",
|
|
21
21
|
"sort-package-json": "^2.12.0",
|
|
22
22
|
"walk-sync": "^3.0.0"
|
|
23
|
+
},
|
|
24
|
+
"release-plan": {
|
|
25
|
+
"semverIncrementAs": {
|
|
26
|
+
"minor": "prerelease",
|
|
27
|
+
"patch": "prerelease"
|
|
28
|
+
},
|
|
29
|
+
"semverIncrementTag": "beta",
|
|
30
|
+
"publishTag": "beta"
|
|
23
31
|
}
|
|
24
32
|
}
|
|
@@ -45,9 +45,9 @@
|
|
|
45
45
|
"@ember/test-helpers": "^5.4.1<% if (embroider) { %>",
|
|
46
46
|
"@embroider/compat": "^3.9.3",
|
|
47
47
|
"@embroider/core": "^3.5.9<% } %>",
|
|
48
|
-
"@embroider/macros": "^1.19.
|
|
48
|
+
"@embroider/macros": "^1.19.6<% if (embroider) { %>",
|
|
49
49
|
"@embroider/webpack": "^4.1.2<% } %>",
|
|
50
|
-
"@eslint/js": "^9.39.
|
|
50
|
+
"@eslint/js": "^9.39.2",
|
|
51
51
|
"@glimmer/component": "^2.0.0",
|
|
52
52
|
"@glimmer/tracking": "^1.1.2<% if (typescript) { %>",
|
|
53
53
|
"@glint/environment-ember-loose": "^1.5.2",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"broccoli-asset-rev": "^3.0.0",
|
|
61
61
|
"concurrently": "^9.2.1",
|
|
62
62
|
"ember-auto-import": "^2.12.0",
|
|
63
|
-
"ember-cli": "~6.
|
|
63
|
+
"ember-cli": "~6.10.0-beta.1",
|
|
64
64
|
"ember-cli-app-version": "^7.0.0",
|
|
65
65
|
"ember-cli-babel": "^8.2.0",
|
|
66
66
|
"ember-cli-clean-css": "^3.0.0",
|
|
@@ -76,11 +76,11 @@
|
|
|
76
76
|
"ember-page-title": "^9.0.3",
|
|
77
77
|
"ember-qunit": "^9.0.4",
|
|
78
78
|
"ember-resolver": "^13.1.1",
|
|
79
|
-
"ember-source": "~6.
|
|
80
|
-
"ember-template-imports": "^4.
|
|
79
|
+
"ember-source": "~6.10.0-beta.1",
|
|
80
|
+
"ember-template-imports": "^4.4.0",
|
|
81
81
|
"ember-template-lint": "^6.1.0<% if (welcome) { %>",
|
|
82
82
|
"ember-welcome-page": "^7.0.2<% } %>",
|
|
83
|
-
"eslint": "^9.39.
|
|
83
|
+
"eslint": "^9.39.2",
|
|
84
84
|
"eslint-config-prettier": "^9.1.2",
|
|
85
85
|
"eslint-plugin-ember": "^12.7.5",
|
|
86
86
|
"eslint-plugin-n": "^17.23.1",
|
|
@@ -89,17 +89,17 @@
|
|
|
89
89
|
"loader.js": "^4.7.0",
|
|
90
90
|
"prettier": "^3.7.4",
|
|
91
91
|
"prettier-plugin-ember-template-tag": "^2.1.2",
|
|
92
|
-
"qunit": "^2.
|
|
92
|
+
"qunit": "^2.25.0",
|
|
93
93
|
"qunit-dom": "^3.5.0",
|
|
94
94
|
"stylelint": "^16.26.1",
|
|
95
95
|
"stylelint-config-standard": "^36.0.1",
|
|
96
96
|
"tracked-built-ins": "^3.4.0<% if (typescript) { %>",
|
|
97
97
|
"typescript": "^5.9.3",
|
|
98
|
-
"typescript-eslint": "^8.
|
|
99
|
-
"webpack": "^5.
|
|
98
|
+
"typescript-eslint": "^8.52.0<% } %>",
|
|
99
|
+
"webpack": "^5.104.1"
|
|
100
100
|
},
|
|
101
101
|
"engines": {
|
|
102
|
-
"node": ">= 20.
|
|
102
|
+
"node": ">= 20.19"
|
|
103
103
|
},
|
|
104
104
|
"ember": {
|
|
105
105
|
"edition": "octane"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const stringUtil = require('ember-cli-string-utils');
|
|
4
|
-
const chalk = require('chalk');
|
|
4
|
+
const { default: chalk } = require('chalk');
|
|
5
5
|
const { isExperimentEnabled } = require('@ember-tooling/blueprint-model/utilities/experiments');
|
|
6
6
|
const directoryForPackageName = require('@ember-tooling/blueprint-model/utilities/directory-for-package-name');
|
|
7
7
|
const blueprintVersion = require('./package.json').version;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ember-tooling/classic-build-app-blueprint",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.10.0-beta.1",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/ember-cli/ember-cli.git",
|
|
@@ -11,8 +11,16 @@
|
|
|
11
11
|
"ember-blueprint"
|
|
12
12
|
],
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@ember-tooling/blueprint-model": "^0.
|
|
15
|
-
"chalk": "^
|
|
14
|
+
"@ember-tooling/blueprint-model": "^0.5.0",
|
|
15
|
+
"chalk": "^5.6.2",
|
|
16
16
|
"ember-cli-string-utils": "^1.1.0"
|
|
17
|
+
},
|
|
18
|
+
"release-plan": {
|
|
19
|
+
"semverIncrementAs": {
|
|
20
|
+
"minor": "prerelease",
|
|
21
|
+
"patch": "prerelease"
|
|
22
|
+
},
|
|
23
|
+
"semverIncrementTag": "beta",
|
|
24
|
+
"publishTag": "beta"
|
|
17
25
|
}
|
|
18
26
|
}
|
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
const symlinkOrCopySync = require('symlink-or-copy').sync;
|
|
4
4
|
const path = require('path');
|
|
5
5
|
const fs = require('fs-extra');
|
|
6
|
+
// eslint-disable-next-line n/no-unpublished-require
|
|
7
|
+
const tmp = require('tmp-promise');
|
|
8
|
+
const { execa } = require('execa');
|
|
9
|
+
|
|
6
10
|
const runCommand = require('./run-command');
|
|
7
11
|
const hasGlobalYarn = require('../helpers/has-global-yarn');
|
|
8
12
|
|
|
@@ -59,6 +63,13 @@ function applyCommand(command, name /*, ...flags*/) {
|
|
|
59
63
|
* @return {Promise} The result of the running the command
|
|
60
64
|
*/
|
|
61
65
|
function createTestTargets(projectName, options) {
|
|
66
|
+
console.warn(`**********************************************
|
|
67
|
+
** DO NOT USE createTestTargets ANY MORE! **
|
|
68
|
+
**********************************************
|
|
69
|
+
|
|
70
|
+
Use createAndInstallTestTargets() which doesn't use a complicated packageCache system
|
|
71
|
+
and relies on the pnpm store for caching instead.`);
|
|
72
|
+
|
|
62
73
|
let outputDir = quickTemp.makeOrReuse(dirs, projectName);
|
|
63
74
|
|
|
64
75
|
options = options || {};
|
|
@@ -115,7 +126,46 @@ function cleanupRun(projectName) {
|
|
|
115
126
|
quickTemp.remove(dirs, `${projectName}-clone`);
|
|
116
127
|
}
|
|
117
128
|
|
|
129
|
+
/**
|
|
130
|
+
*
|
|
131
|
+
* @param {string} projectName
|
|
132
|
+
* @param {string} options.command defaults to new
|
|
133
|
+
* @returns {Promise<{ result: string, path: string, cleanup: () => void }>} an object containing command result, path, and a cleanup function;
|
|
134
|
+
*/
|
|
135
|
+
async function createAndInstallTestTargets(projectName, options) {
|
|
136
|
+
let outputDir = await tmp.dir({ unsafeCleanup: true });
|
|
137
|
+
|
|
138
|
+
let command = options?.command ?? 'new';
|
|
139
|
+
|
|
140
|
+
let result = await applyCommand(command, projectName, '--skip-npm', `--directory=${outputDir.path}`);
|
|
141
|
+
|
|
142
|
+
await execa('pnpm', ['install', '--prefer-offline'], {
|
|
143
|
+
preferLocal: true,
|
|
144
|
+
cwd: outputDir.path,
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
for (let pkg of [
|
|
148
|
+
'.',
|
|
149
|
+
'packages/blueprint-model',
|
|
150
|
+
'packages/blueprint-blueprint',
|
|
151
|
+
'packages/app-blueprint',
|
|
152
|
+
'packages/addon-blueprint',
|
|
153
|
+
]) {
|
|
154
|
+
await execa('pnpm', ['link', path.join(__dirname, `../../${pkg}`)], {
|
|
155
|
+
preferLocal: true,
|
|
156
|
+
cwd: outputDir.path,
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
return {
|
|
161
|
+
result,
|
|
162
|
+
cleanup: outputDir.cleanup,
|
|
163
|
+
path: outputDir.path,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
|
|
118
167
|
module.exports = {
|
|
168
|
+
createAndInstallTestTargets,
|
|
119
169
|
createTestTargets,
|
|
120
170
|
linkDependencies,
|
|
121
171
|
teardownTestTargets,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const { execaSync } = require('execa');
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* A simple tool to make behavior and API consistent between commands
|
|
@@ -45,6 +45,6 @@ module.exports = class CommandGenerator {
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
_invoke(args, options) {
|
|
48
|
-
return
|
|
48
|
+
return execaSync(this.program, args, options);
|
|
49
49
|
}
|
|
50
50
|
};
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
const fs = require('fs-extra');
|
|
4
4
|
const path = require('path');
|
|
5
5
|
const quickTemp = require('quick-temp');
|
|
6
|
-
const Configstore = require('configstore');
|
|
6
|
+
const { default: Configstore } = require('configstore');
|
|
7
7
|
const CommandGenerator = require('./command-generator');
|
|
8
8
|
const stableStringify = require('safe-stable-stringify');
|
|
9
9
|
const symlinkOrCopySync = require('symlink-or-copy').sync;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const { supportsColor } = require('chalk');
|
|
4
4
|
// eslint-disable-next-line n/no-unpublished-require
|
|
5
|
-
const stripAnsi = require('strip-ansi');
|
|
5
|
+
const { default: stripAnsi } = require('strip-ansi');
|
|
6
6
|
|
|
7
7
|
module.exports = function (helpString) {
|
|
8
8
|
// currently windows
|
|
9
|
-
if (
|
|
9
|
+
if (supportsColor) {
|
|
10
10
|
return helpString;
|
|
11
11
|
}
|
|
12
12
|
return stripAnsi(helpString);
|
package/lib/utilities/execa.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const execa = require('execa');
|
|
4
|
-
const logger = require('heimdalljs-logger')('ember-cli:execa');
|
|
5
|
-
|
|
6
|
-
async function _execa(cmd, args, opts) {
|
|
7
|
-
logger.info('execa(%j, %j)', cmd, args);
|
|
8
|
-
let result = await execa(cmd, args, opts);
|
|
9
|
-
logger.info('execa(%j, %j) -> code: %d', cmd, args, result.code);
|
|
10
|
-
return result;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
_execa.sync = function (cmd, args, opts) {
|
|
14
|
-
logger.info('execa.sync(%j, %j)', cmd, args);
|
|
15
|
-
let result = execa.sync(cmd, args, opts);
|
|
16
|
-
logger.info('execa.sync(%j, %j) -> code: %d', cmd, args, result.code);
|
|
17
|
-
return result;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
module.exports = _execa;
|