Skip to content

Commit ca8a3b1

Browse files
committed
Fix for adding new keys to packages.json
1 parent 6d17405 commit ca8a3b1

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed

index.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#!/usr/bin/env node
2+
13
const program = require("commander");
24
const Configstore = require("configstore");
35

utils/commands.js

+38-1
Original file line numberDiff line numberDiff line change
@@ -198,13 +198,44 @@ const updateFramework = async () => {
198198
fs.readFileSync(path.join(cwd, "remake-framework/package.json")),
199199
);
200200
let keysToDeepExtend = [
201+
"engines",
201202
"ava",
202203
"scripts",
203204
"nodemonConfig",
204205
"husky",
205206
"dependencies",
206207
"devDependencies",
207208
];
209+
210+
let insertMapping = new Map([
211+
["engines", "main"],
212+
["ava", "engines"],
213+
["scripts", "ava"],
214+
["nodemonConfig", "scripts"],
215+
["husky", "alias"],
216+
["dependencies", "husky"],
217+
["devDependencies", "devDependencies"],
218+
]);
219+
220+
spinner.succeed();
221+
222+
insertMapping.forEach((insertAt, key, _) => {
223+
if (!packageJsonFromApp.hasOwnProperty(key)) {
224+
spinner = ora("Migrating package.json key '" + key + "'.").start();
225+
let newPackageJsonFromApp = {};
226+
for (var item in packageJsonFromApp) {
227+
newPackageJsonFromApp[item] = packageJsonFromApp[item];
228+
if (item === insertAt) {
229+
newPackageJsonFromApp[key] = {};
230+
}
231+
}
232+
packageJsonFromApp = newPackageJsonFromApp;
233+
spinner.succeed();
234+
}
235+
});
236+
237+
spinner = ora("Updating package.json.").start();
238+
208239
keysToDeepExtend.forEach((key) => {
209240
deepExtend(packageJsonFromApp[key], packageJsonFromFramework[key]);
210241
});
@@ -214,11 +245,17 @@ const updateFramework = async () => {
214245
);
215246
} catch (packageJsonError) {
216247
spinner.fail(
217-
"Error with package.json: Couldn't copy dependencies from framework to app's package.json.",
248+
"Error with package.json: Couldn't copy dependencies from framework to app's package.json.\n" +
249+
packageJsonError +
250+
"\n" +
251+
packageJsonError.stack,
218252
);
219253
return;
220254
}
221255

256+
spinner.succeed();
257+
spinner = ora("Removing temporary files.").start();
258+
222259
rimrafError = await rimraf(path.join(cwd, "remake-framework"));
223260

224261
if (rimrafError) {

0 commit comments

Comments
 (0)