diff --git a/test/utils/common-config.js b/lib/utils/common-config.test.ts similarity index 82% rename from test/utils/common-config.js rename to lib/utils/common-config.test.ts index e4a4338796..108935f58f 100644 --- a/test/utils/common-config.js +++ b/lib/utils/common-config.test.ts @@ -1,11 +1,11 @@ -/* eslint-disable unicorn/consistent-function-scoping */ -const configUtils = require('../../lib/utils/common-config'); -const nock = require('nock'); +import { describe, expect, it } from '@jest/globals'; +import configUtils, { transElemText, replaceParams, getProp } from '@/utils/common-config'; +import nock from 'nock'; describe('index', () => { it('transElemText', () => { const $ = () => 'RSSHub'; - expect(configUtils.transElemText($, '$()')).toBe('RSSHub'); + expect(transElemText($, '$()')).toBe('RSSHub'); }); it('replaceParams', () => { @@ -16,7 +16,7 @@ describe('index', () => { }, title: '%title%', }; - expect(configUtils.replaceParams(data, data.title, $)).toBe('RSSHub'); + expect(replaceParams(data, data.title, $)).toBe('RSSHub'); }); it('getProp', () => { @@ -24,8 +24,8 @@ describe('index', () => { const data = { title: 'RSSHub', }; - expect(configUtils.getProp(data, ['title'], $)).toBe('RSSHub'); - expect(configUtils.getProp(data, 'title', $)).toBe('RSSHub'); + expect(getProp(data, ['title'], $)).toBe('RSSHub'); + expect(getProp(data, 'title', $)).toBe('RSSHub'); }); it('all', () => { @@ -36,7 +36,7 @@ describe('index', () => { }, title: '%title%', }; - expect(configUtils.getProp(data, ['title'], $)).toBe('RSSHub'); + expect(getProp(data, ['title'], $)).toBe('RSSHub'); }); it('buildData', async () => { diff --git a/lib/utils/common-config.js b/lib/utils/common-config.ts similarity index 81% rename from lib/utils/common-config.js rename to lib/utils/common-config.ts index 25ff399f56..ebb33baa4b 100644 --- a/lib/utils/common-config.js +++ b/lib/utils/common-config.ts @@ -1,12 +1,6 @@ -const cheerio = require('cheerio'); -const got = require('@/utils/got'); -const iconv = require('iconv-lite'); -// eslint-disable-next-line no-unused-vars -const date = require('@/utils/date'); -// eslint-disable-next-line no-unused-vars -const { parseDate } = require('@/utils/parse-date'); -// eslint-disable-next-line no-unused-vars -const timezone = require('@/utils/timezone'); +import cheerio from 'cheerio'; +import got from '@/utils/got'; +import iconv from 'iconv-lite'; function transElemText($, prop) { const regex = /\$\((.*)\)/g; @@ -76,7 +70,5 @@ async function buildData(data) { }; } -module.exports = buildData; -module.exports.transElemText = transElemText; -module.exports.replaceParams = replaceParams; -module.exports.getProp = getProp; +export default buildData; +export { transElemText, replaceParams, getProp }; diff --git a/lib/utils/cf-email.js b/lib/v2/sciencedirect/cf-email.js similarity index 100% rename from lib/utils/cf-email.js rename to lib/v2/sciencedirect/cf-email.js diff --git a/lib/v2/sciencedirect/journal.js b/lib/v2/sciencedirect/journal.js index dbaab71423..22b9fd1589 100644 --- a/lib/v2/sciencedirect/journal.js +++ b/lib/v2/sciencedirect/journal.js @@ -1,7 +1,7 @@ const got = require('@/utils/got'); const cheerio = require('cheerio'); const { parseDate } = require('@/utils/parse-date'); -const { decodeCFEmail } = require('@/utils/cf-email'); +const { decodeCFEmail } = require('./cf-email'); module.exports = async (ctx) => { const id = ctx.params.id;