Install
npm install --save-dev pegjs-loader pegjs webpack
The pegjs-loader requires PEG.js and webpack
as peerDependency
. Thus you are able to specify the required versions accurately.
Usage
Documentation: Using loaders
var parser = require("!pegjs!./parser.pegjs");
Apply via webpack config
It's recommended to adjust your webpack.config
so pegjs!
is applied automatically on all files ending on .pegjs
:
module.exports = {
...
module: {
loaders: [
{
test: /\.pegjs$/,
loader: 'pegjs-loader'
}
]
}
};
Then you only need to write: require("./parser.pegjs")
.
PEG.js options
You can pass options to PEG.js as query parameters. The following options are supported:
cache
— if true
, makes the parser cache results, avoiding exponential
parsing time in pathological cases but making the parser slower (default:
false
)
module.exports = {
...
module: {
loaders: [
{
test: /\.pegjs$/,
loader: 'pegjs-loader?cache=true'
}
]
}
};
Change Log
This project adheres to Semantic Versioning.
Every release, along with the migration instructions, if any, is documented on the Github Releases page.
Thanks
Victor Homyakov for the propagation of the cache option.
License
MIT (http://www.opensource.org/licenses/mit-license.php)