vite-plugin-peggy-loader v2.0.1
Peggy loader for Vite
Install
code based on peggy-loader for webpack.
npm install vite-plugin-peggy-loader
The pegjs-loader requires peggy
as peerDependency. Thus you are able to specify the required version accurately.
Usage
Apply the loader by adjusting your vite.config so .pegjs is automatically transformed to .js
import peggyLoader from "vite-plugin-peggy-loader";
export default defineConfig({
plugins: [peggyLoader()]
});Then to use the compiled version import it like:
import * as grammer from './grammer.pegjs'PEG.js options
You can pass options to PEG.js in the config, below is the supported options:
allowedStartRules- The rules the built parser will be allowed to start parsing from (default: the first rule in the grammar).cache— Iftrue, makes the parser cache results, avoiding exponential parsing time in pathological cases but making the parser slower (default:false).dependencies- Parser dependencies, the value is an object which maps variables used to access the dependencies in the parser to module IDs used to load them (default:{}).optimize- Whether to optimize the built parser either forspeedorsize(default:speed).trace- Iftrue, the tracing support in the built parser is enabled (default:false).
import peggyLoader from "peggy-loader";
export default defineConfig({
plugins: [
peggyLoader({
cache: false,
optimizeParser: 'speed',
trace: false,
dependencies: {},
allowedStartRules: []
})
]
});Change Log
This project adheres to Semantic Versioning.
Thanks
- Victor Homyakov for the propagation of the
cacheoption. - VladimirTechMan for the propagation of the
optimizeoption and updating things to be compatible with PEG.js 0.10.0. - ragtime for the propagation of the
allowedStartRulesandtraceoptions. - Jan Varwig for the Webpack 2 compatibility fix.
- retorquere for the propagation of the
dependenciesoption.