@storm-software/workspace-tools 1.270.2 → 1.271.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +40 -0
- package/README.md +1 -1
- package/dist/chunk-4QYM3VS4.mjs +282 -0
- package/dist/{chunk-ZP76EMBE.js → chunk-FYXWAGK3.js} +97 -27
- package/dist/chunk-MJMN2T4N.mjs +166 -0
- package/dist/chunk-RZVF4LHT.js +282 -0
- package/dist/executors.js +6 -6
- package/dist/executors.mjs +6 -6
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +6 -6
- package/dist/index.mjs +8 -8
- package/dist/src/executors/npm-publish/executor.js +3 -3
- package/dist/src/executors/npm-publish/executor.mjs +2 -2
- package/dist/src/generators/preset/files/LICENSE +201 -0
- package/dist/src/utils/index.d.mts +1 -1
- package/dist/src/utils/index.d.ts +1 -1
- package/dist/src/utils/index.js +2 -2
- package/dist/src/utils/index.mjs +3 -3
- package/dist/src/utils/pnpm-deps-update.d.mts +3 -3
- package/dist/src/utils/pnpm-deps-update.d.ts +3 -3
- package/dist/src/utils/pnpm-deps-update.js +2 -2
- package/dist/src/utils/pnpm-deps-update.mjs +3 -3
- package/docs/api/base/base-executor.schema.md +16 -0
- package/docs/api/base/base-generator.schema.md +15 -0
- package/docs/api/base/cargo-base-executor.schema.md +90 -0
- package/docs/api/base/typescript-build-executor.schema.md +126 -0
- package/docs/api/base/typescript-library-generator.schema.md +129 -0
- package/docs/api/executors/cargo-build/schema.md +89 -0
- package/docs/api/executors/cargo-check/schema.md +90 -0
- package/docs/api/executors/cargo-clippy/schema.md +99 -0
- package/docs/api/executors/cargo-doc/schema.md +130 -0
- package/docs/api/executors/cargo-format/schema.md +90 -0
- package/docs/api/executors/cargo-publish/schema.md +117 -0
- package/docs/api/executors/clean-package/schema.md +65 -0
- package/docs/api/executors/esbuild/schema.md +126 -0
- package/docs/api/executors/npm-publish/schema.md +64 -0
- package/docs/api/executors/size-limit/schema.md +25 -0
- package/docs/api/executors/typia/schema.md +46 -0
- package/docs/api/executors/unbuild/schema.md +222 -0
- package/docs/api/generators/browser-library/files/README.md +58 -0
- package/docs/api/generators/browser-library/schema.md +129 -0
- package/docs/api/generators/config-schema/schema.md +25 -0
- package/docs/api/generators/init/schema.md +15 -0
- package/docs/api/generators/neutral-library/files/README.md +58 -0
- package/docs/api/generators/neutral-library/schema.md +129 -0
- package/docs/api/generators/node-library/files/README.md +63 -0
- package/docs/api/generators/node-library/schema.md +129 -0
- package/docs/api/generators/preset/schema.md +110 -0
- package/docs/api/generators/release-version/schema.md +160 -0
- package/package.json +13 -35
- package/dist/chunk-CMH2A42G.js +0 -467
- package/dist/chunk-HMJTTE4A.mjs +0 -96
- package/dist/chunk-I54IKCIV.mjs +0 -467
- package/docs/executors/rollup.md +0 -88
- package/executors.ts +0 -23
- package/generators.ts +0 -14
- package/index.ts +0 -5
- package/project.json +0 -58
- package/src/base/base-executor.ts +0 -200
- package/src/base/base-executor.untyped.ts +0 -18
- package/src/base/base-generator.ts +0 -130
- package/src/base/base-generator.untyped.ts +0 -16
- package/src/base/cargo-base-executor.untyped.ts +0 -73
- package/src/base/index.ts +0 -8
- package/src/base/typescript-build-executor.untyped.ts +0 -153
- package/src/base/typescript-library-generator.ts +0 -415
- package/src/base/typescript-library-generator.untyped.ts +0 -106
- package/src/executors/cargo-build/executor.spec.ts +0 -18
- package/src/executors/cargo-build/executor.ts +0 -28
- package/src/executors/cargo-build/untyped.ts +0 -18
- package/src/executors/cargo-check/executor.spec.ts +0 -18
- package/src/executors/cargo-check/executor.ts +0 -27
- package/src/executors/cargo-check/untyped.ts +0 -11
- package/src/executors/cargo-clippy/executor.spec.ts +0 -18
- package/src/executors/cargo-clippy/executor.ts +0 -28
- package/src/executors/cargo-clippy/untyped.ts +0 -18
- package/src/executors/cargo-doc/executor.spec.ts +0 -18
- package/src/executors/cargo-doc/executor.ts +0 -39
- package/src/executors/cargo-doc/untyped.ts +0 -44
- package/src/executors/cargo-format/executor.spec.ts +0 -18
- package/src/executors/cargo-format/executor.ts +0 -28
- package/src/executors/cargo-format/untyped.ts +0 -11
- package/src/executors/cargo-publish/executor.spec.ts +0 -11
- package/src/executors/cargo-publish/executor.ts +0 -139
- package/src/executors/cargo-publish/untyped.ts +0 -33
- package/src/executors/clean-package/constants.ts +0 -99
- package/src/executors/clean-package/executor.spec.ts +0 -18
- package/src/executors/clean-package/executor.ts +0 -214
- package/src/executors/clean-package/types.ts +0 -6
- package/src/executors/clean-package/untyped.ts +0 -60
- package/src/executors/clean-package/utils.ts +0 -85
- package/src/executors/esbuild/executor.spec.ts +0 -11
- package/src/executors/esbuild/executor.ts +0 -67
- package/src/executors/esbuild/untyped.ts +0 -20
- package/src/executors/npm-publish/executor.spec.ts +0 -11
- package/src/executors/npm-publish/executor.ts +0 -680
- package/src/executors/npm-publish/untyped.ts +0 -56
- package/src/executors/size-limit/executor.spec.ts +0 -18
- package/src/executors/size-limit/executor.ts +0 -88
- package/src/executors/size-limit/untyped.ts +0 -22
- package/src/executors/typia/executor.ts +0 -54
- package/src/executors/typia/untyped.ts +0 -48
- package/src/executors/unbuild/executor.spec.ts +0 -11
- package/src/executors/unbuild/executor.ts +0 -136
- package/src/executors/unbuild/untyped.ts +0 -152
- package/src/generators/browser-library/generator.spec.ts +0 -20
- package/src/generators/browser-library/generator.ts +0 -109
- package/src/generators/browser-library/untyped.ts +0 -29
- package/src/generators/config-schema/generator.spec.ts +0 -20
- package/src/generators/config-schema/generator.ts +0 -90
- package/src/generators/config-schema/untyped.ts +0 -19
- package/src/generators/init/init.ts +0 -32
- package/src/generators/init/untyped.ts +0 -16
- package/src/generators/neutral-library/generator.spec.ts +0 -20
- package/src/generators/neutral-library/generator.ts +0 -81
- package/src/generators/neutral-library/untyped.ts +0 -29
- package/src/generators/node-library/generator.spec.ts +0 -20
- package/src/generators/node-library/generator.ts +0 -84
- package/src/generators/node-library/untyped.ts +0 -29
- package/src/generators/preset/files/.all-contributorsrc.template +0 -48
- package/src/generators/preset/files/.editorconfig +0 -454
- package/src/generators/preset/files/.env.template +0 -38
- package/src/generators/preset/files/.gitattributes +0 -52
- package/src/generators/preset/files/.github/.nvmrc +0 -1
- package/src/generators/preset/files/.github/CODEOWNERS +0 -3
- package/src/generators/preset/files/.github/CODE_OF_CONDUCT.md +0 -125
- package/src/generators/preset/files/.github/CONTRIBUTING.md.template +0 -15
- package/src/generators/preset/files/.github/FUNDING.yml +0 -3
- package/src/generators/preset/files/.github/ISSUE_TEMPLATE/bug-report.yml.template +0 -102
- package/src/generators/preset/files/.github/ISSUE_TEMPLATE/documentation.yml.template +0 -56
- package/src/generators/preset/files/.github/ISSUE_TEMPLATE/feature-request.yml.template +0 -60
- package/src/generators/preset/files/.github/PULL_REQUEST_TEMPLATE.md.template +0 -39
- package/src/generators/preset/files/.github/SECURITY.md +0 -9
- package/src/generators/preset/files/.github/codecov.yml +0 -29
- package/src/generators/preset/files/.github/dependabot.yml +0 -64
- package/src/generators/preset/files/.github/labels.yml +0 -84
- package/src/generators/preset/files/.github/renovate.json +0 -4
- package/src/generators/preset/files/.github/renovate.json.template +0 -63
- package/src/generators/preset/files/.github/stale.yml +0 -55
- package/src/generators/preset/files/.github/workflows/build-release.yml.template +0 -25
- package/src/generators/preset/files/.github/workflows/code-review.yml +0 -18
- package/src/generators/preset/files/.github/workflows/codeql.yml +0 -84
- package/src/generators/preset/files/.github/workflows/dependabot-update.yml +0 -32
- package/src/generators/preset/files/.github/workflows/git-guardian.yml +0 -23
- package/src/generators/preset/files/.github/workflows/greetings.yml +0 -31
- package/src/generators/preset/files/.github/workflows/labels.yml +0 -31
- package/src/generators/preset/files/.github/workflows/lock.yml +0 -26
- package/src/generators/preset/files/.log4brains.yml.template +0 -5
- package/src/generators/preset/files/.markdownlint.json +0 -155
- package/src/generators/preset/files/.verdaccio/config.yml.template +0 -40
- package/src/generators/preset/files/.vscode/README.md +0 -32
- package/src/generators/preset/files/.vscode/cspell.json +0 -3
- package/src/generators/preset/files/.vscode/extensions.json +0 -14
- package/src/generators/preset/files/.vscode/launch.json +0 -37
- package/src/generators/preset/files/.vscode/settings.json +0 -401
- package/src/generators/preset/files/.vscode/tasks.json +0 -4
- package/src/generators/preset/files/.whitesource +0 -14
- package/src/generators/preset/files/assets/diagrams/.gitkeep +0 -0
- package/src/generators/preset/files/assets/icons/dark/.gitkeep +0 -0
- package/src/generators/preset/files/assets/icons/light/.gitkeep +0 -0
- package/src/generators/preset/files/assets/logos/.gitkeep +0 -0
- package/src/generators/preset/files/docs/api-reference/.gitkeep +0 -0
- package/src/generators/preset/generator.spec.ts +0 -20
- package/src/generators/preset/generator.ts +0 -315
- package/src/generators/preset/untyped.ts +0 -88
- package/src/generators/release-version/generator.spec.ts +0 -20
- package/src/generators/release-version/generator.ts +0 -920
- package/src/generators/release-version/untyped.ts +0 -156
- package/src/plugins/rust/cargo-toml.ts +0 -434
- package/src/plugins/rust/index.ts +0 -1
- package/src/plugins/typescript/index.ts +0 -1
- package/src/plugins/typescript/project-config.ts +0 -564
- package/src/plugins/typescript/tsup.ts +0 -198
- package/src/types.ts +0 -130
- package/src/utils/apply-workspace-tokens.ts +0 -73
- package/src/utils/cargo.ts +0 -219
- package/src/utils/create-cli-options.ts +0 -23
- package/src/utils/get-project-configurations.ts +0 -27
- package/src/utils/index.ts +0 -12
- package/src/utils/lock-file.ts +0 -159
- package/src/utils/package-helpers.ts +0 -54
- package/src/utils/plugin-helpers.ts +0 -112
- package/src/utils/pnpm-deps-update.ts +0 -111
- package/src/utils/project-tags.ts +0 -162
- package/src/utils/toml.ts +0 -204
- package/src/utils/typia-transform.ts +0 -8
- package/src/utils/versions.ts +0 -19
- package/tsconfig.json +0 -30
- package/tsup.config.ts +0 -36
- /package/{src/generators/preset/files/LICENSE → LICENSE} +0 -0
- /package/{src → dist/src}/base/base-executor.schema.d.ts +0 -0
- /package/{src → dist/src}/base/base-executor.schema.json +0 -0
- /package/{src → dist/src}/base/base-executor.schema.md +0 -0
- /package/{src → dist/src}/base/base-generator.schema.d.ts +0 -0
- /package/{src → dist/src}/base/base-generator.schema.json +0 -0
- /package/{src → dist/src}/base/base-generator.schema.md +0 -0
- /package/{src → dist/src}/base/cargo-base-executor.schema.d.ts +0 -0
- /package/{src → dist/src}/base/cargo-base-executor.schema.json +0 -0
- /package/{src → dist/src}/base/cargo-base-executor.schema.md +0 -0
- /package/{src → dist/src}/base/typescript-build-executor.schema.d.ts +0 -0
- /package/{src → dist/src}/base/typescript-build-executor.schema.json +0 -0
- /package/{src → dist/src}/base/typescript-build-executor.schema.md +0 -0
- /package/{src → dist/src}/base/typescript-library-generator.schema.d.ts +0 -0
- /package/{src → dist/src}/base/typescript-library-generator.schema.json +0 -0
- /package/{src → dist/src}/base/typescript-library-generator.schema.md +0 -0
- /package/{src → dist/src}/executors/cargo-build/schema.d.ts +0 -0
- /package/{src → dist/src}/executors/cargo-build/schema.json +0 -0
- /package/{src → dist/src}/executors/cargo-build/schema.md +0 -0
- /package/{src → dist/src}/executors/cargo-check/schema.d.ts +0 -0
- /package/{src → dist/src}/executors/cargo-check/schema.json +0 -0
- /package/{src → dist/src}/executors/cargo-check/schema.md +0 -0
- /package/{src → dist/src}/executors/cargo-clippy/schema.d.ts +0 -0
- /package/{src → dist/src}/executors/cargo-clippy/schema.json +0 -0
- /package/{src → dist/src}/executors/cargo-clippy/schema.md +0 -0
- /package/{src → dist/src}/executors/cargo-doc/schema.d.ts +0 -0
- /package/{src → dist/src}/executors/cargo-doc/schema.json +0 -0
- /package/{src → dist/src}/executors/cargo-doc/schema.md +0 -0
- /package/{src → dist/src}/executors/cargo-format/schema.d.ts +0 -0
- /package/{src → dist/src}/executors/cargo-format/schema.json +0 -0
- /package/{src → dist/src}/executors/cargo-format/schema.md +0 -0
- /package/{src → dist/src}/executors/cargo-publish/schema.d.ts +0 -0
- /package/{src → dist/src}/executors/cargo-publish/schema.json +0 -0
- /package/{src → dist/src}/executors/cargo-publish/schema.md +0 -0
- /package/{src → dist/src}/executors/clean-package/schema.d.ts +0 -0
- /package/{src → dist/src}/executors/clean-package/schema.json +0 -0
- /package/{src → dist/src}/executors/clean-package/schema.md +0 -0
- /package/{src → dist/src}/executors/esbuild/schema.d.ts +0 -0
- /package/{src → dist/src}/executors/esbuild/schema.json +0 -0
- /package/{src → dist/src}/executors/esbuild/schema.md +0 -0
- /package/{src → dist/src}/executors/npm-publish/schema.d.ts +0 -0
- /package/{src → dist/src}/executors/npm-publish/schema.json +0 -0
- /package/{src → dist/src}/executors/npm-publish/schema.md +0 -0
- /package/{src → dist/src}/executors/size-limit/schema.d.ts +0 -0
- /package/{src → dist/src}/executors/size-limit/schema.json +0 -0
- /package/{src → dist/src}/executors/size-limit/schema.md +0 -0
- /package/{src → dist/src}/executors/typia/schema.d.ts +0 -0
- /package/{src → dist/src}/executors/typia/schema.json +0 -0
- /package/{src → dist/src}/executors/typia/schema.md +0 -0
- /package/{src → dist/src}/executors/unbuild/schema.d.ts +0 -0
- /package/{src → dist/src}/executors/unbuild/schema.json +0 -0
- /package/{src → dist/src}/executors/unbuild/schema.md +0 -0
- /package/{src → dist/src}/generators/browser-library/files/README.md +0 -0
- /package/{src → dist/src}/generators/browser-library/files/jest.config.ts +0 -0
- /package/{src → dist/src}/generators/browser-library/files/src/index.ts.template +0 -0
- /package/{src → dist/src}/generators/browser-library/files/tsconfig.spec.json +0 -0
- /package/{src → dist/src}/generators/browser-library/schema.d.ts +0 -0
- /package/{src → dist/src}/generators/browser-library/schema.json +0 -0
- /package/{src → dist/src}/generators/browser-library/schema.md +0 -0
- /package/{src → dist/src}/generators/config-schema/schema.d.ts +0 -0
- /package/{src → dist/src}/generators/config-schema/schema.json +0 -0
- /package/{src → dist/src}/generators/config-schema/schema.md +0 -0
- /package/{src → dist/src}/generators/init/schema.d.ts +0 -0
- /package/{src → dist/src}/generators/init/schema.json +0 -0
- /package/{src → dist/src}/generators/init/schema.md +0 -0
- /package/{src → dist/src}/generators/neutral-library/files/README.md +0 -0
- /package/{src → dist/src}/generators/neutral-library/files/jest.config.ts +0 -0
- /package/{src → dist/src}/generators/neutral-library/files/src/index.ts.template +0 -0
- /package/{src → dist/src}/generators/neutral-library/files/tsconfig.spec.json +0 -0
- /package/{src → dist/src}/generators/neutral-library/schema.d.ts +0 -0
- /package/{src → dist/src}/generators/neutral-library/schema.json +0 -0
- /package/{src → dist/src}/generators/neutral-library/schema.md +0 -0
- /package/{src → dist/src}/generators/node-library/files/README.md +0 -0
- /package/{src → dist/src}/generators/node-library/files/jest.config.ts +0 -0
- /package/{src → dist/src}/generators/node-library/files/src/index.ts.template +0 -0
- /package/{src → dist/src}/generators/node-library/files/tsconfig.spec.json +0 -0
- /package/{src → dist/src}/generators/node-library/schema.d.ts +0 -0
- /package/{src → dist/src}/generators/node-library/schema.json +0 -0
- /package/{src → dist/src}/generators/node-library/schema.md +0 -0
- /package/{src → dist/src}/generators/preset/files/README.md.template +0 -0
- /package/{src → dist/src}/generators/preset/files/docs/readme-templates/README.footer.md.template +0 -0
- /package/{src → dist/src}/generators/preset/files/docs/readme-templates/README.header.md.template +0 -0
- /package/{src → dist/src}/generators/preset/files/eslint.config.js.template +0 -0
- /package/{src → dist/src}/generators/preset/files/knip.json +0 -0
- /package/{src → dist/src}/generators/preset/files/lefthook.json +0 -0
- /package/{src → dist/src}/generators/preset/files/nx.json +0 -0
- /package/{src → dist/src}/generators/preset/files/pnpm-workspace.yaml +0 -0
- /package/{src → dist/src}/generators/preset/files/socket.yaml +0 -0
- /package/{src → dist/src}/generators/preset/files/storm.json.template +0 -0
- /package/{src → dist/src}/generators/preset/files/tsconfig.base.json.template +0 -0
- /package/{src → dist/src}/generators/preset/schema.d.ts +0 -0
- /package/{src → dist/src}/generators/preset/schema.json +0 -0
- /package/{src → dist/src}/generators/preset/schema.md +0 -0
- /package/{src → dist/src}/generators/release-version/schema.d.ts +0 -0
- /package/{src → dist/src}/generators/release-version/schema.json +0 -0
- /package/{src → dist/src}/generators/release-version/schema.md +0 -0
- /package/{src → dist/src}/plugins/typescript/untyped-schema.ts +0 -0
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
import type { ExecutorContext, PromiseExecutor } from "@nx/devkit";
|
|
2
|
-
import type { StormWorkspaceConfig } from "@storm-software/config";
|
|
3
|
-
import {
|
|
4
|
-
applyWorkspaceProjectTokens,
|
|
5
|
-
applyWorkspaceTokens,
|
|
6
|
-
findWorkspaceRoot,
|
|
7
|
-
formatLogMessage,
|
|
8
|
-
getConfig,
|
|
9
|
-
getStopwatch,
|
|
10
|
-
ProjectTokenizerOptions,
|
|
11
|
-
writeDebug,
|
|
12
|
-
writeError,
|
|
13
|
-
writeFatal,
|
|
14
|
-
writeInfo,
|
|
15
|
-
writeSuccess,
|
|
16
|
-
writeTrace
|
|
17
|
-
} from "@storm-software/config-tools";
|
|
18
|
-
import { defu } from "defu";
|
|
19
|
-
import { BaseExecutorOptions, BaseExecutorResult } from "../types";
|
|
20
|
-
import { BaseExecutorSchema } from "./base-executor.schema.d";
|
|
21
|
-
|
|
22
|
-
export const withRunExecutor =
|
|
23
|
-
<TExecutorSchema extends BaseExecutorSchema = BaseExecutorSchema>(
|
|
24
|
-
name: string,
|
|
25
|
-
executorFn: (
|
|
26
|
-
options: TExecutorSchema,
|
|
27
|
-
context: ExecutorContext,
|
|
28
|
-
config: StormWorkspaceConfig
|
|
29
|
-
) =>
|
|
30
|
-
| Promise<BaseExecutorResult | null | undefined>
|
|
31
|
-
| AsyncGenerator<any, BaseExecutorResult | null | undefined>
|
|
32
|
-
| BaseExecutorResult
|
|
33
|
-
| null
|
|
34
|
-
| undefined,
|
|
35
|
-
executorOptions: BaseExecutorOptions<TExecutorSchema> = {}
|
|
36
|
-
): PromiseExecutor<TExecutorSchema> =>
|
|
37
|
-
async (
|
|
38
|
-
_options: TExecutorSchema,
|
|
39
|
-
context: ExecutorContext
|
|
40
|
-
): Promise<{ success: boolean }> => {
|
|
41
|
-
const stopwatch = getStopwatch(name);
|
|
42
|
-
let options = _options;
|
|
43
|
-
|
|
44
|
-
let config = {} as StormWorkspaceConfig;
|
|
45
|
-
try {
|
|
46
|
-
if (
|
|
47
|
-
!context.projectsConfigurations?.projects ||
|
|
48
|
-
!context.projectName ||
|
|
49
|
-
!context.projectsConfigurations.projects[context.projectName]
|
|
50
|
-
) {
|
|
51
|
-
throw new Error(
|
|
52
|
-
"The Build process failed because the context is not valid. Please run this command from a workspace."
|
|
53
|
-
);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
const workspaceRoot = findWorkspaceRoot();
|
|
57
|
-
const projectRoot =
|
|
58
|
-
context.projectsConfigurations.projects[context.projectName]!.root ||
|
|
59
|
-
workspaceRoot;
|
|
60
|
-
const sourceRoot =
|
|
61
|
-
context.projectsConfigurations.projects[context.projectName]!
|
|
62
|
-
.sourceRoot ||
|
|
63
|
-
projectRoot ||
|
|
64
|
-
workspaceRoot;
|
|
65
|
-
const projectName = context.projectName;
|
|
66
|
-
config.workspaceRoot = workspaceRoot;
|
|
67
|
-
|
|
68
|
-
writeInfo(`⚡ Running the ${name} executor for ${projectName} `, config);
|
|
69
|
-
|
|
70
|
-
if (!executorOptions.skipReadingConfig) {
|
|
71
|
-
writeTrace(
|
|
72
|
-
`Loading the Storm Config from environment variables and storm.config.js file...
|
|
73
|
-
- workspaceRoot: ${workspaceRoot}
|
|
74
|
-
- projectRoot: ${projectRoot}
|
|
75
|
-
- sourceRoot: ${sourceRoot}
|
|
76
|
-
- projectName: ${projectName}\n`,
|
|
77
|
-
config
|
|
78
|
-
);
|
|
79
|
-
|
|
80
|
-
config = await getConfig(workspaceRoot);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
if (executorOptions?.hooks?.applyDefaultOptions) {
|
|
84
|
-
writeDebug("Running the applyDefaultOptions hook...", config);
|
|
85
|
-
options = await Promise.resolve(
|
|
86
|
-
executorOptions.hooks.applyDefaultOptions(options, config)
|
|
87
|
-
);
|
|
88
|
-
writeDebug("Completed the applyDefaultOptions hook", config);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
writeTrace(
|
|
92
|
-
`Executor schema options ⚙️
|
|
93
|
-
${formatLogMessage(options)}
|
|
94
|
-
`,
|
|
95
|
-
config
|
|
96
|
-
);
|
|
97
|
-
|
|
98
|
-
const tokenized = (await applyWorkspaceTokens<ProjectTokenizerOptions>(
|
|
99
|
-
options,
|
|
100
|
-
defu(
|
|
101
|
-
{ workspaceRoot, projectRoot, sourceRoot, projectName, config },
|
|
102
|
-
config,
|
|
103
|
-
context.projectsConfigurations.projects[context.projectName]
|
|
104
|
-
),
|
|
105
|
-
applyWorkspaceProjectTokens
|
|
106
|
-
)) as TExecutorSchema;
|
|
107
|
-
|
|
108
|
-
writeTrace(
|
|
109
|
-
`Executor schema tokenized options ⚙️
|
|
110
|
-
${formatLogMessage(tokenized)}
|
|
111
|
-
`,
|
|
112
|
-
config
|
|
113
|
-
);
|
|
114
|
-
|
|
115
|
-
if (executorOptions?.hooks?.preProcess) {
|
|
116
|
-
writeDebug("Running the preProcess hook...", config);
|
|
117
|
-
await Promise.resolve(
|
|
118
|
-
executorOptions.hooks.preProcess(tokenized, config)
|
|
119
|
-
);
|
|
120
|
-
writeDebug("Completed the preProcess hook", config);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
const ret = executorFn(tokenized, context, config);
|
|
124
|
-
if (_isFunction((ret as AsyncGenerator)?.next)) {
|
|
125
|
-
const asyncGen = ret as AsyncGenerator;
|
|
126
|
-
for await (const iter of asyncGen) {
|
|
127
|
-
void iter;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
const result = await Promise.resolve(
|
|
132
|
-
ret as
|
|
133
|
-
| Promise<BaseExecutorResult | null | undefined>
|
|
134
|
-
| BaseExecutorResult
|
|
135
|
-
| null
|
|
136
|
-
| undefined
|
|
137
|
-
);
|
|
138
|
-
if (
|
|
139
|
-
result &&
|
|
140
|
-
(!result.success ||
|
|
141
|
-
(result.error &&
|
|
142
|
-
(result?.error as Error)?.message &&
|
|
143
|
-
typeof (result?.error as Error)?.message === "string" &&
|
|
144
|
-
(result?.error as Error)?.name &&
|
|
145
|
-
typeof (result?.error as Error)?.name === "string"))
|
|
146
|
-
) {
|
|
147
|
-
writeTrace(
|
|
148
|
-
`Failure determined by the ${name} executor \n${formatLogMessage(result)}`,
|
|
149
|
-
config
|
|
150
|
-
);
|
|
151
|
-
console.error(result);
|
|
152
|
-
|
|
153
|
-
throw new Error(`The ${name} executor failed to run`, {
|
|
154
|
-
cause: result?.error
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
if (executorOptions?.hooks?.postProcess) {
|
|
159
|
-
writeDebug("Running the postProcess hook...", config);
|
|
160
|
-
await Promise.resolve(executorOptions.hooks.postProcess(config));
|
|
161
|
-
writeDebug("Completed the postProcess hook", config);
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
writeSuccess(`Completed running the ${name} task executor!\n`, config);
|
|
165
|
-
|
|
166
|
-
return {
|
|
167
|
-
success: true
|
|
168
|
-
};
|
|
169
|
-
} catch (error) {
|
|
170
|
-
writeFatal(
|
|
171
|
-
"A fatal error occurred while running the executor - the process was forced to terminate",
|
|
172
|
-
config
|
|
173
|
-
);
|
|
174
|
-
writeError(
|
|
175
|
-
`An exception was thrown in the executor's process \n - Details: ${error.message}\n - Stacktrace: ${error.stack}`,
|
|
176
|
-
config
|
|
177
|
-
);
|
|
178
|
-
|
|
179
|
-
return {
|
|
180
|
-
success: false
|
|
181
|
-
};
|
|
182
|
-
} finally {
|
|
183
|
-
stopwatch();
|
|
184
|
-
}
|
|
185
|
-
};
|
|
186
|
-
|
|
187
|
-
const _isFunction = (
|
|
188
|
-
value: unknown
|
|
189
|
-
): value is ((params?: unknown) => unknown) & ((param?: any) => any) => {
|
|
190
|
-
try {
|
|
191
|
-
return (
|
|
192
|
-
value instanceof Function ||
|
|
193
|
-
typeof value === "function" ||
|
|
194
|
-
!!(value?.constructor && (value as any)?.call && (value as any)?.apply)
|
|
195
|
-
);
|
|
196
|
-
// biome-ignore lint/correctness/noUnusedVariables: <explanation>
|
|
197
|
-
} catch (e) {
|
|
198
|
-
return false;
|
|
199
|
-
}
|
|
200
|
-
};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { defineUntypedSchema } from "untyped";
|
|
2
|
-
|
|
3
|
-
export default defineUntypedSchema({
|
|
4
|
-
$schema: {
|
|
5
|
-
id: "baseExecutor",
|
|
6
|
-
title: "Base Executor",
|
|
7
|
-
description: "A base type definition for an executor schema",
|
|
8
|
-
},
|
|
9
|
-
outputPath: {
|
|
10
|
-
$schema: {
|
|
11
|
-
title: "Output Path",
|
|
12
|
-
type: "string",
|
|
13
|
-
format: "path",
|
|
14
|
-
description: "The output path for the build",
|
|
15
|
-
},
|
|
16
|
-
$default: "dist/{projectRoot}",
|
|
17
|
-
},
|
|
18
|
-
});
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import type { GeneratorCallback, Tree } from "@nx/devkit";
|
|
2
|
-
import type { StormWorkspaceConfig } from "@storm-software/config";
|
|
3
|
-
import {
|
|
4
|
-
applyWorkspaceBaseTokens,
|
|
5
|
-
applyWorkspaceTokens,
|
|
6
|
-
findWorkspaceRoot,
|
|
7
|
-
getConfig,
|
|
8
|
-
getStopwatch,
|
|
9
|
-
writeDebug,
|
|
10
|
-
writeError,
|
|
11
|
-
writeFatal,
|
|
12
|
-
writeInfo,
|
|
13
|
-
writeSuccess,
|
|
14
|
-
writeTrace
|
|
15
|
-
} from "@storm-software/config-tools";
|
|
16
|
-
import type { BaseGeneratorOptions, BaseGeneratorResult } from "../types";
|
|
17
|
-
import type { BaseGeneratorSchema } from "./base-generator.schema.d";
|
|
18
|
-
|
|
19
|
-
export const withRunGenerator =
|
|
20
|
-
<TGeneratorSchema extends BaseGeneratorSchema = BaseGeneratorSchema>(
|
|
21
|
-
name: string,
|
|
22
|
-
generatorFn: (
|
|
23
|
-
tree: Tree,
|
|
24
|
-
options: TGeneratorSchema,
|
|
25
|
-
config?: StormWorkspaceConfig
|
|
26
|
-
) =>
|
|
27
|
-
| Promise<BaseGeneratorResult | null | undefined>
|
|
28
|
-
| BaseGeneratorResult
|
|
29
|
-
| null
|
|
30
|
-
| undefined,
|
|
31
|
-
generatorOptions: BaseGeneratorOptions<TGeneratorSchema> = {
|
|
32
|
-
skipReadingConfig: false
|
|
33
|
-
}
|
|
34
|
-
) =>
|
|
35
|
-
async (
|
|
36
|
-
tree: Tree,
|
|
37
|
-
_options: TGeneratorSchema
|
|
38
|
-
): Promise<GeneratorCallback | BaseGeneratorResult> => {
|
|
39
|
-
const stopwatch = getStopwatch(name);
|
|
40
|
-
let options = _options;
|
|
41
|
-
|
|
42
|
-
let config: StormWorkspaceConfig | undefined;
|
|
43
|
-
try {
|
|
44
|
-
writeInfo(`⚡ Running the ${name} generator...\n\n`, config);
|
|
45
|
-
|
|
46
|
-
const workspaceRoot = findWorkspaceRoot();
|
|
47
|
-
if (!generatorOptions.skipReadingConfig) {
|
|
48
|
-
writeDebug(
|
|
49
|
-
`Loading the Storm Config from environment variables and storm.config.js file...
|
|
50
|
-
- workspaceRoot: ${workspaceRoot}`,
|
|
51
|
-
config
|
|
52
|
-
);
|
|
53
|
-
|
|
54
|
-
config = await getConfig(workspaceRoot);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
if (generatorOptions?.hooks?.applyDefaultOptions) {
|
|
58
|
-
writeDebug("Running the applyDefaultOptions hook...", config);
|
|
59
|
-
options = await Promise.resolve(
|
|
60
|
-
generatorOptions.hooks.applyDefaultOptions(options, config)
|
|
61
|
-
);
|
|
62
|
-
writeDebug("Completed the applyDefaultOptions hook", config);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
writeTrace(
|
|
66
|
-
`Generator schema options ⚙️ \n${Object.keys(options ?? {})
|
|
67
|
-
.map(key => ` - ${key}=${JSON.stringify(options[key])}`)
|
|
68
|
-
.join("\n")}`,
|
|
69
|
-
config
|
|
70
|
-
);
|
|
71
|
-
|
|
72
|
-
const tokenized = (await applyWorkspaceTokens(
|
|
73
|
-
options as Record<string, any>,
|
|
74
|
-
{ workspaceRoot: tree.root, config },
|
|
75
|
-
applyWorkspaceBaseTokens
|
|
76
|
-
)) as TGeneratorSchema;
|
|
77
|
-
|
|
78
|
-
if (generatorOptions?.hooks?.preProcess) {
|
|
79
|
-
writeDebug("Running the preProcess hook...", config);
|
|
80
|
-
await Promise.resolve(
|
|
81
|
-
generatorOptions.hooks.preProcess(tokenized, config)
|
|
82
|
-
);
|
|
83
|
-
writeDebug("Completed the preProcess hook", config);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
// Run the generator function
|
|
87
|
-
const result = await Promise.resolve(
|
|
88
|
-
generatorFn(tree, tokenized, config)
|
|
89
|
-
);
|
|
90
|
-
if (result) {
|
|
91
|
-
if (
|
|
92
|
-
result.success === false ||
|
|
93
|
-
(result.error &&
|
|
94
|
-
(result?.error as Error)?.message &&
|
|
95
|
-
typeof (result?.error as Error)?.message === "string" &&
|
|
96
|
-
(result?.error as Error)?.name &&
|
|
97
|
-
typeof (result?.error as Error)?.name === "string")
|
|
98
|
-
) {
|
|
99
|
-
throw new Error(`The ${name} generator failed to run`, {
|
|
100
|
-
cause: result?.error
|
|
101
|
-
});
|
|
102
|
-
} else if (result.success && result.data) {
|
|
103
|
-
return result as any;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
if (generatorOptions?.hooks?.postProcess) {
|
|
108
|
-
writeDebug("Running the postProcess hook...", config);
|
|
109
|
-
await Promise.resolve(generatorOptions.hooks.postProcess(config));
|
|
110
|
-
writeDebug("Completed the postProcess hook", config);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
return () => {
|
|
114
|
-
writeSuccess(`Completed running the ${name} generator!\n`, config);
|
|
115
|
-
};
|
|
116
|
-
} catch (error) {
|
|
117
|
-
return () => {
|
|
118
|
-
writeFatal(
|
|
119
|
-
"A fatal error occurred while running the generator - the process was forced to terminate",
|
|
120
|
-
config
|
|
121
|
-
);
|
|
122
|
-
writeError(
|
|
123
|
-
`An exception was thrown in the generator's process \n - Details: ${error.message}\n - Stacktrace: ${error.stack}`,
|
|
124
|
-
config
|
|
125
|
-
);
|
|
126
|
-
};
|
|
127
|
-
} finally {
|
|
128
|
-
stopwatch();
|
|
129
|
-
}
|
|
130
|
-
};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { defineUntypedSchema } from "untyped";
|
|
2
|
-
|
|
3
|
-
export default defineUntypedSchema({
|
|
4
|
-
$schema: {
|
|
5
|
-
id: "BaseGeneratorSchema",
|
|
6
|
-
title: "Base Generator",
|
|
7
|
-
description: "A type definition for the base Generator schema",
|
|
8
|
-
},
|
|
9
|
-
directory: {
|
|
10
|
-
$schema: {
|
|
11
|
-
title: "Directory",
|
|
12
|
-
type: "string",
|
|
13
|
-
description: "The directory to create the library in",
|
|
14
|
-
},
|
|
15
|
-
},
|
|
16
|
-
});
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { defineUntypedSchema } from "untyped";
|
|
2
|
-
import baseExecutorSchema from "./base-executor.untyped";
|
|
3
|
-
|
|
4
|
-
export default defineUntypedSchema({
|
|
5
|
-
...baseExecutorSchema,
|
|
6
|
-
$schema: {
|
|
7
|
-
id: "cargoBaseExecutor",
|
|
8
|
-
title: "Cargo Base Executor",
|
|
9
|
-
description:
|
|
10
|
-
"A base type definition for a Cargo/rust related executor schema",
|
|
11
|
-
},
|
|
12
|
-
package: {
|
|
13
|
-
$schema: {
|
|
14
|
-
title: "Cargo.toml Path",
|
|
15
|
-
type: "string",
|
|
16
|
-
format: "path",
|
|
17
|
-
description: "The path to the Cargo.toml file",
|
|
18
|
-
},
|
|
19
|
-
$default: "{projectRoot}/Cargo.toml",
|
|
20
|
-
},
|
|
21
|
-
toolchain: {
|
|
22
|
-
$schema: {
|
|
23
|
-
title: "Toolchain",
|
|
24
|
-
description: "The type of toolchain to use for the build",
|
|
25
|
-
enum: ["stable", "beta", "nightly"],
|
|
26
|
-
default: "stable",
|
|
27
|
-
},
|
|
28
|
-
$default: "stable",
|
|
29
|
-
},
|
|
30
|
-
target: {
|
|
31
|
-
$schema: {
|
|
32
|
-
title: "Target",
|
|
33
|
-
type: "string",
|
|
34
|
-
description: "The target to build",
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
allTargets: {
|
|
38
|
-
$schema: {
|
|
39
|
-
title: "All Targets",
|
|
40
|
-
type: "boolean",
|
|
41
|
-
description: "Build all targets",
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
profile: {
|
|
45
|
-
$schema: {
|
|
46
|
-
title: "Profile",
|
|
47
|
-
type: "string",
|
|
48
|
-
description: "The profile to build",
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
release: {
|
|
52
|
-
$schema: {
|
|
53
|
-
title: "Release",
|
|
54
|
-
type: "boolean",
|
|
55
|
-
description: "Build in release mode",
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
features: {
|
|
59
|
-
$schema: {
|
|
60
|
-
title: "Features",
|
|
61
|
-
type: "string",
|
|
62
|
-
description: "The features to build",
|
|
63
|
-
oneOf: [{ type: "string" }, { type: "array", items: { type: "string" } }],
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
allFeatures: {
|
|
67
|
-
$schema: {
|
|
68
|
-
title: "All Features",
|
|
69
|
-
type: "boolean",
|
|
70
|
-
description: "Build all features",
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
});
|
package/src/base/index.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from "./base-executor";
|
|
2
|
-
export { default as baseExecutorSchema } from "./base-executor.untyped";
|
|
3
|
-
export * from "./base-generator";
|
|
4
|
-
export { default as baseGeneratorSchema } from "./base-generator.untyped";
|
|
5
|
-
export { default as cargoBaseExecutorSchema } from "./cargo-base-executor.untyped";
|
|
6
|
-
export { default as typescriptBuildExecutorSchema } from "./typescript-build-executor.untyped";
|
|
7
|
-
export * from "./typescript-library-generator";
|
|
8
|
-
export { default as typescriptLibraryGeneratorSchema } from "./typescript-library-generator.untyped";
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
import { defineUntypedSchema } from "untyped";
|
|
2
|
-
import baseExecutorSchema from "./base-executor.untyped";
|
|
3
|
-
|
|
4
|
-
export default defineUntypedSchema({
|
|
5
|
-
...baseExecutorSchema,
|
|
6
|
-
$schema: {
|
|
7
|
-
id: "TypeScriptBuildExecutorSchema",
|
|
8
|
-
title: "TypeScript Build Executor",
|
|
9
|
-
description:
|
|
10
|
-
"A type definition for the base TypeScript build executor schema",
|
|
11
|
-
required: ["entry", "tsconfig"],
|
|
12
|
-
},
|
|
13
|
-
entry: {
|
|
14
|
-
$schema: {
|
|
15
|
-
title: "Entry File(s)",
|
|
16
|
-
format: "path",
|
|
17
|
-
type: "array",
|
|
18
|
-
description: "The entry file or files to build",
|
|
19
|
-
items: { type: "string" },
|
|
20
|
-
},
|
|
21
|
-
$default: ["{sourceRoot}/index.ts"],
|
|
22
|
-
},
|
|
23
|
-
tsconfig: {
|
|
24
|
-
$schema: {
|
|
25
|
-
title: "TSConfig Path",
|
|
26
|
-
type: "string",
|
|
27
|
-
format: "path",
|
|
28
|
-
description: "The path to the tsconfig file",
|
|
29
|
-
},
|
|
30
|
-
$default: "{projectRoot}/tsconfig.json",
|
|
31
|
-
},
|
|
32
|
-
bundle: {
|
|
33
|
-
$schema: {
|
|
34
|
-
title: "Bundle",
|
|
35
|
-
type: "boolean",
|
|
36
|
-
description: "Bundle the output",
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
minify: {
|
|
40
|
-
$schema: {
|
|
41
|
-
title: "Minify",
|
|
42
|
-
type: "boolean",
|
|
43
|
-
description: "Minify the output",
|
|
44
|
-
},
|
|
45
|
-
},
|
|
46
|
-
debug: {
|
|
47
|
-
$schema: {
|
|
48
|
-
title: "Debug",
|
|
49
|
-
type: "boolean",
|
|
50
|
-
description: "Debug the output",
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
sourcemap: {
|
|
54
|
-
$schema: {
|
|
55
|
-
title: "Sourcemap",
|
|
56
|
-
type: "boolean",
|
|
57
|
-
description: "Generate a sourcemap",
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
silent: {
|
|
61
|
-
$schema: {
|
|
62
|
-
title: "Silent",
|
|
63
|
-
type: "boolean",
|
|
64
|
-
description:
|
|
65
|
-
"Should the build run silently - only report errors back to the user",
|
|
66
|
-
},
|
|
67
|
-
$default: false,
|
|
68
|
-
},
|
|
69
|
-
target: {
|
|
70
|
-
$schema: {
|
|
71
|
-
title: "Target",
|
|
72
|
-
type: "string",
|
|
73
|
-
description: "The target to build",
|
|
74
|
-
enum: [
|
|
75
|
-
"es3",
|
|
76
|
-
"es5",
|
|
77
|
-
"es6",
|
|
78
|
-
"es2015",
|
|
79
|
-
"es2016",
|
|
80
|
-
"es2017",
|
|
81
|
-
"es2018",
|
|
82
|
-
"es2019",
|
|
83
|
-
"es2020",
|
|
84
|
-
"es2021",
|
|
85
|
-
"es2022",
|
|
86
|
-
"es2023",
|
|
87
|
-
"es2024",
|
|
88
|
-
"esnext",
|
|
89
|
-
"node12",
|
|
90
|
-
"node14",
|
|
91
|
-
"node16",
|
|
92
|
-
"node18",
|
|
93
|
-
"node20",
|
|
94
|
-
"node22",
|
|
95
|
-
"browser",
|
|
96
|
-
"chrome58",
|
|
97
|
-
"chrome59",
|
|
98
|
-
"chrome60",
|
|
99
|
-
],
|
|
100
|
-
},
|
|
101
|
-
$default: "esnext",
|
|
102
|
-
$resolve: (val: string = "esnext") => val.toLowerCase(),
|
|
103
|
-
},
|
|
104
|
-
format: {
|
|
105
|
-
$schema: {
|
|
106
|
-
title: "Format",
|
|
107
|
-
type: "array",
|
|
108
|
-
description: "The format to build",
|
|
109
|
-
items: {
|
|
110
|
-
type: "string",
|
|
111
|
-
enum: ["cjs", "esm", "iife"],
|
|
112
|
-
},
|
|
113
|
-
},
|
|
114
|
-
$resolve: (val: string[] = ["cjs", "esm"]) => ([] as string[]).concat(val),
|
|
115
|
-
},
|
|
116
|
-
platform: {
|
|
117
|
-
$schema: {
|
|
118
|
-
title: "Platform",
|
|
119
|
-
type: "string",
|
|
120
|
-
description: "The platform to build",
|
|
121
|
-
enum: ["neutral", "node", "browser"],
|
|
122
|
-
},
|
|
123
|
-
$default: "neutral",
|
|
124
|
-
},
|
|
125
|
-
external: {
|
|
126
|
-
$schema: {
|
|
127
|
-
title: "External",
|
|
128
|
-
type: "array",
|
|
129
|
-
description: "The external dependencies",
|
|
130
|
-
},
|
|
131
|
-
$resolve: (val: string[] = []) => ([] as string[]).concat(val),
|
|
132
|
-
},
|
|
133
|
-
define: {
|
|
134
|
-
$schema: {
|
|
135
|
-
title: "Define",
|
|
136
|
-
type: "object",
|
|
137
|
-
tsType: "Record<string, string>",
|
|
138
|
-
description: "The define values",
|
|
139
|
-
},
|
|
140
|
-
$resolve: (val: Record<string, string> = {}) => val,
|
|
141
|
-
$default: {},
|
|
142
|
-
},
|
|
143
|
-
env: {
|
|
144
|
-
$schema: {
|
|
145
|
-
title: "Environment Variables",
|
|
146
|
-
type: "object",
|
|
147
|
-
tsType: "Record<string, string>",
|
|
148
|
-
description: "The environment variable values",
|
|
149
|
-
},
|
|
150
|
-
$resolve: (val: Record<string, string> = {}) => val,
|
|
151
|
-
$default: {},
|
|
152
|
-
},
|
|
153
|
-
});
|