|
2 | 2 |
|
3 | 3 | const semver = require('semver') |
4 | 4 |
|
5 | | -const postMergeDownloads = [ |
| 5 | +const allDownloads = [ |
6 | 6 | { |
7 | 7 | 'title': 'Windows 32-bit Installer', |
8 | 8 | 'templateUrl': 'https://nodejs.org/dist/v%version%/node-v%version%-x86.msi' |
@@ -77,9 +77,6 @@ const postMergeDownloads = [ |
77 | 77 | } |
78 | 78 | ] |
79 | 79 |
|
80 | | -// Latest releases (v8.x and above) don't offer 'Linux PPC BE 64-bit Binary' any longer |
81 | | -const latestDownloads = postMergeDownloads.filter(download => download.title !== 'Linux PPC BE 64-bit Binary') |
82 | | - |
83 | 80 | // v0.x of Node.js |
84 | 81 | const legacyDownloads = [ |
85 | 82 | { |
@@ -132,21 +129,39 @@ const legacyDownloads = [ |
132 | 129 | } |
133 | 130 | ] |
134 | 131 |
|
135 | | -function resolveUrl (item, version) { |
| 132 | +const resolveUrl = (item, version) => { |
136 | 133 | const url = item.templateUrl.replace(/%version%/g, version) |
137 | 134 | return Object.assign({ url }, item) |
138 | 135 | } |
139 | 136 |
|
140 | | -module.exports = (version) => { |
141 | | - let downloads = latestDownloads |
| 137 | +const resolveDownloads = (version) => { |
| 138 | + let downloads = allDownloads |
| 139 | + |
142 | 140 | if (semver.satisfies(version, '< 1.0.0')) { |
143 | | - downloads = legacyDownloads |
144 | | - } else if (semver.satisfies(version, '< 8.0.0')) { |
145 | | - downloads = postMergeDownloads |
146 | | - } else if (semver.satisfies(version, '>= 10.0.0')) { |
| 141 | + return legacyDownloads |
| 142 | + } |
| 143 | + |
| 144 | + if (semver.satisfies(version, '>= 8.0.0')) { |
| 145 | + downloads = downloads.filter(ver => |
| 146 | + ver.title !== 'Linux PPC BE 64-bit Binary' |
| 147 | + ) |
| 148 | + } |
| 149 | + |
| 150 | + if (semver.satisfies(version, '>= 10.0.0')) { |
147 | 151 | downloads = downloads.filter(ver => |
148 | 152 | ver.title !== 'Linux 32-bit Binary' && |
149 | | - ver.title !== 'SmartOS 32-bit Binary') |
| 153 | + ver.title !== 'SmartOS 32-bit Binary' |
| 154 | + ) |
| 155 | + } |
| 156 | + |
| 157 | + if (semver.satisfies(version, '>= 12.0.0')) { |
| 158 | + downloads = downloads.filter(ver => |
| 159 | + ver.title !== 'ARMv6 32-bit Binary' |
| 160 | + ) |
150 | 161 | } |
151 | | - return downloads.map((item) => resolveUrl(item, version)) |
| 162 | + |
| 163 | + return downloads |
152 | 164 | } |
| 165 | + |
| 166 | +module.exports = (version) => |
| 167 | + resolveDownloads(version).map((item) => resolveUrl(item, version)) |
0 commit comments