es-node-runner
TypeScript icon, indicating that this package has built-in type declarations

2.2.0 • Public • Published

es-node-runner

npm NPM npm bundle size

Node runner that transpiles typescript or es modules using blazing fast esbuild and restarts the process automatically on change. Suitable for node development server.

Usage

  1. Install as devDependency using npm or yarn,

    npm i --save-dev es-node-runner
    
    # or
    
    yarn add -D es-node-runner
  2. Add your config using one of the available formats. es-node-runner uses only one file if there are multiple configuration files in the root directory, The priority order is as follows,

    • es-node-runner.config.js
    • package.json

    If no configuration is found, then default config will be used.

  3. Finally, add es-node-runner to package.json scripts

    {
      "scripts": {
        "<script_name>": "es-node-runner"
      }
    }

    and run the script using npm or yarn as, npm run <script_name> or yarn <script_name>

Configurations

Following options are available for configuring es-node-runner.

buildOptions: {
    // Entry point for bundling
    entry: string,
    // Sets the output directory for build operation.
    outdir: string,
    // Sets the file name for bundled output. This is applicable only if bundle is true.
    outfile: string,
    format: 'iife' | 'cjs' | 'esm',
    // Sets the target for generated code
    target: string,
    // Generates sourcemap
    sourcemap: boolean,
},
watchOptions: {
    // Path or list of paths to be watched for changes.
    watch: string | string[],
    // Ignore list of files / paths from watching for changes.
    ignore: string | string[],
},
spawnOptions: {
    // Rebuild will be delayed by specified time (in millisecond).
    delay: number,
    // Restart sub process manually with terminal cmd
    restartCmd: string,
    // Clear the terminal output before restart
    clearTerminal: boolean,
    // To restart manually with cmd, set this to false. This is helpful if we want to restart only when necessary
    autoRestart: boolean,
    // Enable or disable logging
    logging: boolean,
    // Pass cli options to node executable
    args: string[];
},

Note: All options are optional.

CLI Options

Following command line options are available,

  1. --debug - with optional comma(,) separated namespace to enable specific namespace for debugging.

Config file formats

ESM version of config file

Example
export default {
  spawnOptions: {
    // This will disables the logging if debug is enabled
    logging: !process.env.DEBUG,
  },
};

CommonJs version of config file

Example
module.exports = {
  spawnOptions: {
    // This will disables the logging if debug is enabled
    logging: !process.env.DEBUG,
  },
};

For auto-completion, add @type jsdoc comment.

Example
/**
 * @type {import('es-node-runner').Config}
 */
module.exports = {
  buildOptions: {
    entry: 'src/index.ts',
  },
  watchOptions: {
    watch: ['src'],
  },
};

Package Sidebar

Install

npm i es-node-runner

Weekly Downloads

4

Version

2.2.0

License

MIT

Unpacked Size

23 kB

Total Files

14

Last publish

Collaborators

  • pravesa