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

1280 commits

Author SHA1 Message Date
Bartek Iwańczuk
1f9a5c19b0
use structs instead 2025-01-06 23:45:34 +01:00
Bartek Iwańczuk
08482b04c8
lint 2025-01-06 23:18:07 +01:00
Bartek Iwańczuk
37207e5914
Merge branch 'main' into lint_plugins 2025-01-06 23:14:19 +01:00
Bartek Iwańczuk
7b3cdf1322
wire up CancellationToken 2025-01-03 23:52:51 +01:00
Bartek Iwańczuk
ebb6b60012
lint 2025-01-03 23:25:31 +01:00
David Sherret
89c92b84fa
fix(check): move module not found errors to typescript diagnostics (#27533)
Instead of hard erroring, we now surface module not found errors as
TypeScript diagnostics (we have yet to show the source code of the
error, but something we can improve over time).
2025-01-03 21:49:56 +00:00
Marvin Hagemeister
9124e0a0df chore: support more nodes 2025-01-03 14:22:24 +01:00
Marvin Hagemeister
adc25f85a1 feat: support excluding rules from lint plugins 2025-01-03 11:03:28 +01:00
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
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
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
1a0a61d059
cleanup 2024-12-26 11:26:04 +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
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
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
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
Marvin Hagemeister
351e79642a
fix(task): support tasks without commands (#27191)
Support running tasks that have no command and only dependencies. This
is useful for when you want to group tasks only.
2024-12-19 18:10:58 +00:00
Sean McArthur
b1c685f4b7
fix(ext/fetch): retry some http/2 errors (#27417)
This brings some of the HTTP/2 retry behavior from reqwest to
`ext/fetch`. It will retry very specific HTTP/2 errors once, if the body
is able to be used again.

Closes #27332
2024-12-18 23:04:29 +01:00
Marvin Hagemeister
13cc74dd59 clippy stuff 2024-12-18 15:29:27 +01:00
Marvin Hagemeister
5ea018aa58 improve conversion safety 2024-12-18 14:36:24 +01:00
Marvin Hagemeister
e296022d44 fix more types 2024-12-18 12:16:28 +01:00
Marvin Hagemeister
8d9f9ce5e2 fix: node name 2024-12-18 11:30:23 +01:00
Bartek Iwańczuk
53a680bded
Merge branch 'main' into lint_plugins 2024-12-18 05:35:56 +01:00
Bartek Iwańczuk
14e4064986
fix(task): properly handle task name wildcards with --recursive (#27396)
This commit fixes `deno task` by checking if the provided
task name actually has a wildcard char ("*").

Previously, if the "--recursive" flag was passed, the task name
was treated as a regex, which lead to a situation where exact task
name resulted in a regex that matched all tasks with the specific
prefix.

This commit fixes it, by checking if the provided task name, is an exact
name, or is it a wildcard match.

Closes https://github.com/denoland/deno/issues/27370
Closes https://github.com/denoland/deno/issues/27401
Closes https://github.com/denoland/deno/issues/27408
2024-12-18 03:32:37 +01:00