Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

pegjs-loader

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pegjs-loader

PEG.js loader for webpack

  • 0.5.8
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
5K
increased by0.58%
Maintainers
1
Weekly downloads
 
Created
Source

PEG.js loader for webpack

npm version npm downloads

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");
// => returns compiled PEG.js parser

Apply via webpack config

It's recommended to adjust your webpack.config so pegjs! is applied automatically on all files ending with .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:

  • 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).

module.exports = {
  ...
  module: {
    loaders: [
      {
        test: /\.pegjs$/,
        loader: 'pegjs-loader?cache=true&optimize=size&allowedStartRules[]=RuleA,allowedStartRules[]=RuleB&trace=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.
  • 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)

Keywords

FAQs

Package last updated on 07 Aug 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc