0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-03-10 06:07:03 -04:00
Commit graph

163 commits

Author SHA1 Message Date
Bartek Iwańczuk
9b36c6f218
Merge branch 'main' into lint_plugins 2025-01-27 00:13:41 +01:00
Bartek Iwańczuk
0697578d3e
feat(lint): add rules for react/preact (#27162)
This commit updated to deno_lint 0.69.0, which adds a bunch
or new lint rules dedicated for react/preact users.
2025-01-24 13:08:36 +01:00
Bartek Iwańczuk
80a6179ac4
feat(lint): change behavior of --rules flag (#27245)
This commit changes how `deno lint --rules` behaves:
1. All available rules are now printed and rules enabled are marked as
such
2. `deno lint --rules --json` doesn't include markdown documentation
for rules but rather a link to the docs. This should allow us to save
around 400kB of the final `deno` binary size
2025-01-22 23:43:00 +01:00
Bartek Iwańczuk
1b7ed4d990
lint 2025-01-14 15:04:45 +01:00
Bartek Iwańczuk
a8c647e0ec
Merge branch 'main' into lint_plugins 2025-01-14 15:02:22 +01:00
Marvin Hagemeister
3fb8fc1ba7
feat(unstable): refactor js lint plugin AST (#27615)
This PR changes the underlying buffer backed AST format we use for
JavaScript-based linting plugins. It adds support for various new types,
makes traversal code a lot easier and is more polished compared to
previous iterations.

Here is a quick summary (in no particular order):

- Node prop data is separate from traversal, which makes traversal code
so much easier to reason about. Previously, it was interleaved with node
prop data
- spans are in a separate table as well, as they are rarely needed.
- schema is separate from SWC conversion logic, which makes 
- supports recursive plain objects
- supports numbers
- supports bigint
- supports regex
- adds all SWC nodes

Apologies, this is kinda a big PR, but it's worth it imo.

_Marking as draft because I need to update some tests tomorrow._
2025-01-14 13:31:02 +01:00
Bartek Iwańczuk
cb638dbad8
maybe cleanup 2025-01-10 23:45:01 +01:00
Bartek Iwańczuk
aa145fd378
log -> debug 2025-01-10 02:26:39 +01:00
Bartek Iwańczuk
ebaf18e8ef
fix printer 2025-01-10 02:00:55 +01:00
Bartek Iwańczuk
714ed55473
show errors with cause raised in JS 2025-01-10 01:28:29 +01:00
Bartek Iwańczuk
89af19da97
fix after merge 2025-01-09 15:18:03 +01:00
Bartek Iwańczuk
807cf19157
Merge branch 'main' into lint_plugins 2025-01-09 15:13:39 +01:00
Bartek Iwańczuk
0db8db2aa7
add todos 2025-01-09 15:12:05 +01:00
Bartek Iwańczuk
900ef00c94
fix print functions 2025-01-09 14:11:54 +01:00
Bartek Iwańczuk
f7b5ee2fda
run in tc_scope 2025-01-09 14:07:10 +01:00
Leo Kettmeir
ea30e188a8
refactor: update deno_core for error refactor (#26867)
Closes #26171

---------

Co-authored-by: David Sherret <dsherret@gmail.com>
2025-01-08 14:52:32 -08:00
Bartek Iwańczuk
2fddd68d41
lint 2025-01-07 01:05:48 +01:00
Bartek Iwańczuk
ec745bd2a6
Merge branch 'main' into lint_plugins 2025-01-07 01:02:52 +01:00
Bartek Iwańczuk
b6f2646c1c
refactor: make IncrementalCache accept a CacheDBHash (#27570) 2025-01-06 23:56:36 +00:00
Bartek Iwańczuk
f7051e2058
install all plugins in one go 2025-01-07 00:47:43 +01:00
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
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
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