Socket
Socket
Sign inDemoInstall

babel-plugin-emotion-rename

Package Overview
Dependencies
17
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.0-beta.23 to 1.0.0-beta.24

57

lib/index.js

@@ -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"

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc