Commit Graph

18 Commits

Author SHA1 Message Date
Donny/강동윤
a417ff4d86
feat(allocator): Add maybe types (#9278) 2024-07-19 13:22:34 +09:00
Donny/강동윤
b2491e5461 refactor(common): Drop SyntaxContext from AST nodes (#9175) 2024-07-12 13:13:20 +09:00
Donny/강동윤
5520b236dd
refactor(es/parser): Rename EsConfig and TsConfig (#9094)
**Description:**

`EsConfig` and `TsConfig` sound like a general configuration for the whole language, while actually it's only about parsing.

To avoid a breaking change, I created type aliases that will work without changing the code, while warning the users.

**Related issue:**

 - Closes #9089.
2024-06-22 01:56:37 +09:00
Kyuuhachi
f2300dadbf
refactor(common): Debug-print spans more compactly (#8746)
**Description:**

`dbg!()` output on ASTs is kinda verbose,

```rs
ExprStmt {
    span: Span {
        lo: BytePos(
            37,
        ),
        hi: BytePos(
            50,
        ),
        ctxt: #0,
    },
    expr: Lit(
        Str(
            Str {
                span: Span {
                    lo: BytePos(
                        37,
                    ),
                    hi: BytePos(
                        49,
                    ),
                    ctxt: #0,
                },
                value: "use strict",
                raw: Some(
                    "\"use strict\"",
                ),
            },
        ),
    ),
}
```

A lot of the space is wasted on spans — 9 lines per span, even though
it's pretty much unimportant cruft. This PR changes that to just one
line per span:

```rs
ExprStmt {
    span: 37..50#0,
    expr: Lit(
        Str(
            Str {
                span: 37..49#0,
                value: "use strict",
                raw: Some(
                    "\"use strict\"",
                ),
            },
        ),
    ),
}
```

While not a statistically meaningful measurement, in my tests (sample
size = 1) this change reduces the `dbg!()` of a 1103-byte script from
5597 to 2885 lines, which is a 48% reduction. In `{:?}` mode it goes
from 40034 to 25457 chars, or 37% reduction.
2024-03-17 13:03:14 +00:00
Donny/강동윤
9ceb57b4c7
fix(es/compat): Don't add pure annotations to dummy spans (#8172)
**Related issue:**

 - Closes #8155.
 - Closes #8173.
2023-10-23 15:00:35 -07:00
Donny/강동윤
84cec8766d
refactor(atoms): Remove usage of js_word! to drop string-cache (#7976)
**Description:**

This PR is to prepare removal of `string-cache`. Actually, this PR does not remove it. Instead, this PR only removes direct usages of `js_word!`s, especially in patterns.



**Related issue:**

 - #4946.
2023-10-08 00:39:51 +00:00
Alexander Akait
2571070148
feat(css/parser): Normalize and improve function name (#6667) 2022-12-20 12:43:58 +00:00
Alexander Akait
7343cf3389
perf(atoms): Add more atoms (#6122)
Co-authored-by: Donny/강동윤 <kdy1997.dev@gmail.com>
2022-10-11 23:52:51 +00:00
Donny/강동윤
1a182ef8d9
perf(es): Optimize memory layout of AST (#5829) 2022-09-20 12:47:21 +09:00
Alexander Akait
7f62fa6227
perf(html): Reduce memory usage (#5867) 2022-09-15 04:17:05 +00:00
Alexander Akait
ccd618ce54
perf(html/minifier): Improve performance (#5838) 2022-09-13 14:01:41 +09:00
magic-akari
9c998d4406
fix(es): Use paren_remover pass (#5753)
**Description:**

We now apply the paren_remover pass before applying other transforms.

**Related issue:**
 - Closes #5652 
 - Closes #5752
2022-09-09 05:02:24 +00:00
Donny/강동윤
67942d5731
feat(common): Reserve BytePos(0) for dummy spans (#4616) 2022-05-11 16:14:42 +00:00
Donny/강동윤
3d944656bf
refactor(es): Make compilation faster (#3749) 2022-02-26 06:41:14 +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
Donny/강동윤
15b604b6d6
refactor(*): Fix some clippy warnings (#3257) 2022-01-14 07:20:45 +09:00
Donny/강동윤
978de5943e
chore(ci): Configure clippy (#3250) 2022-01-13 23:06:11 +09:00
Donny/강동윤
4f70ee6d98
refactor: Flatten more packages (#2706) 2021-11-10 16:39:01 +09:00