webpack-sandboxed
Webpack in a sandbox. Run webpack on a in-memory file system, reading from a source string and outputting results as strings again. This is useful when using webpack for compiling bundles on the fly, e.g. on a web server.
Usage
; const options = config: /* webpack configuration */ packages: /* names of modules to load in the sandbox */ includes: /* local file paths to load in the sandbox */ baseDir: 'base directory to resolve modules'; const sandbox = await ;const bundle stats = sandbox;
API
webpackSandboxed(options: Options): WebpackRunner
Create a new instance of WebpackRunner
.
Options
Options to configure webpack and webpack sandboxed.
config?: webpack.Configuration
– webpack configurationpackages?: string[]
– A list of node_modules to load into the virtual file system.includes?: string[]
– A list of directories to add to the virtual file system.basedir?: string
– The base directory to resolve modules from. Defaults to the parent directory of the webpack-sandboxed installation.
WebpackRunner
Webpack sandboxed instance.
run(source: string | Buffer): Promise<[WebpackBundle, webpack.Stats]>
– Run webpack asynchronously (delegating toWebpackCompiler.run
).
WebpackBundle
Result of a webpack sandboxed run.
[key: string]: Buffer
– The set of files generated by webpack (bundles and assets).
Example
Please view the example directory for a complete example of how to use webpack sandboxed.
References
This project was inspired by others: