1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 07:14:47 -05:00
denoland-deno/cli
David Sherret cbb3f85433
feat(unstable/npm): support peer dependencies (#16561)
This adds support for peer dependencies in npm packages.

1. If not found higher in the tree (ancestor and ancestor siblings),
peer dependencies are resolved like a dependency similar to npm 7.
2. Optional peer dependencies are only resolved if found higher in the
tree.
3. This creates "copy packages" or duplicates of a package when a
package has different resolution due to peer dependency resolution—see
https://pnpm.io/how-peers-are-resolved. Unlike pnpm though, duplicates
of packages will have `_1`, `_2`, etc. added to the end of the package
version in the directory in order to minimize the chance of hitting the
max file path limit on Windows. This is done for both the local
"node_modules" directory and also the global npm cache. The files are
hard linked in this case to reduce hard drive space.

This is a first pass and the code is definitely more inefficient than it
could be.

Closes #15823
2022-11-08 14:17:24 -05:00
..
args fix(lock): add --no-lock flag to disable auto discovery of lock file (#16526) 2022-11-03 16:42:56 +01:00
bench Reland "perf(core): generate inlined wrappers for async ops" (#16455) 2022-10-28 16:50:17 +05:30
cache perf: node cjs & esm analysis cache (#16097) 2022-10-01 12:15:56 +02:00
dts fix(cli/dts): add typings for Change Array by copy proposal (#16499) 2022-11-02 18:07:03 +01:00
lsp feat(unstable/npm): support peer dependencies (#16561) 2022-11-08 14:17:24 -05:00
napi fix(napi): fix is_detached_arraybuffer (#16478) 2022-10-30 13:13:46 -04:00
napi_sym chore: forward v1.27.1 release commit to main (#16533) 2022-11-04 00:40:23 +01:00
node fix(npm): add console global for node environment (#16519) 2022-11-02 19:08:09 -04:00
npm feat(unstable/npm): support peer dependencies (#16561) 2022-11-08 14:17:24 -05:00
ops feat(npm): functionality to support child_process.fork (#15891) 2022-09-28 13:04:16 -04:00
schemas feat(lint): add a report lint config setting (#16045) 2022-10-25 14:21:20 +02:00
tests feat(unstable/npm): support peer dependencies (#16561) 2022-11-08 14:17:24 -05:00
tools feat(unstable/npm): support peer dependencies (#16561) 2022-11-08 14:17:24 -05:00
tsc fix(typescript): allow synthetic default imports when using ModuleKind.ESNext (#16438) 2022-10-27 08:12:40 -04:00
auth_tokens.rs chore: update copyright to 2022 (#13306) 2022-01-07 22:09:52 -05:00
build.rs fix(build) assume a custom compiler will support --export-dynamic-symbol-list linker flag. (#16387) 2022-10-22 23:41:11 +02:00
Cargo.toml feat(unstable/npm): support peer dependencies (#16561) 2022-11-08 14:17:24 -05:00
cdp.rs docs: turn bare URLs into clickable links (#15347) 2022-07-30 12:20:29 +02:00
checksum.rs chore: update copyright to 2022 (#13306) 2022-01-07 22:09:52 -05:00
deno.ico fix(cli): add icon and metadata to deno.exe on Windows (#6693) 2020-07-15 21:54:38 +02:00
deno_dir.rs perf: node cjs & esm analysis cache (#16097) 2022-10-01 12:15:56 +02:00
deno_std.rs chore: forward v1.27.1 release commit to main (#16533) 2022-11-04 00:40:23 +01:00
diagnostics.rs chore: remove stable unstable APIs from cli/diagnostics.rs (#16492) 2022-10-30 23:07:41 +01:00
diff.rs refactor: update comment in diff.rs (#15142) 2022-07-10 22:49:18 -04:00
display.rs refactor: move deno info functionality from deno_graph to CLI (#16434) 2022-10-28 11:03:33 -04:00
emit.rs refactor: extract out check code from emit (#15729) 2022-09-02 10:54:40 -04:00
errors.rs chore: remove all pub(crate)s from the cli crate (#14083) 2022-03-23 09:54:22 -04:00
file_fetcher.rs feat(npm): add support for --reload=npm: and --reload=npm:<package> (#15972) 2022-09-22 10:39:58 -04:00
file_watcher.rs upgrade deps (#15914) 2022-09-16 19:11:30 -04:00
fs_util.rs feat(unstable/npm): support peer dependencies (#16561) 2022-11-08 14:17:24 -05:00
generated_symbol_exports_list_linux.def fix: move generated napi symbols to cli/ (#16330) 2022-10-18 13:20:11 +02:00
generated_symbol_exports_list_macos.def fix: move generated napi symbols to cli/ (#16330) 2022-10-18 13:20:11 +02:00
generated_symbol_exports_list_windows.def fix: move generated napi symbols to cli/ (#16330) 2022-10-18 13:20:11 +02:00
graph_util.rs fix(npm): panic on invalid package name (#16123) 2022-10-03 17:45:01 +02:00
http_cache.rs chore(tests): use custom temp dir creation for the tests (#14153) 2022-04-01 11:15:37 -04:00
http_util.rs refactor: move out test files from root testdata directory into sub directories (#15949) 2022-09-19 10:32:21 -04:00
lockfile.rs feat(unstable/npm): support peer dependencies (#16561) 2022-11-08 14:17:24 -05:00
logger.rs chore: remove all pub(crate)s from the cli crate (#14083) 2022-03-23 09:54:22 -04:00
main.rs refactor: Combine ImportMapResolver and JsxResolver (#16508) 2022-11-02 15:47:02 +01:00
module_loader.rs perf: node cjs & esm analysis cache (#16097) 2022-10-01 12:15:56 +02:00
proc_state.rs feat(unstable/npm): support peer dependencies (#16561) 2022-11-08 14:17:24 -05:00
progress_bar.rs fix(cli): Fixed bug where the progress bar did not clear (#16401) 2022-10-24 18:40:27 +02:00
README.md Remove deno_typescript (#6813) 2020-07-20 19:49:57 -04:00
resolver.rs refactor: Combine ImportMapResolver and JsxResolver (#16508) 2022-11-02 15:47:02 +01:00
standalone.rs refactor: Combine ImportMapResolver and JsxResolver (#16508) 2022-11-02 15:47:02 +01:00
text_encoding.rs feat: emit files on demand and fix racy emit (#15220) 2022-07-19 11:58:18 -04:00
tsc.rs fix: upgrade swc_ecma_parser to 0.122.19 - deno_ast 0.20 (#16406) 2022-10-25 11:55:57 -04:00
unix_util.rs build: require safety comments on unsafe code (#13870) 2022-06-26 00:13:24 +02:00
version.rs feat(cli): check for updates in background (#15974) 2022-10-20 16:15:21 +02:00
windows_util.rs chore: fix Windows specific clippy errors (#15212) 2022-07-15 12:30:25 -04:00
worker.rs refactor(npm): reorganize initialization of compat layer (#16471) 2022-10-28 21:53:55 +02:00

Deno CLI Crate

crates docs

This provides the actual deno executable and the user-facing APIs.

The deno crate uses the deno_core to provide the executable.