MCPcopy
hub / github.com/nytimes/kyt / updateUserPackageJSON

Function updateUserPackageJSON

packages/kyt-core/src/actions/setup/packages.js:135–162  ·  view source on GitHub ↗
(starterPackageJSON, starterKytConfig, paths, kytVersion)

Source from the content-addressed store, hash-verified

133// the user's package.json configuration.
134
135export const updateUserPackageJSON = (starterPackageJSON, starterKytConfig, paths, kytVersion) => {
136 let newUserPackageJSON;
137 // Create a package.json definition if
138 // the user doesn't already have one.
139 if (shell.test('-f', paths.userPackageJSONPath)) {
140 const userJSON = fs.readFileSync(paths.userPackageJSONPath, 'utf8');
141 newUserPackageJSON = JSON.parse(userJSON);
142 } else {
143 newUserPackageJSON = cloneDeep(fakePackageJson);
144 logger.task('Creating a new package.json. You should fill it in.');
145 }
146 // Clone the package.json so that we have a backup.
147 const oldUserPackageJSON = cloneDeep(newUserPackageJSON);
148
149 // Add dependencies from starter-kyts
150 const kytPrefVersion =
151 kytVersion || checkStarterKytVersion(newUserPackageJSON, starterPackageJSON);
152 newUserPackageJSON = updatePackageJSONDependencies(newUserPackageJSON, starterPackageJSON);
153 newUserPackageJSON = addKytDependency(newUserPackageJSON, kytPrefVersion);
154 newUserPackageJSON = addPackageJsonScripts(
155 newUserPackageJSON,
156 starterPackageJSON,
157 starterKytConfig
158 );
159 fs.writeFileSync(paths.userPackageJSONPath, JSON.stringify(newUserPackageJSON, null, 2));
160
161 return { oldUserPackageJSON, newUserPackageJSON };
162};

Callers 2

packages.test.jsFile · 0.90
afterCopyFunction · 0.85

Calls 4

checkStarterKytVersionFunction · 0.85
addKytDependencyFunction · 0.85
addPackageJsonScriptsFunction · 0.85

Tested by

no test coverage detected