ember-cli 4.0.0-beta.4 → 4.1.0
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/.github/workflows/ci.yml +4 -4
- package/CHANGELOG.md +28 -17
- package/bin/ember +0 -0
- package/blueprints/addon/additional-dev-dependencies.json +1 -1
- package/blueprints/addon/files/.github/workflows/ci.yml +5 -1
- package/blueprints/addon/files/.travis.yml +1 -1
- package/blueprints/addon/files/README.md +2 -2
- package/blueprints/addon/files/addon-config/ember-try.js +4 -4
- package/blueprints/app/files/.github/workflows/ci.yml +4 -0
- package/blueprints/app/files/package.json +8 -8
- package/blueprints/in-repo-addon/files/__root__/__name__/index.js +0 -0
- package/blueprints/in-repo-addon/index.js +0 -0
- package/blueprints/lib/index.js +0 -0
- package/docs/build/data.json +413 -413
- package/lib/models/host-info-cache.js +3 -5
- package/lib/models/per-bundle-addon-cache/index.js +2 -3
- package/lib/tasks/npm-task.js +1 -1
- package/lib/utilities/get-lang-arg.js +45 -45
- package/package.json +25 -25
- package/.github/ISSUE_TEMPLATE.md +0 -12
- package/.github/dependabot.yml +0 -15
- package/.github/workflows/coverage.yml +0 -31
- package/docs/analytics.md +0 -44
- package/docs/architecture.md +0 -316
- package/docs/assets/architecture/Ember-CLI architecture.png +0 -0
- package/docs/assets/architecture/Ember-CLI architecture.xml +0 -1
- package/docs/assets/architecture/README.md +0 -5
- package/docs/brocfile-transition.md +0 -46
- package/docs/build/api.js +0 -44
- package/docs/build/assets/css/external-small.png +0 -0
- package/docs/build/assets/css/logo.png +0 -0
- package/docs/build/assets/css/main.css +0 -555
- package/docs/build/assets/favicon.ico +0 -0
- package/docs/build/assets/img/spinner.gif +0 -0
- package/docs/build/assets/index.html +0 -10
- package/docs/build/assets/js/api-filter.js +0 -56
- package/docs/build/assets/js/api-list.js +0 -255
- package/docs/build/assets/js/api-search.js +0 -98
- package/docs/build/assets/js/apidocs.js +0 -376
- package/docs/build/assets/js/yui-prettify.js +0 -17
- package/docs/build/assets/vendor/prettify/CHANGES.html +0 -130
- package/docs/build/assets/vendor/prettify/COPYING +0 -202
- package/docs/build/assets/vendor/prettify/README.html +0 -203
- package/docs/build/assets/vendor/prettify/prettify-min.css +0 -1
- package/docs/build/assets/vendor/prettify/prettify-min.js +0 -1
- package/docs/build/classes/Addon.html +0 -4318
- package/docs/build/classes/AmdTransformAddon.html +0 -202
- package/docs/build/classes/Blueprint.html +0 -4796
- package/docs/build/classes/Builder.html +0 -611
- package/docs/build/classes/CLI.html +0 -810
- package/docs/build/classes/Command.html +0 -1655
- package/docs/build/classes/DefaultPackager.html +0 -202
- package/docs/build/classes/EmberAddon.html +0 -2207
- package/docs/build/classes/EmberApp.html +0 -2225
- package/docs/build/classes/HardwareInfo.html +0 -620
- package/docs/build/classes/HistorySupportAddon.html +0 -203
- package/docs/build/classes/Instrumentation.html +0 -695
- package/docs/build/classes/NodeModulesList.html +0 -460
- package/docs/build/classes/NpmTask.html +0 -333
- package/docs/build/classes/PackageInfo.html +0 -1390
- package/docs/build/classes/PackageInfoCache.html +0 -963
- package/docs/build/classes/PerBundleAddonCache {.html +0 -1010
- package/docs/build/classes/Project.html +0 -2083
- package/docs/build/classes/ServeFilesAddon.html +0 -260
- package/docs/build/classes/TestsServerAddon.html +0 -203
- package/docs/build/classes/WatcherAddon.html +0 -204
- package/docs/build/classes/WindowsSymlinkChecker.html +0 -1505
- package/docs/build/files/lib_broccoli_default-packager.js.html +0 -1426
- package/docs/build/files/lib_broccoli_ember-addon.js.html +0 -159
- package/docs/build/files/lib_broccoli_ember-app.js.html +0 -1913
- package/docs/build/files/lib_cli_cli.js.html +0 -417
- package/docs/build/files/lib_models_addon-info.js.html +0 -112
- package/docs/build/files/lib_models_addon.js.html +0 -1866
- package/docs/build/files/lib_models_blueprint.js.html +0 -1678
- package/docs/build/files/lib_models_builder.js.html +0 -417
- package/docs/build/files/lib_models_command.js.html +0 -804
- package/docs/build/files/lib_models_hardware-info.js.html +0 -479
- package/docs/build/files/lib_models_host-info-cache.js.html +0 -428
- package/docs/build/files/lib_models_installation-checker.js.html +0 -181
- package/docs/build/files/lib_models_instantiate-addons.js.html +0 -191
- package/docs/build/files/lib_models_instrumentation.js.html +0 -433
- package/docs/build/files/lib_models_package-info-cache_index.js.html +0 -793
- package/docs/build/files/lib_models_package-info-cache_node-modules-list.js.html +0 -208
- package/docs/build/files/lib_models_package-info-cache_package-info.js.html +0 -661
- package/docs/build/files/lib_models_per-bundle-addon-cache_addon-proxy.js.html +0 -252
- package/docs/build/files/lib_models_per-bundle-addon-cache_index.js.html +0 -485
- package/docs/build/files/lib_models_per-bundle-addon-cache_target-instance.js.html +0 -108
- package/docs/build/files/lib_models_project.js.html +0 -913
- package/docs/build/files/lib_models_task.js.html +0 -117
- package/docs/build/files/lib_tasks_build-watch.js.html +0 -157
- package/docs/build/files/lib_tasks_npm-task.js.html +0 -463
- package/docs/build/files/lib_tasks_serve.js.html +0 -207
- package/docs/build/files/lib_tasks_server_middleware_broccoli-serve-files_index.js.html +0 -127
- package/docs/build/files/lib_tasks_server_middleware_broccoli-watcher_index.js.html +0 -158
- package/docs/build/files/lib_tasks_server_middleware_history-support_index.js.html +0 -181
- package/docs/build/files/lib_tasks_server_middleware_tests-server_index.js.html +0 -171
- package/docs/build/files/lib_tasks_test-server.js.html +0 -167
- package/docs/build/files/lib_tasks_transforms_amd_index.js.html +0 -143
- package/docs/build/files/lib_utilities_ember-app-utils.js.html +0 -292
- package/docs/build/files/lib_utilities_insert-into-file.js.html +0 -219
- package/docs/build/files/lib_utilities_is-lazy-engine.js.html +0 -125
- package/docs/build/files/lib_utilities_is-yarn-project.js.html +0 -120
- package/docs/build/files/lib_utilities_valid-project-name.js.html +0 -142
- package/docs/build/files/lib_utilities_will-interrupt-process.js.html +0 -290
- package/docs/build/files/lib_utilities_windows-admin.js.html +0 -230
- package/docs/build/index.html +0 -125
- package/docs/build/modules/ember-cli.html +0 -152
- package/docs/build/modules/is-lazy-engine.html +0 -106
- package/docs/build-concurrency.md +0 -15
- package/docs/build-pipeline-debugging.md +0 -33
- package/docs/code-coverage.md +0 -14
- package/docs/error-propagation.md +0 -136
- package/docs/experiments.md +0 -53
- package/docs/node-support.md +0 -43
- package/docs/perf-guide.md +0 -250
- package/docs/project_version_preprocessor.js +0 -8
- package/docs/sourcemaps.md +0 -60
- package/docs/yuidoc.json +0 -13
|
@@ -1,417 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<title>lib/cli/cli.js - ember-cli</title>
|
|
6
|
-
<link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
|
|
7
|
-
<link rel="stylesheet" href="../assets/css/main.css" id="site_styles">
|
|
8
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/yui/3.18.0/yui/yui-min.js"></script>
|
|
9
|
-
</head>
|
|
10
|
-
<body class="yui3-skin-sam">
|
|
11
|
-
|
|
12
|
-
<div id="doc">
|
|
13
|
-
<div class="yui3-g">
|
|
14
|
-
<div id="sidebar" class="yui3-u">
|
|
15
|
-
<div class="logo">
|
|
16
|
-
<a href="../index.html">
|
|
17
|
-
<img src="https://ember-cli.com/assets/images/ember-cli-logo-small-dark.png">
|
|
18
|
-
</a>
|
|
19
|
-
</div>
|
|
20
|
-
|
|
21
|
-
<div id="modules" class="sidebox">
|
|
22
|
-
<div class="hd">
|
|
23
|
-
<h2 class="no-toc">Modules</h2>
|
|
24
|
-
</div>
|
|
25
|
-
<div class="bd">
|
|
26
|
-
<ul>
|
|
27
|
-
<li><a href="../modules/ember-cli.html">ember-cli</a>
|
|
28
|
-
</li>
|
|
29
|
-
<li><a href="../modules/is-lazy-engine.html">is-lazy-engine</a>
|
|
30
|
-
</li>
|
|
31
|
-
</ul>
|
|
32
|
-
</div>
|
|
33
|
-
</div>
|
|
34
|
-
|
|
35
|
-
<div id="classes" class="sidebox">
|
|
36
|
-
<div class="hd">
|
|
37
|
-
<h2 class="no-toc">Classes</h2>
|
|
38
|
-
</div>
|
|
39
|
-
<div class="bd">
|
|
40
|
-
<ul>
|
|
41
|
-
<li><a href="../classes/Addon.html">Addon</a></li>
|
|
42
|
-
<li><a href="../classes/AmdTransformAddon.html">AmdTransformAddon</a></li>
|
|
43
|
-
<li><a href="../classes/Blueprint.html">Blueprint</a></li>
|
|
44
|
-
<li><a href="../classes/Builder.html">Builder</a></li>
|
|
45
|
-
<li><a href="../classes/CLI.html">CLI</a></li>
|
|
46
|
-
<li><a href="../classes/Command.html">Command</a></li>
|
|
47
|
-
<li><a href="../classes/DefaultPackager.html">DefaultPackager</a></li>
|
|
48
|
-
<li><a href="../classes/EmberAddon.html">EmberAddon</a></li>
|
|
49
|
-
<li><a href="../classes/EmberApp.html">EmberApp</a></li>
|
|
50
|
-
<li><a href="../classes/HardwareInfo.html">HardwareInfo</a></li>
|
|
51
|
-
<li><a href="../classes/HistorySupportAddon.html">HistorySupportAddon</a></li>
|
|
52
|
-
<li><a href="../classes/Instrumentation.html">Instrumentation</a></li>
|
|
53
|
-
<li><a href="../classes/NodeModulesList.html">NodeModulesList</a></li>
|
|
54
|
-
<li><a href="../classes/NpmTask.html">NpmTask</a></li>
|
|
55
|
-
<li><a href="../classes/PackageInfo.html">PackageInfo</a></li>
|
|
56
|
-
<li><a href="../classes/PackageInfoCache.html">PackageInfoCache</a></li>
|
|
57
|
-
<li><a href="../classes/PerBundleAddonCache {.html">PerBundleAddonCache {</a></li>
|
|
58
|
-
<li><a href="../classes/Project.html">Project</a></li>
|
|
59
|
-
<li><a href="../classes/ServeFilesAddon.html">ServeFilesAddon</a></li>
|
|
60
|
-
<li><a href="../classes/TestsServerAddon.html">TestsServerAddon</a></li>
|
|
61
|
-
<li><a href="../classes/WatcherAddon.html">WatcherAddon</a></li>
|
|
62
|
-
<li><a href="../classes/WindowsSymlinkChecker.html">WindowsSymlinkChecker</a></li>
|
|
63
|
-
</ul>
|
|
64
|
-
</div>
|
|
65
|
-
</div>
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
<div class="version-info">
|
|
72
|
-
Version: 4.0.0-beta.4-beta-724190cca6
|
|
73
|
-
</div>
|
|
74
|
-
|
|
75
|
-
</div>
|
|
76
|
-
|
|
77
|
-
<div id="main" class="yui3-u">
|
|
78
|
-
<div class="content"><div class="title">
|
|
79
|
-
<h1 class="file-name">lib/cli/cli.js</h1>
|
|
80
|
-
</div>
|
|
81
|
-
|
|
82
|
-
<pre class="code prettyprint linenums">
|
|
83
|
-
'use strict';
|
|
84
|
-
|
|
85
|
-
const lookupCommand = require('./lookup-command');
|
|
86
|
-
const getOptionArgs = require('../utilities/get-option-args');
|
|
87
|
-
const hash = require('promise.hash.helper');
|
|
88
|
-
const logger = require('heimdalljs-logger')('ember-cli:cli');
|
|
89
|
-
const loggerTesting = require('heimdalljs-logger')('ember-cli:testing');
|
|
90
|
-
const Instrumentation = require('../models/instrumentation');
|
|
91
|
-
const PackageInfoCache = require('../models/package-info-cache');
|
|
92
|
-
const heimdall = require('heimdalljs');
|
|
93
|
-
|
|
94
|
-
const onProcessInterrupt = require('../utilities/will-interrupt-process');
|
|
95
|
-
|
|
96
|
-
class CLI {
|
|
97
|
-
/**
|
|
98
|
-
* @private
|
|
99
|
-
* @class CLI
|
|
100
|
-
* @constructor
|
|
101
|
-
* @param options
|
|
102
|
-
*/
|
|
103
|
-
constructor(options) {
|
|
104
|
-
/**
|
|
105
|
-
* @private
|
|
106
|
-
* @property name
|
|
107
|
-
*/
|
|
108
|
-
this.name = options.name;
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* @private
|
|
112
|
-
* @property ui
|
|
113
|
-
* @type UI
|
|
114
|
-
*/
|
|
115
|
-
this.ui = options.ui;
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* @private
|
|
119
|
-
* @property analytics
|
|
120
|
-
*/
|
|
121
|
-
this.analytics = options.analytics;
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* @private
|
|
125
|
-
* @property testing
|
|
126
|
-
* @type Boolean
|
|
127
|
-
*/
|
|
128
|
-
this.testing = options.testing;
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* @private
|
|
132
|
-
* @property disableDependencyChecker
|
|
133
|
-
* @type Boolean
|
|
134
|
-
*/
|
|
135
|
-
this.disableDependencyChecker = options.disableDependencyChecker;
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* @private
|
|
139
|
-
* @property root
|
|
140
|
-
*/
|
|
141
|
-
this.root = options.root;
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* @private
|
|
145
|
-
* @property npmPackage
|
|
146
|
-
*/
|
|
147
|
-
this.npmPackage = options.npmPackage;
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* @private
|
|
151
|
-
* @property instrumentation
|
|
152
|
-
*/
|
|
153
|
-
this.instrumentation =
|
|
154
|
-
options.instrumentation ||
|
|
155
|
-
new Instrumentation({
|
|
156
|
-
ui: options.ui,
|
|
157
|
-
initInstrumentation: options.initInstrumentation,
|
|
158
|
-
});
|
|
159
|
-
|
|
160
|
-
this.packageInfoCache = new PackageInfoCache(this.ui);
|
|
161
|
-
|
|
162
|
-
logger.info('testing %o', !!this.testing);
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
* @private
|
|
167
|
-
* @method maybeMakeCommand
|
|
168
|
-
* @param commandName
|
|
169
|
-
* @param commandArgs
|
|
170
|
-
* @return {null|CurrentCommand}
|
|
171
|
-
*/
|
|
172
|
-
maybeMakeCommand(commandName, commandArgs) {
|
|
173
|
-
if (this._environment === undefined) {
|
|
174
|
-
throw new Error('Unable to make command without environment, you have to execute "run" method first.');
|
|
175
|
-
}
|
|
176
|
-
let CurrentCommand = lookupCommand(this._environment.commands, commandName, commandArgs, {
|
|
177
|
-
project: this._environment.project,
|
|
178
|
-
ui: this.ui,
|
|
179
|
-
});
|
|
180
|
-
|
|
181
|
-
/*
|
|
182
|
-
* XXX Need to decide what to do here about showing errors. For
|
|
183
|
-
* a non-CLI project the cache is local and probably should. For
|
|
184
|
-
* a CLI project the cache is there, but not sure when we'll know
|
|
185
|
-
* about all the errors, because there may be multiple projects.
|
|
186
|
-
* if (this.packageInfoCache.hasErrors()) {
|
|
187
|
-
* this.packageInfoCache.showErrors();
|
|
188
|
-
* }
|
|
189
|
-
*/
|
|
190
|
-
let command = new CurrentCommand({
|
|
191
|
-
ui: this.ui,
|
|
192
|
-
analytics: this.analytics,
|
|
193
|
-
commands: this._environment.commands,
|
|
194
|
-
tasks: this._environment.tasks,
|
|
195
|
-
project: this._environment.project,
|
|
196
|
-
settings: this._environment.settings,
|
|
197
|
-
testing: this.testing,
|
|
198
|
-
cli: this,
|
|
199
|
-
});
|
|
200
|
-
|
|
201
|
-
return command;
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* @private
|
|
206
|
-
* @method run
|
|
207
|
-
* @param {Promise<object>} environmentPromiseHash
|
|
208
|
-
* @return {Promise}
|
|
209
|
-
*/
|
|
210
|
-
async run(environmentPromiseHash) {
|
|
211
|
-
if (environmentPromiseHash === undefined) {
|
|
212
|
-
return Promise.reject(new Error('Unable to execute "run" command without environment argument'));
|
|
213
|
-
}
|
|
214
|
-
let shutdownOnExit = null;
|
|
215
|
-
|
|
216
|
-
let environment = (this._environment = await hash(environmentPromiseHash));
|
|
217
|
-
|
|
218
|
-
try {
|
|
219
|
-
let args = environment.cliArgs.slice();
|
|
220
|
-
let commandName = args.shift();
|
|
221
|
-
let commandArgs = args;
|
|
222
|
-
let helpOptions;
|
|
223
|
-
|
|
224
|
-
let commandLookupCreationToken = heimdall.start('lookup-command');
|
|
225
|
-
|
|
226
|
-
let command = this.maybeMakeCommand(commandName, commandArgs);
|
|
227
|
-
|
|
228
|
-
commandLookupCreationToken.stop();
|
|
229
|
-
|
|
230
|
-
getOptionArgs('--verbose', commandArgs).forEach((arg) => {
|
|
231
|
-
process.env[`EMBER_VERBOSE_${arg.toUpperCase()}`] = 'true';
|
|
232
|
-
});
|
|
233
|
-
|
|
234
|
-
let platformCheckerToken = heimdall.start('platform-checker');
|
|
235
|
-
|
|
236
|
-
const PlatformChecker = require('../utilities/platform-checker');
|
|
237
|
-
let platform = new PlatformChecker(process.version);
|
|
238
|
-
let recommendation =
|
|
239
|
-
' We recommend that you use the most-recent "Active LTS" version of Node.js.' +
|
|
240
|
-
' See https://git.io/v7S5n for details.';
|
|
241
|
-
|
|
242
|
-
if (!this.testing) {
|
|
243
|
-
if (platform.isDeprecated) {
|
|
244
|
-
this.ui.writeDeprecateLine(`Node ${process.version} is no longer supported by Ember CLI.${recommendation}`);
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
if (!platform.isTested) {
|
|
248
|
-
this.ui.writeWarnLine(
|
|
249
|
-
`Node ${process.version} is not tested against Ember CLI on your platform.${recommendation}`
|
|
250
|
-
);
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
platformCheckerToken.stop();
|
|
255
|
-
|
|
256
|
-
logger.info('command: %s', commandName);
|
|
257
|
-
|
|
258
|
-
if (!this.testing) {
|
|
259
|
-
process.chdir(environment.project.root);
|
|
260
|
-
let skipInstallationCheck = commandArgs.indexOf('--skip-installation-check') !== -1;
|
|
261
|
-
if (environment.project.isEmberCLIProject() && !skipInstallationCheck) {
|
|
262
|
-
const InstallationChecker = require('../models/installation-checker');
|
|
263
|
-
new InstallationChecker({ project: environment.project }).checkInstallations();
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
let instrumentation = this.instrumentation;
|
|
268
|
-
let onCommandInterrupt;
|
|
269
|
-
|
|
270
|
-
let runPromise = Promise.resolve().then(async () => {
|
|
271
|
-
let resultOrExitCode;
|
|
272
|
-
|
|
273
|
-
try {
|
|
274
|
-
instrumentation.stopAndReport('init');
|
|
275
|
-
|
|
276
|
-
try {
|
|
277
|
-
instrumentation.start('command');
|
|
278
|
-
|
|
279
|
-
loggerTesting.info('cli: command.beforeRun');
|
|
280
|
-
onProcessInterrupt.addHandler(onCommandInterrupt);
|
|
281
|
-
|
|
282
|
-
await command.beforeRun(commandArgs);
|
|
283
|
-
|
|
284
|
-
loggerTesting.info('cli: command.validateAndRun');
|
|
285
|
-
|
|
286
|
-
resultOrExitCode = await command.validateAndRun(commandArgs);
|
|
287
|
-
} finally {
|
|
288
|
-
instrumentation.stopAndReport('command', commandName, commandArgs);
|
|
289
|
-
|
|
290
|
-
onProcessInterrupt.removeHandler(onCommandInterrupt);
|
|
291
|
-
}
|
|
292
|
-
} finally {
|
|
293
|
-
instrumentation.start('shutdown');
|
|
294
|
-
shutdownOnExit = function () {
|
|
295
|
-
instrumentation.stopAndReport('shutdown');
|
|
296
|
-
};
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
// if the help option was passed, call the help command
|
|
300
|
-
if (resultOrExitCode === 'callHelp') {
|
|
301
|
-
helpOptions = {
|
|
302
|
-
environment,
|
|
303
|
-
commandName,
|
|
304
|
-
commandArgs,
|
|
305
|
-
};
|
|
306
|
-
|
|
307
|
-
resultOrExitCode = await this.callHelp(helpOptions);
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
let exitCode = resultOrExitCode;
|
|
311
|
-
|
|
312
|
-
loggerTesting.info(`cli: command run complete. exitCode: ${exitCode}`);
|
|
313
|
-
// TODO: fix this
|
|
314
|
-
// Possibly this issue: https://github.com/joyent/node/issues/8329
|
|
315
|
-
// Wait to resolve promise when running on windows.
|
|
316
|
-
// This ensures that stdout is flushed so acceptance tests get full output
|
|
317
|
-
|
|
318
|
-
if (process.platform === 'win32') {
|
|
319
|
-
return new Promise((resolve) => {
|
|
320
|
-
setTimeout(resolve, 250, exitCode);
|
|
321
|
-
});
|
|
322
|
-
} else {
|
|
323
|
-
return exitCode;
|
|
324
|
-
}
|
|
325
|
-
});
|
|
326
|
-
|
|
327
|
-
onCommandInterrupt = async () => {
|
|
328
|
-
await command.onInterrupt();
|
|
329
|
-
|
|
330
|
-
return await runPromise;
|
|
331
|
-
};
|
|
332
|
-
|
|
333
|
-
return await runPromise;
|
|
334
|
-
} catch (error) {
|
|
335
|
-
this.logError(error);
|
|
336
|
-
return 1;
|
|
337
|
-
} finally {
|
|
338
|
-
if (shutdownOnExit) {
|
|
339
|
-
shutdownOnExit();
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
/**
|
|
345
|
-
* @private
|
|
346
|
-
* @method callHelp
|
|
347
|
-
* @param options
|
|
348
|
-
* @return {Promise}
|
|
349
|
-
*/
|
|
350
|
-
callHelp(options) {
|
|
351
|
-
let environment = options.environment;
|
|
352
|
-
let commandName = options.commandName;
|
|
353
|
-
let commandArgs = options.commandArgs;
|
|
354
|
-
let helpIndex = commandArgs.indexOf('--help');
|
|
355
|
-
let hIndex = commandArgs.indexOf('-h');
|
|
356
|
-
|
|
357
|
-
let HelpCommand = lookupCommand(environment.commands, 'help', commandArgs, {
|
|
358
|
-
project: environment.project,
|
|
359
|
-
ui: this.ui,
|
|
360
|
-
});
|
|
361
|
-
|
|
362
|
-
let help = new HelpCommand({
|
|
363
|
-
ui: this.ui,
|
|
364
|
-
analytics: this.analytics,
|
|
365
|
-
commands: environment.commands,
|
|
366
|
-
tasks: environment.tasks,
|
|
367
|
-
project: environment.project,
|
|
368
|
-
settings: environment.settings,
|
|
369
|
-
testing: this.testing,
|
|
370
|
-
});
|
|
371
|
-
|
|
372
|
-
if (helpIndex > -1) {
|
|
373
|
-
commandArgs.splice(helpIndex, 1);
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
if (hIndex > -1) {
|
|
377
|
-
commandArgs.splice(hIndex, 1);
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
commandArgs.unshift(commandName);
|
|
381
|
-
|
|
382
|
-
return help.validateAndRun(commandArgs);
|
|
383
|
-
}
|
|
384
|
-
|
|
385
|
-
/**
|
|
386
|
-
* @private
|
|
387
|
-
* @method logError
|
|
388
|
-
* @param error
|
|
389
|
-
* @return {number}
|
|
390
|
-
*/
|
|
391
|
-
logError(error) {
|
|
392
|
-
if (this.testing && error) {
|
|
393
|
-
console.error(error.message);
|
|
394
|
-
if (error.stack) {
|
|
395
|
-
console.error(error.stack);
|
|
396
|
-
}
|
|
397
|
-
throw error;
|
|
398
|
-
}
|
|
399
|
-
this.ui.errorLog.push(error);
|
|
400
|
-
this.ui.writeError(error);
|
|
401
|
-
return 1;
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
module.exports = CLI;
|
|
406
|
-
|
|
407
|
-
</pre>
|
|
408
|
-
|
|
409
|
-
</div>
|
|
410
|
-
</div>
|
|
411
|
-
</div>
|
|
412
|
-
</div>
|
|
413
|
-
<script src="../assets/vendor/prettify/prettify-min.js"></script>
|
|
414
|
-
<script>prettyPrint();</script>
|
|
415
|
-
<script src="../assets/js/yui-prettify.js"></script>
|
|
416
|
-
</body>
|
|
417
|
-
</html>
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<title>lib/models/addon-info.js - ember-cli</title>
|
|
6
|
-
<link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
|
|
7
|
-
<link rel="stylesheet" href="../assets/css/main.css" id="site_styles">
|
|
8
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/yui/3.18.0/yui/yui-min.js"></script>
|
|
9
|
-
</head>
|
|
10
|
-
<body class="yui3-skin-sam">
|
|
11
|
-
|
|
12
|
-
<div id="doc">
|
|
13
|
-
<div class="yui3-g">
|
|
14
|
-
<div id="sidebar" class="yui3-u">
|
|
15
|
-
<div class="logo">
|
|
16
|
-
<a href="../index.html">
|
|
17
|
-
<img src="https://ember-cli.com/assets/images/ember-cli-logo-small-dark.png">
|
|
18
|
-
</a>
|
|
19
|
-
</div>
|
|
20
|
-
|
|
21
|
-
<div id="modules" class="sidebox">
|
|
22
|
-
<div class="hd">
|
|
23
|
-
<h2 class="no-toc">Modules</h2>
|
|
24
|
-
</div>
|
|
25
|
-
<div class="bd">
|
|
26
|
-
<ul>
|
|
27
|
-
<li><a href="../modules/ember-cli.html">ember-cli</a>
|
|
28
|
-
</li>
|
|
29
|
-
<li><a href="../modules/is-lazy-engine.html">is-lazy-engine</a>
|
|
30
|
-
</li>
|
|
31
|
-
</ul>
|
|
32
|
-
</div>
|
|
33
|
-
</div>
|
|
34
|
-
|
|
35
|
-
<div id="classes" class="sidebox">
|
|
36
|
-
<div class="hd">
|
|
37
|
-
<h2 class="no-toc">Classes</h2>
|
|
38
|
-
</div>
|
|
39
|
-
<div class="bd">
|
|
40
|
-
<ul>
|
|
41
|
-
<li><a href="../classes/Addon.html">Addon</a></li>
|
|
42
|
-
<li><a href="../classes/AmdTransformAddon.html">AmdTransformAddon</a></li>
|
|
43
|
-
<li><a href="../classes/Blueprint.html">Blueprint</a></li>
|
|
44
|
-
<li><a href="../classes/Builder.html">Builder</a></li>
|
|
45
|
-
<li><a href="../classes/CLI.html">CLI</a></li>
|
|
46
|
-
<li><a href="../classes/Command.html">Command</a></li>
|
|
47
|
-
<li><a href="../classes/DefaultPackager.html">DefaultPackager</a></li>
|
|
48
|
-
<li><a href="../classes/EmberAddon.html">EmberAddon</a></li>
|
|
49
|
-
<li><a href="../classes/EmberApp.html">EmberApp</a></li>
|
|
50
|
-
<li><a href="../classes/HardwareInfo.html">HardwareInfo</a></li>
|
|
51
|
-
<li><a href="../classes/HistorySupportAddon.html">HistorySupportAddon</a></li>
|
|
52
|
-
<li><a href="../classes/Instrumentation.html">Instrumentation</a></li>
|
|
53
|
-
<li><a href="../classes/NodeModulesList.html">NodeModulesList</a></li>
|
|
54
|
-
<li><a href="../classes/NpmTask.html">NpmTask</a></li>
|
|
55
|
-
<li><a href="../classes/PackageInfo.html">PackageInfo</a></li>
|
|
56
|
-
<li><a href="../classes/PackageInfoCache.html">PackageInfoCache</a></li>
|
|
57
|
-
<li><a href="../classes/PerBundleAddonCache {.html">PerBundleAddonCache {</a></li>
|
|
58
|
-
<li><a href="../classes/Project.html">Project</a></li>
|
|
59
|
-
<li><a href="../classes/ServeFilesAddon.html">ServeFilesAddon</a></li>
|
|
60
|
-
<li><a href="../classes/TestsServerAddon.html">TestsServerAddon</a></li>
|
|
61
|
-
<li><a href="../classes/WatcherAddon.html">WatcherAddon</a></li>
|
|
62
|
-
<li><a href="../classes/WindowsSymlinkChecker.html">WindowsSymlinkChecker</a></li>
|
|
63
|
-
</ul>
|
|
64
|
-
</div>
|
|
65
|
-
</div>
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
<div class="version-info">
|
|
72
|
-
Version: 4.0.0-beta.4-beta-724190cca6
|
|
73
|
-
</div>
|
|
74
|
-
|
|
75
|
-
</div>
|
|
76
|
-
|
|
77
|
-
<div id="main" class="yui3-u">
|
|
78
|
-
<div class="content"><div class="title">
|
|
79
|
-
<h1 class="file-name">lib/models/addon-info.js</h1>
|
|
80
|
-
</div>
|
|
81
|
-
|
|
82
|
-
<pre class="code prettyprint linenums">
|
|
83
|
-
'use strict';
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* A simple class to store metadata info about an addon. This replaces a plain JS object
|
|
87
|
-
* that used to be created with the same fields.
|
|
88
|
-
*
|
|
89
|
-
* @module ember-cli
|
|
90
|
-
*/
|
|
91
|
-
|
|
92
|
-
class AddonInfo {
|
|
93
|
-
constructor(name, path, pkg) {
|
|
94
|
-
this.name = name;
|
|
95
|
-
this.path = path;
|
|
96
|
-
this.pkg = pkg;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
module.exports = AddonInfo;
|
|
101
|
-
|
|
102
|
-
</pre>
|
|
103
|
-
|
|
104
|
-
</div>
|
|
105
|
-
</div>
|
|
106
|
-
</div>
|
|
107
|
-
</div>
|
|
108
|
-
<script src="../assets/vendor/prettify/prettify-min.js"></script>
|
|
109
|
-
<script>prettyPrint();</script>
|
|
110
|
-
<script src="../assets/js/yui-prettify.js"></script>
|
|
111
|
-
</body>
|
|
112
|
-
</html>
|