@storm-software/cloudflare-tools
Version:
A Nx plugin package that contains various executors, generators, and utilities that assist in managing Cloudflare services.
79 lines (73 loc) • 1.99 kB
JavaScript
import {
ProjectTagConstants,
isEqualProjectTag
} from "./chunk-CSTZEHUP.mjs";
// ../workspace-tools/src/utils/package-helpers.ts
import {
joinPathFragments,
readJsonFile
} from "@nx/devkit";
// ../config-tools/src/utilities/toml.ts
import TOML from "@ltd/j-toml";
function parseCargoToml(cargoString) {
if (!cargoString) {
throw new Error("Cargo.toml is empty");
}
return TOML.parse(cargoString, {
x: { comment: true }
});
}
// ../workspace-tools/src/utils/package-helpers.ts
import { execFileSync } from "child_process";
import { existsSync } from "node:fs";
import { readFile, writeFile } from "node:fs/promises";
import { dirname, resolve } from "path";
import { format } from "prettier";
var getPackageInfo = (project) => {
if (isEqualProjectTag(
project,
ProjectTagConstants.Language.TAG_ID,
ProjectTagConstants.Language.RUST
) && existsSync(joinPathFragments(project.root, "Cargo.toml"))) {
return {
type: "Cargo.toml",
content: parseCargoToml(joinPathFragments(project.root, "Cargo.toml"))
};
} else if (isEqualProjectTag(
project,
ProjectTagConstants.Language.TAG_ID,
ProjectTagConstants.Language.TYPESCRIPT
) && existsSync(joinPathFragments(project.root, "package.json"))) {
return {
type: "package.json",
content: readJsonFile(
joinPathFragments(project.root, "package.json")
)
};
}
return null;
};
// ../workspace-tools/src/utils/create-cli-options.ts
import { names } from "@nx/devkit";
function createCliOptions(obj) {
const args = [];
for (const key in obj) {
const value = obj[key];
if (value) {
const arg = names(key).fileName;
if (Array.isArray(value)) {
args.push(
`--${arg.toLowerCase()}=${value.map((v) => v.trim()).join(",")}`
);
} else {
args.push(`--${arg.toLowerCase()}=${value}`);
}
}
}
return args;
}
export {
parseCargoToml,
getPackageInfo,
createCliOptions
};