diff --git a/package.json b/package.json index 1065d04c30..82f0567b1b 100644 --- a/package.json +++ b/package.json @@ -45,9 +45,6 @@ "sync-webhooks": "src/rest/scripts/update-files.js -o webhooks", "test": "cross-env NODE_OPTIONS='--max_old_space_size=4096 --experimental-vm-modules' jest --logHeapUsage", "test-watch": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --watch --notify --notifyMode=change --coverage", - "translation-check": "start-server-and-test translation-check-server 4002 translation-check-test", - "translation-check-server": "cross-env NODE_ENV=test PORT=4002 node server.js", - "translation-check-test": "node src/languages/scripts/test-html-pages.js", "tsc": "tsc --noEmit" }, "lint-staged": { diff --git a/src/languages/scripts/test-html-pages.js b/src/languages/scripts/test-html-pages.js deleted file mode 100755 index d03fc5a5cd..0000000000 --- a/src/languages/scripts/test-html-pages.js +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/env node -import dotenv from 'dotenv' -import got from 'got' -import Bottleneck from 'bottleneck' - -// NOTE: If you get this error: -// -// Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'bottleneck' ... -// -// it's because you haven't installed all the *optional* dependencies. -// To do that, run: -// -// npm install --include=optional -// - -import { loadPages } from '../../../lib/page-data.js' -import { allVersions } from '#src/versions/lib/all-versions.js' -import languages from '#src/languages/lib/languages.js' -const port = 4002 - -dotenv.config() -/* - Good local testing values are MAX_CONCURRENT=30, MIN_TIME=20 -*/ -const MAX_CONCURRENT = parseInt(process.env.BUILD_RECORDS_MAX_CONCURRENT || '200', 10) -const MIN_TIME = parseInt(process.env.BUILD_RECORDS_MIN_TIME || '5', 10) -const languageCode = process.env.LANGUAGE -const singleVersion = process.env.VERSION - -main() - -async function main() { - const start = process.hrtime.bigint() - const opts = { - maxConcurrent: MAX_CONCURRENT, - minTime: MIN_TIME, - } - const limiter = new Bottleneck(opts) - const allPages = await loadPages() - const languageCodes = - [languageCode] || - Object.keys(languages) - .filter((language) => language !== 'en') - .map((language) => languages[language].code) - const versions = singleVersion ? [singleVersion] : Object.keys(allVersions) - - const allPermalinks = [] - for (const language of languageCodes) { - for (const version of versions) { - const pages = allPages.filter( - (page) => page.languageCode === language && page.applicableVersions.includes(version), - ) - - const permalinks = pages - .map((page) => { - return page.permalinks.find((permalink) => { - return permalink.languageCode === language && permalink.pageVersion === version - }) - }) - .map((permalink) => { - permalink.url = `http://localhost:${port}${permalink.href}` - return permalink - }) - allPermalinks.push(...permalinks) - } - } - allPermalinks.forEach((page) => { - limiter.schedule(getPage, page) - }) - - limiter - .on('idle', () => { - const end = process.hrtime.bigint() - console.log(`Took ${Number(end - start) / 1000000000}s`) - console.log('All done!') - }) - .on('error', (err) => { - console.log('error', err) - }) -} - -async function getPage(page) { - try { - const response = await got.get(page.url, { throwHttpErrors: false }) - if (response.statusCode !== 200) { - console.log('Status Code:', response.statusCode, 'Page: ', page.url) - } - } catch (err) { - console.error(err) - } -}