2
2
mirror of https://github.com/Llewellynvdm/nativefier.git synced 2024-06-03 05:10:47 +00:00

Implement watching of src files

This commit is contained in:
Jia Hao 2016-01-23 12:29:40 +08:00
parent ddd728bd81
commit 0a42a830e2
2 changed files with 50 additions and 11 deletions

View File

@ -6,36 +6,75 @@ import babel from 'gulp-babel';
import watchify from 'watchify'; import watchify from 'watchify';
import runSequence from 'run-sequence'; import runSequence from 'run-sequence';
import path from 'path';
const PATHS = {
WEBPACK_CONFIG: './webpack.config.js',
APP_SRC: 'app/src',
APP_DEST: 'app/lib',
CLI_SRC: 'src',
CLI_DEST: 'lib'
};
//
//APP_ALL: this.APP_SRC + '/**/*',
//APP_STATIC_ALL: path.join(this.APP_SRC, 'static') + '/**/*',
//APP_STATIC_DEST: path.join(this.APP_DEST, 'static'),
//CLI_SRC_JS: this.CLI_SRC + '/**/*.js',
PATHS.APP_MAIN_JS = path.join(PATHS.APP_SRC, '/main.js'),
PATHS.APP_ALL = PATHS.APP_SRC + '/**/*';
PATHS.APP_STATIC_ALL = path.join(PATHS.APP_SRC, 'static') + '/**/*';
PATHS.APP_STATIC_DEST = path.join(PATHS.APP_DEST, 'static');
PATHS.CLI_SRC_JS = PATHS.CLI_SRC + '/**/*.js';
console.log(PATHS);
gulp.task('default', ['build']); gulp.task('default', ['build']);
gulp.task('build', callback => { gulp.task('build', callback => {
runSequence('clean', ['build-cli', 'build-app'], callback); runSequence('clean', ['build-cli', 'build-app'], callback);
}); });
gulp.task('build-app', ['build-static'], function () { gulp.task('build-app', ['build-static'], () => {
return gulp.src('app/src/main.js') return gulp.src(PATHS.APP_MAIN_JS)
.pipe(webpack(require('./webpack.config.js'))) .pipe(webpack(require(PATHS.WEBPACK_CONFIG)))
.pipe(gulp.dest('app/lib')); .pipe(gulp.dest(PATHS.APP_DEST));
}); });
gulp.task('clean', callback => { gulp.task('clean', callback => {
del('lib').then(() => { del(PATHS.CLI_DEST).then(() => {
del('app/lib').then(() => { del(PATHS.APP_DEST).then(() => {
callback(); callback();
}); });
}); });
}); });
gulp.task('build-cli', () => { gulp.task('build-cli', done => {
return gulp.src("src/**/*.js") return gulp.src(PATHS.CLI_SRC_JS)
.pipe(sourcemaps.init()) .pipe(sourcemaps.init())
.pipe(babel()) .pipe(babel())
.on('error', done)
.pipe(sourcemaps.write('.')) .pipe(sourcemaps.write('.'))
.pipe(gulp.dest('lib')); .pipe(gulp.dest('lib'));
}); });
gulp.task('build-static', () => { gulp.task('build-static', () => {
// copy any html files in source/ to public/ // copy any html files in source/ to public/
return gulp.src('app/src/static/**/*') return gulp.src(PATHS.APP_STATIC_ALL)
.pipe(gulp.dest('app/lib/static/')); .pipe(gulp.dest(PATHS.APP_STATIC_DEST));
});
gulp.task('watch', ['build'], () => {
var handleError = function (error) {
console.error(error);
};
gulp.watch(PATHS.APP_ALL, ['build-app'])
.on('error', handleError);
gulp.watch(PATHS.CLI_SRC_JS, ['build-cli'])
.on('error', handleError);
}); });

View File

@ -16,7 +16,7 @@
"build-app": "browserify app/src/main.js --node --ignore-missing --detect-globals false --debug -o app/lib/main.js && cp -r app/src/static app/lib/static", "build-app": "browserify app/src/main.js --node --ignore-missing --detect-globals false --debug -o app/lib/main.js && cp -r app/src/static app/lib/static",
"build-module": "babel src -d lib", "build-module": "babel src -d lib",
"build": "npm run build-app && npm run build-module", "build": "npm run build-app && npm run build-module",
"watch": "babel --watch src -d lib", "watch": "while true ; do gulp watch ; done",
"prepublish": "npm run build", "prepublish": "npm run build",
"package-placeholder": "npm run build && node lib/cli.js http://www.medium.com ~/Desktop --overwrite && open ~/Desktop/Medium-darwin-x64/Medium.app", "package-placeholder": "npm run build && node lib/cli.js http://www.medium.com ~/Desktop --overwrite && open ~/Desktop/Medium-darwin-x64/Medium.app",
"start-placeholder": "npm run build && electron app", "start-placeholder": "npm run build && electron app",