UNPKG

rollup-plugin-react-scoped-css

Version:

A rollup plugin designed to allow scoped css to be run in react (Compatible with vite and rollup)

99 lines (98 loc) 3.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSrcFromImportOrRequire = exports.isNodeImportOrRequire = exports.isNodeRequireCallExpression = exports.isNodeImportDeclaration = exports.isNodeIdentifier = exports.isNodeExtender = exports.isNodeObjectExpression = exports.isNodeCallExpression = exports.hackIntoExtenderCallExpression = exports.extendObjectExpression = exports.createObjectExpressionWithAttr = exports.createObjectAssignCallExpressionWithIdentifier = void 0; const createObjectAssignCallExpressionWithIdentifier = (identifier, objectExpression) => { return { type: "CallExpression", callee: { type: "MemberExpression", object: { type: "Identifier", name: "Object", }, property: { type: "Identifier", name: "assign", }, computed: false, optional: false, }, arguments: [ { type: "ObjectExpression", start: 14, end: 16, properties: [], }, identifier, objectExpression, ], optional: false, }; }; exports.createObjectAssignCallExpressionWithIdentifier = createObjectAssignCallExpressionWithIdentifier; const createObjectExpressionWithAttr = (attrNode) => { return { type: "ObjectExpression", properties: [attrNode], }; }; exports.createObjectExpressionWithAttr = createObjectExpressionWithAttr; const extendObjectExpression = (objectExpression, prop) => { return { ...objectExpression, properties: [...objectExpression.properties, prop], }; }; exports.extendObjectExpression = extendObjectExpression; const hackIntoExtenderCallExpression = (callExpression, prop) => { return { ...callExpression, arguments: [ ...callExpression.arguments, (0, exports.createObjectExpressionWithAttr)(prop), ], }; }; exports.hackIntoExtenderCallExpression = hackIntoExtenderCallExpression; const isNodeCallExpression = (node) => { return node.type === "CallExpression"; }; exports.isNodeCallExpression = isNodeCallExpression; const isNodeObjectExpression = (node) => { return node.type === "ObjectExpression"; }; exports.isNodeObjectExpression = isNodeObjectExpression; const isNodeExtender = (node) => { return ((0, exports.isNodeCallExpression)(node) && (node.callee.name === "_objectSpread" || node.callee.name === "_extends")); }; exports.isNodeExtender = isNodeExtender; const isNodeIdentifier = (node) => { return node.type === "Identifier"; }; exports.isNodeIdentifier = isNodeIdentifier; const isNodeImportDeclaration = (node) => { return node.type === "ImportDeclaration"; }; exports.isNodeImportDeclaration = isNodeImportDeclaration; const isNodeRequireCallExpression = (node) => { return ((0, exports.isNodeCallExpression)(node) && node.callee.name === "require" && node.arguments.length === 1); }; exports.isNodeRequireCallExpression = isNodeRequireCallExpression; const isNodeImportOrRequire = (node) => { return (0, exports.isNodeImportDeclaration)(node) || (0, exports.isNodeRequireCallExpression)(node); }; exports.isNodeImportOrRequire = isNodeImportOrRequire; const getSrcFromImportOrRequire = (node) => { if ((0, exports.isNodeImportDeclaration)(node)) { return node.source.value; } if ((0, exports.isNodeRequireCallExpression)(node)) { return node.arguments[0].value; } return null; }; exports.getSrcFromImportOrRequire = getSrcFromImportOrRequire;