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 29dc7d501..e54390670 100644 --- a/.npmignore +++ b/.npmignore @@ -1,11 +1,11 @@ -angular-fullstack-deps -test -.idea -src -scripts -ISSUE_TEMPLATE.md -PULL_REQUEST_TEMPLATE.md -.travis.yml -gulpfile.babel.js -Gruntfile.js -.jshintrc +./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 diff --git a/.travis.yml b/.travis.yml index 4e2b9e3f8..eec3dc145 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,7 @@ before_install: - ./scripts/sauce_connect_setup.sh - gem update --system - gem install sass --version "=3.3.7" - - npm install -g bower grunt-cli + - npm install -g gulp-cli services: mongodb cache: directories: diff --git a/CHANGELOG.md b/CHANGELOG.md index 63a8ed7ab..85ef7dac7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,511 @@ + +# [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) + + +### Bug Fixes + +* **build:** fix templateCache generation on gulpfile ([#1936](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1936)) ([#1942](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1942)) ([0286817](https://github.com/angular-fullstack/generator-angular-fullstack/commit/0286817)), closes [#1936](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1936) [#1942](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1942) [#1936](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1936) + + +### Features + +* **genBase:** show raw stdout for yo check ([#1944](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1944)) ([7ae3829](https://github.com/angular-fullstack/generator-angular-fullstack/commit/7ae3829)) + + + + +## [3.7.4](https://github.com/angular-fullstack/generator-angular-fullstack/compare/3.7.3...v3.7.4) (2016-05-25) + + +### Bug Fixes + +* **build:** fix up PR 1896 ([3113a3e](https://github.com/angular-fullstack/generator-angular-fullstack/commit/3113a3e)) +* **ie:** IE11 log in works for ports 80 and 443 ([414b80a](https://github.com/angular-fullstack/generator-angular-fullstack/commit/414b80a)), closes [#1880](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1880) [#1896](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1896) + + + + +## [3.7.2](https://github.com/angular-fullstack/generator-angular-fullstack/compare/3.7.1...v3.7.2) (2016-05-15) + + +### Bug Fixes + +* **gen:app:** fix insight askPermission ([f6f1fb6](https://github.com/angular-fullstack/generator-angular-fullstack/commit/f6f1fb6)), closes [#1889](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1889) + + + + +## [3.7.1](https://github.com/angular-fullstack/generator-angular-fullstack/compare/3.7.0...v3.7.1) (2016-05-15) + + +### Bug Fixes + +* **gen:** move bluebird to dependencies ([7d87697](https://github.com/angular-fullstack/generator-angular-fullstack/commit/7d87697)), closes [#1888](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1888) + + + + +# [3.7.0](https://github.com/angular-fullstack/generator-angular-fullstack/compare/3.6.1...v3.7.0) (2016-05-15) + + +### Notable Changes +* The Angular component sub-generator from generator-ng-component was added +* The generator no longer uses the babel require hook at runtime +* The generator's template files are now passed through Babel at scaffold time. This allows for things like removing type annotations if the user so chooses. +* TypeScript uses typings instead of tsd + + +### Bug Fixes + +* **client:** remove no-empty from tslint.json ([eafc4e0](https://github.com/angular-fullstack/generator-angular-fullstack/commit/eafc4e0)) +* **client:navbar.controller:** refactor EJS, exclude constructor if empty ([a75b1d4](https://github.com/angular-fullstack/generator-angular-fullstack/commit/a75b1d4)) +* **e2e:main:** fix yeoman.png regex ([4b4db99](https://github.com/angular-fullstack/generator-angular-fullstack/commit/4b4db99)) +* **express:** import `connect-mongo/es5` if node < 4 ([63fb77f](https://github.com/angular-fullstack/generator-angular-fullstack/commit/63fb77f)), closes [#1844](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1844) +* **gen:app:** only include `typings.json` with TS ([6f82220](https://github.com/angular-fullstack/generator-angular-fullstack/commit/6f82220)) +* **gen:endpoint:** + * return promise ([6b30ef7](https://github.com/angular-fullstack/generator-angular-fullstack/commit/6b30ef7)) + * typo ([0787039](https://github.com/angular-fullstack/generator-angular-fullstack/commit/0787039)) +* **gen:grunt:** update paths ([104efc6](https://github.com/angular-fullstack/generator-angular-fullstack/commit/104efc6)) +* **gen:gulp:babel:** return the two merged streams ([3748953](https://github.com/angular-fullstack/generator-angular-fullstack/commit/3748953)) +* **gen:gulp:clean:** also clean test dir ([aedb37e](https://github.com/angular-fullstack/generator-angular-fullstack/commit/aedb37e)) +* **gen:gulp:updateFixtures:** fix saving as private/public ([a2cecab](https://github.com/angular-fullstack/generator-angular-fullstack/commit/a2cecab)) +* **gen:test:endpoint:** `jshint` function also checks that the file exists ([17d9985](https://github.com/angular-fullstack/generator-angular-fullstack/commit/17d9985)) +* **gen:test:main:** fix sql e2e ([a9d238c](https://github.com/angular-fullstack/generator-angular-fullstack/commit/a9d238c)) +* **grunt:** exclude jshint config if using TypeScript ([54d4ebd](https://github.com/angular-fullstack/generator-angular-fullstack/commit/54d4ebd)) +* **gulp:** fix racing condition for copy:constant ([f07b451](https://github.com/angular-fullstack/generator-angular-fullstack/commit/f07b451)), closes [#1830](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1830) +* **package:** + * always make html2js a dependency ([bdf1e4a](https://github.com/angular-fullstack/generator-angular-fullstack/commit/bdf1e4a)), closes [#1722](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1722) + * grunt-injector 1.0.0 is broken ([3391299](https://github.com/angular-fullstack/generator-angular-fullstack/commit/3391299)) + * include gulp devDependency ([c857b27](https://github.com/angular-fullstack/generator-angular-fullstack/commit/c857b27)) +* **server:** + * MONGOLAB_URI -> MONGODB_URI ([ae313df](https://github.com/angular-fullstack/generator-angular-fullstack/commit/ae313df)), closes [#1838](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1838) +* **server:oauth:** + * fix mongoose validation when re-login using twitter oauth ([5f8805d](https://github.com/angular-fullstack/generator-angular-fullstack/commit/5f8805d)) + + +### Features + +* **client:auth:** add first type definition (`callback: Function`) ([7ed2585](https://github.com/angular-fullstack/generator-angular-fullstack/commit/7ed2585)) +* **gen:** + * add component generator ([bf649ab](https://github.com/angular-fullstack/generator-angular-fullstack/commit/bf649ab)), closes [#1711](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1711) + * also build test dir (just like generators dir) ([e09fb76](https://github.com/angular-fullstack/generator-angular-fullstack/commit/e09fb76)) + * default to gulp, mocha ([4cc2da6](https://github.com/angular-fullstack/generator-angular-fullstack/commit/4cc2da6)) +* **gen:app:** run all client files through Babel & JS Beautifier ([1d4ce11](https://github.com/angular-fullstack/generator-angular-fullstack/commit/1d4ce11)) +* **gen:gulp:** + * add installFixtures task ([04a7878](https://github.com/angular-fullstack/generator-angular-fullstack/commit/04a7878)) + * add mocha ([ead201a](https://github.com/angular-fullstack/generator-angular-fullstack/commit/ead201a)) + * port updateFixtures to Gulp (hot damn is it faster :fire:) ([94d69da](https://github.com/angular-fullstack/generator-angular-fullstack/commit/94d69da)) +* **gen:test:** + * add endpoint path name test ([0b36375](https://github.com/angular-fullstack/generator-angular-fullstack/commit/0b36375)) + * add endpoint-specific tests ([887476f](https://github.com/angular-fullstack/generator-angular-fullstack/commit/887476f)) +* **grunt:less:** add sourcemap options ([#1868](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1868)) ([55c9a18](https://github.com/angular-fullstack/generator-angular-fullstack/commit/55c9a18)), closes [#1765](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1765) +* **gulp:ts:** inject client .ts test files automatically into config file. ([17cb4e4](https://github.com/angular-fullstack/generator-angular-fullstack/commit/17cb4e4)), closes [#1828](https://github.com/angular-fullstack/generator-angular-fullstack/issues/1828) + + + # [3.6.1](https://github.com/angular-fullstack/generator-angular-fullstack/compare/3.6.0...v3.6.1) (2016-04-23) diff --git a/Gruntfile.js b/Gruntfile.js index 37efd2c0d..1a71c410a 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -12,32 +12,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 +30,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 +50,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 +67,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 +112,7 @@ module.exports = function (grunt) { testing: 'jasmine', auth: true, oauth: ['googleAuth', 'twitterAuth'], - socketio: true + ws: true }; var deps = [ @@ -261,63 +172,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 a024d2708..cf31e70c0 100644 --- a/ISSUE_TEMPLATE.md +++ b/ISSUE_TEMPLATE.md @@ -1,3 +1,5 @@ + - [ ] I understand that GitHub issues are not for tech support, but for questions specific to this generator, bug reports, and feature requests. + Item | Version ----- | ----- generator-angular-fullstack | x.x.x @@ -9,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/angular-fullstack-deps b/angular-fullstack-deps index 7bfa34baa..5dd8009cb 160000 --- a/angular-fullstack-deps +++ b/angular-fullstack-deps @@ -1 +1 @@ -Subproject commit 7bfa34baa078ab2ee9d7be5850c568b968566fd0 +Subproject commit 5dd8009cbaecdb19ac8d18829ad54de47da0706c diff --git a/circle.yml b/circle.yml new file mode 100644 index 000000000..0602769f3 --- /dev/null +++ b/circle.yml @@ -0,0 +1,67 @@ +version: 2 +jobs: + build: + docker: + - image: node:8 + - image: mongo + command: [mongod, --smallfiles] + + working_directory: ~/generator-angular-fullstack + + environment: + NODE_ENV: test + + branches: + ignore: + - gh-pages + + steps: + - checkout + - run: git submodule sync && git submodule update --init + + # Global npm dependencies + - restore_cache: + keys: + - generator-angular-fullstack-npm-global-{{ .Branch }} + - generator-angular-fullstack-npm-global- + - run: npm install --global gulp-cli + - save_cache: + key: generator-angular-fullstack-npm-global-{{ .Branch }} + paths: + - /usr/local/lib/node_modules + + # 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: 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: 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: 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 221b0380e..78170f758 100644 --- a/contributing.md +++ b/contributing.md @@ -1,17 +1,28 @@ # Contributing -See the [contributing docs](https://github.com/yeoman/yeoman/blob/master/contributing.md) +See the [Yeoman contributing docs](https://github.com/yeoman/yeoman/blob/master/contributing.md) 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. * When submitting a new feature, add tests that cover the feature. * Open Issues marked with the [EASY](https://github.com/angular-fullstack/generator-angular-fullstack/issues?q=is%3Aopen+is%3Aissue+label%3AEasy) label are believed to be easy changes, and would be good Issues to tackle for new contributors. +This project has 2 main branches: `master` and `canary`. The `master` branch is where the current stable code lives and should be used for production setups. The `canary` branch is the main development branch, this is where PRs should be submitted to (backport fixes may be applied to `master`). + +By separating the current stable code from the cutting-edge development we hope to provide a stable and efficient workflow for users and developers alike. + +When submitting a PR, make sure that the commit messages match the [AngularJS conventions](https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/). + +When submitting a bugfix, try to write a test that exposes the bug and fails before applying your fix. Submit the test alongside the fix. + +When submitting a new feature, add tests that cover the feature. + To run the generator: + 1. Clone it and `cd` to its root 2. `npm install` 3. `npm link` (tells npm to look to your own version) diff --git a/docs/.alexrc b/docs/.alexrc new file mode 100644 index 000000000..206e6efd2 --- /dev/null +++ b/docs/.alexrc @@ -0,0 +1,3 @@ +{ + "allow": ["boogeyman-boogeywoman"] +} \ No newline at end of file diff --git a/docs/.babelrc b/docs/.babelrc new file mode 100644 index 000000000..43995fccf --- /dev/null +++ b/docs/.babelrc @@ -0,0 +1,9 @@ +{ + "presets": [ + "env", + "react" + ], + "plugins": [ + "transform-object-rest-spread" + ] +} diff --git a/docs/.editorconfig b/docs/.editorconfig new file mode 100644 index 000000000..edeb3a492 --- /dev/null +++ b/docs/.editorconfig @@ -0,0 +1,16 @@ +# Top-most EditorConfig file +root = true + +# Set default charset +[*.{js}] +charset = utf-8 + +# 4 space indentation +[*.{md,js,jsx,scss,hbs}] +indent_style = space +indent_size = 2 + +# Format Config +[{package.json}] +indent_style = space +indent_size = 2 diff --git a/docs/.eslintignore b/docs/.eslintignore new file mode 100644 index 000000000..f3268c4f0 --- /dev/null +++ b/docs/.eslintignore @@ -0,0 +1,2 @@ +build/ +antwar.config.js diff --git a/docs/.eslintrc b/docs/.eslintrc new file mode 100644 index 000000000..459d0cbb8 --- /dev/null +++ b/docs/.eslintrc @@ -0,0 +1,29 @@ +{ + "root": true, + + "extends": "eslint:recommended", + + "parser": "babel-eslint", + + "env": { + "browser": true, + "es6": true, + "node": true + }, + + "plugins": [ + "markdown" + ], + + "globals": { + "__DEV__": true + }, + + "rules": { + "no-undef": 2, + "no-unreachable": 2, + "no-unused-vars": 0, + "no-console": 0, + "semi": ["error", "always"] + } +} diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 000000000..a9820fba7 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,6 @@ +node_modules +npm-debug.log +build +generated +.antwar + diff --git a/docs/.markdownlintrc b/docs/.markdownlintrc new file mode 100644 index 000000000..4d3437ad3 --- /dev/null +++ b/docs/.markdownlintrc @@ -0,0 +1,13 @@ +{ + "default": true, + "MD002": false, + "MD007": { "indent": 4 }, + "MD013": { "line_length": 500 }, + "MD029": { "style": "ordered"}, + "MD033": false, + "MD034": false, + "MD036": false, + "MD041": false, + "no-hard-tabs": false, + "whitespace": false +} \ No newline at end of file diff --git a/docs/.proselintrc b/docs/.proselintrc new file mode 100644 index 000000000..0cce7fb60 --- /dev/null +++ b/docs/.proselintrc @@ -0,0 +1,84 @@ +{ + "max_errors": 1000, + "checks": { + "phrasal_adjectives.ly" : false, + "preferred_forms" : false, + "airlinese.misc" : true, + "annotations.misc" : false, + "archaism.misc" : true, + "cliches.hell" : true, + "cliches.misc" : true, + "consistency.spacing" : true, + "consistency.spelling" : true, + "corporate_speak.misc" : true, + "cursing.filth" : true, + "cursing.nfl" : false, + "cursing.nword" : true, + "dates_times.am_pm" : true, + "dates_times.dates" : true, + "hedging.misc" : true, + "hyperbole.misc" : false, + "jargon.misc" : true, + "lexical_illusions.misc" : true, + "links.broken" : false, + "malapropisms.misc" : true, + "misc.apologizing" : true, + "misc.back_formations" : true, + "misc.bureaucratese" : true, + "misc.but" : false, + "misc.capitalization" : true, + "misc.chatspeak" : true, + "misc.commercialese" : true, + "misc.composition" : true, + "misc.currency" : true, + "misc.debased" : true, + "misc.false_plurals" : true, + "misc.illogic" : true, + "misc.inferior_superior" : true, + "misc.latin" : true, + "misc.many_a" : true, + "misc.metaconcepts" : true, + "misc.metadiscourse" : true, + "misc.narcissism" : true, + "misc.not_guilty" : true, + "misc.phrasal_adjectives" : false, + "misc.preferred_forms" : false, + "misc.pretension" : true, + "misc.professions" : true, + "misc.punctuation" : true, + "misc.scare_quotes" : true, + "misc.suddenly" : true, + "misc.tense_present" : true, + "misc.waxed" : true, + "misc.whence" : true, + "mixed_metaphors.misc" : true, + "mondegreens.misc" : true, + "needless_variants.misc" : true, + "nonwords.misc" : true, + "oxymorons.misc" : true, + "psychology.misc" : true, + "redundancy.misc" : true, + "redundancy.ras_syndrome" : true, + "skunked_terms.misc" : true, + "spelling.able_atable" : true, + "spelling.able_ible" : true, + "spelling.athletes" : true, + "spelling.em_im_en_in" : true, + "spelling.er_or" : true, + "spelling.in_un" : true, + "spelling.misc" : true, + "security.credit_card" : true, + "security.password" : true, + "sexism.misc" : true, + "terms.animal_adjectives" : true, + "terms.denizen_labels" : true, + "terms.eponymous_adjectives" : true, + "terms.venery" : true, + "typography.diacritical_marks" : true, + "typography.exclamation" : false, + "typography.symbols" : false, + "uncomparables.misc" : true, + "weasel_words.misc" : true, + "weasel_words.very" : true + } +} diff --git a/docs/.travis.yml b/docs/.travis.yml new file mode 100644 index 000000000..5bec1cccf --- /dev/null +++ b/docs/.travis.yml @@ -0,0 +1,13 @@ +branches: + only: + - master + - develop +language: node_js +node_js: + - "6" +script: + - bash ./scripts/deploy.sh +sudo: required +install: + - npm install + - sudo pip install proselint diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md new file mode 100644 index 000000000..4311f5e04 --- /dev/null +++ b/docs/CONTRIBUTING.md @@ -0,0 +1,67 @@ +# Contributing + +From adding an issue for a documentation suggestion to creating a pull request: every contribution is appreciated and welcome. If you're planning to implement a new section or page please create an issue first. + +## Setup + +* Install [Node.js](https://nodejs.org/) if you have not already. + *Note: Node 6.9.* is required for "best results".*. Node 7 may have issues! +* Fork the **webpack.js.org** repo at [https://github.com/webpack/webpack.js.org](https://github.com/webpack/webpack.js.org). +* `git clone && cd webpack.js.org` +* `npm install` +* `npm run build` +* `npm start` +* Visit [http://localhost:3000](http://localhost:3000) to preview your changes before making a pull request. + +## Contributor License Agreement + +When submitting your contribution, a CLA (Contributor License Agreement) bot will come by to verify that you signed the CLA. If it is your first time, it will link you to the right place to sign it. However, if you have committed your contributions using an email that is not the same as your email used on GitHub, the CLA bot can't accept your contribution. + +Run `git config user.email` to see your Git email, and verify it with [your GitHub email](https://github.com/settings/emails). + +## Editor Config + +The [.editorconfig](https://github.com/webpack/webpack.js.org/blob/master/.editorconfig) in the root should ensure consistent formatting. Please make sure you've [installed the plugin](http://editorconfig.org/#download) if your text editor needs one. + +## Branching Your Changes + +Making a branch in your fork for your contribution is helpful in the following ways: + +* It allows you to have multiple contributions in as PRs at once. +* It allows us to identify what your contribution is about from the branch name. + +## Submitting Changes + +After getting some feedback, push to your fork branch and submit a pull request. We may suggest some changes or improvements or alternatives, but for small changes your pull request should be accepted quickly. + +Issue the PR to the [master](https://github.com/webpack/webpack.js.org/tree/master) branch. + +> See [GitHub documentation](https://help.github.com/articles/proposing-changes-to-your-work-with-pull-requests/) for more help. + +## Contribution Recognition + +Any document that you edit, you can choose to add your GitHub username at the top of the document for recognition: + +**example.md** + +```markdown +=== +title: Some Example Page +contributors: + - TheLarkInn + - Sokra + - bebraw + - Jhnns + - SpaceK33z +=== + +## Some Documentation + +``` + +This will add your name and GitHub profile photo to the document in production. This is a great way to own the awesome work that you do and encourage that you remember to do this in your PR's. + + +## Thank you + +webpack is insanely feature rich and documentation is a huge time sink. We greatly appreciate any time spent fixing typos or clarifying sections in the documentation. diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 000000000..308558020 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,25 @@ +[![build status](https://secure.travis-ci.org/webpack/webpack.js.org.svg)](http://travis-ci.org/webpack/webpack.js.org) + +# webpack.js.org + +Guides, documentation, and all things Webpack. + +## Contributing + +To develop, please pull the project, `cd` into the directory and run: + +- `npm install` to pull all dependencies. +- `npm run build` to create a production version of the site. +- `npm start` to develop on a local webpack-dev-server (should be [here](http://localhost:3000/)). + +If you want to fetch the documentation on additional loaders/plugins hosted in [separate repositories](https://github.com/webpack), run `npm run fetch`. + +For more information see the [contributors page](https://github.com/webpack/webpack.js.org/blob/master/CONTRIBUTING.md) + +## Content Progress + +Check out the [MVP Milestone](https://github.com/webpack/webpack.js.org/milestones) for the current status. + +## License + +The content is available under [Creative Commons BY 4.0](https://creativecommons.org/licenses/by/4.0/) license. diff --git a/docs/angular-fullstack-logo.svg b/docs/angular-fullstack-logo.svg new file mode 100644 index 000000000..bf40810ac --- /dev/null +++ b/docs/angular-fullstack-logo.svg @@ -0,0 +1,9045 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/antwar.config.js b/docs/antwar.config.js new file mode 100644 index 000000000..101519938 --- /dev/null +++ b/docs/antwar.config.js @@ -0,0 +1,181 @@ +var _ = require('lodash'); +var path = require('path'); +var prevnextPlugin = require('antwar-prevnext-plugin'); +var markdown = require('./utilities/markdown'); +var highlight = require('./utilities/highlight'); + +module.exports = { + template: { + title: 'geneartor-angular-fullstack', + file: path.join(__dirname, 'template.ejs') + }, + output: 'build', + title: 'geneartor-angular-fullstack', + keywords: ['geneartor-angular-fullstack', 'javascript', 'web development', 'yeoman', 'mean', 'angular', 'node'], + pageTitle: function(config, pageTitle) { + var siteName = config.name; + + if (pageTitle === 'index') { + return siteName; + } + + return siteName + ' - ' + pageTitle; + }, + plugins: [ + prevnextPlugin() + ], + layout: function() { + return require('./components/site/site.jsx').default + }, + paths: { + '/': root( + function() { + return require.context( + 'json-loader!yaml-frontmatter-loader!./content', + false, + /^\.\/.*\.md$/ + ); + } + ), + + 'get-started': section( + 'Get-Started', + function() { + return require.context( + 'json-loader!yaml-frontmatter-loader!./content/get-started', + false, + /^\.\/.*\.md$/ + ) + } + ), + + 'guides': section( + 'Guides', + function() { + return require.context( + 'json-loader!yaml-frontmatter-loader!./content/guides', + false, + /^\.\/.*\.md$/ + ) + } + ), + + developing: section( + 'Developing', + function() { + return require.context( + 'json-loader!yaml-frontmatter-loader!./content/developing', + false, + /^\.\/.*\.md$/ + ); + } + ), + + deployment: section( + 'Deployment', + function() { + return require.context( + 'json-loader!yaml-frontmatter-loader!./content/deployment', + false, + /^\.\/.*\.md$/ + ); + } + ), + + examples: section( + 'Examples', + function() { + return require.context( + 'json-loader!yaml-frontmatter-loader!./content/examples', + false, + /^\.\/.*\.md$/ + ); + } + ), + + generators: section( + 'Generators', + function() { + return require.context( + 'json-loader!yaml-frontmatter-loader!./content/generators', + false, + /^\.\/.*\.md$/ + ); + } + ), + } +}; + +function root(contentCb) { + return { + title: 'Webpack', + path: function() { // Load path content + return contentCb(); + }, + processPage: processPage(), // Process individual page (url, content) + layouts: { // Layouts (page/section) + index: function() { + return require('./components/splash/splash.jsx').default + }, + page: function() { + return require('./components/page/page.jsx').default + } + }, + redirects: {} // Redirects : + }; +} + +function section(title, contentCb) { + return { + title: title, + path: function() { + return contentCb(); + }, + sort(pages) { + return _.sortBy(pages, (page) => page.file.sort) + }, + processPage: processPage(), + layouts: { + index: function() { + return require('./components/page/page.jsx').default + }, + page: function() { + return require('./components/page/page.jsx').default + } + }, + redirects: {} // : + }; +} + +function processPage() { + return { + url: function(o) { + return o.sectionName + '/' + o.fileName.split('.')[0] + }, + content: function(o) { + return markdown().process(o.file.__content, highlight); + }, + anchors: function(o) { + return markdown().getAnchors(o.file.__content); + }, + contributors: function(o) { + return Array.isArray(o.file.contributors) && o.file.contributors.length && o.file.contributors.slice().sort(); + } + }; +} + +function combineContexts(context1, context2) { + function webpackContext(req) { + try { + return context1(req); + } catch (e) { + return context2(req); + } + } + webpackContext.keys = () => { + let keys1 = context1.keys(); + let keys2 = context2.keys(); + return _.chain(keys1).concat(keys2).uniq().value(); + }; + return webpackContext; +} diff --git a/docs/assets/afs-screenshot-cropped.png b/docs/assets/afs-screenshot-cropped.png new file mode 100644 index 000000000..9745ea111 Binary files /dev/null and b/docs/assets/afs-screenshot-cropped.png differ diff --git a/docs/assets/afs-screenshot.png b/docs/assets/afs-screenshot.png new file mode 100644 index 000000000..dda0f606d Binary files /dev/null and b/docs/assets/afs-screenshot.png differ diff --git a/docs/assets/angular-fullstack-boxes.svg b/docs/assets/angular-fullstack-boxes.svg new file mode 100644 index 000000000..a3eb36d9d --- /dev/null +++ b/docs/assets/angular-fullstack-boxes.svg @@ -0,0 +1,8883 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/assets/angular-fullstack-logo.svg b/docs/assets/angular-fullstack-logo.svg new file mode 100644 index 000000000..bf40810ac --- /dev/null +++ b/docs/assets/angular-fullstack-logo.svg @@ -0,0 +1,9045 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/assets/favicon.ico b/docs/assets/favicon.ico new file mode 100644 index 000000000..450113bc5 Binary files /dev/null and b/docs/assets/favicon.ico differ diff --git a/docs/assets/foo-route-navbar.jpg b/docs/assets/foo-route-navbar.jpg new file mode 100644 index 000000000..0cca187bd Binary files /dev/null and b/docs/assets/foo-route-navbar.jpg differ diff --git a/docs/assets/foo-route.jpg b/docs/assets/foo-route.jpg new file mode 100644 index 000000000..53de246a7 Binary files /dev/null and b/docs/assets/foo-route.jpg differ diff --git a/docs/assets/geomanist-medium.woff b/docs/assets/geomanist-medium.woff new file mode 100644 index 000000000..091266981 Binary files /dev/null and b/docs/assets/geomanist-medium.woff differ diff --git a/docs/assets/geomanist-medium.woff2 b/docs/assets/geomanist-medium.woff2 new file mode 100644 index 000000000..026dafe9d Binary files /dev/null and b/docs/assets/geomanist-medium.woff2 differ diff --git a/docs/assets/github-logo.svg b/docs/assets/github-logo.svg new file mode 100644 index 000000000..9dd8eb57a --- /dev/null +++ b/docs/assets/github-logo.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/assets/homepage-modules.svg b/docs/assets/homepage-modules.svg new file mode 100644 index 000000000..bd9521bae --- /dev/null +++ b/docs/assets/homepage-modules.svg @@ -0,0 +1,326 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/assets/icon-square-big.svg b/docs/assets/icon-square-big.svg new file mode 100644 index 000000000..d4fed6ba7 --- /dev/null +++ b/docs/assets/icon-square-big.svg @@ -0,0 +1 @@ +icon-square-big diff --git a/docs/assets/icon-square-small.svg b/docs/assets/icon-square-small.svg new file mode 100644 index 000000000..d7b7e40b4 --- /dev/null +++ b/docs/assets/icon-square-small.svg @@ -0,0 +1 @@ +icon-square-small diff --git a/docs/assets/logged-in.jpg b/docs/assets/logged-in.jpg new file mode 100644 index 000000000..1906b25f4 Binary files /dev/null and b/docs/assets/logged-in.jpg differ diff --git a/docs/assets/logo-on-dark-bg.svg b/docs/assets/logo-on-dark-bg.svg new file mode 100644 index 000000000..952c47ede --- /dev/null +++ b/docs/assets/logo-on-dark-bg.svg @@ -0,0 +1 @@ +logo-on-dark-bg diff --git a/docs/assets/logo-on-white-bg.svg b/docs/assets/logo-on-white-bg.svg new file mode 100644 index 000000000..a17b8b5d2 --- /dev/null +++ b/docs/assets/logo-on-white-bg.svg @@ -0,0 +1 @@ +logo-on-white-bg diff --git a/docs/assets/logo-small.svg b/docs/assets/logo-small.svg new file mode 100644 index 000000000..9564fb1b9 --- /dev/null +++ b/docs/assets/logo-small.svg @@ -0,0 +1,57 @@ + + + Layer 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/assets/site-logo.svg b/docs/assets/site-logo.svg new file mode 100644 index 000000000..5b3b22a45 --- /dev/null +++ b/docs/assets/site-logo.svg @@ -0,0 +1 @@ +logo-on-dark-bg \ No newline at end of file diff --git a/docs/assets/socket.io-demo.gif b/docs/assets/socket.io-demo.gif new file mode 100644 index 000000000..fdd3e0094 Binary files /dev/null and b/docs/assets/socket.io-demo.gif differ diff --git a/docs/bootstrap.js b/docs/bootstrap.js new file mode 100644 index 000000000..b4ac85e0f --- /dev/null +++ b/docs/bootstrap.js @@ -0,0 +1,14 @@ +const antwar = require('antwar'); + +const environment = process.env.npm_lifecycle_event || 'build'; + +// Patch Babel env to make HMR switch work +process.env.BABEL_ENV = environment; + +antwar[environment]({ + environment, + antwar: require('./antwar.config'), + webpack: require('./webpack.config') +}).catch(function (err) { + console.error(err); +}); diff --git a/docs/components/cc/cc-style.scss b/docs/components/cc/cc-style.scss new file mode 100644 index 000000000..1ca2c2b2d --- /dev/null +++ b/docs/components/cc/cc-style.scss @@ -0,0 +1,11 @@ +.footer__license { + display:inline-block; + height:35px; + margin-left: 1em; + margin-right: 1em; + + img { + width:auto; + height:100%; + } +} diff --git a/docs/components/cc/cc.jsx b/docs/components/cc/cc.jsx new file mode 100644 index 000000000..32f8ba3e8 --- /dev/null +++ b/docs/components/cc/cc.jsx @@ -0,0 +1,16 @@ +import React from 'react'; +import Link from '../link/link'; +import './cc-style.scss'; + +const CC = () => { + return ( + + Creative Commons License + + ); +}; + +export default CC; diff --git a/docs/components/container/container-style.scss b/docs/components/container/container-style.scss new file mode 100644 index 000000000..474eeebf1 --- /dev/null +++ b/docs/components/container/container-style.scss @@ -0,0 +1,8 @@ +@import 'http://github.com/vars'; +@import 'http://github.com/mixins'; + +.container { + width: 100%; + max-width: map-get($screens, large); + margin: 0 auto; +} diff --git a/docs/components/container/container.jsx b/docs/components/container/container.jsx new file mode 100644 index 000000000..9f00bd0a8 --- /dev/null +++ b/docs/components/container/container.jsx @@ -0,0 +1,11 @@ +import React from 'react'; + +export default (props = {}) => { + let { className = '' } = props; + + return ( +
+ { props.children } +
+ ); +}; diff --git a/docs/components/contributors/contributors-style.scss b/docs/components/contributors/contributors-style.scss new file mode 100644 index 000000000..b8a441e02 --- /dev/null +++ b/docs/components/contributors/contributors-style.scss @@ -0,0 +1,37 @@ +@import 'http://github.com/functions'; + +.contributors__list { + padding: 6px; +} + +.contributor { + display: inline-flex; + flex-direction: column; + align-items: center; + margin-right: 1em; + font-size: 14px; + + img { + height: 45px; + width: 45px; + border-radius: 50%; + box-shadow: 0 0 2px rgba(0,0,0,0.3); + } + + .contributor__name { + color: getColor(fiord); + margin-top: -6px; + box-shadow: 0 0 2px rgba(0,0,0,0.3); + line-height: 1.4; + transition: color 0.1s; + padding: 0 6px; + border-radius: 2px; + background: transparentize(getColor(white), 0.05); + } + + &:hover { + .contributor__name { + color: lighten(getColor(denim), 5%); + } + } +} \ No newline at end of file diff --git a/docs/components/contributors/contributors.jsx b/docs/components/contributors/contributors.jsx new file mode 100644 index 000000000..e114aac18 --- /dev/null +++ b/docs/components/contributors/contributors.jsx @@ -0,0 +1,25 @@ +import React from 'react'; +import './contributors-style'; + +export default ({contributors}) => { + if (!contributors.length) { + return