{"version":3,"sources":["jsdelivr-header.js","/npm/@rajzik/lumos@6.0.13/lib/index.js"],"names":[],"mappings":"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","file":"/npm/@rajzik/lumos@6.0.13/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@rajzik/lumos@6.0.13/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst core_1 = require(\"@beemo/core\");\nconst lumos_common_1 = require(\"@rajzik/lumos-common\");\nconst fs_1 = __importDefault(require(\"fs\"));\nfunction hasNoPositionalArgs(context, name) {\n    const args = context.args._;\n    return args.length === 0 || (args.length === 1 && args[0] === name);\n}\nfunction createWorkspacesGlob(workspaces) {\n    const paths = workspaces.map(p => p.replace('./', ''));\n    return paths.length === 1 ? `${paths[0]}/` : `{${paths.join(',')}}/`;\n}\nfunction cli(tool) {\n    const { buildFolder, docsFolder, srcFolder, testsFolder, typesFolder } = lumos_common_1.getSettings();\n    const usingBabel = tool.isPluginEnabled('driver', 'babel');\n    const usingPrettier = tool.isPluginEnabled('driver', 'prettier');\n    const usingJest = tool.isPluginEnabled('driver', 'jest');\n    const usingTypescript = tool.isPluginEnabled('driver', 'typescript');\n    const workspaces = tool.getWorkspacePaths({ relative: true });\n    const pathPrefix = workspaces.length ? createWorkspacesGlob(workspaces) : '';\n    const exts = ['.ts', '.tsx', '.js', '.jsx'];\n    /**\n     * BABEL\n     * - Add default extensions.\n     * - Add source and output dirs by default.\n     */\n    tool.onRunDriver.listen((context, _) => {\n        if (!context.args.extensions) {\n            context.addOption('--extensions', exts.join(','));\n        }\n        if (hasNoPositionalArgs(context, 'babel')) {\n            context.addArg(`./${srcFolder}`);\n            context.addOption('--out-dir', context.args.esm ? './esm' : `./${buildFolder}`);\n        }\n    }, 'babel');\n    /**\n     * NEXT JS\n     */\n    tool.onRunDriver.listen((_context, driver) => {\n        if (!usingTypescript) {\n            driver.options.dependencies.push('typescript');\n        }\n    }, 'next');\n    /**\n     * ESLINT\n     * - Add default extensions.\n     * - Lint source and test folders by default.\n     * - Create a `tsconfig.eslint.json` file.\n     */\n    tool.onRunDriver.listen((context, driver) => {\n        context.addOptions(['--color']);\n        if (!context.args.ext) {\n            context.addOption('--ext', exts.join(','));\n        }\n        if (hasNoPositionalArgs(context, 'eslint')) {\n            const args = [`./${pathPrefix}${srcFolder}`];\n            if (usingJest) {\n                args.push(`./${pathPrefix}${testsFolder}`);\n            }\n            context.addArgs(args);\n        }\n        if (usingPrettier) {\n            driver.options.dependencies.push('prettier');\n        }\n        // Create a specialized tsconfig for ESLint\n        driver.onCreateConfigFile.listen(createContext => {\n            const configPath = createContext.cwd.append('tsconfig.eslint.json');\n            const include = [`${typesFolder}/**/*`]; // Always allow global types\n            let extendsFrom = './tsconfig.json';\n            if (workspaces.length === 0) {\n                include.push(`${srcFolder}/**/*`, `${testsFolder}/**/*`);\n            }\n            else {\n                extendsFrom = './tsconfig.options.json';\n                workspaces.forEach(ws => {\n                    const wsPath = new core_1.Path(ws);\n                    include.push(wsPath.append(`${srcFolder}/**/*`).path(), wsPath.append(`${testsFolder}/**/*`).path(), wsPath.append(`${typesFolder}/**/*`).path());\n                });\n            }\n            fs_1.default.writeFileSync(configPath.path(), JSON.stringify({\n                extends: extendsFrom,\n                include,\n            }, null, 2), 'utf8');\n            createContext.addConfigPath('eslint', configPath);\n        });\n    }, 'eslint');\n    /**\n     * JEST\n     * - Set common arguments. Include more during code coverage.\n     * - Set environment variables by default.\n     */\n    tool.onRunDriver.listen((context, driver) => {\n        context.addOptions(['--colors']);\n        if (context.args.coverage) {\n            context.addOptions(['--logHeapUsage', '--detectOpenHandles']);\n        }\n        if (usingTypescript) {\n            driver.options.dependencies.push('typescript');\n        }\n        driver.options.env.NODE_ENV = 'test';\n        driver.options.env.TZ = 'UTC';\n    }, 'jest');\n    /**\n     * PRETTIER\n     * - Always write files.\n     * - Glob a ton of files by default.\n     */\n    tool.onRunDriver.listen(context => {\n        context.addOption('--write');\n        if (hasNoPositionalArgs(context, 'prettier')) {\n            context.addArgs([\n                `./${pathPrefix}{bin,hooks,scripts,${srcFolder},${testsFolder}}/**/*.{ts,tsx,js,jsx,scss,css,gql,graphql,yml,yaml,md}`,\n                `./${docsFolder}/**/*.md`,\n                './*.{md,json}',\n            ]);\n        }\n    }, 'prettier');\n    /**\n     * TYPESCRIPT\n     * - Pass Lumos settings to the TS driver options.\n     */\n    tool.onRunDriver.listen((_, driver) => {\n        driver.configure({\n            // Dont want to pull in TS types.\n            // @ts-expect-error\n            buildFolder,\n            srcFolder,\n            testsFolder,\n            typesFolder,\n        });\n    }, 'typescript');\n    /**\n     * WEBPACK\n     * - Set common and custom arguments.\n     * - Handle Babel and TS integration.\n     */\n    tool.onRunDriver.listen((context, driver) => {\n        context.addOptions(['--colors', '--progress', '--bail']);\n        if (usingBabel) {\n            driver.options.dependencies.push('babel');\n            // Babel 7.5 handles dynamic imports natively, which will break Webpack\n            // when transforming to `commonjs`. So always force Babel to ESM mode.\n            process.env.ESM = 'true';\n        }\n        if (usingTypescript) {\n            driver.options.dependencies.push('typescript');\n        }\n        // Since webpack config uses references and doesn't have access to Beemo,\n        // we need to set these environment variables for easy access.\n        driver.configure({\n            env: {\n                SOURCE_MAPS: context.args.sourceMaps ? 'true' : '',\n                WEBPACK_ANALYZE: context.args.analyze ? 'true' : '',\n                WEBPACK_PARALLEL: String(context.args.parallel || ''),\n                LUMOS_BUILD_FOLDER: context.args.buildFolder,\n                LUMOS_ENTRY_POINT: context.args.entryPoint,\n            },\n        });\n    }, 'webpack');\n}\nexports.default = cli;\n"]}