webpack-sandboxed
TypeScript icon, indicating that this package has built-in type declarations

0.6.0 • Public • Published

webpack-sandboxed   npm version Build Status Coverage Status Code Climate

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

import webpackSandboxed from 'webpack-sandboxed';
 
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 webpackSandboxed(options);
const [bundle, stats] = sandbox.run("exports = {foo: 'bar'};");

API

webpackSandboxed(options: Options): WebpackRunner

Create a new instance of WebpackRunner.

Options

Options to configure webpack and webpack sandboxed.

  • config?: webpack.Configurationwebpack configuration
  • packages?: 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 to WebpackCompiler.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:

Readme

Keywords

Package Sidebar

Install

npm i webpack-sandboxed

Weekly Downloads

0

Version

0.6.0

License

MIT

Last publish

Collaborators

  • mfellner