0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-02-08 07:16:56 -05:00
Commit graph

627 commits

Author SHA1 Message Date
Marvin Hagemeister
fd600e0dab WIP 2025-01-03 23:56:21 +01:00
Marvin Hagemeister
b972fc996b fix: add missing null check 2025-01-03 12:18:44 +01:00
Marvin Hagemeister
0c1f93e6ee chore: remove cancellation branch 2025-01-03 12:16:29 +01:00
Marvin Hagemeister
6cf3a274d1 fix: missing argument 2025-01-03 11:31:26 +01:00
Marvin Hagemeister
b85974b2db feat: add missing fixer methods 2025-01-03 11:29:05 +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
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
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
Bartek Iwańczuk
05a89f5ffb
add PluginLogger, finally works in the LSP 2024-12-25 15:18:50 +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
06ddb574f3
remove dead code 2024-12-22 21:25:42 +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
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
Marvin Hagemeister
321a1fe57e fix: sibling selectors 2024-12-18 11:31:11 +01:00
Marvin Hagemeister
dde9f52dd0 fix: descendant selector 2024-12-17 23:44:25 +01:00
Marvin Hagemeister
6e70ba2c77 get selector integration working 2024-12-17 12:04:12 +01:00
Marvin Hagemeister
d9fd959820 integrate selctors part 1 2024-12-17 01:20:21 +01:00
Marvin Hagemeister
132db5604f fix nth child 2024-12-17 00:22:02 +01:00
Marvin Hagemeister
e542ba8b4e fix selector parser 2024-12-16 19:32:47 +01:00
Marvin Hagemeister
2f18594ca8 WIP 2024-12-16 18:16:29 +01:00
Marvin Hagemeister
86fc6e64cb WIP 2024-12-16 16:17:02 +01:00
Marvin Hagemeister
3f9ee0d6df feat(lint): support visitor selector syntax 2024-12-15 22:56:50 +01:00
Marvin Hagemeister
ea11f95029 make js plugins independent of ast strucure 2024-12-15 19:18:30 +01:00
Marvin Hagemeister
65fcda4cd5 improve format 2024-12-13 11:38:35 +01:00
Marvin Hagemeister
f50bf9b064 refactor node handling 2024-12-13 00:33:44 +01:00
Marvin Hagemeister
c83f722039 Refactor binary ast 2024-12-12 22:16:49 +01:00
Marvin Hagemeister
76c1275200 fix traversal 2024-12-12 20:53:08 +01:00
Marvin Hagemeister
8f104313ff more nodes 2024-12-12 15:20:36 +01:00
Marvin Hagemeister
499257cbf1 refactor 2024-12-12 04:19:11 +01:00
Marvin Hagemeister
a3421b9c0a more nodes 2024-12-12 01:35:57 +01:00
Marvin Hagemeister
17ad68bb53 more nodes 2024-12-11 17:47:46 +01:00
Marvin Hagemeister
8e56216adf more nodes 2024-12-11 17:41:33 +01:00
Marvin Hagemeister
a2b10d43f3 more nodes 2024-12-11 17:10:05 +01:00
Marvin Hagemeister
d6c20d3f8b WIP 2024-12-11 13:35:37 +01:00