Skip to content

phones24/daemon-command-webpack-plugin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

daemon-command-webpack-plugin

license travis AppVeyor npm npm

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 `pwd`/server/build/index.js",
      "start:dev": "NODE_ENV=development PORT=3000 node `pwd`/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 run
  • options <Object>
    • manager <String> Package manager. Default: npm
    • command <String> Command type. Default: run
    • 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 options
      • cwd <String> Current working directory of the child process
      • env <Object> Environment key-value pairs
      • argv0 <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 process
      • gid <Number> Sets the group identity of the process
      • shell <Boolean> | <String> If true, runs command inside of a shell. Uses /bin/sh on UNIX, and cmd.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.

Marker arguments

License

MIT

About

Run and restart npm commands after emit file webpack builds

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%