Repository: ember-cli/ember-cli
Pull request #8961 (2019-12-11 23:33:30)

Set Octane for 3.15 release
* Adds `ember` property to `package.json` to implement emberjs/rfcs#558
* Adds `@glimmer/component@1.0.0` as a development dependency for both apps and addons
* Updates `ember-try` to at least 1.4.0 in order to support `config/ember-try.js` scenarios with `ember` `package.json` property (mentioned in emberjs/rfcs#558)
* Enables Octane related optional features
* Updates ember-template-lint configuration to use `octane` preset
* Update to ember-source@3.15 stable
* Updates all packages in the application blueprint to their latest version


Patch:
diff --git a/blueprints/addon/files/config/optional-features.json b/blueprints/addon/files/config/optional-features.json
index b1902623a..b26286e2e 100644
--- a/blueprints/addon/files/config/optional-features.json
+++ b/blueprints/addon/files/config/optional-features.json
@@ -1,3 +1,6 @@
 {
-  "jquery-integration": false
+  "application-template-wrapper": false,
+  "default-async-observers": true,
+  "jquery-integration": false,
+  "template-only-glimmer-components": true
 }
diff --git a/blueprints/addon/index.js b/blueprints/addon/index.js
index ba2796aa0..678575dab 100644
--- a/blueprints/addon/index.js
+++ b/blueprints/addon/index.js
@@ -75,7 +75,7 @@ module.exports = {
     contents.devDependencies['ember-disable-prototype-extensions'] = '^1.1.3';
 
     // add ember-try
-    contents.devDependencies['ember-try'] = '^1.2.1';
+    contents.devDependencies['ember-try'] = '^1.4.0';
 
     // add ember-source-channel-url
     contents.devDependencies['ember-source-channel-url'] = '^2.0.1';
diff --git a/blueprints/app/files/.template-lintrc.js b/blueprints/app/files/.template-lintrc.js
index b45e96ffd..f38737001 100644
--- a/blueprints/app/files/.template-lintrc.js
+++ b/blueprints/app/files/.template-lintrc.js
@@ -1,5 +1,5 @@
 'use strict';
 
 module.exports = {
-  extends: 'recommended'
+  extends: 'octane'
 };
diff --git a/blueprints/app/files/config/optional-features.json b/blueprints/app/files/config/optional-features.json
index b1902623a..b26286e2e 100644
--- a/blueprints/app/files/config/optional-features.json
+++ b/blueprints/app/files/config/optional-features.json
@@ -1,3 +1,6 @@
 {
-  "jquery-integration": false
+  "application-template-wrapper": false,
+  "default-async-observers": true,
+  "jquery-integration": false,
+  "template-only-glimmer-components": true
 }
diff --git a/blueprints/app/files/package.json b/blueprints/app/files/package.json
index 734447c72..01a97f21e 100644
--- a/blueprints/app/files/package.json
+++ b/blueprints/app/files/package.json
@@ -18,35 +18,39 @@
     "test": "ember test"
   },
   "devDependencies": {
-    "@ember/optional-features": "^1.0.0",
+    "@ember/optional-features": "^1.1.0",
+    "@glimmer/component": "^1.0.0",
     "babel-eslint": "^10.0.3",
     "broccoli-asset-rev": "^3.0.0",
-    "ember-auto-import": "^1.5.2",
+    "ember-auto-import": "^1.5.3",
     "ember-cli": "~<%= emberCLIVersion %>",
     "ember-cli-app-version": "^3.2.0",
-    "ember-cli-babel": "^7.11.1",
-    "ember-cli-dependency-checker": "^3.1.0",
+    "ember-cli-babel": "^7.13.0",
+    "ember-cli-dependency-checker": "^3.2.0",
     "ember-cli-eslint": "^5.1.0",
-    "ember-cli-htmlbars": "^4.0.5",
+    "ember-cli-htmlbars": "^4.2.0",
     "ember-cli-inject-live-reload": "^2.0.1",
     "ember-cli-sri": "^2.1.1",
     "ember-cli-template-lint": "^1.0.0-beta.3",
     "ember-cli-uglify": "^3.0.0",
     "ember-data": "~3.15.0-beta.0",
-    "ember-export-application-global": "^2.0.0",
-    "ember-fetch": "^6.7.0",
-    "ember-load-initializers": "^2.1.0",
+    "ember-export-application-global": "^2.0.1",
+    "ember-fetch": "^7.0.0",
+    "ember-load-initializers": "^2.1.1",
     "ember-maybe-import-regenerator": "^0.1.6",
-    "ember-qunit": "^4.5.1",
-    "ember-resolver": "^5.3.0",
-    "ember-source": "~3.15.0-beta.1<% if (welcome) { %>",
+    "ember-qunit": "^4.6.0",
+    "ember-resolver": "^6.0.0",
+    "ember-source": "~3.15.0<% if (welcome) { %>",
     "ember-welcome-page": "^4.0.0<% } %>",
-    "eslint-plugin-ember": "^7.1.0",
+    "eslint-plugin-ember": "^7.7.1",
     "eslint-plugin-node": "^10.0.0",
     "loader.js": "^4.7.0",
-    "qunit-dom": "^0.9.0"
+    "qunit-dom": "^0.9.2"
   },
   "engines": {
     "node": "8.* || >= 10.*"
+  },
+  "ember": {
+    "edition": "octane"
   }
 }


