Skip to content

Commit

Permalink
Fix for adding new keys to packages.json
Browse files Browse the repository at this point in the history
  • Loading branch information
arlm committed Oct 25, 2023
1 parent f61d8e1 commit 365cc41
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 1 deletion.
2 changes: 2 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#!/usr/bin/env node

const program = require("commander");
const Configstore = require("configstore");

Expand Down
39 changes: 38 additions & 1 deletion utils/commands.js
Original file line number Diff line number Diff line change
Expand Up @@ -198,13 +198,44 @@ const updateFramework = async () => {
fs.readFileSync(path.join(cwd, "remake-framework/package.json")),
);
let keysToDeepExtend = [
"engines",
"ava",
"scripts",
"nodemonConfig",
"husky",
"dependencies",
"devDependencies",
];

let insertMapping = new Map([
["engines", "main"],
["ava", "engines"],
["scripts", "ava"],
["nodemonConfig", "scripts"],
["husky", "alias"],
["dependencies", "husky"],
["devDependencies", "devDependencies"],
]);

spinner.succeed();

insertMapping.forEach((insertAt, key, _) => {
if (!packageJsonFromApp.hasOwnProperty(key)) {
spinner = ora("Migrating package.json key '" + key + "'.").start();
let newPackageJsonFromApp = {};
for (var item in packageJsonFromApp) {
newPackageJsonFromApp[item] = packageJsonFromApp[item];
if (item === insertAt) {
newPackageJsonFromApp[key] = {};
}
}
packageJsonFromApp = newPackageJsonFromApp;
spinner.succeed();
}
});

spinner = ora("Updating package.json.").start();

keysToDeepExtend.forEach((key) => {
deepExtend(packageJsonFromApp[key], packageJsonFromFramework[key]);
});
Expand All @@ -214,11 +245,17 @@ const updateFramework = async () => {
);
} catch (packageJsonError) {
spinner.fail(
"Error with package.json: Couldn't copy dependencies from framework to app's package.json.",
"Error with package.json: Couldn't copy dependencies from framework to app's package.json.\n" +
packageJsonError +
"\n" +
packageJsonError.stack,
);
return;
}

spinner.succeed();
spinner = ora("Removing temporary files.").start();

rimrafError = await rimraf(path.join(cwd, "remake-framework"));

if (rimrafError) {
Expand Down

0 comments on commit 365cc41

Please sign in to comment.