UNPKG

@storm-software/cloudflare-tools

Version:

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

166 lines (164 loc) 4.73 kB
import "./chunk-YSCEY447.mjs"; import "./chunk-3J7KBHMJ.mjs"; import { applicationGenerator, applicationSchematic } from "./chunk-24VUYU3L.mjs"; import { initGenerator, initSchematic } from "./chunk-HZHOSXS6.mjs"; import "./chunk-7Z5PILRU.mjs"; import "./chunk-4FG7GV4R.mjs"; import "./chunk-SK3KX3JA.mjs"; import "./chunk-TL2ZBMKH.mjs"; import { getInternalDependencies, r2UploadFile } from "./chunk-DW5K6TQT.mjs"; import { ProjectTagConstants, addProjectTag } from "./chunk-PH3DHY4Q.mjs"; import "./chunk-I5P7M77J.mjs"; import "./chunk-LVQQJNPK.mjs"; import "./chunk-B7N6WOYD.mjs"; // src/plugins/index.ts import { createNodesFromFiles } from "@nx/devkit"; import { existsSync } from "node:fs"; import { dirname, join } from "node:path"; import { readNxJson } from "nx/src/config/nx-json.js"; import { readJsonFile } from "nx/src/utils/fileutils"; import { readTargetsFromPackageJson } from "nx/src/utils/package-json"; var name = "storm-software/cloudflare"; var createNodesV2 = [ "{**/wrangler.toml}", async (configFiles, options = { includeApps: true }, context) => { return await createNodesFromFiles( async (file, options2 = { includeApps: true }, context2) => { try { const packageJson = createPackageJson(file, context2.workspaceRoot); if (!packageJson) { return {}; } const project = createProjectFromPackageJsonNextToProjectJson( file, packageJson ); const nxJson = readNxJson(context2.workspaceRoot); const targets = readTargetsFromPackageJson( packageJson, nxJson, project.root, context2.workspaceRoot ); 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 } ); return project?.name ? { projects: { [project.name]: { ...project, targets, release: { ...project?.release, version: { ...project?.release?.version, generator: "@storm-software/workspace-tools:release-version" } } } } } : {}; } 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, getInternalDependencies, initGenerator, initSchematic, name, r2UploadFile };