diff --git a/src/agents.ts b/src/agents.ts index 5ff8e30..852b012 100644 --- a/src/agents.ts +++ b/src/agents.ts @@ -39,7 +39,7 @@ const bun = { 'add': 'bun add {0}', 'upgrade': null, 'upgrade-interactive': null, - 'execute': null, + 'execute': 'bunx {0}', 'uninstall': 'bun remove {0}', 'global_uninstall': 'bun remove -g {0}', } diff --git a/test/nx/bun.spec.ts b/test/nx/bun.spec.ts new file mode 100644 index 0000000..2f8a155 --- /dev/null +++ b/test/nx/bun.spec.ts @@ -0,0 +1,14 @@ +import { expect, test } from 'vitest' +import { parseNx } from '../../src/commands' + +const agent = 'bun' +const _ = (arg: string, expected: string) => () => { + expect( + parseNx(agent, arg.split(' ').filter(Boolean)), + ).toBe( + expected, + ) +} + +test('single uninstall', _('esbuild', 'bunx esbuild')) +test('multiple', _('esbuild --version', 'bunx esbuild --version')) diff --git a/test/nx/npm.spec.ts b/test/nx/npm.spec.ts new file mode 100644 index 0000000..9b5dbd3 --- /dev/null +++ b/test/nx/npm.spec.ts @@ -0,0 +1,14 @@ +import { expect, test } from 'vitest' +import { parseNx } from '../../src/commands' + +const agent = 'npm' +const _ = (arg: string, expected: string) => () => { + expect( + parseNx(agent, arg.split(' ').filter(Boolean)), + ).toBe( + expected, + ) +} + +test('single uninstall', _('esbuild', 'npx esbuild')) +test('multiple', _('esbuild --version', 'npx esbuild --version')) diff --git a/test/nx/pnpm.spec.ts b/test/nx/pnpm.spec.ts new file mode 100644 index 0000000..1b999d3 --- /dev/null +++ b/test/nx/pnpm.spec.ts @@ -0,0 +1,14 @@ +import { expect, test } from 'vitest' +import { parseNx } from '../../src/commands' + +const agent = 'pnpm' +const _ = (arg: string, expected: string) => () => { + expect( + parseNx(agent, arg.split(' ').filter(Boolean)), + ).toBe( + expected, + ) +} + +test('single uninstall', _('esbuild', 'pnpm dlx esbuild')) +test('multiple', _('esbuild --version', 'pnpm dlx esbuild --version')) diff --git a/test/nx/yarn.spec.ts b/test/nx/yarn.spec.ts new file mode 100644 index 0000000..7aa9615 --- /dev/null +++ b/test/nx/yarn.spec.ts @@ -0,0 +1,14 @@ +import { expect, test } from 'vitest' +import { parseNx } from '../../src/commands' + +const agent = 'yarn' +const _ = (arg: string, expected: string) => () => { + expect( + parseNx(agent, arg.split(' ').filter(Boolean)), + ).toBe( + expected, + ) +} + +test('single uninstall', _('esbuild', 'npx esbuild')) +test('multiple', _('esbuild --version', 'npx esbuild --version')) diff --git a/test/nx/yarn@berry.spec.ts b/test/nx/yarn@berry.spec.ts new file mode 100644 index 0000000..0738d46 --- /dev/null +++ b/test/nx/yarn@berry.spec.ts @@ -0,0 +1,14 @@ +import { expect, test } from 'vitest' +import { parseNx } from '../../src/commands' + +const agent = 'yarn@berry' +const _ = (arg: string, expected: string) => () => { + expect( + parseNx(agent, arg.split(' ').filter(Boolean)), + ).toBe( + expected, + ) +} + +test('single uninstall', _('esbuild', 'yarn dlx esbuild')) +test('multiple', _('esbuild --version', 'yarn dlx esbuild --version'))