@babel/plugin-transform-react-jsx
Advanced tools
Comparing version 7.0.0-beta.42 to 7.0.0-beta.43
116
lib/index.js
"use strict"; | ||
exports.__esModule = true; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = void 0; | ||
var _helperPluginUtils = require("@babel/helper-plugin-utils"); | ||
function _helperPluginUtils() { | ||
const data = require("@babel/helper-plugin-utils"); | ||
var _pluginSyntaxJsx = _interopRequireDefault(require("@babel/plugin-syntax-jsx")); | ||
_helperPluginUtils = function () { | ||
return data; | ||
}; | ||
var _helperBuilderReactJsx = _interopRequireDefault(require("@babel/helper-builder-react-jsx")); | ||
return data; | ||
} | ||
var _core = require("@babel/core"); | ||
function _pluginSyntaxJsx() { | ||
const data = _interopRequireDefault(require("@babel/plugin-syntax-jsx")); | ||
_pluginSyntaxJsx = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function _helperBuilderReactJsx() { | ||
const data = _interopRequireDefault(require("@babel/helper-builder-react-jsx")); | ||
_helperBuilderReactJsx = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function _core() { | ||
const data = require("@babel/core"); | ||
_core = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var _default = (0, _helperPluginUtils.declare)(function (api, options) { | ||
var _default = (0, _helperPluginUtils().declare)((api, options) => { | ||
api.assertVersion(7); | ||
var THROW_IF_NAMESPACE = options.throwIfNamespace === undefined ? true : !!options.throwIfNamespace; | ||
var PRAGMA_DEFAULT = options.pragma || "React.createElement"; | ||
var PRAGMA_FRAG_DEFAULT = options.pragmaFrag || "React.Fragment"; | ||
var JSX_ANNOTATION_REGEX = /\*?\s*@jsx\s+([^\s]+)/; | ||
var JSX_FRAG_ANNOTATION_REGEX = /\*?\s*@jsxFrag\s+([^\s]+)/; | ||
const THROW_IF_NAMESPACE = options.throwIfNamespace === undefined ? true : !!options.throwIfNamespace; | ||
const PRAGMA_DEFAULT = options.pragma || "React.createElement"; | ||
const PRAGMA_FRAG_DEFAULT = options.pragmaFrag || "React.Fragment"; | ||
const JSX_ANNOTATION_REGEX = /\*?\s*@jsx\s+([^\s]+)/; | ||
const JSX_FRAG_ANNOTATION_REGEX = /\*?\s*@jsxFrag\s+([^\s]+)/; | ||
var createIdentifierParser = function createIdentifierParser(id) { | ||
return function () { | ||
return id.split(".").map(function (name) { | ||
return _core.types.identifier(name); | ||
}).reduce(function (object, property) { | ||
return _core.types.memberExpression(object, property); | ||
}); | ||
}; | ||
const createIdentifierParser = id => () => { | ||
return id.split(".").map(name => _core().types.identifier(name)).reduce((object, property) => _core().types.memberExpression(object, property)); | ||
}; | ||
var visitor = (0, _helperBuilderReactJsx.default)({ | ||
pre: function pre(state) { | ||
var tagName = state.tagName; | ||
var args = state.args; | ||
const visitor = (0, _helperBuilderReactJsx().default)({ | ||
pre(state) { | ||
const tagName = state.tagName; | ||
const args = state.args; | ||
if (_core.types.react.isCompatTag(tagName)) { | ||
args.push(_core.types.stringLiteral(tagName)); | ||
if (_core().types.react.isCompatTag(tagName)) { | ||
args.push(_core().types.stringLiteral(tagName)); | ||
} else { | ||
@@ -45,19 +73,21 @@ args.push(state.tagExpr); | ||
}, | ||
post: function post(state, pass) { | ||
post(state, pass) { | ||
state.callee = pass.get("jsxIdentifier")(); | ||
}, | ||
throwIfNamespace: THROW_IF_NAMESPACE | ||
}); | ||
visitor.Program = { | ||
enter: function enter(path, state) { | ||
var file = state.file; | ||
var pragma = PRAGMA_DEFAULT; | ||
var pragmaFrag = PRAGMA_FRAG_DEFAULT; | ||
var pragmaSet = !!options.pragma; | ||
var pragmaFragSet = !!options.pragmaFrag; | ||
var _arr = file.ast.comments; | ||
enter(path, state) { | ||
const { | ||
file | ||
} = state; | ||
let pragma = PRAGMA_DEFAULT; | ||
let pragmaFrag = PRAGMA_FRAG_DEFAULT; | ||
let pragmaSet = !!options.pragma; | ||
let pragmaFragSet = !!options.pragmaFrag; | ||
for (var _i = 0; _i < _arr.length; _i++) { | ||
var comment = _arr[_i]; | ||
var jsxMatches = JSX_ANNOTATION_REGEX.exec(comment.value); | ||
for (const comment of file.ast.comments) { | ||
const jsxMatches = JSX_ANNOTATION_REGEX.exec(comment.value); | ||
@@ -69,3 +99,3 @@ if (jsxMatches) { | ||
var jsxFragMatches = JSX_FRAG_ANNOTATION_REGEX.exec(comment.value); | ||
const jsxFragMatches = JSX_FRAG_ANNOTATION_REGEX.exec(comment.value); | ||
@@ -84,3 +114,4 @@ if (jsxFragMatches) { | ||
}, | ||
exit: function exit(path, state) { | ||
exit(path, state) { | ||
if (state.get("pragmaSet") && state.get("usedFragment") && !state.get("pragmaFragSet")) { | ||
@@ -90,7 +121,8 @@ throw new Error("transform-react-jsx: pragma has been set but " + "pragmafrag has not been set"); | ||
} | ||
}; | ||
visitor.JSXAttribute = function (path) { | ||
if (_core.types.isJSXElement(path.node.value)) { | ||
path.node.value = _core.types.jsxExpressionContainer(path.node.value); | ||
if (_core().types.isJSXElement(path.node.value)) { | ||
path.node.value = _core().types.jsxExpressionContainer(path.node.value); | ||
} | ||
@@ -100,4 +132,4 @@ }; | ||
return { | ||
inherits: _pluginSyntaxJsx.default, | ||
visitor: visitor | ||
inherits: _pluginSyntaxJsx().default, | ||
visitor | ||
}; | ||
@@ -104,0 +136,0 @@ }); |
{ | ||
"name": "@babel/plugin-transform-react-jsx", | ||
"version": "7.0.0-beta.42", | ||
"version": "7.0.0-beta.43", | ||
"description": "Turn JSX into React function calls", | ||
@@ -12,13 +12,13 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-jsx", | ||
"dependencies": { | ||
"@babel/helper-builder-react-jsx": "7.0.0-beta.42", | ||
"@babel/helper-plugin-utils": "7.0.0-beta.42", | ||
"@babel/plugin-syntax-jsx": "7.0.0-beta.42" | ||
"@babel/helper-builder-react-jsx": "7.0.0-beta.43", | ||
"@babel/helper-plugin-utils": "7.0.0-beta.43", | ||
"@babel/plugin-syntax-jsx": "7.0.0-beta.43" | ||
}, | ||
"peerDependencies": { | ||
"@babel/core": "7.0.0-beta.42" | ||
"@babel/core": "7.0.0-beta.43" | ||
}, | ||
"devDependencies": { | ||
"@babel/core": "7.0.0-beta.42", | ||
"@babel/helper-plugin-test-runner": "7.0.0-beta.42" | ||
"@babel/core": "7.0.0-beta.43", | ||
"@babel/helper-plugin-test-runner": "7.0.0-beta.43" | ||
} | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
7662
102
+ Added@babel/code-frame@7.0.0-beta.43(transitive)
+ Added@babel/core@7.0.0-beta.43(transitive)
+ Added@babel/generator@7.0.0-beta.43(transitive)
+ Added@babel/helper-builder-react-jsx@7.0.0-beta.43(transitive)
+ Added@babel/helper-function-name@7.0.0-beta.43(transitive)
+ Added@babel/helper-get-function-arity@7.0.0-beta.43(transitive)
+ Added@babel/helper-plugin-utils@7.0.0-beta.43(transitive)
+ Added@babel/helper-split-export-declaration@7.0.0-beta.43(transitive)
+ Added@babel/helpers@7.0.0-beta.43(transitive)
+ Added@babel/highlight@7.0.0-beta.43(transitive)
+ Added@babel/plugin-syntax-jsx@7.0.0-beta.43(transitive)
+ Added@babel/template@7.0.0-beta.43(transitive)
+ Added@babel/traverse@7.0.0-beta.43(transitive)
+ Added@babel/types@7.0.0-beta.43(transitive)
+ Addedbabylon@7.0.0-beta.43(transitive)
- Removed@babel/code-frame@7.0.0-beta.42(transitive)
- Removed@babel/core@7.0.0-beta.42(transitive)
- Removed@babel/generator@7.0.0-beta.42(transitive)
- Removed@babel/helper-builder-react-jsx@7.0.0-beta.42(transitive)
- Removed@babel/helper-function-name@7.0.0-beta.42(transitive)
- Removed@babel/helper-get-function-arity@7.0.0-beta.42(transitive)
- Removed@babel/helper-plugin-utils@7.0.0-beta.42(transitive)
- Removed@babel/helper-split-export-declaration@7.0.0-beta.42(transitive)
- Removed@babel/helpers@7.0.0-beta.42(transitive)
- Removed@babel/highlight@7.0.0-beta.42(transitive)
- Removed@babel/plugin-syntax-jsx@7.0.0-beta.42(transitive)
- Removed@babel/template@7.0.0-beta.42(transitive)
- Removed@babel/traverse@7.0.0-beta.42(transitive)
- Removed@babel/types@7.0.0-beta.42(transitive)
- Removedbabylon@7.0.0-beta.42(transitive)