babel-plugin-emotion-rename
Advanced tools
Comparing version 1.0.0-beta.23 to 1.0.0-beta.24
@@ -15,6 +15,2 @@ "use strict"; | ||
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } | ||
function isModule(value, original) { | ||
var pattern = new RegExp("^(".concat(original, "|").concat(original, "/.*)$")); | ||
return pattern.test(value); | ||
} | ||
function getStyled(path) { | ||
@@ -38,13 +34,6 @@ if (path.node.source.value !== "react-emotion" && path.node.source.value !== "emotion") { | ||
} | ||
var buildImport = (0, _template["default"])("\n import styled from \"@emotion/styled\";\n"); | ||
var buildImportEmotionStyled = (0, _template["default"])("\n import styled from \"@emotion/styled\";\n"); | ||
var buildImportEmotionReact = (0, _template["default"])("\n import { css as css2 } from \"@emotion/react\";\n"); | ||
var CSS_LOCAL_NAME = "css"; | ||
var STYLED_LOCAL_NAME = "styled"; | ||
var REP = [{ | ||
replacement: "@emotion/css", | ||
original: "emotion" | ||
}, { | ||
replacement: "@emotion/css", | ||
original: "react-emotion" | ||
}]; | ||
function visitor(_ref) { | ||
@@ -58,3 +47,3 @@ var t = _ref.types; | ||
var ALL_CSS_NAMES = {}; | ||
var emotionStyledImportDeclaration = buildImport(); | ||
var emotionStyledImportDeclaration = buildImportEmotionStyled(); | ||
var emotionReactImportDeclaration = buildImportEmotionReact(); | ||
@@ -307,5 +296,5 @@ function insertEmotionReact() { | ||
if (path.node.callee.name === STYLED_LOCAL_NAME && path.node.arguments && path.node.arguments.length) { | ||
var _path$parentPath3, _path$parentPath3$par, _path$parentPath3$par2; | ||
var _path$parentPath3, _path$parentPath3$par, _path$parentPath3$par2, _path$parent; | ||
var styledVarName = path === null || path === void 0 ? void 0 : (_path$parentPath3 = path.parentPath) === null || _path$parentPath3 === void 0 ? void 0 : (_path$parentPath3$par = _path$parentPath3.parent) === null || _path$parentPath3$par === void 0 ? void 0 : (_path$parentPath3$par2 = _path$parentPath3$par.id) === null || _path$parentPath3$par2 === void 0 ? void 0 : _path$parentPath3$par2.name; | ||
var styledIdsList = path.parent.arguments.filter(function (a) { | ||
var styledIdsList = ((path === null || path === void 0 ? void 0 : (_path$parent = path.parent) === null || _path$parent === void 0 ? void 0 : _path$parent.arguments) || []).filter(function (a) { | ||
return a.type === "Identifier"; | ||
@@ -327,3 +316,3 @@ }).map(function (a) { | ||
if (path.node.callee.name === CSS_LOCAL_NAME && path.node.arguments && path.node.arguments.length) { | ||
var _path$parentPath4, _path$parentPath4$sco, _path$parentPath4$sco2, _path$parentPath4$sco3, _path$parent, _path$parent$id3, _path$parent2, _path$parent2$id; | ||
var _path$parentPath4, _path$parentPath4$sco, _path$parentPath4$sco2, _path$parentPath4$sco3, _path$parent2, _path$parent2$id, _path$parent3, _path$parent3$id; | ||
var cssIdsList = path.node.arguments.filter(function (a) { | ||
@@ -342,9 +331,9 @@ return a.type === "Identifier"; | ||
} | ||
var cssVarName = (_path$parent = path.parent) === null || _path$parent === void 0 ? void 0 : (_path$parent$id3 = _path$parent.id) === null || _path$parent$id3 === void 0 ? void 0 : _path$parent$id3.name; | ||
var cssVarName = (_path$parent2 = path.parent) === null || _path$parent2 === void 0 ? void 0 : (_path$parent2$id = _path$parent2.id) === null || _path$parent2$id === void 0 ? void 0 : _path$parent2$id.name; | ||
if (cssVarName) { | ||
ALL_CSS_NAMES[cssVarName] = cssIdsMap; | ||
} | ||
if (((_path$parent2 = path.parent) === null || _path$parent2 === void 0 ? void 0 : (_path$parent2$id = _path$parent2.id) === null || _path$parent2$id === void 0 ? void 0 : _path$parent2$id.type) === "Identifier") { | ||
var _path$parent3, _path$parent3$id; | ||
MAP_CSS_LIST[(_path$parent3 = path.parent) === null || _path$parent3 === void 0 ? void 0 : (_path$parent3$id = _path$parent3.id) === null || _path$parent3$id === void 0 ? void 0 : _path$parent3$id.name] = { | ||
if (((_path$parent3 = path.parent) === null || _path$parent3 === void 0 ? void 0 : (_path$parent3$id = _path$parent3.id) === null || _path$parent3$id === void 0 ? void 0 : _path$parent3$id.type) === "Identifier") { | ||
var _path$parent4, _path$parent4$id; | ||
MAP_CSS_LIST[(_path$parent4 = path.parent) === null || _path$parent4 === void 0 ? void 0 : (_path$parent4$id = _path$parent4.id) === null || _path$parent4$id === void 0 ? void 0 : _path$parent4$id.name] = { | ||
_type: "callee", | ||
@@ -362,8 +351,26 @@ path: path | ||
var isRequire = node.callee.name === "require" && node.arguments && node.arguments.length === 1 && t.isStringLiteral(node.arguments[0]); | ||
REP.forEach(function (_ref2) { | ||
var original = _ref2.original; | ||
if (isRequire && isModule(node.arguments[0].value, original)) { | ||
path.node.arguments = [t.stringLiteral("@emotion/css")]; | ||
var requiredPkg = node.arguments[0].value; | ||
if (!isRequire || !/^(react-)?emotion$/.test(requiredPkg)) { | ||
return; | ||
} | ||
path.node.arguments = [t.stringLiteral("@emotion/css")]; | ||
if (requiredPkg === "react-emotion") { | ||
var _path$parent5, _path$parent5$id, _path$parentPath5, _path$parentPath5$par, _path$parentPath5$par2; | ||
if ((path === null || path === void 0 ? void 0 : (_path$parent5 = path.parent) === null || _path$parent5 === void 0 ? void 0 : (_path$parent5$id = _path$parent5.id) === null || _path$parent5$id === void 0 ? void 0 : _path$parent5$id.name) === STYLED_LOCAL_NAME) { | ||
path.node.arguments = [t.stringLiteral("@emotion/styled")]; | ||
return; | ||
} | ||
}); | ||
if (path !== null && path !== void 0 && (_path$parentPath5 = path.parentPath) !== null && _path$parentPath5 !== void 0 && (_path$parentPath5$par = _path$parentPath5.parentPath) !== null && _path$parentPath5$par !== void 0 && (_path$parentPath5$par2 = _path$parentPath5$par.node) !== null && _path$parentPath5$par2 !== void 0 && _path$parentPath5$par2.declarations) { | ||
var prevLen = path.parentPath.parentPath.node.declarations.length; | ||
var newDeclarationsWithoutStyled = path.parentPath.parentPath.node.declarations.filter(function (d) { | ||
return d.id.name !== STYLED_LOCAL_NAME; | ||
}); | ||
var newLen = newDeclarationsWithoutStyled.length; | ||
path.parentPath.parentPath.node.declarations = newDeclarationsWithoutStyled; | ||
if (newLen < prevLen) { | ||
insertEmotionStyled(); | ||
} | ||
return; | ||
} | ||
} | ||
} | ||
@@ -370,0 +377,0 @@ } |
{ | ||
"name": "babel-plugin-emotion-rename", | ||
"version": "1.0.0-beta.23", | ||
"version": "1.0.0-beta.24", | ||
"description": "Babel plugin to rename old Emotion 9 import to new Emotion 10+ import", | ||
@@ -9,3 +9,3 @@ "main": "lib/index", | ||
"test:babel": "node src/index.spec.js", | ||
"tmp": "babel --config-file=./babel-example.config.js examples/src/c-moderncase.js -d examples/out/.", | ||
"tmp": "babel --config-file=./babel-example.config.js examples/src/. -d examples/out/.", | ||
"test": "npm-run-all test:*", | ||
@@ -12,0 +12,0 @@ "prepublish": "npm run build" |
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
25589
380