Migrate from CommonJS to ESM (#6651)

This commit is contained in:
Pierre-Yves B
2021-07-09 12:53:55 +01:00
committed by GitHub
parent 23678fe2f5
commit 23c0406bed
1130 changed files with 4457 additions and 6711 deletions

View File

@@ -1,9 +1,7 @@
'use strict'
const Joi = require('joi')
const { optionalUrl } = require('../validators')
const { isDependencyMap } = require('../package-json-helpers')
const { BaseJsonService, InvalidResponse, NotFound } = require('..')
import Joi from 'joi'
import { optionalUrl } from '../validators.js'
import { isDependencyMap } from '../package-json-helpers.js'
import { BaseJsonService, InvalidResponse, NotFound } from '../index.js'
const deprecatedLicenseObjectSchema = Joi.object({
type: Joi.string().required(),
@@ -32,13 +30,13 @@ const packageDataSchema = Joi.object({
files: Joi.array().items(Joi.string()).default([]),
}).required()
const queryParamSchema = Joi.object({
export const queryParamSchema = Joi.object({
registry_uri: optionalUrl,
}).required()
// Abstract class for NPM badges which display data about the latest version
// of a package.
module.exports = class NpmBase extends BaseJsonService {
export default class NpmBase extends BaseJsonService {
static auth = {
passKey: 'npm_token',
serviceKey: 'npm',
@@ -143,5 +141,3 @@ module.exports = class NpmBase extends BaseJsonService {
return this.constructor._validate(packageData, packageDataSchema)
}
}
module.exports.queryParamSchema = queryParamSchema

View File

@@ -1,10 +1,8 @@
'use strict'
const { expect } = require('chai')
const nock = require('nock')
const { cleanUpNockAfterEach, defaultContext } = require('../test-helpers')
import { expect } from 'chai'
import nock from 'nock'
import { cleanUpNockAfterEach, defaultContext } from '../test-helpers.js'
// use NPM Version as an example implementation of NpmBase for this test
const NpmVersion = require('./npm-version.service')
import NpmVersion from './npm-version.service.js'
describe('npm', function () {
describe('auth', function () {

View File

@@ -1,11 +1,9 @@
'use strict'
const { renderContributorBadge } = require('../contributor-count')
const NpmBase = require('./npm-base')
import { renderContributorBadge } from '../contributor-count.js'
import NpmBase from './npm-base.js'
const keywords = ['node']
module.exports = class NpmCollaborators extends NpmBase {
export default class NpmCollaborators extends NpmBase {
static category = 'activity'
static route = this.buildRoute('npm/collaborators', { withTag: false })

View File

@@ -1,7 +1,6 @@
'use strict'
const { nonNegativeInteger } = require('../validators')
const t = (module.exports = require('../tester').createServiceTester())
import { nonNegativeInteger } from '../validators.js'
import { createServiceTester } from '../tester.js'
export const t = await createServiceTester()
t.create('gets the contributor count')
.get('/prettier.json')

View File

@@ -1,12 +1,10 @@
'use strict'
const { getDependencyVersion } = require('../package-json-helpers')
const NpmBase = require('./npm-base')
import { getDependencyVersion } from '../package-json-helpers.js'
import NpmBase from './npm-base.js'
const { queryParamSchema } = NpmBase
const keywords = ['node']
module.exports = class NpmDependencyVersion extends NpmBase {
export default class NpmDependencyVersion extends NpmBase {
static category = 'platform-support'
static route = {

View File

@@ -1,7 +1,6 @@
'use strict'
const { semverRange } = require('../validators')
const t = (module.exports = require('../tester').createServiceTester())
import { semverRange } from '../validators.js'
import { createServiceTester } from '../tester.js'
export const t = await createServiceTester()
t.create('gets the peer dependency version')
.get('/react-boxplot/peer/react.json')

View File

@@ -1,9 +1,7 @@
'use strict'
const Joi = require('joi')
const { metric } = require('../text-formatters')
const { nonNegativeInteger } = require('../validators')
const { BaseJsonService } = require('..')
import Joi from 'joi'
import { metric } from '../text-formatters.js'
import { nonNegativeInteger } from '../validators.js'
import { BaseJsonService } from '../index.js'
// https://github.com/npm/registry/blob/master/docs/download-counts.md#output
const pointResponseSchema = Joi.object({
@@ -45,7 +43,7 @@ const intervalMap = {
// This hits an entirely different API from the rest of the NPM services, so
// it does not use NpmBase.
module.exports = class NpmDownloads extends BaseJsonService {
export default class NpmDownloads extends BaseJsonService {
static category = 'downloads'
static route = {

View File

@@ -1,7 +1,5 @@
'use strict'
const { test, given } = require('sazerac')
const NpmDownloads = require('./npm-downloads.service')
import { test, given } from 'sazerac'
import NpmDownloads from './npm-downloads.service.js'
describe('NpmDownloads', function () {
test(NpmDownloads._intervalMap.dt.transform, () => {

View File

@@ -1,7 +1,6 @@
'use strict'
const { isMetricOverTimePeriod, isMetric } = require('../test-validators')
const t = (module.exports = require('../tester').createServiceTester())
import { isMetricOverTimePeriod, isMetric } from '../test-validators.js'
import { createServiceTester } from '../tester.js'
export const t = await createServiceTester()
t.create('weekly downloads of left-pad').get('/dw/left-pad.json').expectBadge({
label: 'downloads',

View File

@@ -1,10 +1,8 @@
'use strict'
import { renderLicenseBadge } from '../licenses.js'
import toArray from '../../core/base-service/to-array.js'
import NpmBase from './npm-base.js'
const { renderLicenseBadge } = require('../licenses')
const toArray = require('../../core/base-service/to-array')
const NpmBase = require('./npm-base')
module.exports = class NpmLicense extends NpmBase {
export default class NpmLicense extends NpmBase {
static category = 'license'
static route = this.buildRoute('npm/l', { withTag: false })

View File

@@ -1,6 +1,5 @@
'use strict'
const t = (module.exports = require('../tester').createServiceTester())
import { createServiceTester } from '../tester.js'
export const t = await createServiceTester()
t.create('gets the license of express')
.get('/express.json')

View File

@@ -1,11 +1,9 @@
'use strict'
const NpmBase = require('./npm-base')
import NpmBase from './npm-base.js'
// For this badge to correctly detect type definitions, either the relevant
// dependencies must be declared, or the `types` key must be set in
// package.json.
module.exports = class NpmTypeDefinitions extends NpmBase {
export default class NpmTypeDefinitions extends NpmBase {
static category = 'platform-support'
static route = this.buildRoute('npm/types', { withTag: false })

View File

@@ -1,7 +1,5 @@
'use strict'
const { test, given, forCases } = require('sazerac')
const NpmTypeDefinitions = require('./npm-type-definitions.service')
import { test, given, forCases } from 'sazerac'
import NpmTypeDefinitions from './npm-type-definitions.service.js'
describe('NPM type definitions badge', function () {
test(NpmTypeDefinitions.transform, () => {

View File

@@ -1,7 +1,6 @@
'use strict'
const Joi = require('joi')
const t = (module.exports = require('../tester').createServiceTester())
import Joi from 'joi'
import { createServiceTester } from '../tester.js'
export const t = await createServiceTester()
const isTypeDefinition = Joi.string().regex(
/^((Flow|TypeScript)|(Flow \| TypeScript))$/

View File

@@ -1,9 +1,7 @@
'use strict'
const Joi = require('joi')
const { renderVersionBadge } = require('../version')
const { NotFound } = require('..')
const NpmBase = require('./npm-base')
import Joi from 'joi'
import { renderVersionBadge } from '../version.js'
import { NotFound } from '../index.js'
import NpmBase from './npm-base.js'
const keywords = ['node']
@@ -13,7 +11,7 @@ const schema = Joi.object()
.pattern(/./, Joi.string())
.required()
module.exports = class NpmVersion extends NpmBase {
export default class NpmVersion extends NpmBase {
static category = 'version'
static route = this.buildRoute('npm/v', { withTag: true })

View File

@@ -1,7 +1,6 @@
'use strict'
const { isSemver } = require('../test-validators')
const t = (module.exports = require('../tester').createServiceTester())
import { isSemver } from '../test-validators.js'
import { createServiceTester } from '../tester.js'
export const t = await createServiceTester()
t.create('gets the package version of left-pad')
.get('/left-pad.json')