강동윤
33a43f85b1
feat(es/minifier): Implement more rules ( #1766 )
...
swc_ecma_minifier:
- Implement more rules.
swc_ecma_transforms_base:
- `resolver`: Fix syntax context of catch block.
swc_ecma_transforms_optimization:
- `expr_simplifier`: Fix a bug related to `this` of call expressions.
- `dead_branch_remover`: Don't reduce switch cases if test is now known.
- `dead_branch_remover`: Don't break `&&`.
2021-06-29 16:11:22 +09:00
Iron Lu
f8a3df8cc3
fix(es/transforms/module): Fix for duplicate export ( #1846 )
2021-06-29 15:12:18 +09:00
강동윤
c49e9b0b8d
feat(babel/compat): Implement reverse operation of babelify ( #1655 )
...
swc_babel_compat:
- Move `babelify` to a submodule.
- Add `swcify`.
2021-06-27 15:30:40 +00:00
강동윤
eaaf32d806
feat(es/loader): Add more logics to tsconfig.paths handler ( #1860 )
2021-06-27 07:19:05 +00:00
Vladimir Guguiev
7488950f90
fix(es/parser): Fix span of ExportDefaultDeclaration ( #1818 )
2021-06-27 11:02:45 +09:00
강동윤
33f2ab2d79
fix(es/transforms): Fix transforms ( #1861 )
...
swc_ecma_transforms_compat:
- Organize logical assignment pass correctly.
swc_ecma_transforms_optimization:
- `dead_branch_remover`: Handle nullish coalescing operator correctly. (#1851 )
2021-06-26 16:02:15 +09:00
Moti Zilberman
5345c90989
fix(es/transforms/base): Fix fixer for the call in callee position ( #1857 )
2021-06-26 13:12:26 +09:00
강동윤
098e48b8f3
fix(es/codegen): Preserve more comments ( #1856 )
...
swc_ecma_codgen:
- Print more comments. (#1165 )
2021-06-26 02:07:11 +09:00
강동윤
737ce63b78
chore(es/ast): Bump version ( #1853 )
2021-06-25 08:19:15 +00:00
Maxime Guerreiro
c5f1c6b8ba
chore(es/ast): Upgrade arbitrary crate to v1 ( #1844 )
...
swc_ecma_ast:
- Upgrade arbitrary crate.
2021-06-25 14:40:51 +09:00
강동윤
ff440d47a4
chore: Organize project ( #1849 )
2021-06-24 17:01:21 +09:00
강동윤
4cd43375a5
feat(swc): Add import resolvers ( #1834 )
...
swc_ecma_loader:
- Add `Resolve`.
- Add `TsConfigResolver`.
swc_ecma_transforms_module:
- Use `Resolve` for remapping import paths.
- Add `ImportResolver`.
- Add `NodeImprortResolver`.
swc:
- Add `paths` to `.swcrc`.
- Use `paths`. (#379 , #702 )
- Canonicalize file names.
2021-06-24 06:32:09 +00:00
Andrew Bradley
a31ca40dbb
fix(es/transforms/module): Share usage data between passes ( #1829 )
...
swc_ecma_transforms_module:
- Share scope data between import analyzer and module passes.
2021-06-24 13:37:30 +09:00
강동윤
f4249574da
feat(ci): Track binary size and performance ( #1840 )
2021-06-23 10:50:27 +00:00
강동윤
6ad3f7b90e
feat(es/visit): Groundwork to use VisitMut instead of Fold ( #1842 )
...
swc_ecma_transforms:
- Expose `VisitMut` if possible.
swc_ecma_visit:
- Implement `VisitMut` for` Folder<V>`.
- Implement `VisitMut` for `AndThen<A, B>`.
2021-06-23 04:18:41 +00:00
강동윤
6c492796d0
fix(es/parser): Fix parsing of abstract class over multiple lines ( #1837 )
...
swc_ecma_parser:
- Don't allow `abstract` and `class` to be on different lines.
2021-06-20 14:17:40 +00:00
Austaras
11f75dfdcd
fix(es/utils): Fix detection of used variables ( #1835 )
2021-06-20 14:33:19 +09:00
강동윤
5a6c4fd5a0
fix(swc): Fix sourcemap ( #1832 )
...
swc_common:
- `SourceMap`: Don't panic for dummy spans.
swc_ecma_codegen:
- Use span for `throw`. (#1685 )
- Use span for `var` / `let` / `const`.
- Use span for `new`.
- Use span for `if`.
- Add spans to braces of a block statement. (#1796 )
swc_ecma_transforms_compat:
- `parameters`: Don't drop the span of block statements. (#1796 )
swc:
- Allow specifying input source map in `.swcrc`.
- Ensure that the inline source map works properly. (#1713 )
2021-06-18 11:34:17 +00:00
Andrew Bradley
9ae8c47d9b
fix(es/transforms/module): Allow importing same module with multiple names ( #1830 )
2021-06-18 12:25:05 +09:00
강동윤
f9bdc7b227
fix(es/parser): Fix panic on debug mode ( #1828 )
...
swc_ecma_parser:
- Handle undefined unicode code point gracefully. (#1813 )
2021-06-16 15:55:20 +09:00
강동윤
b5a7a3f577
fix(es/transforms/optimization): Fix dead_branch_remover ( #1827 )
...
swc_ecma_transforms_optimization:
- Preserve side effects of a while statement even if it's a infinite loop. (#1825 )
2021-06-16 14:30:33 +09:00
강동윤
4c8d68bfe2
fix(es): Improve handling of typescript ( #1824 )
...
swc_ecma_codegen:
- Implement more code generator for typescript ast nodes.
swc_ecma_transforms_base:
- Mark LHS of typescript import equals as a variable instead of a type.
2021-06-15 01:13:06 +09:00
muji
8d8b2d10d4
fix(es/parser): Fix parsing of line terminators ( #1755 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-06-15 00:39:03 +09:00
강동윤
7fa4e1bea5
fix(es): Fix bugs for the type checker ( #1823 )
...
swc_ecma_codegen:
- Fix codegen of constructor signatures.
swc_ecma_parser:
- Fix lexing of long numeric literals.
2021-06-13 12:24:30 +09:00
강동윤
001af8637d
fix(es/parser): Fix lexing of numbers ( #1821 )
...
swc_ecma_parser:
- Fix lexing of long numeric literals.
2021-06-12 08:47:13 +00:00
강동윤
d3944f5203
fix(swc): Fix bugs ( #1820 )
...
swc_ecma_preset_env:
- [x] Rename directory to be consistant.
- [x] Add es2020::operators. (#1812 )
swc_ecma_transforms_react:
- [x] Don't escpae unicodes. (#1782 )
2021-06-12 15:39:39 +09:00
강동윤
3c3fb359ee
fix(es): Remove UB ( #1815 )
...
swc_ecma_parser:
- Remove UB.
swc_ecma_codegen:
- Remove codes related to the UB of the parser. (#1782 )
2021-06-12 05:17:09 +00:00
강동윤
97ef7c0553
fix(swc): Fix bugs ( #1811 )
...
swc_ecma_ast:
- Add `es2021`.
swc_ecma_transforms_compat:
- Handle `||=`. (#1788 )
2021-06-11 16:55:34 +09:00
LongYinan
c6ce8c60b7
build(node-swc): Support lower version glibc linux on non-x64 arch ( #1809 )
2021-06-09 23:05:27 +09:00
강동윤
c56115793c
fix(es/parser): Fix parser ( #1808 )
...
swc_ecma_parser:
- Allow large numeric literals. (#1803 )
- Allow long numeric literals. (#1806 )
2021-06-09 23:02:13 +09:00
강동윤
7730a6ea5a
fix(es/transforms): Fix bugs ( #1795 )
...
swc_ecma_transforms_compat:
- `async_to_generator`: Handle await in async generators correctly. (#1752 )
swc_ecma_transforms_module:
- Don't panic on double import from one module. (#1757 )
2021-06-06 22:16:59 +09:00
강동윤
03db7adc9f
fix(es/transforms/base): Wrap binary operands of unary expressions. ( #1793 )
...
swc_ecma_transforms_base:
- `fixer`: Handle binary operands of unary expressions correctly. (#1789 )
2021-06-05 12:58:50 +00:00
강동윤
0bd2a3a07e
fix(es/transforms): Fix bugs ( #1783 )
...
swc_ecma_transforms_base:
- `fixer`: Wrap operand of a unary expression if it's a binary expression. (#1781 , #1789 )
swc_ecma_transforms_module:
- Allow multiple `export *` even if it has the same item. (#1780 )
2021-06-05 11:13:42 +09:00
강동윤
4e7723a7a0
fix(bundler): Fix cycle detection ( #1779 )
...
swc_bundler:
- Fix cycle detection. (denoland/deno#10820 )
2021-06-03 14:15:20 +09:00
LongYinan
d6571933ff
feat(node-swc): Support windows aarch64 and linux aarch64 musl ( #1773 )
2021-06-02 09:34:27 +09:00
강동윤
ad55711e45
fix(es/transforms): Fix bugs ( #1769 )
...
swc_ecma_transforms_optimization:
- `dce`: Mark references from decorator as usage. (denoland/deno#10789)
swc_ecma_transforms_proposal:
- Allow using `super` in decorated class methods. (#846 )
2021-05-30 19:52:51 +09:00
Shinobu Hayashi
5d219b8cd1
fix(es/codegen): Fix codegen of classes with minify enabled ( #1767 )
2021-05-30 15:05:14 +09:00
Shinobu Hayashi
65ffd87771
fix(es/parser): Report error for wrong declare keywords ( #1760 )
...
swc_ecma_parser:
- Report `TS1031`.
2021-05-29 16:51:52 +09:00
muji
7b9b9fe9ce
fix(common): Fix compiler error ( #1747 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-05-28 20:57:57 +09:00
강동윤
99e738643a
feat(es/minifier): Implement rules and classify tests ( #1750 )
...
swc_ecma_minifier:
- Classify tests so we can focus on MVP.
2021-05-28 19:44:03 +09:00
강동윤
9fa878c1a6
fix(es/transforms/base): Fix ts_resolver ( #1761 )
...
swc_ecma_transforms_base:
- `ts_resolver`: Handle type-only imports properly. (denoland/deno_lint#705 )
2021-05-28 14:04:00 +09:00
LongYinan
6a13615381
feat(node-swc): Support FreeBSD ( #1758 )
2021-05-28 12:47:02 +09:00
muji
3359188a20
fix(spack): Update the list of node js core modules ( #1749 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-05-27 15:10:23 +09:00
muji
1150fbc928
fix(spack): Fix node resolver ( #1748 )
...
spack:
- Support file names ending with a period.
2021-05-27 12:53:16 +09:00
강동윤
c79db252dc
fix(swc): Fix bugs ( #1753 )
...
swc_ecma_parser:
- Allow class members to be declared. (#1751 )
node-swc:
- Fix typescript type definitions. (#1746 )
2021-05-27 11:59:04 +09:00
강동윤
8726c9caf2
fix(swc): Fix bugs ( #1745 )
...
swc_ecma_codegen:
- Don't escape unicode characters for old targets. (#1744 )
swc_ecma_transforms_compat:
- `class_properties`: Preserve `this` for tagged template literals. (#1742 )
2021-05-26 01:24:58 +09:00
강동윤
ef6a745599
feat(es/minifier): Implement more rules ( #1735 )
...
swc_ecma_minifier:
- Implement `evaluate` partially.
- Store 'expected output' from terser along with our result.
swc_ecma_transforms_base:
- `fixer`: Don't wrap `+ (a % b)`.
swc_ecma_transforms_optimization:
- `expr_simplifier`: Preserve this in calls.
2021-05-25 16:39:07 +09:00
강동윤
d60c3242af
fix(swc): Fix bugs ( #1739 )
...
swc_bundler:
- Fix cycle detection for complex circular imports. (denoland/deno#10752 )
swc_ecma_transforms_typescript:
- Allow using large values for an enum variant.
2021-05-25 14:30:17 +09:00
강동윤
a795de7f43
fix(swc): Fix bugs ( #1732 )
...
swc_ecma_transforms_react:
- Escape some characters. (#1661 )
swc_ecma_transforms_compat:
- `regenerator`: Handle `||` properly. (#1684 )
2021-05-24 09:41:22 +00:00
강동윤
5e2db21e47
feat(es/minifier): Implement more rules ( #1731 )
...
swc_ecma_codegen:
- Don't panic while checking if 2 dots are required.
swc_ecma_minifier:
- Implement some rules related to the option `evaluate`.
- Implement some rules related to strings.
- Implement some rules related to numbers.
swc_ecma_transforms_base:
- `fixer`: Handle `- (1 / 0)`.
- `fixer`: Handle `(void 0)(0)`.
2021-05-23 15:39:59 +09:00