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
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
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
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
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
a69b76ab77
chore: update snapshots
2024-01-15 21:13:05 +08:00
Dunqing
6c7f983de5
feat(transformer/typescript): remove export specifier that import_kind is type ( #2015 )
2024-01-13 21:25:59 +08:00
Dunqing
ead4e8df1f
feat(transformer/typescript): remove import if only have type reference ( #2001 )
2024-01-13 08:52:14 +00: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
underfin
78b427bc50
feat(transform): support es2015 new target ( #1967 )
...
Here implementing the es2015 new target transform, see detail at
https://babel.dev/docs/babel-plugin-transform-template-new-target .
Here has three kinds need to be distinguished.
- `NewTargetKind::Method`, it from `AstKind::ObjectMethod` or
`AstKind::MethodDefinitionKind::Get/Set/Method`. It will be transformed
to `void 0`.
- `NewTargetKind::Constructor`, is from `
AstKind::MethodDefinitionKind::Constructor`. It will be transformed to
`this.constructor`.
- `NewTargetKind::Function`, is from ` AstKind::Function`, here the
function is not the above function. It will be transformed to `this
instanceof _target ? this.constructor : void 0`, here `_target` comes
from the function name or is created by scope uid ident.
2024-01-10 23:59:56 +08:00
秦宇航
ae27a8d1e6
feat(transformer): add partial support for babel-plugin-transform-instanceof ( #1802 )
2023-12-25 15:06:41 +08:00
Boshen
cf91379d1b
ci: fix codecov not executing on conformance tests
2023-12-16 13:38:40 +08:00
Dunqing
32db5d29b3
feat(tasks/transformer): add function name plugin ( #1676 )
...
The plugin is added at https://github.com/oxc-project/oxc/pull/1510 .
2023-12-15 11:29:34 +08:00
Boshen
ddab18f5af
chore: update snapshots - upgrading bun fixes this???
2023-12-14 16:58:47 +08:00
Dunqing
f58b6279c8
feat(transformer): add arrow_functions plugin ( #1663 )
2023-12-13 20:46:28 +08:00
Ken-HH24
e331cc2677
feat(transformer): duplicate keys ( #1649 )
2023-12-10 18:07:32 +08:00
Miles Johnson
6cbc5dd75b
feat(transformer): Start on function_name transform. ( #1510 )
...
Co-authored-by: Boshen <boshenc@gmail.com>
2023-12-04 13:35:44 +08:00
IWANABETHATGUY
c034eee5c1
feat(transformer): handle invalid react jsx runtime ( #1502 )
2023-11-28 23:19:58 +08:00
Boshen
37a592cc33
chore: update transform conformance exec snapshot
2023-11-28 16:38:20 +08:00
Boshen
7fca9504d2
chore: update snapshots
2023-11-28 16:27:10 +08:00
magic-akari
92c1d9d527
feat(transform): TypeScript Enum ( #1173 )
2023-11-28 10:33:01 +08:00
IWANABETHATGUY
b6393f052f
feat(transformer/react): handle babel 8 breaking removed-options ( #1489 )
...
1. removed options react jsx
2. Passed 4 test cases.
2023-11-22 11:01:40 +08:00
IWANABETHATGUY
f66e4d8ac3
feat(transformer): add transform property-literal plugin ( #1458 )
...
1. Add `transform-property-literal-plugin`
2. Passing 2 testcases.
---------
Co-authored-by: Wenzhe Wang <mysteryven@gmail.com>
2023-11-21 23:07:43 +08:00
IWANABETHATGUY
4fb4a85ab1
chore(transformer): 🤖 add diff section when conformance failed in filter mode ( #1488 )
2023-11-21 21:47:58 +08:00
Boshen
1a576f60a8
refactor(rust): move to workspace lint table ( #1444 )
2023-11-20 14:38:10 +08:00
Boshen
9780621925
chore: run fmt
2023-11-16 13:36:42 +08:00
Boshen
73d6d40778
rust: do not compile libs and bins that do not have tests ( #1342 )
2023-11-16 13:35:24 +08:00
Dunqing
7f01d48df3
feat(transformer/react-jsx): set automatic to the default value for runtime ( #1270 )
...
Align babel8
2023-11-14 09:26:21 +08:00
Dunqing
472707c04e
feat(task/transformer-conformance): skip babel 8 unsupported test cases ( #1258 )
...
Prior to babel8, object merging would use `babelHelper.extend`, which
caused most tests to fail
2023-11-13 11:05:36 +08:00
Dunqing
1eef241788
feat(transformer/react-jsx): support for throwing SpreadChildrenAreNotSupported error ( #1234 )
2023-11-12 18:37:19 +08:00
Dunqing
39e608734f
feat(transformer/react-jsx): support for throwing ImportSourceCannotBeSet error ( #1224 )
2023-11-12 11:17:23 +08:00
Dunqing
b7e8feb7c1
feat(transformer/react-jsx): support throw valueless-key error ( #1221 )
2023-11-11 20:10:07 +08:00
Dunqing
a22ced78f1
feat(transformer/react-jsx): implement throwIfNamespace option ( #1220 )
2023-11-11 13:31:45 +08:00
Boshen
50d2d88a36
chore(transform_conformance): update snapshot
2023-11-11 10:57:09 +08:00
Dunqing
48242367bb
fix(transformer/react-jsx): missing import jsxs in nested fragment ( #1218 )
2023-11-11 02:45:42 +00:00
Dunqing
a0f40cb058
fix(transformer/react-jsx): missing default options when plugin without config ( #1219 )
2023-11-11 10:38:28 +08:00
Boshen
fdd8018c8e
chore(transform_conformance): update snapshot
2023-11-10 18:28:48 +08:00
Dunqing
d9b450414b
feat(transformer/react-jsx): when the source type is a script, use require to import the react ( #1207 )
2023-11-10 18:17:31 +08:00
Dunqing
3e15fa624b
fix(transformer/react-jsx): undetectable comments in multiline comments ( #1211 )
2023-11-10 08:20:55 +00:00
Dunqing
8c624abf9c
feat(transformer/react-jsx): throw the pragma and pragmaFrag cannot be set when runtime is automatic error ( #1196 )
...
close : #1194
Here's a rough implementation of my idea of throwing an error.
2023-11-10 12:50:54 +08:00
Dunqing
b65094b995
fix(transformer/react-jsx): no need to wrap the Array when there is only one correct child element ( #1205 )
2023-11-10 10:52:37 +08:00
Dunqing
ae71b36f9b
fix(tasks): avoid overriding existing babel options ( #1193 )
2023-11-08 17:04:59 +08:00
Dunqing
d8864c15b0
fix(tasks/transform_conformance): only the filtered test cases should be included when passing a filter ( #1197 )
2023-11-08 17:03:01 +08:00
Dunqing
7d85492a03
feat(transformer/react-jsx): support the sourceType is a script ( #1192 )
2023-11-08 15:15:00 +08:00
Dunqing
28c0b85646
feat(transformer/react-jsx): support @jsxFrag annotation ( #1189 )
2023-11-08 11:35:40 +08:00
Dunqing
633c469d2d
feat(transformer/react-jsx): support @jsx annotation ( #1182 )
2023-11-07 20:30:26 +08:00
Dunqing
3cb7c0b199
feat(transformer/react-jsx): support pragmaFrag option ( #1181 )
2023-11-07 10:34:15 +00:00
Dunqing
4ed0813f9b
feat(transformer/react-jsx): support pragma option ( #1180 )
2023-11-07 18:26:54 +08:00
Dunqing
bf23d87848
feat(transformer/react-jsx): support @jsxImportSource annotation ( #1179 )
2023-11-07 17:29:38 +08:00
Dunqing
f0e452a599
feat(transformer): support importSource option in react_jsx ( #1115 )
2023-11-07 16:42:08 +08:00
Boshen
38c90db0fe
ci: check unused dependencies via cargo machete ( #1143 )
2023-11-04 14:45:44 +00:00
Wenzhe Wang
f71cb9f1da
feat(transform): support TemplateLiteral of babel/plugin-transform-template-literals ( #1132 )
...
Co-authored-by: Boshen <boshenc@gmail.com>
2023-11-03 22:19:44 +08:00
Boshen
203cf37695
feat(transformer/react): read comment pragma @jsxRuntime classic / automatic ( #1133 )
...
closes #1120
2023-11-03 11:10:11 +08:00
Boshen
69150d812c
refactor(transformer): move Semantic into Transformer ( #1130 )
2023-11-02 13:10:15 +08:00
Wenzhe Wang
8105ee5872
feat(tasks): skip cases start with dot ( #1114 )
...
0effd92d88/packages/babel-helper-fixtures/src/index.ts (L223)
2023-10-30 23:34:43 +08:00
Boshen
262631da62
feat(transformer/react): implement fixup_whitespace_and_decode_entities ( #1091 )
2023-10-29 18:11:51 +08:00
Boshen
1051f15005
feat(transformer/jsx): escape xhtml in jsx attributes ( #1088 )
2023-10-29 15:16:50 +08:00
Boshen
1ad2dca45a
fix(transformer/react_jsx): add imports to the top body ( #1087 )
2023-10-29 15:05:52 +08:00
Boshen
e8a4e81298
feat(transformer): implement some of jsx decode entities ( #1086 )
2023-10-29 14:57:39 +08:00
Wenzhe Wang
094dfa5604
feat: support filter exec snap ( #1084 )
...
Co-authored-by: Boshen <boshenc@gmail.com>
2023-10-29 05:39:32 +00:00
Boshen
fe4a5ed535
fix(transformer): fix position of inserted react import statement ( #1082 )
2023-10-28 23:05:02 +08:00
Boshen
0856111bea
feat(transformer): implement more of react transform attributes ( #1081 )
2023-10-28 22:47:39 +08:00
Boshen
96332c85c6
feat(transformer): import jsxs when children is static ( #1080 )
2023-10-28 17:25:25 +08:00
Boshen
c7a04f42e7
refactor(transformer): remove returning None from transform functions ( #1079 )
2023-10-28 16:55:38 +08:00
Boshen
d411258be4
feat(transformer): finish transform jsx attribute value ( #1078 )
2023-10-28 16:46:33 +08:00
Boshen
5fb27fbe8a
feat(transformer): implement key extraction for react automatic ( #1077 )
2023-10-28 16:34:54 +08:00
Boshen
394ed358f6
feat(transformer): implement react get_attribute_name ( #1076 )
2023-10-28 16:25:03 +08:00
Boshen
f60fd65f65
feat(transfomer): implement react has_key_after_props_spread ( #1075 )
2023-10-28 16:17:11 +08:00
Boshen
d6ba8910ba
feat(transformer): add props null to React.createElement ( #1074 )
2023-10-28 15:59:46 +08:00
Boshen
e16e7e44e0
feat(transformer): implement react transform attributes ( #1071 )
2023-10-28 02:12:23 +00:00
Wenzhe Wang
b5bfc361fc
feat(transform): transform jsx element name ( #1070 )
2023-10-27 08:13:40 +08:00
Boshen
d8f1a7fce6
feat(transformer): start implementing react jsx transform ( #1057 )
2023-10-26 17:27:05 +08:00
magic-akari
1b64e48ee1
feat(transformer): strip implicit type import for typescript ( #1058 )
2023-10-26 11:07:30 +08:00
Wenzhe Wang
ae74e08141
chore(tasks): only use bun to run babel exec.js ( #1060 )
2023-10-25 22:33:20 +08:00
Wenzhe Wang
7192520d2b
feat(transformer_conformance): use bun to run babel exec.js test cases ( #1012 )
...
closes #999
Co-authored-by: Boshen <boshenc@gmail.com>
2023-10-25 03:06:07 +00:00
Boshen
af1a76bafa
feat(transformer): implement some of needs_explicit_esm for typescript ( #1047 )
...
Co-authored-by: magic-akari <akari.ccino@gmail.com>
2023-10-24 17:30:01 +08:00
Boshen
854b55a3e6
feat(codegen): json strings proposal ( #1039 )
2023-10-23 18:29:30 +08:00
Boshen
befc26a440
chore(transform_conformance): remove the duplicated test case
2023-10-23 17:22:27 +08:00
Boshen
d31a667e23
feat(transformer): drop this parameter from typescript functions ( #1019 )
2023-10-20 23:15:06 +08:00
Boshen
5e083b156c
refactor(transform_conformance): remove the Failed: prefix from snapshot
2023-10-20 16:49:04 +08:00
Boshen
4c4ccc6577
feat(transform_conformance): remove legacy decorator tests
2023-10-20 16:47:58 +08:00
Boshen
dfee8539f0
feat(transformer): add utils to make logical_assignment_operators pass ( #1017 )
2023-10-20 16:27:23 +08:00
Boshen
46a5c42c75
refactor(transformer): add TransformerCtx struct for easier access to symbols and scopes
2023-10-19 16:19:27 +08:00
Boshen
4b719026bf
feat(transform_conformance): handle non-existent output.js ( #1007 )
2023-10-17 20:44:35 +08:00
Boshen
052661d75e
refactor(transform_conformance): improve report format
2023-10-17 17:41:34 +08:00
Boshen
3605f7c0fc
fix(transform_conformance): fix for codecov
2023-10-17 15:34:50 +08:00
Boshen
1b3b100475
feat(transformer_conformance): read plugins options from babel options.json ( #1006 )
...
This PR correctly handles babel `options.json` such as
https://github.com/babel/babel/blob/main/packages/babel-plugin-transform-nullish-coalescing-operator/test/fixtures/assumption-noDocumentAll/options.json
2023-10-17 14:52:51 +08:00
Boshen
678db1d955
feat(transformer): ES2020 Nullish Coalescing Operator ( #1004 )
...
The test runner needs an update for reading options.jon, which I'll work
on in the up coming PR.
2023-10-16 21:45:58 +08:00
Boshen
c060621512
feat(transformer): add unit tests and test coverage ( #1001 )
2023-10-16 14:07:29 +08:00
Boshen
0f72066f2e
feat(transformer): finish 2016 exponentiation operator ( #996 )
2023-10-16 09:30:04 +08:00
Boshen
b9d0d57fa2
feat(transform_conformance): improve how snapshot is displayed
2023-10-13 13:44:45 +08:00
Boshen
e0ca09b1c9
feat(codegen): implement the basics of non-minifying codegen ( #987 )
2023-10-13 13:34:21 +08:00
Boshen
ce79bc12ab
feat(transform_conformance): move Formatter to codegen ( #986 )
2023-10-12 15:13:14 +08:00
Boshen
8c12dff8a3
perf: speed tasks run by using a global allocator
2023-10-11 20:30:30 +08:00
magic-akari
dc08c949a2
feat(transformer): RegexpFlags ( #977 )
...
Co-authored-by: Boshen <boshenc@gmail.com>
2023-10-11 07:15:19 -05:00
Boshen
822f4e1468
chore: remove tasks/transform_conformance/README.md
...
use issue instead https://github.com/web-infra-dev/oxc/issues/974
2023-10-10 21:01:34 +08:00
Wenzhe Wang
09df8e609a
feat(transform): sticky-regex ( #968 )
2023-10-09 19:12:14 +08:00
magic-akari
9ad2634091
feat(transformer): Class Static Block ( #962 )
2023-10-08 08:16:40 +08:00
magic-akari
21066a9ad7
feat(transformer): Shorthand Properties ( #960 )
2023-10-07 17:02:45 +08:00
Boshen
817f8c295e
ci: turn off doc tests because they are slow to compile and run ( #961 )
2023-10-07 17:01:23 +08:00
Boshen
b46f34e096
chore: bump submodules and snapshots
2023-10-06 16:15:35 +13:00
Cameron
5b1e1e5408
feat(parser): TypeScript 5.2 ( #811 )
...
- adds support for [Using
Declarations](https://devblogs.microsoft.com/typescript/announcing-typescript-5-2/#using-declarations-and-explicit-resource-management )
Closes #786
2023-10-05 12:52:14 +13:00
Boshen
8553817bc9
chore(transform_conformance): update test cases and README regarding regex
2023-09-18 17:49:36 +08:00
Boshen
5973e5aede
feat(transformer): setup typescript and react transformers ( #930 )
2023-09-18 16:56:41 +08:00
Boshen
46d2623c1f
feat(transform_conformance): add jsx and ts tests
2023-09-18 15:35:02 +08:00
Boshen
4e036630ed
feat(transform_conformance): add all babel tests
2023-09-17 09:56:13 +08:00
Boshen
5863f8ffdb
feat(transformer): logical assignment operators ( #923 )
2023-09-16 23:54:53 +08:00
Boshen
1bb649243a
feat(transformer_conformance): group tests in the snapshot ( #922 )
2023-09-16 21:29:21 +08:00
Boshen
7172953fe9
feat(transformer_conformance): snapshot passed and failed tests ( #921 )
2023-09-16 20:58:31 +08:00
Boshen
8f59eb0960
chore(transformer): add feature list to README
2023-09-16 18:51:00 +08:00
Boshen
f4cea34534
feat(transformer): add babel conformance test suite ( #920 )
2023-09-16 18:50:51 +08:00