2.0.1 • Published 5 months ago

vite-plugin-peggy-loader v2.0.1

Weekly downloads
-
License
MIT
Repository
gitlab
Last release
5 months ago

Peggy loader for Vite

npm version npm downloads

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 — If true, 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 for speed or size (default: speed).

  • trace - If true, 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 cache option.
  • VladimirTechMan for the propagation of the optimize option and updating things to be compatible with PEG.js 0.10.0.
  • ragtime for the propagation of the allowedStartRules and trace options.
  • Jan Varwig for the Webpack 2 compatibility fix.
  • retorquere for the propagation of the dependencies option.

License

MIT (http://www.opensource.org/licenses/mit-license.php)

2.0.1

5 months ago

2.0.0

1 year ago

1.0.1

2 years ago

1.0.0

2 years ago

0.0.1

2 years ago