Migrate from CommonJS to ESM (#6651)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 () {
|
||||
|
||||
@@ -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 })
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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, () => {
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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 })
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -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 })
|
||||
|
||||
@@ -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, () => {
|
||||
|
||||
@@ -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))$/
|
||||
|
||||
@@ -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 })
|
||||
|
||||
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user