Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/EE/grunt-defs
Static scope analysis and transpilation of ES6 block scoped const and let variables, to ES3.
https://github.com/EE/grunt-defs
Last synced: 24 days ago
JSON representation
Static scope analysis and transpilation of ES6 block scoped const and let variables, to ES3.
- Host: GitHub
- URL: https://github.com/EE/grunt-defs
- Owner: EE
- License: mit
- Created: 2013-07-05T10:56:43.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2017-08-16T12:00:40.000Z (over 7 years ago)
- Last Synced: 2024-08-04T01:03:00.369Z (4 months ago)
- Language: JavaScript
- Size: 73.2 KB
- Stars: 5
- Watchers: 8
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- es6-tools - grunt-defs - ES6 block scoped const and let variables, to ES3 (Build-time transpilation / Grunt Tasks)
README
# grunt-defs
> Static scope analysis and transpilation of ES6 block scoped const and let variables, to ES3
[![Build Status](https://travis-ci.org/EE/grunt-defs.svg?branch=master)](https://travis-ci.org/EE/grunt-defs)
[![Build status](https://ci.appveyor.com/api/projects/status/qy7mu03jtts47o46/branch/master?svg=true)](https://ci.appveyor.com/project/mgol/grunt-defs/branch/master)
[![Built with Grunt](https://cdn.gruntjs.com/builtwith.png)](http://gruntjs.com/)**NOTE: `grunt-defs` is no longer developed similarly to the underlying [defs](https://www.npmjs.com/package/defs) package. Use Babel or Typescript with their Grunt plugins; they do so much more.**
## Getting Started
This plugin requires Grunt.If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
```shell
npm install grunt-defs --save-dev
```Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
```js
grunt.loadNpmTasks('grunt-defs');
```## The "defs" task
### Overview
In your project's Gruntfile, add a section named `defs` to the data object passed into `grunt.initConfig()`.```js
grunt.initConfig({
defs: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file lists and/or options go here.
},
},
})
```#### Options
The `defs` task accepts a couple of options:
```js
{
// Here one can set `defs` options; see: https://npmjs.org/package/defs
defsOptions: {
disallowDuplicated: true,
disallowUnknownReferences: false,
disallowVars: true,
},// Instead of providing `defsOptions` manually, one can provide a URL to the `defs-config.json`
// configuration file; see: https://npmjs.org/package/defs
defsConfigUrl: string,
}
```### Usage Examples
```js
grunt.initConfig({
defs: {
options: {
defsConfigURL: 'defs-config.json',
},
app1: {
files: {
'a.js': ['a.js'],
'c.js': ['b.js'],
'f.js': ['d.js', 'e.js'],
},
},
app2: {
files: [
{
expand: true,
src: ['f.js'],
ext: '.defs.js', // Dest filepaths will have this extension.
extDot: 'last', // Extensions in filenames begin after the last dot
},
],
},
app3: {
files: [
{
expand: true,
src: ['g.js'],
rename: function (dest, src) { return src + '-defs'; },
},
],
},
},
});grunt.loadNpmTasks('grunt-defs');
```After executing `grunt defs`, you'll get file `a.js` transformed and saved under the same name, file `b.js`
transformed and saved as `c.js` and files `d.js` and `e.js` concatenated, transformed and saved as `f.js`.A transformed version of the `f.js` file will be saved as `f.defs.js` and a transformed version of the `g.js` file will be saved as `g.js-defs`.
## Supported Node.js versions
This project aims to support all Node.js LTS versions in the "active" phase (see [LTS README](https://github.com/nodejs/LTS/blob/master/README.md) for more details) as well as the latest stable Node.js.Because of the popularity of this package and Node.js 0.10, this version is temporarily supported as well.
## 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](http://gruntjs.com/).## Release History
_(Nothing yet)_## License
Copyright (c) 2014 Laboratorium EE. Licensed under the MIT license.