{"version":3,"sources":["jsdelivr-header.js","/npm/create-mf-app@2.0.4/src/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aACA,IAAI,gBAAmB,MAAQ,KAAK,iBAAoB,SAAU,GAC9D,OAAQ,GAAO,EAAI,WAAc,EAAM,CAAE,QAAW,EACxD,EACA,OAAO,eAAe,QAAS,aAAc,CAAE,OAAO,IACtD,QAAQ,kBAAe,EACvB,MAAM,UAAY,gBAAgB,QAAQ,YACpC,YAAc,gBAAgB,QAAQ,cACtC,OAAS,QAAQ,QACjB,MAAQ,gBAAgB,QAAQ,QAChC,aAAe,CAAC,EAAU,KAC5B,IAAI,EAAc,UAAU,QAAQ,aAAa,EAAU,QAAQ,WAC/D,EAAiB,EAEjB,EAAS,SAAS,SAClB,UAAU,QAAQ,WAAW,GAC7B,EAAiB,EAAS,QAAQ,OAAQ,IAC1C,EAAc,MAAM,QAAQ,OAAO,EAAa,IAGhD,EAAc,OAAO,QAAQ,GAAc,QAAO,CAAC,GAAM,EAAK,KACnD,EAAI,QAAQ,IAAI,OAAO,MAAM,UAAY,QAAW,KAAM,GAAO,YAAc,KACvF,GAEP,UAAU,QAAQ,cAAc,EAAgB,EAAY,EAG1D,gBAAmB,IACjB,UAAU,QAAQ,WAAW,YAAY,QAAQ,UAAU,GAAG,iBAC9D,UAAU,QAAQ,WAAW,YAAY,QAAQ,UAAU,GAAG,eAA0B,YAAY,QAAQ,UAAU,GAAG,gBAC7H,EAEE,cAAgB,EAAG,OAAM,YAAW,OAAM,MAAK,OAAM,iBACvD,MAAM,EAAW,CACb,KAAM,EACN,UAAW,EACX,UAAW,EAAK,QAAQ,KAAM,KAAK,OACnC,YAAa,GAKjB,GAHa,QAAT,GAA2B,gBAAT,IAClB,EAAS,KAAO,GAEP,gBAAT,EAAwB,CACxB,MAAM,EAAqB,aAAR,EACnB,EAAS,UAAY,EACf,mCACA,YACN,EAAS,IAAM,EAAa,WAAa,WAC7C,CACA,OAAO,CAAQ,EAKb,YAAc,CAAC,EAAW,KACvB,UAAU,QAAQ,WAAW,IAC9B,UAAU,QAAQ,UAAU,EAAW,CAAE,WAAW,IAE1C,UAAU,QAAQ,YAAY,GACtC,SAAS,IACX,MAAM,EAAa,YAAY,QAAQ,KAAK,EAAW,GACjD,EAAa,YAAY,QAAQ,KAAK,EAAW,GACzC,UAAU,QAAQ,SAAS,GAC/B,cACN,YAAY,EAAY,GAGxB,UAAU,QAAQ,aAAa,EAAY,EAC/C,GACF,EAEA,aAAe,MAAO,IACxB,MAAM,KAAE,EAAI,UAAE,EAAS,KAAE,EAAI,WAAE,GAAe,EACxC,EAAU,EAAK,cACf,EAAW,cAAc,GAC/B,GAAa,gBAAT,EAAwB,CACxB,YAAY,YAAY,QAAQ,KAAK,UAAW,gBAAgB,KAAW,KAAc,GACzF,MAAM,EAAM,UAAU,QAAQ,aAAa,YAAY,QAAQ,KAAK,EAAM,gBAAiB,QACrF,EAAc,KAAK,MAAM,GAC/B,EAAY,gBAAkB,EAAY,iBAAmB,CAAC,EAC1C,aAAhB,EAAQ,YACF,YAAY,YAAY,QAAQ,KAAK,UAAW,4CAA6C,GACnG,EAAY,gBAAgB,wBAA0B,SACtD,EAAY,gBAA6B,YAAI,UAE7C,IACA,EAAY,aAAa,wBAA0B,iBAEjD,UAAU,QAAQ,cAAc,YAAY,QAAQ,KAAK,EAAM,gBAAiB,KAAK,UAAU,EAAa,KAAM,GAC5H,CACa,YAAT,SACM,YAAY,YAAY,QAAQ,KAAK,UAAW,gBAAgB,gBAAuB,GAEpF,QAAT,SACM,YAAY,YAAY,QAAQ,KAAK,UAAW,uBAAuB,KAAc,GAE/F,gBAAgB,GAChB,MAAM,EAAQ,OAAO,KAAK,KAAK,GAAG,UAClC,IAAK,MAAM,KAAQ,EACX,UAAU,QAAQ,UAAU,GAAM,UAClC,aAAa,EAAM,EAE3B,EAEJ,QAAQ,aAAe","file":"/npm/create-mf-app@2.0.4/src/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/create-mf-app@2.0.4/src/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 });\nexports.buildProject = void 0;\nconst node_fs_1 = __importDefault(require(\"node:fs\"));\nconst node_path_1 = __importDefault(require(\"node:path\"));\nconst glob_1 = require(\"glob\");\nconst ejs_1 = __importDefault(require(\"ejs\"));\nconst templateFile = (fileName, replacements) => {\n    let fileContent = node_fs_1.default.readFileSync(fileName, \"utf8\").toString();\n    let outputFileName = fileName;\n    // Allow for EJS templates if there is logic required to process the template\n    if (fileName.endsWith(\".ejs\")) {\n        node_fs_1.default.unlinkSync(fileName);\n        outputFileName = fileName.replace(\".ejs\", \"\");\n        fileContent = ejs_1.default.render(fileContent, replacements);\n    }\n    else {\n        fileContent = Object.entries(replacements).reduce((acc, [key, value]) => {\n            return acc.replace(new RegExp(`({{${key}}}|{{ ${key} }})`, \"g\"), value?.toString() ?? \"\");\n        }, fileContent);\n    }\n    node_fs_1.default.writeFileSync(outputFileName, fileContent);\n};\n// required for npm publish\nconst renameGitignore = (projectName) => {\n    if (node_fs_1.default.existsSync(node_path_1.default.normalize(`${projectName}/gitignore`))) {\n        node_fs_1.default.renameSync(node_path_1.default.normalize(`${projectName}/gitignore`), node_path_1.default.normalize(`${projectName}/.gitignore`));\n    }\n};\nconst buildProfiler = ({ type, framework, name, css, port, withZephyr, }) => {\n    const profiler = {\n        NAME: name,\n        FRAMEWORK: framework,\n        SAFE_NAME: name.replace(/-/g, \"_\").trim(),\n        WITH_ZEPHYR: withZephyr,\n    };\n    if (type === \"API\" || type === \"Application\") {\n        profiler.PORT = port;\n    }\n    if (type === \"Application\") {\n        const isTailwind = css === \"Tailwind\";\n        profiler.CONTAINER = isTailwind\n            ? \"mt-10 text-3xl mx-auto max-w-6xl\"\n            : \"container\";\n        profiler.CSS = isTailwind ? \"Tailwind\" : \"Empty CSS\";\n    }\n    return profiler;\n};\n// I for the life of me, could not get ncp to copy the directory fast enough to\n// get the template replacements handled properly.\n// So I made this hand rolled function to do it\nconst copyDirSync = (sourceDir, targetDir) => {\n    if (!node_fs_1.default.existsSync(targetDir)) {\n        node_fs_1.default.mkdirSync(targetDir, { recursive: true });\n    }\n    const files = node_fs_1.default.readdirSync(sourceDir);\n    files.forEach((file) => {\n        const sourcePath = node_path_1.default.join(sourceDir, file);\n        const targetPath = node_path_1.default.join(targetDir, file);\n        const stats = node_fs_1.default.statSync(sourcePath);\n        if (stats.isDirectory()) {\n            copyDirSync(sourcePath, targetPath);\n        }\n        else {\n            node_fs_1.default.copyFileSync(sourcePath, targetPath);\n        }\n    });\n};\nconst buildProject = async (project) => {\n    const { name, framework, type, withZephyr } = project;\n    const tempDir = type.toLowerCase();\n    const profiler = buildProfiler(project);\n    if (type === \"Application\") {\n        copyDirSync(node_path_1.default.join(__dirname, `../templates/${tempDir}/${framework}`), name);\n        const pkg = node_fs_1.default.readFileSync(node_path_1.default.join(name, \"package.json\"), \"utf8\");\n        const packageJSON = JSON.parse(pkg);\n        packageJSON.devDependencies = packageJSON.devDependencies || {};\n        if (project.css === \"Tailwind\") {\n            await copyDirSync(node_path_1.default.join(__dirname, \"../templates/application-extras/tailwind\"), name);\n            packageJSON.devDependencies[\"@tailwindcss/postcss\"] = \"^4.0.3\";\n            packageJSON.devDependencies[\"tailwindcss\"] = \"^4.0.3\";\n        }\n        if (withZephyr) {\n            packageJSON.dependencies[\"zephyr-rspack-plugin\"] = \"^0.0.50\";\n        }\n        await node_fs_1.default.writeFileSync(node_path_1.default.join(name, \"package.json\"), JSON.stringify(packageJSON, null, 2));\n    }\n    if (type === \"Library\") {\n        await copyDirSync(node_path_1.default.join(__dirname, `../templates/${tempDir}/typescript`), name);\n    }\n    if (type === \"API\") {\n        await copyDirSync(node_path_1.default.join(__dirname, `../templates/server/${framework}`), name);\n    }\n    renameGitignore(name);\n    const files = glob_1.glob.sync(`${name}/**/*`);\n    for (const file of files) {\n        if (node_fs_1.default.lstatSync(file).isFile()) {\n            templateFile(file, profiler);\n        }\n    }\n};\nexports.buildProject = buildProject;\n"]}