Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

grunt-peg

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

grunt-peg

A grunt multi task that generates parsers from PEG grammars.

Source
npmnpm
Version
0.3.0
Version published
Weekly downloads
5.9K
-76.72%
Maintainers
1
Weekly downloads
 
Created
Source

grunt-peg

A grunt multi task that generates parsers from PEG grammars.

Getting Started

This plugin requires Grunt ~0.4.1

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-peg --save-dev

One the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-peg');

The "peg" task

Run this task with the grunt peg command.

Task targets, files and options may be specified according to the grunt Configuring tasks guide.

Options

Any specified option will be passed through directly to PEG.js, thus you can specify any option that PEG.js supports. See the PEG.js documentation for a list of supported options.

An additional option is supported:

exportVar

Type: String Default value: 'module.exports'

The variable to which the generated parser will be assigned in the output file.

Usage Examples

Default Options

In this example a PEG grammar as described in the file grammar/example.peg is used to generate parser grammar/example.js. The default export variable is used, i.e. module.exports.

grunt.initConfig({
  peg: {
    example: {
      src: "grammar/example.peg",
      dest: "grammar/example.js"
    }
  }
})

Custom Options

In this example a PEG grammar as described in the file grammar/example.peg is used to generate parser grammar/example.js, the export variable being Example.parser.

grunt.initConfig({
  peg: {
    example : {
      src: "grammar/example.peg",
      dest: "grammar/example.js",
      options: { exportVar: "Example.parser" }
    }
  }
})

Passing Options to PEG

In this example a PEG grammar as described in the file grammar/example.peg is used to generate parser grammar/example.js, the export variable being Example.parser. Both the task-specific trackLineAndColumn and target-specific cache options will be passed through to PEG.js.

grunt.initConfig({
  peg: {
    options: { trackLineAndColumn: true },
    example : {
      src: "grammar/example.peg",
      dest: "grammar/example.js",
      options: {
        exportVar: "Example.parser",
        cache: true
      }
    }
  }
})

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

  • 2013-07-04 v0.3.0 Adhere to grunt's configuration convention
  • 2013-06-02 v0.2.0 Pass options to PEG.js
  • 2013-04-23 v0.1.0 Migrated to Grunt ~0.4.x

Contributors

Keywords

gruntplugin

FAQs

Package last updated on 04 Jul 2013

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