Package Exports
- webpack-addons
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (webpack-addons) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
webpack-addons
This is the utility suite for creating a webpack addon. It contains utility functions to assist with inquirer prompting and scaffolding.
API
parseValue
Param: String
Used when you cannot use regular conventions. Handy for examples like RegExp or output.sourcePrefix
const parseValue = require('webpack-addons').parseValue;
this.configuration.myScaffold.webpackOptions.output.sourcePrefix = parseValue('\t')
// sourcePrefix: '\t'createArrowFunction
Param: String
Generally used when dealing with an entry point as an arrow function.
const createArrowFunction = require('webpack-addons').createArrowFunction;
this.configuration.myScaffold.webpackOptions.entry = createArrowFunction('app.js')
// entry: () => 'app.js'createRegularFunction
Param: String
Used when creating a function that returns a single value.
const createRegularFunction = require('webpack-addons').createRegularFunction;
this.configuration.myScaffold.webpackOptions.entry = createRegularFunction('app.js')
// entry: function() { return 'app.js' }createDynamicPromise
Param: Array | String
Used to create an dynamic entry point.
const createDynamicPromise = require('webpack-addons').createDynamicPromise;
this.confguration.myScaffold.webpackOptions.entry = createDynamicPromise('app.js')
// entry: () => new Promise((resolve) => resolve('app.js'))
this.configuration.myScaffold.webpackOptions.entry = createDynamicPromise(['app.js', 'index.js'])
// entry: () => new Promise((resolve) => resolve(['app.js','index.js']))createAssetFilterFunction
Param: String
Used to create an assetFilterFunction
const createAssetFilterFunction = require('webpack-addons').createAssetFilterFunction;
this.configuration.myScaffold.webpackOptions.performance.assetFilter = createAssetFilterFunction('js')
// assetFilter: function (assetFilename) { return assetFilename.endsWith('.js'); }createExternalFunction
Param: String
Used to create an general function from Externals
const createExternalFunction = require('webpack-addons').createExternalFunction;
this.configuration.myScaffold.webpackOptions.externals = [createExternalFunction('^yourregex$')]
/*
externals: [
function(context, request, callback) {
if (/^yourregex$/.test(request)){
return callback(null, 'commonjs ' + request);
}
callback();
}
*/createCommonsChunkPlugin
Param: String
Used to create a general CommonsChunkPlugin.
const createCommonsChunkPlugin = require('webpack-addons').createCommonsChunkPlugin;
this.configuration.myScaffold.webpackOptions.plugins = [createCommonsChunkPlugin('vendor')]
/*
plugins: [
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
filename: 'vendor-[hash].min.js',
})
*/createRequire
Param: String
Used to create a module in topScope
const createRequire = require('webpack-addons').createRequire;
this.configuration.myScaffold.topScope = [createRequire('webpack')]
// const webpack = require('webpack')Inquirer
List
Param: name<String>, message<String>, choices<Array>
Creates a List from Inquirer
List('entry', 'what kind of entry do you want?', ['Array', 'Function'])RawList
Param: name<String>, message<String>, choices<Array>
Creates a RawList from Inquirer
RawList('entry', 'what kind of entry do you want?', ['Array', 'Function'])CheckList
Param: name<String>, message<String>, choices<Array>
Creates a CheckList(checkbox) from Inquirer
CheckList('entry', 'what kind of entry do you want?', ['Array', 'Function'])Input
Param: name<String>, message<String>
Creates an Input from Inquirer
Input('entry', 'what is your entry point?')