ember-cli 4.4.0 → 4.6.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 (53) hide show
  1. package/.github/workflows/ci.yml +4 -4
  2. package/CHANGELOG.md +74 -0
  3. package/blueprints/addon/additional-dev-dependencies.json +1 -1
  4. package/blueprints/addon/files/.github/workflows/ci.yml +6 -3
  5. package/blueprints/addon/files/.travis.yml +2 -2
  6. package/blueprints/addon/files/CONTRIBUTING.md +1 -1
  7. package/blueprints/addon/files/README.md +1 -1
  8. package/blueprints/addon/index.js +3 -4
  9. package/blueprints/app/files/.github/workflows/ci.yml +4 -2
  10. package/blueprints/app/files/.travis.yml +2 -2
  11. package/blueprints/app/files/README.md +1 -1
  12. package/blueprints/app/files/config/environment.js +0 -4
  13. package/blueprints/app/files/package.json +11 -12
  14. package/blueprints/app/index.js +2 -0
  15. package/blueprints/blueprint/index.js +0 -16
  16. package/blueprints/in-repo-addon/index.js +6 -3
  17. package/blueprints/server/index.js +21 -4
  18. package/blueprints/vendor-shim/index.js +13 -0
  19. package/docs/build/data.json +117 -106
  20. package/lib/broccoli/ember-addon.js +1 -1
  21. package/lib/broccoli/ember-app.js +30 -4
  22. package/lib/broccoli/vendor-prefix.js +7 -0
  23. package/lib/cli/cli.js +6 -4
  24. package/lib/cli/index.js +1 -1
  25. package/lib/cli/lookup-command.js +6 -2
  26. package/lib/commands/destroy.js +1 -1
  27. package/lib/commands/generate.js +3 -3
  28. package/lib/commands/init.js +1 -2
  29. package/lib/models/addon.js +1 -18
  30. package/lib/models/blueprint.js +19 -11
  31. package/lib/models/command.js +10 -15
  32. package/lib/models/project.js +8 -8
  33. package/lib/tasks/addon-install.js +1 -1
  34. package/lib/tasks/create-and-step-into-directory.js +2 -26
  35. package/lib/tasks/generate-from-blueprint.js +1 -1
  36. package/lib/tasks/install-blueprint.js +1 -1
  37. package/lib/tasks/server/express-server.js +1 -1
  38. package/lib/tasks/server/livereload-server.js +1 -1
  39. package/lib/utilities/directory-for-package-name.js +31 -0
  40. package/lib/utilities/find-addon-by-name.js +4 -37
  41. package/lib/utilities/is-live-reload-request.js +1 -11
  42. package/lib/utilities/markdown-color.js +1 -1
  43. package/lib/utilities/sequence.js +7 -5
  44. package/package.json +28 -28
  45. package/tests/helpers/copy-fixture-files.js +4 -1
  46. package/tests/helpers/default-packager.js +0 -1
  47. package/tests/helpers/fixturify-project.js +1 -1
  48. package/tests/helpers/run-command.js +1 -1
  49. package/blueprints/server/files/server/.eslintrc.js +0 -5
  50. package/lib/errors/cli.js +0 -3
  51. package/lib/errors/silent.js +0 -19
  52. package/lib/utilities/default-targets.js +0 -5
  53. package/lib/utilities/deprecate.js +0 -9
@@ -27,7 +27,7 @@ jobs:
27
27
  - uses: actions/checkout@v3
28
28
  - uses: actions/setup-node@v3
29
29
  with:
30
- node-version: 12.x
30
+ node-version: 14.x
31
31
  cache: 'yarn'
32
32
 
33
33
  - run: yarn install --frozen-lockfile --non-interactive
@@ -45,7 +45,7 @@ jobs:
45
45
  - uses: actions/checkout@v3
46
46
  - uses: actions/setup-node@v3
47
47
  with:
48
- node-version: 12.x
48
+ node-version: 14.x
49
49
  cache: 'yarn'
50
50
 
51
51
  - run: yarn install --frozen-lockfile --non-interactive
@@ -60,7 +60,7 @@ jobs:
60
60
  strategy:
61
61
  fail-fast: false
62
62
  matrix:
63
- node-version: [12.x, 14.x, 16.x]
63
+ node-version: [14.x, 16.x, 18.x]
64
64
  os: [ubuntu, windows]
65
65
 
66
66
  steps:
@@ -92,7 +92,7 @@ jobs:
92
92
  - uses: actions/checkout@v3
93
93
  - uses: actions/setup-node@v3
94
94
  with:
95
- node-version: 12.x
95
+ node-version: 14.x
96
96
  cache: 'yarn'
97
97
 
98
98
  - run: yarn install --frozen-lockfile --non-interactive
package/CHANGELOG.md CHANGED
@@ -1,5 +1,79 @@
1
1
  # ember-cli Changelog
2
2
 
3
+ ## v4.6.0-beta.1
4
+
5
+ #### Blueprint Changes
6
+
7
+ - [`ember new` diff](https://github.com/ember-cli/ember-new-output/compare/v4.5.0...v4.6.0-beta.1)
8
+ - [`ember addon` diff](https://github.com/ember-cli/ember-addon-output/compare/v4.5.0...v4.6.0-beta.1)
9
+
10
+ #### Changelog
11
+
12
+ - [#9890](https://github.com/ember-cli/ember-cli/pull/9890) Make sure addons are discovered only once [@wagenet](https://github.com/wagenet)
13
+ - [#9770](https://github.com/ember-cli/ember-cli/pull/9770) Include the addon’s name in the warning when a core command is overridden [@davecombs](https://github.com/davecombs)
14
+ - [#9863](https://github.com/ember-cli/ember-cli/pull/9863) [INTERNAL] Add `.prettierignore` file to Ember CLI repo [@bertdeblock](https://github.com/bertdeblock)
15
+ - [#9872](https://github.com/ember-cli/ember-cli/pull/9872) [INTERNAL] Use native classes for tasks in test suite [@bertdeblock](https://github.com/bertdeblock)
16
+ - [#9885](https://github.com/ember-cli/ember-cli/pull/9885) [CLEANUP] Remove `ie 11` from default targets [@bertdeblock](https://github.com/bertdeblock)
17
+ - [#9898](https://github.com/ember-cli/ember-cli/pull/9898) Remove deprecated `addonJsFiles` method on `addon` model [@bertdeblock](https://github.com/bertdeblock)
18
+ - [#9899](https://github.com/ember-cli/ember-cli/pull/9899) Remove deprecated internal `silent` error [@bertdeblock](https://github.com/bertdeblock)
19
+ - [#9900](https://github.com/ember-cli/ember-cli/pull/9900) Remove unused CLI error class [@bertdeblock](https://github.com/bertdeblock)
20
+ - [#9902](https://github.com/ember-cli/ember-cli/pull/9902) Remove support for `ember-cli-inject-live-reload` < v1.10.0 [@bertdeblock](https://github.com/bertdeblock)
21
+ - [#9903](https://github.com/ember-cli/ember-cli/pull/9903) Deprecate `vendor-shim` blueprint [@bertdeblock](https://github.com/bertdeblock)
22
+ - [#9904](https://github.com/ember-cli/ember-cli/pull/9904) Update Node compatibility warning [@bertdeblock](https://github.com/bertdeblock)
23
+ - [#9906](https://github.com/ember-cli/ember-cli/pull/9906) Drop support for Node v12 [@bertdeblock](https://github.com/bertdeblock)
24
+ - [#9907](https://github.com/ember-cli/ember-cli/pull/9907) Remove ESLint config file from `server` blueprint [@bertdeblock](https://github.com/bertdeblock)
25
+ - [#9908](https://github.com/ember-cli/ember-cli/pull/9908) Remove support for finding an addon by its unscoped name [@bertdeblock](https://github.com/bertdeblock)
26
+ - [#9909](https://github.com/ember-cli/ember-cli/pull/9909) Deprecate support for `ember-cli-jshint` [@bertdeblock](https://github.com/bertdeblock)
27
+ - [#9917](https://github.com/ember-cli/ember-cli/pull/9917) update beta deps [@kellyselden](https://github.com/kellyselden)
28
+ - [#9919](https://github.com/ember-cli/ember-cli/pull/9919) Clean up `ember-addon` object in package file when destroying an in-repo addon [@bertdeblock](https://github.com/bertdeblock)
29
+ - [#9935](https://github.com/ember-cli/ember-cli/pull/9935) Update dev changelog script [@kellyselden](https://github.com/kellyselden)
30
+ - [#9938](https://github.com/ember-cli/ember-cli/pull/9938) [INTERNAL] Fix internal `sequence` util [@bertdeblock](https://github.com/bertdeblock)
31
+ - [#9939](https://github.com/ember-cli/ember-cli/pull/9939) Update `fs-extra` to v10 [@bertdeblock](https://github.com/bertdeblock)
32
+ - [#9937](https://github.com/ember-cli/ember-cli/pull/9937) [INTERNAL] Remove old `deprecate` utility [@bertdeblock](https://github.com/bertdeblock)
33
+ - [#9941](https://github.com/ember-cli/ember-cli/pull/9941) Update `filesize` to v9 [@bertdeblock](https://github.com/bertdeblock)
34
+ - [#9942](https://github.com/ember-cli/ember-cli/pull/9942) Update `isbinaryfile` to v5 [@bertdeblock](https://github.com/bertdeblock)
35
+ - [#9944](https://github.com/ember-cli/ember-cli/pull/9944) Add support for Node v18 [@ddzz](https://github.com/ddzz)
36
+ - [#9947](https://github.com/ember-cli/ember-cli/pull/9947) [DOC] Update EOL date for Node v16 in `Node Support` doc [@bertdeblock](https://github.com/bertdeblock)
37
+ - [#9953](https://github.com/ember-cli/ember-cli/pull/9953) Update `resolve-package-path` to v4 [@bertdeblock](https://github.com/bertdeblock)
38
+ - [#9954](https://github.com/ember-cli/ember-cli/pull/9954) Update `jsdom` to v20 [@bertdeblock](https://github.com/bertdeblock)
39
+ - [#9969](https://github.com/ember-cli/ember-cli/pull/9969) update ember source beta [@kellyselden](https://github.com/kellyselden)
40
+
41
+ Thank you to all who took the time to contribute!
42
+
43
+ ## v4.5.0
44
+
45
+ #### Blueprint Changes
46
+
47
+ - [`ember new` diff](https://github.com/ember-cli/ember-new-output/compare/v4.4.0...v4.5.0)
48
+ - [`ember addon` diff](https://github.com/ember-cli/ember-addon-output/compare/v4.4.0...v4.5.0)
49
+
50
+ #### Changelog
51
+
52
+ - [#9760](https://github.com/ember-cli/ember-cli/pull/9760) Add `timeout-minutes` to GitHub CI jobs in `app` and `addon` blueprints [@mansona](https://github.com/mansona)
53
+ - [#9777](https://github.com/ember-cli/ember-cli/pull/9777) [DOC] Add bower note [@jenweber](https://github.com/jenweber)
54
+ - [#9778](https://github.com/ember-cli/ember-cli/pull/9778) Prune lodash dependencies [@locks](https://github.com/locks)
55
+ - [#9785](https://github.com/ember-cli/ember-cli/pull/9785) Generate correct directory name in `README.md` and `CONTRIBUTING.md` files [@bertdeblock](https://github.com/bertdeblock)
56
+ - [#9805](https://github.com/ember-cli/ember-cli/pull/9805) Add Node v16 to `Node Support` docs [@bertdeblock](https://github.com/bertdeblock)
57
+ - [#9823](https://github.com/ember-cli/ember-cli/pull/9823) [RFC 801] Deprecate `blacklist` and `whitelist` build options [@bertdeblock](https://github.com/bertdeblock)
58
+ - [#9825](https://github.com/ember-cli/ember-cli/pull/9825) Remove `ember-export-application-global` addon from `app` blueprint [@bertdeblock](https://github.com/bertdeblock)
59
+ - [#9848](https://github.com/ember-cli/ember-cli/pull/9848) Update `ember-cli-dependency-checker` to v3.3.1 [@gnclmorais](https://github.com/gnclmorais)
60
+ - [#9857](https://github.com/ember-cli/ember-cli/pull/9857) Use `createBuilder` instead of deprecated `buildOutput` in test suite [@geneukum](https://github.com/geneukum)
61
+ - [#9858](https://github.com/ember-cli/ember-cli/pull/9858) Remove `EXTEND_PROTOTYPES` object in the app's `config/environment.js` file [@bertdeblock](https://github.com/bertdeblock)
62
+ - [#9859](https://github.com/ember-cli/ember-cli/pull/9859) Update `git.io` URLs [@bertdeblock](https://github.com/bertdeblock)
63
+ - [#9860](https://github.com/ember-cli/ember-cli/pull/9860) Add inline comment RE: `runningTests` variable [@bertdeblock](https://github.com/bertdeblock)
64
+ - [#9886](https://github.com/ember-cli/ember-cli/pull/9886) Remove deletion of `@ember/jquery` in addon blueprint [@bertdeblock](https://github.com/bertdeblock)
65
+ - [#9906](https://github.com/ember-cli/ember-cli/pull/9906) Drop support for Node v12 [@bertdeblock](https://github.com/bertdeblock)
66
+ - [#9909](https://github.com/ember-cli/ember-cli/pull/9909) Deprecate support for `ember-cli-jshint` [@bertdeblock](https://github.com/bertdeblock)
67
+ - [#9914](https://github.com/ember-cli/ember-cli/pull/9914) Temporarily skip failing ember new test for npm versions <= v6.0.0 [@bertdeblock](https://github.com/bertdeblock)
68
+ - [#9770](https://github.com/ember-cli/ember-cli/pull/9770) Include the addon’s name in the warning when a core command is overridden [@davecombs](https://github.com/davecombs)
69
+ - [#9890](https://github.com/ember-cli/ember-cli/pull/9890) Make sure addons are discovered only once [@wagenet](https://github.com/wagenet)
70
+ - [#9898](https://github.com/ember-cli/ember-cli/pull/9898) Remove deprecated `addonJsFiles` method on `addon` model [@bertdeblock](https://github.com/bertdeblock)
71
+ - [#9900](https://github.com/ember-cli/ember-cli/pull/9900) Remove unused CLI error class [@bertdeblock](https://github.com/bertdeblock)
72
+ - [#9917](https://github.com/ember-cli/ember-cli/pull/9917) update beta deps [@kellyselden](https://github.com/kellyselden)
73
+ - [#9919](https://github.com/ember-cli/ember-cli/pull/9919) Clean up `ember-addon` object in package file when destroying an in-repo addon [@bertdeblock](https://github.com/bertdeblock)
74
+
75
+ Thank you to all who took the time to contribute!
76
+
3
77
  ## v4.4.0
4
78
 
5
79
  #### Blueprint Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "devDependencies": {
3
- "@embroider/test-setup": "^1.6.0",
3
+ "@embroider/test-setup": "^1.8.0",
4
4
  "ember-disable-prototype-extensions": "^1.1.3",
5
5
  "ember-try": "^2.0.0",
6
6
  "ember-source-channel-url": "^3.0.0"
@@ -15,13 +15,14 @@ jobs:
15
15
  test:
16
16
  name: "Tests"
17
17
  runs-on: ubuntu-latest
18
+ timeout-minutes: 10
18
19
 
19
20
  steps:
20
21
  - uses: actions/checkout@v3
21
22
  - name: Install Node
22
23
  uses: actions/setup-node@v3
23
24
  with:
24
- node-version: 12.x
25
+ node-version: 14.x
25
26
  cache: <%= yarn ? 'yarn' : 'npm' %>
26
27
  - name: Install Dependencies
27
28
  run: <%= yarn ? 'yarn install --frozen-lockfile' : 'npm ci' %>
@@ -33,12 +34,13 @@ jobs:
33
34
  floating:
34
35
  name: "Floating Dependencies"
35
36
  runs-on: ubuntu-latest
37
+ timeout-minutes: 10
36
38
 
37
39
  steps:
38
40
  - uses: actions/checkout@v3
39
41
  - uses: actions/setup-node@v3
40
42
  with:
41
- node-version: 12.x
43
+ node-version: 14.x
42
44
  cache: <%= yarn ? 'yarn' : 'npm' %>
43
45
  - name: Install Dependencies
44
46
  run: <%= yarn ? 'yarn install --no-lockfile' : 'npm install --no-shrinkwrap' %>
@@ -49,6 +51,7 @@ jobs:
49
51
  name: ${{ matrix.try-scenario }}
50
52
  runs-on: ubuntu-latest
51
53
  needs: "test"
54
+ timeout-minutes: 10
52
55
 
53
56
  strategy:
54
57
  fail-fast: false
@@ -68,7 +71,7 @@ jobs:
68
71
  - name: Install Node
69
72
  uses: actions/setup-node@v3
70
73
  with:
71
- node-version: 12.x
74
+ node-version: 14.x
72
75
  cache: <%= yarn ? 'yarn' : 'npm' %>
73
76
  - name: Install Dependencies
74
77
  run: <%= yarn ? 'yarn install --frozen-lockfile' : 'npm ci' %>
@@ -3,7 +3,7 @@ language: node_js
3
3
  node_js:
4
4
  # we recommend testing addons with the same minimum supported node version as Ember CLI
5
5
  # so that your addon works for all apps
6
- - "12"
6
+ - "14"
7
7
 
8
8
  dist: xenial
9
9
 
@@ -19,7 +19,7 @@ cache:
19
19
  <% } %>
20
20
  env:
21
21
  global:
22
- # See https://git.io/vdao3 for details.
22
+ # See https://github.com/ember-cli/ember-cli/blob/master/docs/build-concurrency.md for details.
23
23
  - JOBS=1
24
24
 
25
25
  branches:
@@ -3,7 +3,7 @@
3
3
  ## Installation
4
4
 
5
5
  * `git clone <repository-url>`
6
- * `cd <%= addonName %>`
6
+ * `cd <%= addonDirectory %>`
7
7
  * `<% if (yarn) { %>yarn<% } else { %>npm<% } %> install`
8
8
 
9
9
  ## Linting
@@ -7,7 +7,7 @@
7
7
 
8
8
  * Ember.js v3.24 or above
9
9
  * Ember CLI v3.24 or above
10
- * Node.js v12 or above
10
+ * Node.js v14 or above
11
11
 
12
12
 
13
13
  ## Installation
@@ -5,7 +5,7 @@ const path = require('path');
5
5
  const walkSync = require('walk-sync');
6
6
  const chalk = require('chalk');
7
7
  const stringUtil = require('ember-cli-string-utils');
8
- const uniq = require('ember-cli-lodash-subset').uniq;
8
+ const { uniq } = require('ember-cli-lodash-subset');
9
9
  const SilentError = require('silent-error');
10
10
  const sortPackageJson = require('sort-package-json');
11
11
 
@@ -13,6 +13,7 @@ let date = new Date();
13
13
 
14
14
  const normalizeEntityName = require('ember-cli-normalize-entity-name');
15
15
  const stringifyAndNormalize = require('../../lib/utilities/stringify-and-normalize');
16
+ const directoryForPackageName = require('../../lib/utilities/directory-for-package-name');
16
17
  const FileInfo = require('../../lib/models/file-info');
17
18
 
18
19
  const replacers = {
@@ -66,9 +67,6 @@ module.exports = {
66
67
  // 100% of addons don't need ember-cli-app-version, make it opt-in instead
67
68
  delete contents.devDependencies['ember-cli-app-version'];
68
69
 
69
- // addons should test _without_ jquery by default
70
- delete contents.devDependencies['@ember/jquery'];
71
-
72
70
  if (contents.keywords.indexOf('ember-addon') === -1) {
73
71
  contents.keywords.push('ember-addon');
74
72
  }
@@ -151,6 +149,7 @@ module.exports = {
151
149
  }
152
150
 
153
151
  return {
152
+ addonDirectory: directoryForPackageName(addonName),
154
153
  name,
155
154
  modulePrefix: name,
156
155
  namespace,
@@ -15,13 +15,14 @@ jobs:
15
15
  lint:
16
16
  name: "Lint"
17
17
  runs-on: ubuntu-latest
18
+ timeout-minutes: 10
18
19
 
19
20
  steps:
20
21
  - uses: actions/checkout@v3
21
22
  - name: Install Node
22
23
  uses: actions/setup-node@v3
23
24
  with:
24
- node-version: 12.x
25
+ node-version: 14.x
25
26
  cache: <%= yarn ? 'yarn' : 'npm' %>
26
27
  - name: Install Dependencies
27
28
  run: <%= yarn ? 'yarn install --frozen-lockfile' : 'npm ci' %>
@@ -31,13 +32,14 @@ jobs:
31
32
  test:
32
33
  name: "Test"
33
34
  runs-on: ubuntu-latest
35
+ timeout-minutes: 10
34
36
 
35
37
  steps:
36
38
  - uses: actions/checkout@v3
37
39
  - name: Install Node
38
40
  uses: actions/setup-node@v3
39
41
  with:
40
- node-version: 12.x
42
+ node-version: 14.x
41
43
  cache: <%= yarn ? 'yarn' : 'npm' %>
42
44
  - name: Install Dependencies
43
45
  run: <%= yarn ? 'yarn install --frozen-lockfile' : 'npm ci' %>
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  language: node_js
3
3
  node_js:
4
- - "12"
4
+ - "14"
5
5
 
6
6
  dist: xenial
7
7
 
@@ -17,7 +17,7 @@ cache:
17
17
  <% } %>
18
18
  env:
19
19
  global:
20
- # See https://git.io/vdao3 for details.
20
+ # See https://github.com/ember-cli/ember-cli/blob/master/docs/build-concurrency.md for details.
21
21
  - JOBS=1
22
22
 
23
23
  branches:
@@ -16,7 +16,7 @@ You will need the following things properly installed on your computer.
16
16
  ## Installation
17
17
 
18
18
  * `git clone <repository-url>` this repository
19
- * `cd <%= name %>`
19
+ * `cd <%= appDirectory %>`
20
20
  * `<% if (yarn) { %>yarn<% } else { %>npm<% } %> install`
21
21
 
22
22
  ## Running / Development
@@ -11,10 +11,6 @@ module.exports = function (environment) {
11
11
  // Here you can enable experimental features on an ember canary build
12
12
  // e.g. EMBER_NATIVE_DECORATOR_SUPPORT: true
13
13
  },
14
- EXTEND_PROTOTYPES: {
15
- // Prevent Ember Data from overriding Date.parse.
16
- Date: false,
17
- },
18
14
  },
19
15
 
20
16
  APP: {
@@ -24,15 +24,15 @@
24
24
  },
25
25
  "devDependencies": {
26
26
  "@ember/optional-features": "^2.0.0",
27
- "@ember/test-helpers": "^2.7.0<% if (embroider) { %>",
28
- "@embroider/compat": "^1.6.0",
29
- "@embroider/core": "^1.6.0",
30
- "@embroider/webpack": "^1.6.0<% } %>",
27
+ "@ember/test-helpers": "^2.8.1<% if (embroider) { %>",
28
+ "@embroider/compat": "^1.8.0",
29
+ "@embroider/core": "^1.8.0",
30
+ "@embroider/webpack": "^1.8.0<% } %>",
31
31
  "@glimmer/component": "^1.1.2",
32
32
  "@glimmer/tracking": "^1.1.2",
33
33
  "babel-eslint": "^10.1.0",
34
34
  "broccoli-asset-rev": "^3.0.0",
35
- "ember-auto-import": "^2.4.1",
35
+ "ember-auto-import": "^2.4.2",
36
36
  "ember-cli": "~<%= emberCLIVersion %>",
37
37
  "ember-cli-app-version": "^5.0.0",
38
38
  "ember-cli-babel": "^7.26.11",
@@ -42,30 +42,29 @@
42
42
  "ember-cli-sri": "^2.1.1",
43
43
  "ember-cli-terser": "^4.0.2",
44
44
  "ember-data": "~4.4.0",
45
- "ember-export-application-global": "^2.0.1",
46
45
  "ember-fetch": "^8.1.1",
47
46
  "ember-load-initializers": "^2.1.2",
48
47
  "ember-page-title": "^7.0.0",
49
48
  "ember-qunit": "^5.1.5",
50
49
  "ember-resolver": "^8.0.3",
51
- "ember-source": "~4.4.0",
52
- "ember-template-lint": "^4.8.0<% if (welcome) { %>",
50
+ "ember-source": "~4.6.0-beta.2",
51
+ "ember-template-lint": "^4.10.0<% if (welcome) { %>",
53
52
  "ember-welcome-page": "^6.2.0<% } %>",
54
53
  "eslint": "^7.32.0",
55
54
  "eslint-config-prettier": "^8.5.0",
56
55
  "eslint-plugin-ember": "^10.6.1",
57
56
  "eslint-plugin-node": "^11.1.0",
58
57
  "eslint-plugin-prettier": "^4.0.0",
59
- "eslint-plugin-qunit": "^7.2.0",
58
+ "eslint-plugin-qunit": "^7.3.0",
60
59
  "loader.js": "^4.7.0",
61
60
  "npm-run-all": "^4.1.5",
62
- "prettier": "^2.6.2",
61
+ "prettier": "^2.7.1",
63
62
  "qunit": "^2.19.1",
64
63
  "qunit-dom": "^2.0.0",
65
- "webpack": "^5.72.1"
64
+ "webpack": "^5.73.0"
66
65
  },
67
66
  "engines": {
68
- "node": "12.* || 14.* || >= 16"
67
+ "node": "14.* || >= 16"
69
68
  },
70
69
  "ember": {
71
70
  "edition": "octane"
@@ -3,6 +3,7 @@
3
3
  const stringUtil = require('ember-cli-string-utils');
4
4
  const chalk = require('chalk');
5
5
  const { isExperimentEnabled } = require('../../lib/experiments');
6
+ const directoryForPackageName = require('../../lib/utilities/directory-for-package-name');
6
7
 
7
8
  module.exports = {
8
9
  description: 'The default blueprint for ember-cli projects.',
@@ -43,6 +44,7 @@ module.exports = {
43
44
  }
44
45
 
45
46
  return {
47
+ appDirectory: directoryForPackageName(name),
46
48
  name,
47
49
  modulePrefix: name,
48
50
  namespace,
@@ -2,20 +2,4 @@
2
2
 
3
3
  module.exports = {
4
4
  description: 'Generates a blueprint and definition.',
5
-
6
- files() {
7
- let files = this._super.files.apply(this, arguments);
8
-
9
- if (!this.hasJSHint()) {
10
- files = files.filter((file) => file !== 'blueprints/.jshintrc');
11
- }
12
-
13
- return files;
14
- },
15
-
16
- hasJSHint() {
17
- if (this.project) {
18
- return 'ember-cli-jshint' in this.project.dependencies();
19
- }
20
- },
21
5
  };
@@ -69,9 +69,12 @@ module.exports = {
69
69
  let newPathIndex = paths.indexOf(newPath);
70
70
  if (newPathIndex > -1) {
71
71
  paths.splice(newPathIndex, 1);
72
- if (paths.length === 0) {
73
- delete contents['ember-addon']['paths'];
74
- }
72
+ }
73
+ if (paths.length === 0) {
74
+ delete contents['ember-addon']['paths'];
75
+ }
76
+ if (Object.keys(contents['ember-addon']).length === 0) {
77
+ delete contents['ember-addon'];
75
78
  }
76
79
  }
77
80
 
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const isPackageMissing = require('ember-cli-is-package-missing');
4
+ const { deprecate } = require('../../lib/debug');
4
5
 
5
6
  module.exports = {
6
7
  description: 'Generates a server directory for mocks and proxies.',
@@ -28,12 +29,28 @@ module.exports = {
28
29
  },
29
30
 
30
31
  files() {
31
- return ['server/index.js', this.hasJSHint() ? 'server/.jshintrc' : 'server/.eslintrc.js'];
32
+ let files = ['server/index.js'];
33
+
34
+ if (this.hasJSHint()) {
35
+ files.push('server/.jshintrc');
36
+ }
37
+
38
+ return files;
32
39
  },
33
40
 
34
41
  hasJSHint() {
35
- if (this.project) {
36
- return 'ember-cli-jshint' in this.project.dependencies();
37
- }
42
+ let hasJSHint = Boolean(this.project) && 'ember-cli-jshint' in this.project.dependencies();
43
+
44
+ deprecate('Support for `ember-cli-jshint` is deprecated. We recommend using `eslint` instead.', !hasJSHint, {
45
+ for: 'ember-cli',
46
+ id: 'ember-cli.ember-cli-jshint-support',
47
+ since: {
48
+ available: '4.6.0',
49
+ enabled: '4.6.0',
50
+ },
51
+ until: '5.0.0',
52
+ });
53
+
54
+ return hasJSHint;
38
55
  },
39
56
  };
@@ -1,10 +1,23 @@
1
1
  'use strict';
2
2
 
3
3
  const stringUtil = require('ember-cli-string-utils');
4
+ const { deprecate } = require('../../lib/debug');
4
5
 
5
6
  module.exports = {
6
7
  description: 'Generates an ES6 module shim for global libraries.',
7
8
 
9
+ beforeInstall() {
10
+ deprecate('The `vendor-shim` blueprint is deprecated. Please use `ember-auto-import` instead.', false, {
11
+ for: 'ember-cli',
12
+ id: 'ember-cli.vendor-shim-blueprint',
13
+ since: {
14
+ available: '4.6.0',
15
+ enabled: '4.6.0',
16
+ },
17
+ until: '5.0.0',
18
+ });
19
+ },
20
+
8
21
  locals(options) {
9
22
  let entity = options.entity;
10
23
  let rawName = entity.name;