@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
JavaScript
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
};