diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2024-05-08 20:34:46 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-08 12:34:46 -0700 |
commit | 4e23a5b1fc2ba0e26f1832a2c374a1f3aef9e7ff (patch) | |
tree | 4e71d07cce253b3a8035285e11999c1294643074 /cli/factory.rs | |
parent | 525b3c8d746b8eb358ed6466cd4b68ebd6542392 (diff) |
FUTURE: `deno install` changes (#23498)
This PR implements the changes we plan to make to `deno install` in deno
2.0.
- `deno install` without arguments caches dependencies from
`package.json` / `deno.json` and sets up the `node_modules` folder
- `deno install <pkg>` adds the package to the config file (either
`package.json` or `deno.json`), i.e. it aliases `deno add`
- `deno add` can also add deps to `package.json` (this is gated behind
`DENO_FUTURE` due to uncertainty around handling projects with both
`deno.json` and `package.json`)
- `deno install -g <bin>` installs a package as a globally available
binary (the same as `deno install <bin>` in 1.0)
---------
Co-authored-by: Nathan Whitaker <nathan@deno.com>
Diffstat (limited to 'cli/factory.rs')
-rw-r--r-- | cli/factory.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/cli/factory.rs b/cli/factory.rs index a9f6bf87e..074eaa1e4 100644 --- a/cli/factory.rs +++ b/cli/factory.rs @@ -408,7 +408,8 @@ impl CliFactory { .npm_resolver .get_or_try_init_async(async { let fs = self.fs(); - create_cli_npm_resolver(if self.options.use_byonm() { + // For `deno install` we want to force the managed resolver so it can set up `node_modules/` directory. + create_cli_npm_resolver(if self.options.use_byonm() && !matches!(self.options.sub_command(), DenoSubcommand::Install(_)) { CliNpmResolverCreateOptions::Byonm(CliNpmResolverByonmCreateOptions { fs: fs.clone(), root_node_modules_dir: match self.options.node_modules_dir_path() { |