Files
shields/services/node/testUtils/test-utils.js
dependabot[bot] b9d96755ec chore(deps-dev): bump prettier from 2.8.8 to 3.0.0 (#9357)
* 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>
2023-07-10 09:27:51 +00:00

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 }