node-semvers 1.7.4 → 1.8.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/.cache/3e518548def49188754e83e93390ac26.json +1 -0
- package/.cache/5b29244cf59413e77327386593beb199.json +1 -0
- package/dist/cjs/NodeVersions.d.cts +2 -2
- package/dist/cjs/NodeVersions.d.ts +2 -2
- package/dist/cjs/NodeVersions.js +15 -2
- package/dist/cjs/NodeVersions.js.map +1 -1
- package/dist/cjs/constants.d.cts +2 -2
- package/dist/cjs/constants.d.ts +2 -2
- package/dist/cjs/constants.js +6 -6
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/types.d.cts +10 -18
- package/dist/cjs/types.d.ts +10 -18
- package/dist/esm/NodeVersions.d.ts +2 -2
- package/dist/esm/NodeVersions.js +10 -2
- package/dist/esm/NodeVersions.js.map +1 -1
- package/dist/esm/constants.d.ts +2 -2
- package/dist/esm/constants.js +8 -6
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/types.d.ts +10 -18
- package/dist/esm/types.js.map +1 -1
- package/package.json +3 -4
- package/assets/constants.cjs +0 -16
- package/assets/postinstall.cjs +0 -51
- package/dist/cjs/assets/constants.cjs +0 -8
- package/dist/cjs/assets/constants.cjs.map +0 -1
- package/dist/cjs/assets/constants.d.cts +0 -1
- package/dist/cjs/assets/postinstall.cjs +0 -35
- package/dist/cjs/assets/postinstall.cjs.map +0 -1
- package/dist/cjs/assets/postinstall.d.cts +0 -1
- package/dist/esm/assets/constants.cjs +0 -6
- package/dist/esm/assets/constants.cjs.map +0 -1
- package/dist/esm/assets/constants.d.cts +0 -1
- package/dist/esm/assets/postinstall.cjs +0 -33
- package/dist/esm/assets/postinstall.cjs.map +0 -1
- package/dist/esm/assets/postinstall.d.cts +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"headers":{"connection":"keep-alive","content-length":"3255","cache-control":"max-age=300","content-security-policy":"default-src 'none'; style-src 'unsafe-inline'; sandbox","content-type":"text/plain; charset=utf-8","etag":"\"97f0f333e5b05199db62dd311805762d4562ab29f6eacb2e1fc8e70f3cbe0b6d\"","strict-transport-security":"max-age=31536000","x-content-type-options":"nosniff","x-frame-options":"deny","x-xss-protection":"1; mode=block","x-github-request-id":"8F9A:274A47:10D10:15BE7:6A98CBFA","x-github-edge-region":"iad","accept-ranges":"bytes","date":"Thu, 03 Sep 2026 02:44:13 GMT","via":"1.1 varnish","x-served-by":"cache-yvr-cyvr160064-YVR","x-cache":"HIT","x-cache-hits":"1","x-timer":"S1788403453.267080,VS0,VE279","vary":"Authorization,Accept-Encoding","access-control-allow-origin":"*","cross-origin-resource-policy":"cross-origin","x-fastly-request-id":"88e16d88a3dfdbb1e8b8dc67f3ead5a179125e11","expires":"Thu, 03 Sep 2026 02:49:13 GMT","source-age":"0"},"body":{"v0.8":{"start":"2012-06-25","end":"2014-07-31"},"v0.10":{"start":"2013-03-11","end":"2016-10-31"},"v0.12":{"start":"2015-02-06","end":"2016-12-31"},"v4":{"start":"2015-09-08","lts":"2015-10-12","maintenance":"2017-04-01","end":"2018-04-30","codename":"Argon"},"v5":{"start":"2015-10-29","maintenance":"2016-04-30","end":"2016-06-30"},"v6":{"start":"2016-04-26","lts":"2016-10-18","maintenance":"2018-04-30","end":"2019-04-30","codename":"Boron"},"v7":{"start":"2016-10-25","maintenance":"2017-04-30","end":"2017-06-30"},"v8":{"start":"2017-05-30","lts":"2017-10-31","maintenance":"2019-01-01","end":"2019-12-31","codename":"Carbon"},"v9":{"start":"2017-10-01","maintenance":"2018-04-01","end":"2018-06-30"},"v10":{"start":"2018-04-24","lts":"2018-10-30","maintenance":"2020-05-19","end":"2021-04-30","codename":"Dubnium"},"v11":{"start":"2018-10-23","maintenance":"2019-04-22","end":"2019-06-01"},"v12":{"start":"2019-04-23","lts":"2019-10-21","maintenance":"2020-11-30","end":"2022-04-30","codename":"Erbium"},"v13":{"start":"2019-10-22","maintenance":"2020-04-01","end":"2020-06-01"},"v14":{"start":"2020-04-21","lts":"2020-10-27","maintenance":"2021-10-19","end":"2023-04-30","codename":"Fermium"},"v15":{"start":"2020-10-20","maintenance":"2021-04-01","end":"2021-06-01"},"v16":{"start":"2021-04-20","lts":"2021-10-26","maintenance":"2022-10-18","end":"2023-09-11","codename":"Gallium"},"v17":{"start":"2021-10-19","maintenance":"2022-04-01","end":"2022-06-01"},"v18":{"start":"2022-04-19","lts":"2022-10-25","maintenance":"2023-10-18","end":"2025-04-30","codename":"Hydrogen"},"v19":{"start":"2022-10-18","maintenance":"2023-04-01","end":"2023-06-01"},"v20":{"start":"2023-04-18","lts":"2023-10-24","maintenance":"2024-10-22","end":"2026-04-30","codename":"Iron"},"v21":{"start":"2023-10-17","maintenance":"2024-04-01","end":"2024-06-01"},"v22":{"start":"2024-04-24","lts":"2024-10-29","maintenance":"2025-10-21","end":"2027-04-30","codename":"Jod"},"v23":{"start":"2024-10-16","maintenance":"2025-04-01","end":"2025-06-01"},"v24":{"start":"2025-05-06","lts":"2025-10-28","maintenance":"2026-10-20","end":"2028-04-30","codename":"Krypton"},"v25":{"start":"2025-10-15","maintenance":"2026-04-01","end":"2026-06-01"},"v26":{"start":"2026-05-05","lts":"2026-10-28","maintenance":"2027-10-20","end":"2029-04-30","codename":""},"v27":{"alpha":"2026-10-28","start":"2027-04-22","maintenance":"2027-10-20","end":"2030-04-30","codename":""}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"headers":{"date":"Thu, 03 Sep 2026 02:44:13 GMT","content-type":"application/json","content-length":"329756","connection":"keep-alive","cf-cache-status":"HIT","accept-ranges":"bytes","access-control-allow-origin":"*","age":"6085","cache-control":"public, max-age=3600, s-maxage=14400","etag":"\"0b78e69a9826966a8090271b55a15169\"","last-modified":"Wed, 26 Aug 2026 22:09:07 GMT","strict-transport-security":"max-age=31536000; includeSubDomains; preload","x-content-type-options":"nosniff","server":"cloudflare","cf-ray":"a351694e6e86e19b-YVR"},"body":[{"version":"v26.8.1","date":"2026-08-26","lts":false},{"version":"v26.8.0","date":"2026-08-25","lts":false},{"version":"v26.7.0","date":"2026-08-05","lts":false},{"version":"v26.6.0","date":"2026-08-03","lts":false},{"version":"v26.5.1","date":"2026-07-28","lts":false},{"version":"v26.5.0","date":"2026-07-08","lts":false},{"version":"v26.4.0","date":"2026-06-24","lts":false},{"version":"v26.3.1","date":"2026-06-17","lts":false},{"version":"v26.3.0","date":"2026-06-01","lts":false},{"version":"v26.2.0","date":"2026-05-20","lts":false},{"version":"v26.1.0","date":"2026-05-06","lts":false},{"version":"v26.0.0","date":"2026-05-05","lts":false},{"version":"v25.9.0","date":"2026-03-31","lts":false},{"version":"v25.8.2","date":"2026-03-24","lts":false},{"version":"v25.8.1","date":"2026-03-10","lts":false},{"version":"v25.8.0","date":"2026-03-03","lts":false},{"version":"v25.7.0","date":"2026-02-24","lts":false},{"version":"v25.6.1","date":"2026-02-09","lts":false},{"version":"v25.6.0","date":"2026-02-02","lts":false},{"version":"v25.5.0","date":"2026-01-26","lts":false},{"version":"v25.4.0","date":"2026-01-19","lts":false},{"version":"v25.3.0","date":"2026-01-12","lts":false},{"version":"v25.2.1","date":"2025-11-16","lts":false},{"version":"v25.2.0","date":"2025-11-11","lts":false},{"version":"v25.1.0","date":"2025-10-28","lts":false},{"version":"v25.0.0","date":"2025-10-15","lts":false},{"version":"v24.20.0","date":"2026-08-26","lts":"Krypton"},{"version":"v24.19.0","date":"2026-08-03","lts":"Krypton"},{"version":"v24.18.1","date":"2026-07-28","lts":"Krypton"},{"version":"v24.18.0","date":"2026-06-23","lts":"Krypton"},{"version":"v24.17.0","date":"2026-06-17","lts":"Krypton"},{"version":"v24.16.0","date":"2026-05-21","lts":"Krypton"},{"version":"v24.15.0","date":"2026-04-15","lts":"Krypton"},{"version":"v24.14.1","date":"2026-03-24","lts":"Krypton"},{"version":"v24.14.0","date":"2026-02-24","lts":"Krypton"},{"version":"v24.13.1","date":"2026-02-09","lts":"Krypton"},{"version":"v24.13.0","date":"2026-01-12","lts":"Krypton"},{"version":"v24.12.0","date":"2025-12-10","lts":"Krypton"},{"version":"v24.11.1","date":"2025-11-11","lts":"Krypton"},{"version":"v24.11.0","date":"2025-10-28","lts":"Krypton"},{"version":"v24.10.0","date":"2025-10-08","lts":false},{"version":"v24.9.0","date":"2025-09-25","lts":false},{"version":"v24.8.0","date":"2025-09-10","lts":false},{"version":"v24.7.0","date":"2025-08-27","lts":false},{"version":"v24.6.0","date":"2025-08-14","lts":false},{"version":"v24.5.0","date":"2025-07-31","lts":false},{"version":"v24.4.1","date":"2025-07-15","lts":false},{"version":"v24.4.0","date":"2025-07-09","lts":false},{"version":"v24.3.0","date":"2025-06-24","lts":false},{"version":"v24.2.0","date":"2025-06-09","lts":false},{"version":"v24.1.0","date":"2025-05-20","lts":false},{"version":"v24.0.2","date":"2025-05-14","lts":false},{"version":"v24.0.1","date":"2025-05-08","lts":false},{"version":"v24.0.0","date":"2025-05-06","lts":false},{"version":"v23.11.1","date":"2025-05-14","lts":false},{"version":"v23.11.0","date":"2025-04-01","lts":false},{"version":"v23.10.0","date":"2025-03-13","lts":false},{"version":"v23.9.0","date":"2025-02-26","lts":false},{"version":"v23.8.0","date":"2025-02-13","lts":false},{"version":"v23.7.0","date":"2025-01-30","lts":false},{"version":"v23.6.1","date":"2025-01-21","lts":false},{"version":"v23.6.0","date":"2025-01-07","lts":false},{"version":"v23.5.0","date":"2024-12-19","lts":false},{"version":"v23.4.0","date":"2024-12-10","lts":false},{"version":"v23.3.0","date":"2024-11-20","lts":false},{"version":"v23.2.0","date":"2024-11-11","lts":false},{"version":"v23.1.0","date":"2024-10-24","lts":false},{"version":"v23.0.0","date":"2024-10-16","lts":false},{"version":"v22.23.2","date":"2026-07-28","lts":"Jod"},{"version":"v22.23.1","date":"2026-06-22","lts":"Jod"},{"version":"v22.23.0","date":"2026-06-17","lts":"Jod"},{"version":"v22.22.3","date":"2026-05-13","lts":"Jod"},{"version":"v22.22.2","date":"2026-03-24","lts":"Jod"},{"version":"v22.22.1","date":"2026-03-04","lts":"Jod"},{"version":"v22.22.0","date":"2026-01-12","lts":"Jod"},{"version":"v22.21.1","date":"2025-10-28","lts":"Jod"},{"version":"v22.21.0","date":"2025-10-20","lts":"Jod"},{"version":"v22.20.0","date":"2025-09-24","lts":"Jod"},{"version":"v22.19.0","date":"2025-08-28","lts":"Jod"},{"version":"v22.18.0","date":"2025-07-31","lts":"Jod"},{"version":"v22.17.1","date":"2025-07-15","lts":"Jod"},{"version":"v22.17.0","date":"2025-06-24","lts":"Jod"},{"version":"v22.16.0","date":"2025-05-20","lts":"Jod"},{"version":"v22.15.1","date":"2025-05-14","lts":"Jod"},{"version":"v22.15.0","date":"2025-04-22","lts":"Jod"},{"version":"v22.14.0","date":"2025-02-11","lts":"Jod"},{"version":"v22.13.1","date":"2025-01-21","lts":"Jod"},{"version":"v22.13.0","date":"2025-01-06","lts":"Jod"},{"version":"v22.12.0","date":"2024-12-02","lts":"Jod"},{"version":"v22.11.0","date":"2024-10-29","lts":"Jod"},{"version":"v22.10.0","date":"2024-10-16","lts":false},{"version":"v22.9.0","date":"2024-09-17","lts":false},{"version":"v22.8.0","date":"2024-09-03","lts":false},{"version":"v22.7.0","date":"2024-08-21","lts":false},{"version":"v22.6.0","date":"2024-08-06","lts":false},{"version":"v22.5.1","date":"2024-07-19","lts":false},{"version":"v22.5.0","date":"2024-07-17","lts":false},{"version":"v22.4.1","date":"2024-07-08","lts":false},{"version":"v22.4.0","date":"2024-07-02","lts":false},{"version":"v22.3.0","date":"2024-06-11","lts":false},{"version":"v22.2.0","date":"2024-05-15","lts":false},{"version":"v22.1.0","date":"2024-05-02","lts":false},{"version":"v22.0.0","date":"2024-04-24","lts":false},{"version":"v21.7.3","date":"2024-04-10","lts":false},{"version":"v21.7.2","date":"2024-04-03","lts":false},{"version":"v21.7.1","date":"2024-03-08","lts":false},{"version":"v21.7.0","date":"2024-03-06","lts":false},{"version":"v21.6.2","date":"2024-02-13","lts":false},{"version":"v21.6.1","date":"2024-01-22","lts":false},{"version":"v21.6.0","date":"2024-01-14","lts":false},{"version":"v21.5.0","date":"2023-12-19","lts":false},{"version":"v21.4.0","date":"2023-12-05","lts":false},{"version":"v21.3.0","date":"2023-11-30","lts":false},{"version":"v21.2.0","date":"2023-11-14","lts":false},{"version":"v21.1.0","date":"2023-10-24","lts":false},{"version":"v21.0.0","date":"2023-10-17","lts":false},{"version":"v20.20.2","date":"2026-03-24","lts":"Iron"},{"version":"v20.20.1","date":"2026-03-04","lts":"Iron"},{"version":"v20.20.0","date":"2026-01-12","lts":"Iron"},{"version":"v20.19.6","date":"2025-11-25","lts":"Iron"},{"version":"v20.19.5","date":"2025-09-03","lts":"Iron"},{"version":"v20.19.4","date":"2025-07-15","lts":"Iron"},{"version":"v20.19.3","date":"2025-06-23","lts":"Iron"},{"version":"v20.19.2","date":"2025-05-14","lts":"Iron"},{"version":"v20.19.1","date":"2025-04-22","lts":"Iron"},{"version":"v20.19.0","date":"2025-03-13","lts":"Iron"},{"version":"v20.18.3","date":"2025-02-10","lts":"Iron"},{"version":"v20.18.2","date":"2025-01-21","lts":"Iron"},{"version":"v20.18.1","date":"2024-11-20","lts":"Iron"},{"version":"v20.18.0","date":"2024-10-03","lts":"Iron"},{"version":"v20.17.0","date":"2024-08-21","lts":"Iron"},{"version":"v20.16.0","date":"2024-07-24","lts":"Iron"},{"version":"v20.15.1","date":"2024-07-08","lts":"Iron"},{"version":"v20.15.0","date":"2024-06-20","lts":"Iron"},{"version":"v20.14.0","date":"2024-05-28","lts":"Iron"},{"version":"v20.13.1","date":"2024-05-09","lts":"Iron"},{"version":"v20.13.0","date":"2024-05-07","lts":"Iron"},{"version":"v20.12.2","date":"2024-04-10","lts":"Iron"},{"version":"v20.12.1","date":"2024-04-03","lts":"Iron"},{"version":"v20.12.0","date":"2024-03-26","lts":"Iron"},{"version":"v20.11.1","date":"2024-02-13","lts":"Iron"},{"version":"v20.11.0","date":"2024-01-09","lts":"Iron"},{"version":"v20.10.0","date":"2023-11-22","lts":"Iron"},{"version":"v20.9.0","date":"2023-10-24","lts":"Iron"},{"version":"v20.8.1","date":"2023-10-13","lts":false},{"version":"v20.8.0","date":"2023-09-28","lts":false},{"version":"v20.7.0","date":"2023-09-18","lts":false},{"version":"v20.6.1","date":"2023-09-07","lts":false},{"version":"v20.6.0","date":"2023-08-23","lts":false},{"version":"v20.5.1","date":"2023-08-09","lts":false},{"version":"v20.5.0","date":"2023-07-19","lts":false},{"version":"v20.4.0","date":"2023-07-04","lts":false},{"version":"v20.3.1","date":"2023-06-20","lts":false},{"version":"v20.3.0","date":"2023-06-08","lts":false},{"version":"v20.2.0","date":"2023-05-16","lts":false},{"version":"v20.1.0","date":"2023-05-03","lts":false},{"version":"v20.0.0","date":"2023-04-17","lts":false},{"version":"v19.9.0","date":"2023-04-10","lts":false},{"version":"v19.8.1","date":"2023-03-15","lts":false},{"version":"v19.8.0","date":"2023-03-14","lts":false},{"version":"v19.7.0","date":"2023-02-21","lts":false},{"version":"v19.6.1","date":"2023-02-16","lts":false},{"version":"v19.6.0","date":"2023-02-01","lts":false},{"version":"v19.5.0","date":"2023-01-24","lts":false},{"version":"v19.4.0","date":"2023-01-05","lts":false},{"version":"v19.3.0","date":"2022-12-14","lts":false},{"version":"v19.2.0","date":"2022-11-29","lts":false},{"version":"v19.1.0","date":"2022-11-14","lts":false},{"version":"v19.0.1","date":"2022-11-04","lts":false},{"version":"v19.0.0","date":"2022-10-17","lts":false},{"version":"v18.20.8","date":"2025-03-27","lts":"Hydrogen"},{"version":"v18.20.7","date":"2025-02-20","lts":"Hydrogen"},{"version":"v18.20.6","date":"2025-01-21","lts":"Hydrogen"},{"version":"v18.20.5","date":"2024-11-11","lts":"Hydrogen"},{"version":"v18.20.4","date":"2024-07-08","lts":"Hydrogen"},{"version":"v18.20.3","date":"2024-05-20","lts":"Hydrogen"},{"version":"v18.20.2","date":"2024-04-10","lts":"Hydrogen"},{"version":"v18.20.1","date":"2024-04-02","lts":"Hydrogen"},{"version":"v18.20.0","date":"2024-03-26","lts":"Hydrogen"},{"version":"v18.19.1","date":"2024-02-13","lts":"Hydrogen"},{"version":"v18.19.0","date":"2023-11-29","lts":"Hydrogen"},{"version":"v18.18.2","date":"2023-10-13","lts":"Hydrogen"},{"version":"v18.18.1","date":"2023-10-10","lts":"Hydrogen"},{"version":"v18.18.0","date":"2023-09-18","lts":"Hydrogen"},{"version":"v18.17.1","date":"2023-08-08","lts":"Hydrogen"},{"version":"v18.17.0","date":"2023-07-18","lts":"Hydrogen"},{"version":"v18.16.1","date":"2023-06-20","lts":"Hydrogen"},{"version":"v18.16.0","date":"2023-04-12","lts":"Hydrogen"},{"version":"v18.15.0","date":"2023-03-05","lts":"Hydrogen"},{"version":"v18.14.2","date":"2023-02-21","lts":"Hydrogen"},{"version":"v18.14.1","date":"2023-02-16","lts":"Hydrogen"},{"version":"v18.14.0","date":"2023-02-01","lts":"Hydrogen"},{"version":"v18.13.0","date":"2023-01-05","lts":"Hydrogen"},{"version":"v18.12.1","date":"2022-11-04","lts":"Hydrogen"},{"version":"v18.12.0","date":"2022-10-25","lts":"Hydrogen"},{"version":"v18.11.0","date":"2022-10-13","lts":false},{"version":"v18.10.0","date":"2022-09-28","lts":false},{"version":"v18.9.1","date":"2022-09-23","lts":false},{"version":"v18.9.0","date":"2022-09-07","lts":false},{"version":"v18.8.0","date":"2022-08-24","lts":false},{"version":"v18.7.0","date":"2022-07-26","lts":false},{"version":"v18.6.0","date":"2022-07-13","lts":false},{"version":"v18.5.0","date":"2022-07-06","lts":false},{"version":"v18.4.0","date":"2022-06-16","lts":false},{"version":"v18.3.0","date":"2022-06-02","lts":false},{"version":"v18.2.0","date":"2022-05-17","lts":false},{"version":"v18.1.0","date":"2022-05-03","lts":false},{"version":"v18.0.0","date":"2022-04-18","lts":false},{"version":"v17.9.1","date":"2022-06-01","lts":false},{"version":"v17.9.0","date":"2022-04-07","lts":false},{"version":"v17.8.0","date":"2022-03-22","lts":false},{"version":"v17.7.2","date":"2022-03-17","lts":false},{"version":"v17.7.1","date":"2022-03-10","lts":false},{"version":"v17.7.0","date":"2022-03-09","lts":false},{"version":"v17.6.0","date":"2022-02-22","lts":false},{"version":"v17.5.0","date":"2022-02-10","lts":false},{"version":"v17.4.0","date":"2022-01-18","lts":false},{"version":"v17.3.1","date":"2022-01-10","lts":false},{"version":"v17.3.0","date":"2021-12-17","lts":false},{"version":"v17.2.0","date":"2021-11-30","lts":false},{"version":"v17.1.0","date":"2021-11-09","lts":false},{"version":"v17.0.1","date":"2021-10-20","lts":false},{"version":"v17.0.0","date":"2021-10-19","lts":false},{"version":"v16.20.2","date":"2023-08-08","lts":"Gallium"},{"version":"v16.20.1","date":"2023-06-20","lts":"Gallium"},{"version":"v16.20.0","date":"2023-03-28","lts":"Gallium"},{"version":"v16.19.1","date":"2023-02-16","lts":"Gallium"},{"version":"v16.19.0","date":"2022-12-13","lts":"Gallium"},{"version":"v16.18.1","date":"2022-11-04","lts":"Gallium"},{"version":"v16.18.0","date":"2022-10-12","lts":"Gallium"},{"version":"v16.17.1","date":"2022-09-23","lts":"Gallium"},{"version":"v16.17.0","date":"2022-08-16","lts":"Gallium"},{"version":"v16.16.0","date":"2022-07-07","lts":"Gallium"},{"version":"v16.15.1","date":"2022-06-01","lts":"Gallium"},{"version":"v16.15.0","date":"2022-04-26","lts":"Gallium"},{"version":"v16.14.2","date":"2022-03-17","lts":"Gallium"},{"version":"v16.14.1","date":"2022-03-16","lts":"Gallium"},{"version":"v16.14.0","date":"2022-02-08","lts":"Gallium"},{"version":"v16.13.2","date":"2022-01-10","lts":"Gallium"},{"version":"v16.13.1","date":"2021-12-01","lts":"Gallium"},{"version":"v16.13.0","date":"2021-10-26","lts":"Gallium"},{"version":"v16.12.0","date":"2021-10-20","lts":false},{"version":"v16.11.1","date":"2021-10-12","lts":false},{"version":"v16.11.0","date":"2021-10-08","lts":false},{"version":"v16.10.0","date":"2021-09-22","lts":false},{"version":"v16.9.1","date":"2021-09-10","lts":false},{"version":"v16.9.0","date":"2021-09-07","lts":false},{"version":"v16.8.0","date":"2021-08-25","lts":false},{"version":"v16.7.0","date":"2021-08-18","lts":false},{"version":"v16.6.2","date":"2021-08-11","lts":false},{"version":"v16.6.1","date":"2021-08-03","lts":false},{"version":"v16.6.0","date":"2021-07-29","lts":false},{"version":"v16.5.0","date":"2021-07-14","lts":false},{"version":"v16.4.2","date":"2021-07-05","lts":false},{"version":"v16.4.1","date":"2021-07-01","lts":false},{"version":"v16.4.0","date":"2021-06-23","lts":false},{"version":"v16.3.0","date":"2021-06-03","lts":false},{"version":"v16.2.0","date":"2021-05-19","lts":false},{"version":"v16.1.0","date":"2021-05-04","lts":false},{"version":"v16.0.0","date":"2021-04-20","lts":false},{"version":"v15.14.0","date":"2021-04-06","lts":false},{"version":"v15.13.0","date":"2021-03-31","lts":false},{"version":"v15.12.0","date":"2021-03-17","lts":false},{"version":"v15.11.0","date":"2021-03-03","lts":false},{"version":"v15.10.0","date":"2021-02-23","lts":false},{"version":"v15.9.0","date":"2021-02-18","lts":false},{"version":"v15.8.0","date":"2021-02-02","lts":false},{"version":"v15.7.0","date":"2021-01-25","lts":false},{"version":"v15.6.0","date":"2021-01-14","lts":false},{"version":"v15.5.1","date":"2021-01-04","lts":false},{"version":"v15.5.0","date":"2020-12-22","lts":false},{"version":"v15.4.0","date":"2020-12-09","lts":false},{"version":"v15.3.0","date":"2020-11-24","lts":false},{"version":"v15.2.1","date":"2020-11-16","lts":false},{"version":"v15.2.0","date":"2020-11-10","lts":false},{"version":"v15.1.0","date":"2020-11-04","lts":false},{"version":"v15.0.1","date":"2020-10-21","lts":false},{"version":"v15.0.0","date":"2020-10-20","lts":false},{"version":"v14.21.3","date":"2023-02-16","lts":"Fermium"},{"version":"v14.21.2","date":"2022-12-13","lts":"Fermium"},{"version":"v14.21.1","date":"2022-11-04","lts":"Fermium"},{"version":"v14.21.0","date":"2022-11-01","lts":"Fermium"},{"version":"v14.20.1","date":"2022-09-23","lts":"Fermium"},{"version":"v14.20.0","date":"2022-07-07","lts":"Fermium"},{"version":"v14.19.3","date":"2022-05-17","lts":"Fermium"},{"version":"v14.19.2","date":"2022-05-04","lts":"Fermium"},{"version":"v14.19.1","date":"2022-03-17","lts":"Fermium"},{"version":"v14.19.0","date":"2022-02-01","lts":"Fermium"},{"version":"v14.18.3","date":"2022-01-10","lts":"Fermium"},{"version":"v14.18.2","date":"2021-11-30","lts":"Fermium"},{"version":"v14.18.1","date":"2021-10-12","lts":"Fermium"},{"version":"v14.18.0","date":"2021-09-28","lts":"Fermium"},{"version":"v14.17.6","date":"2021-08-30","lts":"Fermium"},{"version":"v14.17.5","date":"2021-08-11","lts":"Fermium"},{"version":"v14.17.4","date":"2021-07-29","lts":"Fermium"},{"version":"v14.17.3","date":"2021-07-05","lts":"Fermium"},{"version":"v14.17.2","date":"2021-07-01","lts":"Fermium"},{"version":"v14.17.1","date":"2021-06-15","lts":"Fermium"},{"version":"v14.17.0","date":"2021-05-11","lts":"Fermium"},{"version":"v14.16.1","date":"2021-04-06","lts":"Fermium"},{"version":"v14.16.0","date":"2021-02-23","lts":"Fermium"},{"version":"v14.15.5","date":"2021-02-09","lts":"Fermium"},{"version":"v14.15.4","date":"2021-01-04","lts":"Fermium"},{"version":"v14.15.3","date":"2020-12-17","lts":"Fermium"},{"version":"v14.15.2","date":"2020-12-15","lts":"Fermium"},{"version":"v14.15.1","date":"2020-11-16","lts":"Fermium"},{"version":"v14.15.0","date":"2020-10-27","lts":"Fermium"},{"version":"v14.14.0","date":"2020-10-15","lts":false},{"version":"v14.13.1","date":"2020-10-07","lts":false},{"version":"v14.13.0","date":"2020-09-29","lts":false},{"version":"v14.12.0","date":"2020-09-22","lts":false},{"version":"v14.11.0","date":"2020-09-15","lts":false},{"version":"v14.10.1","date":"2020-09-10","lts":false},{"version":"v14.10.0","date":"2020-09-08","lts":false},{"version":"v14.9.0","date":"2020-08-27","lts":false},{"version":"v14.8.0","date":"2020-08-11","lts":false},{"version":"v14.7.0","date":"2020-07-29","lts":false},{"version":"v14.6.0","date":"2020-07-20","lts":false},{"version":"v14.5.0","date":"2020-06-30","lts":false},{"version":"v14.4.0","date":"2020-06-02","lts":false},{"version":"v14.3.0","date":"2020-05-19","lts":false},{"version":"v14.2.0","date":"2020-05-05","lts":false},{"version":"v14.1.0","date":"2020-04-29","lts":false},{"version":"v14.0.0","date":"2020-04-21","lts":false},{"version":"v13.14.0","date":"2020-04-29","lts":false},{"version":"v13.13.0","date":"2020-04-14","lts":false},{"version":"v13.12.0","date":"2020-03-26","lts":false},{"version":"v13.11.0","date":"2020-03-12","lts":false},{"version":"v13.10.1","date":"2020-03-04","lts":false},{"version":"v13.10.0","date":"2020-03-04","lts":false},{"version":"v13.9.0","date":"2020-02-18","lts":false},{"version":"v13.8.0","date":"2020-02-05","lts":false},{"version":"v13.7.0","date":"2020-01-21","lts":false},{"version":"v13.6.0","date":"2020-01-07","lts":false},{"version":"v13.5.0","date":"2019-12-18","lts":false},{"version":"v13.4.0","date":"2019-12-17","lts":false},{"version":"v13.3.0","date":"2019-12-03","lts":false},{"version":"v13.2.0","date":"2019-11-21","lts":false},{"version":"v13.1.0","date":"2019-11-05","lts":false},{"version":"v13.0.1","date":"2019-10-23","lts":false},{"version":"v13.0.0","date":"2019-10-22","lts":false},{"version":"v12.22.12","date":"2022-04-05","lts":"Erbium"},{"version":"v12.22.11","date":"2022-03-17","lts":"Erbium"},{"version":"v12.22.10","date":"2022-02-01","lts":"Erbium"},{"version":"v12.22.9","date":"2022-01-10","lts":"Erbium"},{"version":"v12.22.8","date":"2021-12-16","lts":"Erbium"},{"version":"v12.22.7","date":"2021-10-12","lts":"Erbium"},{"version":"v12.22.6","date":"2021-08-30","lts":"Erbium"},{"version":"v12.22.5","date":"2021-08-11","lts":"Erbium"},{"version":"v12.22.4","date":"2021-07-29","lts":"Erbium"},{"version":"v12.22.3","date":"2021-07-05","lts":"Erbium"},{"version":"v12.22.2","date":"2021-07-01","lts":"Erbium"},{"version":"v12.22.1","date":"2021-04-06","lts":"Erbium"},{"version":"v12.22.0","date":"2021-03-30","lts":"Erbium"},{"version":"v12.21.0","date":"2021-02-23","lts":"Erbium"},{"version":"v12.20.2","date":"2021-02-10","lts":"Erbium"},{"version":"v12.20.1","date":"2021-01-04","lts":"Erbium"},{"version":"v12.20.0","date":"2020-11-24","lts":"Erbium"},{"version":"v12.19.1","date":"2020-11-16","lts":"Erbium"},{"version":"v12.19.0","date":"2020-10-06","lts":"Erbium"},{"version":"v12.18.4","date":"2020-09-15","lts":"Erbium"},{"version":"v12.18.3","date":"2020-07-22","lts":"Erbium"},{"version":"v12.18.2","date":"2020-06-30","lts":"Erbium"},{"version":"v12.18.1","date":"2020-06-17","lts":"Erbium"},{"version":"v12.18.0","date":"2020-06-02","lts":"Erbium"},{"version":"v12.17.0","date":"2020-05-26","lts":"Erbium"},{"version":"v12.16.3","date":"2020-04-28","lts":"Erbium"},{"version":"v12.16.2","date":"2020-04-08","lts":"Erbium"},{"version":"v12.16.1","date":"2020-02-18","lts":"Erbium"},{"version":"v12.16.0","date":"2020-02-11","lts":"Erbium"},{"version":"v12.15.0","date":"2020-02-05","lts":"Erbium"},{"version":"v12.14.1","date":"2020-01-07","lts":"Erbium"},{"version":"v12.14.0","date":"2019-12-17","lts":"Erbium"},{"version":"v12.13.1","date":"2019-11-19","lts":"Erbium"},{"version":"v12.13.0","date":"2019-10-21","lts":"Erbium"},{"version":"v12.12.0","date":"2019-10-11","lts":false},{"version":"v12.11.1","date":"2019-10-01","lts":false},{"version":"v12.11.0","date":"2019-09-25","lts":false},{"version":"v12.10.0","date":"2019-09-04","lts":false},{"version":"v12.9.1","date":"2019-08-26","lts":false},{"version":"v12.9.0","date":"2019-08-20","lts":false},{"version":"v12.8.1","date":"2019-08-15","lts":false},{"version":"v12.8.0","date":"2019-08-06","lts":false},{"version":"v12.7.0","date":"2019-07-23","lts":false},{"version":"v12.6.0","date":"2019-07-03","lts":false},{"version":"v12.5.0","date":"2019-06-26","lts":false},{"version":"v12.4.0","date":"2019-06-04","lts":false},{"version":"v12.3.1","date":"2019-05-22","lts":false},{"version":"v12.3.0","date":"2019-05-21","lts":false},{"version":"v12.2.0","date":"2019-05-07","lts":false},{"version":"v12.1.0","date":"2019-04-29","lts":false},{"version":"v12.0.0","date":"2019-04-23","lts":false},{"version":"v11.15.0","date":"2019-04-30","lts":false},{"version":"v11.14.0","date":"2019-04-10","lts":false},{"version":"v11.13.0","date":"2019-03-28","lts":false},{"version":"v11.12.0","date":"2019-03-14","lts":false},{"version":"v11.11.0","date":"2019-03-05","lts":false},{"version":"v11.10.1","date":"2019-02-28","lts":false},{"version":"v11.10.0","date":"2019-02-14","lts":false},{"version":"v11.9.0","date":"2019-01-30","lts":false},{"version":"v11.8.0","date":"2019-01-24","lts":false},{"version":"v11.7.0","date":"2019-01-17","lts":false},{"version":"v11.6.0","date":"2018-12-26","lts":false},{"version":"v11.5.0","date":"2018-12-18","lts":false},{"version":"v11.4.0","date":"2018-12-07","lts":false},{"version":"v11.3.0","date":"2018-11-27","lts":false},{"version":"v11.2.0","date":"2018-11-15","lts":false},{"version":"v11.1.0","date":"2018-10-30","lts":false},{"version":"v11.0.0","date":"2018-10-23","lts":false},{"version":"v10.24.1","date":"2021-04-06","lts":"Dubnium"},{"version":"v10.24.0","date":"2021-02-23","lts":"Dubnium"},{"version":"v10.23.3","date":"2021-02-09","lts":"Dubnium"},{"version":"v10.23.2","date":"2021-01-26","lts":"Dubnium"},{"version":"v10.23.1","date":"2021-01-04","lts":"Dubnium"},{"version":"v10.23.0","date":"2020-10-27","lts":"Dubnium"},{"version":"v10.22.1","date":"2020-09-15","lts":"Dubnium"},{"version":"v10.22.0","date":"2020-07-21","lts":"Dubnium"},{"version":"v10.21.0","date":"2020-06-02","lts":"Dubnium"},{"version":"v10.20.1","date":"2020-04-12","lts":"Dubnium"},{"version":"v10.20.0","date":"2020-03-26","lts":"Dubnium"},{"version":"v10.19.0","date":"2020-02-05","lts":"Dubnium"},{"version":"v10.18.1","date":"2020-01-09","lts":"Dubnium"},{"version":"v10.18.0","date":"2019-12-17","lts":"Dubnium"},{"version":"v10.17.0","date":"2019-10-22","lts":"Dubnium"},{"version":"v10.16.3","date":"2019-08-15","lts":"Dubnium"},{"version":"v10.16.2","date":"2019-08-06","lts":"Dubnium"},{"version":"v10.16.1","date":"2019-07-31","lts":"Dubnium"},{"version":"v10.16.0","date":"2019-05-28","lts":"Dubnium"},{"version":"v10.15.3","date":"2019-03-05","lts":"Dubnium"},{"version":"v10.15.2","date":"2019-02-28","lts":"Dubnium"},{"version":"v10.15.1","date":"2019-01-29","lts":"Dubnium"},{"version":"v10.15.0","date":"2018-12-26","lts":"Dubnium"},{"version":"v10.14.2","date":"2018-12-10","lts":"Dubnium"},{"version":"v10.14.1","date":"2018-11-29","lts":"Dubnium"},{"version":"v10.14.0","date":"2018-11-27","lts":"Dubnium"},{"version":"v10.13.0","date":"2018-10-30","lts":"Dubnium"},{"version":"v10.12.0","date":"2018-10-10","lts":false},{"version":"v10.11.0","date":"2018-09-19","lts":false},{"version":"v10.10.0","date":"2018-09-06","lts":false},{"version":"v10.9.0","date":"2018-08-15","lts":false},{"version":"v10.8.0","date":"2018-08-01","lts":false},{"version":"v10.7.0","date":"2018-07-18","lts":false},{"version":"v10.6.0","date":"2018-07-04","lts":false},{"version":"v10.5.0","date":"2018-06-20","lts":false},{"version":"v10.4.1","date":"2018-06-12","lts":false},{"version":"v10.4.0","date":"2018-06-06","lts":false},{"version":"v10.3.0","date":"2018-05-29","lts":false},{"version":"v10.2.1","date":"2018-05-24","lts":false},{"version":"v10.2.0","date":"2018-05-23","lts":false},{"version":"v10.1.0","date":"2018-05-08","lts":false},{"version":"v10.0.0","date":"2018-04-24","lts":false},{"version":"v9.11.2","date":"2018-06-12","lts":false},{"version":"v9.11.1","date":"2018-04-05","lts":false},{"version":"v9.11.0","date":"2018-04-04","lts":false},{"version":"v9.10.1","date":"2018-03-29","lts":false},{"version":"v9.10.0","date":"2018-03-28","lts":false},{"version":"v9.9.0","date":"2018-03-21","lts":false},{"version":"v9.8.0","date":"2018-03-07","lts":false},{"version":"v9.7.1","date":"2018-03-02","lts":false},{"version":"v9.7.0","date":"2018-03-01","lts":false},{"version":"v9.6.1","date":"2018-02-23","lts":false},{"version":"v9.6.0","date":"2018-02-21","lts":false},{"version":"v9.5.0","date":"2018-01-31","lts":false},{"version":"v9.4.0","date":"2018-01-10","lts":false},{"version":"v9.3.0","date":"2017-12-12","lts":false},{"version":"v9.2.1","date":"2017-12-08","lts":false},{"version":"v9.2.0","date":"2017-11-14","lts":false},{"version":"v9.1.0","date":"2017-11-07","lts":false},{"version":"v9.0.0","date":"2017-10-31","lts":false},{"version":"v8.17.0","date":"2019-12-17","lts":"Carbon"},{"version":"v8.16.2","date":"2019-10-09","lts":"Carbon"},{"version":"v8.16.1","date":"2019-08-15","lts":"Carbon"},{"version":"v8.16.0","date":"2019-04-16","lts":"Carbon"},{"version":"v8.15.1","date":"2019-02-28","lts":"Carbon"},{"version":"v8.15.0","date":"2018-12-26","lts":"Carbon"},{"version":"v8.14.1","date":"2018-12-18","lts":"Carbon"},{"version":"v8.14.0","date":"2018-11-27","lts":"Carbon"},{"version":"v8.13.0","date":"2018-11-20","lts":"Carbon"},{"version":"v8.12.0","date":"2018-09-10","lts":"Carbon"},{"version":"v8.11.4","date":"2018-08-15","lts":"Carbon"},{"version":"v8.11.3","date":"2018-06-12","lts":"Carbon"},{"version":"v8.11.2","date":"2018-05-15","lts":"Carbon"},{"version":"v8.11.1","date":"2018-03-29","lts":"Carbon"},{"version":"v8.11.0","date":"2018-03-28","lts":"Carbon"},{"version":"v8.10.0","date":"2018-03-06","lts":"Carbon"},{"version":"v8.9.4","date":"2018-01-02","lts":"Carbon"},{"version":"v8.9.3","date":"2017-12-07","lts":"Carbon"},{"version":"v8.9.2","date":"2017-12-05","lts":"Carbon"},{"version":"v8.9.1","date":"2017-11-07","lts":"Carbon"},{"version":"v8.9.0","date":"2017-10-31","lts":"Carbon"},{"version":"v8.8.1","date":"2017-10-25","lts":false},{"version":"v8.8.0","date":"2017-10-24","lts":false},{"version":"v8.7.0","date":"2017-10-11","lts":false},{"version":"v8.6.0","date":"2017-09-26","lts":false},{"version":"v8.5.0","date":"2017-09-12","lts":false},{"version":"v8.4.0","date":"2017-08-15","lts":false},{"version":"v8.3.0","date":"2017-08-08","lts":false},{"version":"v8.2.1","date":"2017-07-20","lts":false},{"version":"v8.2.0","date":"2017-07-19","lts":false},{"version":"v8.1.4","date":"2017-07-11","lts":false},{"version":"v8.1.3","date":"2017-06-29","lts":false},{"version":"v8.1.2","date":"2017-06-15","lts":false},{"version":"v8.1.1","date":"2017-06-13","lts":false},{"version":"v8.1.0","date":"2017-06-08","lts":false},{"version":"v8.0.0","date":"2017-05-30","lts":false},{"version":"v7.10.1","date":"2017-07-11","lts":false},{"version":"v7.10.0","date":"2017-05-02","lts":false},{"version":"v7.9.0","date":"2017-04-11","lts":false},{"version":"v7.8.0","date":"2017-03-29","lts":false},{"version":"v7.7.4","date":"2017-03-21","lts":false},{"version":"v7.7.3","date":"2017-03-14","lts":false},{"version":"v7.7.2","date":"2017-03-08","lts":false},{"version":"v7.7.1","date":"2017-03-02","lts":false},{"version":"v7.7.0","date":"2017-02-28","lts":false},{"version":"v7.6.0","date":"2017-02-21","lts":false},{"version":"v7.5.0","date":"2017-01-31","lts":false},{"version":"v7.4.0","date":"2017-01-04","lts":false},{"version":"v7.3.0","date":"2016-12-20","lts":false},{"version":"v7.2.1","date":"2016-12-06","lts":false},{"version":"v7.2.0","date":"2016-11-22","lts":false},{"version":"v7.1.0","date":"2016-11-08","lts":false},{"version":"v7.0.0","date":"2016-10-25","lts":false},{"version":"v6.17.1","date":"2019-04-03","lts":"Boron"},{"version":"v6.17.0","date":"2019-02-28","lts":"Boron"},{"version":"v6.16.0","date":"2018-12-26","lts":"Boron"},{"version":"v6.15.1","date":"2018-12-03","lts":"Boron"},{"version":"v6.15.0","date":"2018-11-27","lts":"Boron"},{"version":"v6.14.4","date":"2018-08-15","lts":"Boron"},{"version":"v6.14.3","date":"2018-06-12","lts":"Boron"},{"version":"v6.14.2","date":"2018-04-30","lts":"Boron"},{"version":"v6.14.1","date":"2018-03-29","lts":"Boron"},{"version":"v6.14.0","date":"2018-03-28","lts":"Boron"},{"version":"v6.13.1","date":"2018-03-06","lts":"Boron"},{"version":"v6.13.0","date":"2018-02-10","lts":"Boron"},{"version":"v6.12.3","date":"2018-01-02","lts":"Boron"},{"version":"v6.12.2","date":"2017-12-07","lts":"Boron"},{"version":"v6.12.1","date":"2017-12-05","lts":"Boron"},{"version":"v6.12.0","date":"2017-11-06","lts":"Boron"},{"version":"v6.11.5","date":"2017-10-24","lts":"Boron"},{"version":"v6.11.4","date":"2017-10-03","lts":"Boron"},{"version":"v6.11.3","date":"2017-09-05","lts":"Boron"},{"version":"v6.11.2","date":"2017-08-01","lts":"Boron"},{"version":"v6.11.1","date":"2017-07-10","lts":"Boron"},{"version":"v6.11.0","date":"2017-06-06","lts":"Boron"},{"version":"v6.10.3","date":"2017-05-02","lts":"Boron"},{"version":"v6.10.2","date":"2017-04-04","lts":"Boron"},{"version":"v6.10.1","date":"2017-03-21","lts":"Boron"},{"version":"v6.10.0","date":"2017-02-21","lts":"Boron"},{"version":"v6.9.5","date":"2017-01-31","lts":"Boron"},{"version":"v6.9.4","date":"2017-01-05","lts":"Boron"},{"version":"v6.9.3","date":"2017-01-05","lts":"Boron"},{"version":"v6.9.2","date":"2016-12-06","lts":"Boron"},{"version":"v6.9.1","date":"2016-10-19","lts":"Boron"},{"version":"v6.9.0","date":"2016-10-18","lts":"Boron"},{"version":"v6.8.1","date":"2016-10-14","lts":false},{"version":"v6.8.0","date":"2016-10-12","lts":false},{"version":"v6.7.0","date":"2016-09-27","lts":false},{"version":"v6.6.0","date":"2016-09-14","lts":false},{"version":"v6.5.0","date":"2016-08-26","lts":false},{"version":"v6.4.0","date":"2016-08-12","lts":false},{"version":"v6.3.1","date":"2016-07-21","lts":false},{"version":"v6.3.0","date":"2016-07-06","lts":false},{"version":"v6.2.2","date":"2016-06-16","lts":false},{"version":"v6.2.1","date":"2016-06-02","lts":false},{"version":"v6.2.0","date":"2016-05-17","lts":false},{"version":"v6.1.0","date":"2016-05-05","lts":false},{"version":"v6.0.0","date":"2016-04-26","lts":false},{"version":"v5.12.0","date":"2016-06-23","lts":false},{"version":"v5.11.1","date":"2016-05-05","lts":false},{"version":"v5.11.0","date":"2016-04-21","lts":false},{"version":"v5.10.1","date":"2016-04-05","lts":false},{"version":"v5.10.0","date":"2016-04-01","lts":false},{"version":"v5.9.1","date":"2016-03-22","lts":false},{"version":"v5.9.0","date":"2016-03-16","lts":false},{"version":"v5.8.0","date":"2016-03-09","lts":false},{"version":"v5.7.1","date":"2016-03-02","lts":false},{"version":"v5.7.0","date":"2016-02-23","lts":false},{"version":"v5.6.0","date":"2016-02-09","lts":false},{"version":"v5.5.0","date":"2016-01-21","lts":false},{"version":"v5.4.1","date":"2016-01-12","lts":false},{"version":"v5.4.0","date":"2016-01-06","lts":false},{"version":"v5.3.0","date":"2015-12-15","lts":false},{"version":"v5.2.0","date":"2015-12-09","lts":false},{"version":"v5.1.1","date":"2015-12-03","lts":false},{"version":"v5.1.0","date":"2015-11-17","lts":false},{"version":"v5.0.0","date":"2015-10-29","lts":false},{"version":"v4.9.1","date":"2018-03-29","lts":"Argon"},{"version":"v4.9.0","date":"2018-03-28","lts":"Argon"},{"version":"v4.8.7","date":"2017-12-07","lts":"Argon"},{"version":"v4.8.6","date":"2017-11-06","lts":"Argon"},{"version":"v4.8.5","date":"2017-10-24","lts":"Argon"},{"version":"v4.8.4","date":"2017-07-11","lts":"Argon"},{"version":"v4.8.3","date":"2017-05-02","lts":"Argon"},{"version":"v4.8.2","date":"2017-04-04","lts":"Argon"},{"version":"v4.8.1","date":"2017-03-21","lts":"Argon"},{"version":"v4.8.0","date":"2017-02-21","lts":"Argon"},{"version":"v4.7.3","date":"2017-01-31","lts":"Argon"},{"version":"v4.7.2","date":"2017-01-05","lts":"Argon"},{"version":"v4.7.1","date":"2017-01-05","lts":"Argon"},{"version":"v4.7.0","date":"2016-12-06","lts":"Argon"},{"version":"v4.6.2","date":"2016-11-08","lts":"Argon"},{"version":"v4.6.1","date":"2016-10-18","lts":"Argon"},{"version":"v4.6.0","date":"2016-09-27","lts":"Argon"},{"version":"v4.5.0","date":"2016-08-16","lts":"Argon"},{"version":"v4.4.7","date":"2016-06-28","lts":"Argon"},{"version":"v4.4.6","date":"2016-06-23","lts":"Argon"},{"version":"v4.4.5","date":"2016-05-24","lts":"Argon"},{"version":"v4.4.4","date":"2016-05-05","lts":"Argon"},{"version":"v4.4.3","date":"2016-04-12","lts":"Argon"},{"version":"v4.4.2","date":"2016-04-01","lts":"Argon"},{"version":"v4.4.1","date":"2016-03-22","lts":"Argon"},{"version":"v4.4.0","date":"2016-03-08","lts":"Argon"},{"version":"v4.3.2","date":"2016-03-02","lts":"Argon"},{"version":"v4.3.1","date":"2016-02-16","lts":"Argon"},{"version":"v4.3.0","date":"2016-02-09","lts":"Argon"},{"version":"v4.2.6","date":"2016-01-21","lts":"Argon"},{"version":"v4.2.5","date":"2016-01-20","lts":"Argon"},{"version":"v4.2.4","date":"2015-12-23","lts":"Argon"},{"version":"v4.2.3","date":"2015-12-03","lts":"Argon"},{"version":"v4.2.2","date":"2015-11-03","lts":"Argon"},{"version":"v4.2.1","date":"2015-10-13","lts":"Argon"},{"version":"v4.2.0","date":"2015-10-12","lts":"Argon"},{"version":"v4.1.2","date":"2015-10-05","lts":false},{"version":"v4.1.1","date":"2015-09-23","lts":false},{"version":"v4.1.0","date":"2015-09-17","lts":false},{"version":"v4.0.0","date":"2015-09-08","lts":false},{"version":"v0.12.18","date":"2017-02-22","lts":false},{"version":"v0.12.17","date":"2016-10-18","lts":false},{"version":"v0.12.16","date":"2016-09-27","lts":false},{"version":"v0.12.15","date":"2016-06-23","lts":false},{"version":"v0.12.14","date":"2016-05-06","lts":false},{"version":"v0.12.13","date":"2016-03-31","lts":false},{"version":"v0.12.12","date":"2016-03-08","lts":false},{"version":"v0.12.11","date":"2016-03-03","lts":false},{"version":"v0.12.10","date":"2016-02-09","lts":false},{"version":"v0.12.9","date":"2015-12-03","lts":false},{"version":"v0.12.8","date":"2015-11-24","lts":false},{"version":"v0.12.7","date":"2015-07-09","lts":false},{"version":"v0.12.6","date":"2015-07-04","lts":false},{"version":"v0.12.5","date":"2015-06-22","lts":false},{"version":"v0.12.4","date":"2015-05-23","lts":false},{"version":"v0.12.3","date":"2015-05-14","lts":false},{"version":"v0.12.2","date":"2015-03-31","lts":false},{"version":"v0.12.1","date":"2015-03-24","lts":false},{"version":"v0.12.0","date":"2015-02-06","lts":false},{"version":"v0.11.16","date":"2015-01-30","lts":false},{"version":"v0.11.15","date":"2015-01-20","lts":false},{"version":"v0.11.14","date":"2014-08-19","lts":false},{"version":"v0.11.13","date":"2014-05-02","lts":false},{"version":"v0.11.12","date":"2014-03-11","lts":false},{"version":"v0.11.11","date":"2014-01-29","lts":false},{"version":"v0.11.10","date":"2013-12-31","lts":false},{"version":"v0.11.9","date":"2013-11-21","lts":false},{"version":"v0.11.8","date":"2013-10-30","lts":false},{"version":"v0.11.7","date":"2013-09-04","lts":false},{"version":"v0.11.6","date":"2013-08-21","lts":false},{"version":"v0.11.5","date":"2013-08-07","lts":false},{"version":"v0.11.4","date":"2013-07-12","lts":false},{"version":"v0.11.3","date":"2013-06-26","lts":false},{"version":"v0.11.2","date":"2013-05-13","lts":false},{"version":"v0.11.1","date":"2013-04-19","lts":false},{"version":"v0.11.0","date":"2013-03-28","lts":false},{"version":"v0.10.48","date":"2016-10-18","lts":false},{"version":"v0.10.47","date":"2016-09-27","lts":false},{"version":"v0.10.46","date":"2016-06-23","lts":false},{"version":"v0.10.45","date":"2016-05-06","lts":false},{"version":"v0.10.44","date":"2016-03-31","lts":false},{"version":"v0.10.43","date":"2016-03-03","lts":false},{"version":"v0.10.42","date":"2016-02-09","lts":false},{"version":"v0.10.41","date":"2015-12-03","lts":false},{"version":"v0.10.40","date":"2015-07-09","lts":false},{"version":"v0.10.39","date":"2015-06-19","lts":false},{"version":"v0.10.38","date":"2015-03-23","lts":false},{"version":"v0.10.37","date":"2015-03-11","lts":false},{"version":"v0.10.36","date":"2015-01-26","lts":false},{"version":"v0.10.35","date":"2014-12-22","lts":false},{"version":"v0.10.34","date":"2014-12-17","lts":false},{"version":"v0.10.33","date":"2014-10-21","lts":false},{"version":"v0.10.32","date":"2014-09-16","lts":false},{"version":"v0.10.31","date":"2014-08-19","lts":false},{"version":"v0.10.30","date":"2014-07-31","lts":false},{"version":"v0.10.29","date":"2014-06-09","lts":false},{"version":"v0.10.28","date":"2014-05-02","lts":false},{"version":"v0.10.27","date":"2014-05-01","lts":false},{"version":"v0.10.26","date":"2014-02-18","lts":false},{"version":"v0.10.25","date":"2014-01-23","lts":false},{"version":"v0.10.24","date":"2013-12-19","lts":false},{"version":"v0.10.23","date":"2013-12-12","lts":false},{"version":"v0.10.22","date":"2013-11-12","lts":false},{"version":"v0.10.21","date":"2013-10-18","lts":false},{"version":"v0.10.20","date":"2013-09-30","lts":false},{"version":"v0.10.19","date":"2013-09-24","lts":false},{"version":"v0.10.18","date":"2013-09-04","lts":false},{"version":"v0.10.17","date":"2013-08-21","lts":false},{"version":"v0.10.16","date":"2013-08-16","lts":false},{"version":"v0.10.15","date":"2013-07-25","lts":false},{"version":"v0.10.14","date":"2013-07-25","lts":false},{"version":"v0.10.13","date":"2013-07-09","lts":false},{"version":"v0.10.12","date":"2013-06-18","lts":false},{"version":"v0.10.11","date":"2013-06-13","lts":false},{"version":"v0.10.10","date":"2013-06-04","lts":false},{"version":"v0.10.9","date":"2013-05-30","lts":false},{"version":"v0.10.8","date":"2013-05-24","lts":false},{"version":"v0.10.7","date":"2013-05-17","lts":false},{"version":"v0.10.6","date":"2013-05-14","lts":false},{"version":"v0.10.5","date":"2013-04-23","lts":false},{"version":"v0.10.4","date":"2013-04-11","lts":false},{"version":"v0.10.3","date":"2013-04-03","lts":false},{"version":"v0.10.2","date":"2013-03-28","lts":false},{"version":"v0.10.1","date":"2013-03-21","lts":false},{"version":"v0.10.0","date":"2013-03-11","lts":false},{"version":"v0.9.12","date":"2013-03-06","lts":false},{"version":"v0.9.11","date":"2013-03-01","lts":false},{"version":"v0.9.10","date":"2013-02-19","lts":false},{"version":"v0.9.9","date":"2013-02-07","lts":false},{"version":"v0.9.8","date":"2013-01-24","lts":false},{"version":"v0.9.7","date":"2013-01-18","lts":false},{"version":"v0.9.6","date":"2013-01-11","lts":false},{"version":"v0.9.5","date":"2012-12-30","lts":false},{"version":"v0.9.4","date":"2012-12-21","lts":false},{"version":"v0.9.3","date":"2012-10-24","lts":false},{"version":"v0.9.2","date":"2012-09-17","lts":false},{"version":"v0.9.1","date":"2012-08-28","lts":false},{"version":"v0.9.0","date":"2012-07-20","lts":false},{"version":"v0.8.28","date":"2014-07-31","lts":false},{"version":"v0.8.27","date":"2014-06-09","lts":false},{"version":"v0.8.26","date":"2013-10-18","lts":false},{"version":"v0.8.25","date":"2013-06-13","lts":false},{"version":"v0.8.24","date":"2013-06-03","lts":false},{"version":"v0.8.23","date":"2013-04-09","lts":false},{"version":"v0.8.22","date":"2013-03-06","lts":false},{"version":"v0.8.21","date":"2013-02-25","lts":false},{"version":"v0.8.20","date":"2013-02-15","lts":false},{"version":"v0.8.19","date":"2013-02-06","lts":false},{"version":"v0.8.18","date":"2013-01-18","lts":false},{"version":"v0.8.17","date":"2013-01-10","lts":false},{"version":"v0.8.16","date":"2012-12-12","lts":false},{"version":"v0.8.15","date":"2012-11-26","lts":false},{"version":"v0.8.14","date":"2012-10-25","lts":false},{"version":"v0.8.13","date":"2012-10-25","lts":false},{"version":"v0.8.12","date":"2012-10-11","lts":false},{"version":"v0.8.11","date":"2012-09-27","lts":false},{"version":"v0.8.10","date":"2012-09-25","lts":false},{"version":"v0.8.9","date":"2012-09-11","lts":false},{"version":"v0.8.8","date":"2012-08-22","lts":false},{"version":"v0.8.7","date":"2012-08-15","lts":false},{"version":"v0.8.6","date":"2012-08-06","lts":false},{"version":"v0.8.5","date":"2012-08-02","lts":false},{"version":"v0.8.4","date":"2012-07-24","lts":false},{"version":"v0.8.3","date":"2012-07-17","lts":false},{"version":"v0.8.2","date":"2012-07-09","lts":false},{"version":"v0.8.1","date":"2012-06-29","lts":false},{"version":"v0.8.0","date":"2012-06-22","lts":false},{"version":"v0.7.12","date":"2012-06-19","lts":false},{"version":"v0.7.11","date":"2012-06-15","lts":false},{"version":"v0.7.10","date":"2012-06-11","lts":false},{"version":"v0.7.9","date":"2012-05-29","lts":false},{"version":"v0.7.8","date":"2012-04-18","lts":false},{"version":"v0.7.7","date":"2012-03-30","lts":false},{"version":"v0.7.6","date":"2012-03-13","lts":false},{"version":"v0.7.5","date":"2012-02-23","lts":false},{"version":"v0.7.4","date":"2012-02-14","lts":false},{"version":"v0.7.3","date":"2012-02-07","lts":false},{"version":"v0.7.2","date":"2012-02-01","lts":false},{"version":"v0.7.1","date":"2012-01-23","lts":false},{"version":"v0.7.0","date":"2012-01-17","lts":false},{"version":"v0.6.21","date":"2012-08-03","lts":false},{"version":"v0.6.20","date":"2012-07-10","lts":false},{"version":"v0.6.19","date":"2012-06-06","lts":false},{"version":"v0.6.18","date":"2012-05-14","lts":false},{"version":"v0.6.17","date":"2012-05-04","lts":false},{"version":"v0.6.16","date":"2012-04-27","lts":false},{"version":"v0.6.15","date":"2012-04-08","lts":false},{"version":"v0.6.14","date":"2012-03-23","lts":false},{"version":"v0.6.13","date":"2012-03-15","lts":false},{"version":"v0.6.12","date":"2012-03-02","lts":false},{"version":"v0.6.11","date":"2012-02-08","lts":false},{"version":"v0.6.10","date":"2012-02-03","lts":false},{"version":"v0.6.9","date":"2012-01-27","lts":false},{"version":"v0.6.8","date":"2012-01-20","lts":false},{"version":"v0.6.7","date":"2012-01-07","lts":false},{"version":"v0.6.6","date":"2011-12-15","lts":false},{"version":"v0.6.5","date":"2011-12-04","lts":false},{"version":"v0.6.4","date":"2011-12-02","lts":false},{"version":"v0.6.3","date":"2011-11-25","lts":false},{"version":"v0.6.2","date":"2011-11-18","lts":false},{"version":"v0.6.1","date":"2011-11-11","lts":false},{"version":"v0.6.0","date":"2011-11-04","lts":false},{"version":"v0.5.10","date":"2011-10-22","lts":false},{"version":"v0.5.9","date":"2011-10-11","lts":false},{"version":"v0.5.8","date":"2011-09-30","lts":false},{"version":"v0.5.7","date":"2011-09-16","lts":false},{"version":"v0.5.6","date":"2011-08-26","lts":false},{"version":"v0.5.5","date":"2011-08-26","lts":false},{"version":"v0.5.4","date":"2011-08-26","lts":false},{"version":"v0.5.3","date":"2011-08-26","lts":false},{"version":"v0.5.2","date":"2011-08-26","lts":false},{"version":"v0.5.1","date":"2011-08-26","lts":false},{"version":"v0.5.0","date":"2011-08-26","lts":false},{"version":"v0.4.12","date":"2011-09-15","lts":false},{"version":"v0.4.11","date":"2011-08-26","lts":false},{"version":"v0.4.10","date":"2011-08-26","lts":false},{"version":"v0.4.9","date":"2011-08-26","lts":false},{"version":"v0.4.8","date":"2011-08-26","lts":false},{"version":"v0.4.7","date":"2011-08-26","lts":false},{"version":"v0.4.6","date":"2011-08-26","lts":false},{"version":"v0.4.5","date":"2011-08-26","lts":false},{"version":"v0.4.4","date":"2011-08-26","lts":false},{"version":"v0.4.3","date":"2011-08-26","lts":false},{"version":"v0.4.2","date":"2011-08-26","lts":false},{"version":"v0.4.1","date":"2011-08-26","lts":false},{"version":"v0.4.0","date":"2011-08-26","lts":false},{"version":"v0.3.8","date":"2011-08-26","lts":false},{"version":"v0.3.7","date":"2011-08-26","lts":false},{"version":"v0.3.6","date":"2011-08-26","lts":false},{"version":"v0.3.5","date":"2011-08-26","lts":false},{"version":"v0.3.4","date":"2011-08-26","lts":false},{"version":"v0.3.3","date":"2011-08-26","lts":false},{"version":"v0.3.2","date":"2011-08-26","lts":false},{"version":"v0.3.1","date":"2011-08-26","lts":false},{"version":"v0.3.0","date":"2011-08-26","lts":false},{"version":"v0.2.6","date":"2011-08-26","lts":false},{"version":"v0.2.5","date":"2011-08-26","lts":false},{"version":"v0.2.4","date":"2011-08-26","lts":false},{"version":"v0.2.3","date":"2011-08-26","lts":false},{"version":"v0.2.2","date":"2011-08-26","lts":false},{"version":"v0.2.1","date":"2011-08-26","lts":false},{"version":"v0.2.0","date":"2011-08-26","lts":false},{"version":"v0.1.104","date":"2011-08-26","lts":false},{"version":"v0.1.103","date":"2011-08-26","lts":false},{"version":"v0.1.102","date":"2011-08-26","lts":false},{"version":"v0.1.101","date":"2011-08-26","lts":false},{"version":"v0.1.100","date":"2011-08-26","lts":false},{"version":"v0.1.99","date":"2011-08-26","lts":false},{"version":"v0.1.98","date":"2011-08-26","lts":false},{"version":"v0.1.97","date":"2011-08-26","lts":false},{"version":"v0.1.96","date":"2011-08-26","lts":false},{"version":"v0.1.95","date":"2011-08-26","lts":false},{"version":"v0.1.94","date":"2011-08-26","lts":false},{"version":"v0.1.93","date":"2011-08-26","lts":false},{"version":"v0.1.92","date":"2011-08-26","lts":false},{"version":"v0.1.91","date":"2011-08-26","lts":false},{"version":"v0.1.90","date":"2011-08-26","lts":false},{"version":"v0.1.33","date":"2011-08-26","lts":false},{"version":"v0.1.32","date":"2011-08-26","lts":false},{"version":"v0.1.31","date":"2011-08-26","lts":false},{"version":"v0.1.30","date":"2011-08-26","lts":false},{"version":"v0.1.29","date":"2011-08-26","lts":false},{"version":"v0.1.28","date":"2011-08-26","lts":false},{"version":"v0.1.27","date":"2011-08-26","lts":false},{"version":"v0.1.26","date":"2011-08-26","lts":false},{"version":"v0.1.25","date":"2011-08-26","lts":false},{"version":"v0.1.24","date":"2011-08-26","lts":false},{"version":"v0.1.23","date":"2011-08-26","lts":false},{"version":"v0.1.22","date":"2011-08-26","lts":false},{"version":"v0.1.21","date":"2011-08-26","lts":false},{"version":"v0.1.20","date":"2011-08-26","lts":false},{"version":"v0.1.19","date":"2011-08-26","lts":false},{"version":"v0.1.18","date":"2011-08-26","lts":false},{"version":"v0.1.17","date":"2011-08-26","lts":false},{"version":"v0.1.16","date":"2011-08-26","lts":false},{"version":"v0.1.15","date":"2011-08-26","lts":false},{"version":"v0.1.14","date":"2011-08-26","lts":false}]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { LoadError, LoadOptions, ResolveOptions, Schedule,
|
|
1
|
+
import type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRawMap, Version, VersionRaw } from './types.js';
|
|
2
2
|
export type LoadCallback = (error?: LoadError, semvers?: NodeVersions) => void;
|
|
3
3
|
export default class NodeVersions {
|
|
4
4
|
versions: Version[];
|
|
5
5
|
schedules: Schedule[];
|
|
6
|
-
constructor(versions: VersionRaw[], schedule:
|
|
6
|
+
constructor(versions: VersionRaw[], schedule: ScheduleRawMap);
|
|
7
7
|
static load(callback: LoadCallback): void;
|
|
8
8
|
static load(options: LoadOptions, callback: LoadCallback): void;
|
|
9
9
|
static load(options?: LoadOptions): Promise<NodeVersions>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { LoadError, LoadOptions, ResolveOptions, Schedule,
|
|
1
|
+
import type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRawMap, Version, VersionRaw } from './types.js';
|
|
2
2
|
export type LoadCallback = (error?: LoadError, semvers?: NodeVersions) => void;
|
|
3
3
|
export default class NodeVersions {
|
|
4
4
|
versions: Version[];
|
|
5
5
|
schedules: Schedule[];
|
|
6
|
-
constructor(versions: VersionRaw[], schedule:
|
|
6
|
+
constructor(versions: VersionRaw[], schedule: ScheduleRawMap);
|
|
7
7
|
static load(callback: LoadCallback): void;
|
|
8
8
|
static load(options: LoadOptions, callback: LoadCallback): void;
|
|
9
9
|
static load(options?: LoadOptions): Promise<NodeVersions>;
|
package/dist/cjs/NodeVersions.js
CHANGED
|
@@ -25,6 +25,19 @@ function _interop_require_default(obj) {
|
|
|
25
25
|
default: obj
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
|
+
// Only these fields are read, and the cache ships in the package, so store nothing else
|
|
29
|
+
var cacheOptions = {
|
|
30
|
+
transform: function transform(body, endpoint) {
|
|
31
|
+
return endpoint === _constantsts.DISTS_URL && Array.isArray(body) ? body.map(function(param) {
|
|
32
|
+
var version = param.version, date = param.date, lts = param.lts;
|
|
33
|
+
return {
|
|
34
|
+
version: version,
|
|
35
|
+
date: date,
|
|
36
|
+
lts: lts
|
|
37
|
+
};
|
|
38
|
+
}) : body;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
28
41
|
var NodeVersions = /*#__PURE__*/ function() {
|
|
29
42
|
"use strict";
|
|
30
43
|
function NodeVersions(versions, schedule) {
|
|
@@ -95,7 +108,7 @@ var NodeVersions = /*#__PURE__*/ function() {
|
|
|
95
108
|
callback = typeof options === 'function' ? options : callback;
|
|
96
109
|
options = typeof options === 'function' ? {} : options || {};
|
|
97
110
|
function worker(options, callback) {
|
|
98
|
-
var cache = new _fetchjsoncache.default(options.cachePath || _constantsts.CACHE_PATH);
|
|
111
|
+
var cache = new _fetchjsoncache.default(options.cachePath || _constantsts.CACHE_PATH, cacheOptions);
|
|
99
112
|
cache.get(_constantsts.DISTS_URL, function(err, versions) {
|
|
100
113
|
if (err) return callback(err);
|
|
101
114
|
cache.get(_constantsts.SCHEDULES_URL, function(err, schedule) {
|
|
@@ -113,7 +126,7 @@ var NodeVersions = /*#__PURE__*/ function() {
|
|
|
113
126
|
});
|
|
114
127
|
};
|
|
115
128
|
NodeVersions.loadSync = function loadSync(options) {
|
|
116
|
-
var cache = new _fetchjsoncache.default((options === null || options === void 0 ? void 0 : options.cachePath) || _constantsts.CACHE_PATH);
|
|
129
|
+
var cache = new _fetchjsoncache.default((options === null || options === void 0 ? void 0 : options.cachePath) || _constantsts.CACHE_PATH, cacheOptions);
|
|
117
130
|
var versions = cache.getSync(_constantsts.DISTS_URL);
|
|
118
131
|
var schedule = cache.getSync(_constantsts.SCHEDULES_URL);
|
|
119
132
|
if (!versions || !schedule) return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/NodeVersions.ts"],"sourcesContent":["import Cache from 'fetch-json-cache';\nimport semver from 'semver';\n\nimport { CACHE_PATH, DISTS_URL, SCHEDULES_URL } from './constants.ts';\nimport { major, minor } from './lib/keyFunctions.ts';\nimport { even, odd } from './lib/lineFunctions.ts';\nimport match from './lib/match.ts';\nimport normalizeSchedule from './lib/normalizeSchedule.ts';\nimport normalizeVersion from './lib/normalizeVersion.ts';\nimport parseExpression from './parseExpression/index.ts';\n\nimport type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRaw, Version, VersionRaw } from './types.ts';\n\nexport type LoadCallback = (error?: LoadError, semvers?: NodeVersions) => void;\n\nexport default class NodeVersions {\n versions: Version[];\n schedules: Schedule[];\n\n constructor(versions: VersionRaw[], schedule: ScheduleRaw[]) {\n if (!versions) throw new Error('Missing option: versions');\n if (!schedule) throw new Error('Missing option: schedule');\n\n this.schedules = [];\n for (const name in schedule) this.schedules.push(normalizeSchedule(name, schedule[name]));\n this.schedules = this.schedules.sort((a, b) => (semver.gt(semver.coerce(a.semver)?.version ?? '0.0.0', semver.coerce(b.semver)?.version ?? '0.0.0') ? 1 : -1));\n\n this.versions = [];\n for (let index = 0; index < versions.length; index++) this.versions.push(normalizeVersion(versions[index], this.schedules));\n this.versions = this.versions.sort((a, b) => (semver.gt(a.semver, b.semver) ? -1 : 1));\n }\n\n static load(callback: LoadCallback): void;\n static load(options: LoadOptions, callback: LoadCallback): void;\n static load(options?: LoadOptions): Promise<NodeVersions>;\n static load(options?: LoadOptions | LoadCallback, callback?: LoadCallback): void | Promise<NodeVersions> {\n callback = typeof options === 'function' ? options : callback;\n options = typeof options === 'function' ? {} : ((options || {}) as LoadOptions);\n\n function worker(options: LoadOptions, callback: LoadCallback) {\n const cache = new Cache(options.cachePath || CACHE_PATH);\n cache.get<VersionRaw[]>(DISTS_URL, (err, versions) => {\n if (err) return callback(err);\n\n cache.get<ScheduleRaw[]>(SCHEDULES_URL, (err, schedule) => {\n if (err || !versions || !schedule) return callback(err ?? new Error('Missing data'));\n callback(undefined, new NodeVersions(versions, schedule));\n });\n });\n }\n\n if (typeof callback === 'function') return worker(options, callback);\n return new Promise((resolve, reject) =>\n worker(options, (err?: LoadError, versions?: NodeVersions) => {\n if (err || !versions) return reject(err ?? new Error('No versions returned'));\n resolve(versions);\n })\n );\n }\n\n static loadSync(options?: LoadOptions): NodeVersions | null {\n const cache = new Cache(options?.cachePath || CACHE_PATH);\n const versions = cache.getSync<VersionRaw[]>(DISTS_URL);\n const schedule = cache.getSync<ScheduleRaw[]>(SCHEDULES_URL);\n if (!versions || !schedule) return null;\n return new NodeVersions(versions, schedule);\n }\n\n resolve(expression: string | number | Date, options?: ResolveOptions): string | string[] | Version | Version[] | null {\n options = options || {};\n const path = options.path || 'version';\n\n // normalize\n if (typeof expression === 'number') expression = `${expression}`;\n if (typeof expression !== 'string') return null;\n expression = expression.trim();\n\n // single result, try a match\n const query = parseExpression.call(this, expression, options.now || new Date());\n if (query) {\n let version: Version | null = null;\n for (let index = 0; index < this.versions.length; index++) {\n const test = this.versions[index];\n if (options.now && options.now < test.date) continue;\n if (!match(test as unknown as Record<string, unknown>, query as unknown as Record<string, unknown>)) continue;\n version = test;\n break;\n }\n if (version) return (version as unknown as Record<string, unknown>)[path] as string | Version;\n }\n\n // filtered expression\n const range = options.range || '';\n const filters: { lts: boolean; key: ((v: Version) => string) | undefined; line: ((v: Version) => boolean) | undefined } = {\n lts: !!~range.indexOf('lts'),\n key: undefined,\n line: undefined,\n };\n filters.key = ~range.indexOf('major') ? major : ~range.indexOf('minor') ? minor : undefined;\n filters.line = ~range.indexOf('even') ? even : ~range.indexOf('odd') ? odd : undefined;\n\n const results: unknown[] = [];\n const founds: Record<string, boolean> = {};\n\n for (let index = 0; index < this.versions.length; index++) {\n const test = this.versions[index];\n if (options.now && options.now < test.date) continue;\n if (filters.lts && !test.lts) continue;\n if (filters.line && !filters.line(test)) continue;\n if (!semver.satisfies(test.semver, expression)) continue;\n if (filters.key) {\n const k = filters.key(test);\n if (founds[k]) continue;\n founds[k] = true;\n }\n results.unshift((test as unknown as Record<string, unknown>)[path]);\n }\n return results as string[];\n }\n}\n"],"names":["NodeVersions","versions","schedule","Error","schedules","name","push","normalizeSchedule","sort","a","b","semver","gt","coerce","version","index","length","normalizeVersion","resolve","expression","options","path","trim","query","parseExpression","call","now","Date","test","date","match","range","filters","lts","indexOf","key","undefined","line","major","minor","even","odd","results","founds","satisfies","k","unshift","load","callback","worker","cache","Cache","cachePath","CACHE_PATH","get","DISTS_URL","err","SCHEDULES_URL","Promise","reject","loadSync","getSync"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/NodeVersions.ts"],"sourcesContent":["import Cache, { type CacheOptions } from 'fetch-json-cache';\nimport semver from 'semver';\n\nimport { CACHE_PATH, DISTS_URL, SCHEDULES_URL } from './constants.ts';\nimport { major, minor } from './lib/keyFunctions.ts';\nimport { even, odd } from './lib/lineFunctions.ts';\nimport match from './lib/match.ts';\nimport normalizeSchedule from './lib/normalizeSchedule.ts';\nimport normalizeVersion from './lib/normalizeVersion.ts';\nimport parseExpression from './parseExpression/index.ts';\n\nimport type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRawMap, Version, VersionRaw } from './types.ts';\n\nexport type LoadCallback = (error?: LoadError, semvers?: NodeVersions) => void;\n\ntype Wire = VersionRaw[] | ScheduleRawMap;\n\n// Only these fields are read, and the cache ships in the package, so store nothing else\nconst cacheOptions: CacheOptions<Wire, Wire> = {\n transform: (body, endpoint) => (endpoint === DISTS_URL && Array.isArray(body) ? body.map(({ version, date, lts }) => ({ version, date, lts })) : body),\n};\n\nexport default class NodeVersions {\n versions: Version[];\n schedules: Schedule[];\n\n constructor(versions: VersionRaw[], schedule: ScheduleRawMap) {\n if (!versions) throw new Error('Missing option: versions');\n if (!schedule) throw new Error('Missing option: schedule');\n\n this.schedules = [];\n for (const name in schedule) this.schedules.push(normalizeSchedule(name, schedule[name]));\n this.schedules = this.schedules.sort((a, b) => (semver.gt(semver.coerce(a.semver)?.version ?? '0.0.0', semver.coerce(b.semver)?.version ?? '0.0.0') ? 1 : -1));\n\n this.versions = [];\n for (let index = 0; index < versions.length; index++) this.versions.push(normalizeVersion(versions[index], this.schedules));\n this.versions = this.versions.sort((a, b) => (semver.gt(a.semver, b.semver) ? -1 : 1));\n }\n\n static load(callback: LoadCallback): void;\n static load(options: LoadOptions, callback: LoadCallback): void;\n static load(options?: LoadOptions): Promise<NodeVersions>;\n static load(options?: LoadOptions | LoadCallback, callback?: LoadCallback): void | Promise<NodeVersions> {\n callback = typeof options === 'function' ? options : callback;\n options = typeof options === 'function' ? {} : ((options || {}) as LoadOptions);\n\n function worker(options: LoadOptions, callback: LoadCallback) {\n const cache = new Cache(options.cachePath || CACHE_PATH, cacheOptions);\n cache.get<VersionRaw[]>(DISTS_URL, (err, versions) => {\n if (err) return callback(err);\n\n cache.get<ScheduleRawMap>(SCHEDULES_URL, (err, schedule) => {\n if (err || !versions || !schedule) return callback(err ?? new Error('Missing data'));\n callback(undefined, new NodeVersions(versions, schedule));\n });\n });\n }\n\n if (typeof callback === 'function') return worker(options, callback);\n return new Promise((resolve, reject) =>\n worker(options, (err?: LoadError, versions?: NodeVersions) => {\n if (err || !versions) return reject(err ?? new Error('No versions returned'));\n resolve(versions);\n })\n );\n }\n\n static loadSync(options?: LoadOptions): NodeVersions | null {\n const cache = new Cache(options?.cachePath || CACHE_PATH, cacheOptions);\n const versions = cache.getSync<VersionRaw[]>(DISTS_URL);\n const schedule = cache.getSync<ScheduleRawMap>(SCHEDULES_URL);\n if (!versions || !schedule) return null;\n return new NodeVersions(versions, schedule);\n }\n\n resolve(expression: string | number | Date, options?: ResolveOptions): string | string[] | Version | Version[] | null {\n options = options || {};\n const path = options.path || 'version';\n\n // normalize\n if (typeof expression === 'number') expression = `${expression}`;\n if (typeof expression !== 'string') return null;\n expression = expression.trim();\n\n // single result, try a match\n const query = parseExpression.call(this, expression, options.now || new Date());\n if (query) {\n let version: Version | null = null;\n for (let index = 0; index < this.versions.length; index++) {\n const test = this.versions[index];\n if (options.now && options.now < test.date) continue;\n if (!match(test as unknown as Record<string, unknown>, query as unknown as Record<string, unknown>)) continue;\n version = test;\n break;\n }\n if (version) return (version as unknown as Record<string, unknown>)[path] as string | Version;\n }\n\n // filtered expression\n const range = options.range || '';\n const filters: { lts: boolean; key: ((v: Version) => string) | undefined; line: ((v: Version) => boolean) | undefined } = {\n lts: !!~range.indexOf('lts'),\n key: undefined,\n line: undefined,\n };\n filters.key = ~range.indexOf('major') ? major : ~range.indexOf('minor') ? minor : undefined;\n filters.line = ~range.indexOf('even') ? even : ~range.indexOf('odd') ? odd : undefined;\n\n const results: unknown[] = [];\n const founds: Record<string, boolean> = {};\n\n for (let index = 0; index < this.versions.length; index++) {\n const test = this.versions[index];\n if (options.now && options.now < test.date) continue;\n if (filters.lts && !test.lts) continue;\n if (filters.line && !filters.line(test)) continue;\n if (!semver.satisfies(test.semver, expression)) continue;\n if (filters.key) {\n const k = filters.key(test);\n if (founds[k]) continue;\n founds[k] = true;\n }\n results.unshift((test as unknown as Record<string, unknown>)[path]);\n }\n return results as string[];\n }\n}\n"],"names":["NodeVersions","cacheOptions","transform","body","endpoint","DISTS_URL","Array","isArray","map","version","date","lts","versions","schedule","Error","schedules","name","push","normalizeSchedule","sort","a","b","semver","gt","coerce","index","length","normalizeVersion","resolve","expression","options","path","trim","query","parseExpression","call","now","Date","test","match","range","filters","indexOf","key","undefined","line","major","minor","even","odd","results","founds","satisfies","k","unshift","load","callback","worker","cache","Cache","cachePath","CACHE_PATH","get","err","SCHEDULES_URL","Promise","reject","loadSync","getSync"],"mappings":";;;;;;;eAsBqBA;;;qEAtBoB;6DACtB;2BAEkC;8BACxB;+BACH;8DACR;0EACY;yEACD;8DACD;;;;;;;;;AAQ5B,wFAAwF;AACxF,IAAMC,eAAyC;IAC7CC,WAAW,SAAXA,UAAYC,MAAMC;eAAcA,aAAaC,sBAAS,IAAIC,MAAMC,OAAO,CAACJ,QAAQA,KAAKK,GAAG,CAAC;gBAAGC,gBAAAA,SAASC,aAAAA,MAAMC,YAAAA;mBAAW;gBAAEF,SAAAA;gBAASC,MAAAA;gBAAMC,KAAAA;YAAI;aAAMR;;AACnJ;AAEe,IAAA,AAAMH,6BAAN;;aAAMA,aAIPY,QAAsB,EAAEC,QAAwB;gCAJzCb;QAKjB,IAAI,CAACY,UAAU,MAAM,IAAIE,MAAM;QAC/B,IAAI,CAACD,UAAU,MAAM,IAAIC,MAAM;QAE/B,IAAI,CAACC,SAAS,GAAG,EAAE;QACnB,IAAK,IAAMC,QAAQH,SAAU,IAAI,CAACE,SAAS,CAACE,IAAI,CAACC,IAAAA,4BAAiB,EAACF,MAAMH,QAAQ,CAACG,KAAK;QACvF,IAAI,CAACD,SAAS,GAAG,IAAI,CAACA,SAAS,CAACI,IAAI,CAAC,SAACC,GAAGC;;gBAAiBC,gBAA6CA;mBAAvDA,eAAM,CAACC,EAAE,UAACD,iBAAAA,eAAM,CAACE,MAAM,CAACJ,EAAEE,MAAM,eAAtBA,qCAAAA,eAAyBb,OAAO,uCAAI,mBAASa,kBAAAA,eAAM,CAACE,MAAM,CAACH,EAAEC,MAAM,eAAtBA,sCAAAA,gBAAyBb,OAAO,yCAAI,WAAW,IAAI,CAAC;;QAE3J,IAAI,CAACG,QAAQ,GAAG,EAAE;QAClB,IAAK,IAAIa,QAAQ,GAAGA,QAAQb,SAASc,MAAM,EAAED,QAAS,IAAI,CAACb,QAAQ,CAACK,IAAI,CAACU,IAAAA,2BAAgB,EAACf,QAAQ,CAACa,MAAM,EAAE,IAAI,CAACV,SAAS;QACzH,IAAI,CAACH,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACO,IAAI,CAAC,SAACC,GAAGC;mBAAOC,eAAM,CAACC,EAAE,CAACH,EAAEE,MAAM,EAAED,EAAEC,MAAM,IAAI,CAAC,IAAI;;;iBAdlEtB;IAqDnB4B,OAAAA,OAkDC,GAlDDA,SAAAA,QAAQC,UAAkC,EAAEC,OAAwB;QAClEA,UAAUA,WAAW,CAAC;QACtB,IAAMC,OAAOD,QAAQC,IAAI,IAAI;QAE7B,YAAY;QACZ,IAAI,OAAOF,eAAe,UAAUA,aAAa,AAAC,GAAa,OAAXA;QACpD,IAAI,OAAOA,eAAe,UAAU,OAAO;QAC3CA,aAAaA,WAAWG,IAAI;QAE5B,6BAA6B;QAC7B,IAAMC,QAAQC,gBAAe,CAACC,IAAI,CAAC,IAAI,EAAEN,YAAYC,QAAQM,GAAG,IAAI,IAAIC;QACxE,IAAIJ,OAAO;YACT,IAAIxB,UAA0B;YAC9B,IAAK,IAAIgB,QAAQ,GAAGA,QAAQ,IAAI,CAACb,QAAQ,CAACc,MAAM,EAAED,QAAS;gBACzD,IAAMa,OAAO,IAAI,CAAC1B,QAAQ,CAACa,MAAM;gBACjC,IAAIK,QAAQM,GAAG,IAAIN,QAAQM,GAAG,GAAGE,KAAK5B,IAAI,EAAE;gBAC5C,IAAI,CAAC6B,IAAAA,gBAAK,EAACD,MAA4CL,QAA8C;gBACrGxB,UAAU6B;gBACV;YACF;YACA,IAAI7B,SAAS,OAAO,AAACA,OAA8C,CAACsB,KAAK;QAC3E;QAEA,sBAAsB;QACtB,IAAMS,QAAQV,QAAQU,KAAK,IAAI;QAC/B,IAAMC,UAAoH;YACxH9B,KAAK,CAAC,CAAC,CAAC6B,MAAME,OAAO,CAAC;YACtBC,KAAKC;YACLC,MAAMD;QACR;QACAH,QAAQE,GAAG,GAAG,CAACH,MAAME,OAAO,CAAC,WAAWI,qBAAK,GAAG,CAACN,MAAME,OAAO,CAAC,WAAWK,qBAAK,GAAGH;QAClFH,QAAQI,IAAI,GAAG,CAACL,MAAME,OAAO,CAAC,UAAUM,qBAAI,GAAG,CAACR,MAAME,OAAO,CAAC,SAASO,oBAAG,GAAGL;QAE7E,IAAMM,UAAqB,EAAE;QAC7B,IAAMC,SAAkC,CAAC;QAEzC,IAAK,IAAI1B,SAAQ,GAAGA,SAAQ,IAAI,CAACb,QAAQ,CAACc,MAAM,EAAED,SAAS;YACzD,IAAMa,QAAO,IAAI,CAAC1B,QAAQ,CAACa,OAAM;YACjC,IAAIK,QAAQM,GAAG,IAAIN,QAAQM,GAAG,GAAGE,MAAK5B,IAAI,EAAE;YAC5C,IAAI+B,QAAQ9B,GAAG,IAAI,CAAC2B,MAAK3B,GAAG,EAAE;YAC9B,IAAI8B,QAAQI,IAAI,IAAI,CAACJ,QAAQI,IAAI,CAACP,QAAO;YACzC,IAAI,CAAChB,eAAM,CAAC8B,SAAS,CAACd,MAAKhB,MAAM,EAAEO,aAAa;YAChD,IAAIY,QAAQE,GAAG,EAAE;gBACf,IAAMU,IAAIZ,QAAQE,GAAG,CAACL;gBACtB,IAAIa,MAAM,CAACE,EAAE,EAAE;gBACfF,MAAM,CAACE,EAAE,GAAG;YACd;YACAH,QAAQI,OAAO,CAAC,AAAChB,KAA2C,CAACP,KAAK;QACpE;QACA,OAAOmB;IACT;IAvGmBlD,aAoBZuD,IAuBN,GAvBD,SAAOA,KAAKzB,OAAoC,EAAE0B,QAAuB;QACvEA,WAAW,OAAO1B,YAAY,aAAaA,UAAU0B;QACrD1B,UAAU,OAAOA,YAAY,aAAa,CAAC,IAAMA,WAAW,CAAC;QAE7D,SAAS2B,OAAO3B,OAAoB,EAAE0B,QAAsB;YAC1D,IAAME,QAAQ,IAAIC,uBAAK,CAAC7B,QAAQ8B,SAAS,IAAIC,uBAAU,EAAE5D;YACzDyD,MAAMI,GAAG,CAAezD,sBAAS,EAAE,SAAC0D,KAAKnD;gBACvC,IAAImD,KAAK,OAAOP,SAASO;gBAEzBL,MAAMI,GAAG,CAAiBE,0BAAa,EAAE,SAACD,KAAKlD;oBAC7C,IAAIkD,OAAO,CAACnD,YAAY,CAACC,UAAU,OAAO2C,SAASO,gBAAAA,iBAAAA,MAAO,IAAIjD,MAAM;oBACpE0C,SAASZ,WAAW,IA/BT5C,aA+B0BY,UAAUC;gBACjD;YACF;QACF;QAEA,IAAI,OAAO2C,aAAa,YAAY,OAAOC,OAAO3B,SAAS0B;QAC3D,OAAO,IAAIS,QAAQ,SAACrC,SAASsC;mBAC3BT,OAAO3B,SAAS,SAACiC,KAAiBnD;gBAChC,IAAImD,OAAO,CAACnD,UAAU,OAAOsD,OAAOH,gBAAAA,iBAAAA,MAAO,IAAIjD,MAAM;gBACrDc,QAAQhB;YACV;;IAEJ;IA3CmBZ,aA6CZmE,QAMN,GAND,SAAOA,SAASrC,OAAqB;QACnC,IAAM4B,QAAQ,IAAIC,uBAAK,CAAC7B,CAAAA,oBAAAA,8BAAAA,QAAS8B,SAAS,KAAIC,uBAAU,EAAE5D;QAC1D,IAAMW,WAAW8C,MAAMU,OAAO,CAAe/D,sBAAS;QACtD,IAAMQ,WAAW6C,MAAMU,OAAO,CAAiBJ,0BAAa;QAC5D,IAAI,CAACpD,YAAY,CAACC,UAAU,OAAO;QACnC,OAAO,IAlDUb,aAkDOY,UAAUC;IACpC;WAnDmBb"}
|
package/dist/cjs/constants.d.cts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare const CACHE_PATH: string;
|
|
2
|
-
export declare const DISTS_URL
|
|
3
|
-
export declare const SCHEDULES_URL
|
|
2
|
+
export declare const DISTS_URL = "https://nodejs.org/dist/index.json";
|
|
3
|
+
export declare const SCHEDULES_URL = "https://raw.githubusercontent.com/nodejs/Release/master/schedule.json";
|
package/dist/cjs/constants.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare const CACHE_PATH: string;
|
|
2
|
-
export declare const DISTS_URL
|
|
3
|
-
export declare const SCHEDULES_URL
|
|
2
|
+
export declare const DISTS_URL = "https://nodejs.org/dist/index.json";
|
|
3
|
+
export declare const SCHEDULES_URL = "https://raw.githubusercontent.com/nodejs/Release/master/schedule.json";
|
package/dist/cjs/constants.js
CHANGED
|
@@ -19,15 +19,15 @@ _export(exports, {
|
|
|
19
19
|
return SCHEDULES_URL;
|
|
20
20
|
}
|
|
21
21
|
});
|
|
22
|
-
var
|
|
22
|
+
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
23
|
+
var _url = /*#__PURE__*/ _interop_require_default(require("url"));
|
|
23
24
|
function _interop_require_default(obj) {
|
|
24
25
|
return obj && obj.__esModule ? obj : {
|
|
25
26
|
default: obj
|
|
26
27
|
};
|
|
27
28
|
}
|
|
28
|
-
var
|
|
29
|
-
var
|
|
30
|
-
var
|
|
31
|
-
var
|
|
32
|
-
var SCHEDULES_URL = constants.SCHEDULES_URL;
|
|
29
|
+
var __dirname = _path.default.dirname(typeof __filename !== 'undefined' ? __filename : _url.default.fileURLToPath(require("url").pathToFileURL(__filename).toString()));
|
|
30
|
+
var CACHE_PATH = _path.default.join(__dirname, '..', '..', '.cache');
|
|
31
|
+
var DISTS_URL = 'https://nodejs.org/dist/index.json';
|
|
32
|
+
var SCHEDULES_URL = 'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json';
|
|
33
33
|
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/constants.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/constants.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\n\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\n\n// Seeded at build time by scripts/generate-cache.mjs and shipped in the package, so loadSync works\n// on a fresh install. Refreshed at runtime by fetch-json-cache's etag revalidation.\nexport const CACHE_PATH = path.join(__dirname, '..', '..', '.cache');\nexport const DISTS_URL = 'https://nodejs.org/dist/index.json';\nexport const SCHEDULES_URL = 'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json';\n"],"names":["CACHE_PATH","DISTS_URL","SCHEDULES_URL","__dirname","path","dirname","__filename","url","fileURLToPath","join"],"mappings":";;;;;;;;;;;QAOaA;eAAAA;;QACAC;eAAAA;;QACAC;eAAAA;;;2DATI;0DACD;;;;;;AAEhB,IAAMC,YAAYC,aAAI,CAACC,OAAO,CAAC,OAAOC,eAAe,cAAcA,aAAaC,YAAG,CAACC,aAAa,CAAC;AAI3F,IAAMR,aAAaI,aAAI,CAACK,IAAI,CAACN,WAAW,MAAM,MAAM;AACpD,IAAMF,YAAY;AAClB,IAAMC,gBAAgB"}
|
package/dist/cjs/types.d.cts
CHANGED
|
@@ -10,17 +10,21 @@ export interface ResolveOptions {
|
|
|
10
10
|
range?: string;
|
|
11
11
|
path?: string;
|
|
12
12
|
}
|
|
13
|
-
export interface
|
|
13
|
+
export interface VersionRaw {
|
|
14
14
|
version: string;
|
|
15
|
-
name: string;
|
|
16
|
-
semver: string;
|
|
17
15
|
date: string;
|
|
16
|
+
lts: string | false;
|
|
17
|
+
}
|
|
18
|
+
export interface ScheduleRaw {
|
|
18
19
|
start: string;
|
|
19
20
|
end: string;
|
|
20
|
-
|
|
21
|
-
lts: string;
|
|
21
|
+
lts?: string;
|
|
22
22
|
maintenance?: string;
|
|
23
|
+
codename?: string;
|
|
23
24
|
}
|
|
25
|
+
export type ScheduleRawMap = {
|
|
26
|
+
[name: string]: ScheduleRaw;
|
|
27
|
+
};
|
|
24
28
|
export interface Schedule {
|
|
25
29
|
name: string;
|
|
26
30
|
semver: string;
|
|
@@ -31,18 +35,6 @@ export interface Schedule {
|
|
|
31
35
|
lts?: Date;
|
|
32
36
|
maintenance?: Date;
|
|
33
37
|
}
|
|
34
|
-
export interface VersionRaw {
|
|
35
|
-
version: string;
|
|
36
|
-
name: string;
|
|
37
|
-
semver: string;
|
|
38
|
-
major: number;
|
|
39
|
-
minor: number;
|
|
40
|
-
patch: number;
|
|
41
|
-
lts: string;
|
|
42
|
-
date: Date;
|
|
43
|
-
raw: ScheduleRaw;
|
|
44
|
-
codename: string;
|
|
45
|
-
}
|
|
46
38
|
export interface Version {
|
|
47
39
|
version: string;
|
|
48
40
|
name: string;
|
|
@@ -50,7 +42,7 @@ export interface Version {
|
|
|
50
42
|
major: number;
|
|
51
43
|
minor: number;
|
|
52
44
|
patch: number;
|
|
53
|
-
lts: string;
|
|
45
|
+
lts: string | false;
|
|
54
46
|
date: Date;
|
|
55
47
|
raw: VersionRaw;
|
|
56
48
|
codename: string;
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -10,17 +10,21 @@ export interface ResolveOptions {
|
|
|
10
10
|
range?: string;
|
|
11
11
|
path?: string;
|
|
12
12
|
}
|
|
13
|
-
export interface
|
|
13
|
+
export interface VersionRaw {
|
|
14
14
|
version: string;
|
|
15
|
-
name: string;
|
|
16
|
-
semver: string;
|
|
17
15
|
date: string;
|
|
16
|
+
lts: string | false;
|
|
17
|
+
}
|
|
18
|
+
export interface ScheduleRaw {
|
|
18
19
|
start: string;
|
|
19
20
|
end: string;
|
|
20
|
-
|
|
21
|
-
lts: string;
|
|
21
|
+
lts?: string;
|
|
22
22
|
maintenance?: string;
|
|
23
|
+
codename?: string;
|
|
23
24
|
}
|
|
25
|
+
export type ScheduleRawMap = {
|
|
26
|
+
[name: string]: ScheduleRaw;
|
|
27
|
+
};
|
|
24
28
|
export interface Schedule {
|
|
25
29
|
name: string;
|
|
26
30
|
semver: string;
|
|
@@ -31,18 +35,6 @@ export interface Schedule {
|
|
|
31
35
|
lts?: Date;
|
|
32
36
|
maintenance?: Date;
|
|
33
37
|
}
|
|
34
|
-
export interface VersionRaw {
|
|
35
|
-
version: string;
|
|
36
|
-
name: string;
|
|
37
|
-
semver: string;
|
|
38
|
-
major: number;
|
|
39
|
-
minor: number;
|
|
40
|
-
patch: number;
|
|
41
|
-
lts: string;
|
|
42
|
-
date: Date;
|
|
43
|
-
raw: ScheduleRaw;
|
|
44
|
-
codename: string;
|
|
45
|
-
}
|
|
46
38
|
export interface Version {
|
|
47
39
|
version: string;
|
|
48
40
|
name: string;
|
|
@@ -50,7 +42,7 @@ export interface Version {
|
|
|
50
42
|
major: number;
|
|
51
43
|
minor: number;
|
|
52
44
|
patch: number;
|
|
53
|
-
lts: string;
|
|
45
|
+
lts: string | false;
|
|
54
46
|
date: Date;
|
|
55
47
|
raw: VersionRaw;
|
|
56
48
|
codename: string;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { LoadError, LoadOptions, ResolveOptions, Schedule,
|
|
1
|
+
import type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRawMap, Version, VersionRaw } from './types.js';
|
|
2
2
|
export type LoadCallback = (error?: LoadError, semvers?: NodeVersions) => void;
|
|
3
3
|
export default class NodeVersions {
|
|
4
4
|
versions: Version[];
|
|
5
5
|
schedules: Schedule[];
|
|
6
|
-
constructor(versions: VersionRaw[], schedule:
|
|
6
|
+
constructor(versions: VersionRaw[], schedule: ScheduleRawMap);
|
|
7
7
|
static load(callback: LoadCallback): void;
|
|
8
8
|
static load(options: LoadOptions, callback: LoadCallback): void;
|
|
9
9
|
static load(options?: LoadOptions): Promise<NodeVersions>;
|
package/dist/esm/NodeVersions.js
CHANGED
|
@@ -7,12 +7,20 @@ import match from './lib/match.js';
|
|
|
7
7
|
import normalizeSchedule from './lib/normalizeSchedule.js';
|
|
8
8
|
import normalizeVersion from './lib/normalizeVersion.js';
|
|
9
9
|
import parseExpression from './parseExpression/index.js';
|
|
10
|
+
// Only these fields are read, and the cache ships in the package, so store nothing else
|
|
11
|
+
const cacheOptions = {
|
|
12
|
+
transform: (body, endpoint)=>endpoint === DISTS_URL && Array.isArray(body) ? body.map(({ version, date, lts })=>({
|
|
13
|
+
version,
|
|
14
|
+
date,
|
|
15
|
+
lts
|
|
16
|
+
})) : body
|
|
17
|
+
};
|
|
10
18
|
let NodeVersions = class NodeVersions {
|
|
11
19
|
static load(options, callback) {
|
|
12
20
|
callback = typeof options === 'function' ? options : callback;
|
|
13
21
|
options = typeof options === 'function' ? {} : options || {};
|
|
14
22
|
function worker(options, callback) {
|
|
15
|
-
const cache = new Cache(options.cachePath || CACHE_PATH);
|
|
23
|
+
const cache = new Cache(options.cachePath || CACHE_PATH, cacheOptions);
|
|
16
24
|
cache.get(DISTS_URL, (err, versions)=>{
|
|
17
25
|
if (err) return callback(err);
|
|
18
26
|
cache.get(SCHEDULES_URL, (err, schedule)=>{
|
|
@@ -28,7 +36,7 @@ let NodeVersions = class NodeVersions {
|
|
|
28
36
|
}));
|
|
29
37
|
}
|
|
30
38
|
static loadSync(options) {
|
|
31
|
-
const cache = new Cache((options === null || options === void 0 ? void 0 : options.cachePath) || CACHE_PATH);
|
|
39
|
+
const cache = new Cache((options === null || options === void 0 ? void 0 : options.cachePath) || CACHE_PATH, cacheOptions);
|
|
32
40
|
const versions = cache.getSync(DISTS_URL);
|
|
33
41
|
const schedule = cache.getSync(SCHEDULES_URL);
|
|
34
42
|
if (!versions || !schedule) return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/NodeVersions.ts"],"sourcesContent":["import Cache from 'fetch-json-cache';\nimport semver from 'semver';\n\nimport { CACHE_PATH, DISTS_URL, SCHEDULES_URL } from './constants.ts';\nimport { major, minor } from './lib/keyFunctions.ts';\nimport { even, odd } from './lib/lineFunctions.ts';\nimport match from './lib/match.ts';\nimport normalizeSchedule from './lib/normalizeSchedule.ts';\nimport normalizeVersion from './lib/normalizeVersion.ts';\nimport parseExpression from './parseExpression/index.ts';\n\nimport type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRaw, Version, VersionRaw } from './types.ts';\n\nexport type LoadCallback = (error?: LoadError, semvers?: NodeVersions) => void;\n\nexport default class NodeVersions {\n versions: Version[];\n schedules: Schedule[];\n\n constructor(versions: VersionRaw[], schedule: ScheduleRaw[]) {\n if (!versions) throw new Error('Missing option: versions');\n if (!schedule) throw new Error('Missing option: schedule');\n\n this.schedules = [];\n for (const name in schedule) this.schedules.push(normalizeSchedule(name, schedule[name]));\n this.schedules = this.schedules.sort((a, b) => (semver.gt(semver.coerce(a.semver)?.version ?? '0.0.0', semver.coerce(b.semver)?.version ?? '0.0.0') ? 1 : -1));\n\n this.versions = [];\n for (let index = 0; index < versions.length; index++) this.versions.push(normalizeVersion(versions[index], this.schedules));\n this.versions = this.versions.sort((a, b) => (semver.gt(a.semver, b.semver) ? -1 : 1));\n }\n\n static load(callback: LoadCallback): void;\n static load(options: LoadOptions, callback: LoadCallback): void;\n static load(options?: LoadOptions): Promise<NodeVersions>;\n static load(options?: LoadOptions | LoadCallback, callback?: LoadCallback): void | Promise<NodeVersions> {\n callback = typeof options === 'function' ? options : callback;\n options = typeof options === 'function' ? {} : ((options || {}) as LoadOptions);\n\n function worker(options: LoadOptions, callback: LoadCallback) {\n const cache = new Cache(options.cachePath || CACHE_PATH);\n cache.get<VersionRaw[]>(DISTS_URL, (err, versions) => {\n if (err) return callback(err);\n\n cache.get<ScheduleRaw[]>(SCHEDULES_URL, (err, schedule) => {\n if (err || !versions || !schedule) return callback(err ?? new Error('Missing data'));\n callback(undefined, new NodeVersions(versions, schedule));\n });\n });\n }\n\n if (typeof callback === 'function') return worker(options, callback);\n return new Promise((resolve, reject) =>\n worker(options, (err?: LoadError, versions?: NodeVersions) => {\n if (err || !versions) return reject(err ?? new Error('No versions returned'));\n resolve(versions);\n })\n );\n }\n\n static loadSync(options?: LoadOptions): NodeVersions | null {\n const cache = new Cache(options?.cachePath || CACHE_PATH);\n const versions = cache.getSync<VersionRaw[]>(DISTS_URL);\n const schedule = cache.getSync<ScheduleRaw[]>(SCHEDULES_URL);\n if (!versions || !schedule) return null;\n return new NodeVersions(versions, schedule);\n }\n\n resolve(expression: string | number | Date, options?: ResolveOptions): string | string[] | Version | Version[] | null {\n options = options || {};\n const path = options.path || 'version';\n\n // normalize\n if (typeof expression === 'number') expression = `${expression}`;\n if (typeof expression !== 'string') return null;\n expression = expression.trim();\n\n // single result, try a match\n const query = parseExpression.call(this, expression, options.now || new Date());\n if (query) {\n let version: Version | null = null;\n for (let index = 0; index < this.versions.length; index++) {\n const test = this.versions[index];\n if (options.now && options.now < test.date) continue;\n if (!match(test as unknown as Record<string, unknown>, query as unknown as Record<string, unknown>)) continue;\n version = test;\n break;\n }\n if (version) return (version as unknown as Record<string, unknown>)[path] as string | Version;\n }\n\n // filtered expression\n const range = options.range || '';\n const filters: { lts: boolean; key: ((v: Version) => string) | undefined; line: ((v: Version) => boolean) | undefined } = {\n lts: !!~range.indexOf('lts'),\n key: undefined,\n line: undefined,\n };\n filters.key = ~range.indexOf('major') ? major : ~range.indexOf('minor') ? minor : undefined;\n filters.line = ~range.indexOf('even') ? even : ~range.indexOf('odd') ? odd : undefined;\n\n const results: unknown[] = [];\n const founds: Record<string, boolean> = {};\n\n for (let index = 0; index < this.versions.length; index++) {\n const test = this.versions[index];\n if (options.now && options.now < test.date) continue;\n if (filters.lts && !test.lts) continue;\n if (filters.line && !filters.line(test)) continue;\n if (!semver.satisfies(test.semver, expression)) continue;\n if (filters.key) {\n const k = filters.key(test);\n if (founds[k]) continue;\n founds[k] = true;\n }\n results.unshift((test as unknown as Record<string, unknown>)[path]);\n }\n return results as string[];\n }\n}\n"],"names":["Cache","semver","CACHE_PATH","DISTS_URL","SCHEDULES_URL","major","minor","even","odd","match","normalizeSchedule","normalizeVersion","parseExpression","NodeVersions","load","options","callback","worker","cache","cachePath","get","err","versions","schedule","Error","undefined","Promise","resolve","reject","loadSync","getSync","expression","path","trim","query","call","now","Date","version","index","length","test","date","range","filters","lts","indexOf","key","line","results","founds","satisfies","k","unshift","schedules","name","push","sort","a","b","gt","coerce"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/NodeVersions.ts"],"sourcesContent":["import Cache, { type CacheOptions } from 'fetch-json-cache';\nimport semver from 'semver';\n\nimport { CACHE_PATH, DISTS_URL, SCHEDULES_URL } from './constants.ts';\nimport { major, minor } from './lib/keyFunctions.ts';\nimport { even, odd } from './lib/lineFunctions.ts';\nimport match from './lib/match.ts';\nimport normalizeSchedule from './lib/normalizeSchedule.ts';\nimport normalizeVersion from './lib/normalizeVersion.ts';\nimport parseExpression from './parseExpression/index.ts';\n\nimport type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRawMap, Version, VersionRaw } from './types.ts';\n\nexport type LoadCallback = (error?: LoadError, semvers?: NodeVersions) => void;\n\ntype Wire = VersionRaw[] | ScheduleRawMap;\n\n// Only these fields are read, and the cache ships in the package, so store nothing else\nconst cacheOptions: CacheOptions<Wire, Wire> = {\n transform: (body, endpoint) => (endpoint === DISTS_URL && Array.isArray(body) ? body.map(({ version, date, lts }) => ({ version, date, lts })) : body),\n};\n\nexport default class NodeVersions {\n versions: Version[];\n schedules: Schedule[];\n\n constructor(versions: VersionRaw[], schedule: ScheduleRawMap) {\n if (!versions) throw new Error('Missing option: versions');\n if (!schedule) throw new Error('Missing option: schedule');\n\n this.schedules = [];\n for (const name in schedule) this.schedules.push(normalizeSchedule(name, schedule[name]));\n this.schedules = this.schedules.sort((a, b) => (semver.gt(semver.coerce(a.semver)?.version ?? '0.0.0', semver.coerce(b.semver)?.version ?? '0.0.0') ? 1 : -1));\n\n this.versions = [];\n for (let index = 0; index < versions.length; index++) this.versions.push(normalizeVersion(versions[index], this.schedules));\n this.versions = this.versions.sort((a, b) => (semver.gt(a.semver, b.semver) ? -1 : 1));\n }\n\n static load(callback: LoadCallback): void;\n static load(options: LoadOptions, callback: LoadCallback): void;\n static load(options?: LoadOptions): Promise<NodeVersions>;\n static load(options?: LoadOptions | LoadCallback, callback?: LoadCallback): void | Promise<NodeVersions> {\n callback = typeof options === 'function' ? options : callback;\n options = typeof options === 'function' ? {} : ((options || {}) as LoadOptions);\n\n function worker(options: LoadOptions, callback: LoadCallback) {\n const cache = new Cache(options.cachePath || CACHE_PATH, cacheOptions);\n cache.get<VersionRaw[]>(DISTS_URL, (err, versions) => {\n if (err) return callback(err);\n\n cache.get<ScheduleRawMap>(SCHEDULES_URL, (err, schedule) => {\n if (err || !versions || !schedule) return callback(err ?? new Error('Missing data'));\n callback(undefined, new NodeVersions(versions, schedule));\n });\n });\n }\n\n if (typeof callback === 'function') return worker(options, callback);\n return new Promise((resolve, reject) =>\n worker(options, (err?: LoadError, versions?: NodeVersions) => {\n if (err || !versions) return reject(err ?? new Error('No versions returned'));\n resolve(versions);\n })\n );\n }\n\n static loadSync(options?: LoadOptions): NodeVersions | null {\n const cache = new Cache(options?.cachePath || CACHE_PATH, cacheOptions);\n const versions = cache.getSync<VersionRaw[]>(DISTS_URL);\n const schedule = cache.getSync<ScheduleRawMap>(SCHEDULES_URL);\n if (!versions || !schedule) return null;\n return new NodeVersions(versions, schedule);\n }\n\n resolve(expression: string | number | Date, options?: ResolveOptions): string | string[] | Version | Version[] | null {\n options = options || {};\n const path = options.path || 'version';\n\n // normalize\n if (typeof expression === 'number') expression = `${expression}`;\n if (typeof expression !== 'string') return null;\n expression = expression.trim();\n\n // single result, try a match\n const query = parseExpression.call(this, expression, options.now || new Date());\n if (query) {\n let version: Version | null = null;\n for (let index = 0; index < this.versions.length; index++) {\n const test = this.versions[index];\n if (options.now && options.now < test.date) continue;\n if (!match(test as unknown as Record<string, unknown>, query as unknown as Record<string, unknown>)) continue;\n version = test;\n break;\n }\n if (version) return (version as unknown as Record<string, unknown>)[path] as string | Version;\n }\n\n // filtered expression\n const range = options.range || '';\n const filters: { lts: boolean; key: ((v: Version) => string) | undefined; line: ((v: Version) => boolean) | undefined } = {\n lts: !!~range.indexOf('lts'),\n key: undefined,\n line: undefined,\n };\n filters.key = ~range.indexOf('major') ? major : ~range.indexOf('minor') ? minor : undefined;\n filters.line = ~range.indexOf('even') ? even : ~range.indexOf('odd') ? odd : undefined;\n\n const results: unknown[] = [];\n const founds: Record<string, boolean> = {};\n\n for (let index = 0; index < this.versions.length; index++) {\n const test = this.versions[index];\n if (options.now && options.now < test.date) continue;\n if (filters.lts && !test.lts) continue;\n if (filters.line && !filters.line(test)) continue;\n if (!semver.satisfies(test.semver, expression)) continue;\n if (filters.key) {\n const k = filters.key(test);\n if (founds[k]) continue;\n founds[k] = true;\n }\n results.unshift((test as unknown as Record<string, unknown>)[path]);\n }\n return results as string[];\n }\n}\n"],"names":["Cache","semver","CACHE_PATH","DISTS_URL","SCHEDULES_URL","major","minor","even","odd","match","normalizeSchedule","normalizeVersion","parseExpression","cacheOptions","transform","body","endpoint","Array","isArray","map","version","date","lts","NodeVersions","load","options","callback","worker","cache","cachePath","get","err","versions","schedule","Error","undefined","Promise","resolve","reject","loadSync","getSync","expression","path","trim","query","call","now","Date","index","length","test","range","filters","indexOf","key","line","results","founds","satisfies","k","unshift","schedules","name","push","sort","a","b","gt","coerce"],"mappings":"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"}
|
package/dist/esm/constants.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare const CACHE_PATH: string;
|
|
2
|
-
export declare const DISTS_URL
|
|
3
|
-
export declare const SCHEDULES_URL
|
|
2
|
+
export declare const DISTS_URL = "https://nodejs.org/dist/index.json";
|
|
3
|
+
export declare const SCHEDULES_URL = "https://raw.githubusercontent.com/nodejs/Release/master/schedule.json";
|
package/dist/esm/constants.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export const
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import url from 'url';
|
|
3
|
+
const __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));
|
|
4
|
+
// Seeded at build time by scripts/generate-cache.mjs and shipped in the package, so loadSync works
|
|
5
|
+
// on a fresh install. Refreshed at runtime by fetch-json-cache's etag revalidation.
|
|
6
|
+
export const CACHE_PATH = path.join(__dirname, '..', '..', '.cache');
|
|
7
|
+
export const DISTS_URL = 'https://nodejs.org/dist/index.json';
|
|
8
|
+
export const SCHEDULES_URL = 'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/constants.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/constants.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\n\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\n\n// Seeded at build time by scripts/generate-cache.mjs and shipped in the package, so loadSync works\n// on a fresh install. Refreshed at runtime by fetch-json-cache's etag revalidation.\nexport const CACHE_PATH = path.join(__dirname, '..', '..', '.cache');\nexport const DISTS_URL = 'https://nodejs.org/dist/index.json';\nexport const SCHEDULES_URL = 'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json';\n"],"names":["path","url","__dirname","dirname","__filename","fileURLToPath","CACHE_PATH","join","DISTS_URL","SCHEDULES_URL"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,SAAS,MAAM;AAEtB,MAAMC,YAAYF,KAAKG,OAAO,CAAC,OAAOC,eAAe,cAAcA,aAAaH,IAAII,aAAa,CAAC,YAAYJ,GAAG;AAEjH,mGAAmG;AACnG,oFAAoF;AACpF,OAAO,MAAMK,aAAaN,KAAKO,IAAI,CAACL,WAAW,MAAM,MAAM,UAAU;AACrE,OAAO,MAAMM,YAAY,qCAAqC;AAC9D,OAAO,MAAMC,gBAAgB,wEAAwE"}
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -10,17 +10,21 @@ export interface ResolveOptions {
|
|
|
10
10
|
range?: string;
|
|
11
11
|
path?: string;
|
|
12
12
|
}
|
|
13
|
-
export interface
|
|
13
|
+
export interface VersionRaw {
|
|
14
14
|
version: string;
|
|
15
|
-
name: string;
|
|
16
|
-
semver: string;
|
|
17
15
|
date: string;
|
|
16
|
+
lts: string | false;
|
|
17
|
+
}
|
|
18
|
+
export interface ScheduleRaw {
|
|
18
19
|
start: string;
|
|
19
20
|
end: string;
|
|
20
|
-
|
|
21
|
-
lts: string;
|
|
21
|
+
lts?: string;
|
|
22
22
|
maintenance?: string;
|
|
23
|
+
codename?: string;
|
|
23
24
|
}
|
|
25
|
+
export type ScheduleRawMap = {
|
|
26
|
+
[name: string]: ScheduleRaw;
|
|
27
|
+
};
|
|
24
28
|
export interface Schedule {
|
|
25
29
|
name: string;
|
|
26
30
|
semver: string;
|
|
@@ -31,18 +35,6 @@ export interface Schedule {
|
|
|
31
35
|
lts?: Date;
|
|
32
36
|
maintenance?: Date;
|
|
33
37
|
}
|
|
34
|
-
export interface VersionRaw {
|
|
35
|
-
version: string;
|
|
36
|
-
name: string;
|
|
37
|
-
semver: string;
|
|
38
|
-
major: number;
|
|
39
|
-
minor: number;
|
|
40
|
-
patch: number;
|
|
41
|
-
lts: string;
|
|
42
|
-
date: Date;
|
|
43
|
-
raw: ScheduleRaw;
|
|
44
|
-
codename: string;
|
|
45
|
-
}
|
|
46
38
|
export interface Version {
|
|
47
39
|
version: string;
|
|
48
40
|
name: string;
|
|
@@ -50,7 +42,7 @@ export interface Version {
|
|
|
50
42
|
major: number;
|
|
51
43
|
minor: number;
|
|
52
44
|
patch: number;
|
|
53
|
-
lts: string;
|
|
45
|
+
lts: string | false;
|
|
54
46
|
date: Date;
|
|
55
47
|
raw: VersionRaw;
|
|
56
48
|
codename: string;
|
package/dist/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/types.ts"],"sourcesContent":["export interface LoadOptions {\n cachePath?: string;\n now?: Date;\n}\n\nexport interface LoadError extends Error {\n code?: number;\n}\n\nexport interface ResolveOptions {\n now?: Date;\n range?: string;\n path?: string;\n}\n\nexport interface
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/types.ts"],"sourcesContent":["export interface LoadOptions {\n cachePath?: string;\n now?: Date;\n}\n\nexport interface LoadError extends Error {\n code?: number;\n}\n\nexport interface ResolveOptions {\n now?: Date;\n range?: string;\n path?: string;\n}\n\n// The wire shapes, as nodejs.org/dist/index.json and nodejs/Release/schedule.json send them.\n// Distinct from the normalized Version/Schedule this package exposes.\nexport interface VersionRaw {\n version: string;\n date: string;\n lts: string | false;\n}\n\nexport interface ScheduleRaw {\n start: string;\n end: string;\n lts?: string;\n maintenance?: string;\n codename?: string;\n}\n\nexport type ScheduleRawMap = { [name: string]: ScheduleRaw };\n\nexport interface Schedule {\n name: string;\n semver: string;\n raw: ScheduleRaw;\n start: Date;\n end: Date;\n codename?: string;\n lts?: Date;\n maintenance?: Date;\n}\n\nexport interface Version {\n version: string;\n name: string;\n semver: string;\n major: number;\n minor: number;\n patch: number;\n lts: string | false;\n date: Date;\n raw: VersionRaw;\n codename: string;\n}\n\nexport interface ParsedVersion {\n major: number;\n minor?: number;\n patch?: number;\n}\n\nexport interface ParsedCodename {\n codename: string;\n}\n\nexport interface ParsedName {\n name: string;\n}\n\nexport type ParsedExpression = ParsedVersion | ParsedCodename | ParsedName;\n"],"names":[],"mappings":"AAuEA,WAA2E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-semvers",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "Utilities for managing versions of node including looking up codenames",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"node",
|
|
@@ -33,13 +33,12 @@
|
|
|
33
33
|
},
|
|
34
34
|
"files": [
|
|
35
35
|
"dist",
|
|
36
|
-
"
|
|
36
|
+
".cache"
|
|
37
37
|
],
|
|
38
38
|
"scripts": {
|
|
39
39
|
"build": "tsds build",
|
|
40
|
-
"build:
|
|
40
|
+
"build:cache": "node scripts/generate-cache.mjs",
|
|
41
41
|
"format": "tsds format",
|
|
42
|
-
"postinstall": "node assets/postinstall.cjs",
|
|
43
42
|
"prepublishOnly": "tsds validate",
|
|
44
43
|
"test": "tsds test:node --no-timeouts",
|
|
45
44
|
"test:engines": "nvu engines tsds test:node --no-timeouts",
|
package/assets/constants.cjs
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
var path = require('path');
|
|
3
|
-
module.exports = {
|
|
4
|
-
CACHE_PATH: path.join(__dirname, '..', '.cache'),
|
|
5
|
-
DISTS_URL: 'https://nodejs.org/dist/index.json',
|
|
6
|
-
SCHEDULES_URL: 'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json',
|
|
7
|
-
};
|
|
8
|
-
/* CJS INTEROP */ if (exports.__esModule && exports.default) {
|
|
9
|
-
try {
|
|
10
|
-
Object.defineProperty(exports.default, '__esModule', { value: true });
|
|
11
|
-
for (var key in exports) {
|
|
12
|
-
exports.default[key] = exports[key];
|
|
13
|
-
}
|
|
14
|
-
} catch (_) {}
|
|
15
|
-
module.exports = exports.default;
|
|
16
|
-
}
|
package/assets/postinstall.cjs
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
var exit = require('exit-compat');
|
|
3
|
-
var Cache = require('fetch-json-cache');
|
|
4
|
-
var _require = require('./constants.cjs');
|
|
5
|
-
var CACHE_PATH = _require.CACHE_PATH;
|
|
6
|
-
var DISTS_URL = _require.DISTS_URL;
|
|
7
|
-
var SCHEDULES_URL = _require.SCHEDULES_URL;
|
|
8
|
-
function fetchWithRetry(cache, url, retries, callback) {
|
|
9
|
-
cache.get(
|
|
10
|
-
url,
|
|
11
|
-
{
|
|
12
|
-
force: true,
|
|
13
|
-
},
|
|
14
|
-
function (err) {
|
|
15
|
-
if (err && retries > 0) {
|
|
16
|
-
setTimeout(function () {
|
|
17
|
-
fetchWithRetry(cache, url, retries - 1, callback);
|
|
18
|
-
}, 1000);
|
|
19
|
-
} else {
|
|
20
|
-
callback(err);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
);
|
|
24
|
-
}
|
|
25
|
-
function cacheWithRetry(callback) {
|
|
26
|
-
var cache = new Cache(CACHE_PATH);
|
|
27
|
-
fetchWithRetry(cache, DISTS_URL, 3, function (err) {
|
|
28
|
-
if (err) return callback(err);
|
|
29
|
-
fetchWithRetry(cache, SCHEDULES_URL, 3, callback);
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
// run patch
|
|
33
|
-
cacheWithRetry(function (err) {
|
|
34
|
-
if (err) {
|
|
35
|
-
console.log('postinstall warning: '.concat(err.message));
|
|
36
|
-
console.log('Cache not updated after retries.');
|
|
37
|
-
exit(0);
|
|
38
|
-
} else {
|
|
39
|
-
console.log('postinstall succeeded');
|
|
40
|
-
exit(0);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
/* CJS INTEROP */ if (exports.__esModule && exports.default) {
|
|
44
|
-
try {
|
|
45
|
-
Object.defineProperty(exports.default, '__esModule', { value: true });
|
|
46
|
-
for (var key in exports) {
|
|
47
|
-
exports.default[key] = exports[key];
|
|
48
|
-
}
|
|
49
|
-
} catch (_) {}
|
|
50
|
-
module.exports = exports.default;
|
|
51
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var path = require('path');
|
|
3
|
-
module.exports = {
|
|
4
|
-
CACHE_PATH: path.join(__dirname, '..', '.cache'),
|
|
5
|
-
DISTS_URL: 'https://nodejs.org/dist/index.json',
|
|
6
|
-
SCHEDULES_URL: 'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json'
|
|
7
|
-
};
|
|
8
|
-
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/assets/constants.cts"],"sourcesContent":["const path = require('path');\n\nmodule.exports = {\n CACHE_PATH: path.join(__dirname, '..', '.cache'),\n DISTS_URL: 'https://nodejs.org/dist/index.json',\n SCHEDULES_URL: 'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json',\n};\n"],"names":["path","require","module","exports","CACHE_PATH","join","__dirname","DISTS_URL","SCHEDULES_URL"],"mappings":";AAAA,IAAMA,OAAOC,QAAQ;AAErBC,OAAOC,OAAO,GAAG;IACfC,YAAYJ,KAAKK,IAAI,CAACC,WAAW,MAAM;IACvCC,WAAW;IACXC,eAAe;AACjB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var exit = require('exit-compat');
|
|
3
|
-
var Cache = require('fetch-json-cache');
|
|
4
|
-
var _require = require('./constants.cjs'), CACHE_PATH = _require.CACHE_PATH, DISTS_URL = _require.DISTS_URL, SCHEDULES_URL = _require.SCHEDULES_URL;
|
|
5
|
-
function fetchWithRetry(cache, url, retries, callback) {
|
|
6
|
-
cache.get(url, {
|
|
7
|
-
force: true
|
|
8
|
-
}, function(err) {
|
|
9
|
-
if (err && retries > 0) {
|
|
10
|
-
setTimeout(function() {
|
|
11
|
-
fetchWithRetry(cache, url, retries - 1, callback);
|
|
12
|
-
}, 1000);
|
|
13
|
-
} else {
|
|
14
|
-
callback(err);
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
function cacheWithRetry(callback) {
|
|
19
|
-
var cache = new Cache(CACHE_PATH);
|
|
20
|
-
fetchWithRetry(cache, DISTS_URL, 3, function(err) {
|
|
21
|
-
if (err) return callback(err);
|
|
22
|
-
fetchWithRetry(cache, SCHEDULES_URL, 3, callback);
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
// run patch
|
|
26
|
-
cacheWithRetry(function(err) {
|
|
27
|
-
if (err) {
|
|
28
|
-
console.log("postinstall warning: ".concat(err.message));
|
|
29
|
-
console.log('Cache not updated after retries.');
|
|
30
|
-
return exit(0);
|
|
31
|
-
}
|
|
32
|
-
console.log('postinstall succeeded');
|
|
33
|
-
exit(0);
|
|
34
|
-
});
|
|
35
|
-
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/assets/postinstall.cts"],"sourcesContent":["const exit = require('exit-compat');\nconst Cache = require('fetch-json-cache');\nconst { CACHE_PATH, DISTS_URL, SCHEDULES_URL } = require('./constants.cts');\n\ntype Callback = (err: Error | null) => void;\n\nfunction fetchWithRetry(cache: typeof Cache.prototype, url: string, retries: number, callback: Callback) {\n cache.get(url, { force: true }, (err: Error | null) => {\n if (err && retries > 0) {\n setTimeout(() => {\n fetchWithRetry(cache, url, retries - 1, callback);\n }, 1000);\n } else {\n callback(err);\n }\n });\n}\n\nfunction cacheWithRetry(callback: Callback) {\n const cache = new Cache(CACHE_PATH);\n fetchWithRetry(cache, DISTS_URL, 3, (err) => {\n if (err) return callback(err);\n fetchWithRetry(cache, SCHEDULES_URL, 3, callback);\n });\n}\n\n// run patch\ncacheWithRetry((err) => {\n if (err) {\n console.log(`postinstall warning: ${err.message}`);\n console.log('Cache not updated after retries.');\n return exit(0);\n }\n\n console.log('postinstall succeeded');\n exit(0);\n});\n"],"names":["exit","require","Cache","CACHE_PATH","DISTS_URL","SCHEDULES_URL","fetchWithRetry","cache","url","retries","callback","get","force","err","setTimeout","cacheWithRetry","console","log","message"],"mappings":";AAAA,IAAMA,OAAOC,QAAQ;AACrB,IAAMC,QAAQD,QAAQ;AACtB,IAAiDA,WAAAA,QAAQ,oBAAjDE,aAAyCF,SAAzCE,YAAYC,YAA6BH,SAA7BG,WAAWC,gBAAkBJ,SAAlBI;AAI/B,SAASC,eAAeC,KAA6B,EAAEC,GAAW,EAAEC,OAAe,EAAEC,QAAkB;IACrGH,MAAMI,GAAG,CAACH,KAAK;QAAEI,OAAO;IAAK,GAAG,SAACC;QAC/B,IAAIA,OAAOJ,UAAU,GAAG;YACtBK,WAAW;gBACTR,eAAeC,OAAOC,KAAKC,UAAU,GAAGC;YAC1C,GAAG;QACL,OAAO;YACLA,SAASG;QACX;IACF;AACF;AAEA,SAASE,eAAeL,QAAkB;IACxC,IAAMH,QAAQ,IAAIL,MAAMC;IACxBG,eAAeC,OAAOH,WAAW,GAAG,SAACS;QACnC,IAAIA,KAAK,OAAOH,SAASG;QACzBP,eAAeC,OAAOF,eAAe,GAAGK;IAC1C;AACF;AAEA,YAAY;AACZK,eAAe,SAACF;IACd,IAAIA,KAAK;QACPG,QAAQC,GAAG,CAAC,AAAC,wBAAmC,OAAZJ,IAAIK,OAAO;QAC/CF,QAAQC,GAAG,CAAC;QACZ,OAAOjB,KAAK;IACd;IAEAgB,QAAQC,GAAG,CAAC;IACZjB,KAAK;AACP"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/assets/constants.cts"],"sourcesContent":["const path = require('path');\n\nmodule.exports = {\n CACHE_PATH: path.join(__dirname, '..', '.cache'),\n DISTS_URL: 'https://nodejs.org/dist/index.json',\n SCHEDULES_URL: 'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json',\n};\n"],"names":["path","require","module","exports","CACHE_PATH","join","__dirname","DISTS_URL","SCHEDULES_URL"],"mappings":"AAAA,MAAMA,OAAOC,QAAQ;AAErBC,OAAOC,OAAO,GAAG;IACfC,YAAYJ,KAAKK,IAAI,CAACC,WAAW,MAAM;IACvCC,WAAW;IACXC,eAAe;AACjB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
const exit = require('exit-compat');
|
|
2
|
-
const Cache = require('fetch-json-cache');
|
|
3
|
-
const { CACHE_PATH, DISTS_URL, SCHEDULES_URL } = require('./constants.cts');
|
|
4
|
-
function fetchWithRetry(cache, url, retries, callback) {
|
|
5
|
-
cache.get(url, {
|
|
6
|
-
force: true
|
|
7
|
-
}, (err)=>{
|
|
8
|
-
if (err && retries > 0) {
|
|
9
|
-
setTimeout(()=>{
|
|
10
|
-
fetchWithRetry(cache, url, retries - 1, callback);
|
|
11
|
-
}, 1000);
|
|
12
|
-
} else {
|
|
13
|
-
callback(err);
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
function cacheWithRetry(callback) {
|
|
18
|
-
const cache = new Cache(CACHE_PATH);
|
|
19
|
-
fetchWithRetry(cache, DISTS_URL, 3, (err)=>{
|
|
20
|
-
if (err) return callback(err);
|
|
21
|
-
fetchWithRetry(cache, SCHEDULES_URL, 3, callback);
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
// run patch
|
|
25
|
-
cacheWithRetry((err)=>{
|
|
26
|
-
if (err) {
|
|
27
|
-
console.log(`postinstall warning: ${err.message}`);
|
|
28
|
-
console.log('Cache not updated after retries.');
|
|
29
|
-
return exit(0);
|
|
30
|
-
}
|
|
31
|
-
console.log('postinstall succeeded');
|
|
32
|
-
exit(0);
|
|
33
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/assets/postinstall.cts"],"sourcesContent":["const exit = require('exit-compat');\nconst Cache = require('fetch-json-cache');\nconst { CACHE_PATH, DISTS_URL, SCHEDULES_URL } = require('./constants.cts');\n\ntype Callback = (err: Error | null) => void;\n\nfunction fetchWithRetry(cache: typeof Cache.prototype, url: string, retries: number, callback: Callback) {\n cache.get(url, { force: true }, (err: Error | null) => {\n if (err && retries > 0) {\n setTimeout(() => {\n fetchWithRetry(cache, url, retries - 1, callback);\n }, 1000);\n } else {\n callback(err);\n }\n });\n}\n\nfunction cacheWithRetry(callback: Callback) {\n const cache = new Cache(CACHE_PATH);\n fetchWithRetry(cache, DISTS_URL, 3, (err) => {\n if (err) return callback(err);\n fetchWithRetry(cache, SCHEDULES_URL, 3, callback);\n });\n}\n\n// run patch\ncacheWithRetry((err) => {\n if (err) {\n console.log(`postinstall warning: ${err.message}`);\n console.log('Cache not updated after retries.');\n return exit(0);\n }\n\n console.log('postinstall succeeded');\n exit(0);\n});\n"],"names":["exit","require","Cache","CACHE_PATH","DISTS_URL","SCHEDULES_URL","fetchWithRetry","cache","url","retries","callback","get","force","err","setTimeout","cacheWithRetry","console","log","message"],"mappings":"AAAA,MAAMA,OAAOC,QAAQ;AACrB,MAAMC,QAAQD,QAAQ;AACtB,MAAM,EAAEE,UAAU,EAAEC,SAAS,EAAEC,aAAa,EAAE,GAAGJ,QAAQ;AAIzD,SAASK,eAAeC,KAA6B,EAAEC,GAAW,EAAEC,OAAe,EAAEC,QAAkB;IACrGH,MAAMI,GAAG,CAACH,KAAK;QAAEI,OAAO;IAAK,GAAG,CAACC;QAC/B,IAAIA,OAAOJ,UAAU,GAAG;YACtBK,WAAW;gBACTR,eAAeC,OAAOC,KAAKC,UAAU,GAAGC;YAC1C,GAAG;QACL,OAAO;YACLA,SAASG;QACX;IACF;AACF;AAEA,SAASE,eAAeL,QAAkB;IACxC,MAAMH,QAAQ,IAAIL,MAAMC;IACxBG,eAAeC,OAAOH,WAAW,GAAG,CAACS;QACnC,IAAIA,KAAK,OAAOH,SAASG;QACzBP,eAAeC,OAAOF,eAAe,GAAGK;IAC1C;AACF;AAEA,YAAY;AACZK,eAAe,CAACF;IACd,IAAIA,KAAK;QACPG,QAAQC,GAAG,CAAC,CAAC,qBAAqB,EAAEJ,IAAIK,OAAO,EAAE;QACjDF,QAAQC,GAAG,CAAC;QACZ,OAAOjB,KAAK;IACd;IAEAgB,QAAQC,GAAG,CAAC;IACZjB,KAAK;AACP"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|