* chore(deps-dev): bump prettier from 2.8.8 to 3.0.0 Bumps [prettier](https://github.com/prettier/prettier) from 2.8.8 to 3.0.0. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/2.8.8...3.0.0) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * reformat all the things (prettier 3) * update tests to await calls to prettier.format() --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: chris48s <git@chris-shaw.dev>
154 lines
3.9 KiB
JavaScript
154 lines
3.9 KiB
JavaScript
import fs from 'fs'
|
|
import path from 'path'
|
|
import { fileURLToPath } from 'url'
|
|
import dayjs from 'dayjs'
|
|
|
|
const dateFormat = 'YYYY-MM-DD'
|
|
|
|
const templates = {
|
|
packageJsonVersionsTemplate: fs.readFileSync(
|
|
path.join(
|
|
path.dirname(fileURLToPath(import.meta.url)),
|
|
'packageJsonVersionsTemplate.json',
|
|
),
|
|
'utf-8',
|
|
),
|
|
packageJsonTemplate: fs.readFileSync(
|
|
path.join(
|
|
path.dirname(fileURLToPath(import.meta.url)),
|
|
'packageJsonTemplate.json',
|
|
),
|
|
'utf-8',
|
|
),
|
|
}
|
|
|
|
const getTemplate = template => JSON.parse(templates[template])
|
|
|
|
const mockPackageData =
|
|
({ packageName, engines, scope, tag }) =>
|
|
nock => {
|
|
let packageJson
|
|
let urlPath
|
|
if (scope || tag) {
|
|
if (scope) {
|
|
urlPath = `/${scope}%2F${packageName}`
|
|
} else {
|
|
urlPath = `/${packageName}`
|
|
}
|
|
packageJson = getTemplate('packageJsonVersionsTemplate')
|
|
packageJson['dist-tags'][tag || 'latest'] = '0.0.91'
|
|
packageJson.versions['0.0.91'].engines.node = engines
|
|
} else {
|
|
urlPath = `/${packageName}/latest`
|
|
packageJson = getTemplate('packageJsonTemplate')
|
|
packageJson.engines.node = engines
|
|
}
|
|
return nock('https://registry.npmjs.org/')
|
|
.get(urlPath)
|
|
.reply(200, packageJson)
|
|
}
|
|
|
|
const mockCurrentSha = latestVersion => nock => {
|
|
const latestSha = `node-v${latestVersion}.12.0-aix-ppc64.tar.gz`
|
|
return nock('https://nodejs.org/dist/')
|
|
.get('/latest/SHASUMS256.txt')
|
|
.reply(200, latestSha)
|
|
}
|
|
|
|
const mockVersionsSha = () => nock => {
|
|
let scope = nock('https://nodejs.org/dist/')
|
|
for (const version of [10, 12]) {
|
|
const latestSha = `node-v${version}.12.0-aix-ppc64.tar.gz`
|
|
scope = scope
|
|
.get(`/latest-v${version}.x/SHASUMS256.txt`)
|
|
.reply(200, latestSha)
|
|
}
|
|
return scope
|
|
}
|
|
|
|
const mockReleaseSchedule = () => nock => {
|
|
const currentDate = dayjs()
|
|
const schedule = {
|
|
'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: currentDate.clone().subtract(6, 'month').format(dateFormat),
|
|
maintenance: '2020-04-30',
|
|
end: currentDate.clone().add(1, 'month').format(dateFormat),
|
|
codename: 'Dubnium',
|
|
},
|
|
v11: {
|
|
start: '2018-10-23',
|
|
maintenance: '2019-04-22',
|
|
end: '2019-06-01',
|
|
},
|
|
v12: {
|
|
start: '2019-04-23',
|
|
lts: currentDate.clone().subtract(1, 'month').format(dateFormat),
|
|
maintenance: '2020-10-20',
|
|
end: currentDate.clone().add(6, 'month').format(dateFormat),
|
|
codename: 'Erbium',
|
|
},
|
|
v13: {
|
|
start: '2019-10-22',
|
|
maintenance: '2020-04-01',
|
|
end: '2020-06-01',
|
|
},
|
|
v14: {
|
|
start: '2020-04-21',
|
|
lts: currentDate.clone().add(4, 'month').format(dateFormat),
|
|
maintenance: '2021-10-19',
|
|
end: currentDate.clone().add(12, 'month').format(dateFormat),
|
|
codename: '',
|
|
},
|
|
}
|
|
return nock('https://raw.githubusercontent.com/')
|
|
.get('/nodejs/Release/master/schedule.json')
|
|
.reply(200, schedule)
|
|
}
|
|
|
|
export { mockPackageData, mockCurrentSha, mockVersionsSha, mockReleaseSchedule }
|