Skip to content

Commit 7f7319f

Browse files
committed
Extract createOptions function checking for old configuration file
1 parent 91dc5bd commit 7f7319f

File tree

1 file changed

+20
-13
lines changed

1 file changed

+20
-13
lines changed

index.js

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,7 @@ module.exports = (api, projectOptions) => {
1313

1414
function chain(api, projectOptions) {
1515
return config => {
16-
let options;
17-
try {
18-
options = pickle(projectOptions, CONFIG_OBJ_PATH);
19-
} catch {
20-
if (existsSync) {
21-
options = JSON.parse(readFileSync("./.prerender-spa.json").toString("utf-8"));
22-
}
23-
}
24-
if (options.onlyProduction && process.env.NODE_ENV !== "production") {
25-
return;
26-
}
16+
const options = createOptions(projectOptions);
2717
const renderer = createRenderer(api, projectOptions);
2818
const paths = resolvePaths(api, projectOptions.outputDir, projectOptions.assetsDir);
2919
const prerenderOptions = {
@@ -50,7 +40,7 @@ function chain(api, projectOptions) {
5040
}
5141

5242
function createRenderer(api, projectOptions) {
53-
const rendererConfig = createConfig(pickle(projectOptions, CONFIG_OBJ_PATH));
43+
const rendererConfig = createConfig(projectOptions);
5444
const renderer = new Renderer(rendererConfig);
5545
renderer.preServer = Prerenderer => {
5646
if (projectOptions.baseUrl) {
@@ -80,7 +70,11 @@ function createRenderer(api, projectOptions) {
8070
return renderer;
8171
}
8272

83-
function createConfig(options) {
73+
function createConfig(projectOptions) {
74+
let options = createOptions(projectOptions);
75+
if (options.onlyProduction && process.env.NODE_ENV !== "production") {
76+
return;
77+
}
8478
let rendererConfig = {
8579
headless: options.headless,
8680
maxConcurrentRoutes: options.parallel ? 4 : 1
@@ -94,6 +88,19 @@ function createConfig(options) {
9488
return rendererConfig;
9589
}
9690

91+
function createOptions(projectOptions) {
92+
let options;
93+
try {
94+
options = pickle(projectOptions, CONFIG_OBJ_PATH);
95+
}
96+
catch {
97+
if (existsSync("./.prerender-spa.json")) {
98+
options = JSON.parse(readFileSync("./.prerender-spa.json").toString("utf-8"));
99+
}
100+
}
101+
return options;
102+
}
103+
97104
function resolvePaths(api, baseUrl, assetsDir) {
98105
return {
99106
outputDir: api.resolve(baseUrl),

0 commit comments

Comments
 (0)