@storm-software/workspace-tools 1.204.0 → 1.206.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.
Files changed (39) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/declarations.d.ts +4 -2
  3. package/index.js +22670 -18654
  4. package/meta.json +522 -446
  5. package/package.json +3 -2
  6. package/src/base/base-executor.js +9 -2
  7. package/src/base/base-generator.js +9 -2
  8. package/src/base/index.js +12 -2
  9. package/src/base/typescript-library-generator.js +3 -0
  10. package/src/executors/cargo-build/executor.js +9 -2
  11. package/src/executors/cargo-check/executor.js +9 -2
  12. package/src/executors/cargo-clippy/executor.js +9 -2
  13. package/src/executors/cargo-doc/executor.js +9 -2
  14. package/src/executors/cargo-format/executor.js +9 -2
  15. package/src/executors/clean-package/executor.js +9 -2
  16. package/src/executors/rolldown/executor.js +9 -2
  17. package/src/executors/rollup/executor.js +19813 -15811
  18. package/src/executors/size-limit/executor.js +9 -2
  19. package/src/executors/tsup/executor.js +9 -2
  20. package/src/executors/tsup-browser/executor.js +9 -2
  21. package/src/executors/tsup-neutral/executor.js +9 -2
  22. package/src/executors/tsup-node/executor.js +9 -2
  23. package/src/executors/typia/executor.js +9 -2
  24. package/src/executors/unbuild/executor.js +9 -2
  25. package/src/generators/browser-library/generator.js +12 -2
  26. package/src/generators/config-schema/generator.js +9 -2
  27. package/src/generators/neutral-library/generator.js +12 -2
  28. package/src/generators/node-library/generator.js +12 -2
  29. package/src/generators/preset/generator.js +9 -2
  30. package/src/generators/release-version/generator.js +9 -2
  31. package/src/plugins/rust/cargo-toml.d.ts +1 -1
  32. package/src/plugins/rust/index.js +15 -3
  33. package/src/plugins/typescript/index.js +15 -3
  34. package/src/plugins/typescript/project-config.d.ts +1 -1
  35. package/src/plugins/typescript/tsup.d.ts +3 -0
  36. package/src/plugins/typescript/tsup.js +232 -0
  37. package/src/utils/index.js +24 -3
  38. package/src/utils/project-tags.d.ts +5 -1
  39. package/src/utils/project-tags.js +15 -1
