Skip to content

Commit ed267b4

Browse files
evenstensbergPavithra Kodmad
authored andcommitted
feat: Introduce reserve and timestamps (#24)
1 parent e782316 commit ed267b4

File tree

4 files changed

+23
-15
lines changed

4 files changed

+23
-15
lines changed

bin/config-yargs.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,12 @@ module.exports = function(yargs) {
161161
describe: "Watch the filesystem for changes",
162162
group: BASIC_GROUP
163163
},
164+
"save": {
165+
type: "boolean",
166+
alias: "s",
167+
describe: "Rebuilds on save regardless of changes in watch mode",
168+
group: BASIC_GROUP
169+
},
164170
"watch-stdin": {
165171
type: "boolean",
166172
alias: "stdin",

bin/convert-argv.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ var path = require("path");
22
var fs = require("fs");
33
fs.existsSync = fs.existsSync || path.existsSync;
44
var interpret = require("interpret");
5-
var WebpackOptionsDefaulter = require("../node_modules/webpack/lib/WebpackOptionsDefaulter");
5+
var WebpackOptionsDefaulter = require("webpack/lib/WebpackOptionsDefaulter");
66

77
module.exports = function(yargs, argv, convertOptions) {
88

@@ -317,7 +317,7 @@ module.exports = function(yargs, argv, convertOptions) {
317317
defineObject = {};
318318
}, function() {
319319
ensureArray(options, "plugins");
320-
var DefinePlugin = require("../node_modules/webpack/lib/DefinePlugin");
320+
var DefinePlugin = require("webpack/lib/DefinePlugin");
321321
options.plugins.push(new DefinePlugin(defineObject));
322322
});
323323

@@ -387,13 +387,13 @@ module.exports = function(yargs, argv, convertOptions) {
387387

388388
ifBooleanArg("hot", function() {
389389
ensureArray(options, "plugins");
390-
var HotModuleReplacementPlugin = require("../node_modules/webpack/lib/HotModuleReplacementPlugin");
390+
var HotModuleReplacementPlugin = require("webpack/lib/HotModuleReplacementPlugin");
391391
options.plugins.push(new HotModuleReplacementPlugin());
392392
});
393393

394394
ifBooleanArg("debug", function() {
395395
ensureArray(options, "plugins");
396-
var LoaderOptionsPlugin = require("../node_modules/webpack/lib/LoaderOptionsPlugin");
396+
var LoaderOptionsPlugin = require("webpack/lib/LoaderOptionsPlugin");
397397
options.plugins.push(new LoaderOptionsPlugin({
398398
debug: true
399399
}));
@@ -427,24 +427,24 @@ module.exports = function(yargs, argv, convertOptions) {
427427

428428
ifArg("optimize-max-chunks", function(value) {
429429
ensureArray(options, "plugins");
430-
var LimitChunkCountPlugin = require("../node_modules/webpack/lib/optimize/LimitChunkCountPlugin");
430+
var LimitChunkCountPlugin = require("webpack/lib/optimize/LimitChunkCountPlugin");
431431
options.plugins.push(new LimitChunkCountPlugin({
432432
maxChunks: parseInt(value, 10)
433433
}));
434434
});
435435

436436
ifArg("optimize-min-chunk-size", function(value) {
437437
ensureArray(options, "plugins");
438-
var MinChunkSizePlugin = require("../node_modules/webpack/lib/optimize/MinChunkSizePlugin");
438+
var MinChunkSizePlugin = require("webpack/lib/optimize/MinChunkSizePlugin");
439439
options.plugins.push(new MinChunkSizePlugin({
440440
minChunkSize: parseInt(value, 10)
441441
}));
442442
});
443443

444444
ifBooleanArg("optimize-minimize", function() {
445445
ensureArray(options, "plugins");
446-
var UglifyJsPlugin = require("../node_modules/webpack/lib/optimize/UglifyJsPlugin");
447-
var LoaderOptionsPlugin = require("../node_modules/webpack/lib/LoaderOptionsPlugin");
446+
var UglifyJsPlugin = require("webpack/lib/optimize/UglifyJsPlugin");
447+
var LoaderOptionsPlugin = require("webpack/lib/LoaderOptionsPlugin");
448448
options.plugins.push(new UglifyJsPlugin({
449449
sourceMap: options.devtool && (options.devtool.indexOf("sourcemap") >= 0 || options.devtool.indexOf("source-map") >= 0)
450450
}));
@@ -455,7 +455,7 @@ module.exports = function(yargs, argv, convertOptions) {
455455

456456
ifArg("prefetch", function(request) {
457457
ensureArray(options, "plugins");
458-
var PrefetchPlugin = require("../node_modules/webpack/PrefetchPlugin");
458+
var PrefetchPlugin = require("webpack/PrefetchPlugin");
459459
options.plugins.push(new PrefetchPlugin(request));
460460
});
461461

@@ -469,13 +469,13 @@ module.exports = function(yargs, argv, convertOptions) {
469469
} else {
470470
name = value;
471471
}
472-
var ProvidePlugin = require("../node_modules/webpack/ProvidePlugin");
472+
var ProvidePlugin = require("webpack/ProvidePlugin");
473473
options.plugins.push(new ProvidePlugin(name, value));
474474
});
475475

476476
ifBooleanArg("labeled-modules", function() {
477477
ensureArray(options, "plugins");
478-
var LabeledModulesPlugin = require("../node_modules/webpack/lib/dependencies/LabeledModulesPlugin");
478+
var LabeledModulesPlugin = require("webpack/lib/dependencies/LabeledModulesPlugin");
479479
options.plugins.push(new LabeledModulesPlugin());
480480
});
481481

bin/process-options.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ module.exports = function processOptions(yargs, argv) {
2222
var firstOptions = Array.isArray(options) ? (options[0] || {}) : options;
2323

2424
if(typeof options.stats === "boolean" || typeof options.stats === "string") {
25-
var statsPresetToOptions = require("../lib/Stats.js").presetToOptions;
25+
var statsPresetToOptions = require("webpack/lib/Stats.js").presetToOptions;
2626
options.stats = statsPresetToOptions(options.stats);
2727
}
2828

@@ -125,15 +125,15 @@ module.exports = function processOptions(yargs, argv) {
125125
}
126126
});
127127

128-
var webpack = require("../lib/webpack.js");
128+
var webpack = require("webpack/lib/webpack.js");
129129

130130
Error.stackTraceLimit = 30;
131131
var lastHash = null;
132132
var compiler;
133133
try {
134134
compiler = webpack(options);
135135
} catch(e) {
136-
var WebpackOptionsValidationError = require("../lib/WebpackOptionsValidationError");
136+
var WebpackOptionsValidationError = require("webpack/lib/WebpackOptionsValidationError");
137137
if(e instanceof WebpackOptionsValidationError) {
138138
if(argv.color)
139139
console.error("\u001b[1m\u001b[31m" + e.message + "\u001b[39m\u001b[22m");
@@ -145,7 +145,7 @@ module.exports = function processOptions(yargs, argv) {
145145
}
146146

147147
if(argv.progress) {
148-
var ProgressPlugin = require("../lib/ProgressPlugin");
148+
var ProgressPlugin = require("webpack/lib/ProgressPlugin");
149149
compiler.apply(new ProgressPlugin({
150150
profile: argv.profile
151151
}));
@@ -167,7 +167,9 @@ module.exports = function processOptions(yargs, argv) {
167167
process.stdout.write(JSON.stringify(stats.toJson(outputOptions), null, 2) + "\n");
168168
} else if(stats.hash !== lastHash) {
169169
lastHash = stats.hash;
170+
process.stdout.write( "\n" + new Date() + "\n" + "\n");
170171
process.stdout.write(stats.toString(outputOptions) + "\n");
172+
if(argv.s) lastHash = null;
171173
}
172174
if(!options.watch && stats.hasErrors()) {
173175
process.on("exit", function() {
File renamed without changes.

0 commit comments

Comments
 (0)