Skip to content

Commit ed0b601

Browse files
committed
Also merge old config when new config is found
1 parent 7f7319f commit ed0b601

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

index.js

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

1414
function chain(api, projectOptions) {
1515
return config => {
16-
const options = createOptions(projectOptions);
16+
const options = createOptions(api, projectOptions);
1717
const renderer = createRenderer(api, projectOptions);
1818
const paths = resolvePaths(api, projectOptions.outputDir, projectOptions.assetsDir);
1919
const prerenderOptions = {
@@ -40,7 +40,7 @@ function chain(api, projectOptions) {
4040
}
4141

4242
function createRenderer(api, projectOptions) {
43-
const rendererConfig = createConfig(projectOptions);
43+
const rendererConfig = createConfig(api, projectOptions);
4444
const renderer = new Renderer(rendererConfig);
4545
renderer.preServer = Prerenderer => {
4646
if (projectOptions.baseUrl) {
@@ -70,8 +70,8 @@ function createRenderer(api, projectOptions) {
7070
return renderer;
7171
}
7272

73-
function createConfig(projectOptions) {
74-
let options = createOptions(projectOptions);
73+
function createConfig(api, projectOptions) {
74+
let options = createOptions(api, projectOptions);
7575
if (options.onlyProduction && process.env.NODE_ENV !== "production") {
7676
return;
7777
}
@@ -88,14 +88,18 @@ function createConfig(projectOptions) {
8888
return rendererConfig;
8989
}
9090

91-
function createOptions(projectOptions) {
91+
function createOptions(api, projectOptions) {
9292
let options;
93+
let oldConfigPath = api.resolve(".prerender-spa.json");
9394
try {
9495
options = pickle(projectOptions, CONFIG_OBJ_PATH);
96+
if (existsSync(oldConfigPath)) {
97+
Object.assign(options, JSON.parse(readFileSync(oldConfigPath).toString("utf-8")));
98+
}
9599
}
96100
catch {
97-
if (existsSync("./.prerender-spa.json")) {
98-
options = JSON.parse(readFileSync("./.prerender-spa.json").toString("utf-8"));
101+
if (existsSync(oldConfigPath)) {
102+
options = JSON.parse(readFileSync(oldConfigPath).toString("utf-8"));
99103
}
100104
}
101105
return options;

0 commit comments

Comments
 (0)