1
0
mirror of synced 2025-12-23 11:54:18 -05:00

don't need disk caching for site data (#26333)

* reinstate

* start server manually

* routing tests too

* skip more

* sleep more and fail if not 200

* use e2etest for content/ too

* automatically start server for jest

* does this work?

* feedbacked

* rename things

* getting it to work

* add dev dependency

* install the right version

* don't need to start that

* fix package lock

* update readme about it

* feedbacked

* don't need disk caching for site-data
This commit is contained in:
Peter Bengtsson
2022-03-19 12:05:27 -04:00
committed by GitHub
parent ae8a928909
commit b685b6fda7
3 changed files with 2 additions and 54 deletions

View File

@@ -1,5 +1,3 @@
import fs from 'fs'
import os from 'os'
import path from 'path'
import flat from 'flat'
import { get, set } from 'lodash-es'
@@ -7,30 +5,7 @@ import languages from './languages.js'
import dataDirectory from './data-directory.js'
import encodeBracketedParentheses from './encode-bracketed-parentheses.js'
const TEMP_DIRECTORY = process.env.RUNNER_TEMP || os.tmpdir()
function diskMemoize(prefix, fn) {
const useCache = process.env.NODE_ENV !== 'development'
return (dir) => {
const cacheFileName = `${prefix}.${dir.replace(/[^\w]+/g, '-').toLowerCase() || 'en'}.json`
if (useCache) {
try {
return JSON.parse(fs.readFileSync(cacheFileName, 'utf-8'))
} catch (err) {
if (!(err.code === 'ENOENT' || err instanceof SyntaxError)) throw err
}
}
const result = fn(dir)
if (useCache) {
fs.writeFileSync(cacheFileName, JSON.stringify(result), 'utf-8')
console.log(`Disk-cache miss on ${cacheFileName}`, new Date())
}
return result
}
}
const loadSiteDataFromDir = diskMemoize(path.join(TEMP_DIRECTORY, 'docs-site-data'), (dir) => {
const loadSiteDataFromDir = (dir) => {
return {
site: {
data: dataDirectory(path.join(dir, 'data'), {
@@ -39,7 +14,7 @@ const loadSiteDataFromDir = diskMemoize(path.join(TEMP_DIRECTORY, 'docs-site-dat
}),
},
}
})
}
export default function loadSiteData() {
// load English site data