Test patch:
diff --git a/tests/acceptance/brocfile-smoke-test-slow.js b/tests/acceptance/brocfile-smoke-test-slow.js
index d30a8ad5a..f37d8cd88 100644
--- a/tests/acceptance/brocfile-smoke-test-slow.js
+++ b/tests/acceptance/brocfile-smoke-test-slow.js
@@ -53,7 +53,8 @@ describe('Acceptance: brocfile-smoke-test', function() {
         });
 
         // Changes in config/optional-features.json end up being set in EmberENV
-        let expected = '(window.EmberENV || {}, {"asdflkmawejf":";jlnu3yr23","_JQUERY_INTEGRATION":false});';
+        let expected =
+          '(window.EmberENV || {}, {"asdflkmawejf":";jlnu3yr23","_APPLICATION_TEMPLATE_WRAPPER":false,"_DEFAULT_ASYNC_OBSERVERS":true,"_JQUERY_INTEGRATION":false,"_TEMPLATE_ONLY_GLIMMER_COMPONENTS":true});';
         expect(vendorContents).to.contain(expected, 'EmberENV should be in assets/vendor.js');
       })
     );
diff --git a/tests/fixtures/addon/kitchen-sink/tests/dummy/app/templates/application.hbs b/tests/fixtures/addon/kitchen-sink/tests/dummy/app/templates/application.hbs
index 885261e68..50b5fd9f4 100644
--- a/tests/fixtures/addon/kitchen-sink/tests/dummy/app/templates/application.hbs
+++ b/tests/fixtures/addon/kitchen-sink/tests/dummy/app/templates/application.hbs
@@ -1,2 +1,2 @@
-{{#basic-thing}}WOOT!!{{/basic-thing}}
-{{#second-thing}}SECOND!!{{/second-thing}}
+<BasicThing>WOOT!!</BasicThing>
+<SecondThing>SECOND!!</SecondThing>
diff --git a/tests/fixtures/addon/npm/package.json b/tests/fixtures/addon/npm/package.json
index 3337b762e..16020af02 100644
--- a/tests/fixtures/addon/npm/package.json
+++ b/tests/fixtures/addon/npm/package.json
@@ -21,38 +21,42 @@
     "test:all": "ember try:each"
   },
   "dependencies": {
-    "ember-cli-babel": "^7.11.1",
-    "ember-cli-htmlbars": "^4.0.5"
+    "ember-cli-babel": "^7.13.0",
+    "ember-cli-htmlbars": "^4.2.0"
   },
   "devDependencies": {
-    "@ember/optional-features": "^1.0.0",
+    "@ember/optional-features": "^1.1.0",
+    "@glimmer/component": "^1.0.0",
     "babel-eslint": "^10.0.3",
     "broccoli-asset-rev": "^3.0.0",
-    "ember-auto-import": "^1.5.2",
+    "ember-auto-import": "^1.5.3",
     "ember-cli": "~<%= emberCLIVersion %>",
-    "ember-cli-dependency-checker": "^3.1.0",
+    "ember-cli-dependency-checker": "^3.2.0",
     "ember-cli-eslint": "^5.1.0",
     "ember-cli-inject-live-reload": "^2.0.1",
     "ember-cli-sri": "^2.1.1",
     "ember-cli-template-lint": "^1.0.0-beta.3",
     "ember-cli-uglify": "^3.0.0",
     "ember-disable-prototype-extensions": "^1.1.3",
-    "ember-export-application-global": "^2.0.0",
-    "ember-load-initializers": "^2.1.0",
+    "ember-export-application-global": "^2.0.1",
+    "ember-load-initializers": "^2.1.1",
     "ember-maybe-import-regenerator": "^0.1.6",
-    "ember-qunit": "^4.5.1",
-    "ember-resolver": "^5.3.0",
-    "ember-source": "~3.15.0-beta.1",
+    "ember-qunit": "^4.6.0",
+    "ember-resolver": "^6.0.0",
+    "ember-source": "~3.15.0",
     "ember-source-channel-url": "^2.0.1",
-    "ember-try": "^1.2.1",
-    "eslint-plugin-ember": "^7.1.0",
+    "ember-try": "^1.4.0",
+    "eslint-plugin-ember": "^7.7.1",
     "eslint-plugin-node": "^10.0.0",
     "loader.js": "^4.7.0",
-    "qunit-dom": "^0.9.0"
+    "qunit-dom": "^0.9.2"
   },
   "engines": {
     "node": "8.* || >= 10.*"
   },
+  "ember": {
+    "edition": "octane"
+  },
   "ember-addon": {
     "configPath": "tests/dummy/config"
   }
diff --git a/tests/fixtures/addon/yarn/package.json b/tests/fixtures/addon/yarn/package.json
index 9037b9817..6ec54c16d 100644
--- a/tests/fixtures/addon/yarn/package.json
+++ b/tests/fixtures/addon/yarn/package.json
@@ -21,39 +21,43 @@
     "test:all": "ember try:each"
   },
   "dependencies": {
-    "ember-cli-babel": "^7.11.1",
-    "ember-cli-htmlbars": "^4.0.5"
+    "ember-cli-babel": "^7.13.0",
+    "ember-cli-htmlbars": "^4.2.0"
   },
   "devDependencies": {
-    "@ember/optional-features": "^1.0.0",
+    "@ember/optional-features": "^1.1.0",
+    "@glimmer/component": "^1.0.0",
     "babel-eslint": "^10.0.3",
     "broccoli-asset-rev": "^3.0.0",
-    "ember-auto-import": "^1.5.2",
+    "ember-auto-import": "^1.5.3",
     "ember-cli": "~<%= emberCLIVersion %>",
-    "ember-cli-dependency-checker": "^3.1.0",
+    "ember-cli-dependency-checker": "^3.2.0",
     "ember-cli-eslint": "^5.1.0",
     "ember-cli-inject-live-reload": "^2.0.1",
     "ember-cli-sri": "^2.1.1",
     "ember-cli-template-lint": "^1.0.0-beta.3",
     "ember-cli-uglify": "^3.0.0",
     "ember-disable-prototype-extensions": "^1.1.3",
-    "ember-export-application-global": "^2.0.0",
-    "ember-load-initializers": "^2.1.0",
+    "ember-export-application-global": "^2.0.1",
+    "ember-load-initializers": "^2.1.1",
     "ember-maybe-import-regenerator": "^0.1.6",
-    "ember-qunit": "^4.5.1",
-    "ember-resolver": "^5.3.0",
-    "ember-source": "~3.15.0-beta.1",
+    "ember-qunit": "^4.6.0",
+    "ember-resolver": "^6.0.0",
+    "ember-source": "~3.15.0",
     "ember-source-channel-url": "^2.0.1",
-    "ember-try": "^1.2.1",
+    "ember-try": "^1.4.0",
     "ember-welcome-page": "^4.0.0",
-    "eslint-plugin-ember": "^7.1.0",
+    "eslint-plugin-ember": "^7.7.1",
     "eslint-plugin-node": "^10.0.0",
     "loader.js": "^4.7.0",
-    "qunit-dom": "^0.9.0"
+    "qunit-dom": "^0.9.2"
   },
   "engines": {
     "node": "8.* || >= 10.*"
   },
+  "ember": {
+    "edition": "octane"
+  },
   "ember-addon": {
     "configPath": "tests/dummy/config"
   }
diff --git a/tests/fixtures/app/npm/package.json b/tests/fixtures/app/npm/package.json
index 375302f80..647c33b48 100644
--- a/tests/fixtures/app/npm/package.json
+++ b/tests/fixtures/app/npm/package.json
@@ -18,34 +18,38 @@
     "test": "ember test"
   },
   "devDependencies": {
-    "@ember/optional-features": "^1.0.0",
+    "@ember/optional-features": "^1.1.0",
+    "@glimmer/component": "^1.0.0",
     "babel-eslint": "^10.0.3",
     "broccoli-asset-rev": "^3.0.0",
-    "ember-auto-import": "^1.5.2",
+    "ember-auto-import": "^1.5.3",
     "ember-cli": "~<%= emberCLIVersion %>",
     "ember-cli-app-version": "^3.2.0",
-    "ember-cli-babel": "^7.11.1",
-    "ember-cli-dependency-checker": "^3.1.0",
+    "ember-cli-babel": "^7.13.0",
+    "ember-cli-dependency-checker": "^3.2.0",
     "ember-cli-eslint": "^5.1.0",
-    "ember-cli-htmlbars": "^4.0.5",
+    "ember-cli-htmlbars": "^4.2.0",
     "ember-cli-inject-live-reload": "^2.0.1",
     "ember-cli-sri": "^2.1.1",
     "ember-cli-template-lint": "^1.0.0-beta.3",
     "ember-cli-uglify": "^3.0.0",
     "ember-data": "~3.15.0-beta.0",
-    "ember-export-application-global": "^2.0.0",
-    "ember-fetch": "^6.7.0",
-    "ember-load-initializers": "^2.1.0",
+    "ember-export-application-global": "^2.0.1",
+    "ember-fetch": "^7.0.0",
+    "ember-load-initializers": "^2.1.1",
     "ember-maybe-import-regenerator": "^0.1.6",
-    "ember-qunit": "^4.5.1",
-    "ember-resolver": "^5.3.0",
-    "ember-source": "~3.15.0-beta.1",
-    "eslint-plugin-ember": "^7.1.0",
+    "ember-qunit": "^4.6.0",
+    "ember-resolver": "^6.0.0",
+    "ember-source": "~3.15.0",
+    "eslint-plugin-ember": "^7.7.1",
     "eslint-plugin-node": "^10.0.0",
     "loader.js": "^4.7.0",
-    "qunit-dom": "^0.9.0"
+    "qunit-dom": "^0.9.2"
   },
   "engines": {
     "node": "8.* || >= 10.*"
+  },
+  "ember": {
+    "edition": "octane"
   }
 }
