UNPKG

@storm-software/cloudflare-tools

Version:

A Nx plugin package that contains various executors, generators, and utilities that assist in managing Cloudflare services.

164 lines (162 loc) 4.5 kB
import "./chunk-YSCEY447.mjs"; import "./chunk-HUK6LVIA.mjs"; import "./chunk-3J7KBHMJ.mjs"; import { applicationGenerator, applicationSchematic } from "./chunk-U2VC556K.mjs"; import { initGenerator, initSchematic } from "./chunk-R5EXW4CZ.mjs"; import "./chunk-SWYYMID7.mjs"; import "./chunk-7Z5PILRU.mjs"; import { getEncoding, getInternalDependencies, isTextFile, uploadFile } from "./chunk-4F6THJ6M.mjs"; import "./chunk-VJL36SFQ.mjs"; import "./chunk-XFDJCBLE.mjs"; import { ProjectTagConstants, addProjectTag } from "./chunk-F5RW4AZL.mjs"; import "./chunk-JOBVIJOH.mjs"; import "./chunk-OBUVLRI3.mjs"; import "./chunk-W6EAOXRO.mjs"; // src/plugins/index.ts import { createNodesFromFiles } from "@nx/devkit"; import defu from "defu"; import { existsSync } from "node:fs"; import { dirname, join } from "node:path"; import { readJsonFile } from "nx/src/utils/fileutils"; var name = "storm-software/cloudflare-tools/cloudflare"; var createNodesV2 = [ "{**/wrangler.toml}", async (configFiles, options = { includeApps: true }, context) => { return await createNodesFromFiles( async (file, options2, context2) => { try { const packageJson = createPackageJson(file, context2.workspaceRoot); if (!packageJson) { return {}; } const project = createProjectFromPackageJsonNextToProjectJson( file, packageJson ); const targets = {}; targets["serve"] = { cache: false, inputs: ["typescript", "^production"], dependsOn: ["build"], executor: "@storm-software/cloudflare-tools:serve", options: { port: 4500 } }; targets["clean-package"] = { cache: true, dependsOn: ["build"], inputs: ["typescript", "^production"], outputs: ["{workspaceRoot}/dist/{projectRoot}"], executor: "@storm-software/workspace-tools:clean-package", options: { cleanReadMe: true, cleanComments: true } }; targets["nx-release-publish"] = { cache: false, inputs: ["typescript", "^production"], dependsOn: ["clean-package", "^nx-release-publish"], executor: "@storm-software/cloudflare-tools:cloudflare-publish", options: {} }; addProjectTag( project, ProjectTagConstants.ProjectType.TAG_ID, project.projectType === "application" ? ProjectTagConstants.ProjectType.APPLICATION : ProjectTagConstants.ProjectType.LIBRARY, { overwrite: true } ); addProjectTag( project, ProjectTagConstants.DistStyle.TAG_ID, ProjectTagConstants.DistStyle.CLEAN, { overwrite: true } ); addProjectTag( project, ProjectTagConstants.Provider.TAG_ID, "cloudflare", { overwrite: true } ); const projects = {}; const externalNodes = {}; projects[project.root] = defu( { targets, release: { version: { versionActions: "@storm-software/workspace-tools/release/js-release-actions" } } }, project ); return { projects, externalNodes }; } catch (e) { console.error(e); return {}; } }, configFiles, options, context ); } ]; function createProjectFromPackageJsonNextToProjectJson(projectJsonPath, packageJson) { const { nx, name: name2 } = packageJson; const root = dirname(projectJsonPath); return { ...nx, name: name2, root, targets: {} }; } function createPackageJson(projectJsonPath, workspaceRoot) { try { const root = dirname(projectJsonPath); const packageJsonPath = join(workspaceRoot, root, "package.json"); if (!existsSync(packageJsonPath)) { return null; } return readJsonFile(packageJsonPath); } catch (e) { console.log(e); return null; } } export { applicationGenerator, applicationSchematic, createNodesV2, getEncoding, getInternalDependencies, initGenerator, initSchematic, isTextFile, name, uploadFile };