Skip to content

Commit 37282f9

Browse files
committed
fix replace-url-versions script to be idempotent
1 parent 95562e4 commit 37282f9

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

node-tests/replace-url-versions.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,13 @@ describe('replace url versions', function () {
1717
'3.15'
1818
)
1919
).to.equal('https://api.emberjs.com/ember/3.15');
20+
// the script is idempotent now so will only replace /release/ links
2021
expect(
2122
replaceURLVersions('https://api.emberjs.com/ember/3.20/', '3.15', '3.15')
22-
).to.equal('https://api.emberjs.com/ember/3.15/');
23+
).to.equal('https://api.emberjs.com/ember/3.20/');
2324
expect(
2425
replaceURLVersions('https://api.emberjs.com/ember/3.20', '3.15', '3.15')
25-
).to.equal('https://api.emberjs.com/ember/3.15');
26+
).to.equal('https://api.emberjs.com/ember/3.20');
2627
expect(
2728
replaceURLVersions(
2829
'https://api.emberjs.com/ember/release/classes/Application',
@@ -65,20 +66,22 @@ describe('replace url versions', function () {
6566
'3.15'
6667
)
6768
).to.equal('https://api.emberjs.com/ember-data/3.15/classes/Model/');
69+
70+
// the script is idempotent now so will only replace /release/ links
6871
expect(
6972
replaceURLVersions(
7073
'https://api.emberjs.com/ember-data/3.20/classes/Model/',
7174
'3.15',
7275
'3.15'
7376
)
74-
).to.equal('https://api.emberjs.com/ember-data/3.15/classes/Model/');
77+
).to.equal('https://api.emberjs.com/ember-data/3.20/classes/Model/');
7578
expect(
7679
replaceURLVersions(
7780
'https://api.emberjs.com/ember-data/3.20/classes/Model/',
7881
'3.15',
7982
'3.12'
8083
)
81-
).to.equal('https://api.emberjs.com/ember-data/3.12/classes/Model/');
84+
).to.equal('https://api.emberjs.com/ember-data/3.20/classes/Model/');
8285
expect(
8386
replaceURLVersions(
8487
'https://api.emberjs.com/ember/release/classes/@ember%2Fapplication/methods/getOwner',

scripts/helpers/replace-url-versions.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,26 @@ module.exports = function replaceURLVersions(
1010
? emberVersion
1111
: emberVersion + '.0';
1212
output = str.replace(
13-
/https:\/\/guides.emberjs.com\/(release|v\d+\.\d+.\d+)(\/?)/g,
13+
/https:\/\/guides.emberjs.com\/(release)(\/?)/g,
1414
`https://guides.emberjs.com/v${emberPatchVersion}$2`
1515
);
1616

1717
const emberDataPatchVersion = /\d+\.\d+.\d+/.test(emberDataVersion)
1818
? emberDataVersion
1919
: emberDataVersion + '.0';
2020
output = str.replace(
21-
/https:\/\/guides.emberjs.com\/(release|v\d+\.\d+.\d+)(\/?)/g,
21+
/https:\/\/guides.emberjs.com\/(release)(\/?)/g,
2222
`https://guides.emberjs.com/v${emberDataPatchVersion}$2`
2323
);
2424

2525
// apis use `3.20` version format
2626
output = output.replace(
27-
/https:\/\/api.emberjs.com\/(ember)\/(release|\d+\.\d+)(\/?)/g,
27+
/https:\/\/api.emberjs.com\/(ember)\/(release)(\/?)/g,
2828
`https://api.emberjs.com/$1/${emberVersion}$3`
2929
);
3030

3131
output = output.replace(
32-
/https:\/\/api.emberjs.com\/(ember-data)\/(release|\d+\.\d+)(\/?)/g,
32+
/https:\/\/api.emberjs.com\/(ember-data)\/(release)(\/?)/g,
3333
`https://api.emberjs.com/$1/${emberDataVersion}$3`
3434
);
3535

0 commit comments

Comments
 (0)