@storm-software/workspace-tools 1.119.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 CHANGED
@@ -1,3 +1,10 @@
1
+ ## 1.120.0 (2024-07-19)
2
+
3
+
4
+ ### Features
5
+
6
+ - **workspace-tools:** Added tag population to the workspace plugins ([f473de63](https://github.com/storm-software/storm-ops/commit/f473de63))
7
+
1
8
  ## 1.119.0 (2024-07-19)
2
9
 
3
10
 
package/declarations.d.ts CHANGED
@@ -190,3 +190,69 @@ declare function typeScriptLibraryGeneratorFn(
190
190
  schema: TypeScriptLibraryGeneratorSchema
191
191
  ): Promise<any>;
192
192
  export { typeScriptLibraryGeneratorFn };
193
+
194
+ export type ProjectTagVariant = "language" | "type" | "dist-style" | "provider";
195
+ export const ProjectTagVariant = {
196
+ LANGUAGE: "language" as ProjectTagVariant,
197
+ TYPE: "type" as ProjectTagVariant,
198
+ DIST_STYLE: "dist-style" as ProjectTagVariant,
199
+ PROVIDER: "provider" as ProjectTagVariant
200
+ };
201
+
202
+ export type ProjectTagLanguageValue = "typescript" | "rust";
203
+ export const ProjectTagLanguageValue = {
204
+ TYPESCRIPT: "typescript" as ProjectTagLanguageValue,
205
+ RUST: "rust" as ProjectTagLanguageValue
206
+ };
207
+
208
+ export type ProjectTagTypeValue = "library" | "application";
209
+ export const ProjectTagTypeValue = {
210
+ LIBRARY: "library" as ProjectTagTypeValue,
211
+ APPLICATION: "application" as ProjectTagTypeValue
212
+ };
213
+
214
+ export type ProjectTagDistStyleValue = "normal" | "clean";
215
+ export const ProjectTagDistStyleValue = {
216
+ NORMAL: "normal" as ProjectTagDistStyleValue,
217
+ CLEAN: "clean" as ProjectTagDistStyleValue
218
+ };
219
+
220
+ declare function formatProjectTag(
221
+ variant: ProjectTagVariant,
222
+ value: string
223
+ ): string;
224
+ export { formatProjectTag };
225
+
226
+ declare function hasProjectTag(
227
+ project: ProjectConfiguration,
228
+ variant: ProjectTagVariant
229
+ ): boolean;
230
+ export { hasProjectTag };
231
+
232
+ declare function getProjectTag(
233
+ project: ProjectConfiguration,
234
+ variant: ProjectTagVariant
235
+ ): string | undefined;
236
+ export { getProjectTag };
237
+
238
+ declare function isEqualProjectTag(
239
+ project: ProjectConfiguration,
240
+ variant: ProjectTagVariant,
241
+ value: string
242
+ ): boolean;
243
+ export { isEqualProjectTag };
244
+
245
+ declare function addProjectTag(
246
+ project: ProjectConfiguration,
247
+ variant: ProjectTagVariant,
248
+ value: string,
249
+ options: {
250
+ overwrite?: boolean;
251
+ } = {
252
+ overwrite: false
253
+ }
254
+ ): void;
255
+ export { addProjectTag };
256
+
257
+ declare function setDefaultProjectTags(project: ProjectConfiguration): void;
258
+ export { setDefaultProjectTags };
package/index.js CHANGED
@@ -400143,9 +400143,11 @@ __export(workspace_tools_exports, {
400143
400143
  NPM_LOCK_PATH: () => NPM_LOCK_PATH,
400144
400144
  PNPM_LOCK_FILE: () => PNPM_LOCK_FILE,
400145
400145
  PNPM_LOCK_PATH: () => PNPM_LOCK_PATH,
400146
+ ProjectTagConstants: () => ProjectTagConstants,
400146
400147
  YARN_LOCK_FILE: () => YARN_LOCK_FILE,
400147
400148
  YARN_LOCK_PATH: () => YARN_LOCK_PATH,
400148
400149
  addLint: () => addLint,
400150
+ addProjectTag: () => addProjectTag,
400149
400151
  applyWorkspaceExecutorTokens: () => applyWorkspaceExecutorTokens,
400150
400152
  cargoCommand: () => cargoCommand,
400151
400153
  cargoCommandSync: () => cargoCommandSync,
@@ -400157,14 +400159,18 @@ __export(workspace_tools_exports, {
400157
400159
  createCliOptions: () => createCliOptions,
400158
400160
  createProjectTsConfigJson: () => createProjectTsConfigJson,
400159
400161
  eslintVersion: () => eslintVersion,
400162
+ formatProjectTag: () => formatProjectTag,
400160
400163
  getLockFileDependencies: () => getLockFileDependencies,
400161
400164
  getLockFileName: () => getLockFileName,
400162
400165
  getLockFileNodes: () => getLockFileNodes,
400163
400166
  getOutputPath: () => getOutputPath,
400164
400167
  getProjectConfiguration: () => getProjectConfiguration,
400165
400168
  getProjectConfigurations: () => getProjectConfigurations,
400169
+ getProjectTag: () => getProjectTag,
400166
400170
  getRegistryVersion: () => getRegistryVersion,
400167
400171
  getTypiaTransform: () => getTypiaTransform,
400172
+ hasProjectTag: () => hasProjectTag,
400173
+ isEqualProjectTag: () => isEqualProjectTag,
400168
400174
  isExternal: () => isExternal,
400169
400175
  lintStagedVersion: () => lintStagedVersion,
400170
400176
  lockFileExists: () => lockFileExists,
@@ -400185,6 +400191,7 @@ __export(workspace_tools_exports, {
400185
400191
  rolldownExecutorFn: () => rolldownExecutorFn,
400186
400192
  runProcess: () => runProcess,
400187
400193
  semanticReleaseVersion: () => semanticReleaseVersion,
400194
+ setDefaultProjectTags: () => setDefaultProjectTags,
400188
400195
  stormInitGenerator: () => stormInitGenerator,
400189
400196
  stringifyCargoToml: () => stringifyCargoToml,
400190
400197
  swcCliVersion: () => swcCliVersion,
@@ -404023,6 +404030,77 @@ function createCliOptions(obj) {
404023
404030
  return args;
404024
404031
  }
404025
404032
 
404033
+ // packages/workspace-tools/src/utils/project-tags.ts
404034
+ var ProjectTagConstants = {
404035
+ Language: {
404036
+ TAG_ID: "language",
404037
+ TYPESCRIPT: "typescript",
404038
+ RUST: "rust"
404039
+ },
404040
+ ProjectType: {
404041
+ TAG_ID: "type",
404042
+ LIBRARY: "library",
404043
+ APPLICATION: "application"
404044
+ },
404045
+ DistStyle: {
404046
+ TAG_ID: "dist-style",
404047
+ NORMAL: "normal",
404048
+ CLEAN: "clean"
404049
+ },
404050
+ Provider: {
404051
+ TAG_ID: "provider"
404052
+ }
404053
+ };
404054
+ var formatProjectTag = (variant, value2) => {
404055
+ return `${variant}:${value2}`;
404056
+ };
404057
+ var hasProjectTag = (project, variant) => {
404058
+ project.tags = project.tags ?? [];
404059
+ const prefix = formatProjectTag(variant, "");
404060
+ return project.tags.some(
404061
+ (tag) => tag.startsWith(prefix) && tag.length > prefix.length
404062
+ );
404063
+ };
404064
+ var getProjectTag = (project, variant) => {
404065
+ if (!hasProjectTag(project, variant)) {
404066
+ return void 0;
404067
+ }
404068
+ project.tags = project.tags ?? [];
404069
+ const prefix = formatProjectTag(variant, "");
404070
+ const tag = project.tags.find((tag2) => tag2.startsWith(prefix));
404071
+ return tag?.replace(prefix, "");
404072
+ };
404073
+ var isEqualProjectTag = (project, variant, value2) => {
404074
+ const tag = getProjectTag(project, variant);
404075
+ return !!(tag && tag?.toUpperCase() === value2.toUpperCase());
404076
+ };
404077
+ var addProjectTag = (project, variant, value2, options = {
404078
+ overwrite: false
404079
+ }) => {
404080
+ project.tags = project.tags ?? [];
404081
+ if (options.overwrite || !hasProjectTag(project, variant)) {
404082
+ project.tags = project.tags.filter(
404083
+ (tag) => !tag.startsWith(formatProjectTag(variant, ""))
404084
+ );
404085
+ project.tags.push(formatProjectTag(variant, value2));
404086
+ }
404087
+ };
404088
+ var setDefaultProjectTags = (project) => {
404089
+ project.tags = project.tags ?? [];
404090
+ addProjectTag(
404091
+ project,
404092
+ ProjectTagConstants.ProjectType.TAG_ID,
404093
+ project.projectType === "application" ? ProjectTagConstants.ProjectType.APPLICATION : ProjectTagConstants.ProjectType.LIBRARY,
404094
+ { overwrite: true }
404095
+ );
404096
+ addProjectTag(
404097
+ project,
404098
+ ProjectTagConstants.DistStyle.TAG_ID,
404099
+ project.targets && Object.keys(project.targets).includes("clean-package") ? ProjectTagConstants.DistStyle.CLEAN : ProjectTagConstants.DistStyle.NORMAL,
404100
+ { overwrite: true }
404101
+ );
404102
+ };
404103
+
404026
404104
  // packages/workspace-tools/src/executors/unbuild/executor.ts
404027
404105
  async function unbuildExecutorFn(options, context, config) {
404028
404106
  const { writeDebug: writeDebug2, writeInfo: writeInfo2, writeSuccess: writeSuccess2 } = await Promise.resolve().then(() => (init_src2(), src_exports));
@@ -412189,7 +412267,9 @@ async function nodeLibraryGeneratorFn(tree, schema) {
412189
412267
  buildExecutor: "@storm-software/workspace-tools:tsup-node"
412190
412268
  };
412191
412269
  const options = await normalizeOptions(tree, tsLibraryGeneratorOptions);
412192
- const { className, name, propertyName } = (0, import_devkit10.names)(options.projectNames.projectFileName);
412270
+ const { className, name, propertyName } = (0, import_devkit10.names)(
412271
+ options.projectNames.projectFileName
412272
+ );
412193
412273
  (0, import_devkit10.generateFiles)(tree, filesDir, options.projectRoot, {
412194
412274
  ...schema,
412195
412275
  dot: ".",
@@ -413170,9 +413250,11 @@ var DEFAULT_CONVENTIONAL_COMMITS_CONFIG = {
413170
413250
  NPM_LOCK_PATH,
413171
413251
  PNPM_LOCK_FILE,
413172
413252
  PNPM_LOCK_PATH,
413253
+ ProjectTagConstants,
413173
413254
  YARN_LOCK_FILE,
413174
413255
  YARN_LOCK_PATH,
413175
413256
  addLint,
413257
+ addProjectTag,
413176
413258
  applyWorkspaceExecutorTokens,
413177
413259
  cargoCommand,
413178
413260
  cargoCommandSync,
@@ -413184,14 +413266,18 @@ var DEFAULT_CONVENTIONAL_COMMITS_CONFIG = {
413184
413266
  createCliOptions,
413185
413267
  createProjectTsConfigJson,
413186
413268
  eslintVersion,
413269
+ formatProjectTag,
413187
413270
  getLockFileDependencies,
413188
413271
  getLockFileName,
413189
413272
  getLockFileNodes,
413190
413273
  getOutputPath,
413191
413274
  getProjectConfiguration,
413192
413275
  getProjectConfigurations,
413276
+ getProjectTag,
413193
413277
  getRegistryVersion,
413194
413278
  getTypiaTransform,
413279
+ hasProjectTag,
413280
+ isEqualProjectTag,
413195
413281
  isExternal,
413196
413282
  lintStagedVersion,
413197
413283
  lockFileExists,
@@ -413212,6 +413298,7 @@ var DEFAULT_CONVENTIONAL_COMMITS_CONFIG = {
413212
413298
  rolldownExecutorFn,
413213
413299
  runProcess,
413214
413300
  semanticReleaseVersion,
413301
+ setDefaultProjectTags,
413215
413302
  stormInitGenerator,
413216
413303
  stringifyCargoToml,
413217
413304
  swcCliVersion,