babel-plugin-styled-components
Advanced tools
Comparing version 1.7.1 to 1.7.2
@@ -8,2 +8,4 @@ "use strict"; | ||
var _pluginSyntaxJsx = _interopRequireDefault(require("@babel/plugin-syntax-jsx")); | ||
var _pure = _interopRequireDefault(require("./visitors/pure")); | ||
@@ -19,8 +21,43 @@ | ||
var _transpileCssProp = _interopRequireDefault(require("./visitors/transpileCssProp")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } | ||
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } | ||
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } | ||
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } | ||
function _default(_ref) { | ||
var t = _ref.types; | ||
return { | ||
inherits: _pluginSyntaxJsx.default, | ||
visitor: { | ||
// These visitors insert newly generated code and missing import/require statements | ||
Program: { | ||
enter(path, state) { | ||
state.required = false; | ||
state.items = []; | ||
}, | ||
exit(path, state) { | ||
var _path$node$body; | ||
(_path$node$body = path.node.body).push.apply(_path$node$body, _toConsumableArray(state.items)); | ||
} | ||
}, | ||
JSXAttribute(path, state) { | ||
(0, _transpileCssProp.default)(t)(path, state); | ||
}, | ||
CallExpression(path, state) { | ||
(0, _displayNameAndId.default)(t)(path, state); | ||
(0, _pure.default)(t)(path, state); | ||
}, | ||
TaggedTemplateExpression(path, state) { | ||
@@ -27,0 +64,0 @@ (0, _minify.default)(t)(path, state); |
@@ -6,3 +6,3 @@ "use strict"; | ||
}); | ||
exports.usePureAnnotation = exports.useTranspileTemplateLiterals = exports.useMinify = exports.useFileName = exports.useSSR = exports.useDisplayName = void 0; | ||
exports.useCssProp = exports.usePureAnnotation = exports.useTranspileTemplateLiterals = exports.useMinify = exports.useFileName = exports.useSSR = exports.useDisplayName = void 0; | ||
@@ -49,2 +49,8 @@ function getOption(_ref, name) { | ||
exports.usePureAnnotation = usePureAnnotation; | ||
exports.usePureAnnotation = usePureAnnotation; | ||
var useCssProp = function useCssProp(state) { | ||
return getOption(state, 'cssProp', true); | ||
}; | ||
exports.useCssProp = useCssProp; |
@@ -38,6 +38,10 @@ "use strict"; | ||
withConfigProps.push(t.objectProperty(t.identifier('componentId'), t.stringLiteral(componentId))); | ||
} // Replace x`...` with x.withConfig({ })`...` | ||
} | ||
path.node.tag = t.callExpression(t.memberExpression(path.node.tag, t.identifier('withConfig')), [t.objectExpression(withConfigProps)]); | ||
if (path.node.tag) { | ||
// Replace x`...` with x.withConfig({ })`...` | ||
path.node.tag = t.callExpression(t.memberExpression(path.node.tag, t.identifier('withConfig')), [t.objectExpression(withConfigProps)]); | ||
} else { | ||
path.replaceWith(t.callExpression(t.callExpression(t.memberExpression(path.node.callee, t.identifier('withConfig')), [t.objectExpression(withConfigProps)]), path.node.arguments)); | ||
} | ||
}; | ||
@@ -132,3 +136,3 @@ }; | ||
return function (path, state) { | ||
if ((0, _detectors.isStyled)(t)(path.node.tag, state)) { | ||
if (path.node.tag ? (0, _detectors.isStyled)(t)(path.node.tag, state) : (0, _detectors.isStyled)(t)(path.node.callee, state) && path.node.callee.property && path.node.callee.property.name !== 'withConfig') { | ||
var displayName = (0, _options.useDisplayName)(state) && getDisplayName(t)(path, (0, _options.useFileName)(state) && state); | ||
@@ -135,0 +139,0 @@ addConfig(t)(path, displayName && displayName.replace(/[^_a-zA-Z0-9-]/g, ''), (0, _options.useSSR)(state) && getComponentId(state)); |
@@ -19,4 +19,4 @@ "use strict"; | ||
if ((0, _options.usePureAnnotation)(state)) { | ||
if ((0, _detectors.isStyled)(path.node, state) || (0, _detectors.isStyled)(path.node.callee, state) || (0, _detectors.isPureHelper)(path.node.callee, state)) { | ||
if (path.parent.type == 'VariableDeclarator' || path.parent.type == 'TaggedTemplateExpression') { | ||
if ((0, _detectors.isStyled)(t)(path.node, state) || (0, _detectors.isStyled)(t)(path.node.callee, state) || (0, _detectors.isPureHelper)(t)(path.node.tag || path.node.callee, state)) { | ||
if (path.parent.type === 'VariableDeclarator' || path.parent.type === 'TaggedTemplateExpression') { | ||
(0, _helperAnnotateAsPure.default)(path); | ||
@@ -23,0 +23,0 @@ } |
{ | ||
"version": "1.7.1", | ||
"version": "1.7.2", | ||
"name": "babel-plugin-styled-components", | ||
@@ -30,2 +30,3 @@ "description": "Improve the debugging experience and add server-side rendering support to styled-components", | ||
"@babel/helper-annotate-as-pure": "^7.0.0", | ||
"@babel/plugin-syntax-jsx": "^7.0.0", | ||
"lodash": "^4.17.10" | ||
@@ -32,0 +33,0 @@ }, |
36286
18
709
4
+ Added@ampproject/remapping@2.3.0(transitive)
+ Added@babel/code-frame@7.24.7(transitive)
+ Added@babel/compat-data@7.24.7(transitive)
+ Added@babel/core@7.24.7(transitive)
+ Added@babel/generator@7.24.7(transitive)
+ Added@babel/helper-compilation-targets@7.24.7(transitive)
+ Added@babel/helper-environment-visitor@7.24.7(transitive)
+ Added@babel/helper-function-name@7.24.7(transitive)
+ Added@babel/helper-hoist-variables@7.24.7(transitive)
+ Added@babel/helper-module-imports@7.24.7(transitive)
+ Added@babel/helper-module-transforms@7.24.7(transitive)
+ Added@babel/helper-plugin-utils@7.24.7(transitive)
+ Added@babel/helper-simple-access@7.24.7(transitive)
+ Added@babel/helper-split-export-declaration@7.24.7(transitive)
+ Added@babel/helper-validator-option@7.24.7(transitive)
+ Added@babel/helpers@7.24.7(transitive)
+ Added@babel/highlight@7.24.7(transitive)
+ Added@babel/parser@7.24.7(transitive)
+ Added@babel/plugin-syntax-jsx@7.24.7(transitive)
+ Added@babel/template@7.24.7(transitive)
+ Added@babel/traverse@7.24.7(transitive)
+ Added@jridgewell/gen-mapping@0.3.5(transitive)
+ Added@jridgewell/resolve-uri@3.1.2(transitive)
+ Added@jridgewell/set-array@1.2.1(transitive)
+ Added@jridgewell/sourcemap-codec@1.4.15(transitive)
+ Added@jridgewell/trace-mapping@0.3.25(transitive)
+ Addedansi-styles@3.2.1(transitive)
+ Addedbrowserslist@4.23.1(transitive)
+ Addedcaniuse-lite@1.0.30001632(transitive)
+ Addedchalk@2.4.2(transitive)
+ Addedcolor-convert@1.9.3(transitive)
+ Addedcolor-name@1.1.3(transitive)
+ Addedconvert-source-map@2.0.0(transitive)
+ Addeddebug@4.3.5(transitive)
+ Addedelectron-to-chromium@1.4.799(transitive)
+ Addedescalade@3.1.2(transitive)
+ Addedescape-string-regexp@1.0.5(transitive)
+ Addedgensync@1.0.0-beta.2(transitive)
+ Addedglobals@11.12.0(transitive)
+ Addedhas-flag@3.0.0(transitive)
+ Addedjsesc@2.5.2(transitive)
+ Addedjson5@2.2.3(transitive)
+ Addedlru-cache@5.1.1(transitive)
+ Addedms@2.1.2(transitive)
+ Addednode-releases@2.0.14(transitive)
+ Addedsemver@6.3.1(transitive)
+ Addedsupports-color@5.5.0(transitive)
+ Addedupdate-browserslist-db@1.0.16(transitive)
+ Addedyallist@3.1.1(transitive)