@storm-software/workspace-tools 1.119.0 → 1.121.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 +1 -1
- package/declarations.d.ts +66 -0
- package/index.js +88 -1
- package/meta.json +1 -1
- package/package.json +4 -2
- package/packages/workspace-tools/src/base/typescript-library-generator.d.ts +2 -14
- 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/generators/browser-library/generator.js +8 -2
- package/src/generators/neutral-library/schema.d.ts +1 -1
- package/src/generators/node-library/generator.js +3 -1
- package/src/plugins/rust/index.js +67 -15
- package/src/plugins/typescript/index.js +92 -17
- package/src/utils/create-cli-options.js +46 -0
- package/src/utils/index.js +85 -0
- package/src/utils/lock-file.js +149 -0
- package/src/utils/project-tags.js +109 -0
- package/src/utils/toml.js +2969 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
## 1.121.0 (2024-07-19)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
- **workspace-tools:** Added helper functions to support reading/writing project tags ([507b5747](https://github.com/storm-software/storm-ops/commit/507b5747))
|
|
7
|
+
|
|
8
|
+
- **workspace-tools:** Added project tags constants and type declarations ([88cd1de2](https://github.com/storm-software/storm-ops/commit/88cd1de2))
|
|
9
|
+
|
|
10
|
+
## 1.120.0 (2024-07-19)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
- **workspace-tools:** Added tag population to the workspace plugins ([f473de63](https://github.com/storm-software/storm-ops/commit/f473de63))
|
|
16
|
+
|
|
1
17
|
## 1.119.0 (2024-07-19)
|
|
2
18
|
|
|
3
19
|
|
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ This package is part of the <b>⚡Storm-Ops</b> monorepo. The Storm-Ops packages
|
|
|
21
21
|
|
|
22
22
|
<h3 align="center">💻 Visit <a href="https://stormsoftware.com" target="_blank">stormsoftware.com</a> to stay up to date with this developer</h3><br />
|
|
23
23
|
|
|
24
|
-
[](https://prettier.io/) [](http://nx.dev/) [](https://nextjs.org/) [](http://commitizen.github.io/cz-cli/)  [](https://fumadocs.vercel.app/) 
|
|
25
25
|
|
|
26
26
|
<!-- prettier-ignore-start -->
|
|
27
27
|
<!-- markdownlint-disable -->
|
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)(
|
|
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,
|