@storm-software/workspace-tools
Version:
Tools for managing a Storm workspace, including various Nx generators and executors for common development tasks.
78 lines (75 loc) • 1.97 kB
JavaScript
import {
normalizeOptions,
typeScriptLibraryGeneratorFn
} from "./chunk-M3YWCYUX.mjs";
import {
withRunGenerator
} from "./chunk-C76K2E2A.mjs";
import {
joinPaths
} from "./chunk-TBW5MCN6.mjs";
import {
__dirname
} from "./chunk-3YDFOWNH.mjs";
// src/generators/neutral-library/generator.ts
import {
formatFiles,
generateFiles,
names,
offsetFromRoot
} from "@nx/devkit";
async function neutralLibraryGeneratorFn(tree, schema, config) {
const filesDir = joinPaths(
__dirname,
"src",
"generators",
"neutral-library",
"files"
);
const tsLibraryGeneratorOptions = {
...schema,
platform: "neutral",
devDependencies: {},
buildExecutor: "@storm-software/workspace-tools:unbuild"
};
const options = await normalizeOptions(tree, tsLibraryGeneratorOptions);
const { className, name, propertyName } = names(
options.projectNames.projectFileName
);
generateFiles(tree, filesDir, options.projectRoot, {
...schema,
dot: ".",
className,
name,
namespace: process.env.STORM_NAMESPACE ?? "storm-software",
description: schema.description ?? "",
propertyName,
js: !!options.js,
cliCommand: "nx",
strict: void 0,
tmpl: "",
offsetFromRoot: offsetFromRoot(options.projectRoot),
buildable: options.bundler && options.bundler !== "none",
hasUnitTestRunner: options.unitTestRunner !== "none"
});
await typeScriptLibraryGeneratorFn(tree, tsLibraryGeneratorOptions, config);
await formatFiles(tree);
return null;
}
var generator_default = withRunGenerator(
"TypeScript Library Creator (Neutral Platform)",
neutralLibraryGeneratorFn,
{
hooks: {
applyDefaultOptions: (options) => {
options.description ??= "A library used by Storm Software to support either browser or NodeJs applications";
options.platform = "neutral";
return options;
}
}
}
);
export {
neutralLibraryGeneratorFn,
generator_default
};