oxc/tasks
overlookmotel 21b08ba141 refactor(transformer): shared VarDeclarations (#6170)
First step towards #5049.

Various transforms need to add a `var` statement at top of enclosing statement block.

e.g.:

```js
// Input
a ??= b;
```

```js
// Output
var _a;
(_a = a) !== null && _a !== void 0 ? _a : (a = b);
```

Each of these transforms previously maintained it's own stack and added `var` statements individually.

Share this functionality in a "common" utility transform which maintains a single stack to serve them all.
2024-09-30 03:53:00 +00:00
..
ast_tools perf(linter, ast-tools, coverage): Use FxHashSet instead of std::collections::HashSet (#6001) 2024-09-24 19:29:08 +08:00
benchmark chore(deps): update npm packages (#6164) 2024-09-29 09:48:23 +00:00
common perf(rust): use cow_utils instead (#5664) 2024-09-11 18:39:30 +08:00
coverage fix(semantic): do not create a global symbol for declare global {} (#6040) 2024-09-25 08:46:00 +00:00
javascript_globals perf(ast-tools): use FxHashMap over std::collections::HashMap (#5997) 2024-09-23 18:28:54 +00:00
lint_rules chore: use dprint to format js, json and markdown 2024-09-08 13:24:58 +08:00
minsize feat(minifier): loop compressor passes (#6013) 2024-09-24 03:09:35 +00:00
prettier_conformance perf(linter, ast-tools, coverage): Use FxHashSet instead of std::collections::HashSet (#6001) 2024-09-24 19:29:08 +08:00
rulegen perf(ast-tools): use FxHashMap over std::collections::HashMap (#5997) 2024-09-23 18:28:54 +00:00
transform_conformance refactor(transformer): shared VarDeclarations (#6170) 2024-09-30 03:53:00 +00:00
website feat(linter): add oxc-security/api-keys (#5906) 2024-09-22 22:39:56 +00:00