Luca Casonato
6cdf81db7c
feat(cli): add support for jsxImportSourceTypes ( #23419 )
...
Co-authored-by: David Sherret <dsherret@gmail.com>
2024-04-30 18:12:35 +00:00
Kenta Moriuchi
783533d2e3
FUTURE: remove import assertions support for JavaScript ( #23541 )
...
Ref #17944 , https://github.com/swc-project/swc/issues/8893
TypeScript removes the `assert` keywords in the transpile, so this PR
only works for JavaScript files
2024-04-29 22:43:05 +02:00
David Sherret
4384a126bb
fix: handle specifying an import map in an ancestor dir of deno.json ( #23602 )
...
* https://github.com/denoland/deno_config/pull/51
Closes https://github.com/denoland/deno/issues/21440
2024-04-29 14:32:27 -04:00
David Sherret
48daf2dc88
chore: add tests for moduleGraph2 ( #23603 )
...
Also did some renames from underscores to hyphens
2024-04-29 14:09:58 -04:00
David Sherret
da52058a94
chore: migrate bench, publish, and more itests to spec tests ( #23584 )
2024-04-29 10:08:27 -04:00
Satya Rohith
b8444066ea
fix(ext/node): support NODE_DEBUG env ( #23583 )
2024-04-29 09:36:53 +00:00
Satya Rohith
455cf1743f
fix(ext/node): add support for MessagePort.removeListener/off ( #23598 )
...
Closes https://github.com/denoland/deno/issues/23564
2024-04-29 08:53:54 +00:00
David Sherret
651e3e9e6d
fix(compile): certain jsr specifiers sometimes can't load ( #23567 )
...
When returning a jsr specifier for resolve it seems like deno core does
not work properly and hangs.
Closes https://github.com/denoland/deno/issues/23551
Closes https://github.com/denoland/deno/issues/23139
2024-04-27 21:11:57 +00:00
Bartek Iwańczuk
115dedde22
fix: unref stdin read ( #23534 )
...
Closes https://github.com/denoland/deno_core/issues/648
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2024-04-25 05:32:01 +00:00
David Sherret
f3284529f1
feat(jsr): support importing from jsr via HTTPS specifiers (except for type checking) ( #23513 )
...
Closes https://github.com/jsr-io/jsr/issues/322
2024-04-24 21:43:34 +00:00
Matt Mastracci
2f8825a935
feat: Add deno serve
subcommand ( #23511 )
...
By default, `deno serve` will assign port 8000 (like `Deno.serve`).
Users may choose a different port using `--port`.
`deno serve /tmp/file.ts`
`server.ts`:
```ts
export default {
fetch(req) {
return new Response("hello world!\n");
},
};
```
2024-04-24 19:45:49 +00:00
David Sherret
ded6afccf2
fix(publish): --dry-publish should error for gitignored excluded files ( #23540 )
...
Files that were gitignored only were not included in the diagnostic.
2024-04-24 18:52:05 +00:00
Nathan Whitaker
8a367d3cc3
fix(cli): Don't panic on invalid emit options ( #23463 )
...
Fixes #23456 .
2024-04-23 08:50:50 -07:00
Bartek Iwańczuk
35220f0069
fix(workspace): provide workspace members as 'imports' in import map ( #23492 )
...
This commit changes the workspace support to provide all workspace
members to be available as imports based on their names and versions.
Closes https://github.com/denoland/deno/issues/23343
2024-04-23 17:21:06 +02:00
Asher Gomez
2f5a6a8514
FUTURE(ext/net): remove Deno.ConnectTlsOptions.(certFile|certChain|privateKey)
( #23270 )
...
Towards #23089
---------
Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2024-04-21 03:03:44 +00:00
Asher Gomez
98e2f6d50b
FUTURE(ext/net): remove Deno.ListenTlsOptions.(keyFile|certFile)
( #23271 )
...
Towards #23089
---------
Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2024-04-21 01:58:59 +00:00
David Sherret
695f314a91
feat(task): support running npm binary commands in deno.json ( #23478 )
...
npm binary commands like `vite` from a `node_modules/.bin` folder will
now execute when defined in a deno.json
Closes https://github.com/denoland/deno/issues/23477
2024-04-20 20:13:46 -04:00
David Sherret
db3b3fb665
chore: auto-complete for __spec__.jsonc file ( #23476 )
...
This makes writing these tests a little easier.
2024-04-20 22:47:10 +00:00
Asher Gomez
05b49a803f
FUTURE: remove Deno.customInspect
( #23453 )
2024-04-19 20:50:18 +10:00
David Sherret
c497e766f1
refactor: move redirect handling into deno_graph ( #23444 )
2024-04-19 01:43:28 +00:00
Asher Gomez
25a80bc523
test(publish): check specifiers outside fast check module graph ( #23369 )
...
Closes #23023
2024-04-17 23:46:33 +00:00
Matt Mastracci
9c0446567b
fix(cli): Identify and fix a test deadlock ( #23411 )
...
If a worker tried to flush large amounts of data right as the test was
ending, it could cause the flush sync marker to get lost.
2024-04-16 15:14:59 -06:00
David Sherret
43c8c1cc6e
feat(check): allow using side effect imports with unknown module kinds (ex. css modules) ( #23392 )
...
This allows people to use imports like:
```ts
import "./app.css";
```
...with `deno check` in systems where there's a bundle step (ex. Vite).
This will still error when using it with `deno run` or if the referenced
file does not exist.
See test cases for behaviour.
2024-04-16 16:46:31 -04:00
Bartek Iwańczuk
55c27cadc8
test: add test for running in V8 jitless mode ( #23054 )
...
Fixes https://github.com/denoland/deno/issues/22453
This is fixed due to upgrade of deno_core, just adding
a test here.
2024-04-15 23:47:01 +00:00
David Sherret
6f278e5c40
fix(lsp): improved cjs tracking ( #23374 )
...
Our cjs tracking was a bit broken. It was marking stuff as esm that was
actually cjs leading to type checking errors.
2024-04-15 17:50:52 -04:00
David Sherret
4e8d30fca1
chore(test): use file_test_runner for spec tests ( #23348 )
...
Extracted out this code to https://github.com/denoland/file_test_runner
and added parallelism. This makes these tests run 6 seconds faster on my
machine and allows re-using this code in other crates like deno_graph,
deno_doc, etc (ex. https://github.com/denoland/deno_graph/pull/437 ).
2024-04-12 17:58:40 -04:00
David Sherret
98077e4b3c
fix(publish): do not warn about excluded external modules in node_modules directory ( #23173 )
2024-04-11 23:52:35 +00:00
David Sherret
df73db671b
fix(npm): local nodeModulesDir was sometimes resolving duplicates of same package ( #23320 )
2024-04-11 13:18:19 -04:00
Asher Gomez
49f6e2e79e
FUTURE(ext/net): remove Deno.(Conn|TlsConn|Listener|TlsListener|UnixConn).prototype.rid
( #23219 )
...
Towards #23089
---------
Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2024-04-08 08:59:37 +10:00
Asher Gomez
9b34b7ed18
FUTURE(ext/fs): remove Deno.FsWatcher.prototype.rid
( #23234 )
2024-04-07 17:46:39 +10:00
Asher Gomez
d3f3e0d717
FUTURE(ext/fs): make Deno.FsFile
constructor illegal ( #23235 )
...
I'm unsure whether we're planning to make the `Deno.FsFile` constructor
illegal or remove `FsFile` from the `Deno.*` namspace in Deno 2. Either
way, this PR works towards the former. I'll create a superceding PR if
the latter is planned instead.
Towards #23089
2024-04-07 15:42:53 +10:00
David Sherret
049e703331
FUTURE: override byonm with nodeModulesDir setting ( #23222 )
...
Makes the `"nodeModulesDir"` setting take precedence over byonm when
using `DENO_FUTURE`.
2024-04-05 10:34:51 -04:00
Asher Gomez
207349cfb7
FUTURE: remove deprecated APIs within workers ( #23220 )
2024-04-05 03:27:18 +11:00
David Sherret
ca5e5c7e9c
chore(specs): add jsr and npm env vars to tests by default ( #23171 )
2024-04-01 21:58:05 -04:00
David Sherret
b0c1bd82a8
fix: prevent cache db errors when deno_dir not exists ( #23168 )
...
Closes #20202
2024-04-01 18:58:52 -04:00
David Sherret
8698492128
fix(node): handle empty 'main' entry in pkg json ( #23155 )
2024-04-01 07:07:11 +01:00
David Sherret
b8af46e007
fix(check): ignore certain diagnostics in remote modules and when publishing ( #23119 )
...
Unused locals and parameters don't make sense to surface in remote
modules. Additionally, fast check can cause these kind of diagnostics
when publishing, so they should be ignored.
Closes #22959
2024-03-31 16:39:40 -04:00
Nathan Whitaker
2dc37f411e
feat(task): Task description in the form of comments ( #23101 )
...
Closes #22786 .
TLDR;
```jsonc
{
"tasks": {
// Some comment
//
// describing what the task does
"dev": "deno run -A --watch main.ts"
}
}
```
```bash
deno task
```
![Screenshot 2024-03-27 at 1 43
49 PM](https://github.com/denoland/deno/assets/17734409/7a14da8c-8e63-45ba-9bfb-590d250b56a9 )
2024-03-27 14:14:27 -07:00
David Sherret
49f97d5f85
fix(check): do not suggest running with --unstable
( #23092 )
...
Closes #23079
2024-03-27 11:58:36 -04:00
Asher Gomez
3462248571
FUTURE(ext/fs): remove Deno.FsFile.rid
( #23087 )
...
Continues work from #23075 . Towards #23089 .
2024-03-27 13:45:19 +01:00
Asher Gomez
c9e10ededa
FUTURE: remove Deno.resources()
( #23095 )
2024-03-27 13:39:26 +01:00
David Sherret
ac4a5f74b8
feat: TypeScript 5.4 ( #23086 )
...
Fork PR: https://github.com/denoland/TypeScript/pull/10
Closes #23080
2024-03-26 18:52:57 -04:00
Nathan Whitaker
a2a537e196
fix(bench): Fix group header printing logic + don't filter out the warmup benchmark ( #23083 )
...
Fixes #23053 .
Two small bugs here:
- the existing condition for printing out the group header was broken.
it worked in the reproducer (in the issue above) without filtering only
by accident, due to setting `self.has_ungrouped = true` once we see the
warmup bench. Knowing that we sort benchmarks to put ungrouped benches
first, there are only two cases: 1) we are starting the first group 2)
we are ending the previous group and starting a new group
- when you passed `--filter` we were applying that filter to the warmup
bench (which is not visible to users), so we suffered from jit bias if
you were filtering (unless your filter was `<warmup>`)
TLDR;
Running
```bash
deno bench main.js --filter="G"
```
```js
// main.js
Deno.bench({
group: "G1",
name: "G1-A",
fn() {},
});
Deno.bench({
group: "G1",
name: "G1-B",
fn() {},
});
```
Before this PR:
```
benchmark time (avg) iter/s (min … max) p75 p99 p995
--------------------------------------------------------------- -----------------------------
G1-A 303.52 ps/iter3,294,726,102.1 (254.2 ps … 7.8 ns) 287.5 ps 391.7 ps 437.5 ps
G1-B 3.8 ns/iter 263,360,635.9 (2.24 ns … 8.36 ns) 3.84 ns 4.73 ns 4.94 ns
summary
G1-A
12.51x faster than G1-B
```
After this PR:
```
benchmark time (avg) iter/s (min … max) p75 p99 p995
--------------------------------------------------------------- -----------------------------
group G1
G1-A 3.85 ns/iter 259,822,096.0 (2.42 ns … 9.03 ns) 3.83 ns 4.62 ns 4.83 ns
G1-B 3.84 ns/iter 260,458,274.5 (3.55 ns … 7.05 ns) 3.83 ns 4.45 ns 4.7 ns
summary
G1-B
1x faster than G1-A
```
2024-03-26 09:19:24 -07:00
Asher Gomez
89aa6d5cf6
feat: remove deprecated methods from namespace with DENO_FUTURE=1
( #23075 )
...
This change removes deprecated methods from the `Deno.*` namespace when
the `DENO_FUTURE=1` environment variable is used.
Note: this does not address deprecated class properties and methods.
E.g. `Deno.Conn.rid`.
2024-03-26 16:56:52 +01:00
David Sherret
0346e597bf
feat(lint): automatically opt-in packages to jsr
lint tag ( #23072 )
...
This automatically opts packages (deno.json's with a name, version, and
exports field) into the "jsr" lint tag.
2024-03-25 18:20:15 -04:00
Bartek Iwańczuk
8b454b560a
test: add test for DENO_FUTURE=1 runtime API ( #23065 )
...
Add a test that asserts that certain symbols are no longer available
if running with `DENO_FUTURE=1` env var.
Currently only checks `window` global.
2024-03-25 16:22:01 +01:00
Bartek Iwańczuk
d043dd86f7
fix: don't panic in test and bench if ops not available ( #23055 )
...
Fixes regression introduced in
https://github.com/denoland/deno/pull/22112 that
removed checks if `Deno.test` or `Deno.bench` are not used in respective
subcommands.
Closes https://github.com/denoland/deno/issues/23041
2024-03-24 16:16:45 -07:00
David Sherret
f96f167dc8
feat(unstable/publish): error when a package's module is excluded from publishing ( #22948 )
...
Closes #22657
2024-03-21 21:42:23 +00:00
David Sherret
ffbcad3800
feat(lint): deno lint --fix
and lsp quick fixes ( #22615 )
...
Adds a `--fix` option to deno lint. This currently doesn't work for
basically any rules, but we can add them over time to deno lint.
2024-03-21 14:18:59 -07:00
David Sherret
9abc722cc3
feat(node): load ES modules defined as CJS ( #22945 )
...
Changes the behaviour in Deno to just always load ES modules in npm
packages even if they're defined as CJS.
Closes #22818
2024-03-21 11:35:51 -07:00