Commit Graph

1114 Commits

Author SHA1 Message Date
Donny/강동윤
a099e8f846
perf(es/minifier): Make name mangler parallel (#2527)
swc_ecma_minifier:
 - Remove useless `RefCell<T>`.
 - Make name mangler parallel.
2021-10-25 07:09:00 +00:00
Donny/강동윤
e7189fbdbd
fix(es/transforms/compat): Fix async_to_generator (#2526)
swc_ecma_transforms_compat:
 - `async_to_generator`: Handle `for-await` correctly. (#2306)
2021-10-25 05:37:13 +00:00
Donny/강동윤
709b3c7cd6
fix(es/transforms/optimization): Fix inline_globals (#2524)
swc_ecma_transforms_optimization:
 - `inline_globals`: Skip assignment to `process.env.FOO`. (#2499)
2021-10-24 21:51:08 +00:00
Donny/강동윤
a8b29b662e
test(es/minifier): Add a test for moment.js (#2522)
swc_ecma_minifier:
 - Ensure that `moment.js` is minified correctly. (#2521)
2021-10-24 14:54:23 +00:00
Sosuke Suzuki
65c83e8cb4
feat(es/transforms): Move stage 4 proposals to es2022 (#2519) 2021-10-24 21:28:40 +09:00
Donny/강동윤
fce3b79e79
fix(es/minifier): Improve name mangler (#2509)
swc_ecma_transforms_base:
 - Expose renamer.

swc_ecma_minifier:
 - Improve name mangler.

swc:
 - Disable hygiene if mangler is enabled.
2021-10-24 10:52:09 +00:00
Sosuke Suzuki
ecd617af39
feat(es/transforms): Move class_properties to es2022 (#2512) 2021-10-23 23:25:14 +09:00
Austaras
c482162206
feat(es/transforms/module): Fix transform of this for classes (#2514) 2021-10-23 21:13:56 +09:00
Donny/강동윤
f33d3218cd
feat(es/transforms/compat): Add single-property optimization to destructuring (#2511)
swc_ecma_transforms_compat:
 - `destructuring`: Convert single-property destructuring to direct field access.
2021-10-22 13:46:29 +00:00
Sosuke Suzuki
91717c9c5f
feat(es/babel): Support babelify of static blocks (#2504) 2021-10-22 13:32:34 +09:00
Donny/강동윤
175c997676
fix(es/transforms/react): Fix hygiene of react fast refresh (#2501)
swc_ecma_trasnforms_react:
 - `refresh`: Use span hygiene system.
2021-10-21 14:09:00 +00:00
Donny/강동윤
9e215769cc
fix(es/minifier): Fix minifier using Deno test suite (#2503)
swc_ecma_codegen:
 - Emit `;` after private class properties.

swc_ecma_minifier:
 - `pure`: Drop more invalid expressions.
 - `sequences`: Drop more invalid expressions.
 - `strings`: Fix concat.
 - `inline`: Inline into `b` in `a[b] = foo`.
2021-10-21 11:56:48 +00:00
Pig Fang
a9869e60f2
test(es/transforms/compat): Add tests for optional_catch_binding (#2502) 2021-10-21 20:41:10 +09:00
Sosuke Suzuki
52dfb55816
fix(es/transforms/compat): Change error message (#2500)
swc_ecma_transforms_compat:
 - `classes`: Use `unreachable` instead of `unimplemented ` for static blocks.
2021-10-21 15:15:08 +09:00
Nayeem Rahman
c29a6e11c9
fix(es/transforms/typescript): Fix strip (#2496)
swc_ecma_transforms_typescript:
 - Visit the RHS of import equals declaration properly.
2021-10-21 15:12:51 +09:00
Donny
7af0f8c81b chore: Publish 2021-10-21 14:16:15 +09:00
Donny/강동윤
26944e159d
fix(es/transforms/base): Reimplement hygiene (#2408)
swc_ecma_transforms_base:
 - Reimplement `hygiene`.
2021-10-21 05:12:50 +00:00
Donny/강동윤
eef3d6e3fb
fix(es): Fix simple bugs (#2495)
swc_ecma_parser:
 - Don't panic on `declare declare`. (#2343)

swc_ecma_transforms_react:
 - Don't panic on `createElement()`. (#2492)

swc_bundler:
 - Don't panic on wasm. (#2334)

swc:
 - Disable `inline_globals` if it's not specified. (#2490)
2021-10-20 06:12:21 +00:00
Sosuke Suzuki
bb1cc974c7
feat(es/trasform): Support static blocks (#2474)
swc_ecma_transforms_proposal:
 - Add transform for static blocks, which is stage 3.
2021-10-20 14:18:55 +09:00
Donny/강동윤
cef2c8666e
fix(es/minifier): Fix join_vars (#2494)
swc_ecma_minifier:
 - Don't join `let`/`const` into narrower scope.
2021-10-20 05:17:14 +00:00
David Sherret
3886eeddd5
fix(es/parser): Fix parsing of a property named async (#2485) 2021-10-20 04:31:52 +09:00
Donny/강동윤
7c5b6cafd8
fix(es/minifier): Fix regexp handling (#2489)
swc_ecma_minifier:
 - Use allowlist of characters for optimizing RegExp calls.
2021-10-19 19:30:20 +00:00
Donny/강동윤
bf886bac73
perf(es/parser): Make typescript parser faster (#2483)
swc_ecma_parser:
 - Check for option before backtracking.
2021-10-20 00:00:48 +09:00
Donny/강동윤
b0361caa58
feat(es/transforms/optimization): Improve inline_globals (#2479)
swc_ecma_transforms_optimization:
 - `inline_globals`: Support inlining into shorthand properties.
 - `inline_globals`: Support replacing member expressions.

swc:
 - Add an option to disable simplifier when using `inline_globals`.

node_swc:
 - Improve error message on panic.
2021-10-19 14:58:10 +00:00
Donny/강동윤
9b96885171
fix(es/transforms/compat): Fix handling of private static properties (#2478)
swc_ecma_transforms_compat:
 - `class_properties`: Replace `this` in private static property initializers. (#2476)
2021-10-19 11:21:13 +00:00
Donny/강동윤
0020e16370
fix(es/minifier): Fix minifier (#2477)
swc_ecma_minifier:
 - `MultiReplacer`: Handle inlining into shorthands.
 - `ExprReplacer`: Handle inlining into shorthands.
2021-10-19 11:00:51 +00:00
Donny/강동윤
2ca6e5d79b
feat(es/transforms/optimization): Support inlining of typeofs (#2473)
swc_ecma_transforms_optimization:
 - `inline_globals`: Support inlining of `typeof`s.

swc:
 - Change error message for parsing failure to mention `Syntax Error`.
2021-10-19 09:49:18 +00:00
Donny/강동윤
123c1f5d02
chore: Fix typo (#2472) 2021-10-19 08:25:57 +00:00
Donny/강동윤
c9437d3226
fix(es): Fix bugs (#2469)
swc:
 - Fix handling of `envs`.
 - Check for already fixed issues. (#2319)
2021-10-19 06:02:46 +00:00
Donny
98a18e306a chore: Publish swc_ecma_transforms_compat 2021-10-19 00:43:00 +09:00
Donny/강동윤
201c0fcfd0
fix(es/regenerator): Fix for nested try (#2463)
swc_ecma_transforms_compat:
 - `regenerator`: Use correct order for try locations array.
2021-10-18 15:40:53 +00:00
Donny/강동윤
5bcabb0471
fix(es/transforms/compat): Fix regenerator (#2460) 2021-10-18 12:35:26 +00:00
Donny/강동윤
575aa44c25
perf(es/transforms): Improve performance (#2454)
swc_ecma_transforms_macros:
 - `#[parallel]`: Run hooks for single-threaded operations.

swc_ecma_transforms_compat:
 - `shorthand`: Parallel.
 - `exponentation`: Parallel.
 - `parameters`: Parallel.
 - Recover some `#[fast_path]`
2021-10-18 12:07:13 +00:00
Donny/강동윤
06ca25f3d0
fix(es/minifier): Check for conditional usages while inlining (#2459)
swc_ecma_minifier:
 - `hoist_props`: Check for `used_in_cond` before inlining.
2021-10-18 07:34:17 +00:00
Donny/강동윤
9ba68c6863
fix(common): Fix sourcemap (#2457)
swc_common:
 - Include the index to the name in `mappings` of a sourcemap.

swc:
 - Fix handling of `inputSourceMap`.
2021-10-18 06:43:59 +00:00
Donny
7225f90b9c Bump version 2021-10-18 11:09:59 +09:00
Donny/강동윤
3d204b44f0
perf(es/transforms): Make transforms parallel (#2449)
swc_ecma_utils:
 - `collect_decls`: More parallel.

swc_ecma_transforms_macros:
 - Add `Parallel`, which is helper for `#[parallel]`.
 - Add `ParExplode`, which is helper for `#[parallel(explode)]`.

swc_ecma_transforms_macros:
 - Add `#[parllel]`.

swc_ecma_transforms_compat:
 - `sticky_regex`: Parallel.
 - `typeof_symbol`: Parallel.
 - `for_of`: Remove exponential visit.
 - `regenerator`: Remove exponential visit.
 - `object_spread`: Parallel.
 - `instance_of`: Parallel.
 - `duplicate_keys`: Parallel.
 - `logical_assignments`: Parallel.
 - `template_literal`: Parallel.
 - `block_scoped_functions`: Migrate to `VisitMut`.
 - `for_of`: Migrate to `VisitMut`.
 - `destructuring`: Reduce `Visit`.
 - `arrow`: Migrate to `VisitMut`.
 - `function_name`: Parallel.
 - `reserved_words`: Parallel.
 - `for_of`: Parallel.

swc_ecma_transforms_module:
 - `import_analyzer`: Migrate to `VisitMut`.

swc_ecma_transforms_react:
 - `jsx_src`: Parallel.
-  `jsx_self`: Migrate to `VisitMut`.
-  `jsx_self`: Parallel.

swc_ecma_transforms_proposal:
 - `export_default_from`: Migrate to `VisitMut`.

swc_ecma_transforms_optimization:
 - `inline_globals`: Parallel.
 - `json_parse`: Migrate to `VisitMut`.
 - `json_parse`: Parallel.
2021-10-18 00:03:30 +09:00
Donny/강동윤
de368f6bb7
fix(es/codegen): Escape backtick of synthesized template literals (#2453)
swc_ecma_codegen:
 - Escape backtick of a template literal if it's synthesized.
2021-10-17 20:44:21 +09:00
Donny/강동윤
63ad4b4322
fix(es/minifier): Fix minification of react hooks (#2450)
swc_ecma_minifier:
 - `analyze`: Track for conditional usages.
 - `collapse_vars`: Don't inline a variable if usage it conditinal.
2021-10-17 15:24:17 +09:00
Donny/강동윤
1645bb30b7
perf(es/transforms): Reduce usage of #[fast_path] (#2442)
swc_ecma_ast:
 - Implement `Take` for `ObjectLit`.
 - Implement `Take` for `ArrayLit`.

swc_ecma_transforms_compat:
 - `nullish_coalescing`: Remove exponential visit.
 - `nullish_coalescing`: Migrate to `VisitMut`.
 - `optional_chaining`: Reduce exponential visit. (But it's not removed)
 - `class_properties`: Remove exponential visit.
 - `jsx_src`: Migrate to `VisitMut`.
 - `optional_chaining`: Mae it parallel.
 - `async_to_generator`: Remove `#[fast_path]`.
 - `arrow`: Remove `#[fast_path]`.
 - `destructuring`: Remove `#[fast_path]`.
 - `block_scoped_functions`:  Remove `#[fast_path]`.
 - `classes`: Remove `#[fast_path]`.
2021-10-16 08:12:02 +00:00
Donny/강동윤
7ab07ab0b9
fix(es/transforms/base): Fix resolver (#2448)
swc_ecma_transforms_base:
 - `resolver`: Handle `AssignPatProp` from `Hoister`.
2021-10-16 15:12:53 +09:00
Donny/강동윤
ee9177b753
fix(es): Fix bugs (#2447)
swc_ecma_parser:
 - Fix parsing of jsx escapes.

swc_ecma_minifier:
 - Don't mangle name as `const` or `let`. (#2446)

swc_ecma_transforms_react:
 - Fix handling of jsx escapes. (#2351)
2021-10-16 04:25:54 +00:00
Donny/강동윤
130a47f42c
feat(es/transforms/module): Add an option to preserve dynamic imports (#2441)
swc_ecma_transforms_module:
 - Add `ignoreDyanmic`.
2021-10-15 19:19:14 +09:00
Donny/강동윤
e722bd4887
perf(es/transforms): Reduce usage of #[fast_path] (#2439)
swc_ecma_transforms_compat:
 - Remove `#[fast_path]` from passes.
 - Migrate some passes to `VisitMut`.
2021-10-15 10:18:27 +00:00
Donny/강동윤
d045244089
fix(es/codegen): Fix codegen of synthesized template literals. (#2440)
swc_ecma_codegen:
 - Don't handle synthesized backtick specially.
2021-10-15 09:12:40 +00:00
Donny/강동윤
4c983e9158
perf(es/codegen, es/parser): Improve performance (#2406)
ast_node:
 - Make `.span()` inlinable.

swc_ecma_codegen:
 - Reduce call to *heavy* `.span()` calls.

swc_ecma_parser:
 - Reduce `memmove` by using typed-arena.

swc_bundler:
 - Make `Bundle.bundle` take `&mut self`.
 - Make drop concurrent.
2021-10-15 12:49:37 +09:00
Donny/강동윤
0e48284afb
fix(es/minifier): Fix bugs (#2433)
swc_ecma_minifier:
 - `sequences`: Stop searching for candidates if a dependency issue is found.
2021-10-14 13:48:14 +00:00
Donny/강동윤
f8995848b8
fix(es/transforms/proposal): Fix type detection (#2431)
swc_ecma_transforms_proposal:
 - Try the type of the LHS of an assignment pattern. (#2428)
2021-10-14 06:19:34 +00:00
Donny/강동윤
647d3ed36a
chore(doc): Add an example of stripping out types (#2430) 2021-10-14 04:43:55 +00:00
Donny/강동윤
51d7a144bb
fix(swc): Fix order of passes (#2427)
swc_ecam_transforms_typescript:
 - Preserve more jsx-related imports.

swc:
 - Change pass ordering.
2021-10-13 16:04:49 +00:00
Donny/강동윤
76de51333d
fix(es/transforms): Fix for react + typescript (#2422)
swc_common:
 - Add `NoopComments`.
 - Implement `Comments` for `Option<C>` where C: `Comments`.
 - Add some helper methods to `Comments`.
 - Deprecate `CommentsExt`.

swc_ecma_transforms_base:
 - `resolver`: Handle `TsImportEqualsDecl`.

swc_ecma_transforms_react:
 - Reduce useless cloning using `Arc`.
 - Expose API for parsing directives like `@jsxPragma`.

swc_ecma_transforms_typescript:
 - Accept `pragma` and `pragmaFrag`.
 - Support jsx directives.
 - Preserve jsx-related imports.

swc:
 - Optimize `SwcComments`.
 - Run`resolver` before everything else.
2021-10-13 22:29:56 +09:00
Donny/강동윤
aff6670856
fix(es/minifier): Fix infinite loop (#2424)
swc_ecma_minifier:
 - Prevent infinite loop of post-optimize inliner.
2021-10-13 19:26:47 +09:00
Donny/강동윤
8074c72ce9
fix(es/transforms/base): Fix hyigiene (#2421)
swc_ecma_transforms_base:
 - `hygiene`: Considering scoping of `var`.
 - `hygiene`: Avoid creating too many `JsWord` by caching index.
2021-10-13 17:32:37 +09:00
Bojan Đurđević
029cf056f2
fix(es/transforms/react): Fix escape of quote in HTML entities (#2419)
swc_ecma_transforms_react:
 - Handle escape of `"` correctly.
2021-10-13 14:33:15 +09:00
Donny/강동윤
62f7f655a9
fix(es/minifier): Fix iteration order (#2412)
swc_ecma_minifier:
 - Don't use `AHashMap::drain` for inlining variables.
2021-10-12 10:19:20 +00:00
Pig Fang
9446a037cb
fix(es/parser): Fix class getter/setter ASI bugs (#2409) 2021-10-12 18:47:40 +09:00
David Sherret
d114e7d364
refactor(es/parser): Cleanup codes for the comment buffer (#2410) 2021-10-12 12:08:06 +09:00
David Sherret
4d4771109a
fix(es/parser): Ensure that comments are collected (#2407) 2021-10-12 11:07:52 +09:00
Pig Fang
4ad25d2155
refactor(es/parser): Simplify parsing logic (#2405) 2021-10-11 23:09:45 +09:00
Donny/강동윤
b5f832193a
perf(bundler): Improve performance (#2394)
swc_ecma_utils:
 - Make `collect_decls` parallel. (with threshold of 128)

swc_bundler:
 - Make inlining of synthesized variables parallel.
2021-10-11 13:00:02 +00:00
Donny/강동윤
98cc79a2be
fix(es/minifer): Fix bugs (#2397)
swc_ecma_codegen:
 - Fix sourcemap of `export` tokens.
 - Fix codegen of numeric operands in left of a binary expression.
 - Fix codegen of unary operations.

swc_ecma_minifier:
 - Visit `AssignPatProp.valie`.
 - Move `inline_prevented` to analyzer.
 - Add `Ctx.dont_invoke_iife`.
 - `iife`: Check for `arugments`

swc:
 - `inline_sources_content`: true by default for `minify()`.
2021-10-11 07:44:42 +00:00
Donny/강동윤
f5607891e4
fix(es/transforms/testing): Fix test_fixture (#2400)
swc_ecma_transforms_testing:
 - Make logic depends on `NormalizedOutput::compare_to_file`.
2021-10-11 05:03:57 +00:00
Pig Fang
d7f570ff7c
fix(es/parser): Fix async function in SeqExpr (#2399) 2021-10-11 12:38:35 +09:00
Pig Fang
4458f9c74d
fix(es/parser): Allow async in TsAsExpr (#2395) 2021-10-10 20:22:42 +09:00
Donny/강동윤
ff2baf75b4
fix(swc): Fix bugs (#2396)
swc_ecma_codegen:
 - Check for comments deeply while emitting a return statement.

swc_ecma_transforms_react:
 - Fix handling of texts in attributes.
2021-10-10 09:19:47 +00:00
Donny/강동윤
a33032279a
perf(es/transforms/base): Make resolver faster (#2392)
swc_ecma_transforms_base:
 - `resolver`: Don't use `Mark::parent()`.
2021-10-10 05:06:07 +00:00
Donny/강동윤
ab687a0f98
fix(es/minifer): Fix handling of callable expressions (#2379)
swc_ecma_minifier:
 - `sequences`: Don't inline into arrow expression or function expressions.
 - Inject variables to arrow expressions correctly.
2021-10-10 03:47:11 +00:00
Pig Fang
be3dca295b
fix(es/parser): Allow using async as the first one in parameters (#2388) 2021-10-10 11:02:32 +09:00
Donny
b9b7de0871 chore: Publish 2021-10-10 01:33:22 +09:00
Pig Fang
2379fe1ce0
fix(es/parser): Allow using async as the first one in parameters (#2386) 2021-10-09 17:09:09 +09:00
Donny/강동윤
ac3fbd91ac
perf(bundler): Improve performance (#2384)
*:
 - Use `ahash` instread of `rustc-hash`.

swc_ecma_transforms_optimization:
 - Make `dce` parallel.
2021-10-09 08:08:13 +00:00
Pig Fang
644e49c7fa
refactor(es/parser): Simplify parsing logic (#2381) 2021-10-09 10:22:47 +09:00
Donny/강동윤
2c058cb124
fix(es/codegen, es/transforms/typescript): Fix bugs (#2383)
swc_ecma_codegen:
 - Emit sourcemap for `import` tokens.

swc_ecma_transforms_typescript:
 - Strip `react` correctly.
2021-10-09 01:20:59 +00:00
Donny/강동윤
d0342a5a58
feat(swcpack): Enable concurrent mode (#2356)
swc_common:
 - Use `Mutex` from `parking_lot` instead of it from std.

swc_bundler:
 - Use `fxhash` if possible.
 - Don't `clone()` all modules if the entry has only one item.

swc_ecma_loader:
 - `NodeModulesResolver`: Use `path-clean` instead of `canonicalize`.

swc_ecma_transforms_optimization:
 - Reimplement `dce`

node_bundler:
 - Enable `concurrent` of `swc_bundler`.
2021-10-08 16:47:01 +09:00
Donny/강동윤
4466ca6ab8
fix(es/transforms/react): Allow non-first jsx directives (#2377)
swc_ecma_transforsm_react:
 - Allow using jsx directives like `jsxRuntime` at any statement.
2021-10-08 06:49:14 +00:00
Yunfei He
500dbf244b
feat(es/codegen): Expose more API (#2375)
swc_ecma_codegen:
 - `Emitter`: Make `emit_module_item` public.
2021-10-08 14:36:47 +09:00
Donny/강동윤
656f3e944d
fix(swc): Fix swc as a crate (#2376)
swc_ecma_transforms_typescript:
 - Don't drop imports from `react`.
2021-10-08 03:38:11 +00:00
Niklas Mischkulnig
1f99c3a44c
fix(es/transforms/optimization): Fix dead_branch_remover (#2373)
swc_ecma_transforms_optimization:
 - `dead_branch_remover`: Fix handling of `switch(boolean)`.
2021-10-08 11:56:09 +09:00
Donny/강동윤
b0ee9543d4
doc(es/ast): Document identifier mangagement system (#2371) 2021-10-08 01:02:02 +09:00
Donny/강동윤
7a19fc6e8c
fix(es/trasnforms/testing): Improve test_fixture (#2369)
swc_ecma_transforms_testing:
 - `test_fixture`: Don't print stderr to file.
 - Enable logging.
 - Add `test_fixture_allowing_error`.
2021-10-07 12:24:41 +00:00
Pig Fang
d65ce85030
fix(es/parser): Report errors for array patterns without comma (#2365) 2021-10-07 17:03:06 +09:00
Pig Fang
521e6717ad
fix(es/parser): Report errors for multiple array elements without comma (#2366) 2021-10-07 16:08:53 +09:00
Donny/강동윤
edc4cb432e
fix(swc): Fix order of custom passes (#2367)
swc_ecma_transform_react:
 - Accept `top_level_mark`.

swc:
 - Fix order of `custom_before_pass`.
2021-10-07 15:13:21 +09:00
Donny/강동윤
9e6a1f431b
fix(es/minifier): Fix minifier (#2355)
swc_ecma_minifier: 
 - `iife`: Don't replace parameters with identifiers in iife.
 - `sequences`: Add `Marks.synthesized_seq`.
 - pure: Drop empty statements.
2021-10-06 07:12:11 +00:00
Donny/강동윤
a553451562
chore(es/minifier): Publish (#2354) 2021-10-06 14:02:24 +09:00
Donny/강동윤
fac6f47863
perf(es/transforms): Improve performance (#2329)
swc_ecma_ast:
 - Implement `Take` for `Function`.
 - Implement `Take` for `FnExpr`.
 - Implement `Take` for `ClassExpr`.

swc_ecma_transforms_compat:
 - Migrate `es2015::duplicate_keys` to `VisitMut`.
 - Migrate `es2015::template_literals` to `VisitMut`.
 - Migrate `es2015::function_name` to `VisitMut`.
 - Add more fast-path to `reserved_words` pass.

swc_ecma_transforms_react:
 - Reduce allocations of `pure_annotations`.
 - Migrate `pure_annotations` to `VisitMut`.
 - Migrate `jsx::display_name` to `VisitMut`.

swc_ecma_transforms_optimization:
 - Migrate `inline_globals` to `VisitMut`.
 - `inline_globals`: Use `Lrc<FxHashMap<K, V>>`.

swc:
 - Cache `current_dir()`.
 - `ModuleConfig::build`: cacnonicalize only if `paths` is used.
2021-10-05 13:31:35 +00:00
Donny/강동윤
87b20a8896
fix(es/minifier): Fix inlining into shorthand properties (#2348)
swc_ecma_minifer:
 - Fix inlining of bindings into shorthand properties.
2021-10-05 09:53:00 +00:00
Pig Fang
ef4c80be7d
feat(babel/compat): Support type-only import/export specifiers (#2342) 2021-10-05 18:27:45 +09:00
Donny/강동윤
b64afb5b6f
fix(es/utils): Fix macros (#2349)
swc_ecma_utils:
 - Allow using macros from crates using `swc_ecmascript`.
2021-10-05 09:14:25 +00:00
Donny/강동윤
8403057268
fix(es/minifier): Don't optimize new String. (#2341)
swc_ecma_transforms_optimization:
 - Don't optimize calls like `new String`.
2021-10-04 06:44:37 +00:00
Donny/강동윤
bbefa0e57e
chore: Improve documentation for rust users (#2340) 2021-10-04 06:10:30 +00:00
Donny/강동윤
a7357ab517
chore: Update rustc (#2332) 2021-10-01 12:11:17 +00:00
Donny/강동윤
dad73926e6
fix(es/minifier): Fix minifier (#2323)
swc_ecma_minifier:
 - Don't inline literals if a property is mutated.
2021-09-30 07:50:34 +00:00
Donny/강동윤
6a41e9a0be
fix(es): Fix performance bugs (#2313)
swc_common:
 - Optimize `SourceMap.span_until_char`.

swc_ecma_codegen:
 - Make `Emitter` generic.

swc_ecma_parser:
 - `Lexer`: Reuse allocation of `String`.
 - `Lexer`: Avoid copying useless data.
2021-09-29 12:10:38 +00:00
Donny/강동윤
bd92d89306
fix(es/codegen): Fix codegen of numbers (#2317)
swc_ecma_codegen:
 - Fix codegen of numbers when minification is enabled. (#2294)
2021-09-29 11:08:59 +00:00
Pig Fang
2b292e6d17
feat(es): Support type-only import/export specifiers (#2309) 2021-09-28 22:05:20 +09:00
Donny/강동윤
e8a1710a21
fix(es/minifier): Fix bugs (#2283)
swc_ecma_transforms_optimization:
 - `expr_simplifier`: Don't inject `0` needlessly. (#2257)
2021-09-27 12:05:31 +00:00
Donny/강동윤
650e1494d4
fix: Migrate dependencies (#2307)
*:
 - Migrate from `log` to `tracing`. (#2284)
 - Migrate from `fxhash` to `rustc-hash`.

swc_common:
 - Add a cargo feature named `debug`.
2021-09-27 09:19:15 +00:00
Donny/강동윤
e46a842e99
feat(es/parser, es/transform): Implement ergonomic brand checking (#2079)
swc_ecma_parser:
 - Implement parsing of private properties in object literals.

swc_ecma_transforms_base:
 - `fixer`: Handle `const [a = (b, c)]`.

swc_ecma_transforms_compat:
 - `class_properties`: Support ergonomic brand checks. (#2064)

swc_ecma_transforms_proposal:
 - Implement ergonomic brand checks for private fields. (#2064)
2021-09-27 08:03:48 +00:00
Pig Fang
552fc2374d
fix(es/parser): Improve error message (#2304)
swc_ecma_parser:
 - Improve error message for unexpected tokens.
2021-09-26 01:19:08 +09:00