Skip to content

Commit 38e8724

Browse files
committed
WIP
1 parent 18bc822 commit 38e8724

File tree

11 files changed

+61
-130
lines changed

11 files changed

+61
-130
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,4 @@ public/*
4040
package-lock.json
4141

4242
/modules/jsengine
43+
.gitmodules

gulpfile.js

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ gulp.task("nodemon", lazyRequireTask('./tasks/nodemon', {
3030
watch: ["modules"]
3131
}));
3232

33-
gulp.task("client:livereload", lazyRequireTask("./tasks/livereload", {
33+
gulp.task("livereload", lazyRequireTask("./tasks/livereload", {
3434
// watch files *.*, not directories, no need to reload for new/removed files,
3535
// we're only interested in changes
3636

@@ -65,7 +65,7 @@ gulp.task('watch', lazyRequireTask('./tasks/watch', {
6565
taskMapping: [
6666
{
6767
watch: 'assets/**',
68-
task: 'client:sync-resources'
68+
task: 'sync-resources'
6969
}
7070
]
7171
}));
@@ -74,29 +74,26 @@ gulp.task('deploy', function(callback) {
7474
runSequence("deploy:build", "deploy:update", callback);
7575
});
7676

77-
gulp.task("client:sync-resources", lazyRequireTask('./tasks/syncResources', {
77+
gulp.task("sync-resources", lazyRequireTask('./tasks/syncResources', {
7878
assets: 'public'
7979
}));
8080

8181

82-
gulp.task('client:minify', lazyRequireTask('./tasks/minify'));
83-
gulp.task('client:resize-retina-images', lazyRequireTask('./tasks/resizeRetinaImages'));
84-
85-
gulp.task('client:webpack', lazyRequireTask('./tasks/webpack'));
86-
// gulp.task('client:webpack-dev-server', lazyRequireTask('./tasks/webpackDevServer'));
82+
gulp.task('webpack', lazyRequireTask('./tasks/webpack'));
83+
// gulp.task('webpack-dev-server', lazyRequireTask('./tasks/webpackDevServer'));
8784

8885

8986
gulp.task('build', function(callback) {
90-
runSequence("client:sync-resources", 'client:webpack', callback);
87+
runSequence("sync-resources", 'webpack', callback);
9188
});
9289

9390
gulp.task('server', lazyRequireTask('./tasks/server'));
9491

95-
gulp.task('edit', ['client:webpack', 'jsengine:koa:tutorial:importWatch', "client:sync-resources", 'client:livereload', 'server']);
92+
gulp.task('edit', ['webpack', 'jsengine:koa:tutorial:importWatch', "sync-resources", 'livereload', 'server']);
9693

9794

9895
gulp.task('dev', function(callback) {
99-
runSequence("client:sync-resources", ['nodemon', 'client:livereload', 'client:webpack', 'watch'], callback);
96+
runSequence("sync-resources", ['nodemon', 'livereload', 'webpack', 'watch'], callback);
10097
});
10198

10299
gulp.on('err', function(gulpErr) {

modules/config/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,5 +86,5 @@ t.requireHandlerLocales();
8686

8787
// webpack config uses general config
8888
// we have a loop dep here
89-
config.webpack = require('./webpack')(config);
89+
config.webpack = require('./webpack');
9090

modules/config/webpack.js

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,31 @@
11
let fs = require('fs');
2-
let nib = require('nib');
3-
let rupture = require('rupture');
4-
let path = require('path');
5-
let chokidar = require('chokidar');
62
let config = require('config');
7-
let webpack = require('webpack');
8-
let WriteVersionsPlugin = require('jsengine/webpack/writeVersionsPlugin');
9-
let CssWatchRebuildPlugin = require('jsengine/webpack/cssWatchRebuildPlugin');
10-
const CopyWebpackPlugin = require('copy-webpack-plugin')
11-
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
12-
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
13-
const OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin");
14-
const fse = require('fs-extra');
15-
const glob = require('glob');
3+
let path = require('path');
164

175
// 3rd party / slow to build modules
186
// no webpack dependencies inside
197
// no es6 (for 6to5 processing) inside
208
// NB: includes angular-*
21-
let noProcessModulesRegExp = new RegExp("node_modules" + (path.sep === '/' ? path.sep : '\\\\') + "(angular|prismjs|sanitize-html|i18n-iso-countries)");
9+
let noProcessModulesRegExp = new RegExp("node_modules" + (path.sep === '/' ? path.sep : '\\\\') + "(angular|prismjs|sanitize-html|i18n-iso-countries)");
2210

2311
let devMode = process.env.NODE_ENV == 'development';
2412

2513

26-
module.exports = function (config) {
14+
module.exports = function () {
15+
16+
let nib = require('nib');
17+
let rupture = require('rupture');
18+
let chokidar = require('chokidar');
19+
let webpack = require('webpack');
20+
let WriteVersionsPlugin = require('jsengine/webpack/writeVersionsPlugin');
21+
let CssWatchRebuildPlugin = require('jsengine/webpack/cssWatchRebuildPlugin');
22+
const CopyWebpackPlugin = require('copy-webpack-plugin')
23+
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
24+
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
25+
const OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin");
26+
const fse = require('fs-extra');
27+
28+
2729
// tutorial.js?hash
2830
// tutorial.hash.js
2931
function extHash(name, ext, hash) {
@@ -223,7 +225,7 @@ module.exports = function (config) {
223225
extensions: ['.js', '.styl'],
224226
alias: {
225227
'entities/maps/entities.json': 'jsengine/markit/emptyEntities',
226-
config: 'client/config'
228+
config: 'client/config'
227229
},
228230
modules: modulesDirectories
229231
},
@@ -271,7 +273,7 @@ module.exports = function (config) {
271273
new webpack.IgnorePlugin({
272274
checkResource: (arg) => arg.endsWith('.yml') && arg !== './' + config.lang + '.yml',
273275
// under dirs like: ../locales/..
274-
checkContext: arg => /\/locales(\/|$)/.test(arg)
276+
checkContext: arg => /\/locales(\/|$)/.test(arg)
275277
}),
276278

277279
new WriteVersionsPlugin(path.join(config.cacheRoot, 'webpack.versions.json')),

package.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,6 @@
3232
"gulp": "^3",
3333
"gulp-livereload": "*",
3434
"gulp-ll": "*",
35-
"gulp-load-plugins": "*",
36-
"gulp-nodemon": "*",
37-
"gulp-util": "*",
3835
"image-size": "*",
3936
"js-yaml": "*",
4037
"json-loader": "^0.5.7",
@@ -58,6 +55,7 @@
5855
"node-notifier": "*",
5956
"node-uuid": "*",
6057
"node-zip": "*",
58+
"nodemon": "^1.18.4",
6159
"optimize-css-assets-webpack-plugin": "^4.0.3",
6260
"path-to-regexp": "*",
6361
"postcss-loader": "*",

tasks/livereload.js

100755100644
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
let livereload = require('gulp-livereload');
22
let gulp = require('gulp');
3-
let gutil = require('gulp-util');
43
let throttle = require('lodash/throttle');
54
let chokidar = require('chokidar');
65

@@ -18,7 +17,7 @@ module.exports = function(options) {
1817
//livereload.changedVerySoon = _.throttle(livereload.changed, 100, {leading: false});
1918

2019
setTimeout(function() {
21-
gutil.log("livereload: listen on change " + options.watch);
20+
console.log("livereload: listen on change " + options.watch);
2221

2322
chokidar.watch(options.watch, {
2423
awaitWriteFinish: {

tasks/minify.js

Lines changed: 0 additions & 44 deletions
This file was deleted.

tasks/nodemon.js

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,32 @@
1-
const gp = require('gulp-load-plugins')();
1+
const nodemon = require('nodemon');
22

33
module.exports = function(options) {
44

55
return function(callback) {
6-
gp.nodemon(options);
6+
7+
nodemon({
8+
// shared client/server code has require('template.pug) which precompiles template on run
9+
// so I have to restart server to pickup the template change
10+
ext: "js",
11+
verbose: true,
12+
delay: 10,
13+
nodeArgs: process.env.NODE_DEBUG ? ['--inspect'] : [],
14+
script: "./bin/server.js",
15+
//ignoreRoot: ['.git', 'node_modules'].concat(glob.sync('{handlers,modules}/**/client')), // ignore handlers' client code
16+
ignore: ['**/client/', '**/photoCut/', 'public'], // ignore handlers' client code
17+
watch: ["modules"],
18+
watchOptions: {
19+
awaitWriteFinish: {
20+
stabilityThreshold: 300,
21+
pollInterval: 100
22+
}
23+
}
24+
})
25+
.on('log', function (log){
26+
console.log(log.colour);
27+
});
28+
729
};
830

31+
932
};

tasks/resizeRetinaImages.js

Lines changed: 0 additions & 40 deletions
This file was deleted.

tasks/syncResources.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
const fs = require('fs');
22
const fse = require('fs-extra');
3-
const gp = require('gulp-load-plugins')();
43
const glob = require('glob');
54

65
module.exports = function(resources) {

0 commit comments

Comments
 (0)