Skip to content

Commit 7910888

Browse files
committed
fix: fix memoization
1 parent 282dcf8 commit 7910888

File tree

3 files changed

+13
-20
lines changed

3 files changed

+13
-20
lines changed

helpers/getNextConfig.js

+7-10
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,27 @@
1+
'use strict'
2+
13
const { resolve } = require('path')
24

3-
let nextConfig
5+
const moize = require('moize')
46

57
// Load next.config.js
68
const getNextConfig = async function (failBuild = defaultFailBuild) {
7-
// Memoizes `nextConfig`
8-
if (nextConfig !== undefined) {
9-
return nextConfig
10-
}
11-
129
// We cannot load `next` at the top-level because we validate whether the
1310
// site is using `next` inside `onPreBuild`.
1411
const { PHASE_PRODUCTION_BUILD } = require('next/constants')
1512
const loadConfig = require('next/dist/next-server/server/config').default
1613

1714
try {
18-
nextConfig = await loadConfig(PHASE_PRODUCTION_BUILD, resolve('.'))
15+
return await loadConfig(PHASE_PRODUCTION_BUILD, resolve('.'))
1916
} catch (error) {
2017
return failBuild('Error loading your next.config.js.', { error })
2118
}
22-
23-
return nextConfig
2419
}
2520

21+
const moizedGetNextConfig = moize(getNextConfig, { maxSize: 1e3, isPromise: true })
22+
2623
const defaultFailBuild = function (message, { error }) {
2724
throw new Error(`${message}\n${error.stack}`)
2825
}
2926

30-
module.exports = getNextConfig
27+
module.exports = moizedGetNextConfig

package-lock.json

+5-10
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
"fs-extra": "^9.1.0",
4949
"jimp": "^0.16.1",
5050
"make-dir": "^3.1.0",
51+
"moize": "^6.0.0",
5152
"semver": "^7.3.2"
5253
},
5354
"devDependencies": {

0 commit comments

Comments
 (0)