diff --git a/.babelrc b/.babelrc index bde6914ee..287b76b83 100644 --- a/.babelrc +++ b/.babelrc @@ -1,4 +1,10 @@ { - "presets": ["es2015"], - "plugins": ["transform-class-properties"] -} \ No newline at end of file + "plugins": ["@babel/plugin-proposal-class-properties"], + "presets": [ + ["@babel/preset-env", { + "targets": { + "node": "12" + } + }] + ] +} diff --git a/.gitbook/assets/angular-fullstack-logo.svg b/.gitbook/assets/angular-fullstack-logo.svg new file mode 100644 index 000000000..bf40810ac --- /dev/null +++ b/.gitbook/assets/angular-fullstack-logo.svg @@ -0,0 +1,9045 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.gitbook/assets/image (1).png b/.gitbook/assets/image (1).png new file mode 100644 index 000000000..8079c8294 Binary files /dev/null and b/.gitbook/assets/image (1).png differ diff --git a/.gitbook/assets/image (2).png b/.gitbook/assets/image (2).png new file mode 100644 index 000000000..467d4479a Binary files /dev/null and b/.gitbook/assets/image (2).png differ diff --git a/.gitbook/assets/image (3).png b/.gitbook/assets/image (3).png new file mode 100644 index 000000000..feed1d2cc Binary files /dev/null and b/.gitbook/assets/image (3).png differ diff --git a/.gitbook/assets/image (4).png b/.gitbook/assets/image (4).png new file mode 100644 index 000000000..faab366dc Binary files /dev/null and b/.gitbook/assets/image (4).png differ diff --git a/.gitbook/assets/image (5).png b/.gitbook/assets/image (5).png new file mode 100644 index 000000000..20a98b6b2 Binary files /dev/null and b/.gitbook/assets/image (5).png differ diff --git a/.gitbook/assets/image (6).png b/.gitbook/assets/image (6).png new file mode 100644 index 000000000..dfc1ea68c Binary files /dev/null and b/.gitbook/assets/image (6).png differ diff --git a/.gitbook/assets/image (7).png b/.gitbook/assets/image (7).png new file mode 100644 index 000000000..a3f223f39 Binary files /dev/null and b/.gitbook/assets/image (7).png differ diff --git a/.gitbook/assets/image.png b/.gitbook/assets/image.png new file mode 100644 index 000000000..a3f223f39 Binary files /dev/null and b/.gitbook/assets/image.png differ diff --git a/.gitignore b/.gitignore index 230257f1f..88c5c584e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ bower_components demo .idea .DS_Store -release.txt \ No newline at end of file +release.txt +static diff --git a/.npmignore b/.npmignore index e54390670..5106adfe8 100644 --- a/.npmignore +++ b/.npmignore @@ -1,11 +1,18 @@ -./angular-fullstack-deps -./test -./.idea -./src -./scripts -./ISSUE_TEMPLATE.md -./PULL_REQUEST_TEMPLATE.md -./.travis.yml -./gulpfile.babel.js -./Gruntfile.js -./.jshintrc \ No newline at end of file +angular-fullstack-deps +test +.idea +src +scripts +ISSUE_TEMPLATE.md +PULL_REQUEST_TEMPLATE.md +/.travis.yml +gulpfile.js +Gruntfile.js +.jshintrc +/mocha.conf.js +/media +/docs +/task-utils +/.git* +/circle.yml +/.editorconfig diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 4e2b9e3f8..000000000 --- a/.travis.yml +++ /dev/null @@ -1,32 +0,0 @@ -sudo: false -language: node_js -node_js: - - 4.2.3 -env: - global: - - SAUCE_USERNAME=fullstack_ci - - SAUCE_ACCESS_KEY=1a527ca6-4aa5-4618-86ce-0278bf158cbf -matrix: - fast_finish: true - allow_failures: - - node_js: 5.1.1 -before_install: - - ./scripts/sauce_connect_setup.sh - - gem update --system - - gem install sass --version "=3.3.7" - - npm install -g bower grunt-cli -services: mongodb -cache: - directories: - - node_modules - - test/fixtures/node_modules - - test/fixtures/bower_components -notifications: - webhooks: - urls: - - secure: "DhPNqHXuUIeIGE9Ek3+63qhco+4MozXqMZL6dAKoq1MHQ2RAPO6SYIkUYZqDnuWYlwWao2EnTYcDREivIV/m/RnkP9bKlpX/n/RNJe+X4bwFaCU55fVKgkAFn3takSBC5SVoeTWHdWu3WhhqSdioWjT7mlE1wtt/RanSMb5Id8M=" - on_success: change # options: [always|never|change] default: always - on_failure: always # options: [always|never|change] default: always - on_start: false # default: false -git: - submodules: false diff --git a/CHANGELOG.md b/CHANGELOG.md index c3ec1c599..80fb3e1ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,470 @@ + +# [5.0.0-rc.4](https://github.com/angular-fullstack/generator-angular-fullstack/compare/5.0.0-rc.1...v5.0.0-rc.4) (2018-08-11) + + +### Bug Fixes + +* **auth:** fix change password form ([4b147a4](https://github.com/angular-fullstack/generator-angular-fullstack/commit/4b147a4)), closes [#2747](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2747) +* **client:** hotfix for Babel bug ([73d1e29](https://github.com/angular-fullstack/generator-angular-fullstack/commit/73d1e29)) +* **css:** refactor CSS handling ([68c6e39](https://github.com/angular-fullstack/generator-angular-fullstack/commit/68c6e39)) +* **express:** use cors in dev ([cf3c5e5](https://github.com/angular-fullstack/generator-angular-fullstack/commit/cf3c5e5)) +* **gen:test:** refactor gen to fix tests w/ pug ([2080421](https://github.com/angular-fullstack/generator-angular-fullstack/commit/2080421)) +* **package:** pin uws ([ed3b775](https://github.com/angular-fullstack/generator-angular-fullstack/commit/ed3b775)) +* **server:** + * fix CSRF for Angular ([9c816ca](https://github.com/angular-fullstack/generator-angular-fullstack/commit/9c816ca)) + * SequelizeStore requires object with db ([e3cae48](https://github.com/angular-fullstack/generator-angular-fullstack/commit/e3cae48)), closes [#2732](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2732) + * wsInitPromise should be passed into then in a function ([ce46519](https://github.com/angular-fullstack/generator-angular-fullstack/commit/ce46519)), closes [#2751](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2751) +* **webpack:** remove old plugins ([f1d3a7c](https://github.com/angular-fullstack/generator-angular-fullstack/commit/f1d3a7c)) + + +### Features + +* **app:** + * generate and serve pre-gzipped client files ([8f22699](https://github.com/angular-fullstack/generator-angular-fullstack/commit/8f22699)) + * use mini-css plugin ([3ac870a](https://github.com/angular-fullstack/generator-angular-fullstack/commit/3ac870a)) +* **gen:** add new route subgenerator ([91a13ff](https://github.com/angular-fullstack/generator-angular-fullstack/commit/91a13ff)) +* **package:** + * add 'gulp build' as build script ([f572635](https://github.com/angular-fullstack/generator-angular-fullstack/commit/f572635)) + * add build:server script ([b98d8a8](https://github.com/angular-fullstack/generator-angular-fullstack/commit/b98d8a8)) + * reload server on changes ([6166123](https://github.com/angular-fullstack/generator-angular-fullstack/commit/6166123)) +* **server:** allow mongo uri env var in dev ([a46a002](https://github.com/angular-fullstack/generator-angular-fullstack/commit/a46a002)) + + +### Performance Improvements + +* **client:** comment out core-js imports\n\nas most people won't need them ([11decfe](https://github.com/angular-fullstack/generator-angular-fullstack/commit/11decfe)) + + + + +# [5.0.0-rc.2](https://github.com/angular-fullstack/generator-angular-fullstack/compare/5.0.0-rc.1...v5.0.0-rc.2) (2018-06-02) + + +### Bug Fixes + +* **css:** refactor CSS handling ([68c6e39](https://github.com/angular-fullstack/generator-angular-fullstack/commit/68c6e39)) +* **gen:test:** refactor gen to fix tests w/ pug ([2080421](https://github.com/angular-fullstack/generator-angular-fullstack/commit/2080421)) + + +### Features + +* **gen:** add new route subgenerator ([91a13ff](https://github.com/angular-fullstack/generator-angular-fullstack/commit/91a13ff)) + + + + +# [5.0.0-rc.1](https://github.com/angular-fullstack/generator-angular-fullstack/compare/5.0.0-beta.1...v5.0.0-rc.1) (2018-03-15) + + +### Bug Fixes + +* **gen:** fix .npmignore ([c3bf61f](https://github.com/angular-fullstack/generator-angular-fullstack/commit/c3bf61f)) + + + + +# [5.0.0-rc.0](https://github.com/angular-fullstack/generator-angular-fullstack/compare/5.0.0-beta.1...v5.0.0-rc.0) (2018-03-08) + + +### Bug Fixes + +* **client:** fix some outstanding client bugs ([f4c5471](https://github.com/angular-fullstack/generator-angular-fullstack/commit/f4c5471)) +* **client:auth:guard:** declare `authService` on class ([afc725f](https://github.com/angular-fullstack/generator-angular-fullstack/commit/afc725f)) +* **gen:** + * canary cleanup ([96364a7](https://github.com/angular-fullstack/generator-angular-fullstack/commit/96364a7)) + * don't convert main html file ([8d37569](https://github.com/angular-fullstack/generator-angular-fullstack/commit/8d37569)) +* **package:** add missing comma ([b2a745b](https://github.com/angular-fullstack/generator-angular-fullstack/commit/b2a745b)) +* **seed:** rename index.html to app.html to fix CRSF and token issues ([2e784bf](https://github.com/angular-fullstack/generator-angular-fullstack/commit/2e784bf)) +* **server:** fix express router usage ([542337e](https://github.com/angular-fullstack/generator-angular-fullstack/commit/542337e)) +* **server:auth:** specify digest for pbkdf2 ([689c3fc](https://github.com/angular-fullstack/generator-angular-fullstack/commit/689c3fc)), closes [#2628](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2628) +* **server:test:** resolve primus in non-dev ([7bed185](https://github.com/angular-fullstack/generator-angular-fullstack/commit/7bed185)) +* **test:** + * only save new primus.js in dev ([483dda0](https://github.com/angular-fullstack/generator-angular-fullstack/commit/483dda0)) + * use babel in `protractor.conf.js` ([ffb16cb](https://github.com/angular-fullstack/generator-angular-fullstack/commit/ffb16cb)) +* misc cleanup ([a1619e6](https://github.com/angular-fullstack/generator-angular-fullstack/commit/a1619e6)) + + +### Features + +* **client:** add auth-guard service ([a5cbada](https://github.com/angular-fullstack/generator-angular-fullstack/commit/a5cbada)) +* **package:** + * add separate client lint script for TS ([d426be7](https://github.com/angular-fullstack/generator-angular-fullstack/commit/d426be7)) + * add test:server script ([24b6144](https://github.com/angular-fullstack/generator-angular-fullstack/commit/24b6144)) + + +# [5.0.0-beta.3](https://github.com/angular-fullstack/generator-angular-fullstack/compare/5.0.0-beta.1...v5.0.0-beta.3) (2017-11-30) + + +### Bug Fixes + +* **client:auth:guard:** declare `authService` on class ([afc725f](https://github.com/angular-fullstack/generator-angular-fullstack/commit/afc725f)) + + + + +# [5.0.0-beta.2](https://github.com/angular-fullstack/generator-angular-fullstack/compare/5.0.0-beta.1...v5.0.0-beta.2) (2017-11-12) + + +### Bug Fixes + +* **package:** add missing comma ([b2a745b](https://github.com/angular-fullstack/generator-angular-fullstack/commit/b2a745b)) +* **server:test:** resolve primus in non-dev ([7bed185](https://github.com/angular-fullstack/generator-angular-fullstack/commit/7bed185)) +* **test:** + * only save new primus.js in dev ([483dda0](https://github.com/angular-fullstack/generator-angular-fullstack/commit/483dda0)) + * use babel in `protractor.conf.js` ([ffb16cb](https://github.com/angular-fullstack/generator-angular-fullstack/commit/ffb16cb)) + + +### Features + +* Upgraded to Angular 5.0.1 +* **client:** add auth-guard service ([a5cbada](https://github.com/angular-fullstack/generator-angular-fullstack/commit/a5cbada)) + + + + +# [5.0.0-beta.1](https://github.com/angular-fullstack/generator-angular-fullstack/compare/5.0.0-beta.0...v5.0.0-beta.1) (2017-10-17) + + +### Bug Fixes + +* **client:** fix thing redirect ([6e1b254](https://github.com/angular-fullstack/generator-angular-fullstack/commit/6e1b254)) +* **client:auth:** fix session re-establish ([31a6ecf](https://github.com/angular-fullstack/generator-angular-fullstack/commit/31a6ecf)), closes [#2625](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2625) +* **client:test:** fixes for TS ([47b9d3e](https://github.com/angular-fullstack/generator-angular-fullstack/commit/47b9d3e)) +* **gen:** + * fix gen issue with flow on ([4f9618a](https://github.com/angular-fullstack/generator-angular-fullstack/commit/4f9618a)) + * remedy test failure ([f226df9](https://github.com/angular-fullstack/generator-angular-fullstack/commit/f226df9)) +* **server:** swap shrink-ray back out for compression ([e225a67](https://github.com/angular-fullstack/generator-angular-fullstack/commit/e225a67)) +* **test:** disable `main.component.spec.js` ([c5e6db9](https://github.com/angular-fullstack/generator-angular-fullstack/commit/c5e6db9)) +* **ts:** exclude typescript specs files from generating error on transpilling ([46f762e](https://github.com/angular-fullstack/generator-angular-fullstack/commit/46f762e)) +* **webpack:** use a mock for primus in test ([689d0b2](https://github.com/angular-fullstack/generator-angular-fullstack/commit/689d0b2)) + + +### Features + +* **client:auth:** don't submit forms if invalid ([d967554](https://github.com/angular-fullstack/generator-angular-fullstack/commit/d967554)) +* **gen:** default Flow on ([804a917](https://github.com/angular-fullstack/generator-angular-fullstack/commit/804a917)) +* **package:** + * add `start:mongo` convenience script ([101f567](https://github.com/angular-fullstack/generator-angular-fullstack/commit/101f567)) + * add linting scripts ([8cfe32e](https://github.com/angular-fullstack/generator-angular-fullstack/commit/8cfe32e)) + * add start scripts ([e2bfff8](https://github.com/angular-fullstack/generator-angular-fullstack/commit/e2bfff8)) + * add test:client script ([9be904d](https://github.com/angular-fullstack/generator-angular-fullstack/commit/9be904d)) + + + + +# [5.0.0-alpha.5](https://github.com/angular-fullstack/generator-angular-fullstack/compare/4.1.0...v5.0.0-alpha.5) (2017-05-14) + + +### Bug Fixes + +* **client:** + * fix a few client code errors ([5535fe3](https://github.com/angular-fullstack/generator-angular-fullstack/commit/5535fe3)) + * fix loading css ([5d780fe](https://github.com/angular-fullstack/generator-angular-fullstack/commit/5d780fe)) + * fix upgrade stuff ([01e1054](https://github.com/angular-fullstack/generator-angular-fullstack/commit/01e1054)) +* **client:footer:** fix hardcoded template & style extentions ([c638fb6](https://github.com/angular-fullstack/generator-angular-fullstack/commit/c638fb6)), closes [#2421](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2421) +* **client:main:** fix add/delete things ([91b920b](https://github.com/angular-fullstack/generator-angular-fullstack/commit/91b920b)) +* **client:navbar:** fix hardcoded template ext ([5e999b2](https://github.com/angular-fullstack/generator-angular-fullstack/commit/5e999b2)), closes [#2469](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2469) +* **client:userService:** use `id` or `_id` property ([4be3191](https://github.com/angular-fullstack/generator-angular-fullstack/commit/4be3191)) +* **events:** mongoose event registration ([79bdeed](https://github.com/angular-fullstack/generator-angular-fullstack/commit/79bdeed)), closes [#2479](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2479) +* **gen:** + * comment out ngCompnent stuff ([ab1bf13](https://github.com/angular-fullstack/generator-angular-fullstack/commit/ab1bf13)), closes [#2403](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2403) + * fix another type stripping; also TS doesn't like default exports ([a55691a](https://github.com/angular-fullstack/generator-angular-fullstack/commit/a55691a)) +* **gen:factory:** fix factory subgen location ([b09cfe5](https://github.com/angular-fullstack/generator-angular-fullstack/commit/b09cfe5)), closes [#2381](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2381) +* **mocha:** fix server not closing ([2ba3dd8](https://github.com/angular-fullstack/generator-angular-fullstack/commit/2ba3dd8)) +* **package:** move syntax plugins to deps ([c016979](https://github.com/angular-fullstack/generator-angular-fullstack/commit/c016979)), closes [#2405](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2405) +* **server:** + * fix new shared default export ([d4e4a7a](https://github.com/angular-fullstack/generator-angular-fullstack/commit/d4e4a7a)) + * fix some bluebird warnings ([a84ff90](https://github.com/angular-fullstack/generator-angular-fullstack/commit/a84ff90)), closes [#2412](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2412) [#2363](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2363) +* **webpack:** fix CSS loader options ([3f7e2b4](https://github.com/angular-fullstack/generator-angular-fullstack/commit/3f7e2b4)) + + +### Features + +* **app:** convert to Angular 2 ([6c3b307](https://github.com/angular-fullstack/generator-angular-fullstack/commit/6c3b307)) +* **gen:** + * add functions for adding TS public/private keywords ([17fea6c](https://github.com/angular-fullstack/generator-angular-fullstack/commit/17fea6c)) + * consolidate templates, convert html to pug during write ([f6deb25](https://github.com/angular-fullstack/generator-angular-fullstack/commit/f6deb25)) + * generate js with jscodeshift instead of babel ([bf8f9fc](https://github.com/angular-fullstack/generator-angular-fullstack/commit/bf8f9fc)) + * replace socket.io w/ primus + uws ([ccea1f3](https://github.com/angular-fullstack/generator-angular-fullstack/commit/ccea1f3)) + * use new base classes ([3debe1c](https://github.com/angular-fullstack/generator-angular-fullstack/commit/3debe1c)) + + + + +## [4.2.3](https://github.com/angular-fullstack/generator-angular-fullstack/compare/4.2.2...v4.2.3) (2017-11-29) + +This version reverts using shrink-ray by default (for Brotli compression) b/c so many users have has issues installing it. + + +### Bug Fixes + +* **seed:** rename index.html to app.html to fix CRSF and token issues ([2e784bf](https://github.com/angular-fullstack/generator-angular-fullstack/commit/2e784bf)) +* **server:auth:** specify digest for pbkdf2 ([689c3fc](https://github.com/angular-fullstack/generator-angular-fullstack/commit/689c3fc)), closes [#2628](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2628) + + + + +## [4.2.2](https://github.com/angular-fullstack/generator-angular-fullstack/compare/4.2.0...v4.2.2) (2017-05-25) + + +### Bug Fixes + +* **seed:** fix unexpected token ([65a2438](https://github.com/angular-fullstack/generator-angular-fullstack/commit/65a2438)), closes [#2580](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2580) + + + + +## [4.2.1](https://github.com/angular-fullstack/generator-angular-fullstack/compare/4.2.0...v4.2.1) (2017-05-22) + + +### Bug Fixes + +* **client:auth:** fix isAdmin call ([8ac8821](https://github.com/angular-fullstack/generator-angular-fullstack/commit/8ac8821)), closes [#2561](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2561) +* **client:auth.service:** fix lodash import ([2dde95d](https://github.com/angular-fullstack/generator-angular-fullstack/commit/2dde95d)), closes [#2549](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2549) +* **gen:** fix yarn check command ([9ea681c](https://github.com/angular-fullstack/generator-angular-fullstack/commit/9ea681c)) + + + + +# [4.2.0](https://github.com/angular-fullstack/generator-angular-fullstack/compare/4.1.4...v4.2.0) (2017-04-19) + +## Notable Changes + +* `node-inspector` has been taken out in favor of Node's integrated `--inspect` flag. +* @benmarten has taken care of a lot of the lint issues we've seen polluting the console +* @benmarten also enabled the use of [Yarn](https://yarnpkg.com) if you have it installed. Thanks Ben! +* Various other fixes. See the [comparison](https://github.com/angular-fullstack/generator-angular-fullstack/compare/4.1.4...4.2.0) for the full list. + +### Bug Fixes + +* **angular-validation-match:** Integration with Babel & Typescript ([#2517](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2517)) ([9db9918](https://github.com/angular-fullstack/generator-angular-fullstack/commit/9db9918)) + + + + +## [4.1.4](https://github.com/angular-fullstack/generator-angular-fullstack/compare/4.1.2...v4.1.4) (2017-03-01) + + +### Bug Fixes + +* **client:footer:** + * fix docs link (html) ([8d69c7a](https://github.com/angular-fullstack/generator-angular-fullstack/commit/8d69c7a)), closes [#2501](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2501) + * fix docs link (pug) ([190a121](https://github.com/angular-fullstack/generator-angular-fullstack/commit/190a121)) +* **events:** mongoose event registration ([e3ed67f](https://github.com/angular-fullstack/generator-angular-fullstack/commit/e3ed67f)), closes [#2479](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2479) +* **webpack:** + * don't use html-plugin in test ([959c31c](https://github.com/angular-fullstack/generator-angular-fullstack/commit/959c31c)), closes [#2374](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2374) + * use raw-loader for pug files ([a212236](https://github.com/angular-fullstack/generator-angular-fullstack/commit/a212236)) + + +### Performance Improvements + +* **test:endpoint:** + * reduce number of eslint commands run ([6faa7f0](https://github.com/angular-fullstack/generator-angular-fullstack/commit/6faa7f0)) + * remove unused imports ([95a5aab](https://github.com/angular-fullstack/generator-angular-fullstack/commit/95a5aab)) +* **test:main:** reduce number of app generations ([d42d0b6](https://github.com/angular-fullstack/generator-angular-fullstack/commit/d42d0b6)) + + + + +## [4.1.3](https://github.com/angular-fullstack/generator-angular-fullstack/compare/4.1.2...v4.1.3) (2017-02-11) + + +### Bug Fixes + +* **events:** mongoose event registration ([e3ed67f](https://github.com/angular-fullstack/generator-angular-fullstack/commit/e3ed67f)), closes [#2479](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2479) +* **webpack:** don't use html-plugin in test ([959c31c](https://github.com/angular-fullstack/generator-angular-fullstack/commit/959c31c)), closes [#2374](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2374) + + +### Performance Improvements + +* **test:endpoint:** + * reduce number of eslint commands run ([6faa7f0](https://github.com/angular-fullstack/generator-angular-fullstack/commit/6faa7f0)) + * remove unused imports ([95a5aab](https://github.com/angular-fullstack/generator-angular-fullstack/commit/95a5aab)) +* **test:main:** reduce number of app generations ([d42d0b6](https://github.com/angular-fullstack/generator-angular-fullstack/commit/d42d0b6)) + + + + +## [4.1.2](https://github.com/angular-fullstack/generator-angular-fullstack/compare/4.1.1...v4.1.2) (2017-01-09) + + +### Bug Fixes + +* **css:** fix stylus-loader options ([641646c](https://github.com/angular-fullstack/generator-angular-fullstack/commit/641646c)) +* **eslint:** hides global variable warnings ([#2448](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2448)) ([6aae4f5](https://github.com/angular-fullstack/generator-angular-fullstack/commit/6aae4f5)) +* **sql:** Fix form field not displaying sequalize error ([d2cc15a](https://github.com/angular-fullstack/generator-angular-fullstack/commit/d2cc15a)), closes [#2400](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2400) +* **webpack:css:** disable css-loader sourceMap option ([d48f0b0](https://github.com/angular-fullstack/generator-angular-fullstack/commit/d48f0b0)), closes [#2188](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2188) + + + + +## [4.1.1](https://github.com/angular-fullstack/generator-angular-fullstack/compare/4.1.0...v4.1.1) (2016-12-08) + + +## Notable Changes + +* Upgraded to Angular 1.6 + + +### Bug Fixes + +* **gen:factory:** fix factory subgen location ([b09cfe5](https://github.com/angular-fullstack/generator-angular-fullstack/commit/b09cfe5)), closes [#2381](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2381) + + + + +# [4.1.0](https://github.com/angular-fullstack/generator-angular-fullstack/compare/4.0.5...v4.1.0) (2016-09-30) + + +## Notable Changes + +* We've bumped some of the Babel deps to `^6.16.0`. This should fix the issues everyone's been seeing with class properties being stripped when using the default settings of Babel without Flow types. + + +### Bug Fixes + +* **client:modal:** Fix unknown provider error ([68b7b69](https://github.com/angular-fullstack/generator-angular-fullstack/commit/68b7b69)), closes [#2247](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2247) + + +### Features + +* **client:footer:** + * add documentation link ([ad44ee2](https://github.com/angular-fullstack/generator-angular-fullstack/commit/ad44ee2)) + * modify footer ([3ca3cd5](https://github.com/angular-fullstack/generator-angular-fullstack/commit/3ca3cd5)) +* **gen:gulp:** port changelog code to gulp ([045abfb](https://github.com/angular-fullstack/generator-angular-fullstack/commit/045abfb)) + + + + +## [4.0.5](https://github.com/angular-fullstack/generator-angular-fullstack/compare/4.0.4...v4.0.5) (2016-09-15) + + +### Bug Fixes + +* **client:auth:** fix hasOwnProperty instances, fix User usage ([#2232](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2232)) ([f41e420](https://github.com/angular-fullstack/generator-angular-fullstack/commit/f41e420)), closes [#2232](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2232) [#2212](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2212) +* **client:oauthButtons:** add ngInject ([#2209](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2209)) ([9ce58e8](https://github.com/angular-fullstack/generator-angular-fullstack/commit/9ce58e8)), closes [#2206](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2206) +* **endpoint:controller:** fix findOneAndUpdate syntax ([1c2a219](https://github.com/angular-fullstack/generator-angular-fullstack/commit/1c2a219)), closes [#2221](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2221) +* **heroku:** Changed port variable to capital letters so heroku recognize it ([44dccba](https://github.com/angular-fullstack/generator-angular-fullstack/commit/44dccba)), closes [#2185](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2185) +* **karma:** remove extra `require` ([c188229](https://github.com/angular-fullstack/generator-angular-fullstack/commit/c188229)), closes [#2219](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2219) +* **server:twitter:** make sure IDs are strings ([5991a72](https://github.com/angular-fullstack/generator-angular-fullstack/commit/5991a72)), closes [#1997](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1997) +* **socket:** add ngInject ([#2208](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2208)) ([b530695](https://github.com/angular-fullstack/generator-angular-fullstack/commit/b530695)), closes [#2203](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2203) + + + + +## [4.0.4](https://github.com/angular-fullstack/generator-angular-fullstack/compare/4.0.3...v4.0.4) (2016-09-01) + + +### Bug Fixes + +* **webpack:** + * conditionally exclude ui-bootstrap ([dd131d9](https://github.com/angular-fullstack/generator-angular-fullstack/commit/dd131d9)) + * fix webpack vendor import ([#2177](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2177)) ([aa32054](https://github.com/angular-fullstack/generator-angular-fullstack/commit/aa32054)), closes [#2177](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2177) + + + + +## [4.0.3](https://github.com/angular-fullstack/generator-angular-fullstack/compare/4.0.2...v4.0.3) (2016-09-01) + + +### Bug Fixes + +* **gen:** fix doc img generation\n\nAdd gulp task to copy images to gh-pages ([5bb43be](https://github.com/angular-fullstack/generator-angular-fullstack/commit/5bb43be)) +* **gen:heroku:** fix module export, gen base ([8e50326](https://github.com/angular-fullstack/generator-angular-fullstack/commit/8e50326)), closes [#2148](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2148) +* **webpack:** fix bootstrap-sass import path ([bae1c86](https://github.com/angular-fullstack/generator-angular-fullstack/commit/bae1c86)) + + + + +## [4.0.2](https://github.com/angular-fullstack/generator-angular-fullstack/compare/4.0.1...v4.0.2) (2016-09-01) + + +### Bug Fixes + +* **client:socket.service:** import lodash named exports ([231e500](https://github.com/angular-fullstack/generator-angular-fullstack/commit/231e500)) +* **gulp:build:** remove protractor typings ([#2144](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2144)) ([b9abc58](https://github.com/angular-fullstack/generator-angular-fullstack/commit/b9abc58)) + + +### Features + +* **docs:** add daux.io docs ([f1e7a87](https://github.com/angular-fullstack/generator-angular-fullstack/commit/f1e7a87)) +* **gen:app:** + * add eslint to the yo write stream ([85921be](https://github.com/angular-fullstack/generator-angular-fullstack/commit/85921be)), closes [#2157](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2157) + * run eslint w/ fix on both client & server ([c5ab431](https://github.com/angular-fullstack/generator-angular-fullstack/commit/c5ab431)) +* **gen:gulp:** add TODO tasks in gulpfile. rm 2 old grunt tasks ([1e25de7](https://github.com/angular-fullstack/generator-angular-fullstack/commit/1e25de7)) + + + + +## [4.0.0](https://github.com/angular-fullstack/generator-angular-fullstack/compare/3.7.6...v4.0.0) (2016-08-08) + + +## Notable Changes + +### [Webpack](http://webpack.github.io/) +* No more Bower +* Webpack is a Module Bundler for the front-end. +* Everything starts in `client/app.js`. It imports (using CommonJS / ES2015 imports) everything else needed from there. +* Whenever we create a new Angular 1 module, we export its name, and import that name in another module up the tree, all the way to `client/app.js`. This design pattern allows for easy lazy-loading. + +### Gulp v Grunt +Grunt has been removed. +* Gulp is significantly faster to run +* Gulp focuses on programmatic configuration, which makes it a breeze to configure compared to Grunt's JSON-config-focused configuration. +* Gulp development is much more active, with Gulp 4.0.0 hopefully being released soon. + +### ESLint +JSHint + JSCS have been replaced with ESLint. ESLint provides a gigantic amount of rules, and is easily pluggable with many plugins. It uses Espree. Also, JSCS has merged with ESLint. + +### Types +Flow support has been added. TypeScript type errors have been fixed. + +### Async/Sync Auth methods +The following methods from the client Auth service have been split into two: `getCurrentUser`, `isLoggedIn`, `hasRole`, `isAdmin`. The reason that these methods could be both synchronous and asynchronous depending on how many arguments were passed is because they were called from Angular templates. Now, the Angular templates call the sync form of these methods (e.x. `getCurrentUserSync`), and the original functions are now only async. + +### Constants +The task runner no longer takes care of creating an Angular module for config constants. It is taken care of by webpack now (the `shared.js` files is now just `require`d) + +### Endpoint PUT/PATCH +PUT now defaults to an upsert. PATCH now actually does an HTTP PATCH. + +### -Livereload +Browsersync +Livereload has been removed in favor of [Browsersync](https://www.browsersync.io/) + + + + +# [3.8.0](https://github.com/angular-fullstack/generator-angular-fullstack/compare/3.7.6...v3.8.0) (2016-09-15) + + +### Bug Fixes + +* **authorization:** header workaround for IE11 ([2362103](https://github.com/angular-fullstack/generator-angular-fullstack/commit/2362103)), closes [#2051](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2051) +* **endpoint:controller:** wrap saveUpdates in an if(entity) statement ([31c0a79](https://github.com/angular-fullstack/generator-angular-fullstack/commit/31c0a79)), closes [#2052](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2052) [#2059](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2059) +* **grunt:** + * add comma ([485c44b](https://github.com/angular-fullstack/generator-angular-fullstack/commit/485c44b)) + * run express:prod on production port ([aac61b2](https://github.com/angular-fullstack/generator-angular-fullstack/commit/aac61b2)), closes [#1814](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1814) +* **gulp:** fix plain css generation ([#2013](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2013)) ([54479fc](https://github.com/angular-fullstack/generator-angular-fullstack/commit/54479fc)), closes [#2013](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2013) +* **gulpfile:** gulp-filter[@4](https://github.com/4).0.0 need "dot:true" option ([1fbf24b](https://github.com/angular-fullstack/generator-angular-fullstack/commit/1fbf24b)), closes [#2146](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2146) [#2151](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2151) +* **server:** return express stuff ([81ea8fa](https://github.com/angular-fullstack/generator-angular-fullstack/commit/81ea8fa)) + + +### Features + +* **gen:** add configurable ports ([#2005](https://github.com/angular-fullstack/generator-angular-fullstack/issues/2005)) ([50e6d0c](https://github.com/angular-fullstack/generator-angular-fullstack/commit/50e6d0c)) + + + + +## [3.7.6](https://github.com/angular-fullstack/generator-angular-fullstack/compare/3.7.5...v3.7.6) (2016-06-21) + + +### Notable Changes + +* Add deprecation warning about Grunt +* Bumped a few generator dependencies + + ## [3.7.5](https://github.com/angular-fullstack/generator-angular-fullstack/compare/3.7.4...v3.7.5) (2016-06-02) diff --git a/Gruntfile.js b/Gruntfile.js index 37efd2c0d..2dfe12118 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -1,5 +1,3 @@ -'use strict'; - var shell = require('shelljs'); var child_process = require('child_process'); var Q = require('q'); @@ -12,32 +10,11 @@ module.exports = function (grunt) { var gitCmd = gruntUtils.gitCmd; var gitCmdAsync = gruntUtils.gitCmdAsync; - // Load grunt tasks automatically, when needed - require('jit-grunt')(grunt, { - buildcontrol: 'grunt-build-control' - }); - grunt.initConfig({ config: { demo: 'demo' }, pkg: grunt.file.readJSON('package.json'), - conventionalChangelog: { - options: { - changelogOpts: { - // conventional-changelog options go here - preset: 'angular' - }, - writerOpts: { - // conventional-changelog-writer options go here - finalizeContext: gruntUtils.conventionalChangelog.finalizeContext, - commitPartial: gruntUtils.conventionalChangelog.commitPartial - } - }, - release: { - src: 'CHANGELOG.md' - } - }, release: { options: { commitMessage: '<%= version %>', @@ -51,17 +28,6 @@ module.exports = function (grunt) { npm: false } }, - updateSubmodules: { - options: { - modules: ['angular-fullstack-deps'] - } - }, - commitNgFullstackDeps: { - options: { - cwd: 'angular-fullstack-deps', - files: ['package.json', 'bower.json'] - } - }, stage: { options: { files: ['CHANGELOG.md', 'angular-fullstack-deps'] @@ -82,43 +48,6 @@ module.exports = function (grunt) { } } }, - jshint: { - options: { - curly: false, - node: true - }, - all: ['Gruntfile.js', 'src/**/*.js'] - }, - env: { - fast: { - SKIP_E2E: true - } - }, - mochaTest: { - test: { - src: [ - 'test/*.js' - ], - options: { - reporter: 'spec', - timeout: 120000 - } - } - }, - clean: { - demo: { - files: [{ - dot: true, - src: [ - '<%= config.demo %>/*', - '!<%= config.demo %>/readme.md', - '!<%= config.demo %>/node_modules', - '!<%= config.demo %>/.git', - '!<%= config.demo %>/dist' - ] - }] - } - }, david: { gen: { options: {} @@ -136,26 +65,6 @@ module.exports = function (grunt) { gitCmd(['add'].concat(files), {}, this.async()); }); - grunt.registerTask('updateSubmodules', function() { - grunt.config.requires('updateSubmodules.options.modules'); - var modules = grunt.config.get('updateSubmodules').options.modules; - - Q() - .then(gitCmdAsync(['submodule', 'update', '--init', '--recursive'])) - .then(function() { - var thens = []; - for (var i = 0, modulesLength = modules.length; i < modulesLength; i++) { - var opts = {cwd: modules[i]}; - thens.push(gitCmdAsync(['checkout', 'master'], opts)); - thens.push(gitCmdAsync(['fetch'], opts)); - thens.push(gitCmdAsync(['pull'], opts)); - } - return thens.reduce(Q.when, Q()); - }) - .catch(grunt.fail.fatal.bind(grunt.fail)) - .finally(this.async()); - }); - grunt.registerTask('commitNgFullstackDeps', function() { grunt.config.requires( 'commitNgFullstackDeps.options.files', @@ -201,7 +110,7 @@ module.exports = function (grunt) { testing: 'jasmine', auth: true, oauth: ['googleAuth', 'twitterAuth'], - socketio: true + ws: true }; var deps = [ @@ -261,63 +170,6 @@ module.exports = function (grunt) { } }); - grunt.registerTask('updateFixtures', 'updates package and bower fixtures', function(target) { - var genVer = require('./package.json').version; - var dest = __dirname + ((target === 'deps') ? '/angular-fullstack-deps/' : '/test/fixtures/'); - var appName = (target === 'deps') ? 'angular-fullstack-deps' : 'tempApp'; - - var processJson = function(s, d) { - // read file, strip all ejs conditionals, and parse as json - var json = JSON.parse(fs.readFileSync(path.resolve(s), 'utf8').replace(/<%(.*)%>/g, '')); - // set properties - json.name = appName, json.version = genVer; - if (target === 'deps') { json.private = false; } - // stringify json and write it to the destination - fs.writeFileSync(path.resolve(d), JSON.stringify(json, null, 2)); - }; - - processJson('templates/app/_package.json', dest + 'package.json'); - processJson('templates/app/_bower.json', dest + 'bower.json'); - }); - - grunt.registerTask('installFixtures', 'install package and bower fixtures', function() { - var done = this.async(); - - shell.cd('test/fixtures'); - grunt.log.ok('installing npm dependencies for generated app'); - child_process.exec('npm install --quiet', {cwd: '../fixtures'}, function (error, stdout, stderr) { - - grunt.log.ok('installing bower dependencies for generated app'); - child_process.exec('bower install', {cwd: '../fixtures'}, function (error, stdout, stderr) { - - if(!process.env.SAUCE_USERNAME) { - grunt.log.ok('running npm run-script update-webdriver'); - child_process.exec('npm run-script update-webdriver', function() { - shell.cd('../../'); - done(); - }); - } else { - shell.cd('../../'); - done(); - } - }) - }); - }); - - grunt.registerTask('test', function(target, option) { - if (target === 'fast') { - grunt.task.run([ - 'env:fast' - ]); - } - - return grunt.task.run([ - 'updateFixtures', - 'installFixtures', - 'mochaTest' - ]) - }); - grunt.registerTask('deps', function(target) { if (!target || target === 'app') grunt.task.run(['updateFixtures']); grunt.task.run(['david:' + (target || '')]); diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md index 9ffab02d5..cf31e70c0 100644 --- a/ISSUE_TEMPLATE.md +++ b/ISSUE_TEMPLATE.md @@ -11,10 +11,9 @@ etc | etc Item | Answer ----- | ----- Transpiler | Babel / TypeScript -Markup | HTML / Jade +Markup | HTML / Pug CSS | CSS / LESS / SCSS / Stylus Router | ngRoute / ui-router -Build Tool | Grunt / Gulp Client Tests | Jasmine / Mocha DB | MongoDB / SQL Auth | Y / N diff --git a/README.md b/README.md new file mode 100644 index 000000000..3d77289bc --- /dev/null +++ b/README.md @@ -0,0 +1,120 @@ +# The Angular Full-Stack Generator + +![](.gitbook/assets/angular-fullstack-logo.svg) + +![Build Status](https://img.shields.io/circleci/project/angular-fullstack/generator-angular-fullstack/master.svg) [![npm version](https://img.shields.io/npm/v/generator-angular-fullstack.svg)](https://www.npmjs.com/package/generator-angular-fullstack) [![Dependency Status](https://img.shields.io/david/angular-fullstack/generator-angular-fullstack.svg)](https://david-dm.org/angular-fullstack/generator-angular-fullstack) [![Dev-Dependency Status](https://img.shields.io/david/dev/angular-fullstack/generator-angular-fullstack.svg)](https://david-dm.org/angular-fullstack/generator-angular-fullstack#type=dev) [![Gitter chat](https://img.shields.io/gitter/room/angular-fullstack/generator-angular-fullstack.svg)](https://gitter.im/angular-fullstack/generator-angular-fullstack) + +> Yeoman generator for creating MEAN/SEAN stack applications, using ES2017, MongoDB/SQL, Express, Angular, and Node - lets you quickly set up a project following best practices. + +### Generated project: + +[![Dependency Status](https://img.shields.io/david/angular-fullstack/angular-fullstack-deps.svg)](https://david-dm.org/angular-fullstack/angular-fullstack-deps) [![Dev-Dependency Status](https://img.shields.io/david/dev/angular-fullstack/angular-fullstack-deps.svg)](https://david-dm.org/angular-fullstack/angular-fullstack-deps?type=dev) [![Known Vulnerabilities](https://snyk.io/package/npm/angular-fullstack-deps/badge.svg)](https://snyk.io/package/npm/angular-fullstack-deps) + +## Usage + +Install `yo`, `gulp-cli`, and `generator-angular-fullstack`: + +```text +npm install -g yo gulp-cli generator-angular-fullstack +``` + +**Please note**: If you run into trouble compiling native add-ons during the installation, follow [`node-gyp`](https://github.com/nodejs/node-gyp)'s short guide on [required compilation tools](https://github.com/nodejs/node-gyp#installation). + +Then, to run your app \(make sure the MongoDB daemon is running if you selected Mongo\), run the following to start your server: + +```bash +npm run start:server +``` + +and the following to start the Webpack dev server for the front-end: + +```bash +npm run start:client +``` + +The Webpack server will tell you which port to access the app at \(usually [http://localhost:8080/](http://localhost:8080/)\). + +Run `yo angular-fullstack` + +```text +yo angular-fullstack +``` + +**See the** [**Getting Started**](https://angular-fullstack.github.io/get-started/) **guide for more information.** + +## Prerequisites + +* MongoDB - Download and Install [MongoDB](https://www.mongodb.com/download-center#community) - If you plan on scaffolding your project with mongoose, you'll need mongoDB to be installed and have the `mongod` process running. + * If you have [Docker](https://www.docker.com/) installed, you can easily run a test database with `docker run -p 27017:27017 --name afs-mongo -d mongo` +* The project's JavaScript is written in ECMAScript 2015. If you're unfamiliar with the latest changes to the specification for JavaScript, check out [http://es6-features.org/](http://es6-features.org/) + +## Supported Configurations + +**General** + +* Build Systems: `Gulp` +* Testing: + * `Jasmine` + * `Mocha + Chai + Sinon` + * Chai assertions: + * `Expect` + * `Should` + +**Client** + +* Scripts: `JavaScript (Babel)`, `TypeScript` +* Module Systems: `Webpack` +* Markup: `HTML`, `Pug` +* Stylesheets: `CSS`, `Stylus`, `Sass`, `Less` +* CSS Frameworks: `Bootstrap` + * Option to include `UI Bootstrap` + +**Server** + +* Scripts: `JavaScript (Babel)`, `TypeScript` \(planned\) +* Database: + * `None`, + * `MongoDB`, `SQL` + * Authentication boilerplate: `Yes`, `No` + * oAuth integrations: `Facebook`, `Twitter`, `Google` + * Socket.io integration: `Yes`, `No` + +## Generators + +Available generators: + +* App + * [angular-fullstack](https://angular-fullstack.github.io/generators/app/) \(aka [angular-fullstack:app](https://angular-fullstack.github.io/generators/app/)\) +* Server Side + * [angular-fullstack:endpoint](https://angular-fullstack.github.io/generators/endpoint) +* Client Side \(via [generator-angular-fullstack-component](https://github.com/angular-fullstack/generator-angular-fullstack-component)\) + * [angular-fullstack:route](https://angular-fullstack.github.io/generators/route) +* To be re-updated: + * [angular-fullstack:component](https://angular-fullstack.github.io/generators/component) + * [angular-fullstack:controller](https://angular-fullstack.github.io/generators/controller) + * [angular-fullstack:filter](https://angular-fullstack.github.io/generators/filter) + * [angular-fullstack:directive](https://angular-fullstack.github.io/generators/directive) + * [angular-fullstack:service](https://angular-fullstack.github.io/generators/service) + * [angular-fullstack:provider](https://angular-fullstack.github.io/generators/service) + * [angular-fullstack:factory](https://angular-fullstack.github.io/generators/service) + * [angular-fullstack:decorator](https://angular-fullstack.github.io/generators/decorator) +* Deployment + * [angular-fullstack:openshift](https://angular-fullstack.github.io/generators/openshift) + * [angular-fullstack:heroku](https://angular-fullstack.github.io/generators/heroku) + +## Documentation + +Check out our [documentation home page](https://awk34.gitbook.io/generator-angular-fullstack). + +## Contribute + +See the [contributing docs](https://github.com/angular-fullstack/generator-angular-fullstack/blob/master/contributing.md) + +When submitting an issue, please follow the [Yeoman issue guidelines](https://github.com/yeoman/yeoman/blob/master/contributing.md#issue-submission). Especially important is to make sure Yeoman is up-to-date, and providing the command or commands that cause the issue, as well as any stack traces. + +## License + +[BSD license](http://opensource.org/licenses/bsd-license.php) + +[![generator-angular-fullstack](https://angular-fullstack.github.io/assets/angular-fullstack-boxes.svg)](https://awk34.gitbook.io/generator-angular-fullstack) + diff --git a/SUMMARY.md b/SUMMARY.md new file mode 100644 index 000000000..f7897f126 --- /dev/null +++ b/SUMMARY.md @@ -0,0 +1,32 @@ +# Table of contents + +* [The Angular Full-Stack Generator](README.md) + +## Getting Started + +* [Pre-Requisites](getting-started/pre-requisites.md) +* [Installation](getting-started/installation.md) +* [Running](getting-started/running.md) +* [Project Overview](getting-started/project-overview.md) + +## Developing + +* [Overview](developing/overview.md) +* [Adding a Route](developing/adding-a-route.md) + +## Deployment + +* [Manual Deployment](deployment/manual-deployment.md) +* [Google Cloud Deployment](deployment/untitled-1.md) +* [index](deployment/untitled.md) + +## Generators + +* [App](generators/app.md) +* [Endpoint](generators/endpoint.md) + +## Contributing + +* [Releasing a New Version](contributing/releasing-a-new-version.md) +* [Commit Style](contributing/untitled-1.md) + diff --git a/angular-fullstack-deps b/angular-fullstack-deps index eada40699..d0b7c8633 160000 --- a/angular-fullstack-deps +++ b/angular-fullstack-deps @@ -1 +1 @@ -Subproject commit eada40699249e9e82510b43685f8df5f4eb6cc31 +Subproject commit d0b7c86332f3ea3091332f307b10141ff90e4ad7 diff --git a/circle.yml b/circle.yml index 31795bcd5..5feecc9a2 100644 --- a/circle.yml +++ b/circle.yml @@ -1,27 +1,56 @@ -## Customize the test machine -machine: - node: - version: 5.11.1 - post: - - npm install -g gulp-cli grunt-cli bower - -## Customize checkout -checkout: - post: - - git submodule sync - - git submodule update --init # use submodules - -## Customize dependencies -dependencies: - # we automatically cache and restore many dependencies between - # builds. If you need to, you can add custom paths to cache: - cache_directories: - - "test/fixtures/node_modules" - -## Custom notifications -#notify: -notify: - webhooks: - # A list of hook hashes, containing the url field - # gitter hook - - url: https://webhooks.gitter.im/e/ac3980c61cb722b9e789 +version: 2 +jobs: + build: + docker: + - image: circleci/node:12-browsers + - image: mongo + command: mongod + + working_directory: ~/generator-angular-fullstack + + environment: + NODE_ENV: test + + branches: + ignore: + - gh-pages + + steps: + - checkout + - run: git submodule sync && git submodule update --init + + # Generator npm dependencies + - restore_cache: + keys: + - generator-angular-fullstack-npm-{{ .Branch }}-{{ checksum "package.json" }} + - generator-angular-fullstack-npm-{{ .Branch }} + - generator-angular-fullstack-npm- + - run: npm install --quiet + - save_cache: + key: generator-angular-fullstack-npm-{{ .Branch }}-{{ checksum "package.json" }} + paths: + - ~/generator-angular-fullstack/node_modules + + # Test fixtures + - run: npx gulp updateFixtures:test + - restore_cache: + keys: + - generator-angular-fullstack-npm-fixtures-{{ .Branch }}-{{ checksum "templates/app/_package.json" }} + - generator-angular-fullstack-npm-fixtures-{{ .Branch }} + - generator-angular-fullstack-npm-fixtures- + - run: npx gulp installFixtures + - save_cache: + key: generator-angular-fullstack-npm-fixtures-{{ .Branch }}-{{ checksum "templates/app/_package.json" }} + paths: + - ~/generator-angular-fullstack/test/fixtures/node_modules + + - run: npx gulp build + - run: npm test + +# - deploy: +# command: | +# if [ "${CIRCLE_BRANCH}" == "master" ]; then +# git config --global user.email "circleci@circleci.com" +# git config --global user.name "CircleCI" +# cd docs && npm install && npm run build && npm run deploy +# fi diff --git a/contributing.md b/contributing.md index 36c7a6c7b..78170f758 100644 --- a/contributing.md +++ b/contributing.md @@ -4,7 +4,7 @@ See the [Yeoman contributing docs](https://github.com/yeoman/yeoman/blob/master/ Additionally for this generator: -* Please submit PRs to the `canary` branch, it is the main development branch for this generator. +* Please submit bug fix PRs to the `master` branch. Please submit large feature PRs to the `canary` branch; it is the main development branch for this generator. * When submitting an issue, please follow the [guidelines](https://github.com/yeoman/yeoman/blob/master/contributing.md#issue-submission). Especially important is to make sure Yeoman is up-to-date, and providing the command or commands that cause the issue. * When submitting a PR, make sure that the commit messages match the [AngularJS conventions][commit-message-format] (see below). * When submitting a bugfix, write a test that exposes the bug and fails before applying your fix. Submit the test alongside the fix. diff --git a/contributing/releasing-a-new-version.md b/contributing/releasing-a-new-version.md new file mode 100644 index 000000000..1c63f3966 --- /dev/null +++ b/contributing/releasing-a-new-version.md @@ -0,0 +1,26 @@ +# Releasing a New Version + +## Contributing + +## Releasing a new version + +* Bump `package.json` version +* \[ + * `grunt conventionalChangelog` + * `cd angular-fullstack-deps` + * `git checkout master` + * `git pull` + * `cd ..` + * `gulp updateFixtures:deps` + * `cd angular-fullstack-deps` + * `git add .` + * `git commit -m $VERSION` + * `git push` + * `# npm publish` + + \] +* `git add ./{CHANGELOG.md,angular-fullstack-deps,package.json}` +* `git commit -m $VERSION` +* `git push` +* `# npm publish` + diff --git a/contributing/untitled-1.md b/contributing/untitled-1.md new file mode 100644 index 000000000..543774ac4 --- /dev/null +++ b/contributing/untitled-1.md @@ -0,0 +1,55 @@ +# Commit Style + +## Commit Message Format + +Each commit message consists of a **header**, a **body** and a **footer**. The header has a special format that includes a **type**, a **scope** and a **subject**: + +```text +(): + + + +