diff --git a/tests/fixtures/app/yarn/package.json b/tests/fixtures/app/yarn/package.json
index 774ee5579..d89396859 100644
--- a/tests/fixtures/app/yarn/package.json
+++ b/tests/fixtures/app/yarn/package.json
@@ -18,35 +18,39 @@
     "test": "ember test"
   },
   "devDependencies": {
-    "@ember/optional-features": "^1.0.0",
+    "@ember/optional-features": "^1.1.0",
+    "@glimmer/component": "^1.0.0",
     "babel-eslint": "^10.0.3",
     "broccoli-asset-rev": "^3.0.0",
-    "ember-auto-import": "^1.5.2",
+    "ember-auto-import": "^1.5.3",
     "ember-cli": "~<%= emberCLIVersion %>",
     "ember-cli-app-version": "^3.2.0",
-    "ember-cli-babel": "^7.11.1",
-    "ember-cli-dependency-checker": "^3.1.0",
+    "ember-cli-babel": "^7.13.0",
+    "ember-cli-dependency-checker": "^3.2.0",
     "ember-cli-eslint": "^5.1.0",
-    "ember-cli-htmlbars": "^4.0.5",
+    "ember-cli-htmlbars": "^4.2.0",
     "ember-cli-inject-live-reload": "^2.0.1",
     "ember-cli-sri": "^2.1.1",
     "ember-cli-template-lint": "^1.0.0-beta.3",
     "ember-cli-uglify": "^3.0.0",
     "ember-data": "~3.15.0-beta.0",
-    "ember-export-application-global": "^2.0.0",
-    "ember-fetch": "^6.7.0",
-    "ember-load-initializers": "^2.1.0",
+    "ember-export-application-global": "^2.0.1",
+    "ember-fetch": "^7.0.0",
+    "ember-load-initializers": "^2.1.1",
     "ember-maybe-import-regenerator": "^0.1.6",
-    "ember-qunit": "^4.5.1",
-    "ember-resolver": "^5.3.0",
-    "ember-source": "~3.15.0-beta.1",
+    "ember-qunit": "^4.6.0",
+    "ember-resolver": "^6.0.0",
+    "ember-source": "~3.15.0",
     "ember-welcome-page": "^4.0.0",
-    "eslint-plugin-ember": "^7.1.0",
+    "eslint-plugin-ember": "^7.7.1",
     "eslint-plugin-node": "^10.0.0",
     "loader.js": "^4.7.0",
-    "qunit-dom": "^0.9.0"
+    "qunit-dom": "^0.9.2"
   },
   "engines": {
     "node": "8.* || >= 10.*"
+  },
+  "ember": {
+    "edition": "octane"
   }
 }
diff --git a/tests/unit/blueprints/addon-test.js b/tests/unit/blueprints/addon-test.js
index 60dc9123e..a4700ccfa 100644
--- a/tests/unit/blueprints/addon-test.js
+++ b/tests/unit/blueprints/addon-test.js
@@ -82,7 +82,7 @@ describe('blueprint - addon', function() {
   "devDependencies": {\n\
     "ember-disable-prototype-extensions": "^1.1.3",\n\
     "ember-source-channel-url": "^2.0.1",\n\
-    "ember-try": "^1.2.1"\n\
+    "ember-try": "^1.4.0"\n\
   },\n\
   "ember-addon": {\n\
     "configPath": "tests/dummy/config"\n\