MCPcopy Index your code
hub / github.com/loopbackio/loopback-next / updateDependencies

Function updateDependencies

packages/cli/lib/version-helper.js:169–218  ·  view source on GitHub ↗

* Update project dependencies with module versions from the cli template * @param pkg - Package json object for the project * @param generator - Yeoman generator instance

(generator)

Source from the content-addressed store, hash-verified

167 * @param generator - Yeoman generator instance
168 */
169function updateDependencies(generator) {
170 const pkg =
171 generator.packageJson.getAll() ||
172 generator.fs.readJSON(generator.destinationPath('package.json'));
173 const depUpdates = [];
174 for (const d in templateDeps) {
175 if (
176 pkg.dependencies &&
177 pkg.dependencies[d] &&
178 pkg.dependencies[d] !== templateDeps[d]
179 ) {
180 depUpdates.push(
181 `- Dependency ${d}: ${pkg.dependencies[d]} => ${templateDeps[d]}`,
182 );
183 pkg.dependencies[d] = templateDeps[d];
184 }
185 if (
186 pkg.devDependencies &&
187 pkg.devDependencies[d] &&
188 pkg.devDependencies[d] !== templateDeps[d]
189 ) {
190 depUpdates.push(
191 `- DevDependency ${d}: ${pkg.devDependencies[d]} => ${templateDeps[d]}`,
192 );
193 pkg.devDependencies[d] = templateDeps[d];
194 }
195 if (
196 pkg.peerDependencies &&
197 pkg.peerDependencies[d] &&
198 pkg.peerDependencies[d] !== templateDeps[d]
199 ) {
200 depUpdates.push(
201 `- PeerDependency ${d}: ${pkg.peerDependencies[d]} => ${templateDeps[d]}`,
202 );
203 pkg.peerDependencies[d] = templateDeps[d];
204 }
205 }
206 if (depUpdates.length) {
207 depUpdates.sort().forEach(d => generator.log(d));
208 }
209 generator.log(
210 chalk.red('Upgrading dependencies may break the current project.'),
211 );
212 generator.fs.writeJSON(generator.destinationPath('package.json'), pkg);
213 // Remove `node_modules` force a fresh install
214 if (generator.command === 'update' && !generator.options['skip-install']) {
215 fse.removeSync(generator.destinationPath('node_modules'));
216 }
217 generator.pkgManagerInstall();
218}
219
220/**
221 * Check the LoopBack project dependencies and versions

Callers 1

checkLoopBackProjectFunction · 0.85

Calls 3

pkgManagerInstallMethod · 0.80
logMethod · 0.65
getAllMethod · 0.45

Tested by

no test coverage detected