0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-02-20 20:33:42 -05:00
Commit graph

5646 commits

Author SHA1 Message Date
Bartek Iwańczuk
b528ab0061 fix(publish): require http server for tests (#21919) 2024-01-13 10:45:08 -05:00
David Sherret
0a4b953220 fix(config): regression - handle relative patterns with leading dot slash (#21922)
This is a hacky quick fix. We need to spend more time cleaning up this
code and push more stuff down into deno_config.

Closes #21916
2024-01-13 10:44:35 -05:00
denobot
aa23ccd1ae
1.39.3 (#21913)
Bumped versions for 1.39.3

Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-01-12 15:58:36 +01:00
Bartek Iwańczuk
a7c46a5f11
chore(publish): add --dry-run flag (#21895) 2024-01-12 13:22:10 +01:00
Divy Srivastava
87e954f54c
fix(web): use rustyline for prompt (#21893)
Workaround until https://github.com/kkawakam/rustyline/pull/759
2024-01-12 13:22:10 +01:00
Nayeem Rahman
140ef53b26
refactor(lsp): store project version on documents (#21892) 2024-01-12 13:22:10 +01:00
David Sherret
d47ee46ebb
fix(fast_check): analyze identifiers in type assertions/as exprs (#21899)
Closes #21894
2024-01-12 13:22:10 +01:00
David Sherret
b5e70c5ed7
feat(unstable): fast subset type checking of JSR dependencies (#21873) 2024-01-12 13:22:09 +01:00
Kenta Moriuchi
eaa73d0607
refactor: use core.ensureFastOps() (#21888) 2024-01-12 13:22:09 +01:00
Bartek Iwańczuk
467cdd9aa4
refactor: remove snapshotting from deno_runtime (#21794)
Closes https://github.com/denoland/deno/issues/21137
2024-01-12 13:22:09 +01:00
Nayeem Rahman
adfbdaac33
fix(lsp): implement host.getGlobalTypingsCacheLocation() (#21882) 2024-01-12 13:22:09 +01:00
cions
322b90fe87
fix: android support (#19437)
<!--
Before submitting a PR, please read https://deno.com/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.
7. Open as a draft PR if your work is still in progress. The CI won't
run
   all steps, but you can add '[ci]' to a commit message to force it to.
8. If you would like to run the benchmarks on the CI, add the 'ci-bench'
label.
-->

---------

Signed-off-by: Matt Mastracci <matthew@mastracci.com>
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2024-01-12 13:22:09 +01:00
Matt Mastracci
2022650db7
chore: bump deno_core (#21832) 2024-01-12 13:22:08 +01:00
Bartek Iwańczuk
94bf4ab24e
fix: update deno_lint and swc (#21718)
Co-authored-by: David Sherret <dsherret@gmail.com>
2024-01-12 13:22:08 +01:00
David Sherret
9ae2fe38f0
fix(lsp): use a dedicated thread for the parent process checker (#21869)
Ensures the Deno process is brought down even when the runtime gets hung
up on something.

Marvin found that the lsp was running without a parent vscode around so
this is maybe/probably related.
2024-01-12 13:22:08 +01:00
Divy Srivastava
289fe7b1b7
fix(ext/websocket): pass on uncaught errors in idleTimeout (#21846)
Fixes https://github.com/denoland/deno/issues/21840

The problem was hard to reproduce as its a race condition. I've added a
test that reproduces the problem 1/10 tries. We should move the
idleTimeout handling to Rust (maybe even built into fastwebsocket).
2024-01-12 13:22:08 +01:00
David Sherret
c983588dde
fix(task): do not eagerly auto-install packages in package.json when "nodeModulesDir": false (#21858)
There's no need to auto-install the package.json if the user is not
using a node_modules directory.

Closes #21850
2024-01-12 13:22:07 +01:00
David Sherret
0d37f40248
fix(unstable/tar): skip node_modules, .git, and config "exclude" (#21816) 2024-01-12 13:22:07 +01:00
Ryan Dahl
4d83471e58
chore: rename do-not-use-publish (#21854) 2024-01-12 13:22:07 +01:00
David Sherret
972b3e8e65
perf: skip expanding exclude globs (#21817)
We were calling `expand_glob` on our excludes, which is very expensive
and unnecessary because we can pattern match while traversing instead.

1. Doesn't expand "exclude" globs. Instead pattern matches while walking
the directory.
2. Splits up the "include" into base paths and applicable file patterns.
This causes less pattern matching to occur because we're only pattern
matching on patterns that might match and not ones in completely
unrelated directories.
2024-01-12 13:22:06 +01:00
Nayeem Rahman
8a25d21380
perf(lsp): use host-owned cache for auto-import completions (#21852) 2024-01-12 13:22:06 +01:00
Bartek Iwańczuk
5ef16d0a08
fix(registry): wait for already pending publish (#21663)
Co-authored-by: Luca Casonato <hello@lcas.dev>
2024-01-12 13:22:06 +01:00
Asher Gomez
f6fdb38d50
chore: define removal version in deprecated IO APIs (#21702)
This defines the removal version of v2 for the following APIs that
favour the Streams API:
* `Deno.copy()`
* `Deno.File`
* `Deno.iter()`
* `Deno.Buffer`
* `Deno.readAll()`
* `Deno.readAllSync()`
* `Deno.writeAll()`
* `Deno.writeAllSync()`
* `Deno.FsWatcher.return()`
2024-01-12 13:22:05 +01:00
Bartek Iwańczuk
f5c1a8f914
fix(compile): preserve granular unstable features (#21827)
Fix https://github.com/denoland/deno/issues/21814
2024-01-12 13:22:05 +01:00
Kitson Kelly
28e4f3d511
fix(kv): improve .listenQueue types (#21781)
Fixes: #21780
2024-01-12 13:22:05 +01:00
Divy Srivastava
6e017dbba7
feat(ext/crypto): initial support for p521 in generateKey and importKey (#21815)
Part 1 of a potential 3 part series. Ref #13449 

The current implementation passes key material back and forth RustCrypto
group of crates and ring. ring does not implement p521 yet.

This PR adds support for P521 named curve in `generateKey` and
`importKey` where we use RustCrypto. Other parts should be moved over to
the RustGroup group of crates for consistency.
2024-01-12 13:22:05 +01:00
Jovi De Croock
8af30f9937
fix(cli): update import map url (#21824)
Fixes https://github.com/denoland/deno/issues/21822

This updates the import-maps help URL to the one mentioned in the issue
2024-01-12 13:22:04 +01:00
Divy Srivastava
1748033b59
fix(ext/node): add WriteStream.isTTY (#21801) 2024-01-12 13:22:04 +01:00
Bartek Iwańczuk
d3e1387ebb
refactor(tools/repl): reorganize code (#21810)
Some drive-by cleanup as I'm working through
https://github.com/denoland/deno_core/pull/415.
2024-01-12 13:22:04 +01:00
Divy Srivastava
1fcace13b9
fix(ext/node): add fs.cp, fs.cpSync, promises.cp (#21745)
Fixes https://github.com/denoland/deno/issues/20803
Fixes https://github.com/denoland/deno/issues/21723

Performance: copying a 48GiB rust `target` folder (recursive)
| Platform  | `deno` | `node v21.5` | Improvement |
| -------- | ------- | ------- | ------- |
| macOS (APFS) |   3.1secs  |  127.99 secs |  **42x** |
| Windows | 18.3secs | 67.2secs |  **3.8x** |

Copying files with varying sizes:


![image](https://github.com/denoland/deno/assets/34997667/58932652-6f7a-47f5-8504-896dc9ab4ddc)
2024-01-12 13:22:03 +01:00
Nayeem Rahman
7f68ea0e14
fix(lsp): show test code lens for template literal names (#21798) 2024-01-12 13:22:03 +01:00
denobot
6af25c0592
1.39.2 (#21791)
Bumped versions for 1.39.2

Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-01-04 21:40:03 +01:00
Matt Mastracci
6704a8e6fd
chore(cli): bump deno_core (#21790) 2024-01-04 20:34:55 +01:00
David Sherret
50d5a93c28
perf(coverage): faster source mapping (#21783)
I did not measure this change (O(n) to O(log n)), but mainly this should
be slightly more accurate at getting the line number.
2024-01-04 20:34:55 +01:00
Divy Srivastava
ed90e2baee
fix(ci): copyright year for console_test.ts (#21787)
Missed in
b2cd254c35 (diff-0c2dcdd1ce20382e6ddefe52956cf2f570f18063cf09067f8a7ca44abaf33122)
2024-01-04 20:34:55 +01:00
Kenta Moriuchi
ab60d9e6a3
fix: strict type check for cross realms (#21669)
Deno v1.39 introduces `vm.runInNewContext`. This may cause problems when
using `Object.prototype.isPrototypeOf` to check built-in types.

```js
import vm from "node:vm";

const err = new Error();
const crossErr = vm.runInNewContext(`new Error()`);

console.assert( !(crossErr instanceof Error) );
console.assert( Object.getPrototypeOf(err) !== Object.getPrototypeOf(crossErr) );
```

This PR changes to check using internal slots solves them.

---

current: 

```
> import vm from "node:vm";
undefined
> vm.runInNewContext(`new Error("message")`)
Error {}
> vm.runInNewContext(`new Date("2018-12-10T02:26:59.002Z")`)
Date {}
```

this PR:

```
> import vm from "node:vm";
undefined
> vm.runInNewContext(`new Error("message")`)
Error: message
    at <anonymous>:1:1
> vm.runInNewContext(`new Date("2018-12-10T02:26:59.002Z")`)
2018-12-10T02:26:59.002Z
```

---------

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-01-04 20:34:55 +01:00
David Sherret
f45cf71fde
fix(unstable/byonm): support using an import map with byonm (#21786)
Supports mixing an import map with byonm.
2024-01-04 20:34:55 +01:00
Divy Srivastava
9c4431758d
fix(ext/node): UdpSocket ref and unref (#21777) 2024-01-04 20:34:55 +01:00
nokazn
7f9d870cc0
fix(cli): respect exclude option for deno check command (#21779)
This PR fixes #21658.

- `check` subcommand sees `exclude` option in `deno.json`. When some
paths passed with `check` command listed in `exclude`, they are ignored.
- When some files are listed in `exclude` and imported indirectly among
module graph, they are checked.
2024-01-04 20:34:55 +01:00
Matt Mastracci
5d7ebea99f
fix(cli): harden permission stdio check (#21778)
Harden the code that does permission checks to protect against
re-opening of stdin.

Code that runs FFI is vulnerable to an attack where fd 0 is closed
during a permission check and re-opened with a file that contains a
positive response (ie: `y` or `A`). While FFI code is dangerous in
general, we can make it more difficult for FFI-enabled code to bypass
additional permission checks.

- Checks to see if the underlying file for stdin has changed from the
start to the end of the permission check (detects races)
- Checks to see if the message is excessively long (lowering the window
for races)
- Checks to see if stdin and stderr are still terminals at the end of
the function (making races more difficult)
2024-01-04 20:34:54 +01:00
Nayeem Rahman
69ad4918e5
fix(lsp): support test code lens for Deno.test.{ignore,only}() (#21775) 2024-01-04 20:34:54 +01:00
David Sherret
38dda38a3b
fix(jupyter): error message when install fails due to jupyter command not being on PATH (#21767)
We were failing silently in this scenario.
2024-01-04 20:34:54 +01:00
Matt Mastracci
cf148779f0
fix(cli): make signals tests more reliable (#21772)
Delivering POSIX signals too quickly may result in signal coalescing.
2024-01-04 20:34:54 +01:00
Jovi De Croock
53c876ffd3
fix(node/zlib): accept dataview and buffer in zlib bindings (#21756)
Fixes #20516 
Follow up to #21747 and #21746

This tackles the last point of #20516 where certain inputs weren't
accepted in the other zlib methods

This adds the `toU8` conversion of `_brotli` to `_zlib.mjs`, when we
create the ZLibBuffer, we'll sanitize the input. I noticed that the
async had no handler for `string` input so I added that as well.
2024-01-04 20:34:54 +01:00
Nayeem Rahman
2d561a8cf3
chore: ignore hanging lsp jsx test (#21771) 2024-01-04 20:34:53 +01:00
Bartek Iwańczuk
2eb2d109ef
chore: upgrade deno_core to 0.241.0 (#21765) 2024-01-04 20:34:53 +01:00
Nayeem Rahman
04c9c6c1c6
feat(lsp): cache jsxImportSource automatically (#21687) 2024-01-04 20:34:53 +01:00
Bartek Iwańczuk
31318e9ae0
chore: increase unit test timeout to 3m (#21760)
Alternative to #21758 to fix timing out tests on Windows.
2024-01-04 20:34:53 +01:00
Divy Srivastava
551140e475
fix(ext/node): implement os.machine (#21751) 2024-01-04 20:34:52 +01:00
Divy Srivastava
4fa779f220
fix(ext/http): use arraybuffer binaryType for server websocket (#21741)
Ref
https://github.com/denoland/deno/issues/15340#issuecomment-1872353134
2024-01-04 20:34:52 +01:00