ember-cli 4.0.0-beta.2 → 4.1.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 (114) hide show
  1. package/.github/workflows/ci.yml +5 -5
  2. package/CHANGELOG.md +48 -3
  3. package/blueprints/addon/additional-dev-dependencies.json +2 -2
  4. package/blueprints/addon/files/.github/workflows/ci.yml +5 -1
  5. package/blueprints/addon/files/.travis.yml +1 -1
  6. package/blueprints/addon/files/README.md +2 -2
  7. package/blueprints/addon/files/addon-config/ember-try.js +4 -4
  8. package/blueprints/app/files/.github/workflows/ci.yml +4 -0
  9. package/blueprints/app/files/package.json +17 -17
  10. package/docs/build/data.json +3 -3
  11. package/lib/commands/init.js +9 -1
  12. package/lib/models/host-info-cache.js +3 -5
  13. package/lib/models/per-bundle-addon-cache/index.js +2 -3
  14. package/lib/utilities/get-lang-arg.js +45 -45
  15. package/package.json +25 -25
  16. package/.github/ISSUE_TEMPLATE.md +0 -12
  17. package/.github/dependabot.yml +0 -15
  18. package/.github/workflows/coverage.yml +0 -31
  19. package/docs/analytics.md +0 -44
  20. package/docs/architecture.md +0 -316
  21. package/docs/assets/architecture/Ember-CLI architecture.png +0 -0
  22. package/docs/assets/architecture/Ember-CLI architecture.xml +0 -1
  23. package/docs/assets/architecture/README.md +0 -5
  24. package/docs/brocfile-transition.md +0 -46
  25. package/docs/build/api.js +0 -44
  26. package/docs/build/assets/css/external-small.png +0 -0
  27. package/docs/build/assets/css/logo.png +0 -0
  28. package/docs/build/assets/css/main.css +0 -555
  29. package/docs/build/assets/favicon.ico +0 -0
  30. package/docs/build/assets/img/spinner.gif +0 -0
  31. package/docs/build/assets/index.html +0 -10
  32. package/docs/build/assets/js/api-filter.js +0 -56
  33. package/docs/build/assets/js/api-list.js +0 -255
  34. package/docs/build/assets/js/api-search.js +0 -98
  35. package/docs/build/assets/js/apidocs.js +0 -376
  36. package/docs/build/assets/js/yui-prettify.js +0 -17
  37. package/docs/build/assets/vendor/prettify/CHANGES.html +0 -130
  38. package/docs/build/assets/vendor/prettify/COPYING +0 -202
  39. package/docs/build/assets/vendor/prettify/README.html +0 -203
  40. package/docs/build/assets/vendor/prettify/prettify-min.css +0 -1
  41. package/docs/build/assets/vendor/prettify/prettify-min.js +0 -1
  42. package/docs/build/classes/Addon.html +0 -4318
  43. package/docs/build/classes/AmdTransformAddon.html +0 -202
  44. package/docs/build/classes/Blueprint.html +0 -4796
  45. package/docs/build/classes/Builder.html +0 -611
  46. package/docs/build/classes/CLI.html +0 -810
  47. package/docs/build/classes/Command.html +0 -1655
  48. package/docs/build/classes/DefaultPackager.html +0 -202
  49. package/docs/build/classes/EmberAddon.html +0 -2207
  50. package/docs/build/classes/EmberApp.html +0 -2225
  51. package/docs/build/classes/HardwareInfo.html +0 -620
  52. package/docs/build/classes/HistorySupportAddon.html +0 -203
  53. package/docs/build/classes/Instrumentation.html +0 -695
  54. package/docs/build/classes/NodeModulesList.html +0 -460
  55. package/docs/build/classes/NpmTask.html +0 -333
  56. package/docs/build/classes/PackageInfo.html +0 -1390
  57. package/docs/build/classes/PackageInfoCache.html +0 -963
  58. package/docs/build/classes/PerBundleAddonCache {.html +0 -1010
  59. package/docs/build/classes/Project.html +0 -2083
  60. package/docs/build/classes/ServeFilesAddon.html +0 -260
  61. package/docs/build/classes/TestsServerAddon.html +0 -203
  62. package/docs/build/classes/WatcherAddon.html +0 -204
  63. package/docs/build/classes/WindowsSymlinkChecker.html +0 -1505
  64. package/docs/build/files/lib_broccoli_default-packager.js.html +0 -1426
  65. package/docs/build/files/lib_broccoli_ember-addon.js.html +0 -159
  66. package/docs/build/files/lib_broccoli_ember-app.js.html +0 -1913
  67. package/docs/build/files/lib_cli_cli.js.html +0 -417
  68. package/docs/build/files/lib_models_addon-info.js.html +0 -112
  69. package/docs/build/files/lib_models_addon.js.html +0 -1866
  70. package/docs/build/files/lib_models_blueprint.js.html +0 -1678
  71. package/docs/build/files/lib_models_builder.js.html +0 -417
  72. package/docs/build/files/lib_models_command.js.html +0 -804
  73. package/docs/build/files/lib_models_hardware-info.js.html +0 -479
  74. package/docs/build/files/lib_models_host-info-cache.js.html +0 -428
  75. package/docs/build/files/lib_models_installation-checker.js.html +0 -181
  76. package/docs/build/files/lib_models_instantiate-addons.js.html +0 -191
  77. package/docs/build/files/lib_models_instrumentation.js.html +0 -433
  78. package/docs/build/files/lib_models_package-info-cache_index.js.html +0 -793
  79. package/docs/build/files/lib_models_package-info-cache_node-modules-list.js.html +0 -208
  80. package/docs/build/files/lib_models_package-info-cache_package-info.js.html +0 -661
  81. package/docs/build/files/lib_models_per-bundle-addon-cache_addon-proxy.js.html +0 -252
  82. package/docs/build/files/lib_models_per-bundle-addon-cache_index.js.html +0 -485
  83. package/docs/build/files/lib_models_per-bundle-addon-cache_target-instance.js.html +0 -108
  84. package/docs/build/files/lib_models_project.js.html +0 -913
  85. package/docs/build/files/lib_models_task.js.html +0 -117
  86. package/docs/build/files/lib_tasks_build-watch.js.html +0 -157
  87. package/docs/build/files/lib_tasks_npm-task.js.html +0 -463
  88. package/docs/build/files/lib_tasks_serve.js.html +0 -207
  89. package/docs/build/files/lib_tasks_server_middleware_broccoli-serve-files_index.js.html +0 -127
  90. package/docs/build/files/lib_tasks_server_middleware_broccoli-watcher_index.js.html +0 -158
  91. package/docs/build/files/lib_tasks_server_middleware_history-support_index.js.html +0 -181
  92. package/docs/build/files/lib_tasks_server_middleware_tests-server_index.js.html +0 -171
  93. package/docs/build/files/lib_tasks_test-server.js.html +0 -167
  94. package/docs/build/files/lib_tasks_transforms_amd_index.js.html +0 -143
  95. package/docs/build/files/lib_utilities_ember-app-utils.js.html +0 -292
  96. package/docs/build/files/lib_utilities_insert-into-file.js.html +0 -219
  97. package/docs/build/files/lib_utilities_is-lazy-engine.js.html +0 -125
  98. package/docs/build/files/lib_utilities_is-yarn-project.js.html +0 -120
  99. package/docs/build/files/lib_utilities_valid-project-name.js.html +0 -142
  100. package/docs/build/files/lib_utilities_will-interrupt-process.js.html +0 -290
  101. package/docs/build/files/lib_utilities_windows-admin.js.html +0 -230
  102. package/docs/build/index.html +0 -125
  103. package/docs/build/modules/ember-cli.html +0 -152
  104. package/docs/build/modules/is-lazy-engine.html +0 -106
  105. package/docs/build-concurrency.md +0 -15
  106. package/docs/build-pipeline-debugging.md +0 -33
  107. package/docs/code-coverage.md +0 -14
  108. package/docs/error-propagation.md +0 -136
  109. package/docs/experiments.md +0 -53
  110. package/docs/node-support.md +0 -43
  111. package/docs/perf-guide.md +0 -250
  112. package/docs/project_version_preprocessor.js +0 -8
  113. package/docs/sourcemaps.md +0 -60
  114. package/docs/yuidoc.json +0 -13
@@ -1,255 +0,0 @@
1
- YUI.add('api-list', function (Y) {
2
-
3
- var Lang = Y.Lang,
4
- YArray = Y.Array,
5
-
6
- APIList = Y.namespace('APIList'),
7
-
8
- classesNode = Y.one('#api-classes'),
9
- elementsNode = Y.one('#api-elements'),
10
- inputNode = Y.one('#api-filter'),
11
- modulesNode = Y.one('#api-modules'),
12
- tabviewNode = Y.one('#api-tabview'),
13
-
14
- tabs = APIList.tabs = {},
15
-
16
- filter = APIList.filter = new Y.APIFilter({
17
- inputNode : inputNode,
18
- maxResults: 1000,
19
-
20
- on: {
21
- results: onFilterResults
22
- }
23
- }),
24
-
25
- search = APIList.search = new Y.APISearch({
26
- inputNode : inputNode,
27
- maxResults: 100,
28
-
29
- on: {
30
- clear : onSearchClear,
31
- results: onSearchResults
32
- }
33
- }),
34
-
35
- tabview = APIList.tabview = new Y.TabView({
36
- srcNode : tabviewNode,
37
- panelNode: '#api-tabview-panel',
38
- render : true,
39
-
40
- on: {
41
- selectionChange: onTabSelectionChange
42
- }
43
- }),
44
-
45
- focusManager = APIList.focusManager = tabviewNode.plug(Y.Plugin.NodeFocusManager, {
46
- circular : true,
47
- descendants: '#api-filter, .yui3-tab-panel-selected .api-list-item a, .yui3-tab-panel-selected .result a',
48
- keys : {next: 'down:40', previous: 'down:38'}
49
- }).focusManager,
50
-
51
- LIST_ITEM_TEMPLATE =
52
- '<li class="api-list-item {typeSingular}">' +
53
- '<a href="{rootPath}{typePlural}/{name}.html">{displayName}</a>' +
54
- '</li>';
55
-
56
- // -- Init ---------------------------------------------------------------------
57
-
58
- // Duckpunch FocusManager's key event handling to prevent it from handling key
59
- // events when a modifier is pressed.
60
- Y.before(function (e, activeDescendant) {
61
- if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) {
62
- return new Y.Do.Prevent();
63
- }
64
- }, focusManager, '_focusPrevious', focusManager);
65
-
66
- Y.before(function (e, activeDescendant) {
67
- if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) {
68
- return new Y.Do.Prevent();
69
- }
70
- }, focusManager, '_focusNext', focusManager);
71
-
72
- // Create a mapping of tabs in the tabview so we can refer to them easily later.
73
- tabview.each(function (tab, index) {
74
- var name = tab.get('label').toLowerCase();
75
-
76
- tabs[name] = {
77
- index: index,
78
- name : name,
79
- tab : tab
80
- };
81
- });
82
-
83
- // Switch tabs on Ctrl/Cmd-Left/Right arrows.
84
- tabviewNode.on('key', onTabSwitchKey, 'down:37,39');
85
-
86
- // Focus the filter input when the `/` key is pressed.
87
- Y.one(Y.config.doc).on('key', onSearchKey, 'down:83');
88
-
89
- // Keep the Focus Manager up to date.
90
- inputNode.on('focus', function () {
91
- focusManager.set('activeDescendant', inputNode);
92
- });
93
-
94
- // Update all tabview links to resolved URLs.
95
- tabview.get('panelNode').all('a').each(function (link) {
96
- link.setAttribute('href', link.get('href'));
97
- });
98
-
99
- // -- Private Functions --------------------------------------------------------
100
- function getFilterResultNode() {
101
- var queryType = filter.get('queryType');
102
- return queryType === 'classes' ? classesNode
103
- : queryType === 'elements' ? elementsNode : modulesNode;
104
- }
105
-
106
- // -- Event Handlers -----------------------------------------------------------
107
- function onFilterResults(e) {
108
- var frag = Y.one(Y.config.doc.createDocumentFragment()),
109
- resultNode = getFilterResultNode(),
110
- typePlural = filter.get('queryType'),
111
- typeSingular = typePlural === 'classes' ? 'class' : typePlural === 'elements' ? 'element' : 'module';
112
-
113
- if (e.results.length) {
114
- YArray.each(e.results, function (result) {
115
- frag.append(Lang.sub(LIST_ITEM_TEMPLATE, {
116
- rootPath : APIList.rootPath,
117
- displayName : filter.getDisplayName(result.highlighted),
118
- name : result.text,
119
- typePlural : typePlural,
120
- typeSingular: typeSingular
121
- }));
122
- });
123
- } else {
124
- frag.append(
125
- '<li class="message">' +
126
- 'No ' + typePlural + ' found.' +
127
- '</li>'
128
- );
129
- }
130
-
131
- resultNode.empty(true);
132
- resultNode.append(frag);
133
-
134
- focusManager.refresh();
135
- }
136
-
137
- function onSearchClear(e) {
138
-
139
- focusManager.refresh();
140
- }
141
-
142
- function onSearchKey(e) {
143
- var target = e.target;
144
-
145
- if (target.test('input,select,textarea')
146
- || target.get('isContentEditable')) {
147
- return;
148
- }
149
-
150
- e.preventDefault();
151
-
152
- inputNode.focus();
153
- focusManager.refresh();
154
- }
155
-
156
- function onSearchResults(e) {
157
- var frag = Y.one(Y.config.doc.createDocumentFragment());
158
-
159
- if (e.results.length) {
160
- YArray.each(e.results, function (result) {
161
- frag.append(result.display);
162
- });
163
- } else {
164
- frag.append(
165
- '<li class="message">' +
166
- 'No results found. Maybe you\'ll have better luck with a ' +
167
- 'different query?' +
168
- '</li>'
169
- );
170
- }
171
-
172
-
173
- focusManager.refresh();
174
- }
175
-
176
- function onTabSelectionChange(e) {
177
- var tab = e.newVal,
178
- name = tab.get('label').toLowerCase();
179
-
180
- tabs.selected = {
181
- index: tab.get('index'),
182
- name : name,
183
- tab : tab
184
- };
185
-
186
- switch (name) {
187
- case 'elements':// fallthru
188
- case 'classes': // fallthru
189
- case 'modules':
190
- filter.setAttrs({
191
- minQueryLength: 0,
192
- queryType : name
193
- });
194
-
195
- search.set('minQueryLength', -1);
196
-
197
- // Only send a request if this isn't the initially-selected tab.
198
- if (e.prevVal) {
199
- filter.sendRequest(filter.get('value'));
200
- }
201
- break;
202
-
203
- case 'everything':
204
- filter.set('minQueryLength', -1);
205
- search.set('minQueryLength', 1);
206
-
207
- if (search.get('value')) {
208
- search.sendRequest(search.get('value'));
209
- } else {
210
- inputNode.focus();
211
- }
212
- break;
213
-
214
- default:
215
- // WTF? We shouldn't be here!
216
- filter.set('minQueryLength', -1);
217
- search.set('minQueryLength', -1);
218
- }
219
-
220
- if (focusManager) {
221
- setTimeout(function () {
222
- focusManager.refresh();
223
- }, 1);
224
- }
225
- }
226
-
227
- function onTabSwitchKey(e) {
228
- var currentTabIndex = tabs.selected.index;
229
-
230
- if (!(e.ctrlKey || e.metaKey)) {
231
- return;
232
- }
233
-
234
- e.preventDefault();
235
-
236
- switch (e.keyCode) {
237
- case 37: // left arrow
238
- if (currentTabIndex > 0) {
239
- tabview.selectChild(currentTabIndex - 1);
240
- inputNode.focus();
241
- }
242
- break;
243
-
244
- case 39: // right arrow
245
- if (currentTabIndex < (Y.Object.size(tabs) - 2)) {
246
- tabview.selectChild(currentTabIndex + 1);
247
- inputNode.focus();
248
- }
249
- break;
250
- }
251
- }
252
-
253
- }, '3.4.0', {requires: [
254
- 'api-filter', 'api-search', 'event-key', 'node-focusmanager', 'tabview'
255
- ]});
@@ -1,98 +0,0 @@
1
- YUI.add('api-search', function (Y) {
2
-
3
- var Lang = Y.Lang,
4
- Node = Y.Node,
5
- YArray = Y.Array;
6
-
7
- Y.APISearch = Y.Base.create('apiSearch', Y.Base, [Y.AutoCompleteBase], {
8
- // -- Public Properties ----------------------------------------------------
9
- RESULT_TEMPLATE:
10
- '<li class="result {resultType}">' +
11
- '<a href="{url}">' +
12
- '<h3 class="title">{name}</h3>' +
13
- '<span class="type">{resultType}</span>' +
14
- '<div class="description">{description}</div>' +
15
- '<span class="className">{class}</span>' +
16
- '</a>' +
17
- '</li>',
18
-
19
- // -- Initializer ----------------------------------------------------------
20
- initializer: function () {
21
- this._bindUIACBase();
22
- this._syncUIACBase();
23
- },
24
-
25
- // -- Protected Methods ----------------------------------------------------
26
- _apiResultFilter: function (query, results) {
27
- // Filter components out of the results.
28
- return YArray.filter(results, function (result) {
29
- return result.raw.resultType === 'component' ? false : result;
30
- });
31
- },
32
-
33
- _apiResultFormatter: function (query, results) {
34
- return YArray.map(results, function (result) {
35
- var raw = Y.merge(result.raw), // create a copy
36
- desc = raw.description || '';
37
-
38
- // Convert description to text and truncate it if necessary.
39
- desc = Node.create('<div>' + desc + '</div>').get('text');
40
-
41
- if (desc.length > 65) {
42
- desc = Y.Escape.html(desc.substr(0, 65)) + ' &hellip;';
43
- } else {
44
- desc = Y.Escape.html(desc);
45
- }
46
-
47
- raw['class'] || (raw['class'] = '');
48
- raw.description = desc;
49
-
50
- // Use the highlighted result name.
51
- raw.name = result.highlighted;
52
-
53
- return Lang.sub(this.RESULT_TEMPLATE, raw);
54
- }, this);
55
- },
56
-
57
- _apiTextLocator: function (result) {
58
- return result.displayName || result.name;
59
- }
60
- }, {
61
- // -- Attributes -----------------------------------------------------------
62
- ATTRS: {
63
- resultFormatter: {
64
- valueFn: function () {
65
- return this._apiResultFormatter;
66
- }
67
- },
68
-
69
- resultFilters: {
70
- valueFn: function () {
71
- return this._apiResultFilter;
72
- }
73
- },
74
-
75
- resultHighlighter: {
76
- value: 'phraseMatch'
77
- },
78
-
79
- resultListLocator: {
80
- value: 'data.results'
81
- },
82
-
83
- resultTextLocator: {
84
- valueFn: function () {
85
- return this._apiTextLocator;
86
- }
87
- },
88
-
89
- source: {
90
- value: '/api/v1/search?q={query}&count={maxResults}'
91
- }
92
- }
93
- });
94
-
95
- }, '3.4.0', {requires: [
96
- 'autocomplete-base', 'autocomplete-highlighters', 'autocomplete-sources',
97
- 'escape'
98
- ]});