0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-03-09 13:49:37 -04:00
Commit graph

7140 commits

Author SHA1 Message Date
Bartek Iwańczuk
2edd30904a
update for deno_lint changes 2025-01-02 19:07:55 +01:00
Marvin Hagemeister
321e37bf2e feat: support js lint plugins fixes 2025-01-02 16:28:13 +01:00
Bartek Iwańczuk
554bce98b5
Merge branch 'main' into lint_plugins 2025-01-02 10:35:12 +01:00
David Sherret
8e618e1b2a
fix(npm): deterministically output tags to initialized file (#27514)
The tags were being sorted in a random order due to the package_reqs
hashmap
2024-12-31 20:36:57 +00:00
Kenta Moriuchi
8fb073d7b4
chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
David Sherret
ac7b33a340
chore: cargo fmt - turn on group_imports=StdExternalCrate (#26646) 2024-12-31 12:13:39 -05:00
David Sherret
4638caa740
refactor: do not use deno_fs::FileSystem everywhere (#27508)
This changes the cli to mostly use `std::fs` via `sys_traits` instead of
the implemention of `deno_fs::FileSystem`.
2024-12-31 11:29:07 -05:00
Je Xia
7b491a28df
fix(node): Add missing inspector/promises (#27491)
Add missing `inspector/promises` in node builtin module list, that
causes types checking error.
2024-12-31 11:06:21 +01:00
Marvin Hagemeister
a844d96ee9
chore(lint): remove manual AST field counter (#27449)
Addresses the review feedback in
https://github.com/denoland/deno/pull/27416 .

- Hoist the buffer max size variable to make it less confusing
- Remove manual AST field counter in favour of an explicit "commit
schema" step which writes the actual field count.
2024-12-31 08:59:41 +01:00
David Sherret
c391ad315e
refactor: use sys_traits (#27480) 2024-12-30 12:38:20 -05:00
Marvin Hagemeister
fdd0edf23c
fix(unstable): don't error on non-existing attrs or type attr (#27456)
When running selectors for JS linting plugins we would error when
encountering an unknown attribute name:

```js
// selector
Foo[non-existant]

// error
Error: Missing string id: <number>
```

This was caused by using `0` as the invalid marker, but also overloading
`0` with an actual node type. So the fix is to reserve `0` as the
invalid marker and move the property type to the next index.
2024-12-27 22:46:29 +01:00
Bartek Iwańczuk
a6d1f1116f
add support for hint 2024-12-26 13:38:52 +01:00
Bartek Iwańczuk
c3ac6031f6
renames 2024-12-26 13:33:47 +01:00
Bartek Iwańczuk
f283a0fd73
put fns into Rc 2024-12-26 12:26:44 +01:00
Bartek Iwańczuk
df54f58874
use static strings 2024-12-26 11:54:49 +01:00
Bartek Iwańczuk
47178efd62
lint 2024-12-26 11:41:21 +01:00
Bartek Iwańczuk
46e191c563
remove debug logs 2024-12-26 11:36:54 +01:00
Bartek Iwańczuk
2d7ef0660d
revert 2024-12-26 11:32:54 +01:00
Bartek Iwańczuk
1a0a61d059
cleanup 2024-12-26 11:26:04 +01:00
Bartek Iwańczuk
f8e8f251a4
smaller diff 2024-12-26 11:19:34 +01:00
Bartek Iwańczuk
c1e3357d2c
add CancellationToken, but not wired up yet 2024-12-26 11:18:49 +01:00
Luca Casonato
f4e321342f
feat(unstable): add OTEL MeterProvider (#27240)
This commit replaces `Deno.telemetry.MetricsExporter` with
`Deno.telemetry.MeterProvider`.

Signed-off-by: Luca Casonato <hello@lcas.dev>
Co-authored-by: snek <snek@deno.com>
2024-12-26 09:01:39 +01:00
Bartek Iwańczuk
05a89f5ffb
add PluginLogger, finally works in the LSP 2024-12-25 15:18:50 +01:00
Bartek Iwańczuk
f55dd0d0bb
wire up in the lsp 2024-12-24 16:22:09 +01:00
Bartek Iwańczuk
f6efc9f357
plugins are run inside CliLinter now 2024-12-24 10:52:36 +01:00
Bartek Iwańczuk
e6d0a6fde1
abstract away running plugins 2024-12-24 10:43:10 +01:00
Bartek Iwańczuk
0e8457d7c3
simplify plugin loading 2024-12-24 10:27:30 +01:00
Bartek Iwańczuk
0a28ac650a
revert most of typings for now 2024-12-24 10:22:48 +01:00
Bartek Iwańczuk
7be95bbb6d
revert types change 2024-12-23 09:41:39 +01:00
Bartek Iwańczuk
fdea4eaa7e
type 2024-12-23 08:53:30 +01:00
Bartek Iwańczuk
a6d1032891
remove duplicate types 2024-12-23 08:52:46 +01:00
Bartek Iwańczuk
46db6dd14d
Merge branch 'main' into lint_plugins 2024-12-23 08:50:34 +01:00
Marvin Hagemeister
1a809b8115
feat(unstable): support selectors in JS lint plugins (#27452)
This PR adds support for using selectors in the JS linting plugin API.
Supported at the moment are:

- `Foo Bar` (descendant)
- `Foo > Bar` (child combinator)
- `Foo + Foo` (next sibling)
- `Foo ~ Foo` (subsequent sibling)
- `[attr]`, `[attr=value]` (attribute selectors, supported operators:
`=`, `!=`, `<`, `>`, `<=`, `>=`)
- `:first-child`
- `:last-child`
- `:nth-child(2)`, `:nth-child(2n + 1)`
2024-12-23 08:45:47 +01:00
Bartek Iwańczuk
71c82e47ef
run jsr plugins 2024-12-22 22:06:31 +01:00
Bartek Iwańczuk
3bea4cfa18
load plugins relative to the config file 2024-12-22 21:46:49 +01:00
Bartek Iwańczuk
a446c89620
remove --plugins flag support for now 2024-12-22 21:35:29 +01:00
Bartek Iwańczuk
06ddb574f3
remove dead code 2024-12-22 21:25:42 +01:00
Bartek Iwańczuk
6d03bafd1e
move ops 2024-12-22 21:20:52 +01:00
Bartek Iwańczuk
8479e9541d
update a todo 2024-12-22 21:04:55 +01:00
Bartek Iwańczuk
66f22d83a2
fix the plugin 2024-12-22 21:02:39 +01:00
Bartek Iwańczuk
c831535ac9
revert selector changes 2024-12-21 16:28:17 +01:00
Bartek Iwańczuk
6e28ae5425
runs tests, but they fail 2024-12-21 16:11:46 +01:00
Bartek Iwańczuk
67e2d06c34
Try to load files differently 2024-12-21 16:08:47 +01:00
Bartek Iwańczuk
fcfd4c09b5
wip after merge 2024-12-21 02:38:23 +01:00
Bartek Iwańczuk
d3e41a770a
Merge branch 'main' into lint_plugins 2024-12-21 02:28:39 +01:00
Marvin Hagemeister
26425a137b
feat(unstable): add JS linting plugin infrastructure (#27416)
This PR extracts the core part of
https://github.com/denoland/deno/pull/27203 to make it easier to review
and land in parts.

It contains:
-  The JS plugin code the deserializes and walks the buffer
- The Rust portion to serialize SWC to the buffer format (a bunch of
nodes are still todos, but imo these can land anytime later)
- Basic lint plugin types, without the AST node types to make this PR
easier to review
- Added more code comments to explain the format etc.


More fixes and changes will be done in follow-up PRs.

---------

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-12-21 00:58:03 +01:00
David Sherret
ece718eb3e
perf: upgrade to deno_semver 0.7 (#27426) 2024-12-20 21:14:37 +00:00
Bartek Iwańczuk
c30f3450c6
perf: don't store duplicate info for ops in the snapshot (#27430)
Mostly for changes from https://github.com/denoland/deno_core/pull/1010

---------

Co-authored-by: David Sherret <dsherret@gmail.com>
2024-12-20 17:43:03 +00:00
snek
65b647909d
feat(unstable): Implement QUIC (#21942)
Implements a QUIC interface, loosely based on the WebTransport API (a
future change could add the WebTransport API, built on top of this one).

[quinn](https://docs.rs/quinn/latest/quinn/) is used for the underlying
QUIC implementation, for a few reasons:
- A cloneable "handle" api which fits quite nicely into deno resources.
- Good collaboration with the rust ecosystem, especially rustls.
- I like it.

<!--
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.
-->
2024-12-20 13:48:48 +01:00
Nayeem Rahman
feb94d09e7
fix(lsp): rewrite imports for 'Move to a new file' action (#27427) 2024-12-20 02:33:35 +00:00