mirror of
https://github.com/tiennm99/goclaw.git
synced 2026-10-14 04:16:06 +00:00
fix(packages): install sanitized npm tarballs
Avoid npm global symlinks to temporary fallback directories by repacking rewritten workspace dependency packages before install.
This commit is contained in:
1 parent
1de07cf8c4
commit
d8fdf8fcd3
1 file changed
+11
-2
@@ -75,8 +75,17 @@ func installNpmPackageWithWorkspaceRewrite(ctx context.Context, target string) (
|
||||
return packOut, errors.New("npm workspace fallback found no workspace dependencies to rewrite")
|
||||
}
|
||||
|
||||
installOut, err := runNpmInstall(ctx, packageDir)
|
||||
return appendNpmFallbackOutput(packOut, installOut), err
|
||||
repackDir := filepath.Join(tmpDir, "repack")
|
||||
if err := os.MkdirAll(repackDir, 0o750); err != nil {
|
||||
return packOut, fmt.Errorf("npm workspace fallback repack dir: %w", err)
|
||||
}
|
||||
sanitizedTarball, repackOut, err := npmPackTarball(ctx, packageDir, repackDir)
|
||||
if err != nil {
|
||||
return appendNpmFallbackOutput(packOut, repackOut), err
|
||||
}
|
||||
|
||||
installOut, err := runNpmInstall(ctx, sanitizedTarball)
|
||||
return appendNpmFallbackOutput(packOut, repackOut, installOut), err
|
||||
}
|
||||
|
||||
func npmPackTarball(ctx context.Context, target, destination string) (string, []byte, error) {
|
||||
|
||||
Reference in new issue
Block a user