This commit is contained in:
Iliyan Angelov
2025-09-14 23:24:25 +03:00
commit c67067a2a4
71311 changed files with 6800714 additions and 0 deletions

43
frontend/node_modules/goober/macro/index.js generated vendored Normal file
View File

@@ -0,0 +1,43 @@
const { createMacro, MacroError } = require('babel-plugin-macros');
const { addNamed } = require('@babel/helper-module-imports');
module.exports = createMacro(gooberMacro);
function gooberMacro({ references, babel, state }) {
const program = state.file.path;
if (references.default) {
throw new MacroError('goober.macro does not support default import');
}
// Inject import {...} from 'goober'
Object.keys(references).forEach((refName) => {
const id = addNamed(program, refName, 'goober');
references[refName].forEach((referencePath) => {
referencePath.node.name = id.name;
});
});
const t = babel.types;
const styledReferences = references.styled || [];
styledReferences.forEach((referencePath) => {
const type = referencePath.parentPath.type;
if (type === 'MemberExpression') {
const node = referencePath.parentPath.node;
const functionName = node.object.name;
let elementName = node.property.name;
// Support custom elements
if (/[A-Z]/.test(elementName)) {
elementName = elementName.replace(/[A-Z]/g, '-$&').toLowerCase();
}
referencePath.parentPath.replaceWith(
t.callExpression(t.identifier(functionName), [t.stringLiteral(elementName)])
);
}
});
}

22
frontend/node_modules/goober/macro/package.json generated vendored Normal file
View File

@@ -0,0 +1,22 @@
{
"name": "goober.macro",
"version": "1.0.0",
"description": "A babel macro for goober, rewriting styled.div to styled('div') calls",
"main": "index.js",
"repository": {
"type": "git",
"url": "https://github.com/cristianbote/goober.git",
"directory": "macro"
},
"author": "Hadeeb Farhan <hadeebfarhan1@gmail.com>",
"keywords": [
"babel-plugin-macros",
"goober",
"styled"
],
"license": "MIT",
"peerDependencies": {
"@babel/helper-module-imports": "^7.8.3",
"babel-plugin-macros": "^2.8.0"
}
}