@vanilla-extract/babel-plugin-debug-ids
Advanced tools
Comparing version 1.0.2 to 1.0.3
import { PluginObj, PluginPass } from '@babel/core'; | ||
declare const styleFunctions: readonly [...("style" | "createTheme" | "styleVariants" | "fontFace" | "keyframes" | "createVar" | "recipe" | "createContainer")[], "globalStyle", "createGlobalTheme", "createThemeContract", "globalFontFace", "globalKeyframes", "recipe"]; | ||
declare const styleFunctions: readonly [...("style" | "createTheme" | "styleVariants" | "fontFace" | "keyframes" | "createVar" | "recipe" | "createContainer" | "layer")[], "globalStyle", "createGlobalTheme", "createThemeContract", "globalFontFace", "globalKeyframes", "globalLayer", "recipe"]; | ||
type StyleFunction = typeof styleFunctions[number]; | ||
@@ -5,0 +5,0 @@ type Context = PluginPass & { |
@@ -38,5 +38,14 @@ 'use strict'; | ||
maxParams: 1 | ||
}, | ||
layer: { | ||
maxParams: 2, | ||
hasDebugId: ({ | ||
arguments: args | ||
}) => { | ||
const previousArg = args[args.length - 1]; | ||
return core.types.isStringLiteral(previousArg) || core.types.isTemplateLiteral(previousArg); | ||
} | ||
} | ||
}; | ||
const styleFunctions = [...Object.keys(debuggableFunctionConfig), 'globalStyle', 'createGlobalTheme', 'createThemeContract', 'globalFontFace', 'globalKeyframes', 'recipe']; | ||
const styleFunctions = [...Object.keys(debuggableFunctionConfig), 'globalStyle', 'createGlobalTheme', 'createThemeContract', 'globalFontFace', 'globalKeyframes', 'globalLayer', 'recipe']; | ||
const extractName = node => { | ||
@@ -47,2 +56,4 @@ if (core.types.isObjectProperty(node) && core.types.isIdentifier(node.key)) { | ||
return node.id.name; | ||
} else if (core.types.isAssignmentExpression(node) && core.types.isIdentifier(node.left)) { | ||
return node.left.name; | ||
} else if (core.types.isExportDefaultDeclaration(node)) { | ||
@@ -62,4 +73,4 @@ return 'default'; | ||
// Special case: Handle `export const [themeClass, vars] = createTheme({});` | ||
// when it's already been compiled into this: | ||
// Special case 1: Handle `export const [themeClass, vars] = createTheme({});` | ||
// when it's already been compiled into one of the following forms: | ||
// | ||
@@ -70,9 +81,42 @@ // var _createTheme = createTheme({}), | ||
// vars = _createTheme2[1]; | ||
if (core.types.isVariableDeclaration(firstRelevantParentPath.parent) && firstRelevantParentPath.parent.declarations.length === 4) { | ||
const [themeDeclarator,, classNameDeclarator] = firstRelevantParentPath.parent.declarations; | ||
if (core.types.isCallExpression(themeDeclarator.init) && core.types.isIdentifier(themeDeclarator.init.callee, { | ||
name: 'createTheme' | ||
}) && core.types.isVariableDeclarator(classNameDeclarator) && core.types.isIdentifier(classNameDeclarator.id)) { | ||
return classNameDeclarator.id.name; | ||
if (core.types.isVariableDeclaration(firstRelevantParentPath.parent)) { | ||
if (firstRelevantParentPath.parent.declarations.length === 4) { | ||
const [themeDeclarator,, classNameDeclarator] = firstRelevantParentPath.parent.declarations; | ||
if (core.types.isCallExpression(themeDeclarator.init) && core.types.isIdentifier(themeDeclarator.init.callee, { | ||
name: 'createTheme' | ||
}) && core.types.isIdentifier(classNameDeclarator.id)) { | ||
return classNameDeclarator.id.name; | ||
} | ||
} | ||
// alternative compiled form: | ||
// | ||
// var ref = _slicedToArray(createTheme({}), 2); | ||
// export var themeClass = ref[0], | ||
// vars = ref[1]; | ||
else if (firstRelevantParentPath.parent.declarations.length === 1) { | ||
var _firstRelevantParentP; | ||
const [themeDeclarator] = firstRelevantParentPath.parent.declarations; | ||
const nextSibling = (_firstRelevantParentP = firstRelevantParentPath.parentPath) === null || _firstRelevantParentP === void 0 ? void 0 : _firstRelevantParentP.getNextSibling().node; | ||
if (core.types.isCallExpression(themeDeclarator.init) && core.types.isCallExpression(themeDeclarator.init.arguments[0]) && core.types.isIdentifier(themeDeclarator.init.arguments[0].callee, { | ||
name: 'createTheme' | ||
}) && core.types.isExportNamedDeclaration(nextSibling) && core.types.isVariableDeclaration(nextSibling.declaration) && core.types.isVariableDeclarator(nextSibling.declaration.declarations[0]) && core.types.isIdentifier(nextSibling.declaration.declarations[0].id)) { | ||
return nextSibling.declaration.declarations[0].id.name; | ||
} | ||
} | ||
// Special case 2: Handle `const [themeClass, vars] = createTheme({}); | ||
// export { themeClass, vars };` | ||
// when compiled into the following: | ||
// | ||
// var ref = _slicedToArray(createTheme({}), 2), | ||
// myThemeClass = ref[0], | ||
// vars = ref[1]; | ||
// export { themeClass, vars }; | ||
else if (firstRelevantParentPath.parent.declarations.length === 3) { | ||
const [themeDeclarator, classNameDeclarator] = firstRelevantParentPath.parent.declarations; | ||
if (core.types.isCallExpression(themeDeclarator.init) && core.types.isCallExpression(themeDeclarator.init.arguments[0]) && core.types.isIdentifier(themeDeclarator.init.arguments[0].callee, { | ||
name: 'createTheme' | ||
}) && core.types.isIdentifier(classNameDeclarator.id)) { | ||
return classNameDeclarator.id.name; | ||
} | ||
} | ||
} | ||
@@ -79,0 +123,0 @@ const relevantParent = firstRelevantParentPath.node; |
@@ -38,5 +38,14 @@ 'use strict'; | ||
maxParams: 1 | ||
}, | ||
layer: { | ||
maxParams: 2, | ||
hasDebugId: ({ | ||
arguments: args | ||
}) => { | ||
const previousArg = args[args.length - 1]; | ||
return core.types.isStringLiteral(previousArg) || core.types.isTemplateLiteral(previousArg); | ||
} | ||
} | ||
}; | ||
const styleFunctions = [...Object.keys(debuggableFunctionConfig), 'globalStyle', 'createGlobalTheme', 'createThemeContract', 'globalFontFace', 'globalKeyframes', 'recipe']; | ||
const styleFunctions = [...Object.keys(debuggableFunctionConfig), 'globalStyle', 'createGlobalTheme', 'createThemeContract', 'globalFontFace', 'globalKeyframes', 'globalLayer', 'recipe']; | ||
const extractName = node => { | ||
@@ -47,2 +56,4 @@ if (core.types.isObjectProperty(node) && core.types.isIdentifier(node.key)) { | ||
return node.id.name; | ||
} else if (core.types.isAssignmentExpression(node) && core.types.isIdentifier(node.left)) { | ||
return node.left.name; | ||
} else if (core.types.isExportDefaultDeclaration(node)) { | ||
@@ -62,4 +73,4 @@ return 'default'; | ||
// Special case: Handle `export const [themeClass, vars] = createTheme({});` | ||
// when it's already been compiled into this: | ||
// Special case 1: Handle `export const [themeClass, vars] = createTheme({});` | ||
// when it's already been compiled into one of the following forms: | ||
// | ||
@@ -70,9 +81,42 @@ // var _createTheme = createTheme({}), | ||
// vars = _createTheme2[1]; | ||
if (core.types.isVariableDeclaration(firstRelevantParentPath.parent) && firstRelevantParentPath.parent.declarations.length === 4) { | ||
const [themeDeclarator,, classNameDeclarator] = firstRelevantParentPath.parent.declarations; | ||
if (core.types.isCallExpression(themeDeclarator.init) && core.types.isIdentifier(themeDeclarator.init.callee, { | ||
name: 'createTheme' | ||
}) && core.types.isVariableDeclarator(classNameDeclarator) && core.types.isIdentifier(classNameDeclarator.id)) { | ||
return classNameDeclarator.id.name; | ||
if (core.types.isVariableDeclaration(firstRelevantParentPath.parent)) { | ||
if (firstRelevantParentPath.parent.declarations.length === 4) { | ||
const [themeDeclarator,, classNameDeclarator] = firstRelevantParentPath.parent.declarations; | ||
if (core.types.isCallExpression(themeDeclarator.init) && core.types.isIdentifier(themeDeclarator.init.callee, { | ||
name: 'createTheme' | ||
}) && core.types.isIdentifier(classNameDeclarator.id)) { | ||
return classNameDeclarator.id.name; | ||
} | ||
} | ||
// alternative compiled form: | ||
// | ||
// var ref = _slicedToArray(createTheme({}), 2); | ||
// export var themeClass = ref[0], | ||
// vars = ref[1]; | ||
else if (firstRelevantParentPath.parent.declarations.length === 1) { | ||
var _firstRelevantParentP; | ||
const [themeDeclarator] = firstRelevantParentPath.parent.declarations; | ||
const nextSibling = (_firstRelevantParentP = firstRelevantParentPath.parentPath) === null || _firstRelevantParentP === void 0 ? void 0 : _firstRelevantParentP.getNextSibling().node; | ||
if (core.types.isCallExpression(themeDeclarator.init) && core.types.isCallExpression(themeDeclarator.init.arguments[0]) && core.types.isIdentifier(themeDeclarator.init.arguments[0].callee, { | ||
name: 'createTheme' | ||
}) && core.types.isExportNamedDeclaration(nextSibling) && core.types.isVariableDeclaration(nextSibling.declaration) && core.types.isVariableDeclarator(nextSibling.declaration.declarations[0]) && core.types.isIdentifier(nextSibling.declaration.declarations[0].id)) { | ||
return nextSibling.declaration.declarations[0].id.name; | ||
} | ||
} | ||
// Special case 2: Handle `const [themeClass, vars] = createTheme({}); | ||
// export { themeClass, vars };` | ||
// when compiled into the following: | ||
// | ||
// var ref = _slicedToArray(createTheme({}), 2), | ||
// myThemeClass = ref[0], | ||
// vars = ref[1]; | ||
// export { themeClass, vars }; | ||
else if (firstRelevantParentPath.parent.declarations.length === 3) { | ||
const [themeDeclarator, classNameDeclarator] = firstRelevantParentPath.parent.declarations; | ||
if (core.types.isCallExpression(themeDeclarator.init) && core.types.isCallExpression(themeDeclarator.init.arguments[0]) && core.types.isIdentifier(themeDeclarator.init.arguments[0].callee, { | ||
name: 'createTheme' | ||
}) && core.types.isIdentifier(classNameDeclarator.id)) { | ||
return classNameDeclarator.id.name; | ||
} | ||
} | ||
} | ||
@@ -79,0 +123,0 @@ const relevantParent = firstRelevantParentPath.node; |
@@ -34,5 +34,14 @@ import { types } from '@babel/core'; | ||
maxParams: 1 | ||
}, | ||
layer: { | ||
maxParams: 2, | ||
hasDebugId: ({ | ||
arguments: args | ||
}) => { | ||
const previousArg = args[args.length - 1]; | ||
return types.isStringLiteral(previousArg) || types.isTemplateLiteral(previousArg); | ||
} | ||
} | ||
}; | ||
const styleFunctions = [...Object.keys(debuggableFunctionConfig), 'globalStyle', 'createGlobalTheme', 'createThemeContract', 'globalFontFace', 'globalKeyframes', 'recipe']; | ||
const styleFunctions = [...Object.keys(debuggableFunctionConfig), 'globalStyle', 'createGlobalTheme', 'createThemeContract', 'globalFontFace', 'globalKeyframes', 'globalLayer', 'recipe']; | ||
const extractName = node => { | ||
@@ -43,2 +52,4 @@ if (types.isObjectProperty(node) && types.isIdentifier(node.key)) { | ||
return node.id.name; | ||
} else if (types.isAssignmentExpression(node) && types.isIdentifier(node.left)) { | ||
return node.left.name; | ||
} else if (types.isExportDefaultDeclaration(node)) { | ||
@@ -58,4 +69,4 @@ return 'default'; | ||
// Special case: Handle `export const [themeClass, vars] = createTheme({});` | ||
// when it's already been compiled into this: | ||
// Special case 1: Handle `export const [themeClass, vars] = createTheme({});` | ||
// when it's already been compiled into one of the following forms: | ||
// | ||
@@ -66,9 +77,42 @@ // var _createTheme = createTheme({}), | ||
// vars = _createTheme2[1]; | ||
if (types.isVariableDeclaration(firstRelevantParentPath.parent) && firstRelevantParentPath.parent.declarations.length === 4) { | ||
const [themeDeclarator,, classNameDeclarator] = firstRelevantParentPath.parent.declarations; | ||
if (types.isCallExpression(themeDeclarator.init) && types.isIdentifier(themeDeclarator.init.callee, { | ||
name: 'createTheme' | ||
}) && types.isVariableDeclarator(classNameDeclarator) && types.isIdentifier(classNameDeclarator.id)) { | ||
return classNameDeclarator.id.name; | ||
if (types.isVariableDeclaration(firstRelevantParentPath.parent)) { | ||
if (firstRelevantParentPath.parent.declarations.length === 4) { | ||
const [themeDeclarator,, classNameDeclarator] = firstRelevantParentPath.parent.declarations; | ||
if (types.isCallExpression(themeDeclarator.init) && types.isIdentifier(themeDeclarator.init.callee, { | ||
name: 'createTheme' | ||
}) && types.isIdentifier(classNameDeclarator.id)) { | ||
return classNameDeclarator.id.name; | ||
} | ||
} | ||
// alternative compiled form: | ||
// | ||
// var ref = _slicedToArray(createTheme({}), 2); | ||
// export var themeClass = ref[0], | ||
// vars = ref[1]; | ||
else if (firstRelevantParentPath.parent.declarations.length === 1) { | ||
var _firstRelevantParentP; | ||
const [themeDeclarator] = firstRelevantParentPath.parent.declarations; | ||
const nextSibling = (_firstRelevantParentP = firstRelevantParentPath.parentPath) === null || _firstRelevantParentP === void 0 ? void 0 : _firstRelevantParentP.getNextSibling().node; | ||
if (types.isCallExpression(themeDeclarator.init) && types.isCallExpression(themeDeclarator.init.arguments[0]) && types.isIdentifier(themeDeclarator.init.arguments[0].callee, { | ||
name: 'createTheme' | ||
}) && types.isExportNamedDeclaration(nextSibling) && types.isVariableDeclaration(nextSibling.declaration) && types.isVariableDeclarator(nextSibling.declaration.declarations[0]) && types.isIdentifier(nextSibling.declaration.declarations[0].id)) { | ||
return nextSibling.declaration.declarations[0].id.name; | ||
} | ||
} | ||
// Special case 2: Handle `const [themeClass, vars] = createTheme({}); | ||
// export { themeClass, vars };` | ||
// when compiled into the following: | ||
// | ||
// var ref = _slicedToArray(createTheme({}), 2), | ||
// myThemeClass = ref[0], | ||
// vars = ref[1]; | ||
// export { themeClass, vars }; | ||
else if (firstRelevantParentPath.parent.declarations.length === 3) { | ||
const [themeDeclarator, classNameDeclarator] = firstRelevantParentPath.parent.declarations; | ||
if (types.isCallExpression(themeDeclarator.init) && types.isCallExpression(themeDeclarator.init.arguments[0]) && types.isIdentifier(themeDeclarator.init.arguments[0].callee, { | ||
name: 'createTheme' | ||
}) && types.isIdentifier(classNameDeclarator.id)) { | ||
return classNameDeclarator.id.name; | ||
} | ||
} | ||
} | ||
@@ -75,0 +119,0 @@ const relevantParent = firstRelevantParentPath.node; |
{ | ||
"name": "@vanilla-extract/babel-plugin-debug-ids", | ||
"version": "1.0.2", | ||
"version": "1.0.3", | ||
"description": "Zero-runtime Stylesheets-in-TypeScript", | ||
@@ -5,0 +5,0 @@ "main": "dist/vanilla-extract-babel-plugin-debug-ids.cjs.js", |
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
28523
608