MCPcopy Create free account
hub / github.com/ember-cli/ember-cli / updateDependencies

Function updateDependencies

dev/update-blueprint-dependencies.js:126–157  ·  view source on GitHub ↗
(dependencies)

Source from the content-addressed store, hash-verified

124}
125
126async function updateDependencies(dependencies) {
127 for (let dependencyKey in dependencies) {
128 let dependencyName = removeTemplateExpression(dependencyKey);
129
130 if (!shouldCheckDependency(dependencyName)) {
131 continue;
132 }
133
134 let previousValue = dependencies[dependencyKey];
135
136 // grab the first char (~ or ^)
137 let prefix = previousValue[0];
138 let isValidPrefix = prefix === '~' || prefix === '^';
139
140 // handle things from blueprints/app/files/package.json like `^2.4.0<% if (welcome) { %>`
141 let templateSuffix = previousValue.includes('<') ? previousValue.slice(previousValue.indexOf('<')) : '';
142
143 // check if we are dealing with `~<%= emberCLIVersion %>`
144 let hasVersion = previousValue[1] !== '<';
145
146 if (hasVersion && isValidPrefix) {
147 const semverRange = OPTIONS.latest ? 'latest' : removeTemplateExpression(previousValue);
148 try {
149 const newVersion = await latestVersion(dependencyName, semverRange);
150
151 dependencies[dependencyKey] = `${prefix}${newVersion}${templateSuffix}`;
152 } catch (err) {
153 console.warn(`Error checking new version of ${dependencyName}: ${err.message}`);
154 }
155 }
156 }
157}
158
159function removeTemplateExpression(dependency) {
160 if (dependency.includes('<') === false) {

Callers 2

mainFunction · 0.85

Calls 3

removeTemplateExpressionFunction · 0.85
shouldCheckDependencyFunction · 0.85
latestVersionFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…