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