T.ME/BIBIL_0DAY
CasperSecurity


Server : Apache/2
System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64
User : gositeme ( 1004)
PHP Version : 8.2.29
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Directory :  /home/gositeme/domains/lavocat.quebec/private_html/node_modules/goober/macro/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/lavocat.quebec/private_html/node_modules/goober/macro/index.js
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)])
            );
        }
    });
}

CasperSecurity Mini