From e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d Mon Sep 17 00:00:00 2001 From: Piotr Russ Date: Mon, 16 Nov 2020 00:10:28 +0100 Subject: api, login, auth --- .../babel-plugin-transform-react-jsx/.npmignore | 4 + .../babel-plugin-transform-react-jsx/README.md | 115 +++++++++++++++++++++ .../babel-plugin-transform-react-jsx/lib/index.js | 84 +++++++++++++++ .../babel-plugin-transform-react-jsx/package.json | 47 +++++++++ 4 files changed, 250 insertions(+) create mode 100644 node_modules/babel-plugin-transform-react-jsx/.npmignore create mode 100644 node_modules/babel-plugin-transform-react-jsx/README.md create mode 100644 node_modules/babel-plugin-transform-react-jsx/lib/index.js create mode 100644 node_modules/babel-plugin-transform-react-jsx/package.json (limited to 'node_modules/babel-plugin-transform-react-jsx') diff --git a/node_modules/babel-plugin-transform-react-jsx/.npmignore b/node_modules/babel-plugin-transform-react-jsx/.npmignore new file mode 100644 index 0000000..3185290 --- /dev/null +++ b/node_modules/babel-plugin-transform-react-jsx/.npmignore @@ -0,0 +1,4 @@ +node_modules +*.log +src +test diff --git a/node_modules/babel-plugin-transform-react-jsx/README.md b/node_modules/babel-plugin-transform-react-jsx/README.md new file mode 100644 index 0000000..128536d --- /dev/null +++ b/node_modules/babel-plugin-transform-react-jsx/README.md @@ -0,0 +1,115 @@ +# babel-plugin-transform-react-jsx + +> Turn JSX into React function calls + +## Example + +### React + +**In** + +```javascript +var profile =
+ +

{[user.firstName, user.lastName].join(' ')}

+
; +``` + +**Out** + +```javascript +var profile = React.createElement("div", null, + React.createElement("img", { src: "avatar.png", className: "profile" }), + React.createElement("h3", null, [user.firstName, user.lastName].join(" ")) +); +``` + +### Custom + +**In** + +```javascript +/** @jsx dom */ + +var { dom } = require("deku"); + +var profile =
+ +

{[user.firstName, user.lastName].join(' ')}

+
; +``` + +**Out** + +```javascript +/** @jsx dom */ + +var dom = require("deku").dom; + +var profile = dom( "div", null, + dom("img", { src: "avatar.png", className: "profile" }), + dom("h3", null, [user.firstName, user.lastName].join(" ")) +); +``` + +## Installation + +```sh +npm install --save-dev babel-plugin-transform-react-jsx +``` + +## Usage + +### Via `.babelrc` (Recommended) + +**.babelrc** + +Without options: + +```json +{ + "plugins": ["transform-react-jsx"] +} +``` + +With options: + +```json +{ + "plugins": [ + ["transform-react-jsx", { + "pragma": "dom" // default pragma is React.createElement + }] + ] +} +``` + +### Via CLI + +```sh +babel --plugins transform-react-jsx script.js +``` + +### Via Node API + +```javascript +require("babel-core").transform("code", { + plugins: ["transform-react-jsx"] +}); +``` + +## Options + +### `pragma` + +`string`, defaults to `React.createElement`. + +Replace the function used when compiling JSX expressions. + +Note that the `@jsx React.DOM` pragma has been deprecated as of React v0.12 + +### `useBuiltIns` + +`boolean`, defaults to `false`. + +When spreading props, use `Object.assign` directly instead of Babel's extend helper. diff --git a/node_modules/babel-plugin-transform-react-jsx/lib/index.js b/node_modules/babel-plugin-transform-react-jsx/lib/index.js new file mode 100644 index 0000000..51bfe0f --- /dev/null +++ b/node_modules/babel-plugin-transform-react-jsx/lib/index.js @@ -0,0 +1,84 @@ +"use strict"; + +exports.__esModule = true; + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +exports.default = function (_ref) { + var t = _ref.types; + + var JSX_ANNOTATION_REGEX = /\*?\s*@jsx\s+([^\s]+)/; + + var visitor = (0, _babelHelperBuilderReactJsx2.default)({ + pre: function pre(state) { + var tagName = state.tagName; + var args = state.args; + if (t.react.isCompatTag(tagName)) { + args.push(t.stringLiteral(tagName)); + } else { + args.push(state.tagExpr); + } + }, + post: function post(state, pass) { + state.callee = pass.get("jsxIdentifier")(); + } + }); + + visitor.Program = function (path, state) { + var file = state.file; + + var id = state.opts.pragma || "React.createElement"; + + for (var _iterator = file.ast.comments, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref2; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref2 = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref2 = _i.value; + } + + var comment = _ref2; + + var matches = JSX_ANNOTATION_REGEX.exec(comment.value); + if (matches) { + id = matches[1]; + if (id === "React.DOM") { + throw file.buildCodeFrameError(comment, "The @jsx React.DOM pragma has been deprecated as of React 0.12"); + } else { + break; + } + } + } + + state.set("jsxIdentifier", function () { + return id.split(".").map(function (name) { + return t.identifier(name); + }).reduce(function (object, property) { + return t.memberExpression(object, property); + }); + }); + }; + + return { + inherits: _babelPluginSyntaxJsx2.default, + visitor: visitor + }; +}; + +var _babelPluginSyntaxJsx = require("babel-plugin-syntax-jsx"); + +var _babelPluginSyntaxJsx2 = _interopRequireDefault(_babelPluginSyntaxJsx); + +var _babelHelperBuilderReactJsx = require("babel-helper-builder-react-jsx"); + +var _babelHelperBuilderReactJsx2 = _interopRequireDefault(_babelHelperBuilderReactJsx); + +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-react-jsx/package.json b/node_modules/babel-plugin-transform-react-jsx/package.json new file mode 100644 index 0000000..a4feb9a --- /dev/null +++ b/node_modules/babel-plugin-transform-react-jsx/package.json @@ -0,0 +1,47 @@ +{ + "_from": "babel-plugin-transform-react-jsx@^6.24.1", + "_id": "babel-plugin-transform-react-jsx@6.24.1", + "_inBundle": false, + "_integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", + "_location": "/babel-plugin-transform-react-jsx", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "babel-plugin-transform-react-jsx@^6.24.1", + "name": "babel-plugin-transform-react-jsx", + "escapedName": "babel-plugin-transform-react-jsx", + "rawSpec": "^6.24.1", + "saveSpec": null, + "fetchSpec": "^6.24.1" + }, + "_requiredBy": [ + "/babel-preset-react" + ], + "_resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", + "_shasum": "840a028e7df460dfc3a2d29f0c0d91f6376e66a3", + "_spec": "babel-plugin-transform-react-jsx@^6.24.1", + "_where": "/home/pruss/Dev/3-minute-website/node_modules/babel-preset-react", + "bundleDependencies": false, + "dependencies": { + "babel-helper-builder-react-jsx": "^6.24.1", + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" + }, + "deprecated": false, + "description": "Turn JSX into React function calls", + "devDependencies": { + "babel-helper-plugin-test-runner": "^6.24.1" + }, + "keywords": [ + "babel-plugin" + ], + "license": "MIT", + "main": "lib/index.js", + "name": "babel-plugin-transform-react-jsx", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-jsx" + }, + "version": "6.24.1" +} -- cgit v1.2.3