@o3r/workspace 14.4.0-prerelease.8 → 14.5.0-prerelease.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@o3r/workspace",
3
- "version": "14.4.0-prerelease.8",
3
+ "version": "14.5.0-prerelease.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -41,8 +41,8 @@
41
41
  "@angular/common": "^21.0.0",
42
42
  "@angular/compiler-cli": "^21.0.0",
43
43
  "@angular/core": "^21.0.0",
44
- "@o3r/schematics": "~14.4.0-prerelease.8",
45
- "@o3r/telemetry": "~14.4.0-prerelease.8",
44
+ "@o3r/schematics": "~14.5.0-prerelease.0",
45
+ "@o3r/telemetry": "~14.5.0-prerelease.0",
46
46
  "@schematics/angular": "^21.0.0",
47
47
  "type-fest": "^5.3.1",
48
48
  "typescript": "^5.9.0"
@@ -62,7 +62,7 @@
62
62
  }
63
63
  },
64
64
  "dependencies": {
65
- "@o3r/schematics": "~14.4.0-prerelease.8",
65
+ "@o3r/schematics": "~14.5.0-prerelease.0",
66
66
  "commander": "^14.0.0",
67
67
  "globby": "^11.1.0",
68
68
  "semver": "^7.5.2",
@@ -71,7 +71,7 @@
71
71
  "winston": "^3.8.2"
72
72
  },
73
73
  "devDependencies": {
74
- "@angular-devkit/architect": "0.2102.8",
74
+ "@angular-devkit/architect": "0.2102.13",
75
75
  "@angular-devkit/build-angular": "~21.2.0",
76
76
  "@angular-devkit/core": "~21.2.0",
77
77
  "@angular-devkit/schematics": "~21.2.0",
@@ -85,7 +85,7 @@
85
85
  "@angular/platform-browser-dynamic": "~21.2.4",
86
86
  "@angular/router": "~21.2.4",
87
87
  "@babel/core": "~7.29.0",
88
- "@babel/preset-typescript": "~7.28.0",
88
+ "@babel/preset-typescript": "~7.29.0",
89
89
  "@eslint-community/eslint-plugin-eslint-comments": "^4.4.0",
90
90
  "@ngrx/entity": "~21.1.0",
91
91
  "@ngrx/store": "~21.1.0",
@@ -95,22 +95,22 @@
95
95
  "@nx/jest": "~22.7.0",
96
96
  "@nx/js": "~22.7.0",
97
97
  "@nx/workspace": "~22.7.0",
98
- "@o3r/build-helpers": "~14.4.0-prerelease.8",
99
- "@o3r/core": "~14.4.0-prerelease.8",
100
- "@o3r/eslint-plugin": "~14.4.0-prerelease.8",
101
- "@o3r/telemetry": "~14.4.0-prerelease.8",
102
- "@o3r/test-helpers": "~14.4.0-prerelease.8",
98
+ "@o3r/build-helpers": "~14.5.0-prerelease.0",
99
+ "@o3r/core": "~14.5.0-prerelease.0",
100
+ "@o3r/eslint-plugin": "~14.5.0-prerelease.0",
101
+ "@o3r/telemetry": "~14.5.0-prerelease.0",
102
+ "@o3r/test-helpers": "~14.5.0-prerelease.0",
103
103
  "@schematics/angular": "~21.2.0",
104
104
  "@stylistic/eslint-plugin": "~5.10.0",
105
105
  "@types/jest": "~30.0.0",
106
106
  "@types/minimist": "^1.2.2",
107
107
  "@types/node": "~24.12.0",
108
108
  "@types/semver": "^7.3.13",
109
- "@typescript-eslint/parser": "~8.58.0",
110
- "angular-eslint": "~21.3.0",
109
+ "@typescript-eslint/parser": "~8.60.0",
110
+ "angular-eslint": "~21.4.0",
111
111
  "cpy-cli": "^6.0.0",
112
112
  "eslint": "~9.39.0",
113
- "eslint-import-resolver-node": "~0.3.9",
113
+ "eslint-import-resolver-node": "~0.4.0",
114
114
  "eslint-import-resolver-typescript": "~4.4.0",
115
115
  "eslint-plugin-import": "~2.32.0",
116
116
  "eslint-plugin-import-newlines": "~1.4.0",
@@ -120,11 +120,11 @@
120
120
  "eslint-plugin-unicorn": "~62.0.0",
121
121
  "eslint-plugin-unused-imports": "~4.4.0",
122
122
  "globals": "^16.0.0",
123
- "jest": "~30.3.0",
124
- "jest-environment-jsdom": "~30.3.0",
123
+ "jest": "~30.4.0",
124
+ "jest-environment-jsdom": "~30.4.0",
125
125
  "jest-junit": "~16.0.0",
126
126
  "jest-preset-angular": "~16.1.0",
127
- "jest-util": "~30.3.0",
127
+ "jest-util": "~30.4.0",
128
128
  "jsdom": "~27.4.0",
129
129
  "jsonc-eslint-parser": "~2.4.0",
130
130
  "minimist": "^1.2.6",
@@ -133,7 +133,7 @@
133
133
  "ts-jest": "~29.4.0",
134
134
  "type-fest": "^5.3.1",
135
135
  "typescript": "~5.9.2",
136
- "typescript-eslint": "~8.58.0"
136
+ "typescript-eslint": "~8.60.0"
137
137
  },
