diff options
author | 2020-11-16 00:10:28 +0100 | |
---|---|---|
committer | 2020-11-16 00:10:28 +0100 | |
commit | e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d (patch) | |
tree | 55713f725f77b44ebfec86e4eec3ce33e71458ca /node_modules/babel-plugin-transform-react-jsx-source | |
download | website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.gz website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.bz2 website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.zip |
api, login, auth
Diffstat (limited to 'node_modules/babel-plugin-transform-react-jsx-source')
4 files changed, 151 insertions, 0 deletions
diff --git a/node_modules/babel-plugin-transform-react-jsx-source/.npmignore b/node_modules/babel-plugin-transform-react-jsx-source/.npmignore new file mode 100644 index 0000000..3185290 --- /dev/null +++ b/node_modules/babel-plugin-transform-react-jsx-source/.npmignore @@ -0,0 +1,4 @@ +node_modules +*.log +src +test diff --git a/node_modules/babel-plugin-transform-react-jsx-source/README.md b/node_modules/babel-plugin-transform-react-jsx-source/README.md new file mode 100644 index 0000000..da6e5a4 --- /dev/null +++ b/node_modules/babel-plugin-transform-react-jsx-source/README.md @@ -0,0 +1,49 @@ +# babel-plugin-transform-react-jsx-source + +> Adds source file and line number to JSX elements. + +## Example + +**In** + +``` +<sometag /> +``` + +**Out** + +``` +<sometag __source={ { fileName: 'this/file.js', lineNumber: 10 } } /> +``` + +## Installation + +```sh +npm install --save-dev babel-plugin-transform-react-jsx-source +``` + +## Usage + +### Via `.babelrc` (Recommended) + +**.babelrc** + +```json +{ + "plugins": ["transform-react-jsx-source"] +} +``` + +### Via CLI + +```sh +babel --plugins transform-react-jsx-source script.js +``` + +### Via Node API + +```javascript +require("babel-core").transform("code", { + plugins: ["transform-react-jsx-source"] +}); +``` diff --git a/node_modules/babel-plugin-transform-react-jsx-source/lib/index.js b/node_modules/babel-plugin-transform-react-jsx-source/lib/index.js new file mode 100644 index 0000000..5b9f08c --- /dev/null +++ b/node_modules/babel-plugin-transform-react-jsx-source/lib/index.js @@ -0,0 +1,52 @@ +"use strict"; + +exports.__esModule = true; + +exports.default = function (_ref) { + var t = _ref.types; + + function makeTrace(fileNameIdentifier, lineNumber) { + var fileLineLiteral = lineNumber != null ? t.numericLiteral(lineNumber) : t.nullLiteral(); + var fileNameProperty = t.objectProperty(t.identifier("fileName"), fileNameIdentifier); + var lineNumberProperty = t.objectProperty(t.identifier("lineNumber"), fileLineLiteral); + return t.objectExpression([fileNameProperty, lineNumberProperty]); + } + + var visitor = { + JSXOpeningElement: function JSXOpeningElement(path, state) { + var id = t.jSXIdentifier(TRACE_ID); + var location = path.container.openingElement.loc; + if (!location) { + return; + } + + var attributes = path.container.openingElement.attributes; + for (var i = 0; i < attributes.length; i++) { + var name = attributes[i].name; + if (name && name.name === TRACE_ID) { + return; + } + } + + if (!state.fileNameIdentifier) { + var fileName = state.file.log.filename !== "unknown" ? state.file.log.filename : null; + + var fileNameIdentifier = path.scope.generateUidIdentifier(FILE_NAME_VAR); + path.hub.file.scope.push({ id: fileNameIdentifier, init: t.stringLiteral(fileName) }); + state.fileNameIdentifier = fileNameIdentifier; + } + + var trace = makeTrace(state.fileNameIdentifier, location.start.line); + attributes.push(t.jSXAttribute(id, t.jSXExpressionContainer(trace))); + } + }; + + return { + visitor: visitor + }; +}; + +var TRACE_ID = "__source"; +var FILE_NAME_VAR = "_jsxFileName"; + +module.exports = exports["default"];
\ No newline at end of file diff --git a/node_modules/babel-plugin-transform-react-jsx-source/package.json b/node_modules/babel-plugin-transform-react-jsx-source/package.json new file mode 100644 index 0000000..41f89ae --- /dev/null +++ b/node_modules/babel-plugin-transform-react-jsx-source/package.json @@ -0,0 +1,46 @@ +{ + "_from": "babel-plugin-transform-react-jsx-source@^6.22.0", + "_id": "babel-plugin-transform-react-jsx-source@6.22.0", + "_inBundle": false, + "_integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", + "_location": "/babel-plugin-transform-react-jsx-source", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "babel-plugin-transform-react-jsx-source@^6.22.0", + "name": "babel-plugin-transform-react-jsx-source", + "escapedName": "babel-plugin-transform-react-jsx-source", + "rawSpec": "^6.22.0", + "saveSpec": null, + "fetchSpec": "^6.22.0" + }, + "_requiredBy": [ + "/babel-preset-react" + ], + "_resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", + "_shasum": "66ac12153f5cd2d17b3c19268f4bf0197f44ecd6", + "_spec": "babel-plugin-transform-react-jsx-source@^6.22.0", + "_where": "/home/pruss/Dev/3-minute-website/node_modules/babel-preset-react", + "bundleDependencies": false, + "dependencies": { + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" + }, + "deprecated": false, + "description": "Add a __source prop to all JSX Elements", + "devDependencies": { + "babel-helper-plugin-test-runner": "^6.22.0" + }, + "keywords": [ + "babel-plugin" + ], + "license": "MIT", + "main": "lib/index.js", + "name": "babel-plugin-transform-react-jsx-source", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-jsx-source" + }, + "version": "6.22.0" +} |