@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
package/src/utils/lock-file.ts
DELETED
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
output,
|
|
3
|
-
readJsonFile,
|
|
4
|
-
workspaceRoot,
|
|
5
|
-
type CreateDependenciesContext,
|
|
6
|
-
type CreateNodesContext,
|
|
7
|
-
type PackageManager,
|
|
8
|
-
type ProjectGraphExternalNode,
|
|
9
|
-
type RawProjectGraphDependency,
|
|
10
|
-
} from "@nx/devkit";
|
|
11
|
-
import { existsSync } from "node:fs";
|
|
12
|
-
import { join } from "node:path";
|
|
13
|
-
import {
|
|
14
|
-
getNpmLockfileDependencies,
|
|
15
|
-
getNpmLockfileNodes,
|
|
16
|
-
} from "nx/src/plugins/js/lock-file/npm-parser";
|
|
17
|
-
import {
|
|
18
|
-
getPnpmLockfileDependencies,
|
|
19
|
-
getPnpmLockfileNodes,
|
|
20
|
-
} from "nx/src/plugins/js/lock-file/pnpm-parser";
|
|
21
|
-
import {
|
|
22
|
-
getYarnLockfileDependencies,
|
|
23
|
-
getYarnLockfileNodes,
|
|
24
|
-
} from "nx/src/plugins/js/lock-file/yarn-parser";
|
|
25
|
-
|
|
26
|
-
export const YARN_LOCK_FILE = "yarn.lock";
|
|
27
|
-
export const NPM_LOCK_FILE = "package-lock.json";
|
|
28
|
-
export const PNPM_LOCK_FILE = "pnpm-lock.yaml";
|
|
29
|
-
export const LOCK_FILES = [YARN_LOCK_FILE, NPM_LOCK_FILE, PNPM_LOCK_FILE];
|
|
30
|
-
|
|
31
|
-
export const YARN_LOCK_PATH = join(workspaceRoot, YARN_LOCK_FILE);
|
|
32
|
-
export const NPM_LOCK_PATH = join(workspaceRoot, NPM_LOCK_FILE);
|
|
33
|
-
export const PNPM_LOCK_PATH = join(workspaceRoot, PNPM_LOCK_FILE);
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Parses lock file and maps dependencies and metadata to {@link LockFileGraph}
|
|
37
|
-
*/
|
|
38
|
-
export function getLockFileNodes(
|
|
39
|
-
packageManager: PackageManager,
|
|
40
|
-
contents: string,
|
|
41
|
-
lockFileHash: string,
|
|
42
|
-
context: CreateNodesContext,
|
|
43
|
-
): Record<string, ProjectGraphExternalNode> {
|
|
44
|
-
try {
|
|
45
|
-
if (packageManager === "yarn") {
|
|
46
|
-
const packageJson = readJsonFile(
|
|
47
|
-
join(context.workspaceRoot, "package.json"),
|
|
48
|
-
);
|
|
49
|
-
return getYarnLockfileNodes(contents, lockFileHash, packageJson);
|
|
50
|
-
}
|
|
51
|
-
if (packageManager === "pnpm") {
|
|
52
|
-
return getPnpmLockfileNodes(contents, lockFileHash);
|
|
53
|
-
}
|
|
54
|
-
if (packageManager === "npm") {
|
|
55
|
-
return getNpmLockfileNodes(contents, lockFileHash);
|
|
56
|
-
}
|
|
57
|
-
} catch (e) {
|
|
58
|
-
if (!isPostInstallProcess()) {
|
|
59
|
-
output.error({
|
|
60
|
-
title: `Failed to parse ${packageManager} lockfile`,
|
|
61
|
-
bodyLines: errorBodyLines(e),
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
throw e;
|
|
65
|
-
}
|
|
66
|
-
throw new Error(`Unknown package manager: ${packageManager}`);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Parses lock file and maps dependencies and metadata to {@link LockFileGraph}
|
|
71
|
-
*/
|
|
72
|
-
export function getLockFileDependencies(
|
|
73
|
-
packageManager: PackageManager,
|
|
74
|
-
contents: string,
|
|
75
|
-
lockFileHash: string,
|
|
76
|
-
context: CreateDependenciesContext,
|
|
77
|
-
): RawProjectGraphDependency[] {
|
|
78
|
-
try {
|
|
79
|
-
if (packageManager === "yarn") {
|
|
80
|
-
return getYarnLockfileDependencies(contents, lockFileHash, context);
|
|
81
|
-
}
|
|
82
|
-
if (packageManager === "pnpm") {
|
|
83
|
-
return getPnpmLockfileDependencies(contents, lockFileHash, context);
|
|
84
|
-
}
|
|
85
|
-
if (packageManager === "npm") {
|
|
86
|
-
return getNpmLockfileDependencies(contents, lockFileHash, context);
|
|
87
|
-
}
|
|
88
|
-
} catch (e) {
|
|
89
|
-
if (!isPostInstallProcess()) {
|
|
90
|
-
output.error({
|
|
91
|
-
title: `Failed to parse ${packageManager} lockfile`,
|
|
92
|
-
bodyLines: errorBodyLines(e),
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
throw e;
|
|
96
|
-
}
|
|
97
|
-
throw new Error(`Unknown package manager: ${packageManager}`);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
export function lockFileExists(packageManager: PackageManager): boolean {
|
|
101
|
-
if (packageManager === "yarn") {
|
|
102
|
-
return existsSync(YARN_LOCK_PATH);
|
|
103
|
-
}
|
|
104
|
-
if (packageManager === "pnpm") {
|
|
105
|
-
return existsSync(PNPM_LOCK_PATH);
|
|
106
|
-
}
|
|
107
|
-
if (packageManager === "npm") {
|
|
108
|
-
return existsSync(NPM_LOCK_PATH);
|
|
109
|
-
}
|
|
110
|
-
throw new Error(
|
|
111
|
-
`Unknown package manager ${packageManager} or lock file missing`,
|
|
112
|
-
);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Returns lock file name based on the detected package manager in the root
|
|
117
|
-
* @param packageManager
|
|
118
|
-
* @returns
|
|
119
|
-
*/
|
|
120
|
-
export function getLockFileName(packageManager: PackageManager): string {
|
|
121
|
-
if (packageManager === "yarn") {
|
|
122
|
-
return YARN_LOCK_FILE;
|
|
123
|
-
}
|
|
124
|
-
if (packageManager === "pnpm") {
|
|
125
|
-
return PNPM_LOCK_FILE;
|
|
126
|
-
}
|
|
127
|
-
if (packageManager === "npm") {
|
|
128
|
-
return NPM_LOCK_FILE;
|
|
129
|
-
}
|
|
130
|
-
throw new Error(`Unknown package manager: ${packageManager}`);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
// generate body lines for error message
|
|
134
|
-
function errorBodyLines(
|
|
135
|
-
originalError: Error,
|
|
136
|
-
additionalInfo: string[] = [],
|
|
137
|
-
): string[] {
|
|
138
|
-
const result = [
|
|
139
|
-
"Please open an issue at `https://github.com/storm-software/storm-ops/issues/new?template=1-bug.yml` and provide a reproduction.",
|
|
140
|
-
...(additionalInfo as string[]),
|
|
141
|
-
];
|
|
142
|
-
|
|
143
|
-
if (originalError.message) {
|
|
144
|
-
result.push(`\nOriginal error: ${originalError.message}\n\n`);
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
if (originalError.stack) {
|
|
148
|
-
result.push(originalError.stack);
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
return result;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
function isPostInstallProcess(): boolean {
|
|
155
|
-
return (
|
|
156
|
-
process.env.npm_command === "install" &&
|
|
157
|
-
process.env.npm_lifecycle_event === "postinstall"
|
|
158
|
-
);
|
|
159
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
joinPathFragments,
|
|
3
|
-
ProjectConfiguration,
|
|
4
|
-
readJsonFile,
|
|
5
|
-
} from "@nx/devkit";
|
|
6
|
-
import { existsSync } from "node:fs";
|
|
7
|
-
import type { PackageJson } from "nx/src/utils/package-json.js";
|
|
8
|
-
import { isEqualProjectTag, ProjectTagConstants } from "./project-tags";
|
|
9
|
-
import { CargoToml, parseCargoToml } from "./toml";
|
|
10
|
-
|
|
11
|
-
export type PackageManagerType = "package.json" | "Cargo.toml";
|
|
12
|
-
export const PackageManagerTypes = {
|
|
13
|
-
PackageJson: "package.json" as PackageManagerType,
|
|
14
|
-
CargoToml: "Cargo.toml" as PackageManagerType,
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export type PackageInfo = {
|
|
18
|
-
content: PackageJson | CargoToml;
|
|
19
|
-
type: PackageManagerType;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export const getPackageInfo = (
|
|
23
|
-
project: ProjectConfiguration,
|
|
24
|
-
): null | PackageInfo => {
|
|
25
|
-
if (
|
|
26
|
-
isEqualProjectTag(
|
|
27
|
-
project,
|
|
28
|
-
ProjectTagConstants.Language.TAG_ID,
|
|
29
|
-
ProjectTagConstants.Language.RUST,
|
|
30
|
-
) &&
|
|
31
|
-
existsSync(joinPathFragments(project.root, "Cargo.toml"))
|
|
32
|
-
) {
|
|
33
|
-
return {
|
|
34
|
-
type: "Cargo.toml",
|
|
35
|
-
content: parseCargoToml(joinPathFragments(project.root, "Cargo.toml")),
|
|
36
|
-
};
|
|
37
|
-
} else if (
|
|
38
|
-
isEqualProjectTag(
|
|
39
|
-
project,
|
|
40
|
-
ProjectTagConstants.Language.TAG_ID,
|
|
41
|
-
ProjectTagConstants.Language.TYPESCRIPT,
|
|
42
|
-
) &&
|
|
43
|
-
existsSync(joinPathFragments(project.root, "package.json"))
|
|
44
|
-
) {
|
|
45
|
-
return {
|
|
46
|
-
type: "package.json",
|
|
47
|
-
content: readJsonFile(
|
|
48
|
-
joinPathFragments(project.root, "package.json"),
|
|
49
|
-
) as PackageJson,
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return null;
|
|
54
|
-
};
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { ProjectConfiguration, readJsonFile } from "@nx/devkit";
|
|
2
|
-
import defu from "defu";
|
|
3
|
-
import { existsSync } from "node:fs";
|
|
4
|
-
import { dirname, join } from "node:path";
|
|
5
|
-
import { PackageJson } from "pkg-types";
|
|
6
|
-
import { getProjectTag, ProjectTagConstants } from "./project-tags";
|
|
7
|
-
|
|
8
|
-
export const getProjectPlatform = (
|
|
9
|
-
project: ProjectConfiguration,
|
|
10
|
-
ignoreTags = false,
|
|
11
|
-
): "node" | "neutral" | "browser" | "worker" => {
|
|
12
|
-
const tsconfigJson = readJsonFile(join(project.root, "tsconfig.json"));
|
|
13
|
-
if (!tsconfigJson) {
|
|
14
|
-
throw new Error(`No tsconfig.json found in project root: ${project.root}`);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const packageJson = readJsonFile(join(project.root, "package.json"));
|
|
18
|
-
if (!packageJson) {
|
|
19
|
-
throw new Error(`No package.json found in project root: ${project.root}`);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
let platformTag: string | undefined = undefined;
|
|
23
|
-
if (!ignoreTags) {
|
|
24
|
-
platformTag = getProjectTag(project, ProjectTagConstants.Platform.TAG_ID);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
if (platformTag !== ProjectTagConstants.Platform.NEUTRAL) {
|
|
28
|
-
const types = Array.isArray(tsconfigJson.compilerOptions?.types)
|
|
29
|
-
? tsconfigJson.compilerOptions.types
|
|
30
|
-
: [];
|
|
31
|
-
|
|
32
|
-
if (
|
|
33
|
-
platformTag === ProjectTagConstants.Platform.WORKER ||
|
|
34
|
-
types.some(
|
|
35
|
-
(type) => type.toLowerCase() === "@cloudflare/workers-types",
|
|
36
|
-
) ||
|
|
37
|
-
packageJson.devDependencies?.["@cloudflare/workers-types"] ||
|
|
38
|
-
packageJson.devDependencies?.["wrangler"]
|
|
39
|
-
) {
|
|
40
|
-
return "worker";
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
if (
|
|
44
|
-
platformTag === ProjectTagConstants.Platform.NODE ||
|
|
45
|
-
types?.some((type) => type.toLowerCase() === "node") ||
|
|
46
|
-
packageJson.devDependencies?.["@types/node"]
|
|
47
|
-
) {
|
|
48
|
-
return "node";
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
if (
|
|
52
|
-
platformTag === ProjectTagConstants.Platform.BROWSER ||
|
|
53
|
-
types?.some((type) => type.toLowerCase() === "dom") ||
|
|
54
|
-
(packageJson.dependencies &&
|
|
55
|
-
Object.keys(packageJson.dependencies).some((dependency) =>
|
|
56
|
-
dependency.includes("react"),
|
|
57
|
-
)) ||
|
|
58
|
-
(packageJson.devDependencies &&
|
|
59
|
-
Object.keys(packageJson.devDependencies).some((devDependency) =>
|
|
60
|
-
devDependency.includes("react"),
|
|
61
|
-
))
|
|
62
|
-
) {
|
|
63
|
-
return "browser";
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
return "neutral";
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
export const getProjectConfigFromProjectJsonPath = (
|
|
71
|
-
projectJsonPath: string,
|
|
72
|
-
packageJson: PackageJson,
|
|
73
|
-
): ProjectConfiguration => {
|
|
74
|
-
return getProjectConfigFromProjectRoot(dirname(projectJsonPath), packageJson);
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
export const getProjectConfigFromProjectRoot = (
|
|
78
|
-
projectRoot: string,
|
|
79
|
-
packageJson: PackageJson,
|
|
80
|
-
): ProjectConfiguration => {
|
|
81
|
-
const { nx, name } = packageJson;
|
|
82
|
-
const projectJson = readJsonFile(join(projectRoot, "project.json"));
|
|
83
|
-
|
|
84
|
-
return defu(nx ?? {}, projectJson, {
|
|
85
|
-
targets: {},
|
|
86
|
-
tags: [],
|
|
87
|
-
name,
|
|
88
|
-
root: projectRoot,
|
|
89
|
-
}) as ProjectConfiguration;
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
export const getProjectRoot = (
|
|
93
|
-
configPath: string,
|
|
94
|
-
workspaceRoot: string,
|
|
95
|
-
): string | null => {
|
|
96
|
-
try {
|
|
97
|
-
const root = dirname(configPath);
|
|
98
|
-
const projectRoot = join(workspaceRoot, root);
|
|
99
|
-
|
|
100
|
-
if (
|
|
101
|
-
!existsSync(join(projectRoot, "package.json")) &&
|
|
102
|
-
!existsSync(join(projectRoot, "project.json"))
|
|
103
|
-
) {
|
|
104
|
-
return null;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
return projectRoot;
|
|
108
|
-
} catch (error_) {
|
|
109
|
-
console.error(error_);
|
|
110
|
-
return null;
|
|
111
|
-
}
|
|
112
|
-
};
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { joinPaths } from "@storm-software/config-tools";
|
|
2
|
-
import { existsSync } from "node:fs";
|
|
3
|
-
import { readFile, writeFile } from "node:fs/promises";
|
|
4
|
-
import { format } from "prettier";
|
|
5
|
-
import readYamlFile from "read-yaml-file";
|
|
6
|
-
|
|
7
|
-
let pnpmCatalog!: Record<string, string>;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Update package.json dependencies to use pnpm catalog versions
|
|
11
|
-
*
|
|
12
|
-
* @param packageRoot - The root of the package
|
|
13
|
-
* @param workspaceRoot - The root of the workspace
|
|
14
|
-
*/
|
|
15
|
-
export async function pnpmCatalogUpdate(
|
|
16
|
-
packageRoot: string,
|
|
17
|
-
workspaceRoot: string = process.cwd(),
|
|
18
|
-
) {
|
|
19
|
-
if (!pnpmCatalog) {
|
|
20
|
-
const pnpmWorkspacePath = joinPaths(workspaceRoot, "pnpm-workspace.yaml");
|
|
21
|
-
if (!existsSync(pnpmWorkspacePath)) {
|
|
22
|
-
console.warn(
|
|
23
|
-
`No \`pnpm-workspace.yaml\` file found in workspace root (searching in: ${pnpmWorkspacePath}). Skipping pnpm catalog read for now.`,
|
|
24
|
-
);
|
|
25
|
-
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const pnpmWorkspaceYaml = await readYamlFile<{
|
|
30
|
-
catalog: Record<string, string>;
|
|
31
|
-
}>(pnpmWorkspacePath);
|
|
32
|
-
console.info(
|
|
33
|
-
`pnpmWorkspaceYaml: ${JSON.stringify(pnpmWorkspaceYaml ?? {})}`,
|
|
34
|
-
);
|
|
35
|
-
|
|
36
|
-
if (pnpmWorkspaceYaml?.catalog) {
|
|
37
|
-
pnpmCatalog = pnpmWorkspaceYaml.catalog;
|
|
38
|
-
} else {
|
|
39
|
-
console.warn(
|
|
40
|
-
`Found a \`pnpm-workspace.yaml\` file in the workspace root directory, but no pnpm catalog existed:
|
|
41
|
-
File name: ${pnpmWorkspacePath}
|
|
42
|
-
File contents: ${pnpmWorkspaceYaml ? JSON.stringify(pnpmWorkspaceYaml) : "EMPTY FILE"}`,
|
|
43
|
-
);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
if (!pnpmCatalog) {
|
|
48
|
-
console.warn(
|
|
49
|
-
`No pnpm catalog found. Attempting to read from workspace root's \`pnpm-workspace.yaml\` file.`,
|
|
50
|
-
);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
const packageJsonPath = joinPaths(packageRoot, "package.json");
|
|
54
|
-
const packageJsonFile = await readFile(packageJsonPath, "utf8");
|
|
55
|
-
if (!packageJsonFile) {
|
|
56
|
-
throw new Error(
|
|
57
|
-
"No package.json file found in package root: " + packageRoot,
|
|
58
|
-
);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
const packageJson = JSON.parse(packageJsonFile);
|
|
62
|
-
for (const dependencyType of [
|
|
63
|
-
"dependencies",
|
|
64
|
-
"devDependencies",
|
|
65
|
-
"peerDependencies",
|
|
66
|
-
]) {
|
|
67
|
-
const dependencies = packageJson[dependencyType];
|
|
68
|
-
if (!dependencies) {
|
|
69
|
-
continue;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
for (const dependencyName of Object.keys(dependencies)) {
|
|
73
|
-
if (dependencies[dependencyName] === "catalog:") {
|
|
74
|
-
if (!pnpmCatalog) {
|
|
75
|
-
throw new Error(
|
|
76
|
-
`Dependency ${dependencyName} is marked as \`catalog:\`, but no catalog exists in the workspace root's \`pnpm-workspace.yaml\` file.`,
|
|
77
|
-
);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
const catalogVersion = pnpmCatalog[dependencyName];
|
|
81
|
-
if (!catalogVersion) {
|
|
82
|
-
throw new Error("Missing pnpm catalog version for " + dependencyName);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
dependencies[dependencyName] = catalogVersion;
|
|
86
|
-
} else if (dependencies[dependencyName].startsWith("catalog:")) {
|
|
87
|
-
throw new Error("multiple named catalogs not supported");
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
return writeFile(
|
|
93
|
-
packageJsonPath,
|
|
94
|
-
await format(JSON.stringify(packageJson), {
|
|
95
|
-
parser: "json",
|
|
96
|
-
proseWrap: "always",
|
|
97
|
-
trailingComma: "none",
|
|
98
|
-
tabWidth: 2,
|
|
99
|
-
semi: true,
|
|
100
|
-
singleQuote: false,
|
|
101
|
-
quoteProps: "as-needed",
|
|
102
|
-
insertPragma: false,
|
|
103
|
-
bracketSameLine: true,
|
|
104
|
-
printWidth: 80,
|
|
105
|
-
bracketSpacing: true,
|
|
106
|
-
arrowParens: "avoid",
|
|
107
|
-
endOfLine: "lf",
|
|
108
|
-
plugins: ["prettier-plugin-pkg"],
|
|
109
|
-
}),
|
|
110
|
-
);
|
|
111
|
-
}
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { ProjectConfiguration } from "@nx/devkit";
|
|
2
|
-
import {
|
|
3
|
-
ProjectTagDistStyleValue,
|
|
4
|
-
ProjectTagLanguageValue,
|
|
5
|
-
ProjectTagPlatformValue,
|
|
6
|
-
ProjectTagRegistryValue,
|
|
7
|
-
ProjectTagTypeValue,
|
|
8
|
-
ProjectTagVariant,
|
|
9
|
-
} from "../types";
|
|
10
|
-
|
|
11
|
-
export const ProjectTagConstants = {
|
|
12
|
-
Language: {
|
|
13
|
-
TAG_ID: "language" as ProjectTagVariant,
|
|
14
|
-
|
|
15
|
-
TYPESCRIPT: "typescript" as ProjectTagLanguageValue,
|
|
16
|
-
RUST: "rust" as ProjectTagLanguageValue,
|
|
17
|
-
},
|
|
18
|
-
ProjectType: {
|
|
19
|
-
TAG_ID: "type" as ProjectTagVariant,
|
|
20
|
-
|
|
21
|
-
LIBRARY: "library" as ProjectTagTypeValue,
|
|
22
|
-
APPLICATION: "application" as ProjectTagTypeValue,
|
|
23
|
-
},
|
|
24
|
-
DistStyle: {
|
|
25
|
-
TAG_ID: "dist-style" as ProjectTagVariant,
|
|
26
|
-
|
|
27
|
-
NORMAL: "normal" as ProjectTagDistStyleValue,
|
|
28
|
-
CLEAN: "clean" as ProjectTagDistStyleValue,
|
|
29
|
-
},
|
|
30
|
-
Provider: {
|
|
31
|
-
TAG_ID: "provider" as ProjectTagVariant,
|
|
32
|
-
},
|
|
33
|
-
Platform: {
|
|
34
|
-
TAG_ID: "platform" as ProjectTagVariant,
|
|
35
|
-
|
|
36
|
-
NODE: "node" as ProjectTagPlatformValue,
|
|
37
|
-
BROWSER: "browser" as ProjectTagPlatformValue,
|
|
38
|
-
NEUTRAL: "neutral" as ProjectTagPlatformValue,
|
|
39
|
-
WORKER: "worker" as ProjectTagPlatformValue,
|
|
40
|
-
},
|
|
41
|
-
Registry: {
|
|
42
|
-
TAG_ID: "registry" as ProjectTagVariant,
|
|
43
|
-
|
|
44
|
-
CARGO: "cargo" as ProjectTagRegistryValue,
|
|
45
|
-
NPM: "npm" as ProjectTagRegistryValue,
|
|
46
|
-
CONTAINER: "container" as ProjectTagRegistryValue,
|
|
47
|
-
CYCLONE: "cyclone" as ProjectTagRegistryValue,
|
|
48
|
-
},
|
|
49
|
-
Plugin: {
|
|
50
|
-
TAG_ID: "plugin" as ProjectTagVariant,
|
|
51
|
-
},
|
|
52
|
-
} as const;
|
|
53
|
-
|
|
54
|
-
export const formatProjectTag = (variant: ProjectTagVariant, value: string) => {
|
|
55
|
-
return `${variant}:${value}`;
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
export const hasProjectTag = (
|
|
59
|
-
project: ProjectConfiguration,
|
|
60
|
-
variant: ProjectTagVariant,
|
|
61
|
-
) => {
|
|
62
|
-
project.tags = project.tags ?? [];
|
|
63
|
-
|
|
64
|
-
const prefix = formatProjectTag(variant, "");
|
|
65
|
-
return project.tags.some(
|
|
66
|
-
(tag) => tag.startsWith(prefix) && tag.length > prefix.length,
|
|
67
|
-
);
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
export const getProjectTag = (
|
|
71
|
-
project: ProjectConfiguration,
|
|
72
|
-
variant: ProjectTagVariant,
|
|
73
|
-
): string | undefined => {
|
|
74
|
-
if (!hasProjectTag(project, variant)) {
|
|
75
|
-
return undefined;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
project.tags = project.tags ?? [];
|
|
79
|
-
const prefix = formatProjectTag(variant, "");
|
|
80
|
-
const tag = project.tags.find((tag) => tag.startsWith(prefix));
|
|
81
|
-
|
|
82
|
-
return tag?.replace(prefix, "");
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
export const isEqualProjectTag = (
|
|
86
|
-
project: ProjectConfiguration,
|
|
87
|
-
variant: ProjectTagVariant,
|
|
88
|
-
value: string,
|
|
89
|
-
): boolean => {
|
|
90
|
-
const tag = getProjectTag(project, variant);
|
|
91
|
-
|
|
92
|
-
return !!(tag && tag?.toUpperCase() === value.toUpperCase());
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
export const addProjectTag = (
|
|
96
|
-
project: ProjectConfiguration,
|
|
97
|
-
variant: ProjectTagVariant,
|
|
98
|
-
value: string,
|
|
99
|
-
options: {
|
|
100
|
-
overwrite?: boolean;
|
|
101
|
-
} = {
|
|
102
|
-
overwrite: false,
|
|
103
|
-
},
|
|
104
|
-
) => {
|
|
105
|
-
project.tags = project.tags ?? [];
|
|
106
|
-
if (options.overwrite || !hasProjectTag(project, variant)) {
|
|
107
|
-
project.tags = project.tags.filter(
|
|
108
|
-
(tag) => !tag.startsWith(formatProjectTag(variant, "")),
|
|
109
|
-
);
|
|
110
|
-
project.tags.push(formatProjectTag(variant, value));
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
export const addPluginProjectTag = (
|
|
115
|
-
project: ProjectConfiguration,
|
|
116
|
-
plugin: string,
|
|
117
|
-
) => {
|
|
118
|
-
project.tags = project.tags ?? [];
|
|
119
|
-
project.tags.push(
|
|
120
|
-
formatProjectTag(ProjectTagConstants.Plugin.TAG_ID, plugin),
|
|
121
|
-
);
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
export const setDefaultProjectTags = (
|
|
125
|
-
project: ProjectConfiguration,
|
|
126
|
-
plugin?: string,
|
|
127
|
-
) => {
|
|
128
|
-
project.tags = project.tags ?? [];
|
|
129
|
-
|
|
130
|
-
addProjectTag(
|
|
131
|
-
project,
|
|
132
|
-
ProjectTagConstants.ProjectType.TAG_ID,
|
|
133
|
-
project.projectType === "application"
|
|
134
|
-
? ProjectTagConstants.ProjectType.APPLICATION
|
|
135
|
-
: ProjectTagConstants.ProjectType.LIBRARY,
|
|
136
|
-
{ overwrite: true },
|
|
137
|
-
);
|
|
138
|
-
addProjectTag(
|
|
139
|
-
project,
|
|
140
|
-
ProjectTagConstants.DistStyle.TAG_ID,
|
|
141
|
-
project.targets && Object.keys(project.targets).includes("clean-package")
|
|
142
|
-
? ProjectTagConstants.DistStyle.CLEAN
|
|
143
|
-
: ProjectTagConstants.DistStyle.NORMAL,
|
|
144
|
-
{ overwrite: true },
|
|
145
|
-
);
|
|
146
|
-
addProjectTag(
|
|
147
|
-
project,
|
|
148
|
-
ProjectTagConstants.Platform.TAG_ID,
|
|
149
|
-
project.targets?.build?.options.platform === "node"
|
|
150
|
-
? ProjectTagConstants.Platform.NODE
|
|
151
|
-
: project.targets?.build?.options.platform === "worker"
|
|
152
|
-
? ProjectTagConstants.Platform.WORKER
|
|
153
|
-
: project.targets?.build?.options.platform === "browser"
|
|
154
|
-
? ProjectTagConstants.Platform.BROWSER
|
|
155
|
-
: ProjectTagConstants.Platform.NEUTRAL,
|
|
156
|
-
{ overwrite: false },
|
|
157
|
-
);
|
|
158
|
-
|
|
159
|
-
if (plugin) {
|
|
160
|
-
addPluginProjectTag(project, plugin);
|
|
161
|
-
}
|
|
162
|
-
};
|