From be97170a193e8cecc5ce03ecd3c1d0add4a06bf7 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Wed, 25 Oct 2023 14:39:00 -0400 Subject: feat(unstable): ability to `npm install` then `deno run main.ts` (#20967) This PR adds a new unstable "bring your own node_modules" (BYONM) functionality currently behind a `--unstable-byonm` flag (`"unstable": ["byonm"]` in a deno.json). This enables users to run a separate install command (ex. `npm install`, `pnpm install`) then run `deno run main.ts` and Deno will respect the layout of the node_modules directory as setup by the separate install command. It also works with npm/yarn/pnpm workspaces. For this PR, the behaviour is opted into by specifying `--unstable-byonm`/`"unstable": ["byonm"]`, but in the future we may make this the default behaviour as outlined in https://github.com/denoland/deno/issues/18967#issuecomment-1761248941 This is an extremely rough initial implementation. Errors are terrible in this and the LSP requires frequent restarts. Improvements will be done in follow up PRs. --- cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/main.d.cts | 1 + cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/main.d.mts | 1 + 2 files changed, 2 insertions(+) create mode 100644 cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/main.d.cts create mode 100644 cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/main.d.mts (limited to 'cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm') diff --git a/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/main.d.cts b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/main.d.cts new file mode 100644 index 000000000..f969ba996 --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/main.d.cts @@ -0,0 +1 @@ +export function getKind(): string; diff --git a/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/main.d.mts b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/main.d.mts new file mode 100644 index 000000000..f969ba996 --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/main.d.mts @@ -0,0 +1 @@ +export function getKind(): string; -- cgit v1.2.3