UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

1 lines • 10.6 kB
{"version":3,"file":"cloudflareWranglerConfig.js","names":[],"sources":["esm/vite/cloudflareWranglerConfig.js"],"sourcesContent":["import { existsSync, readFileSync } from \"node:fs\";\nimport { join, relative } from \"node:path\";\nimport FSExtra from \"fs-extra\";\nconst GENERATED_CLOUDFLARE_WRANGLER_RULES = [\n { type: \"ESModule\", globs: [\"./server/**/*.js\"], fallthrough: true },\n { type: \"ESModule\", globs: [\"./api/**/*.js\"], fallthrough: true },\n { type: \"ESModule\", globs: [\"./middlewares/**/*.js\"], fallthrough: true },\n { type: \"ESModule\", globs: [\"./assets/**/*.js\"], fallthrough: true }\n];\nfunction isPlainObject(value) {\n return !!value && typeof value === \"object\" && !Array.isArray(value);\n}\nfunction mergeJsonObjects(base, overrides) {\n const merged = { ...base };\n for (const [key, value] of Object.entries(overrides)) {\n const baseValue = merged[key];\n if (isPlainObject(baseValue) && isPlainObject(value)) {\n merged[key] = mergeJsonObjects(baseValue, value);\n } else {\n merged[key] = value;\n }\n }\n return merged;\n}\nfunction dedupeJsonValues(values) {\n const seen = /* @__PURE__ */ new Set();\n return values.filter((value) => {\n const key = JSON.stringify(value);\n if (seen.has(key)) return false;\n seen.add(key);\n return true;\n });\n}\nfunction mergeCloudflareCompatibilityFlags(flags) {\n const userFlags = Array.isArray(flags) ? flags.filter((flag) => typeof flag === \"string\") : [];\n return dedupeJsonValues([\"nodejs_compat\", ...userFlags]);\n}\nfunction mergeCloudflareRules(rules) {\n const userRules = Array.isArray(rules) ? rules.filter((rule) => isPlainObject(rule)) : [];\n return dedupeJsonValues([\n ...GENERATED_CLOUDFLARE_WRANGLER_RULES,\n ...userRules\n ]);\n}\nfunction parseJsonc(text) {\n let out = \"\";\n let i = 0;\n let inString = false;\n let quote = \"\";\n while (i < text.length) {\n const ch = text[i];\n const next = text[i + 1];\n if (inString) {\n if (ch === \"\\\\\") {\n out += ch + (next ?? \"\");\n i += 2;\n continue;\n }\n if (ch === quote) inString = false;\n out += ch;\n i++;\n continue;\n }\n if (ch === '\"' || ch === \"'\") {\n inString = true;\n quote = ch;\n out += ch;\n i++;\n continue;\n }\n if (ch === \"/\" && next === \"/\") {\n while (i < text.length && text[i] !== \"\\n\") i++;\n continue;\n }\n if (ch === \"/\" && next === \"*\") {\n i += 2;\n while (i < text.length - 1 && !(text[i] === \"*\" && text[i + 1] === \"/\")) i++;\n i += 2;\n continue;\n }\n out += ch;\n i++;\n }\n return JSON.parse(out.replace(/,(\\s*[}\\]])/g, \"$1\"));\n}\nconst WRANGLER_FILE_NAMES = [\"wrangler.jsonc\", \"wrangler.json\"];\nfunction wranglerCandidateRoots(root) {\n return [.../* @__PURE__ */ new Set([root, process.cwd()])];\n}\nfunction hasUserWranglerConfig(root) {\n for (const candidateRoot of wranglerCandidateRoots(root)) {\n for (const fileName of WRANGLER_FILE_NAMES) {\n if (existsSync(join(candidateRoot, fileName))) return true;\n }\n }\n return false;\n}\nfunction parseUserWranglerFile(configPath) {\n const contents = readFileSync(configPath, \"utf-8\");\n let parsed;\n try {\n parsed = parseJsonc(contents);\n } catch (err) {\n throw new Error(\n `Failed to parse ${relative(process.cwd(), configPath)}: ${err.message}`\n );\n }\n if (!isPlainObject(parsed)) {\n throw new Error(\n `Expected ${relative(process.cwd(), configPath)} to contain a top-level JSON object`\n );\n }\n return {\n path: configPath,\n config: parsed\n };\n}\nfunction loadUserWranglerConfigSync(root) {\n for (const candidateRoot of wranglerCandidateRoots(root)) {\n for (const fileName of WRANGLER_FILE_NAMES) {\n const configPath = join(candidateRoot, fileName);\n if (!existsSync(configPath)) continue;\n return parseUserWranglerFile(configPath);\n }\n }\n return null;\n}\nasync function loadUserWranglerConfig(root) {\n const candidateRoots = wranglerCandidateRoots(root);\n for (const candidateRoot of candidateRoots) {\n for (const fileName of WRANGLER_FILE_NAMES) {\n const configPath = join(candidateRoot, fileName);\n if (!await FSExtra.pathExists(configPath)) {\n continue;\n }\n return parseUserWranglerFile(configPath);\n }\n }\n return null;\n}\nfunction createCloudflareWranglerConfig(projectName, userConfig) {\n const generatedConfig = {\n name: projectName,\n main: \"worker.js\",\n compatibility_date: \"2024-12-05\",\n compatibility_flags: [\"nodejs_compat\"],\n find_additional_modules: true,\n rules: GENERATED_CLOUDFLARE_WRANGLER_RULES,\n assets: {\n directory: \"client\",\n binding: \"ASSETS\",\n run_worker_first: true\n }\n };\n const mergedConfig = userConfig ? mergeJsonObjects(generatedConfig, userConfig) : generatedConfig;\n mergedConfig.main = \"worker.js\";\n mergedConfig.find_additional_modules = true;\n mergedConfig.compatibility_flags = mergeCloudflareCompatibilityFlags(\n mergedConfig.compatibility_flags\n );\n mergedConfig.rules = mergeCloudflareRules(mergedConfig.rules);\n mergedConfig.assets = {\n ...isPlainObject(mergedConfig.assets) ? mergedConfig.assets : {},\n directory: \"client\",\n binding: \"ASSETS\",\n run_worker_first: true\n };\n return mergedConfig;\n}\nfunction getCloudflareProjectNameSync(root) {\n try {\n const pkg = JSON.parse(readFileSync(join(root, \"package.json\"), \"utf-8\"));\n if (pkg.name) {\n return String(pkg.name).replace(/^@[^/]+\\//, \"\");\n }\n } catch {\n }\n return \"one-app\";\n}\nasync function getCloudflareProjectName(root) {\n try {\n const pkg = JSON.parse(await FSExtra.readFile(join(root, \"package.json\"), \"utf-8\"));\n if (pkg.name) {\n return pkg.name.replace(/^@[^/]+\\//, \"\");\n }\n } catch {\n }\n return \"one-app\";\n}\nfunction isExperimentalWorkerDevEnabled() {\n return process.env.ONE_EXPERIMENTAL_WORKER_DEV === \"1\";\n}\nfunction shouldEnableWorkerdDev(deploy, root) {\n if (!isExperimentalWorkerDevEnabled()) return false;\n const target = typeof deploy === \"string\" ? deploy : deploy?.target;\n if (target === \"cloudflare\") return true;\n return hasUserWranglerConfig(root);\n}\nexport {\n GENERATED_CLOUDFLARE_WRANGLER_RULES,\n createCloudflareWranglerConfig,\n getCloudflareProjectName,\n getCloudflareProjectNameSync,\n hasUserWranglerConfig,\n isExperimentalWorkerDevEnabled,\n isPlainObject,\n loadUserWranglerConfig,\n loadUserWranglerConfigSync,\n shouldEnableWorkerdDev\n};\n//# sourceMappingURL=cloudflareWranglerConfig.js.map\n"],"mappings":"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"}