feat(install): add support for clean installation (#259)

Signed-off-by: DiegoRamil <nxquumodding@gmail.com>
This commit is contained in:
Diego Ramil Álvarez
2026-05-13 20:52:41 +05:30
committed by GitHub
parent 3848cc78e0
commit 6249d0781d
3 changed files with 37 additions and 1 deletions
+27
View File
@@ -413,6 +413,26 @@ func TestBunParseCommand(t *testing.T) {
assert.Equal(t, 0, len(parsedCommand.InstallTargets))
},
},
{
name: "manifest installation with short form",
command: "bun i",
assert: func(t *testing.T, parsedCommand *ParsedCommand, err error) {
assert.NoError(t, err)
assert.Equal(t, true, parsedCommand.IsManifestInstall)
assert.Equal(t, 0, len(parsedCommand.InstallTargets))
assert.True(t, parsedCommand.IsInstallationCommand())
},
},
{
name: "manifest installation with ci",
command: "bun ci",
assert: func(t *testing.T, parsedCommand *ParsedCommand, err error) {
assert.NoError(t, err)
assert.Equal(t, true, parsedCommand.IsManifestInstall)
assert.Equal(t, 0, len(parsedCommand.InstallTargets))
assert.True(t, parsedCommand.IsInstallationCommand())
},
},
{
name: "multiple package installations",
command: "bun add @types/node @types/react",
@@ -475,6 +495,13 @@ func TestNpmProxyBehavior(t *testing.T) {
isKnownNonDownloadCmd: false,
isInstallationCommand: false,
},
{
name: "bun ci — manifest install",
pm: func() (*npmPackageManager, error) { return NewNpmPackageManager(DefaultBunPackageManagerConfig()) },
command: "bun ci",
isKnownNonDownloadCmd: false,
isInstallationCommand: true,
},
{
name: "npm exec — proxy runs (may download and run package)",
pm: func() (*npmPackageManager, error) { return NewNpmPackageManager(DefaultNpmPackageManagerConfig()) },