remove unused translation-check script (#44725)
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user