emberjs / ember.js

Ember.js - A JavaScript framework for creating ambitious web applications
https://emberjs.com
MIT License
22.47k stars 4.21k forks source link

ember-simple-auth demo not working for me #16219

Closed MarshallSchaffer closed 6 years ago

MarshallSchaffer commented 6 years ago

Hi. Yesterday, I spent hours trying to install ember-simple-auth. I want to see how the demo works.

I am using the following versions

Ember 2.18, node v8.9.4, npm 5.6.0, git version 2.16.1.windows.2, eslint v4.17.0, the current versions of qunit and mocha, yarn, etc. etc.

I followed the instruction on https://github.com/simplabs/ember-simple-auth#readme , beginning with git clone https://github.com/simplabs/ember-simple-auth.git

The output was

C:\Javascript\Ember7\ember-simple-auth>yarn install yarn install v1.3.2 [1/5] Validating package.json... [2/5] Resolving packages... [3/5] Fetching packages... info fsevents@1.1.3: The platform "win32" is incompatible with this module. info "fsevents@1.1.3" is an optional dependency and failed compatibility check. Excluding it from installation. [4/5] Linking dependencies... warning " > eslint-config-simplabs@0.4.0" has unmet peer dependency "eslint@>= 3". warning " > eslint-plugin-mocha@4.11.0" has unmet peer dependency "eslint@^2.0.0 || ^3.0.0 || ^4.0.0". warning " > sinon-chai@2.14.0" has unmet peer dependency "sinon@^1.4.0 || ^2.1.0 || ^3.0.0 || ^4.0.0". [5/5] Building fresh packages... success Saved lockfile.

But when I tried to do "ember serve", I got

C:\Javascript\Ember7\ember-simple-auth>ember s DEPRECATION: An addon is trying to access project.nodeModulesPath. This is not a reliable way to discover npm modules. Instead, consider doing: require("resolve").sync(something, { basedir: project.root }). Accessed from: new NPMDependencyVersionChecker (C:\Javascript\Ember7\ember-simple-auth\node_modules\ember-cli-version-checker\src\npm-dependency-version-checker.js:11:33) WARNING: ember-decorators (used in ember-popper): You have not installed @ember-decorators/babel-transforms. It has been extracted to a separate addon. See instructions for installation: https://github.com/ember-decorators/babel-transforms#readme ember-getowner-polyfill is not required for Ember 2.3.0 and later, please remove from your package.json. The "group" options can only be used with a "testGenerator" option of: qunit,mocha Error: The "group" options can only be used with a "testGenerator" option of: qunit,mocha at Function.EslintValidationFilter.create (C:\Javascript\Ember7\ember-simple-auth\node_modules\broccoli-lint-eslint\lib\index.js:205:11) at Class.lintTree (C:\Javascript\Ember7\ember-simple-auth\node_modules\ember-cli-eslint\index.js:44:19) at project.addons.reduce (C:\Javascript\Ember7\ember-simple-auth\node_modules\ember-cli\lib\models\addon.js:428:26) at Array.reduce () at Class._eachProjectAddonInvoke (C:\Javascript\Ember7\ember-simple-auth\node_modules\ember-cli\lib\models\addon.js:425:32) at Class.jshintAddonTree (C:\Javascript\Ember7\ember-simple-auth\node_modules\ember-cli\lib\models\addon.js:1136:35) at Class.treeFor (C:\Javascript\Ember7\ember-simple-auth\node_modules\ember-cli\lib\models\addon.js:545:23) at project.addons.reduce (C:\Javascript\Ember7\ember-simple-auth\node_modules\ember-cli\lib\broccoli\ember-app.js:630:25) at Array.reduce () at EmberAddon.addonTreesFor (C:\Javascript\Ember7\ember-simple-auth\node_modules\ember-cli\lib\broccoli\ember-app.js:628:32)

Since then, I've tried installing @ember-decorators/babel-transforms, ESlint, qunit, mocha, broccoli.
"Also," my attempts to install ember-decorators/babel-transforms fail, regard of whether or not I use the "-S" option. I have tried this several times:

WARNING: ember-decorators (used in ember-popper): You have not installed @ember-decorators/babel-transforms. It has been extracted to a separate addon. See instructions for installation: https://github.com/ember-decorators/babel-transforms#readme

After updating "everything," here is the LATEST OUTPUT:

C:\Javascript\Ember8\ember-simple-auth>ember s DEPRECATION: An addon is trying to access project.nodeModulesPath. This is not a reliable way to discover npm modules. Instead, consider doing: require("resolve").sync(something, { basedir: project.root }). Accessed from: new NPMDependencyVersionChecker (C:\Javascript\Ember8\ember-simple-auth\node_modules\ember-cli-version-checker\src\npm-dependency-version-checker.js:11:33) WARNING: ember-decorators (used in ember-popper): You have not installed @ember-decorators/babel-transforms. It has been extracted to a separate addon. See instructions for installation: https://github.com/ember-decorators/babel-transforms#readme The "group" options can only be used with a "testGenerator" option of: qunit,mocha Error: The "group" options can only be used with a "testGenerator" option of: qunit,mocha at Function.EslintValidationFilter.create (C:\Javascript\Ember8\ember-simple-auth\node_modules\broccoli-lint-eslint\lib\index.js:205:11) at Class.lintTree (C:\Javascript\Ember8\ember-simple-auth\node_modules\ember-cli-eslint\index.js:44:19) at project.addons.reduce (C:\Javascript\Ember8\ember-simple-auth\node_modules\ember-cli\lib\models\addon.js:428:26) at Array.reduce () at Class._eachProjectAddonInvoke (C:\Javascript\Ember8\ember-simple-auth\node_modules\ember-cli\lib\models\addon.js:425:32) at Class.jshintAddonTree (C:\Javascript\Ember8\ember-simple-auth\node_modules\ember-cli\lib\models\addon.js:1136:35) at Class.treeFor (C:\Javascript\Ember8\ember-simple-auth\node_modules\ember-cli\lib\models\addon.js:545:23) at project.addons.reduce (C:\Javascript\Ember8\ember-simple-auth\node_modules\ember-cli\lib\broccoli\ember-app.js:630:25) at Array.reduce () at EmberAddon.addonTreesFor (C:\Javascript\Ember8\ember-simple-auth\node_modules\ember-cli\lib\broccoli\ember-app.js:628:32)

I don't feel like I am getting anywhere. I'd appreciate some advice. Thank you.

MarshallSchaffer commented 6 years ago

After running yarn, the results were:

C:\Javascript\Ember9\ember-simple-auth>yarn install yarn install v1.3.2 [1/5] Validating package.json... [2/5] Resolving packages... [3/5] Fetching packages... info fsevents@1.1.3: The platform "win32" is incompatible with this module. info "fsevents@1.1.3" is an optional dependency and failed compatibility check. Excluding it from installation. [4/5] Linking dependencies... warning " > eslint-config-simplabs@0.4.0" has unmet peer dependency "eslint@>= 3". warning " > eslint-plugin-mocha@4.11.0" has unmet peer dependency "eslint@^2.0.0 || ^3.0.0 || ^4.0.0". warning " > sinon-chai@2.14.0" has unmet peer dependency "sinon@^1.4.0 || ^2.1.0 || ^3.0.0 || ^4.0.0". [5/5] Building fresh packages... success Saved lockfile. Done in 764.07s.

It seemed to be complaining about eslint, so I installed that:

I decided to address the eslint warnings, by installing eslint

I used this one: https://emberobserver.com/addons/ember-cli-eslint b/c it has a very good reputation: #8 out of 100 top add-ins.

The README.md file says to install it thus: ember install ember-cli-eslint@4 IN THE PROJECT

When it was installing, it asked if I wanted to overwrite two files from ember-simple-auth. I said "Yes." I think I should have said "No", but the program still runs, albeit with an error, which I show at the bottom of this post. Keep reading...

I tried to re-install ember-decorators/babel-transforms; it seemed to install OK:

C:\Javascript\Ember9\ember-simple-auth>ember install -S @ember-decorators/babel-transforms DEPRECATION: An addon is trying to access project.nodeModulesPath. This is not a reliable way to discover npm modules. Instead, consider doing: require("resolve").sync(something, { basedir: project.root }). Accessed from: new NPMDependencyVersionChecker (C:\Javascript\Ember9\ember-simple-auth\node_modules\ember-cli-version-checker\src\npm-dependency-version-checker.js:11:33) Yarn: Installed @ember-decorators/babel-transforms Installed addon package.

The $64,000 question: does "ember serve" work correctly to show the auth app? The answer, with a couple of glitches, is "yes!"

C:\Javascript\Ember9\ember-simple-auth>ember s DEPRECATION: An addon is trying to access project.nodeModulesPath. This is not a reliable way to discover npm modules. Instead, consider doing: require("resolve").sync(something, { basedir: project.root }). Accessed from: new NPMDependencyVersionChecker (C:\Javascript\Ember9\ember-simple-auth\node_modules\ember-cli-version-checker\src\npm-dependency-version-checker.js:11:33) WARNING: ember-decorators (used in ember-popper): You have not installed @ember-decorators/babel-transforms. It has been extracted to a separate addon. See instructions for installation: https://github.com/ember-decorators/babel-transforms#readme

Notice: It is still complaining about the ember-decorators... But wait...there's more!

C:\Javascript\Ember9\ember-simple-auth\tests\unit\internal-session-test.js 396:7 error 'afterEach' is not defined no-undef

✖ 1 problem (1 error, 0 warnings)

C:\Javascript\Ember9\ember-simple-auth\tests\unit\session-stores\shared\storage-event-handler-behavior.js 20:5 error 'afterEach' is not defined no-undef

✖ 1 problem (1 error, 0 warnings)

C:\Javascript\Ember9\ember-simple-auth\tests\unit\session-stores\shared\store-behavior.js 15:3 error 'afterEach' is not defined no-undef

✖ 1 problem (1 error, 0 warnings)

Build successful (32650ms) – Serving on http://localhost:4200/ App is being served by FastBoot

(Author's note: NOW it shows the Auth Demo (despite the above errors). Hurrah! What follows are me trying the app. I was able to login, view the protected page, logout, and the protected page redirected me to the login page, all as expected.)

2018-02-07T01:35:35.796Z 200 OK / GET / 200 6121.995 ms - - GET /ember-cli-live-reload.js 200 3.170 ms - 334Total (avg) GET /assets/dummy.css 200 21.129 ms - 212-----+--------------------- GET /assets/dummy.js 200 3.212 ms - - | 18714ms (550 ms) GET /assets/vendor.css 200 182.470 ms - - | 2822ms (564 ms) GET /assets/vendor.js 200 8.130 ms - - | 2782ms (77 ms) GET /favicon.ico 404 2.485 ms - 150 | 2162ms (180 ms) POST /token 200 0.742 ms - 52 GET /accounts/1 200 1001.533 ms - 89 GET /posts 200 0.874 ms - 160 GET /posts/3 401 0.371 ms - - POST /revoke 200 0.391 ms - - 2018-02-07T01:38:54.294Z 200 OK / GET / 200 49.648 ms - - GET /ember-cli-live-reload.js 304 1.039 ms - - GET /assets/vendor.css 304 1.606 ms - - GET /assets/dummy.css 304 1.129 ms - - GET /assets/dummy.js 304 1.240 ms - - GET /assets/vendor.js 304 1.818 ms - - POST /token 200 0.308 ms - 52 GET /posts 304 0.449 ms - - GET /accounts/1 304 1002.484 ms - - GET /posts 304 0.355 ms - - GET /posts 304 0.366 ms - - GET /posts 304 0.347 ms - - POST /revoke 200 0.137 ms - - 2018-02-07T01:39:46.729Z 200 OK / GET / 200 43.911 ms - - GET /ember-cli-live-reload.js 304 0.815 ms - - GET /assets/vendor.css 304 0.913 ms - - GET /assets/dummy.css 304 0.936 ms - - GET /assets/vendor.js 304 1.504 ms - - GET /assets/dummy.js 304 1.280 ms - - POST /token 200 0.320 ms - 52 GET /posts 304 0.331 ms - - GET /accounts/1 304 1000.601 ms - - GET /posts 304 0.400 ms - - GET /posts 304 0.344 ms - - POST /revoke 200 0.155 ms - - 2018-02-07T01:41:28.014Z 200 OK / GET / 200 46.219 ms - - GET /ember-cli-live-reload.js 304 0.938 ms - - GET /assets/vendor.css 304 1.163 ms - - GET /assets/dummy.css 304 1.761 ms - - GET /assets/dummy.js 304 0.960 ms - - GET /assets/vendor.js 304 1.277 ms - -

MarshallSchaffer commented 6 years ago

P.S. Here are my conclusions, which I will test shortly:

  1. Download the Ember-simple-auto demo app. Do not run "yarn" yet.
  2. Install Eslint. Perhaps this will cause the warnings I saw to not occur, b/c Eslint will be present when you run yarn.
  3. Run "yarn"
  4. At some point in this install, you will be asked if you want to overwrite two files in the auth code with two files from Eslint. I suggest you either compare the files and/or choose "No" to NOT overwrite the two files (which seem to be specific to the Auth testing!).