@@ -0,0 +1,232 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name2 in all)
7
+ __defProp(target, name2, { get: all[name2], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // packages/workspace-tools/src/plugins/typescript/tsup.ts
20
+ var tsup_exports = {};
21
+ __export(tsup_exports, {
22
+ createNodes: () => createNodes,
23
+ name: () => name
24
+ });
25
+ module.exports = __toCommonJS(tsup_exports);
26
+ var import_devkit = require("@nx/devkit");
27
+ var import_node_fs = require("node:fs");
28
+ var import_node_path = require("node:path");
29
+ var import_nx_json = require("nx/src/config/nx-json.js");
30
+ var import_package_json = require("nx/src/utils/package-json");
31
+
32
+ // packages/workspace-tools/src/utils/project-tags.ts
33
+ var ProjectTagConstants = {
34
+ Language: {
35
+ TAG_ID: "language",
36
+ TYPESCRIPT: "typescript",
37
+ RUST: "rust"
38
+ },
39
+ ProjectType: {
40
+ TAG_ID: "type",
41
+ LIBRARY: "library",
42
+ APPLICATION: "application"
43
+ },
44
+ DistStyle: {
45
+ TAG_ID: "dist-style",
46
+ NORMAL: "normal",
47
+ CLEAN: "clean"
48
+ },
49
+ Provider: {
50
+ TAG_ID: "provider"
51
+ },
52
+ Platform: {
53
+ TAG_ID: "platform",
54
+ NODE: "node",
55
+ BROWSER: "browser",
56
+ NEUTRAL: "neutral",
57
+ WORKER: "worker"
58
+ },
59
+ Registry: {
60
+ TAG_ID: "registry",
61
+ CARGO: "cargo",
62
+ NPM: "npm",
63
+ CONTAINER: "container",
64
+ CYCLONE: "cyclone"
65
+ },
66
+ Plugin: {
67
+ TAG_ID: "plugin"
68
+ }
69
+ };
70
+ var formatProjectTag = (variant, value) => {
71
+ return `${variant}:${value}`;
72
+ };
73
+ var hasProjectTag = (project, variant) => {
74
+ project.tags = project.tags ?? [];
75
+ const prefix = formatProjectTag(variant, "");
76
+ return project.tags.some(
77
+ (tag) => tag.startsWith(prefix) && tag.length > prefix.length
78
+ );
79
+ };
80
+ var addProjectTag = (project, variant, value, options = {
81
+ overwrite: false
82
+ }) => {
83
+ project.tags = project.tags ?? [];
84
+ if (options.overwrite || !hasProjectTag(project, variant)) {
85
+ project.tags = project.tags.filter(
86
+ (tag) => !tag.startsWith(formatProjectTag(variant, ""))
87
+ );
88
+ project.tags.push(formatProjectTag(variant, value));
89
+ }
90
+ };
91
+ var addPluginProjectTag = (project, plugin) => {
92
+ project.tags = project.tags ?? [];
93
+ project.tags.push(
94
+ formatProjectTag(ProjectTagConstants.Plugin.TAG_ID, plugin)
95
+ );
96
+ };
97
+ var setDefaultProjectTags = (project, plugin) => {
98
+ project.tags = project.tags ?? [];
99
+ addProjectTag(
100
+ project,
101
+ ProjectTagConstants.ProjectType.TAG_ID,
102
+ project.projectType === "application" ? ProjectTagConstants.ProjectType.APPLICATION : ProjectTagConstants.ProjectType.LIBRARY,
103
+ { overwrite: true }
104
+ );
105
+ addProjectTag(
106
+ project,
107
+ ProjectTagConstants.DistStyle.TAG_ID,
108
+ project.targets && Object.keys(project.targets).includes("clean-package") ? ProjectTagConstants.DistStyle.CLEAN : ProjectTagConstants.DistStyle.NORMAL,
109
+ { overwrite: true }
110
+ );
111
+ addProjectTag(
112
+ project,
113
+ ProjectTagConstants.Platform.TAG_ID,
114
+ project.targets?.build?.options.platform === "node" ? ProjectTagConstants.Platform.NODE : project.targets?.build?.options.platform === "worker" ? ProjectTagConstants.Platform.WORKER : project.targets?.build?.options.platform === "browser" ? ProjectTagConstants.Platform.BROWSER : ProjectTagConstants.Platform.NEUTRAL,
115
+ { overwrite: false }
116
+ );
117
+ if (plugin) {
118
+ addPluginProjectTag(project, plugin);
119
+ }
120
+ };
121
+
122
+ // packages/workspace-tools/src/plugins/typescript/tsup.ts
123
+ var name = "storm-software/typescript/tsup";
124
+ var createNodes = [
125
+ "**/tsup.config.{,c,m}{j,t}s",
126
+ (file, opts, ctx) => {
127
+ const projectRoot = createProjectRoot(file, ctx.workspaceRoot);
128
+ if (!projectRoot) {
129
+ console.error(
130
+ `tsup.config.ts file must be location in the project root directory: ${file}`
131
+ );
132
+ return {};
133
+ }
134
+ const packageJson = (0, import_devkit.readJsonFile)((0, import_node_path.join)(projectRoot, "package.json"));
135
+ if (!packageJson) {
136
+ console.error(`No package.json found in project root: ${projectRoot}`);
137
+ return {};
138
+ }
139
+ if (!packageJson.devDependencies?.tsup && !packageJson.dependencies?.tsup) {
140
+ console.warn(
141
+ `No "tsup" dependency or devDependency found in package.json: ${file}
142
+ Please add it to your dependencies by running "pnpm add tsup -D --filter="${packageJson.name}"`
143
+ );
144
+ }
145
+ const project = createProjectFromPackageJsonNextToProjectJson(
146
+ (0, import_node_path.join)(projectRoot, "project.json"),
147
+ packageJson
148
+ );
149
+ const nxJson = (0, import_nx_json.readNxJson)(ctx.workspaceRoot);
150
+ const targets = (0, import_package_json.readTargetsFromPackageJson)(
151
+ packageJson,
152
+ nxJson
153
+ );
154
+ if (!targets.build) {
155
+ targets["build-base"] = {
156
+ cache: true,
157
+ inputs: [file, "typescript", "^production"],
158
+ outputs: ["{workspaceRoot}/{projectRoot}/dist"],
159
+ executor: "nx:run-commands",
160
+ dependsOn: ["clean", "^build"],
161
+ options: {
162
+ command: `tsup --config="${file}"`,
163
+ cwd: "{projectRoot}"
164
+ }
165
+ };
166
+ targets.build = {
167
+ cache: true,
168
+ inputs: ["typescript", "^production"],
169
+ outputs: ["{workspaceRoot}/dist/{projectRoot}"],
170
+ executor: "nx:run-commands",
171
+ dependsOn: ["build-base"],
172
+ options: {
173
+ commands: [
174
+ `pnpm copyfiles LICENSE dist/${projectRoot}`,
175
+ `pnpm copyfiles --up=2 ./${projectRoot}/README.md ./${projectRoot}/package.json dist/${projectRoot}`,
176
+ `pnpm copyfiles --up=3 ./${projectRoot}/dist/* dist/${projectRoot}/dist`
177
+ ]
178
+ }
179
+ };
180
+ }
181
+ if (!targets.clean) {
182
+ targets.clean = {
183
+ cache: true,
184
+ executor: "nx:run-commands",
185
+ inputs: ["typescript", "^production"],
186
+ outputs: ["{workspaceRoot}/dist/{projectRoot}"],
187
+ options: {
188
+ command: "pnpm exec rimraf dist/{projectRoot}",
189
+ color: true,
190
+ cwd: "{workspaceRoot}"
191
+ }
192
+ };
193
+ }
194
+ setDefaultProjectTags(project, name);
195
+ return project?.name ? {
196
+ projects: {
197
+ [project.name]: {
198
+ ...project,
199
+ targets
200
+ }
201
+ }
202
+ } : {};
203
+ }
204
+ ];
205
+ function createProjectFromPackageJsonNextToProjectJson(projectJsonPath, packageJson) {
206
+ const { nx, name: name2 } = packageJson;
207
+ const root = (0, import_node_path.dirname)(projectJsonPath);
208
+ return {
209
+ ...nx,
210
+ name: name2,
211
+ root,
212
+ targets: {}
213
+ };
214
+ }
215
+ function createProjectRoot(configPath, workspaceRoot) {
216
+ try {
217
+ const root = (0, import_node_path.dirname)(configPath);
218
+ const projectRoot = (0, import_node_path.join)(workspaceRoot, root);
219
+ if (!(0, import_node_fs.existsSync)((0, import_node_path.join)(projectRoot, "package.json")) && !(0, import_node_fs.existsSync)((0, import_node_path.join)(projectRoot, "project.json"))) {
220
+ return null;
221
+ }
222
+ return projectRoot;
223
+ } catch (e) {
224
+ console.error(e);
225
+ return null;
226
+ }
227
+ }
228
+ // Annotate the CommonJS export names for ESM import in node:
229
+ 0 && (module.exports = {
230
+ createNodes,
231
+ name
232
+ });
@@ -66426,7 +66426,9 @@ var init_schema = __esm({
66426
66426
  runtimeVersion: z3.string().trim().regex(
66427
66427
  /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/
66428
66428
  ).default("1.0.0").describe("The global version of the Storm runtime"),
66429
- packageManager: z3.enum(["npm", "yarn", "pnpm", "bun"]).default("pnpm").describe("The package manager used by the repository"),
66429
+ packageManager: z3.enum(["npm", "yarn", "pnpm", "bun"]).default("npm").describe(
66430
+ "The JavaScript/TypeScript package manager used by the repository"
66431
+ ),
66430
66432
  timezone: z3.string().trim().default("America/New_York").describe("The default timezone of the workspace"),
66431
66433
  locale: z3.string().trim().default("en-US").describe("The default locale of the workspace"),
66432
66434
  logLevel: z3.enum([
@@ -66630,7 +66632,7 @@ var init_types2 = __esm({
66630
66632
  });
66631
66633
 
66632
66634
  // packages/config-tools/src/utilities/get-log-level.ts
66633
- var getLogLevel, getLogLevelLabel;
66635
+ var getLogLevel, getLogLevelLabel, isVerbose;
66634
66636
  var init_get_log_level = __esm({
66635
66637
  "packages/config-tools/src/utilities/get-log-level.ts"() {
66636
66638
  init_types2();
@@ -66683,6 +66685,10 @@ var init_get_log_level = __esm({
66683
66685
  }
66684
66686
  return LogLevelLabel.INFO;
66685
66687
  };
66688
+ isVerbose = (label = LogLevelLabel.SILENT) => {
66689
+ const logLevel = typeof label === "string" ? getLogLevel(label) : label;
66690
+ return logLevel <= LogLevel.DEBUG;
66691
+ };
66686
66692
  }
66687
66693
  });
66688
66694
 
@@ -67582,6 +67588,7 @@ __export(src_exports, {
67582
67588
  getLogLevelLabel: () => getLogLevelLabel,
67583
67589
  getStopwatch: () => getStopwatch,
67584
67590
  handleProcess: () => handleProcess,
67591
+ isVerbose: () => isVerbose,
67585
67592
  loadStormConfig: () => loadStormConfig,
67586
67593
  removeExtension: () => removeExtension,
67587
67594
  run: () => run,
@@ -90829,6 +90836,7 @@ __export(utils_exports, {
90829
90836
  ProjectTagConstants: () => ProjectTagConstants,
90830
90837
  YARN_LOCK_FILE: () => YARN_LOCK_FILE,
90831
90838
  YARN_LOCK_PATH: () => YARN_LOCK_PATH,
90839
+ addPluginProjectTag: () => addPluginProjectTag,
90832
90840
  addProjectTag: () => addProjectTag,
90833
90841
  applyWorkspaceExecutorTokens: () => applyWorkspaceExecutorTokens,
90834
90842
  buildCargoCommand: () => buildCargoCommand,
@@ -91255,6 +91263,9 @@ var ProjectTagConstants = {
91255
91263
  NPM: "npm",
91256
91264
  CONTAINER: "container",
91257
91265
  CYCLONE: "cyclone"
91266
+ },
91267
+ Plugin: {
91268
+ TAG_ID: "plugin"
91258
91269
  }
91259
91270
  };
91260
91271
  var formatProjectTag = (variant, value2) => {
@@ -91291,7 +91302,13 @@ var addProjectTag = (project, variant, value2, options = {
91291
91302
  project.tags.push(formatProjectTag(variant, value2));
91292
91303
  }
91293
91304
  };
91294
- var setDefaultProjectTags = (project) => {
91305
+ var addPluginProjectTag = (project, plugin) => {
91306
+ project.tags = project.tags ?? [];
91307
+ project.tags.push(
91308
+ formatProjectTag(ProjectTagConstants.Plugin.TAG_ID, plugin)
91309
+ );
91310
+ };
91311
+ var setDefaultProjectTags = (project, plugin) => {
91295
91312
  project.tags = project.tags ?? [];
91296
91313
  addProjectTag(
91297
91314
  project,
@@ -91311,6 +91328,9 @@ var setDefaultProjectTags = (project) => {
91311
91328
  project.targets?.build?.options.platform === "node" ? ProjectTagConstants.Platform.NODE : project.targets?.build?.options.platform === "worker" ? ProjectTagConstants.Platform.WORKER : project.targets?.build?.options.platform === "browser" ? ProjectTagConstants.Platform.BROWSER : ProjectTagConstants.Platform.NEUTRAL,
91312
91329
  { overwrite: false }
91313
91330
  );
91331
+ if (plugin) {
91332
+ addPluginProjectTag(project, plugin);
91333
+ }
91314
91334
  };
91315
91335
 
91316
91336
  // node_modules/.pnpm/@ltd+j-toml@1.38.0/node_modules/@ltd/j-toml/index.mjs
@@ -94287,6 +94307,7 @@ var pnpmVersion = "8.10.2";
94287
94307
  ProjectTagConstants,
94288
94308
  YARN_LOCK_FILE,
94289
94309
  YARN_LOCK_PATH,
94310
+ addPluginProjectTag,
94290
94311
  addProjectTag,
94291
94312
  applyWorkspaceExecutorTokens,
94292
94313
  buildCargoCommand,
@@ -33,6 +33,9 @@ export declare const ProjectTagConstants: {
33
33
  readonly CONTAINER: ProjectTagRegistryValue;
34
34
  readonly CYCLONE: ProjectTagRegistryValue;
35
35
  };
36
+ readonly Plugin: {
37
+ readonly TAG_ID: ProjectTagVariant;
38
+ };
36
39
  };
37
40
  export declare const formatProjectTag: (variant: ProjectTagVariant, value: string) => string;
38
41
  export declare const hasProjectTag: (project: ProjectConfiguration, variant: ProjectTagVariant) => boolean;
@@ -41,4 +44,5 @@ export declare const isEqualProjectTag: (project: ProjectConfiguration, variant:
41
44
  export declare const addProjectTag: (project: ProjectConfiguration, variant: ProjectTagVariant, value: string, options?: {
42
45
  overwrite?: boolean;
43
46
  }) => void;
44
- export declare const setDefaultProjectTags: (project: ProjectConfiguration) => void;
47
+ export declare const addPluginProjectTag: (project: ProjectConfiguration, plugin: string) => void;
48
+ export declare const setDefaultProjectTags: (project: ProjectConfiguration, plugin?: string) => void;
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  var project_tags_exports = {};
21
21
  __export(project_tags_exports, {
22
22
  ProjectTagConstants: () => ProjectTagConstants,
23
+ addPluginProjectTag: () => addPluginProjectTag,
23
24
  addProjectTag: () => addProjectTag,
24
25
  formatProjectTag: () => formatProjectTag,
25
26
  getProjectTag: () => getProjectTag,
@@ -60,6 +61,9 @@ var ProjectTagConstants = {
60
61
  NPM: "npm",
61
62
  CONTAINER: "container",
62
63
  CYCLONE: "cyclone"
64
+ },
65
+ Plugin: {
66
+ TAG_ID: "plugin"
63
67
  }
64
68
  };
65
69
  var formatProjectTag = (variant, value) => {
@@ -96,7 +100,13 @@ var addProjectTag = (project, variant, value, options = {
96
100
  project.tags.push(formatProjectTag(variant, value));
97
101
  }
98
102
  };
99
- var setDefaultProjectTags = (project) => {
103
+ var addPluginProjectTag = (project, plugin) => {
104
+ project.tags = project.tags ?? [];
105
+ project.tags.push(
106
+ formatProjectTag(ProjectTagConstants.Plugin.TAG_ID, plugin)
107
+ );
108
+ };
109
+ var setDefaultProjectTags = (project, plugin) => {
100
110
  project.tags = project.tags ?? [];
101
111
  addProjectTag(
102
112
  project,
@@ -116,10 +126,14 @@ var setDefaultProjectTags = (project) => {
116
126
  project.targets?.build?.options.platform === "node" ? ProjectTagConstants.Platform.NODE : project.targets?.build?.options.platform === "worker" ? ProjectTagConstants.Platform.WORKER : project.targets?.build?.options.platform === "browser" ? ProjectTagConstants.Platform.BROWSER : ProjectTagConstants.Platform.NEUTRAL,
117
127
  { overwrite: false }
118
128
  );
129
+ if (plugin) {
130
+ addPluginProjectTag(project, plugin);
131
+ }
119
132
  };
120
133
  // Annotate the CommonJS export names for ESM import in node:
121
134
  0 && (module.exports = {
122
135
  ProjectTagConstants,
136
+ addPluginProjectTag,
123
137
  addProjectTag,
124
138
  formatProjectTag,
125
139
  getProjectTag,