Commit Graph

368 Commits

Author SHA1 Message Date
Donny/강동윤
e423d1bced
feat(common): Add fallible methods to swc_common::SourceMap (#9090)
**Description:**

This PR will make `swc_ecma_codegen` not `panic` for invalid spans.
2024-06-21 17:49:43 +09:00
Donny/강동윤
7698eaa006
perf(common): Use Chars in StringInput (#9073)
**Description:**

Now it's possible
2024-06-18 03:45:56 +00:00
SWC Bot
071e5be80d chore: Bump crates 2024-06-18 02:56:14 +00:00
Donny/강동윤
c3a8c0b567
refactor(common): Simplify StringInput implementation (#9071) 2024-06-18 11:54:34 +09:00
SWC Bot
f8c2c4791a chore: Bump crates 2024-06-16 05:31:45 +00:00
Donny/강동윤
cdd20cd163
fix(common): Revert Use SourceMap::adjust_mappings (#9058)
**Description:**

https://github.com/getsentry/rust-sourcemap/pull/91 should fix this
issue, but let's revert #9052 for now.

# Context

`swc_core` regressed.

Caught by https://github.com/vercel/next.js/pull/66902

```
 ⚠ Linting is disabled.
  ▲ Next.js 15.0.0-canary.34

 ✓ Checking validity of types
   Creating an optimized production build ...
Panic: PanicInfo { payload: Any { .. }, message: Some(attempt to add with overflow), location: Location { file: "/Users/kdy1/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sourcemap-8.0.1/src/encoder.rs", line: 89, col: 13 }, can_unwind: true, force_no_backtrace: false }
Backtrace:    0: backtrace::backtrace::libunwind::trace
             at /Users/kdy1/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.68/src/backtrace/libunwind.rs:93:5
      backtrace::backtrace::trace_unsynchronized::<<backtrace::capture::Backtrace>::create::{closure#0}>
             at /Users/kdy1/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.68/src/backtrace/mod.rs:66:5
      backtrace::backtrace::trace::<<backtrace::capture::Backtrace>::create::{closure#0}>
             at /Users/kdy1/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.68/src/backtrace/mod.rs:53:14
      <backtrace::capture::Backtrace>::create
             at /Users/kdy1/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.68/src/capture.rs:176:9
      <backtrace::capture::Backtrace>::new
             at /Users/kdy1/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.68/src/capture.rs:140:22
   1: next_swc_napi::init::{closure#0}
             at packages/next-swc/crates/napi/src/lib.rs:85:29
   2: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /rustc/6f3df08aadf71e8d4bf7e49f5dc10dfa6f254cb4/library/alloc/src/boxed.rs:2077:9
      std::panicking::rust_panic_with_hook
             at /rustc/6f3df08aadf71e8d4bf7e49f5dc10dfa6f254cb4/library/std/src/panicking.rs:799:13
   3: std::panicking::begin_panic_handler::{{closure}}
             at /rustc/6f3df08aadf71e8d4bf7e49f5dc10dfa6f254cb4/library/std/src/panicking.rs
```
2024-06-16 14:30:01 +09:00
SWC Bot
10eab94d81 chore: Bump crates 2024-06-14 14:47:30 +00:00
Donny/강동윤
eda2e45691
feat(common): Use SourceMap::adjust_mappings (#9052) 2024-06-14 14:45:58 +00:00
강동윤 (Donny)
7ac3b0a7dc chore: Bump crates 2024-04-29 09:56:27 +09:00
magic-akari
cc1432a12f
chore: Apply cargo autoinherit (#8902) 2024-04-29 00:54:45 +00:00
SWC Bot
4410d62317 chore: Bump crates 2024-04-17 05:44:33 +00:00
Donny/강동윤
f9459a8adf
build(cargo): Update rustc to nightly-2024-04-16 (#8870) 2024-04-17 05:42:11 +00:00
SWC Bot
0af201043a chore: Bump crates 2024-04-16 02:24:47 +00:00
Donny/강동윤
ca9c76b46f
build(cargo): Update rustc to nightly-2024-04-03 (#8821) 2024-04-16 02:20:47 +00:00
SWC Bot
586ab9a4a4 chore: Bump crates 2024-04-12 04:48:39 +00:00
magic-akari
c0d901eac6
doc(swc_core): Resolve build issue with --all-features flag (#8848)
**Related issue:**

- Closes #8829
2024-04-12 04:47:08 +00:00
Donny/강동윤
207582ff25
chore(deps): Update dependencies (#8810) 2024-04-04 15:07:49 +09:00
SWC Bot
2091a06259 chore: Bump crates 2024-04-03 02:35:12 +00:00
Donny/강동윤
4f9ab8151d
fix(common): Fix source index for inputSourceMap (#8800)
**Related issue:**

 - Closes #8789
2024-04-03 02:33:25 +00:00
SWC Bot
dbf930a2c9 chore: Bump crates 2024-03-25 04:20:57 +00:00
Donny/강동윤
f8681c9299
chore(deps): Update sourcemap to v8.0.0 (#8771)
**Related issue:**

 - https://github.com/getsentry/rust-sourcemap/pull/77
2024-03-25 13:18:49 +09:00
SWC Bot
82d1b8e49a chore: Bump crates 2024-03-17 13:04:54 +00: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
SWC Bot
98aa9824d5 chore: Bump crates 2024-03-04 10:08:47 +00:00
SWC Bot
7c5113b6a9 chore: Bump crates 2024-02-22 02:56:23 +00:00
Donny/강동윤
6726b631e6
build(cargo): Update rustc to nightly-2024-02-06 (#8618) 2024-02-13 13:32:49 +09:00
SWC Bot
906cca43c1 chore: Bump crates 2024-02-08 01:51:17 +00:00
Donny/강동윤
132be95173
fix(es/plugin): Fix schema version issue (#8621) 2024-02-08 10:49:38 +09:00
SWC Bot
48524e2ae8 chore: Bump crates 2024-02-05 06:34:30 +00:00
Donny/강동윤
7f2a2c1e40
refactor(es/ast): Improve type definitions of patterns (#8532)
**Description:**

 - Copy `AssignmentTarget` from `oxc`.
 - Use `BindingIdentifier` in more places.

**Related issue:**
 
 - Closes #8026
2024-02-05 15:32:52 +09:00
Donny/강동윤
043ee85d08
fix(common): Fix source map generation with inputSourceMap (#8546)
**Description:**

- This PR fixes the source map generation when `inputSourceMap` is specified.
- This PR fixes `minify()` not accepting parsed source map in the option.


**Related issue:**

 - Closes #8372.
2024-01-24 02:02:45 +00:00
SWC Bot
2d15177ca9 chore: Bump crates 2024-01-23 08:38:01 +00:00
SWC Bot
6210bf19de chore: Bump crates 2024-01-21 03:08:11 +00:00
SWC Bot
1ca0d65c29 chore: Bump crates 2024-01-21 02:34:11 +00:00
Donny/강동윤
014a6cda82
fix(common): Remove < and > from Display impl of FileName::Custom (#8530)
**Description:**

It caused a problem for next.js
2024-01-21 02:32:35 +00:00
SWC Bot
595f13c019 chore: Publish crates 2023-12-08 07:18:16 +00:00
SWC Bot
0bde652b5c chore: Publish crates 2023-12-08 01:58:57 +00:00
Donny/강동윤
6a73d47aa1
perf(common): Fix OOM of inputSourceMap (#8402)
**Description:**

The previous code was very strange, and it could easily cause OOM.
2023-12-08 10:57:27 +09:00
SWC Bot
98c47df37a chore: Publish crates 2023-12-01 20:08:13 +00:00
SWC Bot
c03f84e54e chore: Publish crates 2023-11-15 22:45:18 +00:00
David Sherret
66a4d37031
build(common): Remove dependency on string-cache (#8291) 2023-11-15 22:43:22 +00:00
SWC Bot
2d2ad1e9a1 chore: Publish crates 2023-11-09 03:48:08 +00:00
SWC Bot
2effaf6f43 chore: Publish crates 2023-11-09 01:01:47 +00:00
SWC Bot
4c2547adf2 chore: Publish crates 2023-11-07 09:55:14 +00:00
SWC Bot
09b3003e58 chore: Publish crates 2023-11-07 00:54:18 +00:00
SWC Bot
b070ffe425 chore: Publish crates 2023-11-06 05:31:11 +00:00
Donny/강동윤
e3e439dba6
perf(es/parser): Improve performance (#8224)
**Description:**

Small things
2023-11-06 05:28:30 +00:00
SWC Bot
edb46c3c71 chore: Publish crates 2023-11-04 21:49:01 +00:00
Donny/강동윤
14ea705f27
build(cargo): Update rustc to nightly-2023-11-04 (#8221)
**Breaking Changes**:

 - `Mark::default()` is now identical as `Mark::new()`.

**Description:**

I want to see if inlining is improved
2023-11-04 21:47:10 +00:00
SWC Bot
67b0a7f258 chore: Publish crates 2023-10-25 23:01:44 +00:00