summaryrefslogtreecommitdiff
path: root/cli
AgeCommit message (Collapse)Author
2022-11-24fix(npm/check): prioritize exports over types entry (#16788)David Sherret
2022-11-24feat(cli): add warning for incorrectly ordered flags (#16734)Asher Gomez
This code checks if permission flags are incorrectly defined after the module name (e.g. `deno run mod.ts --allow-read` instead of the correct `deno run --allow-read mod.ts`). If so, a simple warning is displayed.
2022-11-23chore: more debug logging and avoid allocating strings in ts logging when ↵David Sherret
not debug (#16689)
2022-11-23chore: remove unnecessary qualifier in declaration file (#16767)David Sherret
2022-11-23fix(fmt/markdown): scenario where whitespace was being incorrectly stripped ↵David Sherret
in inline links (#16769) https://github.com/dprint/dprint-plugin-markdown/pull/69 Closes #16730
2022-11-22chore: workspace inheritance (#16343)Leo Kettmeir
2022-11-22fix: Make npm packages works with import maps (#16754)Bartek Iwańczuk
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-11-22chore: update import_map and deno_doc (#16755)Bartek Iwańczuk
2022-11-22fix(inspector): ensure console methods provided by inspector are available ↵Bartek Iwańczuk
(#16724)
2022-11-22test: disable commandChildUnref flaky test (#16752)Bartek Iwańczuk
2022-11-21fix(install): `deno install -f` should overwrite lockfile from previous ↵David Sherret
installation (#16744)
2022-11-21fix(npm): automatically find binary entrypoint when values are all the same ↵David Sherret
(#16735)
2022-11-21fix(npm): add suggestions to error message when can't find binary entrypoint ↵David Sherret
(#16733) Closes #16731
2022-11-21feat(core): Ability to create snapshots from existing snapshots (#16597)Bartek Iwańczuk
Co-authored-by: crowlkats <crowlkats@toaxl.com>
2022-11-19fix(npm): handle directory resolution when resolving declaration files (#16706)David Sherret
Also fixes resolving specifiers like `./something.generated` in declaration files. Closes #16695
2022-11-19fix(ext/node): handle URL in createRequire (#16682)Yoshiya Hinosawa
2022-11-18fix(npm): use an http client with connection pool (#16705)David Sherret
Should make downloading npm packages faster and more reliable.
2022-11-18chore: fix windows-only clippy errors (#16703)David Sherret
2022-11-18fix(npm): ancestor that resolves peer dependency should not include self in ↵David Sherret
id (#16693) Closes #16683
2022-11-18fix(types/unstable): change interface base for `CommandOutput` (#16696)Jesse Jackson
extend from `CommandStatus` instead of `ChildStatus`. Resolves #16680.
2022-11-17perf(npm): make dependency resolution faster (#16694)David Sherret
2022-11-17fix(info): handle circular npm dependencies (#16692)David Sherret
2022-11-18chore: use Rust 1.65.0 (#16688)Aaron O'Mullan
2022-11-17chore: forward v1.28.1 release commit to main (#16678)denobot
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2022-11-16fix(npm): using types for packages with subpath (#16656)Bartek Iwańczuk
For CommonJS packages we were not trying different extensions for files specified as subpath of the package ([package_name]/[subpath]). This commit fixes that.
2022-11-16fix(lock): ensure npm dependencies are written with --lock-write (#16668)Bartek Iwańczuk
If "--lock-write" flag was present we never passed instance of the lockfile to the npm resolver, which made it skip adding discovered npm packages to the lockfile. This commit fixes that, by always passing lockfile to the npm resolver and only regenerating resolver snapshot is "--lock-write" is not present. Closes https://github.com/denoland/deno/issues/16666
2022-11-16fix(npm): support non-all lowercase package names (#16669)David Sherret
Supports package names that aren't all lowercase. This stores the package with a leading underscore (since that's not allowed in npm's registry and no package exists with a leading underscore) then base32 encoded (A-Z0-9) so it can be lowercased and avoid collisions. Global cache dir: ``` $DENO_DIR/npm/registry.npmjs.org/_{base32_encode(package_name).to_lowercase()}/{version} ``` node_modules dir `.deno` folder: ``` node_modules/.deno/_{base32_encode(package_name).to_lowercase()}@{version}/node_modules/<package-name> ``` Within node_modules folder: ``` node_modules/<package-name> ``` So, direct childs of the node_modules folder can have collisions between packages like `JSON` vs `json`, but this is already something npm itself doesn't handle well. Plus, Deno doesn't actually ever resolve to the `node_modules/<package-name>` folder, but just has that for compatibility. Additionally, packages in the `.deno` dir could have collissions if they have multiple dependencies that only differ in casing or a dependency that has different casing, but if someone is doing that then they're already going to have trouble with npm and they are asking for trouble in general.
2022-11-17fix(ext/webstorage): make web storages re-assignable (#16661)Yoshiya Hinosawa
2022-11-15fix(npm): properly handle getting `@types` package for scoped packages (#16655)David Sherret
2022-11-15fix(npm): support dist tags specified in npm package dependencies (#16652)David Sherret
Closes #16321
2022-11-16fix(npm): don't fail if conditional exports don't contains types (#16651)Bartek Iwańczuk
If resolving types for an npm package, we didn't find "types" entry in the conditional exports declaration we were falling-through to regular resolution, instead of short-circuiting and giving up on resolving types, which might lead to unwarranted errors. Closes https://github.com/denoland/deno/issues/16649
2022-11-15test: don't use remote std for tests (#16631)Bartek Iwańczuk
2022-11-15test: don't use lock file in JSX tests (#16639)Bartek Iwańczuk
2022-11-15perf(runtime/spawn): collect output using `op_read_all` (#16596)Marcos Casagrande
**This patch** ``` benchmark time (avg) (min … max) p75 p99 p995 ------------------------------------------------- ----------------------------- echo deno 23.99 ms/iter (22.51 ms … 33.61 ms) 23.97 ms 33.61 ms 33.61 ms cat 16kb 24.27 ms/iter (22.5 ms … 35.21 ms) 24.2 ms 35.21 ms 35.21 ms cat 1mb 25.88 ms/iter (25.04 ms … 30.28 ms) 26.12 ms 30.28 ms 30.28 ms cat 15mb 38.41 ms/iter (35.7 ms … 50 ms) 38.31 ms 50 ms 50 ms ``` **main** ``` benchmark time (avg) (min … max) p75 p99 p995 ------------------------------------------------- ----------------------------- echo deno 35.66 ms/iter (34.53 ms … 41.84 ms) 35.79 ms 41.84 ms 41.84 ms cat 16kb 35.99 ms/iter (34.52 ms … 44.94 ms) 36.05 ms 44.94 ms 44.94 ms cat 1mb 38.68 ms/iter (36.67 ms … 50.44 ms) 37.95 ms 50.44 ms 50.44 ms cat 15mb 48.4 ms/iter (46.19 ms … 58.41 ms) 49.16 ms 58.41 ms 58.41 ms ```
2022-11-15fix(npm): probing for files that have a file stem (#16641)Bartek Iwańczuk
2022-11-14fix(install): support npm specifiers (#16634)David Sherret
Supports npm specifiers for `deno install`. This will by default always use a lockfile (which is generated on first run) unless `--no-lock` is specified.
2022-11-14fix(npm): handle peer dep being resolved without resolved dep higher in tree ↵David Sherret
and then with (#16640) Peer dependency resolution wasn't handling a peer dependency being resolved without a dep higher in the tree and then with one being found higher in the tree.
2022-11-14fix(bundle): explicit error when using an npm specifier with deno bundle ↵David Sherret
(#16637)
2022-11-13fix(cli): add a jsdoc tag for `UnstableRunOptions` (#16525)Shogo Hida
2022-11-131.28.0 (#16620)denobot
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-11-13feat(unstable): "Deno.Command()" API (#16516)Leo Kettmeir
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-11-13feat(npm): require --unstable for npm specifiers in remote modules (#16612)David Sherret
2022-11-13fix(ext/flash): revert #16383 (graceful server startup/shutdown) (#16610)Yoshiya Hinosawa
#16383 made some of Node compat test cases flaky in deno_std (and when it fails it causes segfaults). See https://github.com/denoland/deno_std/issues/2882 for details
2022-11-12fix(npm): specifier resolution - handle data urls and modules at a directory ↵David Sherret
(#16611)
2022-11-12chore: upgrade rusty_v8 to 0.55.0 (#16604)Bartek Iwańczuk
<!-- Before submitting a PR, please read http://deno.land/manual/contributing 1. Give the PR a descriptive title. Examples of good title: - fix(std/http): Fix race condition in server - docs(console): Update docstrings - feat(doc): Handle nested reexports Examples of bad title: - fix #7123 - update docs - fix bugs 2. Ensure there is a related issue and it is referenced in the PR text. 3. Ensure there are tests that cover the changes. 4. Ensure `cargo test` passes. 5. Ensure `./tools/format.js` passes without changing files. 6. Ensure `./tools/lint.js` passes. -->
2022-11-11feat(unstable/npm): module graph derived npm specifier resolution order (#16602)David Sherret
2022-11-11fix(npm): disable npm specifiers in import.meta.resolve() (#16599)Bartek Iwańczuk
2022-11-11perf: more efficient `deno cache` and npm package info usage (#16592)David Sherret
1. There was a lot of cloning going on with `NpmPackageInfo`. This is now stored in an `Arc<NpmPackageInfo>` and cloning only happens on the individual version. 2. The package cache is now cleared from memory after resolution. 3. This surfaced a bug in `deno cache` and I noticed it can be more efficient if we have multiple root specifiers if we provide all the specifiers as roots.
2022-11-11fix(npm): remove forgotten unstable check (#16598)Bartek Iwańczuk
2022-11-11fix(ext/flash): graceful server startup/shutdown (#16383)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/16267 Co-authored-by: Yusuke Tanaka <yusuktan@maguro.dev>