Boshen
7cf0927a38
feat(transform_conformance): skip tests with plugin.js ( #2977 )
2024-04-14 21:45:27 +08:00
Boshen
c211f1e57f
feat(transformer): add diagnostics to react transform ( #2974 )
2024-04-14 21:42:32 +08:00
Boshen
ef602af4cc
feat(transform_conformance): skip plugins we don't support yet ( #2967 )
2024-04-14 21:32:03 +08:00
Boshen
c7e70c80f0
fix(transformer): deserialize ReactJsxRuntime with camelCase ( #2972 )
2024-04-14 19:40:24 +08:00
Boshen
3a6eae1abd
feat(transformer): apply jsx self and source plugin inside jsx transform ( #2966 )
2024-04-14 19:10:59 +08:00
Boshen
10814d5331
fix(transformer): turn on react preset by default ( #2968 )
2024-04-14 19:04:59 +08:00
Boshen
d57526103c
feat(coverage): add transformer to prevent crashes ( #2970 )
2024-04-14 18:52:51 +08:00
Boshen
35e3b0f1cb
fix(transformer): fix incorrect jsx whitespace text handling ( #2969 )
2024-04-14 18:40:40 +08:00
Boshen
bd9fc6d169
feat(transformer): react jsx transform ( #2961 )
2024-04-14 10:50:17 +08:00
Boshen
6561392202
feat(transform_conformance): add baseline for all TypeScript and jsx plugins
2024-04-13 19:05:39 +08:00
Miles Johnson
e67355045e
feat(transformer): start on TypeScript annotation removal ( #2951 )
2024-04-13 18:49:54 +08:00
Boshen
f366d9bd7c
chore(minsize): remove brotlic because it takes too long to compile ( #2954 )
2024-04-13 13:24:25 +08:00
Boshen
e651e50bda
feat(transformer): add the most basic plugin toggles ( #2950 )
2024-04-12 20:25:34 +08:00
Boshen
60ccbb105c
refactor(transformer): clean up some code ( #2949 )
2024-04-12 20:23:44 +08:00
Boshen
14754777a4
feat(transformer): implement react-jsx-source ( #2948 )
2024-04-12 20:21:54 +08:00
branchseer
f159f60084
Make ast types covariant over the allocator lifetime. ( #2943 )
...
## Why
Due to the usage of `&'alloc mut T` in `oxc_allocator::Box`, and
`bumpalo::collections::Vec` in `oxc_allocator::Vec`, ast types are
currently invariant over their allocator lifetime `'a`. This prevents
`ouroboros` from generating `borrow_*` on ast type fields, leading to
the unfriendly `with_*` api:
c250b288ef/crates/oxc_parser/examples/multi-thread.rs (L82-L84)
## How
- For `oxc_allocator::Vec`, switch to `allocator_api2::vec::Vec`, which
has a covariant relationship with the allocator lifetime.
- For `oxc_allocator::Box`, use `std::ptr::NonNull` which is
specifically designed to be covariant. I don't use
`allocator_api2::boxed::Box` because it holds the allocator for
dropping, so the size is bigger.
## Downside
Now that `oxc_allocator::Box` uses the unsafe `NonNull`. It has to be a
private field to be safe. This make it impossible to do `Box(....)`
pattern matching.
2024-04-12 18:12:18 +08:00
Boshen
f903a225a8
feat(transformer): implement react-jsx-self ( #2946 )
2024-04-12 18:08:36 +08:00
Yuji Sugiura
ba2121f17d
feat(linter): Add --jsdoc-plugin flag ( #2935 )
...
Add flag to:
```sh
$ oxlint --jsdoc-plugin
```

2024-04-12 10:39:12 +08:00
Boshen
0c04bf743f
feat(transformer): transform TypeScript namespace ( #2942 )
2024-04-12 10:19:13 +08:00
Boshen
f3a28c61b9
chore(transform_conformance): enable typescript plugin snapshot
2024-04-11 20:06:53 +08:00
Boshen
3419306ac0
feat(transformer): add filename ( #2941 )
2024-04-11 18:43:51 +08:00
Boshen
02adc76760
feat(transformer): implement plugin-transform-react-display-name top-down ( #2937 )
...
Missing case:
https://github.com/babel/babel/blob/main/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/nested/input.js
```js
var foo = qux(createReactClass({}));
var bar = qux(React.createClass({}));
```
This requires recursing down.
Top-down implementation in swc:
67ec5e09b9/crates/swc_ecma_transforms_react/src/display_name/mod.rs (L108-L132)
Or bottom-up in babel:
08b0472069/packages/babel-plugin-transform-react-display-name/src/index.ts (L87-L98)
2024-04-11 15:32:32 +08:00
Boshen
88270fe605
chore(benchmark): use a larger file for sourcemap benchmark
2024-04-11 15:11:26 +08:00
Boshen
07bd85e25d
chore(transform_conformance): clear the conformance snapshot
2024-04-11 14:09:59 +08:00
Boshen
d65eab3b8b
feat(transformer): add react preset ( #2921 )
2024-04-09 12:39:33 +08:00
Yuji Sugiura
a0fe504869
fix(tasks/lint_rules): Fix plugin-jest rules collector ( #2915 )
...
Fixes umbrella issue for
[`plugin-jest`](https://github.com/oxc-project/oxc/issues/492 ) to render
recommended rules section properly.
- - -
Along with sticking legacy ESLint.
Since `eslint@latest` is now v9 and it removed `Linter#defineRule()` and
`Linter#getRules()` which we use heavily...
2024-04-08 10:22:56 +08:00
Wang Wenzhe
65f38dc0db
fix(tasks/rulegen): read quasi in TaggedTemplateExpression ( #2903 )
2024-04-07 10:41:14 +08:00
underfin
28fae2e80a
fix(sourcemap): using serde_json::to_string to quote sourcemap string ( #2889 )
2024-04-03 12:14:45 +08:00
underfin
64c4b825f1
chore: improve sourcemap visualizer ( #2886 )
...
The pr intend to improve `SourcemapVisualizer` log mapping.
- add the mapping for last token to final position of source
- fix token mapping
2024-04-03 10:45:00 +08:00
Boshen
d63127d009
chore: only build the allocators in release mode because they are slow to build (60s)
2024-04-02 17:39:01 +08:00
Boshen
a0532adc65
chore: bump criterion2, which removes clap and 10s compile time
2024-04-02 16:48:40 +08:00
renovate[bot]
619fc61e95
chore(deps): update dependency express to v4.19.2 ( #2879 )
...
[](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [express](http://expressjs.com/ )
([source](https://togithub.com/expressjs/express )) | [`4.19.1` ->
`4.19.2`](https://renovatebot.com/diffs/npm/express/4.19.1/4.19.2 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>expressjs/express (express)</summary>
###
[`v4.19.2`](https://togithub.com/expressjs/express/blob/HEAD/History.md#4192--2024-03-25 )
[Compare
Source](https://togithub.com/expressjs/express/compare/4.19.1...4.19.2 )
\==========
- Improved fix for open redirect allow list bypass
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 8am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View
repository job log
[here](https://developer.mend.io/github/oxc-project/oxc ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-01 00:27:55 +08:00
Boshen
3ca6721783
ci: always run cargo shear
2024-03-31 16:06:22 +08:00
Boshen
7710d8caf1
feat(transformer): add compiler assumptions ( #2872 )
...
closes #2869
2024-03-31 02:04:21 +00:00
Boshen
7034bcc47d
feat(transformer): add proposal-decorators ( #2868 )
2024-03-30 21:07:36 +08:00
Boshen
ffadcb08d9
feat(transformer): add react plugins ( #2867 )
2024-03-30 20:56:10 +08:00
Boshen
293b9f482a
feat(transformer): add transform-typescript boilerplate ( #2866 )
2024-03-30 20:48:35 +08:00
Boshen
c1a2958a5a
chore: remove oxc_transformer for a reimplementation ( #2865 )
...
closes #2860
2024-03-30 17:19:46 +08:00
underfin
b199cb89a2
feat: add oxc sourcemap crate ( #2825 )
...
The sourcemap implement port from
[rust-sourcemap](https://github.com/getsentry/rust-sourcemap ), but has
some different with it.
- Encode sourcemap at parallel, including quote `sourceContent` and
encode token to `vlq` mappings.
- Avoid `Sourcemap` some methods overhead, like `SourceMap::tokens()`
caused extra overhead at common cases. Here using `SourceViewToken` to
instead of it.
2024-03-28 19:36:38 +08:00
Dunqing
ec05a41525
chore: update transformer snapshots ( #2838 )
2024-03-27 15:02:09 +08:00
Dunqing
d67100730b
feat(tasks/transforme_conformance): support for testing oxc's test cases ( #2835 )
...
Related to:
https://github.com/oxc-project/oxc/pull/2822#issuecomment-2021802212
Although `babel` has a lot of test cases, we still need to add edge
cases that `babel` doesn't have.
This PR will allow us to add out test cases to
`/root/oxc/tasks/transform_conformance/tests`. The directory structure
is consistent with `babel`
For example
```shell
# cd /root/oxc/tasks/transform_conformance/tests
- babel-transform-plugin–optional-catch-binding
- test
- fixtures
- your tests # add test cases here
```
2024-03-27 14:14:15 +08:00
Boshen
95fc28168c
chore: apply cargo autoinherit ( #2826 )
...
See https://github.com/mainmatter/cargo-autoinherit
2024-03-26 23:57:50 +08:00
Wang Wenzhe
3897cf4118
chore(eslint/tree-shaking): add NoEffect explicitly ( #2823 )
2024-03-26 21:32:29 +08:00
Ali Rezvani
243131d7a4
feat(transformer): numeric separator plugin. ( #2795 )
...
[es2021 numeric
separator](https://babeljs.io/docs/babel-plugin-transform-numeric-separator )
2024-03-26 18:15:12 +08:00
Ali Rezvani
56493bd02b
feat(transformer): add transform literal for numeric literals. ( #2797 )
...
[es2015 transform
literals](https://babeljs.io/docs/babel-plugin-transform-literals )
---------
Co-authored-by: Dunqing <dengqing0821@gmail.com>
2024-03-26 16:27:32 +08:00
Dunqing
220f722f19
chore: update snapshots ( #2817 )
...
Babel repo is updated in #2813 and #2814
2024-03-26 11:53:26 +08:00
Boshen
e32a3b3783
ci: use cargo-shear ( #2810 )
2024-03-26 00:43:10 +08:00
Dunqing
68e011c479
fix(tasks/transform-conformance) when the output file does not exist, the output content should be empty ( #2808 )
...
https://github.com/oxc-project/oxc/pull/2795#issuecomment-2018018675
2024-03-25 23:28:00 +08:00
renovate[bot]
3d761f17c2
chore(deps): lock file maintenance rust crates ( #2804 )
2024-03-25 17:24:30 +08:00
renovate[bot]
890144f464
chore(deps): update dependency express to v4.19.1 ( #2800 )
2024-03-24 20:51:37 +00:00