Peggy loader for vite


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.
Apply the loader by adjusting your vite.config so .pegjs is automatically transformed to .js
`` js
import peggyLoader from "vite-plugin-peggy-loader";
export default defineConfig({
plugins: [peggyLoader()]
});
`
Then to use the compiled version import it like:
`js`
import * as grammer from './grammer.pegjs'
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 — If true, makes the parser cache results, avoiding exponentialfalse
parsing time in pathological cases but making the parser slower (default:
).
* 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 for speed orsize
(default: speed).
* trace - If true, the tracing support in the built parser is enabledfalse
(default: ).
` js
import peggyLoader from "peggy-loader";
export default defineConfig({
plugins: [
peggyLoader({
cache: false,
optimizeParser: 'speed',
trace: false,
dependencies: {},
allowedStartRules: []
})
]
});
`
This project adheres to Semantic Versioning.
* Victor Homyakov for the propagation of the cache option.optimize
* VladimirTechMan for the propagation of the option and updating things to be compatible with PEG.js 0.10.0.allowedStartRules
* ragtime for the propagation of the and trace options.dependencies` option.
* Jan Varwig for the Webpack 2 compatibility fix.
* retorquere for the propagation of the
MIT (http://www.opensource.org/licenses/mit-license.php)