Nose Picker's Maven

    @nowa/module-script
    TypeScript icon, indicating that this package has built-in type declarations

    0.3.2 • Public • Published

    nowa-module-script

    Module Config

    export type SingleScript = string | (() => void | Promise<void>);
    export interface IOptions {
      // all default false
      parallel?: boolean;
      noWait?: boolean;
      noRetrigger?: boolean;
    }
    export type Config = ['script', SingleScript | SingleScript[], IOptions];

    Usage

    const config1 = ['script', 'echo start'];
    const config2 = ['script', ['rm -rf dist', 'mkdir dist']]; // multiple scripts
    const config3 = ['script', ['rm -rf dist', 'rm -rf build'], { parallel: true }]; // with options
    // no guarantee on script running orders , but less time-consuming probably
    
    // be careful, shell scripts are not cross-platform
    // you'd better perform file system operations with @nowa/module-file
    
    const config4 = [
      'script',
      () => {
        // js script
        console.log('done');
      },
    ];

    noWait noRetrigger

    consider this workflow

    1. script start: [echo start, <some time-consuming script>]
    2. webpack watch
    3. script end: [echo end]

    the first-run output should be something like

    1. 'start'
    2. <running time-consuming script>
    3. <webpack related output>
    4. 'end'

    and when you trigger a recompile (change source file), these are append to the output

    1. <webpack recompile output>
    2. 'end'

    noWait: true

    with noWait option on start script, the first output should be

    1. 'start' + <running time-consuming script> + <webpack output>
    2. 'end'

    the next module module-webpack won't wait for the script to finish

    noRetrigger: true

    with noRetrigger option on end script the recompile output should be

    1. <webpack recompile output>

    no 'end' output since it won't retrigger

    Keywords

    none

    Install

    npm i @nowa/module-script

    DownloadsWeekly Downloads

    1

    Version

    0.3.2

    License

    MIT

    Unpacked Size

    9.52 kB

    Total Files

    6

    Last publish

    Collaborators

    • onbing
    • tommytroylin
    • gbk