From 7fff4499fd915bcea3fa93b1aa8b35f4fe7a6027 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Sun, 28 May 2017 00:38:50 +0200 Subject: add linting (and some initial fixes) --- .../babel-plugin-transform-strict-mode/.npmignore | 3 + .../babel-plugin-transform-strict-mode/README.md | 69 ++++++++++++++++++++++ .../lib/index.js | 49 +++++++++++++++ .../package.json | 18 ++++++ 4 files changed, 139 insertions(+) create mode 100644 node_modules/babel-plugin-transform-strict-mode/.npmignore create mode 100644 node_modules/babel-plugin-transform-strict-mode/README.md create mode 100644 node_modules/babel-plugin-transform-strict-mode/lib/index.js create mode 100644 node_modules/babel-plugin-transform-strict-mode/package.json (limited to 'node_modules/babel-plugin-transform-strict-mode') diff --git a/node_modules/babel-plugin-transform-strict-mode/.npmignore b/node_modules/babel-plugin-transform-strict-mode/.npmignore new file mode 100644 index 000000000..47cdd2c65 --- /dev/null +++ b/node_modules/babel-plugin-transform-strict-mode/.npmignore @@ -0,0 +1,3 @@ +src +test +node_modules diff --git a/node_modules/babel-plugin-transform-strict-mode/README.md b/node_modules/babel-plugin-transform-strict-mode/README.md new file mode 100644 index 000000000..08c5afe40 --- /dev/null +++ b/node_modules/babel-plugin-transform-strict-mode/README.md @@ -0,0 +1,69 @@ +# babel-plugin-transform-strict-mode + +> This plugin places a `"use strict";` directive at the top of all files to enable [strict mode](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode). + +This plugin may be enabled via `babel-plugin-transform-es2015-modules-commonjs`. +If you wish to disable it you can either turn `strict` off or pass +`strictMode: false` as an option to the commonjs transform. + +## Example + +**In** + +```javascript +foo(); +``` + +**Out** + +```javascript +"use strict"; + +foo(); +``` + +## Installation + +```sh +npm install --save-dev babel-plugin-transform-strict-mode +``` + +## Usage + +### Via `.babelrc` (Recommended) + +**.babelrc** + +Without options: + +```json +{ + "plugins": ["transform-strict-mode"] +} +``` + +With options: + +```json +{ + "plugins": [ + ["transform-strict-mode", { + "strict": true + }] + ] +} +``` + +### Via CLI + +```sh +babel --plugins transform-strict-mode script.js +``` + +### Via Node API + +```javascript +require("babel-core").transform("code", { + plugins: ["transform-strict-mode"] +}); +``` diff --git a/node_modules/babel-plugin-transform-strict-mode/lib/index.js b/node_modules/babel-plugin-transform-strict-mode/lib/index.js new file mode 100644 index 000000000..3b60e64f2 --- /dev/null +++ b/node_modules/babel-plugin-transform-strict-mode/lib/index.js @@ -0,0 +1,49 @@ +"use strict"; + +exports.__esModule = true; + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +exports.default = function () { + return { + visitor: { + Program: function Program(path, state) { + if (state.opts.strict === false || state.opts.strictMode === false) return; + + var node = path.node; + + + for (var _iterator = node.directives, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var directive = _ref; + + if (directive.value.value === "use strict") return; + } + + path.unshiftContainer("directives", t.directive(t.directiveLiteral("use strict"))); + } + } + }; +}; + +var _babelTypes = require("babel-types"); + +var t = _interopRequireWildcard(_babelTypes); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +module.exports = exports["default"]; \ No newline at end of file diff --git a/node_modules/babel-plugin-transform-strict-mode/package.json b/node_modules/babel-plugin-transform-strict-mode/package.json new file mode 100644 index 000000000..da1f87179 --- /dev/null +++ b/node_modules/babel-plugin-transform-strict-mode/package.json @@ -0,0 +1,18 @@ +{ + "name": "babel-plugin-transform-strict-mode", + "version": "6.24.1", + "description": "This plugin places a 'use strict'; directive at the top of all files to enable strict mode", + "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-strict-mode", + "license": "MIT", + "main": "lib/index.js", + "keywords": [ + "babel-plugin" + ], + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + }, + "devDependencies": { + "babel-helper-plugin-test-runner": "^6.24.1" + } +} -- cgit v1.2.3