diff --git a/app/templates/Gruntfile(grunt).js b/app/templates/Gruntfile(grunt).js index d31c0ef86..a39fd5d18 100644 --- a/app/templates/Gruntfile(grunt).js +++ b/app/templates/Gruntfile(grunt).js @@ -753,8 +753,8 @@ module.exports = function (grunt) { filePath = filePath.replace('/' + yoClient + '/components/', '../components/'); return '@import \'' + filePath + '\';'; }, - starttag: '// injector', - endtag: '// endinjector' + starttag: '/* inject:styl */', + endtag: '/* endinject */' }, files: { '<%%= yeoman.client %>/app/app.styl': [ @@ -773,8 +773,8 @@ module.exports = function (grunt) { filePath = filePath.replace('/' + yoClient + '/components/', '../components/'); return '@import \'' + filePath + '\';'; }, - starttag: '// injector', - endtag: '// endinjector' + starttag: '/* inject:scss */', + endtag: '/* endinject */' }, files: { '<%%= yeoman.client %>/app/app.scss': [ @@ -793,8 +793,8 @@ module.exports = function (grunt) { filePath = filePath.replace('/' + yoClient + '/components/', '../components/'); return '@import \'' + filePath + '\';'; }, - starttag: '// injector', - endtag: '// endinjector' + starttag: '/* inject:less */', + endtag: '/* endinject */' }, files: { '<%%= yeoman.client %>/app/app.less': [ diff --git a/app/templates/_package.json b/app/templates/_package.json index 369e32b18..f86162e15 100644 --- a/app/templates/_package.json +++ b/app/templates/_package.json @@ -4,7 +4,7 @@ "main": "server/app.js", "dependencies": { "express": "^4.13.3", - "morgan": "~1.6.1", + "morgan": "~1.7.0", "body-parser": "^1.13.3", "method-override": "^2.3.5", "cookie-parser": "^1.3.5", @@ -12,7 +12,7 @@ "errorhandler": "^1.4.2", "compression": "^1.5.2", "composable-middleware": "^0.3.0", - "lodash": "^3.10.1", + "lodash": "^4.6.1", "lusca": "^1.3.0", "babel-runtime": "^6.6.1", "babel-polyfill": "^6.7.2",<% if (filters.jade) { %> @@ -30,7 +30,7 @@ "passport-local": "^1.0.0",<% } %><% if (filters.facebookAuth) { %> "passport-facebook": "^2.0.0",<% } %><% if (filters.twitterAuth) { %> "passport-twitter": "^1.0.3",<% } %><% if (filters.googleAuth) { %> - "passport-google-oauth": "~0.2.0",<% } %><% if (filters.socketio) { %> + "passport-google-oauth20": "^1.0.0",<% } %><% if (filters.socketio) { %> "socket.io": "^1.3.5", "socket.io-client": "^1.3.5", "socketio-jwt": "^4.2.0",<% } %> @@ -47,33 +47,33 @@ "gulp": "^3.9.1", "gulp-add-src": "^0.2.0", "gulp-angular-templatecache": "^1.7.0", - "gulp-autoprefixer": "2.3.1", + "gulp-autoprefixer": "3.0.0", "gulp-babel": "^6.1.2",<% if(filters.ts) { %> - "gulp-typescript": "~2.10.0", - "gulp-tsd": "~0.0.4", - "gulp-tslint": "~4.2.1",<% } %> - "gulp-cache": "^0.2.10", + "gulp-typescript": "~2.12.1", + "gulp-tsd": "~0.1.0", + "gulp-tslint": "^4.3.0",<% } %> + "gulp-cache": "^0.4.2", "gulp-concat": "^2.6.0", - "gulp-env": "^0.2.0", - "gulp-filter": "^2.0.2", + "gulp-env": "^0.4.0", + "gulp-filter": "^4.0.0", "gulp-imagemin": "^2.2.1", - "gulp-inject": "^1.3.1", + "gulp-inject": "^3.0.0", "gulp-istanbul": "~0.10.3", "gulp-istanbul-enforcer": "^1.0.3", "gulp-jscs": "^3.0.2", - "gulp-jshint": "^1.11.0", + "gulp-jshint": "^2.0.0", "gulp-livereload": "^3.8.0", "gulp-load-plugins": "^1.0.0-rc.1", "gulp-minify-css": "^1.1.6", "gulp-mocha": "^2.1.3", - "gulp-ng-annotate": "^1.1.0", + "gulp-ng-annotate": "^2.0.0", "gulp-ng-constant": "^1.1.0", "gulp-plumber": "^1.0.1", "gulp-protractor": "^2.1.0", "gulp-rename": "^1.2.2", "gulp-rev": "^5.0.0", "gulp-rev-replace": "^0.4.2", - "gulp-sort": "^1.1.1", + "gulp-sort": "^2.0.0", "gulp-sourcemaps": "^1.5.2", "gulp-svgmin": "^1.1.2", "gulp-uglify": "^1.2.0", @@ -82,10 +82,10 @@ "gulp-watch": "^4.3.5",<% if(filters.jade) { %> "gulp-jade": "^1.0.1",<% } if(filters.stylus) { %> "gulp-stylus": "^2.0.4", - "gulp-stylint": "^1.1.3", + "gulp-stylint": "^3.0.0", "nib": "^1.1.0",<% } if(filters.sass) { %> "gulp-sass": "^2.0.1", - "gulp-scss-lint": "^0.2.1",<% } if(filters.less) { %> + "gulp-scss-lint": "^0.3.9",<% } if(filters.less) { %> "gulp-less": "^3.0.3", "gulp-recess": "^1.1.2",<% } %> "isparta": "^4.0.0", @@ -97,41 +97,41 @@ "grunt": "~0.4.5", "grunt-wiredep": "^2.0.0", "grunt-concurrent": "^2.0.1", - "grunt-contrib-clean": "~0.7.0", - "grunt-contrib-concat": "^0.5.1", - "grunt-contrib-copy": "^0.8.0", - "grunt-contrib-cssmin": "~0.14.0", - "grunt-contrib-imagemin": "~1.0.0", - "grunt-contrib-jshint": "~0.11.2", - "grunt-contrib-uglify": "~0.11.0", + "grunt-contrib-clean": "^1.0.0", + "grunt-contrib-concat": "^1.0.0", + "grunt-contrib-copy": "^1.0.0", + "grunt-contrib-cssmin": "^1.0.0", + "grunt-contrib-imagemin": "^1.0.0", + "grunt-contrib-jshint": "^1.0.0", + "grunt-contrib-uglify": "^1.0.0", "grunt-contrib-watch": "~0.6.1",<% if (filters.jade) { %> - "grunt-contrib-jade": "^0.15.0",<% } %><% if (filters.less) { %> - "grunt-contrib-less": "^1.0.0",<% } %> + "grunt-contrib-jade": "^1.0.0",<% } %><% if (filters.less) { %> + "grunt-contrib-less": "^1.2.0",<% } %> "grunt-babel": "~6.0.0",<% if(filters.ts) { %> - "grunt-ts": "~5.2.0", + "grunt-ts": "^5.3.2", "grunt-tsd": "~0.1.0", "grunt-tslint": "~3.0.1",<% } %> "grunt-google-cdn": "~0.4.0", "grunt-jscs": "^2.1.0", "grunt-newer": "^1.1.1", - "grunt-ng-annotate": "^1.0.1", - "grunt-ng-constant": "^1.1.0", + "grunt-ng-annotate": "^2.0.1", + "grunt-ng-constant": "^2.0.1", "grunt-filerev": "^2.3.1", "grunt-usemin": "^3.0.0", "grunt-env": "~0.4.1", "grunt-node-inspector": "^0.4.1", "grunt-nodemon": "^0.4.0", - "grunt-angular-templates": "^0.5.4", + "grunt-angular-templates": "^1.0.3", "grunt-dom-munger": "^3.4.0", "grunt-protractor-runner": "^2.0.0", "grunt-injector": "^0.6.0", "grunt-karma": "~0.12.0", "grunt-build-control": "^0.6.0",<% if(filters.sass) { %> - "grunt-contrib-sass": "^0.9.0",<% } %><% if(filters.stylus) { %> - "grunt-contrib-stylus": "~0.22.0",<% } %> - "jit-grunt": "^0.9.1", + "grunt-contrib-sass": "^1.0.0",<% } %><% if(filters.stylus) { %> + "grunt-contrib-stylus": "^1.2.0",<% } %> + "jit-grunt": "~0.10.0", "grunt-express-server": "^0.5.1", - "grunt-postcss": "~0.7.1", + "grunt-postcss": "~0.8.0", "grunt-open": "~0.2.3", "time-grunt": "^1.2.1", "grunt-mocha-test": "~0.12.7", @@ -158,7 +158,7 @@ "sinon-chai": "^2.8.0", "mocha": "^2.2.5",<% if (filters.mocha) { %> "karma-mocha": "^0.2.0", - "karma-chai-plugins": "^0.6.0",<% } if (filters.jasmine) { %> + "karma-chai-plugins": "~0.7.0",<% } if (filters.jasmine) { %> "jasmine-core": "^2.3.4", "karma-jasmine": "~0.3.0", "jasmine-spec-reporter": "^2.4.0",<% } if(filters.babel) { %> diff --git a/app/templates/client/app/app(less).less b/app/templates/client/app/app(less).less index db107e3e5..44268cf9f 100644 --- a/app/templates/client/app/app(less).less +++ b/app/templates/client/app/app(less).less @@ -23,7 +23,7 @@ } } <% } %> -// injector +/* inject:less */ @import 'admin/admin.less'; @import 'main/main.less'; -// endinjector +/* endinject */ diff --git a/app/templates/client/app/app(sass).scss b/app/templates/client/app/app(sass).scss index fc95c6bdc..0191121c1 100644 --- a/app/templates/client/app/app(sass).scss +++ b/app/templates/client/app/app(sass).scss @@ -23,7 +23,7 @@ } <% } %> // Component styles are injected through grunt -// injector +/* inject:scss */ @import 'admin/admin.scss'; @import 'main/main.scss'; -// endinjector +/* endinject */ diff --git a/app/templates/client/app/app(stylus).styl b/app/templates/client/app/app(stylus).styl index ffb293544..ca1778ffd 100644 --- a/app/templates/client/app/app(stylus).styl +++ b/app/templates/client/app/app(stylus).styl @@ -44,7 +44,7 @@ max-width 730px <% } %> // Component styles are injected through grunt -// injector +/* inject:styl */ @import "admin/admin" @import "main/main" -// endinjector +/* endinject */ diff --git a/app/templates/gulpfile.babel(gulp).js b/app/templates/gulpfile.babel(gulp).js index 9b3d1f63d..3f60a6565 100644 --- a/app/templates/gulpfile.babel(gulp).js +++ b/app/templates/gulpfile.babel(gulp).js @@ -262,8 +262,10 @@ gulp.task('inject:<%= styleExt %>', () => { gulp.src(_.union(paths.client.styles, ['!' + paths.client.mainStyle]), {read: false}) .pipe(plugins.sort()), { - starttag: '// injector', - endtag: '// endinjector', + <%_ if(filters.stylus) { _%> + starttag: '/* inject:styl */', + endtag: '/* endinject */', + <%_ } _%> transform: (filepath) => { let newPath = filepath .replace(`/${clientPath}/app/`, '') @@ -537,30 +539,30 @@ gulp.task('clean:dist', () => del([`${paths.dist}/!(.git*|.openshift|Procfile)** gulp.task('build:client', ['transpile:client', 'styles', 'html', 'constant'], () => { var manifest = gulp.src(`${paths.dist}/${clientPath}/assets/rev-manifest.json`); - var appFilter = plugins.filter('**/app.js'); - var jsFilter = plugins.filter('**/*.js'); - var cssFilter = plugins.filter('**/*.css'); - var htmlBlock = plugins.filter(['**/*.!(html)']); + var appFilter = plugins.filter('**/app.js', {restore: true}); + var jsFilter = plugins.filter('**/*.js', {restore: true}); + var cssFilter = plugins.filter('**/*.css', {restore: true}); + var htmlBlock = plugins.filter(['**/*.!(html)'], {restore: true}); return gulp.src(paths.client.mainView) .pipe(plugins.useref()) .pipe(appFilter) .pipe(plugins.addSrc.append('.tmp/templates.js')) .pipe(plugins.concat('app/app.js')) - .pipe(appFilter.restore()) + .pipe(appFilter.restore) .pipe(jsFilter) .pipe(plugins.ngAnnotate()) .pipe(plugins.uglify()) - .pipe(jsFilter.restore()) + .pipe(jsFilter.restore) .pipe(cssFilter) .pipe(plugins.minifyCss({ cache: true, processImportFrom: ['!fonts.googleapis.com'] })) - .pipe(cssFilter.restore()) + .pipe(cssFilter.restore) .pipe(htmlBlock) .pipe(plugins.rev()) - .pipe(htmlBlock.restore()) + .pipe(htmlBlock.restore) .pipe(plugins.revReplace({manifest})) .pipe(gulp.dest(`${paths.dist}/${clientPath}`)); }); diff --git a/app/templates/server/auth(auth)/google(googleAuth)/passport.js b/app/templates/server/auth(auth)/google(googleAuth)/passport.js index 3c9b1a490..9d6d2193d 100644 --- a/app/templates/server/auth(auth)/google(googleAuth)/passport.js +++ b/app/templates/server/auth(auth)/google(googleAuth)/passport.js @@ -1,5 +1,5 @@ import passport from 'passport'; -import {OAuth2Strategy as GoogleStrategy} from 'passport-google-oauth'; +import {Strategy as GoogleStrategy} from 'passport-google-oauth20'; export function setup(User, config) { passport.use(new GoogleStrategy({ diff --git a/app/templates/server/config/express.js b/app/templates/server/config/express.js index 0f69f8274..009400b5e 100644 --- a/app/templates/server/config/express.js +++ b/app/templates/server/config/express.js @@ -19,7 +19,7 @@ import passport from 'passport';<% } %> import session from 'express-session';<% if (filters.mongoose) { %> import connectMongo from 'connect-mongo'; import mongoose from 'mongoose'; -var mongoStore = connectMongo(session);<% } else if(filters.sequelize) { %> +var MongoStore = connectMongo(session);<% } else if(filters.sequelize) { %> import sqldb from '../sqldb'; import expressSequelizeSession from 'express-sequelize-session'; var Store = expressSequelizeSession(session.Store);<% } %> @@ -38,14 +38,14 @@ export default function(app) { app.use(cookieParser());<% if (filters.auth) { %> app.use(passport.initialize());<% } %> - // Persist sessions with mongoStore / sequelizeStore + // Persist sessions with MongoStore / sequelizeStore // We need to enable sessions for passport-twitter because it's an // oauth 1.0 strategy, and Lusca depends on sessions app.use(session({ secret: config.secrets.session, saveUninitialized: true, resave: false<% if (filters.mongoose) { %>, - store: new mongoStore({ + store: new MongoStore({ mongooseConnection: mongoose.connection, db: '<%= lodash.slugify(lodash.humanize(appname)) %>' })<% } else if(filters.sequelize) { %>,