138
138
  "generatorDependencies": {
139
139
  "@angular-builders/jest": "~21.0.0-beta.1",
@@ -151,8 +151,8 @@
151
151
  "cpy-cli": "^6.0.0",
152
152
  "editorconfig-checker": "^6.0.1",
153
153
  "husky": "~9.1.0",
154
- "jest": "~30.3.0",
155
- "jest-environment-jsdom": "~30.3.0",
154
+ "jest": "~30.4.0",
155
+ "jest-environment-jsdom": "~30.4.0",
156
156
  "jest-junit": "~16.0.0",
157
157
  "jest-preset-angular": "~16.1.0",
158
158
  "lerna": "^8.1.7",
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Escapes special regex characters in a string to create a literal match pattern.
3
+ * @param str - The string to escape (e.g., "0.0.0(-placeholder)?")
4
+ * @returns The escaped string safe for use inside a RegExp constructor
5
+ */
6
+ export declare function escapeForRegex(str: string): string;
7
+ /**
8
+ * Creates a regex to match placeholder versions (e.g., "0.0.0", "0.0.0-placeholder")
9
+ * @param placeholder - The placeholder pattern (default: "0.0.0(-placeholder)?")
10
+ * @returns RegExp that captures the version prefix (~, ^) in $1
11
+ */
12
+ export declare function createPlaceholderRegex(placeholder: string): RegExp;
13
+ /**
14
+ * Regex to match workspace protocol versions (e.g., "workspace:*", "workspace:~1.0.0")
15
+ * Captures: $1 = prefix (~, ^, or *), $2 = trailing comma if present
16
+ */
17
+ export declare const workspaceProtocolRegex: RegExp;
18
+ /**
19
+ * Regex to match wildcard versions (e.g., "*1.2.3", "*1.0.0-rc.1")
20
+ * Captures: $1 = version (semver format), $2 = trailing comma if present
21
+ * Note: Only matches versions starting with digits to avoid matching glob patterns like "*.js" or "**.metadata.json"
22
+ */
23
+ export declare const wildcardVersionRegex: RegExp;
24
+ /**
25
+ * Regex to match and remove "private": true field from package.json
26
+ */
27
+ export declare const privateFieldRegex: RegExp;
28
+ //# sourceMappingURL=set-version-regexes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-version-regexes.d.ts","sourceRoot":"","sources":["../../../src/cli/set-version-regexes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAqC,CAAC;AAEzE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAA6C,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAqC,CAAC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.privateFieldRegex = exports.wildcardVersionRegex = exports.workspaceProtocolRegex = void 0;
4
+ exports.escapeForRegex = escapeForRegex;
5
+ exports.createPlaceholderRegex = createPlaceholderRegex;
6
+ /**
7
+ * Escapes special regex characters in a string to create a literal match pattern.
8
+ * @param str - The string to escape (e.g., "0.0.0(-placeholder)?")
9
+ * @returns The escaped string safe for use inside a RegExp constructor
10
+ */
11
+ function escapeForRegex(str) {
12
+ return str.replace(/[$()*+./?[\\\]^{|}-]/g, '\\$&');
13
+ }
14
+ /**
15
+ * Creates a regex to match placeholder versions (e.g., "0.0.0", "0.0.0-placeholder")
16
+ * @param placeholder - The placeholder pattern (default: "0.0.0(-placeholder)?")
17
+ * @returns RegExp that captures the version prefix (~, ^) in $1
18
+ */
19
+ function createPlaceholderRegex(placeholder) {
20
+ return new RegExp('"([~^]?)' + escapeForRegex(placeholder) + '"', 'g');
21
+ }
22
+ /**
23
+ * Regex to match workspace protocol versions (e.g., "workspace:*", "workspace:~1.0.0")
24
+ * Captures: $1 = prefix (~, ^, or *), $2 = trailing comma if present
25
+ */
26
+ exports.workspaceProtocolRegex = /"workspace:([~^*]?)[^"]*"(,?)$/gm;
27
+ /**
28
+ * Regex to match wildcard versions (e.g., "*1.2.3", "*1.0.0-rc.1")
29
+ * Captures: $1 = version (semver format), $2 = trailing comma if present
30
+ * Note: Only matches versions starting with digits to avoid matching glob patterns like "*.js" or "**.metadata.json"
31
+ */
32
+ exports.wildcardVersionRegex = /"\*([0-9]+\.[0-9]+\.[0-9]+[^"]*)"(,?)$/gm;
33
+ /**
34
+ * Regex to match and remove "private": true field from package.json
35
+ */
36
+ exports.privateFieldRegex = /^\s*"private"\s*:\s*true\s*,?$/gm;
37
+ //# sourceMappingURL=set-version-regexes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-version-regexes.js","sourceRoot":"","sources":["../../../src/cli/set-version-regexes.ts"],"names":[],"mappings":";;;AAKA,wCAEC;AAOD,wDAEC;AAhBD;;;;GAIG;AACH,SAAgB,cAAc,CAAC,GAAW;IACxC,OAAO,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,WAAmB;IACxD,OAAO,IAAI,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;AACzE,CAAC;AAED;;;GAGG;AACU,QAAA,sBAAsB,GAAG,kCAAkC,CAAC;AAEzE;;;;GAIG;AACU,QAAA,oBAAoB,GAAG,0CAA0C,CAAC;AAE/E;;GAEG;AACU,QAAA,iBAAiB,GAAG,kCAAkC,CAAC"}
@@ -7,6 +7,7 @@ const commander_1 = require("commander");
7
7
  const globby_1 = require("globby");
8
8
  const semver_1 = require("semver");
9
9
  const winston = require("winston");
10
+ const set_version_regexes_1 = require("./set-version-regexes");
10
11
  const defaultIncludedFiles = ['**/package.json', '**/lerna.json', '!**/templates', '!**/node_modules'];
11
12
  const collect = (pattern, patterns) => {
12
13
  if (patterns === defaultIncludedFiles && pattern) {
@@ -47,14 +48,13 @@ const cliFn = () => {
47
48
  content: fs.readFileSync(filePath).toString()
48
49
  }))
49
50
  .forEach((pathWithContent) => {
51
+ const placeholderRegex = (0, set_version_regexes_1.createPlaceholderRegex)(options.placeholder);
50
52
  let newContent = pathWithContent.content
51
- .replace(new RegExp('"([~^]?)' + options.placeholder
52
- .replace(/[$()+.?[\\\]^{|}]/g, '\\$&')
53
- .replace(/\\*\./g, '\\.') + '"', 'g'), `"$1${replaceVersion}"`)
54
- .replace(/"workspace:([~^*]?)[^"]*"(,?)$/gm, `"$1${replaceVersion}"$2`)
55
- .replace(/"\*(.+)"(,?)$/gm, `"=$1"$2`);
53
+ .replace(placeholderRegex, `"$1${replaceVersion}"`)
54
+ .replace(set_version_regexes_1.workspaceProtocolRegex, `"$1${replaceVersion}"$2`)
55
+ .replace(set_version_regexes_1.wildcardVersionRegex, `"=$1"$2`);
56
56
  if (options.setPublic) {
57
- newContent = newContent.replace(/^\s*"private"\s*:\s*true\s*,?$/gm, '');
57
+ newContent = newContent.replace(set_version_regexes_1.privateFieldRegex, '');
58
58
  }
59
59
  if (newContent === pathWithContent.content) {
60
60
  logger.debug(`No change in ${pathWithContent.path}`);
@@ -1 +1 @@
1
- {"version":3,"file":"set-version.cjs","sourceRoot":"","sources":["../../../src/cli/set-version.cts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"set-version.cjs","sourceRoot":"","sources":["../../../src/cli/set-version.cts"],"names":[],"mappings":";;;AAEA,8BAA8B;AAC9B,kCAAkC;AAIlC,yCAEmB;AACnB,mCAEgB;AAChB,mCAEgB;AAChB,mCAAmC;AACnC,+DAK+B;AAE/B,MAAM,oBAAoB,GAAG,CAAC,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC;AAEvG,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,QAAkB,EAAE,EAAE;IACtD,IAAI,QAAQ,KAAK,oBAAoB,IAAI,OAAO,EAAE,CAAC;QACjD,QAAQ,GAAG,EAAE,CAAC;IAChB,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EACzB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CACxB;IACD,UAAU,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE;CAC7C,CAAC,CAAC;AAEH,IAAI,cAAsB,CAAC;AAC3B,mBAAO;KACJ,SAAS,CAAC,WAAW,CAAC;KACtB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,iCAAiC,EAAE,oCAAoC,EAAE,sBAAsB,CAAC;KACvG,MAAM,CAAC,kBAAkB,EAAE,oDAAoD,EAAE,OAAO,EAAE,oBAAoB,CAAC;KAC/G,MAAM,CAAC,cAAc,EAAE,kCAAkC,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,CAAC;KACjG,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC;KAC7C,MAAM,CAAC,CAAC,OAAe,EAAE,EAAE;IAC1B,MAAM,YAAY,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,mEAAmE;QACnE,OAAO,CAAC,KAAK,CAAC,gBAAgB,OAAO,cAAc,CAAC,CAAC;QACrD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,cAAc,GAAG,YAAY,CAAC;AAChC,CAAC,CAAC;KACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,OAAO,GAAQ,mBAAO,CAAC,IAAI,EAAE,CAAC;AACpC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AAElD,MAAM,KAAK,GAAG,GAAG,EAAE;IACjB,IAAA,aAAU,EAAC,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;SAChD,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;SACrD,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;KAC9C,CAAC,CAAC;SACF,OAAO,CAAC,CAAC,eAAkD,EAAE,EAAE;QAC9D,MAAM,gBAAgB,GAAG,IAAA,4CAAsB,EAAC,OAAO,CAAC,WAAqB,CAAC,CAAC;QAC/E,IAAI,UAAU,GAAG,eAAe,CAAC,OAAO;aACrC,OAAO,CAAC,gBAAgB,EAAE,MAAM,cAAc,GAAG,CAAC;aAClD,OAAO,CAAC,4CAAsB,EAAE,MAAM,cAAc,KAAK,CAAC;aAC1D,OAAO,CAAC,0CAAoB,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,uCAAiB,EAAE,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,UAAU,KAAK,eAAe,CAAC,OAAO,EAAE,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,gBAAgB,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,qBAAqB,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,KAAK,CAAC,KAAK,IAAI,EAAE;IACf,IAAI,OAAO,GAAe,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,EAAE,oBAAoB,EAAE,GAAG,2CAAa,gBAAgB,EAAC,CAAC;QAChE,OAAO,GAAG,oBAAoB,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,oDAAoD;IACtD,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,EAAE,4BAA4B,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAC/F,CAAC,CAAC,EAAE,CAAC"}