magic-akari
1e33dbab24
feat(es/modules): Support node interop ( #5069 )
2022-07-01 03:28:03 +00:00
magic-akari
ef543b1b22
fix(es/modules): Handle this
in class methods ( #5065 )
2022-06-29 11:27:06 +00:00
magic-akari
e13364f976
fix(es/modules): Handle module references in binding idents ( #5055 )
2022-06-28 10:47:46 +00:00
magic-akari
2cc229e6fb
feat(es/modules): Optimize a dynamic import with a literal path ( #5049 )
2022-06-28 06:31:24 +00:00
magic-akari
fa68cbd74a
refactor(es/module): Implement new module transformer ( #4758 )
2022-06-27 12:32:06 +00:00
magic-akari
d736b31e08
fix(es/typescript): Preserve export =
for AMD ( #4995 )
2022-06-18 09:31:08 +00:00
LongYinan
db9f7a5ad4
chore(ci): Fix publish build on Windows ( #4970 )
2022-06-14 15:58:10 +00:00
Donny/강동윤
4a27e6f84a
fix(es/helpers): Allow using external helpers with type: module
( #4962 )
2022-06-13 18:41:35 +00:00
Donny/강동윤
36a82ccfc9
feat(es/modules/amd): Convert ts import equals to normal AMD import ( #4906 )
2022-06-08 07:21:17 +00:00
Donny/강동윤
10f6849f7a
fix(es/modules/amd): Support export * as foo from 'foo'
( #4904 )
2022-06-08 03:30:54 +00:00
Donny/강동윤
f4c6a20654
fix(es/modules): Fix lazy option of common js ( #4807 )
2022-05-26 13:06:43 +00:00
OJ Kwon
2b03047cb0
fix(es/modules): Fix local scoped amd require ( #4800 )
2022-05-25 18:08:49 +00:00
Donny/강동윤
75bb8586cc
fix(es/modules): Adjust absolute path while rewriting imports ( #4776 )
2022-05-24 20:00:26 +09:00
Donny/강동윤
b8d2fb8546
feat(es/helpers): Import only used helpers ( #4767 )
2022-05-24 04:09:59 +00:00
Donny/강동윤
417b2182ce
fix(es/loader): Fix jsc.paths
on windows ( #4739 )
2022-05-22 20:12:22 +00:00
Donny/강동윤
d9bb59a8cb
fix(es/modules/cjs): FIx detection of exported names ( #4737 )
2022-05-21 19:55:35 +00:00
OJ Kwon
886585b90e
feat(es/modules/amd): Support local-scoped amd requires ( #4727 )
2022-05-21 18:32:34 +00:00
brightwu
7ce572b497
fix(es/modules): Fix reassignment of exported vars ( #4688 )
2022-05-17 11:06:03 +00:00
Daniel Grant
49c40afb7e
fix(es/modules): Fix handling of import.meta.url
( #4670 )
2022-05-15 16:44:02 +00:00
Donny/강동윤
20692cdff1
fix(es/modules): Fix jsc.paths
( #4620 )
2022-05-12 04:14:51 +00:00
Donny/강동윤
6a97c7bef8
fix(es/utils): Fix wrong apis ( #4604 )
...
# API Changes
## `swc_ecma_utils`
### Renames
- `find_ids` => `find_pat_ids`
- `prepend` => `prepend_stmt`
- `as_bool` => `cast_to_bool`
- `as_number` => `as_pure_number`
- `as_string` => `cast_to_string`
- (`as_pure_bool`, `cast_to_number` is not renamed)
- `UsageFinder` => `IdentUsageFinder`.
- `IdentFinder` => `IdentRefFinder`.
## Changes
- Re-export of `HANDLER` from `swc_common::errors` is removed. Use `swc_common::error::HANDLER` instead.
- Re-export of `Id` from `swc_ecma_ast` is removed. Use `swc_ecma_ast::Id` instead.
- `ExprCtx` is used for apis related to `Expr`.
- `preserve_effects` is now a method of `ExprCtx`. It was a top-level function.
- `extract_side_effects_to` is now a method of `ExprCtx`. It was a top-level function.
- `IdentUsageFinder` (previously `UsageFinder`) now takes `Id` instead of `Ident`.
- `IdentRefFinder` (previously `IdentFinder`) now takes `Id` instead of `Ident`.
- `ExprExt::is_ident_ref_to` is removed.
- `Expr::is_global_ref_to` is added.
- `:🆔 :id` is removed. Use `Ident::to_id()` instead.
2022-05-11 04:36:22 +00:00
Donny/강동윤
2c861bd9e5
feat(es/ast): Improve Id
APIs ( #4614 )
...
# API Changes
- `Ident` now has `to_id()`. This method is added to allow removing an import.
2022-05-11 12:02:14 +09:00
RiESAEX
086840956d
fix(es): Use unresolved_mark
( #4573 )
2022-05-08 09:19:26 +00:00
Donny/강동윤
f3b262e340
fix(es/modules): Preserve extensions ( #4524 )
2022-05-04 15:07:28 +00:00
Donny/강동윤
53610fdafc
feat(es/resolver): Use different syntax context for unresolved refs ( #4436 )
...
- We don't need a list of bindings to check if an identifier is unresolved.
- Checking if an identifier is unresolved is now one CPU instruction.
- Previously it was one hashmap operation.
- This PR also improves performance, by removing the hashmaps mentioned above.
2022-04-26 07:38:50 +00:00
Donny/강동윤
5c1ce0ba05
fix(es/modules/cjs): Fix order of statements ( #4361 )
2022-04-18 10:57:55 +00:00
那里好脏不可以
37a8c90750
chore(*): Typo + fomatting ( #4304 )
2022-04-11 18:45:58 +00:00
Austaras
720244fff9
fix(es/module): Support top-level await in dynamic imports ( #4277 )
2022-04-08 15:28:10 +09:00
RiESAEX
ea0de90137
fix(es/codegen): Emit sourcemap of key-value properties correctly ( #4166 )
2022-03-27 14:26:53 +09:00
Alexander Akait
634d732803
feat(es/ast): Add raw
to Str
( #4071 )
2022-03-22 07:54:08 +00:00
meskill
6ac7934017
fix(es/module/cjs): Fix conflict of a local export and exports-alls ( #4089 )
2022-03-19 09:56:14 +00:00
Donny/강동윤
d0f687bf44
feat(es/module/cjs): Support import.meta.url
( #4087 )
2022-03-19 07:05:11 +00:00
Donny/강동윤
22d005e224
fix(es/modules): Fix sourcemap, really ( #4074 )
2022-03-18 08:26:58 +00:00
Donny/강동윤
9458f08092
feat(es/modules): Support namespaced reexports ( #4073 )
2022-03-18 03:03:02 +00:00
Donny/강동윤
834cd4f7b6
fix(es/modules): Use correct span for ExportAll
s ( #4038 )
2022-03-16 17:10:47 +09:00
magic-akari
dc457b4883
fix(es/module): Use correct return values for suffix update expressions ( #3927 )
2022-03-09 23:14:06 +09:00
magic-akari
8559fc9623
fix(es/module): Fix exported vars with bigint values ( #3909 )
2022-03-09 06:30:28 +00:00
magic-akari
534fc52a72
fix(es/module): Make exported vars follow specification ( #3906 )
2022-03-08 09:23:40 +00:00
Guillaume Malette
f575b1bc48
fix(es/module/cjs): Allow re-exports to be lazy ( #3856 )
2022-03-07 20:39:45 +00:00
Donny/강동윤
8e30d83d14
fix(es/module): Revert fix for jest.spyOn
2022-03-07 18:21:14 +09:00
Donny/강동윤
a65755fd9a
fix(es/module): Fix jsc.paths
( #3879 )
2022-03-06 12:33:48 +00:00
Donny/강동윤
6a005fc15a
fix(es/module): Visit the value of class properties ( #3877 )
2022-03-06 14:03:08 +09:00
Guillaume Malette
1f70fa6e08
feat(es/module/cjs): Support regex-based patterns for lazy config ( #3704 )
2022-03-05 07:56:18 +00:00
Donny/강동윤
9546eefe72
fix(es/module): Fix jest.spyOn
( #3845 )
2022-03-04 07:04:56 +00:00
underfin
557a520a6d
feat(es/modules): Support system js ( #3659 )
2022-03-01 05:18:55 +00:00
magic-akari
ad0a8539e0
feat(es/module): Workaround stack overflow bug of JavaScriptCore related to too many exports ( #3763 )
2022-02-27 09:59:40 +00:00
Donny/강동윤
47ccff8a7c
feat(es/parser): Provide more api for reducing binary size ( #3747 )
2022-02-26 09:29:05 +09:00
Donny/강동윤
1094018153
perf(es/modules): Reduce usage of generics ( #3743 )
2022-02-25 19:46:46 +00:00
Donny/강동윤
fd223793e8
refactor(es/transforms): Use recommended ast apis ( #3735 )
2022-02-25 06:50:19 +00:00
Donny/강동윤
135acf3b42
refactor(es): Improve ast apis ( #3690 )
2022-02-23 05:37:07 +00:00
Donny/강동윤
9b76783281
refactor(common): Cleanup & rustfmt ( #3495 )
...
swc_common:
- Merge identical source codes.
swc_css_parser:
- Deny `clippy::all`.
- Fix lints.
2022-02-09 06:33:32 +00:00
magic-akari
fa0216d908
fix(es/modules): Hoist named exports ( #3479 )
2022-02-09 04:50:33 +00:00
RiESAEX
ff6eb272a0
fix(es/modules): Use correct StrKind
after rewriting import path ( #3489 )
2022-02-09 12:01:22 +09:00
RiESAEX
745604b26d
fix(es/modules): Allow using a dynamic import with an expression from another import ( #3450 )
2022-02-05 14:49:13 +09:00
Donny/강동윤
2c99ca1bab
fix(es/modules): Fix span of imports ( #3418 )
...
swc_ecma_transforms_module:
- `common_js`: Use original span with the syntax conext of an import specifier.
2022-02-01 22:37:42 +09:00
RiESAEX
1dcc188dd8
fix(es/modules): Allow using dynamic import with a name from another import ( #3390 )
2022-01-28 06:36:20 +00:00
padorang684
b2bf38d025
fix(es/module): Remove .jsx
file extension ( #3334 )
2022-01-21 14:10:33 +00:00
Donny/강동윤
9dd0647e3a
feat(es/ast): Improve AST api for plugin authors ( #3281 )
...
swc_ecma_ast:
- Improve API for AST creation.
2022-01-16 16:56:41 +09:00
Donny/강동윤
357a350390
refactor(*): Cleanup ( #3274 )
2022-01-15 16:43:34 +09:00
Donny/강동윤
2690742db0
refactor(es/transforms): Cleanup ( #3273 )
2022-01-15 15:36:40 +09:00
Donny/강동윤
978de5943e
chore(ci): Configure clippy
( #3250 )
2022-01-13 23:06:11 +09:00
Guillaume Malette
9565149539
fix(es/modules): Fix lazy import handling ( #3211 )
...
swc_ecma_transforms_module:
- `common_js`: Correctly track lazy imports. (Closes #3081 )
2022-01-11 07:13:12 +00:00
Austaras
f58b50bea7
refactor(es/ast): Change types of member-like expressions ( #3178 )
...
swc_ecma_ast:
- Split `MemberExpr` into `MemberExpr` and `SuperPropExpr`.
- Use `Box<Expr>` for `MemberExpr.obj`.
- Use ad-hoc type for `MemberExpr.prop`.
- Use ad-hoc type for `SuperPropExpr.prop`.
- Use `Callee` instead of `ExprOrSpread` for `CallExpr`.
- Simplify types for meta property expressions.
2022-01-10 13:54:42 +00:00
Sosuke Suzuki
07c0489575
feat(es/ast): Add ModuleExportName
( #3048 )
...
swc_ecma_ast:
- Allow using string as import/export specifiers.
2022-01-03 08:44:11 +00:00
Donny/강동윤
333acb5622
doc(es/ast): Improve rustdoc ( #3142 )
...
swc_ecma_ast:
- Document `Str.kind`.
- Document `TpleElement.cooked`.
2021-12-29 16:01:15 +09:00
Austaras
38955c0c8d
refactor(es/ast): Change type or the key
of ClassProp
to PropName
( #3038 )
2021-12-15 16:21:30 +09:00
Donny/강동윤
e48263b2f3
refactor(visit): Remove &dyn Node
from Visit
( #2984 )
...
swc_visit_macros:
- Remove `&dyn Node` from `Visit`.
- Implement `VisitWith<V>` for `[T]`.
2021-12-07 14:34:16 +09:00
Jeremy Grieshop
6f05c101f1
fix(es/transforms/module): Fix overriding of export *
( #2883 )
...
swc_ecma_transforms_module:
- Emit correct value for `_exportNames`. (Closes #2101 )
2021-11-28 09:08:02 +00:00
OJ Kwon
43e89fd0c8
fix(es/transforms/module): Fix detection of helpers to inject ( #2868 )
2021-11-26 15:00:44 +00:00
Donny/강동윤
1d028fe940
fix(es): Fix paths
support ( #2712 )
...
swc_ecma_loader:
- `TsConfigResolver`: Use `baseUrl` on exact match while resolving. (Closes #2126 )
swc_ecma_transforms_module:
- Add `import_rewriter`.
- `NodeImportResolver`: Don't strip extension if it's a directory. (Closes #2269 )
- `NodeImportResolver`: Don't strip extension if it's not `.ts`, `.js` nor `.tsx`.
swc:
- Use `import_rewriter`. (Closes #1943 , Closes #2523 )
- Update test (Closes #2715 )
2021-11-11 16:57:31 +09:00
Donny/강동윤
2b2f6955f2
refactor: Flatten ecmascript
( #2708 )
2021-11-10 19:00:54 +09:00