Skip to content

Commit a69295a

Browse files
committed
WIP fix update version links
1 parent 069a397 commit a69295a

File tree

3 files changed

+73
-70
lines changed

3 files changed

+73
-70
lines changed

node-tests/replace-url-versions.js

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
const { expect } = require('chai');
2+
const replaceURLsVersions = require('../scripts/helpers/replace-url-versions');
3+
4+
describe('replace url versions', function () {
5+
it('works', function () {
6+
let test;
7+
8+
console.log('Running tests...');
9+
10+
expect(replaceURLsVersions('https://api.emberjs.com/ember/release/', '3.15')).to.equal('https://api.emberjs.com/ember/3.15/')
11+
12+
test = replaceURLsVersions('https://api.emberjs.com/ember/release', '3.15');
13+
console.log(test === 'https://api.emberjs.com/ember/3.15' ? '✅' : '❌', test);
14+
15+
test = replaceURLsVersions('https://api.emberjs.com/ember/3.20/', '3.15');
16+
console.log(test === 'https://api.emberjs.com/ember/3.15/' ? '✅' : '❌', test);
17+
18+
test = replaceURLsVersions('https://api.emberjs.com/ember/3.20', '3.15');
19+
console.log(test === 'https://api.emberjs.com/ember/3.15' ? '✅' : '❌', test);
20+
21+
test = replaceURLsVersions('https://api.emberjs.com/ember/release/classes/Application', '3.15');
22+
console.log(test === 'https://api.emberjs.com/ember/3.15/classes/Application' ? '✅' : '❌', test);
23+
24+
test = replaceURLsVersions('https://api.emberjs.com/ember-data/release/', '3.15');
25+
console.log(test === 'https://api.emberjs.com/ember-data/3.15/' ? '✅' : '❌', test);
26+
27+
test = replaceURLsVersions('https://api.emberjs.com/ember-data/release', '3.15');
28+
console.log(test === 'https://api.emberjs.com/ember-data/3.15' ? '✅' : '❌', test);
29+
30+
test = replaceURLsVersions('https://api.emberjs.com/ember-data/release/classes/Model/', '3.15');
31+
console.log(test === 'https://api.emberjs.com/ember-data/3.15/classes/Model/' ? '✅' : '❌', test);
32+
33+
test = replaceURLsVersions('https://api.emberjs.com/ember-data/3.20/classes/Model/', '3.15');
34+
console.log(test === 'https://api.emberjs.com/ember-data/3.15/classes/Model/' ? '✅' : '❌', test);
35+
36+
test = replaceURLsVersions('https://api.emberjs.com/ember/release/classes/@ember%2Fapplication/methods/getOwner', '3.15');
37+
console.log(test === 'https://api.emberjs.com/ember/3.15/classes/@ember%2Fapplication/methods/getOwner' ? '✅' : '❌', test);
38+
39+
test = replaceURLsVersions('https://guides.emberjs.com/release/getting-started/', '3.15');
40+
console.log(test === 'https://guides.emberjs.com/v3.15.0/getting-started/' ? '✅' : '❌', test);
41+
42+
test = replaceURLsVersions('https://guides.emberjs.com/release/getting-started/', '3.16.0');
43+
console.log(test === 'https://guides.emberjs.com/v3.16.0/getting-started/' ? '✅' : '❌', test);
44+
})
45+
})
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
module.exports = function replaceURLVersions(str, emberVersion, emberDataVersion) {
2+
let output;
3+
4+
// guides use `v3.20.0` version format
5+
const patchVersion = /\d+\.\d+.\d+/.test(version) ? version : version + '.0';
6+
output = str.replace(
7+
/https:\/\/guides.emberjs.com\/(release|v\d+\.\d+.\d+)(\/?)/g,
8+
`https://guides.emberjs.com/v${patchVersion}$2`
9+
);
10+
11+
// apis use `3.20` version format
12+
output = output.replace(
13+
/https:\/\/api.emberjs.com\/(ember)\/(release|\d+\.\d+)(\/?)/g,
14+
`https://api.emberjs.com/$1/${emberVersion}$3`
15+
);
16+
17+
output = output.replace(
18+
/https:\/\/api.emberjs.com\/(ember-data)\/(release|\d+\.\d+)(\/?)/g,
19+
`https://api.emberjs.com/$1/${emberDataVersion}$3`
20+
);
21+
22+
return output;
23+
};

scripts/update-version-links

Lines changed: 5 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -26,83 +26,18 @@
2626
*/
2727

