Yuji Sugiura
41fb7ef7e7
chore(tasks/lint_rules): Arrange UI ( #2187 )
...
Part of #2020
- [x] rule counters
- [x] show two tables
- [x] omit all the deprecated rules
Eventually I decided to split them into 3 tables.
In order to be aware of the newly deprecated rules in the future, the
deprecated rules are hidden by default, rather than omitted altogether.
2024-01-28 22:25:33 +08:00
Boshen
87b9978859
refactor: move all miette usages to oxc_diagnostics
2024-01-28 16:52:16 +08:00
Boshen
87bc19830e
chore(tasks/lint_rules): change typescript issue number
2024-01-26 16:20:39 +08:00
Yuji Sugiura
cba8a4c131
feat(tasks): Enable tasks/lint_rules(JS ver) ( #2177 )
...
- [x] Remove old task(Rust ver)
- [x] Migrate to new task(JS ver)
- [x] Confirm CI works w/o `--output`
-
https://github.com/oxc-project/oxc/actions/runs/7663961642/job/20887579432?pr=2177
- [x] Confirm CI works w/ fake issue no
- https://github.com/oxc-project/oxc/issues/2117
- [x] Enable
- - -
I've noticed that
- eslint/no-extra-semi
- eslint/no-mixed-spaces-and-tabs
are maked as deprecated and also recommended.
This is ESLint side
[issue](https://github.com/eslint/eslint/pull/17696#issuecomment-1792452766 )
and will fix after v9.
2024-01-26 15:45:05 +08:00
Dunqing
ea8cc98c34
fix(ast): AcessorProperty is missing decorators ( #2176 )
2024-01-26 15:43:05 +08:00
Yuji Sugiura
b268cb2545
feat(tasks): tasks/lint_rules2 re-implement --update ( #2173 )
...
- Add `pluginMeta` field to make issue more informative
- Implement `--update` flag to update GitHub issue
With lots of refactoring.
2024-01-26 10:48:26 +08:00
fi3ework
ee5b9682ae
feat(linter): support read env from eslintrc ( #2130 )
...
## target
resolve #732
## contexts
- globals definition from
https://github.com/sindresorhus/globals/blob/main/globals.json
- port https://github.com/eslint/eslintrc/blob/main/conf/environments.js
to derive environments
2024-01-26 10:43:44 +08:00
Dunqing
e5719e9b4d
feat(transformer/decorators): support transform member decorators ( #2171 )
2024-01-26 10:14:19 +08:00
Boshen
889837704c
feat(semantic): cfg prototype ( #2019 )
...
Co-authored-by: U9G <git@u9g.dev>
2024-01-25 20:19:35 +08:00
underfin
2794064eef
feat(transfrom): transform-json-strings ( #2168 )
...
The pr intends to implement the plugin
`babel-plugin-transform-json-strings`. But here is only mutate
`Directive`, the `StringLiteral` is not implement. It need to changed
the `StringLiteral` printer.
I'm intend to add the raw of `StringLiteral`, it will be mutate at
plugin, and using the `raw` to print `StringLiteral`. If you other
ideas, please let me know.
---------
Co-authored-by: Boshen <boshenc@gmail.com>
2024-01-25 10:39:02 +00:00
Yuji Sugiura
83a54e0d06
feat(tasks): Add more plugins for tasks/lint_rules2 ( #2167 )
...
Part pf #2020
- [x] jsx-a11y
- [x] react, react-hooks, react-perf
- [x] nextjs
Now, we can track all target plugins(AFAIK)? 🕵🏻
2024-01-25 16:32:26 +08:00
underfin
989ab88bc6
fix(codegen): print Directive original string ( #2157 )
...
> A Use Strict Directive may not contain an EscapeSequence or
LineContinuation.
It is `Use Strict Directive` spec, but the `expression` of `Directive`
isn't original string value, it has error if using it to codegen, so
here using `directive` of `Directive` to codegen and not to escape it.
Here is crashed test cases.
``` js
'use str\
ict';
```
The babel will print the original string, I follow it and avoid using
`print_str` because it will escape string.
I also changed some code using the `expression` of `Directive` to check
`Use Strict Directive` .
2024-01-25 15:24:05 +08:00
Yuji Sugiura
80a454630a
feat(tasks): Re-introduce tasks/lint_rules ( #2166 )
...
Part of #2020
2024-01-25 13:14:40 +08:00
Dunqing
51cecbb3ea
refactor(transformer/decorators): align the implementation of all versions ( #2159 )
2024-01-25 13:11:24 +08:00
Dunqing
7f89bfea0d
feat(transformer/decorators): support version 2023-05 ( #2152 )
2024-01-24 11:19:29 +08:00
Dunqing
04b401cbfd
feat(transformer/decorators): support transform the class decorators in export declaration ( #2145 )
2024-01-24 11:13:29 +08:00
Dunqing
9e598ff650
feat(transformer): add decorators plugin ( #2139 )
2024-01-24 11:09:19 +08:00
renovate[bot]
0be0a234ce
chore(deps): update cargo ( #2138 )
2024-01-23 14:48:04 +08:00
Yuji Sugiura
71173a9181
feat(tasks): Add @typescript-eslint to lint_rules CI task ( #2134 )
...
Part of #2020
- Add `@typescript-eslint` plugin rules
- w/ refactoring
- Fix compile errors to add other plugins
- Remove not intended unsupported rule in `eslint`
(Use #2117 for updating for a while?)
2024-01-23 12:29:55 +08:00
Boshen
ad133ba647
chore: update snapshots
2024-01-22 19:16:09 +08:00
Boshen
26571c72de
chore(just): change sync command to sync-submodules
...
This should avoid accidentally running the command
2024-01-22 17:45:13 +08:00
Yuji Sugiura
ce94714c31
feat(tasks): Enable tasks/lint_rules CI ( #2118 )
...
Part of #2020
👉🏻 See generated comment on #2117
2024-01-22 15:29:37 +08:00
Yuji Sugiura
b88b8bbdad
feat(tasks): Implement lint_rules --update ( #2113 )
...
Part of #2020
- Implement GitHub REST API call part
- Clarify `--update` flag responsibility
2024-01-22 13:44:41 +08:00
overlookmotel
36c718ee82
feat(tasks): benchmarks for lexer ( #2101 )
...
This PR adds benchmarks for the lexer. I'm doing some work on optimizing
the lexer and I thought it'd be useful to see the effects of changes in
isolation, separate from the parser.
These benchmarks may not be ideal to keep long-term, but for now it'd be
useful.
In order to do so, it's necessary for `oxc_parser` crate to expose the
lexer, but have done that without adding it to the docs, and using an
alias `__lexer`.
2024-01-21 14:32:50 +00:00
Boshen
2f5afff9bd
fix(parser): fix crash on TSTemplateLiteralType in function return position ( #2089 )
...
```
interface Helpers {
inspect(): `~~~~\n${string}\n~~~~`;
}
```
2024-01-19 23:14:05 +08:00
Yuji Sugiura
2f1e1e2e46
feat/tasks: expose linter RULES and use it for listing ( #2083 )
...
Part of #2020 , follow up of #2081 .
2024-01-19 16:45:00 +08:00
Yuji Sugiura
60ab7121f8
(feat/tasks): refactor lint_rules for subsequent todos ( #2081 )
...
Part of #2020
- Handle args and flags
- Split files
- Prettify CLI outputs
2024-01-19 15:10:49 +08:00
Dunqing
b5b2ef34af
feat(transformer/typescript): improve function parameters name ( #2079 )
2024-01-19 13:50:10 +08:00
Dunqing
7711f7abaf
feat(transformer/typescript): support only_remove_type_imports option ( #2077 )
2024-01-18 23:25:31 +08:00
Dunqing
f5bf5dece1
feat(transformer/typescript): support transform exported TSModuleBlock ( #2076 )
2024-01-18 23:20:26 +08:00
Dunqing
56ca8b6dfe
feat(transformer/typescript): support transform namespace ( #2075 )
2024-01-18 23:15:28 +08:00
Yuji Sugiura
85c98525d7
feat(tasks): introduce tasks/lint_rules ( #2068 )
...
Part of #2020
2024-01-18 21:22:29 +08:00
Wenzhe Wang
32349af691
chore(tasks): remove redundant directory after exec ( #2069 )
2024-01-17 17:35:15 +08:00
Dunqing
b89e84cc2d
feat(transformer/typescript): keep imports if import specifiers is empty ( #2058 )
2024-01-17 16:14:31 +08:00
Dunqing
24ac957660
fix(semantic): incorrect reference flag ( #2057 )
2024-01-17 16:08:31 +08:00
Dunqing
3413bb3884
feat(transformer/typescript): remove type-related exports ( #2056 )
2024-01-17 16:04:30 +08:00
Dunqing
95d741abd6
feat(transformer/typescript): remove type only imports/exports correctly ( #2055 )
2024-01-17 15:58:04 +08:00
Boshen
ae4e714713
refactor(linter): remove the LintSettings parameter from LintContext::new. ( #2051 )
2024-01-16 17:17:46 +08:00
Don Isaac
97b1984d74
build(linter): add new-react-perf rulegen task ( #2040 )
...
Adds a new linter rule generation task, `just new-react-perf-rule`, for
incorporating rules from
[eslint-plugin-react-perf](https://github.com/cvazac/eslint-plugin-react-perf )
into oxc.
Since this library has its own testing utilities and only 4 rules, I
didn't bother writing code to port over test cases. If we deem this
requisite I'll add this to the rulegen task.
2024-01-16 12:48:19 +08:00
Boshen
b0f4715df1
ci: disable codegen runtime tests for now
...
It seems to be unstable across node.js versions
2024-01-15 21:24:07 +08:00
Boshen
a69b76ab77
chore: update snapshots
2024-01-15 21:13:05 +08:00
Valerii Smirnov
c60c31521e
feat(linter): eslint-plugin-import no-named-as-default-member rule ( #1988 )
...
- Docs:
https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-named-as-default-member.md
- Code:
https://github.com/import-js/eslint-plugin-import/blob/main/src/rules/no-named-as-default-member.js
- Tests:
https://github.com/import-js/eslint-plugin-import/blob/main/tests/src/rules/no-named-as-default-member.js
2024-01-15 11:03:04 +00:00
dependabot[bot]
21909fa962
chore(deps): bump the dependencies group with 3 updates ( #2033 )
2024-01-15 15:31:32 +08:00
Dunqing
6c7f983de5
feat(transformer/typescript): remove export specifier that import_kind is type ( #2015 )
2024-01-13 21:25:59 +08:00
magic-akari
869643b03b
fix(prettier): Correctly format call expression arguments ( #2018 )
2024-01-13 21:25:26 +08:00
Dunqing
ead4e8df1f
feat(transformer/typescript): remove import if only have type reference ( #2001 )
2024-01-13 08:52:14 +00:00
Boshen
b386177af2
refactor(linter): move away from tuples for test cases ( #2011 )
...
closes #1956
2024-01-13 16:23:16 +08:00
Boshen
39f026f3e2
chore(benchmark): remove custom allocators because they are flaky ( #2004 )
2024-01-12 16:05:47 +08:00
Dunqing
0a086860da
feat(ast): visit TSModuleReference ( #1998 )
...
### Failed cases:
* 7c29fbc4db/packages/babel-plugin-transform-typescript/test/fixtures/imports/elision-qualifiedname/input.ts
* 7c29fbc4db/packages/babel-plugin-transform-typescript/test/fixtures/imports/elide-react/input.ts
We need to distinguish whether a reference is a type or a js variable
2024-01-11 23:29:29 +08:00
Dunqing
afb2c501f5
feat(transformer): support for transform TSImportEqualsDeclaration ( #1994 )
2024-01-11 23:24:28 +08:00