Repository: ember-cli/ember-cli (js)

Issue:
App name 'public' breaks ember-cli
Generating and starting a new app `ember new public` totally breaks ember-cli. We might want a feature where known broken names are disallowed by ember-cli.

<img width="762" alt="screen shot 2018-09-06 at 12 07 07" src="https://user-images.githubusercontent.com/334789/45150991-68d4f900-b1cd-11e8-9685-31fadfbe5d7f.png">


Pull request description:
Add `public` to the list of disallowed names
Fixes #8023

Patch:
diff --git a/RELEASE.md b/RELEASE.md
index ea22d9a34..a73af981a 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -11,7 +11,7 @@ the release gotchas and will hopefully result in a successful release.
 ### Communication
 
 - Ensure that homu isn't presently processing any PRs.
-- Post a note in [#dev-ember-cli](https://discordapp.com/channels/480462759797063690/480501885837770763) letting us know you're doing a release.
+- Post a note in [#dev-ember-cli](https://embercommunity.slack.com/archives/dev-ember-cli) letting us know you're doing a release.
 
 > I'm starting an Ember CLI release. Please hold off merging PRs, "homu r+"-ing, and pushing new code!
 
@@ -239,12 +239,12 @@ Announce release!
 https://github.com/ember-cli/ember-cli/releases/tag/vX.Y.Z
 \#emberjs
 
-### Discord
+### Slack
 
 Grab a link to your tweet and post in:
-* [#news-and-announcements](https://discordapp.com/channels/480462759797063690/480499624663056390)
-* [#dev-ember-cli](https://discordapp.com/channels/480462759797063690/480501885837770763)
-* [#ember-cli](https://discordapp.com/channels/480462759797063690/486548111221719040)
+* [#-announcements](https://embercommunity.slack.com/archives/-announcements)
+* [#dev-ember-cli](https://embercommunity.slack.com/archives/dev-ember-cli)
+* [#-ember-cli](https://embercommunity.slack.com/archives/-ember-cli)
 
 
 ## Troubleshooting
diff --git a/blueprints/module-unification-app/files/package.json b/blueprints/module-unification-app/files/package.json
index 15ba86030..b443c766c 100644
--- a/blueprints/module-unification-app/files/package.json
+++ b/blueprints/module-unification-app/files/package.json
@@ -39,7 +39,7 @@
     "ember-load-initializers": "^1.1.0",
     "ember-maybe-import-regenerator": "^0.1.6",
     "ember-resolver": "^5.0.1",
-    "ember-source": "https://s3.amazonaws.com/builds.emberjs.com/canary/shas/bc505f596c69d585d3f5b65dc50df6d802460bdb.tgz<% if (welcome) { %>",
+    "ember-source": "https://s3.amazonaws.com/builds.emberjs.com/canary/shas/49e58e45604bd63ac1001cb491195c032c050053.tgz<% if (welcome) { %>",
     "ember-welcome-page": "^3.2.0<% } %>",
     "eslint-plugin-ember": "^5.2.0",
     "loader.js": "^4.7.0",
diff --git a/lib/utilities/valid-project-name.js b/lib/utilities/valid-project-name.js
index 4951cad4d..0a83f10bf 100644
--- a/lib/utilities/valid-project-name.js
+++ b/lib/utilities/valid-project-name.js
@@ -27,6 +27,7 @@ module.exports = function(name) {
     'ember',
     'ember-cli',
     'vendor',
+    'public',
     'app',
   ];
   name = name.toLowerCase();


Test patch:
diff --git a/tests/fixtures/module-unification-addon/package.json b/tests/fixtures/module-unification-addon/package.json
index dcf4ab315..e3605b0c7 100644
--- a/tests/fixtures/module-unification-addon/package.json
+++ b/tests/fixtures/module-unification-addon/package.json
@@ -42,7 +42,7 @@
     "ember-load-initializers": "^1.1.0",
     "ember-maybe-import-regenerator": "^0.1.6",
     "ember-resolver": "^5.0.1",
-    "ember-source": "https://s3.amazonaws.com/builds.emberjs.com/canary/shas/bc505f596c69d585d3f5b65dc50df6d802460bdb.tgz",
+    "ember-source": "https://s3.amazonaws.com/builds.emberjs.com/canary/shas/49e58e45604bd63ac1001cb491195c032c050053.tgz",
     "ember-source-channel-url": "^1.0.1",
     "ember-try": "^0.2.23",
     "eslint-plugin-ember": "^5.0.0",
diff --git a/tests/fixtures/module-unification-app/npm/package.json b/tests/fixtures/module-unification-app/npm/package.json
index 34a98d6bc..096950ab7 100644
--- a/tests/fixtures/module-unification-app/npm/package.json
+++ b/tests/fixtures/module-unification-app/npm/package.json
@@ -39,7 +39,7 @@
     "ember-load-initializers": "^1.1.0",
     "ember-maybe-import-regenerator": "^0.1.6",
     "ember-resolver": "^5.0.1",
-    "ember-source": "https://s3.amazonaws.com/builds.emberjs.com/canary/shas/bc505f596c69d585d3f5b65dc50df6d802460bdb.tgz",
+    "ember-source": "https://s3.amazonaws.com/builds.emberjs.com/canary/shas/49e58e45604bd63ac1001cb491195c032c050053.tgz",
     "eslint-plugin-ember": "^5.2.0",
     "loader.js": "^4.7.0",
     "qunit-dom": "^0.7.1"
diff --git a/tests/fixtures/module-unification-app/yarn/package.json b/tests/fixtures/module-unification-app/yarn/package.json
index 3579cbdb6..679d76b2e 100644
--- a/tests/fixtures/module-unification-app/yarn/package.json
+++ b/tests/fixtures/module-unification-app/yarn/package.json
@@ -39,7 +39,7 @@
     "ember-load-initializers": "^1.1.0",
     "ember-maybe-import-regenerator": "^0.1.6",
     "ember-resolver": "^5.0.1",
-    "ember-source": "https://s3.amazonaws.com/builds.emberjs.com/canary/shas/bc505f596c69d585d3f5b65dc50df6d802460bdb.tgz",
+    "ember-source": "https://s3.amazonaws.com/builds.emberjs.com/canary/shas/49e58e45604bd63ac1001cb491195c032c050053.tgz",
     "ember-welcome-page": "^3.2.0",
     "eslint-plugin-ember": "^5.2.0",
     "loader.js": "^4.7.0",
diff --git a/tests/unit/utilities/valid-project-name-test.js b/tests/unit/utilities/valid-project-name-test.js
index 39841b6c1..9e9e27c1b 100644
--- a/tests/unit/utilities/valid-project-name-test.js
+++ b/tests/unit/utilities/valid-project-name-test.js
@@ -4,7 +4,7 @@ const validProjectName = require('../../../lib/utilities/valid-project-name');
 const expect = require('chai').expect;
 
 describe('validate project name', function() {
-  ['app', '.', 'ember', 'so-cool.', 'vendor', 'test', '1234test'].forEach(name => {
+  ['app', 'public', '.', 'ember', 'so-cool.', 'vendor', 'test', '1234test'].forEach(name => {
     it(`'${name}' is an invalid name`, function() {
       expect(validProjectName(name)).to.not.be.ok;
     });