2828
const fs = require('fs');
29+
const replaceURLsVersions = require('./helpers/replace-url-versions')
2930
const { Command } = require('commander');
3031
const program = new Command();
31-
program.option('--tests')
32-
.option('--dry-run')
32+
program.option('--dry-run')
3333
.option('--verbose')
3434
.option('--silent')
35-
.argument('[currentFolder]')
36-
.argument('[newVersionNumber]');
35+
.argument('<currentFolder>')
36+
.argument('<newEmberVersionNumber>')
37+
.argument('<newEmberDataVersionNumber>');
3738
program.parse(process.argv);
3839
const options = program.opts();
3940

40-
const replaceURLsVersions = (str, version) => {
41-
let output;
42-
43-
// guides use `v3.20.0` version format
44-
const patchVersion = /\d+\.\d+.\d+/.test(version) ? version : version + '.0';
45-
output = str.replace(
46-
/https:\/\/guides.emberjs.com\/(release|v\d+\.\d+.\d+)(\/?)/g,
47-
`https://guides.emberjs.com/v${patchVersion}$2`
48-
);
49-
50-
// apis use `3.20` version format
51-
output = output.replace(
52-
/https:\/\/api.emberjs.com\/(ember|ember-data)\/(release|\d+\.\d+)(\/?)/g,
53-
`https://api.emberjs.com/$1/${version}$3`
54-
);
55-
56-
return output;
57-
};
58-
59-
const runTests = () => {
60-
let test;
61-
62-
console.log('Running tests...');
63-
64-
test = replaceURLsVersions('https://api.emberjs.com/ember/release/', '3.15');
65-
console.log(test === 'https://api.emberjs.com/ember/3.15/' ? '✅' : '❌', test);
66-
67-
test = replaceURLsVersions('https://api.emberjs.com/ember/release', '3.15');
68-
console.log(test === 'https://api.emberjs.com/ember/3.15' ? '✅' : '❌', test);
69-
70-
test = replaceURLsVersions('https://api.emberjs.com/ember/3.20/', '3.15');
71-
console.log(test === 'https://api.emberjs.com/ember/3.15/' ? '✅' : '❌', test);
72-
73-
test = replaceURLsVersions('https://api.emberjs.com/ember/3.20', '3.15');
74-
console.log(test === 'https://api.emberjs.com/ember/3.15' ? '✅' : '❌', test);
75-
76-
test = replaceURLsVersions('https://api.emberjs.com/ember/release/classes/Application', '3.15');
77-
console.log(test === 'https://api.emberjs.com/ember/3.15/classes/Application' ? '✅' : '❌', test);
78-
79-
test = replaceURLsVersions('https://api.emberjs.com/ember-data/release/', '3.15');
80-
console.log(test === 'https://api.emberjs.com/ember-data/3.15/' ? '✅' : '❌', test);
81-
82-
test = replaceURLsVersions('https://api.emberjs.com/ember-data/release', '3.15');
83-
console.log(test === 'https://api.emberjs.com/ember-data/3.15' ? '✅' : '❌', test);
84-
85-
test = replaceURLsVersions('https://api.emberjs.com/ember-data/release/classes/Model/', '3.15');
86-
console.log(test === 'https://api.emberjs.com/ember-data/3.15/classes/Model/' ? '✅' : '❌', test);
87-
88-
test = replaceURLsVersions('https://api.emberjs.com/ember-data/3.20/classes/Model/', '3.15');
89-
console.log(test === 'https://api.emberjs.com/ember-data/3.15/classes/Model/' ? '✅' : '❌', test);
90-
91-
test = replaceURLsVersions('https://api.emberjs.com/ember/release/classes/@ember%2Fapplication/methods/getOwner', '3.15');
92-
console.log(test === 'https://api.emberjs.com/ember/3.15/classes/@ember%2Fapplication/methods/getOwner' ? '✅' : '❌', test);
93-
94-
test = replaceURLsVersions('https://guides.emberjs.com/release/getting-started/', '3.15');
95-
console.log(test === 'https://guides.emberjs.com/v3.15.0/getting-started/' ? '✅' : '❌', test);
96-
97-
test = replaceURLsVersions('https://guides.emberjs.com/release/getting-started/', '3.16.0');
98-
console.log(test === 'https://guides.emberjs.com/v3.16.0/getting-started/' ? '✅' : '❌', test);
99-
};
100-
101-
if (options.tests) {
102-
runTests();
103-
process.exit(0);
104-
}
105-
10641
const currentFolder = fs.realpathSync(program.args[0]);
10742
const newVersionNumber = program.args[1];
10843

0 commit comments

Comments
 (0)