daemon-command-webpack-plugin
v1.5.0
Published
Run or restart npm commands after webpack build has finished
Downloads
17
Maintainers
Readme
daemon-command-webpack-plugin
This is simple webpack plugin that monitors webpack events and start or restart npm/yarn command. The main purpose of this plugin is to restart node process when webpack has finised rebuilding the source tree. It is also possible to wait for the marker to make sure the process is finished doing the job (like starting the web server)
Installing as a package
Use NPM:
npm i daemon-command-webpack-plugin -D
or npm install daemon-command-webpack-plugin --save-dev
Use YARN:
yarn add daemon-command-webpack-plugin --dev
Usage
// package.json
{
"name": "me-app",
"version": "1.0.0",
"scripts": {
"start:dev:env": "node server/build/index.js",
"start:dev": "NODE_ENV=development PORT=3000 node server/build/index.js",
},
}
// webpack.config.js
import DaemonCommandPlugin from 'daemon-command-webpack-plugin';
module.exports = {
// ... rest of config
plugins: [
// Command #1
new DaemonCommandPlugin('start:dev:env', {
spawn : {
env : {
NODE_ENV : 'development',
PORT : 3000
}
}
}),
// Command #2
new DaemonCommandPlugin('start:dev');,
// Command #3 use yarn
new DaemonCommandPlugin('start:dev', {
manager : 'yarn'
});
]
}
Usage with marker
// webpack.config.js
import DaemonCommandPlugin from 'daemon-command-webpack-plugin';
module.exports = {
// ... rest of config
plugins: [
// Command #1
new DaemonCommandPlugin('start:dev', {
marker : true
});
]
}
// your-app.js
import express from 'express';
import marker from 'daemon-command-webpack-plugin/marker';
let app = express();
app.listen(8080, () => {
console.log('Listen port: 8080');
marker();
// or
marker('Listen port: 8080'); // Custom message
})
Arguments
command
<String> The package.json scripts command to runoptions
<Object>event
<String> Webpack life cycle event. Default:after-emit
marker
<Boolean> Resolve promise when a marker is found to stdout. Default:false
spawn
<Object> Spawn optionscwd
<String> Current working directory of the child processenv
<Object> Environment key-value pairsargv0
<String> Explicitly set the value of argv[0] sent to the child process. This will be set to command if not specified.stdio
<Array> | <String> Child's stdio configuration. (See options.stdio)detached
<Boolean> Prepare child to run independently of its parent process. Specific behavior depends on the platform, see options.detached)uid
<Number> Sets the user identity of the processgid
<Number> Sets the group identity of the processshell
<Boolean> | <String> If true, runs command inside of a shell. Uses/bin/sh
on UNIX, andcmd.exe
on Windows. A different shell can be specified as a string. The shell should understand the -c switch on UNIX, or /d /s /c on Windows. Defaults to false (no shell).
Use cwd
to specify the working directory from which the process is spawned. If not given, the default is to inherit the current working directory.
Use env
to specify environment variables that will be visible to the new process, the default is process.env.