MCPcopy Create free account
hub / github.com/Openpanel-dev/openpanel / restoreAndUpdateLocal

Function restoreAndUpdateLocal

tooling/publish/publish.ts:282–336  ·  view source on GitHub ↗
(
  packages: Record<string, PackageInfo>,
  dependents: string[],
  generatedReadmes: string[]
)

Source from the content-addressed store, hash-verified

280};
281
282const restoreAndUpdateLocal = (
283 packages: Record<string, PackageInfo>,
284 dependents: string[],
285 generatedReadmes: string[]
286): void => {
287 const filesToRestore = dependents
288 .map((dep) => join(workspacePath(packages[dep]!.localPath), 'package.json'))
289 .join(' ');
290
291 execSync(`git checkout ${filesToRestore}`);
292
293 // Clean up auto-generated README files
294 for (const readmePath of generatedReadmes) {
295 if (fs.existsSync(readmePath)) {
296 console.log(`🧹 Removing auto-generated README: ${readmePath}`);
297 fs.unlinkSync(readmePath);
298 }
299 }
300
301 for (const dep of dependents) {
302 const { nextVersion, localPath, ...restPkgJson } = packages[dep]!;
303 console.log(`🚀 Updating ${dep} (${nextVersion}-local)`);
304
305 const updatedPkgJson: PackageJson = {
306 ...restPkgJson,
307 version: `${nextVersion}-local`,
308 dependencies: Object.fromEntries(
309 Object.entries(restPkgJson.dependencies || {}).map(
310 ([depName, depVersion]) => [
311 depName,
312 dependents.includes(depName)
313 ? `workspace:${packages[depName]!.nextVersion}-local`
314 : packages[depName]
315 ? `workspace:${packages[depName]!.version}-local`
316 : depVersion,
317 ]
318 )
319 ),
320 devDependencies: Object.fromEntries(
321 Object.entries(restPkgJson.devDependencies || {}).map(
322 ([depName, depVersion]) => [
323 depName,
324 dependents.includes(depName)
325 ? `${packages[depName]!.nextVersion}-local`
326 : packages[depName]
327 ? `${packages[depName]!.version}-local`
328 : depVersion,
329 ]
330 )
331 ),
332 };
333
334 savePackageJson(workspacePath(`${localPath}/package.json`), updatedPkgJson);
335 }
336};
337
338function main() {
339 // Main execution

Callers 1

mainFunction · 0.85

Calls 6

joinFunction · 0.85
savePackageJsonFunction · 0.85
joinMethod · 0.80
workspacePathFunction · 0.70
mapMethod · 0.45
logMethod · 0.45

Tested by

no test coverage detected