Skip to content
master
Go to file
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

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: