@o3r/new-version 11.6.0-prerelease.4 → 11.6.0-prerelease.40
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 +23 -15
- package/schematics/ng-add/index.d.ts.map +1 -1
- package/src/helpers/index.js +1 -1
- package/src/helpers/index.js.map +1 -1
- package/src/index.d.ts +1 -1
- package/src/index.d.ts.map +1 -1
- package/src/index.js +12 -10
- package/src/index.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@o3r/new-version",
|
|
3
|
-
"version": "11.6.0-prerelease.
|
|
3
|
+
"version": "11.6.0-prerelease.40",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"tslib": "^2.6.2"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
|
-
"@angular-devkit/schematics": "
|
|
27
|
-
"@o3r/schematics": "^11.6.0-prerelease.
|
|
26
|
+
"@angular-devkit/schematics": "^18.2.0",
|
|
27
|
+
"@o3r/schematics": "^11.6.0-prerelease.40"
|
|
28
28
|
},
|
|
29
29
|
"peerDependenciesMeta": {
|
|
30
30
|
"@angular-devkit/schematics": {
|
|
@@ -37,37 +37,45 @@
|
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@angular-devkit/core": "~18.2.0",
|
|
39
39
|
"@angular-devkit/schematics": "~18.2.0",
|
|
40
|
-
"@angular-eslint/eslint-plugin": "~18.3.0",
|
|
41
40
|
"@babel/core": "~7.26.0",
|
|
42
41
|
"@babel/preset-typescript": "~7.26.0",
|
|
43
42
|
"@compodoc/compodoc": "^1.1.19",
|
|
43
|
+
"@eslint-community/eslint-plugin-eslint-comments": "^4.4.0",
|
|
44
44
|
"@nx/eslint-plugin": "~19.5.0",
|
|
45
45
|
"@nx/jest": "~19.5.0",
|
|
46
|
-
"@o3r/build-helpers": "^11.6.0-prerelease.
|
|
47
|
-
"@o3r/eslint-plugin": "^11.6.0-prerelease.
|
|
48
|
-
"@o3r/
|
|
49
|
-
"@
|
|
46
|
+
"@o3r/build-helpers": "^11.6.0-prerelease.40",
|
|
47
|
+
"@o3r/eslint-plugin": "^11.6.0-prerelease.40",
|
|
48
|
+
"@o3r/schematics": "^11.6.0-prerelease.40",
|
|
49
|
+
"@o3r/test-helpers": "^11.6.0-prerelease.40",
|
|
50
|
+
"@schematics/angular": "~18.2.0",
|
|
51
|
+
"@stylistic/eslint-plugin": "~2.7.0",
|
|
50
52
|
"@types/jest": "~29.5.2",
|
|
51
53
|
"@types/node": "^20.0.0",
|
|
52
54
|
"@types/semver": "^7.3.13",
|
|
53
|
-
"@typescript-eslint/
|
|
54
|
-
"
|
|
55
|
-
"@typescript-eslint/utils": "^7.14.1",
|
|
55
|
+
"@typescript-eslint/parser": "~8.17.0",
|
|
56
|
+
"angular-eslint": "~18.4.0",
|
|
56
57
|
"cpy-cli": "^5.0.0",
|
|
57
|
-
"eslint": "
|
|
58
|
+
"eslint": "~9.14.0",
|
|
58
59
|
"eslint-import-resolver-node": "^0.3.9",
|
|
60
|
+
"eslint-import-resolver-typescript": "^3.6.3",
|
|
61
|
+
"eslint-plugin-import": "^2.31.0",
|
|
62
|
+
"eslint-plugin-import-newlines": "^1.4.0",
|
|
59
63
|
"eslint-plugin-jest": "~28.8.0",
|
|
60
|
-
"eslint-plugin-jsdoc": "~
|
|
64
|
+
"eslint-plugin-jsdoc": "~50.2.0",
|
|
61
65
|
"eslint-plugin-prefer-arrow": "~1.2.3",
|
|
62
|
-
"eslint-plugin-unicorn": "^
|
|
66
|
+
"eslint-plugin-unicorn": "^56.0.0",
|
|
67
|
+
"eslint-plugin-unused-imports": "^4.1.4",
|
|
68
|
+
"globals": "^15.9.0",
|
|
63
69
|
"jest": "~29.7.0",
|
|
64
70
|
"jest-junit": "~16.0.0",
|
|
65
71
|
"nx": "~19.5.0",
|
|
66
72
|
"pid-from-port": "^1.1.3",
|
|
73
|
+
"rxjs": "^7.8.1",
|
|
67
74
|
"semver": "^7.5.2",
|
|
68
75
|
"ts-jest": "~29.2.0",
|
|
69
76
|
"ts-node": "~10.9.2",
|
|
70
|
-
"typescript": "~5.5.4"
|
|
77
|
+
"typescript": "~5.5.4",
|
|
78
|
+
"typescript-eslint": "~8.17.0"
|
|
71
79
|
},
|
|
72
80
|
"engines": {
|
|
73
81
|
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EACL,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,UAAU,CAAC;AAoBlB,eAAO,MAAM,KAAK,YAAa,qBAAqB,KAAG,IAGtD,CAAC"}
|
package/src/helpers/index.js
CHANGED
|
@@ -6,7 +6,7 @@ exports.formatGitTagsOutput = formatGitTagsOutput;
|
|
|
6
6
|
* @param gitOutput response from git command to format
|
|
7
7
|
*/
|
|
8
8
|
function formatGitTagsOutput(gitOutput) {
|
|
9
|
-
return gitOutput.split(
|
|
9
|
+
return gitOutput.split(/\s+/g)
|
|
10
10
|
.map((val) => val.replace('remotes/origin/', ''))
|
|
11
11
|
.filter((val) => !!val);
|
|
12
12
|
}
|
package/src/helpers/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/index.ts"],"names":[],"mappings":";;AAIA,kDAIC;AARD;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,SAAiB;IACnD,OAAO,SAAS,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/index.ts"],"names":[],"mappings":";;AAIA,kDAIC;AARD;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,SAAiB;IACnD,OAAO,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;SAC3B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;SAChD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC"}
|
package/src/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export interface NewVersionOptions<T extends BaseLogger> {
|
|
|
13
13
|
logger: T;
|
|
14
14
|
/** If the branching model supports a default branch on top of usual release branches, the branch name */
|
|
15
15
|
defaultBranch?: string;
|
|
16
|
-
/** Regexp of
|
|
16
|
+
/** Regexp of versioned branches */
|
|
17
17
|
releaseBranchRegExp: RegExp;
|
|
18
18
|
/**
|
|
19
19
|
* How versions computed from the default branch should be named.
|
package/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAaA,yGAAyG;AACzG,MAAM,MAAM,UAAU,GAAG;IAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,CAAC;AAErJ;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,UAAU;IACrD,uEAAuE;IACvE,MAAM,EAAE,CAAC,CAAC;IAEV,yGAAyG;IACzG,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,mCAAmC;IACnC,mBAAmB,EAAE,MAAM,CAAC;IAE5B;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC,4EAA4E;IAC5E,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB,oEAAoE;IACpE,mBAAmB,EAAE,MAAM,CAAC;IAE5B,8EAA8E;IAC9E,aAAa,EAAE,OAAO,CAAC;IAEvB,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,UAAU;IAUT,OAAO,CAAC,QAAQ,CAAC,OAAO;IATpC,8EAA8E;IACvE,qBAAqB,EAAE,OAAO,CAAC;IAEtC,uEAAuE;IAChE,eAAe,EAAE,OAAO,CAAC;IAEhC,gFAAgF;IACzE,2BAA2B,CAAC,EAAE,MAAM,CAAC;gBAEf,OAAO,EAAE,iBAAiB,CAAC,UAAU,CAAC;IAMnE;;OAEG;IACU,OAAO;IAWpB;;OAEG;IACU,eAAe;IAa5B;;;;OAIG;IACI,cAAc;IAUrB;;;;;OAKG;IACI,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM;CAgE7D"}
|
package/src/index.js
CHANGED
|
@@ -54,8 +54,9 @@ class NewVersion {
|
|
|
54
54
|
if (branchReleaseMatches) {
|
|
55
55
|
this.options.logger.info(JSON.stringify(branchReleaseMatches));
|
|
56
56
|
}
|
|
57
|
-
return this.isDefaultBranch
|
|
58
|
-
|
|
57
|
+
return this.isDefaultBranch
|
|
58
|
+
? this.options.defaultBranchVersionMask || ''
|
|
59
|
+
: (branchReleaseMatches?.length ? `${branchReleaseMatches[1]}.${branchReleaseMatches[2]}${branchReleaseMatches[3] || ''}` : '');
|
|
59
60
|
}
|
|
60
61
|
/**
|
|
61
62
|
* Compute the next version following the version mask.
|
|
@@ -64,22 +65,23 @@ class NewVersion {
|
|
|
64
65
|
* @param versionMask
|
|
65
66
|
*/
|
|
66
67
|
computeNewVersion(tags, versionMask) {
|
|
68
|
+
const regexpVersionMask = new RegExp(`^(?:v)?${versionMask}`);
|
|
67
69
|
// Sort tags in descending order and exclude next major in preparation
|
|
68
70
|
let parsedSortedTags = tags
|
|
69
71
|
.map((tag) => semver.parse(tag.replace('V', 'v')))
|
|
70
|
-
.filter((tag) => !!tag && !!tag.raw
|
|
72
|
+
.filter((tag) => !!tag && !!regexpVersionMask.test(tag.raw))
|
|
71
73
|
.sort((v1, v2) => semver.compare(v2, v1));
|
|
72
74
|
this.options.logger.debug('Parsed and sorted tags:');
|
|
73
75
|
this.options.logger.debug(JSON.stringify(parsedSortedTags));
|
|
74
76
|
this.options.logger.info(`Version mask: ${versionMask}`);
|
|
75
|
-
if (
|
|
76
|
-
// If release branch, we filter all versions that do not satisfy the branch name to exclude 3.6.0-alpha.2 when building branch release/3.6 for example
|
|
77
|
-
parsedSortedTags = parsedSortedTags.filter((parsedTag) => semver.satisfies(parsedTag, `~${versionMask}`));
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
77
|
+
if (this.isDefaultBranch) {
|
|
80
78
|
const releaseTags = [...this.defaultBranchPrereleaseName ? [this.defaultBranchPrereleaseName] : [], 'prerelease', 'rc'];
|
|
81
79
|
parsedSortedTags = parsedSortedTags.filter((parsedTag) => parsedTag.prerelease.length === 0 || releaseTags.includes(`${parsedTag.prerelease[0]}`));
|
|
82
80
|
}
|
|
81
|
+
else {
|
|
82
|
+
// If release branch, we filter all versions that do not satisfy the branch name to exclude 3.6.0-alpha.2 when building branch release/3.6 for example
|
|
83
|
+
parsedSortedTags = parsedSortedTags.filter((parsedTag) => semver.satisfies(parsedTag, `~${versionMask}`));
|
|
84
|
+
}
|
|
83
85
|
this.options.logger.debug('Tags after filtering:');
|
|
84
86
|
this.options.logger.debug(JSON.stringify(parsedSortedTags));
|
|
85
87
|
const latest = parsedSortedTags[0];
|
|
@@ -90,7 +92,7 @@ class NewVersion {
|
|
|
90
92
|
// If we couldn't find a label after filtering, create a new one using the version mask given
|
|
91
93
|
baseVersion = `${semver.minVersion(versionMask).version}-${this.defaultBranchPrereleaseName}.0`;
|
|
92
94
|
}
|
|
93
|
-
else if (latest.prerelease.
|
|
95
|
+
else if (latest.prerelease.includes(this.defaultBranchPrereleaseName || '')) {
|
|
94
96
|
// If the latest label is a default branch label, we will simply bump it
|
|
95
97
|
this.options.logger.info(`Bumping patch ${this.defaultBranchPrereleaseName || ''}`);
|
|
96
98
|
baseVersion = latest.raw;
|
|
@@ -113,7 +115,7 @@ class NewVersion {
|
|
|
113
115
|
// If it's a pull-request build, we do not increment but instead add the 'pr' flag and build number to the version
|
|
114
116
|
return `${baseVersion}${this.options.prPreReleaseTag ? '-' + this.options.prPreReleaseTag : ''}.${this.options.buildId}`;
|
|
115
117
|
}
|
|
116
|
-
if (!latest || this.isDefaultBranch && latest.prerelease.every((releaseTag) => releaseTag !== this.defaultBranchPrereleaseName)) {
|
|
118
|
+
if (!latest || (this.isDefaultBranch && latest.prerelease.every((releaseTag) => releaseTag !== this.defaultBranchPrereleaseName))) {
|
|
117
119
|
// If this is a new release or a new minor of a default branch, we don't bump since they are initialised as .0
|
|
118
120
|
return baseVersion;
|
|
119
121
|
}
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|