feat(lint): add JavaScript plugin support #27203
basic plugin loading
79b5c3e6
basic execution
7e8e4ae9
some basic structure
1eb4862a
add visitor
49c2d9e2
actually pass AST to plugin
99d70c95
PluginRunner and PluginRunnerProxy
1fdcbd92
req -> resp
bc00517f
first diagnostic from a plugin!
7f458752
load plugins from a flag
c9fa293b
declarative
5639379e
cleanup
0b369714
basic range
f9291e41
measure how long i takes to run
dea3219d
don't dump ast
439d43e5
Merge branch 'main' into lint_plugins
c3208dff
add basic traversal
5a6c1286
correctly report
fb47288f
remove some prints
a15c1165
drop!: vue demo rule
008e2493
feat: add source() method
f3745f95
chore: add more lint rules
46766438
build on stable rust
1217314c
remove unneeded files
a1dfea67
remove debug log, lint
37bafdc6
fix: show correct specifier in error output
77526ca0
drop!: temporary disable lint cache
5a950e5c
wip
42d9936e
Merge branch 'main' into lint_plugins
c2ac4248
load plugins from a config file
106b1f13
almost working with regular cli worker
3e1e46d4
plugins can be authored in TS
052a035c
add basic type decl
a1e590dc
comment out type decls, capture more fns
3588e75c
optimize callign to js
026a5d95
remove dead code
78dc5b8f
fix: only invoke lint plugin runner when there are plugins
a1482058
feat: merge lint plugin visitors
2dba36e6
add visitor types
1fc41dcb
more types
58e7c2d1
chore: ignore lint type errors for now
54f002fc
WIP
c734214c
WIP
f0a26143
WIP
d8897bdd
WIP
4d3767bd
WIP
4365959f
WIP
83da570c
WIP
ccf7009d
WIP
19baadf3
WIP
280d10e8
WIP
99b9e726
WIP
c039c51e
WIP
22681b42
WIP
ccabd64f
WIP
20c477dc
WIP
3c19d065
WIP
3629fd1d
WIP
d6c20d3f
more nodes
a2b10d43
more nodes
8e56216a
more nodes
17ad68bb
more nodes
a3421b9c
refactor
499257cb
more_nodes
dd75c31a
refactors
d9e506eb
fix: clippy
dda408b0
refactor ast
2902ebaa
basic ts nodes
7c7a888f
more nodes
8f104313
fix traversal
76c12752
Refactor binary ast
c83f7220
refactor node handling
f50bf9b0
improve format
65fcda4c
make js plugins independent of ast strucure
ea11f950
feat(lint): support visitor selector syntax
3f9ee0d6
remove dead code
f1672775
WIP
86fc6e64
WIP
2f18594c
fix selector parser
e542ba8b
fix nth child
132db560
integrate selctors part 1
d9fd9598
get selector integration working
6e70ba2c
fix: descendant selector
dde9f52d
Merge branch 'main' into lint_plugins
53a680bd
fix: node name
8d9f9ce5
fix: sibling selectors
321a1fe5
fix more types
e296022d
improve conversion safety
5ea018aa
clippy stuff
13cc74dd
Merge branch 'main' into lint_plugins
d3e41a77
wip after merge
fcfd4c09
Try to load files differently
67e2d06c
runs tests, but they fail
6e28ae54
revert selector changes
c831535a
fix the plugin
66f22d83
update a todo
8479e954
move ops
6d03bafd
remove dead code
06ddb574
remove --plugins flag support for now
a446c896
load plugins relative to the config file
3bea4cfa
run jsr plugins
71c82e47
Merge branch 'main' into lint_plugins
46db6dd1
remove duplicate types
a6d10328
type
fdea4eaa
remove integration tests for now, we have unit tests for that
a2bacbb0
revert types change
7be95bbb
revert most of typings for now
0a28ac65
simplify plugin loading
0e8457d7
abstract away running plugins
e6d0a6fd
plugins are run inside CliLinter now
f6efc9f3
wire up in the lsp
f55dd0d0
add PluginLogger, finally works in the LSP
05a89f5f
add CancellationToken, but not wired up yet
c1e3357d
smaller diff
f8e8f251
cleanup
1a0a61d0
revert
2d7ef066
remove debug logs
46e191c5
lint
47178efd
use static strings
df54f588
put fns into Rc
f283a0fd
renames
c3ac6031
add support for hint
a6d1f111
Merge branch 'main' into lint_plugins
554bce98
feat: support js lint plugins fixes
321e37bf
update for deno_lint changes
2edd3090
use git deno_lint
9685d713
feat: support excluding rules from lint plugins
adc25f85
feat: add missing fixer methods
b85974b2
fix: missing argument
6cf3a274
chore: remove cancellation branch
0c1f93e6
fix: add missing null check
b972fc99
chore: support more nodes
9124e0a0
testing helpers
5af9453f
lint
ebb6b600
wire up CancellationToken
7b3cdf13
bartlomieju
marked this pull request as ready for review 1 year ago
Merge branch 'main' into lint_plugins
37207e59
revert changes to permissions
64df2cef
lint
08482b04
foo
ad41ab7c
use structs instead
1f9a5c19
install all plugins in one go
f7051e20
Merge branch 'main' into lint_plugins
ec745bd2
lint
2fddd68d
run in tc_scope
f7b5ee2f
fix print functions
900ef00c
add todos
0db8db2a
Merge branch 'main' into lint_plugins
807cf191
fix after merge
89af19da
show errors with cause raised in JS
714ed554
validate range
31473ca2
fix printer
ebaf18e8
lsp
0486303c
log -> debug
aa145fd3
Merge branch 'main' into lint_plugins
67f77579
maybe cleanup
cb638dba
add an error
e56e7a28
Merge branch 'main' into lint_plugins
a8c647e0
lint
1b7ed4d9
Merge branch 'main' into lint_plugins
9b36c6f2
Merge remote-tracking branch 'upstream/main' into lint_plugins
278bfd02
Merge branch 'main' into lint_plugins
0a46741b
lint
4d3aa3f7
bump deno_lint
008c7897
Merge branch 'main' into lint_plugins
532f756b
Merge branch 'main' into lint_plugins
92876ea6
add some comments in JSDoc
b1bfea69
more JSDoc fixes
bf9e4493
simplify types
b3ddde1d
more types
46e150dc
jsdoc my old friend
b3d0b0e4
further fixes
97d8ae29
fix dts
43fff854
Merge branch 'main' into lint_plugins
9782f415
fix lsp tests
fb0fe35c
fix unit tests
d71ff4e6
should work now
843e8eb1
fix again
418e2643
integration tests should be passing now
09fbea10
schema file test update
142bac0d
Merge branch 'main' into lint_plugins
85099a9c
Merge branch 'main' into lint_plugins
26555b4c
review first pass
e5b57f64
compute plugins when resolving options
4a9c1d68
bartlomieju
added this to the 2.2.0 milestone 1 year ago
Merge branch 'main' into lint_plugins
69bc80f3
Fix ranges in tests
ce058edc
remove top level test folder
24b59762
make js ranges utf16 and better error handling
9d2ccda8
stricter validation on plugin name
554586f6
remove lock
99d41a29
dsherret
approved these changes
on 2025-02-05
Assignees
No one assigned
Login to write a write a comment.
Login via GitHub