From 1023dc41a67733f902f62424b94ecadb729e3ee9 Mon Sep 17 00:00:00 2001 From: Stefan Buck Date: Fri, 4 Jun 2021 21:17:25 +0200 Subject: [PATCH] Convert to esmodules --- devserver.js | 4 ++-- functional.spec.js | 7 +++---- scripts/update-mapping-files.js | 9 +++++---- src/go.js | 17 ++++++++-------- src/handler.js | 28 +++++++++++++-------------- src/java/index.js | 10 +++++----- src/nuget.js | 17 ++++++++-------- src/ping.js | 8 ++++---- src/registries/config.spec.js | 2 +- src/registries/index.js | 22 ++++++++++----------- src/registries/repository-url.js | 8 ++++---- src/registries/repository-url.spec.js | 2 +- src/registries/xpath-helper.js | 6 +++--- src/registries/xpath-helper.spec.js | 4 ++-- src/utils/cache.js | 6 +++--- src/utils/cache.spec.js | 6 +++--- src/utils/log.js | 2 +- src/utils/payload.js | 11 +++++------ src/utils/tracking.js | 6 +++--- src/utils/url.js | 3 ++- src/utils/url.spec.js | 2 +- 21 files changed, 88 insertions(+), 92 deletions(-) diff --git a/devserver.js b/devserver.js index 0054cb6d..cd35dfe3 100644 --- a/devserver.js +++ b/devserver.js @@ -1,5 +1,5 @@ -const http = require('http'); -const handler = require('./src/handler'); +import http from 'http'; +import handler from './src/handler'; http.createServer((req, res) => handler(req, res)) .listen(3000); diff --git a/functional.spec.js b/functional.spec.js index 59bd4e5a..3563425e 100644 --- a/functional.spec.js +++ b/functional.spec.js @@ -1,7 +1,6 @@ -const http = require('http'); -const got = require('got'); - -const handler = require('./src/handler'); +import http from 'http'; +import got from 'got'; +import handler from './src/handler'; describe('functional', () => { let server; diff --git a/scripts/update-mapping-files.js b/scripts/update-mapping-files.js index 3c1cec3a..5ebaec0d 100755 --- a/scripts/update-mapping-files.js +++ b/scripts/update-mapping-files.js @@ -1,9 +1,10 @@ #!/usr/bin/env node -const fs = require('fs'); -const path = require('path'); -const got = require('got'); -const jsdom = require('jsdom'); // eslint-disable-line import/no-extraneous-dependencies +import fs from 'fs'; + +import path from 'path'; +import got from 'got'; +import jsdom from 'jsdom'; // eslint-disable-line import/no-extraneous-dependencies const { JSDOM } = jsdom; diff --git a/src/go.js b/src/go.js index faa3e399..b477bcdf 100644 --- a/src/go.js +++ b/src/go.js @@ -1,10 +1,9 @@ -const findReachableUrls = require('find-reachable-urls'); -const readMeta = require('lets-get-meta'); -const got = require('got'); -const { tldExists } = require('tldjs'); - -const cache = require('./utils/cache'); -const log = require('./utils/log'); +import findReachableUrls from 'find-reachable-urls'; +import readMeta from 'lets-get-meta'; +import got from 'got'; +import { tldExists } from 'tldjs'; +import cache from './utils/cache'; +import log from './utils/log'; const getGoMeta = async (url) => { const response = await got.get(url); @@ -62,7 +61,7 @@ const resolveUrl = async (url) => { return reachableUrl; }; -module.exports = async function (pkg) { +export default async function (pkg) { try { return await resolveUrl(pkg); } catch (err) { @@ -73,4 +72,4 @@ module.exports = async function (pkg) { } return undefined; } -}; +} diff --git a/src/handler.js b/src/handler.js index 9e66cfd8..2bac9b4f 100644 --- a/src/handler.js +++ b/src/handler.js @@ -1,17 +1,15 @@ -const { parse } = require('url'); -const { json } = require('micro'); -const pMap = require('p-map'); - -const go = require('./go'); -const java = require('./java'); -const nuget = require('./nuget'); -const ping = require('./ping'); -const registries = require('./registries'); - -const log = require('./utils/log'); -const cache = require('./utils/cache'); -const tracking = require('./utils/tracking'); -const preparePayload = require('./utils/payload'); +import { parse } from 'url'; +import { json } from 'micro'; +import pMap from 'p-map'; +import go from './go'; +import java from './java'; +import nuget from './nuget'; +import ping from './ping'; +import registries from './registries'; +import log from './utils/log'; +import cache from './utils/cache'; +import tracking from './utils/tracking'; +import preparePayload from './utils/payload'; const logPrefix = log.prefix; @@ -50,7 +48,7 @@ function errorHandler(error, res) { tracking.init(); -module.exports = async (req, res) => { +export default async (req, res) => { if (['POST', 'GET'].includes(req.method)) { const timingTotalStart = Date.now(); diff --git a/src/java/index.js b/src/java/index.js index fd9b5a34..6bd95f8d 100644 --- a/src/java/index.js +++ b/src/java/index.js @@ -1,10 +1,10 @@ -const findReachableUrls = require('find-reachable-urls'); -const flatMappingList = require('./mapping.json'); -const cache = require('../utils/cache'); +import findReachableUrls from 'find-reachable-urls'; +import flatMappingList from './mapping.json'; +import cache from '../utils/cache'; const SUPPORTED_JAVA_VERSIONS = [9, 8, 7]; -module.exports = async function (pkg) { +export default async function (pkg) { const targetAsPath = pkg.replace(/\./g, '/'); const isBuildIn = !!pkg.match(/^javax?/); @@ -43,4 +43,4 @@ module.exports = async function (pkg) { await cache.set(cacheKey, reachableUrl); return reachableUrl; -}; +} diff --git a/src/nuget.js b/src/nuget.js index 1133d2cd..a64853c2 100644 --- a/src/nuget.js +++ b/src/nuget.js @@ -1,11 +1,10 @@ -const findReachableUrls = require('find-reachable-urls'); -const got = require('got'); -const isUrl = require('is-url'); -const { xml2js } = require('xml-js'); - -const cache = require('./utils/cache'); -const log = require('./utils/log'); -const repositoryUrl = require('./registries/repository-url'); +import findReachableUrls from 'find-reachable-urls'; +import got from 'got'; +import isUrl from 'is-url'; +import { xml2js } from 'xml-js'; +import cache from './utils/cache'; +import log from './utils/log'; +import repositoryUrl from './registries/repository-url'; const getLatestVersion = async (pkg) => { let response; @@ -80,7 +79,7 @@ const getProjectUrls = async (pkg, version) => { return urls; }; -module.exports = async (pkg) => { +export default async (pkg) => { pkg = pkg.toLowerCase(); const cacheKey = `nuget_${pkg}`; diff --git a/src/ping.js b/src/ping.js index 21028945..f8a74e0a 100644 --- a/src/ping.js +++ b/src/ping.js @@ -1,9 +1,9 @@ -const got = require('got'); -const cache = require('./utils/cache'); +import got from 'got'; +import cache from './utils/cache'; const ERR_PING_NOT_FOUND = 'ERR_PING_NOT_FOUND'; -module.exports = async function (url) { +export default async function (url) { const cacheKey = `ping_${url}`; const cacheValue = await cache.get(cacheKey); @@ -28,4 +28,4 @@ module.exports = async function (url) { return undefined; }); -}; +} diff --git a/src/registries/config.spec.js b/src/registries/config.spec.js index 840afc08..4cb91db1 100644 --- a/src/registries/config.spec.js +++ b/src/registries/config.spec.js @@ -1,4 +1,4 @@ -const config = require('./config.json'); +import config from './config.json'; describe('config.json', () => { const props = ['registry', 'xpaths', 'fallback']; diff --git a/src/registries/index.js b/src/registries/index.js index f0dbad7d..1304c02d 100644 --- a/src/registries/index.js +++ b/src/registries/index.js @@ -1,13 +1,13 @@ -const util = require('util'); -const got = require('got'); -const isUrl = require('is-url'); -const findReachableUrls = require('find-reachable-urls'); -const repositoryUrl = require('./repository-url'); -const xpathHelper = require('./xpath-helper'); -const registryConfig = require('./config.json'); -const cache = require('../utils/cache'); -const log = require('../utils/log'); -const { prioritiesHost } = require('../utils/url'); +import util from 'util'; +import got from 'got'; +import isUrl from 'is-url'; +import findReachableUrls from 'find-reachable-urls'; +import repositoryUrl from './repository-url'; +import xpathHelper from './xpath-helper'; +import registryConfig from './config.json'; +import cache from '../utils/cache'; +import log from '../utils/log'; +import { prioritiesHost } from '../utils/url'; const ERR_PACKAGE_NOT_FOUND = 'ERR_PACKAGE_NOT_FOUND'; @@ -112,7 +112,7 @@ async function resolve(type, packageName) { return reachableUrl; } -module.exports = { +export default { supported: Object.keys(registryConfig), resolve, }; diff --git a/src/registries/repository-url.js b/src/registries/repository-url.js index fc2023b8..a56e686d 100644 --- a/src/registries/repository-url.js +++ b/src/registries/repository-url.js @@ -1,7 +1,7 @@ -const nodeUrl = require('url'); -const githubUrl = require('github-url-to-object'); +import nodeUrl from 'url'; +import githubUrl from 'github-url-to-object'; -module.exports = function (url) { +export default function (url) { if (typeof url !== 'string') { return null; } @@ -30,4 +30,4 @@ module.exports = function (url) { const githubInfo = githubUrl(url); return githubInfo ? githubInfo.https_url : url; -}; +} diff --git a/src/registries/repository-url.spec.js b/src/registries/repository-url.spec.js index 8317aaa9..e9c7af3e 100644 --- a/src/registries/repository-url.spec.js +++ b/src/registries/repository-url.spec.js @@ -1,4 +1,4 @@ -const findRepositoryUrl = require('./repository-url'); +import findRepositoryUrl from './repository-url'; describe('repository url', () => { const urls = [ diff --git a/src/registries/xpath-helper.js b/src/registries/xpath-helper.js index fc7cf4b0..61fb5597 100644 --- a/src/registries/xpath-helper.js +++ b/src/registries/xpath-helper.js @@ -1,4 +1,4 @@ -const jpath = require('json-path'); +import jpath from 'json-path'; function xpathResolver(json, selector) { try { @@ -8,11 +8,11 @@ function xpathResolver(json, selector) { } } -module.exports = function (json, xpaths) { +export default function (json, xpaths) { return xpaths .map((selector) => xpathResolver(json, selector)) .filter( (result) => result.length && typeof result[0] === 'string' && result[0], ) .map((result) => result[0]); -}; +} diff --git a/src/registries/xpath-helper.spec.js b/src/registries/xpath-helper.spec.js index d8d2b250..b329f7c5 100644 --- a/src/registries/xpath-helper.spec.js +++ b/src/registries/xpath-helper.spec.js @@ -1,5 +1,5 @@ -const jpath = require('json-path'); -const xpathHelper = require('./xpath-helper'); +import jpath from 'json-path'; +import xpathHelper from './xpath-helper'; jest.mock('json-path'); diff --git a/src/utils/cache.js b/src/utils/cache.js index 2f09bb26..d6ddba49 100644 --- a/src/utils/cache.js +++ b/src/utils/cache.js @@ -1,5 +1,5 @@ -const Redis = require('ioredis'); -const log = require('./log'); +import Redis from 'ioredis'; +import log from './log'; // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~ Thanks to RedisGreen and ZEIT for sponsoring ~~ @@ -136,7 +136,7 @@ async function get(key) { } } -module.exports = { +export default { auth, set, get, diff --git a/src/utils/cache.spec.js b/src/utils/cache.spec.js index 2ff62133..9e8ad376 100644 --- a/src/utils/cache.spec.js +++ b/src/utils/cache.spec.js @@ -1,6 +1,6 @@ -const redis = require('ioredis'); -const cache = require('./cache'); -require('./log'); +import redis from 'ioredis'; +import cache from './cache'; +import './log'; jest.mock('./log'); jest.mock('ioredis'); diff --git a/src/utils/log.js b/src/utils/log.js index 7b7f328e..13409d7b 100644 --- a/src/utils/log.js +++ b/src/utils/log.js @@ -14,4 +14,4 @@ function log(...rest) { log.prefix = name; -module.exports = log; +export default log; diff --git a/src/utils/payload.js b/src/utils/payload.js index 3df65409..10392f40 100644 --- a/src/utils/payload.js +++ b/src/utils/payload.js @@ -1,11 +1,10 @@ -const uniqWith = require('lodash.uniqwith'); -const isEqual = require('lodash.isequal'); - -const registries = require('../registries'); +import uniqWith from 'lodash.uniqwith'; +import isEqual from 'lodash.isequal'; +import registries from '../registries'; const supportedTypes = ['ping', 'go', 'java', 'nuget', ...registries.supported]; -module.exports = function (payload) { +export default function (payload) { // Remove invalid items which does not follow format {type:'foo', target: 'bar'} // Filter out types which are not supported // Remove duplicates @@ -15,4 +14,4 @@ module.exports = function (payload) { && item.target.length && supportedTypes.includes(item.type), ); -}; +} diff --git a/src/utils/tracking.js b/src/utils/tracking.js index 46169bb9..3b504a7f 100644 --- a/src/utils/tracking.js +++ b/src/utils/tracking.js @@ -1,9 +1,9 @@ -const Mixpanel = require('mixpanel'); -const log = require('./log'); +import Mixpanel from 'mixpanel'; +import log from './log'; let instance; -module.exports = { +export default { init: () => { if (!process.env.MIXPANEL_TOKEN) { return; diff --git a/src/utils/url.js b/src/utils/url.js index 21b600f6..57476662 100644 --- a/src/utils/url.js +++ b/src/utils/url.js @@ -10,6 +10,7 @@ function prioritiesHost(host, urls = []) { }, []); } -module.exports = { +export { + // eslint-disable-next-line import/prefer-default-export prioritiesHost, }; diff --git a/src/utils/url.spec.js b/src/utils/url.spec.js index 1c687445..ed04bf74 100644 --- a/src/utils/url.spec.js +++ b/src/utils/url.spec.js @@ -1,4 +1,4 @@ -const { prioritiesHost } = require('./url'); +import { prioritiesHost } from './url'; const inputUrls = [ 'https://foo.com',