Registry /
devops / webpack-synchronizable-shell-plugin
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslnode 18–223 runs
build_error
glibcnode 18–223 runs
build_error
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
WebpackSynchronizableShellPlugin
✓ const WebpackSynchronizableShellPlugin = require('webpack-synchronizable-shell-plugin');
✗ import WebpackSynchronizableShellPlugin from 'webpack-synchronizable-shell-plugin';
Package does not provide ES modules; must use require() in webpack.config.js.
new WebpackSynchronizableShellPlugin({...})
✓ new WebpackSynchronizableShellPlugin({ onBuildStart: { scripts: ['echo start'], blocking: true } })
✗ new WebpackSynchronizableShellPlugin({ scripts: ['echo start'] })
Plain object with scripts array is not accepted; must use lifecycle hooks like onBuildStart.
configuration structure
✓ onBuildStart: { scripts: [], blocking: false, parallel: false }
✗ onBuildStart: [] // directly passing array
Each lifecycle hook expects an object with scripts, blocking, parallel properties.
Shows typical setup with three lifecycle hooks, blocking/parallel options, and plugin instantiation in webpack config.
const WebpackSynchronizableShellPlugin = require('webpack-synchronizable-shell-plugin');
module.exports = {
entry: './src/index.js',
output: { path: __dirname + '/dist', filename: 'bundle.js' },
plugins: [
new WebpackSynchronizableShellPlugin({
onBuildStart: {
scripts: ['echo "Build starting..."'],
blocking: true,
parallel: false
},
onBuildEnd: {
scripts: ['echo "Build complete"'],
blocking: false,
parallel: true
},
onBuildExit: {
scripts: ['echo "Done"'],
blocking: false,
parallel: false
},
dev: true,
safe: false
})
]
};
Errors
Common errors & fixes
TypeError: Cannot read property 'scripts' of undefined
Passing scripts directly to plugin constructor instead of inside an object under onBuildStart/onBuildEnd/onBuildExit.
fixWrap scripts array inside an object, e.g., onBuildStart: { scripts: ['...'], blocking: false, parallel: false } Error: spawn ENOENT
Shell command not found or safe:false default (uses spawn) fails on some systems.
fixSet safe:true to use exec instead of spawn, or provide full path to command.
Audit
Dependencies
No dependency data recorded yet.