deno/cli/npm
David Sherret ecfafda9d8
perf: node cjs & esm analysis cache (#16097)
This commit adds a cache for CJS and ESM analysis that is backed by an
SQLite file.

The connection to the DB is lazily created on first use, so shouldn't
have impact on the startup time.

Benched with running Vite

Deno v1.26:
```
$ deno task dev
Warning deno task is unstable and may drastically change in the future
Task dev deno run -A --unstable --node-modules-dir npm:vite

  VITE v3.1.4  ready in 961 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: use --host to expose
```

This branch:
```
../deno/target/release/deno task dev
Warning deno task is unstable and may drastically change in the future
Task dev deno run -A --unstable --node-modules-dir npm:vite

  VITE v3.1.4  ready in 330 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: use --host to expose
```

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-10-01 12:15:56 +02:00
..
resolvers perf: node cjs & esm analysis cache (#16097) 2022-10-01 12:15:56 +02:00
semver feat(npm): functionality to support child_process.fork (#15891) 2022-09-28 13:04:16 -04:00
cache.rs perf: don't re-download package tarball to global cache if local node_modules folder exists for package (#16005) 2022-09-23 17:35:48 -04:00
mod.rs refactor(npm): create general use NpmPackageResolver (#15882) 2022-09-13 11:59:01 -04:00
registry.rs feat(npm): functionality to support child_process.fork (#15891) 2022-09-28 13:04:16 -04:00
resolution.rs feat(npm): functionality to support child_process.fork (#15891) 2022-09-28 13:04:16 -04:00
tarball.rs fix(npm): better node version and version requirement compatibility (#15714) 2022-09-01 11:50:12 -04:00