MCPcopy
hub / github.com/vercel/next-forge / update

Function update

scripts/update.ts:131–214  ·  view source on GitHub ↗
(options: { from?: string; to?: string })

Source from the content-addressed store, hash-verified

129};
130
131export const update = async (options: { from?: string; to?: string }) => {
132 try {
133 intro("Let's update your next-forge project!");
134
135 const cwd = process.cwd();
136 const availableVersions = await getAvailableVersions();
137 let currentVersion = await getCurrentVersion();
138
139 if (currentVersion && !availableVersions.includes(currentVersion)) {
140 currentVersion = undefined;
141 }
142
143 const fromVersion =
144 options.from ||
145 (await selectVersion("from", availableVersions, currentVersion));
146
147 if (fromVersion === availableVersions[0]) {
148 outro("You are already on the latest version!");
149 return;
150 }
151
152 const upgradeableVersions = availableVersions.filter(
153 (v) => compareVersions(v, fromVersion) > 0
154 );
155
156 const [nextVersion] = upgradeableVersions;
157
158 const toVersion =
159 options.to ||
160 (await selectVersion("to", upgradeableVersions, nextVersion));
161
162 const from = `v${fromVersion}`;
163 const to = `v${toVersion}`;
164
165 const s = spinner();
166
167 s.start(`Preparing to update from ${from} to ${to}...`);
168
169 s.message("Creating temporary directory...");
170 await createTemporaryDirectory(tempDirName);
171
172 s.message("Cloning next-forge...");
173 cloneRepository(tempDirName);
174
175 s.message("Moving into repository...");
176 process.chdir(tempDirName);
177
178 s.message(`Getting files from version ${from}...`);
179 const fromFiles = getFiles(from);
180
181 s.message(`Getting files from version ${to}...`);
182 const toFiles = getFiles(to);
183
184 s.message(`Computing diff between versions ${from} and ${to}...`);
185 const diff = getDiff(
186 {
187 version: from,
188 files: fromFiles,

Callers

nothing calls this directly

Calls 10

getAvailableVersionsFunction · 0.85
getCurrentVersionFunction · 0.85
selectVersionFunction · 0.85
compareVersionsFunction · 0.85
createTemporaryDirectoryFunction · 0.85
cloneRepositoryFunction · 0.85
getFilesFunction · 0.85
getDiffFunction · 0.85
updateFilesFunction · 0.85
deleteTemporaryDirectoryFunction · 0.85

Tested by

no test coverage detected