@storm-software/workspace-tools 1.118.0 → 1.120.0
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 +16 -0
- package/README.md +43 -8
- package/declarations.d.ts +66 -0
- package/executors.json +5 -0
- package/index.js +11989 -5321
- package/meta.json +1 -1
- package/package.json +3 -1
- package/packages/config/src/schema.d.ts +2 -2
- package/packages/workspace-tools/index.d.ts +2 -0
- package/packages/workspace-tools/src/base/base-executor.d.ts +2 -4
- package/packages/workspace-tools/src/base/typescript-library-generator.d.ts +2 -14
- package/packages/workspace-tools/src/executors/clean-package/constants.d.ts +4 -0
- package/packages/workspace-tools/src/executors/clean-package/executor.d.ts +8 -0
- package/packages/workspace-tools/src/executors/clean-package/types.d.ts +8 -0
- package/packages/workspace-tools/src/executors/clean-package/utils.d.ts +4 -0
- package/packages/workspace-tools/src/executors/rolldown/executor.d.ts +1 -3
- package/packages/workspace-tools/src/executors/tsup/executor.d.ts +1 -3
- package/packages/workspace-tools/src/executors/tsup-browser/executor.d.ts +1 -3
- package/packages/workspace-tools/src/executors/tsup-neutral/executor.d.ts +1 -3
- package/packages/workspace-tools/src/executors/tsup-node/executor.d.ts +1 -3
- package/packages/workspace-tools/src/executors/typia/executor.d.ts +1 -3
- package/packages/workspace-tools/src/executors/unbuild/executor.d.ts +1 -3
- package/packages/workspace-tools/src/generators/browser-library/generator.d.ts +1 -1
- package/packages/workspace-tools/src/generators/neutral-library/generator.d.ts +1 -1
- package/packages/workspace-tools/src/generators/node-library/generator.d.ts +1 -1
- package/packages/workspace-tools/src/plugins/typescript/project-config.d.ts +1 -1
- package/packages/workspace-tools/src/utils/index.d.ts +1 -0
- package/packages/workspace-tools/src/utils/project-tags.d.ts +30 -0
- package/src/base/index.js +4 -2
- package/src/executors/clean-package/executor.js +80083 -0
- package/src/executors/clean-package/schema.d.ts +10 -0
- package/src/executors/clean-package/schema.json +41 -0
- package/src/executors/rolldown/executor.js +4 -2
- package/src/executors/tsup/executor.js +4 -2
- package/src/executors/tsup-browser/executor.js +4 -2
- package/src/executors/tsup-neutral/executor.js +4 -2
- package/src/executors/tsup-node/executor.js +4 -2
- package/src/executors/typia/executor.js +4 -2
- package/src/executors/unbuild/executor.js +4 -2
- package/src/generators/browser-library/generator.js +10 -3
- package/src/generators/config-schema/generator.js +2 -1
- package/src/generators/neutral-library/generator.js +2 -1
- package/src/generators/neutral-library/schema.d.ts +1 -1
- package/src/generators/node-library/generator.js +5 -2
- package/src/generators/preset/files/.github/workflows/dependabot-update.yml +32 -0
- package/src/generators/preset/generator.js +2 -1
- package/src/generators/release-version/generator.js +2 -1
- package/src/plugins/rust/index.js +90 -7
- package/src/plugins/typescript/index.js +100 -1
- package/src/utils/index.js +87 -1
- package/src/generators/preset/files/.github/workflows/dependabot-approve.yml +0 -24
|
@@ -29,6 +29,79 @@ var import_node_fs = require("node:fs");
|
|
|
29
29
|
var import_node_path = require("node:path");
|
|
30
30
|
var import_fileutils = require("nx/src/utils/fileutils");
|
|
31
31
|
var import_package_json = require("nx/src/utils/package-json");
|
|
32
|
+
|
|
33
|
+
// packages/workspace-tools/src/utils/project-tags.ts
|
|
34
|
+
var ProjectTagConstants = {
|
|
35
|
+
Language: {
|
|
36
|
+
TAG_ID: "language",
|
|
37
|
+
TYPESCRIPT: "typescript",
|
|
38
|
+
RUST: "rust"
|
|
39
|
+
},
|
|
40
|
+
ProjectType: {
|
|
41
|
+
TAG_ID: "type",
|
|
42
|
+
LIBRARY: "library",
|
|
43
|
+
APPLICATION: "application"
|
|
44
|
+
},
|
|
45
|
+
DistStyle: {
|
|
46
|
+
TAG_ID: "dist-style",
|
|
47
|
+
NORMAL: "normal",
|
|
48
|
+
CLEAN: "clean"
|
|
49
|
+
},
|
|
50
|
+
Provider: {
|
|
51
|
+
TAG_ID: "provider"
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
var formatProjectTag = (variant, value) => {
|
|
55
|
+
return `${variant}:${value}`;
|
|
56
|
+
};
|
|
57
|
+
var hasProjectTag = (project, variant) => {
|
|
58
|
+
project.tags = project.tags ?? [];
|
|
59
|
+
const prefix = formatProjectTag(variant, "");
|
|
60
|
+
return project.tags.some(
|
|
61
|
+
(tag) => tag.startsWith(prefix) && tag.length > prefix.length
|
|
62
|
+
);
|
|
63
|
+
};
|
|
64
|
+
var getProjectTag = (project, variant) => {
|
|
65
|
+
if (!hasProjectTag(project, variant)) {
|
|
66
|
+
return void 0;
|
|
67
|
+
}
|
|
68
|
+
project.tags = project.tags ?? [];
|
|
69
|
+
const prefix = formatProjectTag(variant, "");
|
|
70
|
+
const tag = project.tags.find((tag2) => tag2.startsWith(prefix));
|
|
71
|
+
return tag?.replace(prefix, "");
|
|
72
|
+
};
|
|
73
|
+
var isEqualProjectTag = (project, variant, value) => {
|
|
74
|
+
const tag = getProjectTag(project, variant);
|
|
75
|
+
return !!(tag && tag?.toUpperCase() === value.toUpperCase());
|
|
76
|
+
};
|
|
77
|
+
var addProjectTag = (project, variant, value, options = {
|
|
78
|
+
overwrite: false
|
|
79
|
+
}) => {
|
|
80
|
+
project.tags = project.tags ?? [];
|
|
81
|
+
if (options.overwrite || !hasProjectTag(project, variant)) {
|
|
82
|
+
project.tags = project.tags.filter(
|
|
83
|
+
(tag) => !tag.startsWith(formatProjectTag(variant, ""))
|
|
84
|
+
);
|
|
85
|
+
project.tags.push(formatProjectTag(variant, value));
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
var setDefaultProjectTags = (project) => {
|
|
89
|
+
project.tags = project.tags ?? [];
|
|
90
|
+
addProjectTag(
|
|
91
|
+
project,
|
|
92
|
+
ProjectTagConstants.ProjectType.TAG_ID,
|
|
93
|
+
project.projectType === "application" ? ProjectTagConstants.ProjectType.APPLICATION : ProjectTagConstants.ProjectType.LIBRARY,
|
|
94
|
+
{ overwrite: true }
|
|
95
|
+
);
|
|
96
|
+
addProjectTag(
|
|
97
|
+
project,
|
|
98
|
+
ProjectTagConstants.DistStyle.TAG_ID,
|
|
99
|
+
project.targets && Object.keys(project.targets).includes("clean-package") ? ProjectTagConstants.DistStyle.CLEAN : ProjectTagConstants.DistStyle.NORMAL,
|
|
100
|
+
{ overwrite: true }
|
|
101
|
+
);
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
// packages/workspace-tools/src/plugins/typescript/project-config.ts
|
|
32
105
|
var name = "storm-software/typescript/project-config";
|
|
33
106
|
var createNodes = [
|
|
34
107
|
"{project.json,**/project.json}",
|
|
@@ -168,11 +241,37 @@ var createNodes = [
|
|
|
168
241
|
executor: "@storm-software/workspace-tools:npm-publish",
|
|
169
242
|
options: {}
|
|
170
243
|
};
|
|
244
|
+
if (project.projectType === "application" || isEqualProjectTag(
|
|
245
|
+
project,
|
|
246
|
+
ProjectTagConstants.ProjectType.TAG_ID,
|
|
247
|
+
ProjectTagConstants.ProjectType.APPLICATION
|
|
248
|
+
) || isEqualProjectTag(
|
|
249
|
+
project,
|
|
250
|
+
ProjectTagConstants.DistStyle.TAG_ID,
|
|
251
|
+
ProjectTagConstants.DistStyle.CLEAN
|
|
252
|
+
)) {
|
|
253
|
+
targets["clean-package"] = {
|
|
254
|
+
cache: false,
|
|
255
|
+
dependsOn: ["build"],
|
|
256
|
+
executor: "@storm-software/workspace-tools:clean-package",
|
|
257
|
+
options: {
|
|
258
|
+
cleanReadMe: true,
|
|
259
|
+
cleanComments: true
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
targets["nx-release-publish"].dependsOn = ["clean-package"];
|
|
263
|
+
}
|
|
171
264
|
}
|
|
265
|
+
addProjectTag(
|
|
266
|
+
project,
|
|
267
|
+
ProjectTagConstants.Language.TAG_ID,
|
|
268
|
+
ProjectTagConstants.Language.TYPESCRIPT,
|
|
269
|
+
{ overwrite: true }
|
|
270
|
+
);
|
|
271
|
+
setDefaultProjectTags(project);
|
|
172
272
|
return project?.name ? {
|
|
173
273
|
projects: {
|
|
174
274
|
[project.name]: {
|
|
175
|
-
tags: ["language:typescript"],
|
|
176
275
|
...project,
|
|
177
276
|
targets,
|
|
178
277
|
release: {
|
package/src/utils/index.js
CHANGED
|
@@ -65395,7 +65395,7 @@ var init_schema = __esm({
|
|
|
65395
65395
|
ci: z2.boolean().default(true).describe(
|
|
65396
65396
|
"An indicator specifying if the current environment is a CI environment"
|
|
65397
65397
|
),
|
|
65398
|
-
workspaceRoot: z2.string().trim().
|
|
65398
|
+
workspaceRoot: z2.string().trim().default("").describe("The root directory of the workspace"),
|
|
65399
65399
|
packageDirectory: z2.string().trim().optional().describe("The root directory of the package"),
|
|
65400
65400
|
externalPackagePatterns: z2.array(z2.string()).default([]).describe(
|
|
65401
65401
|
"The build will use these package patterns to determine if they should be external to the bundle"
|
|
@@ -68041,6 +68041,7 @@ var init_create_storm_config = __esm({
|
|
|
68041
68041
|
...config.colors
|
|
68042
68042
|
}
|
|
68043
68043
|
});
|
|
68044
|
+
result.workspaceRoot ??= defaultConfig.workspaceRoot ? defaultConfig.workspaceRoot : findWorkspaceRoot(workspaceRoot3);
|
|
68044
68045
|
} else {
|
|
68045
68046
|
result = _static_cache;
|
|
68046
68047
|
}
|
|
@@ -296571,8 +296572,10 @@ __export(utils_exports, {
|
|
|
296571
296572
|
NPM_LOCK_PATH: () => NPM_LOCK_PATH,
|
|
296572
296573
|
PNPM_LOCK_FILE: () => PNPM_LOCK_FILE,
|
|
296573
296574
|
PNPM_LOCK_PATH: () => PNPM_LOCK_PATH,
|
|
296575
|
+
ProjectTagConstants: () => ProjectTagConstants,
|
|
296574
296576
|
YARN_LOCK_FILE: () => YARN_LOCK_FILE,
|
|
296575
296577
|
YARN_LOCK_PATH: () => YARN_LOCK_PATH,
|
|
296578
|
+
addProjectTag: () => addProjectTag,
|
|
296576
296579
|
applyWorkspaceExecutorTokens: () => applyWorkspaceExecutorTokens,
|
|
296577
296580
|
cargoCommand: () => cargoCommand,
|
|
296578
296581
|
cargoCommandSync: () => cargoCommandSync,
|
|
@@ -296581,12 +296584,16 @@ __export(utils_exports, {
|
|
|
296581
296584
|
childProcess: () => childProcess2,
|
|
296582
296585
|
createCliOptions: () => createCliOptions,
|
|
296583
296586
|
eslintVersion: () => eslintVersion,
|
|
296587
|
+
formatProjectTag: () => formatProjectTag,
|
|
296584
296588
|
getLockFileDependencies: () => getLockFileDependencies,
|
|
296585
296589
|
getLockFileName: () => getLockFileName,
|
|
296586
296590
|
getLockFileNodes: () => getLockFileNodes,
|
|
296587
296591
|
getProjectConfiguration: () => getProjectConfiguration,
|
|
296588
296592
|
getProjectConfigurations: () => getProjectConfigurations,
|
|
296593
|
+
getProjectTag: () => getProjectTag,
|
|
296589
296594
|
getTypiaTransform: () => getTypiaTransform,
|
|
296595
|
+
hasProjectTag: () => hasProjectTag,
|
|
296596
|
+
isEqualProjectTag: () => isEqualProjectTag,
|
|
296590
296597
|
isExternal: () => isExternal,
|
|
296591
296598
|
lintStagedVersion: () => lintStagedVersion,
|
|
296592
296599
|
lockFileExists: () => lockFileExists,
|
|
@@ -296602,6 +296609,7 @@ __export(utils_exports, {
|
|
|
296602
296609
|
prettierVersion: () => prettierVersion,
|
|
296603
296610
|
runProcess: () => runProcess,
|
|
296604
296611
|
semanticReleaseVersion: () => semanticReleaseVersion,
|
|
296612
|
+
setDefaultProjectTags: () => setDefaultProjectTags,
|
|
296605
296613
|
stringifyCargoToml: () => stringifyCargoToml,
|
|
296606
296614
|
swcCliVersion: () => swcCliVersion,
|
|
296607
296615
|
swcCoreVersion: () => swcCoreVersion,
|
|
@@ -299830,6 +299838,77 @@ function createCliOptions(obj) {
|
|
|
299830
299838
|
}
|
|
299831
299839
|
return args;
|
|
299832
299840
|
}
|
|
299841
|
+
|
|
299842
|
+
// packages/workspace-tools/src/utils/project-tags.ts
|
|
299843
|
+
var ProjectTagConstants = {
|
|
299844
|
+
Language: {
|
|
299845
|
+
TAG_ID: "language",
|
|
299846
|
+
TYPESCRIPT: "typescript",
|
|
299847
|
+
RUST: "rust"
|
|
299848
|
+
},
|
|
299849
|
+
ProjectType: {
|
|
299850
|
+
TAG_ID: "type",
|
|
299851
|
+
LIBRARY: "library",
|
|
299852
|
+
APPLICATION: "application"
|
|
299853
|
+
},
|
|
299854
|
+
DistStyle: {
|
|
299855
|
+
TAG_ID: "dist-style",
|
|
299856
|
+
NORMAL: "normal",
|
|
299857
|
+
CLEAN: "clean"
|
|
299858
|
+
},
|
|
299859
|
+
Provider: {
|
|
299860
|
+
TAG_ID: "provider"
|
|
299861
|
+
}
|
|
299862
|
+
};
|
|
299863
|
+
var formatProjectTag = (variant, value2) => {
|
|
299864
|
+
return `${variant}:${value2}`;
|
|
299865
|
+
};
|
|
299866
|
+
var hasProjectTag = (project, variant) => {
|
|
299867
|
+
project.tags = project.tags ?? [];
|
|
299868
|
+
const prefix = formatProjectTag(variant, "");
|
|
299869
|
+
return project.tags.some(
|
|
299870
|
+
(tag) => tag.startsWith(prefix) && tag.length > prefix.length
|
|
299871
|
+
);
|
|
299872
|
+
};
|
|
299873
|
+
var getProjectTag = (project, variant) => {
|
|
299874
|
+
if (!hasProjectTag(project, variant)) {
|
|
299875
|
+
return void 0;
|
|
299876
|
+
}
|
|
299877
|
+
project.tags = project.tags ?? [];
|
|
299878
|
+
const prefix = formatProjectTag(variant, "");
|
|
299879
|
+
const tag = project.tags.find((tag2) => tag2.startsWith(prefix));
|
|
299880
|
+
return tag?.replace(prefix, "");
|
|
299881
|
+
};
|
|
299882
|
+
var isEqualProjectTag = (project, variant, value2) => {
|
|
299883
|
+
const tag = getProjectTag(project, variant);
|
|
299884
|
+
return !!(tag && tag?.toUpperCase() === value2.toUpperCase());
|
|
299885
|
+
};
|
|
299886
|
+
var addProjectTag = (project, variant, value2, options = {
|
|
299887
|
+
overwrite: false
|
|
299888
|
+
}) => {
|
|
299889
|
+
project.tags = project.tags ?? [];
|
|
299890
|
+
if (options.overwrite || !hasProjectTag(project, variant)) {
|
|
299891
|
+
project.tags = project.tags.filter(
|
|
299892
|
+
(tag) => !tag.startsWith(formatProjectTag(variant, ""))
|
|
299893
|
+
);
|
|
299894
|
+
project.tags.push(formatProjectTag(variant, value2));
|
|
299895
|
+
}
|
|
299896
|
+
};
|
|
299897
|
+
var setDefaultProjectTags = (project) => {
|
|
299898
|
+
project.tags = project.tags ?? [];
|
|
299899
|
+
addProjectTag(
|
|
299900
|
+
project,
|
|
299901
|
+
ProjectTagConstants.ProjectType.TAG_ID,
|
|
299902
|
+
project.projectType === "application" ? ProjectTagConstants.ProjectType.APPLICATION : ProjectTagConstants.ProjectType.LIBRARY,
|
|
299903
|
+
{ overwrite: true }
|
|
299904
|
+
);
|
|
299905
|
+
addProjectTag(
|
|
299906
|
+
project,
|
|
299907
|
+
ProjectTagConstants.DistStyle.TAG_ID,
|
|
299908
|
+
project.targets && Object.keys(project.targets).includes("clean-package") ? ProjectTagConstants.DistStyle.CLEAN : ProjectTagConstants.DistStyle.NORMAL,
|
|
299909
|
+
{ overwrite: true }
|
|
299910
|
+
);
|
|
299911
|
+
};
|
|
299833
299912
|
// Annotate the CommonJS export names for ESM import in node:
|
|
299834
299913
|
0 && (module.exports = {
|
|
299835
299914
|
LOCK_FILES,
|
|
@@ -299837,8 +299916,10 @@ function createCliOptions(obj) {
|
|
|
299837
299916
|
NPM_LOCK_PATH,
|
|
299838
299917
|
PNPM_LOCK_FILE,
|
|
299839
299918
|
PNPM_LOCK_PATH,
|
|
299919
|
+
ProjectTagConstants,
|
|
299840
299920
|
YARN_LOCK_FILE,
|
|
299841
299921
|
YARN_LOCK_PATH,
|
|
299922
|
+
addProjectTag,
|
|
299842
299923
|
applyWorkspaceExecutorTokens,
|
|
299843
299924
|
cargoCommand,
|
|
299844
299925
|
cargoCommandSync,
|
|
@@ -299847,12 +299928,16 @@ function createCliOptions(obj) {
|
|
|
299847
299928
|
childProcess,
|
|
299848
299929
|
createCliOptions,
|
|
299849
299930
|
eslintVersion,
|
|
299931
|
+
formatProjectTag,
|
|
299850
299932
|
getLockFileDependencies,
|
|
299851
299933
|
getLockFileName,
|
|
299852
299934
|
getLockFileNodes,
|
|
299853
299935
|
getProjectConfiguration,
|
|
299854
299936
|
getProjectConfigurations,
|
|
299937
|
+
getProjectTag,
|
|
299855
299938
|
getTypiaTransform,
|
|
299939
|
+
hasProjectTag,
|
|
299940
|
+
isEqualProjectTag,
|
|
299856
299941
|
isExternal,
|
|
299857
299942
|
lintStagedVersion,
|
|
299858
299943
|
lockFileExists,
|
|
@@ -299868,6 +299953,7 @@ function createCliOptions(obj) {
|
|
|
299868
299953
|
prettierVersion,
|
|
299869
299954
|
runProcess,
|
|
299870
299955
|
semanticReleaseVersion,
|
|
299956
|
+
setDefaultProjectTags,
|
|
299871
299957
|
stringifyCargoToml,
|
|
299872
299958
|
swcCliVersion,
|
|
299873
299959
|
swcCoreVersion,
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# https://stackoverflow.com/q/70664840/590396
|
|
2
|
-
name: Dependabot auto-approve
|
|
3
|
-
on: pull_request_target
|
|
4
|
-
|
|
5
|
-
permissions:
|
|
6
|
-
contents: write
|
|
7
|
-
pull-requests: write
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
dependabot:
|
|
11
|
-
runs-on: ubuntu-latest
|
|
12
|
-
if: ${{ github.actor == 'dependabot[bot]' || github.actor == 'renovate[bot]' || github.actor == 'Stormie-Bot' }}
|
|
13
|
-
steps:
|
|
14
|
-
- name: Approve a PR
|
|
15
|
-
run: gh pr review --approve "$PR_URL"
|
|
16
|
-
env:
|
|
17
|
-
PR_URL: ${{github.event.pull_request.html_url}}
|
|
18
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
19
|
-
|
|
20
|
-
- name: Enable auto-merge for Dependabot PRs
|
|
21
|
-
run: gh pr merge --auto --squash "$PR_URL"
|
|
22
|
-
env:
|
|
23
|
-
PR_URL: ${{github.event.pull_request.html_url}}
|
|
24
|
-
GITHUB_TOKEN: ${{ secrets.STORM_BOT_GITHUB_TOKEN }}
|