Commit graph

256 commits

Author SHA1 Message Date
Will Binns-Smith
5bd8c37921 @next/font [2/n] Apply next/font swc transform (vercel/turbo#2742)
* Check in next-font transform from Next.js repo

* Use next-font transform

* Run transform via custom rule

* Place next/font transform behind cargo feature
2022-12-05 16:09:17 -08:00
Tobias Koppers
807c2b4146 add memory usage tracking (vercel/turbo#2865) 2022-12-05 22:57:30 +00:00
Will Binns-Smith
1b8c636e1e @next/font [1/n] Add query structure to module requests (vercel/turbo#2743)
* Add query structure to module requests

* Update crates/next-dev/src/lib.rs

Co-authored-by: Justin Ridgewell <justin@ridgewell.name>

Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
2022-12-05 13:47:21 -08:00
Leah
03d6610412 support _devPageManifest.json (vercel/turbo#2885) 2022-12-05 17:30:28 +00:00
Tobias Koppers
4d60d684e6 update chromiumoxide (vercel/turbo#2916)
updating in hope that this fixes the random errors in test runs
2022-12-03 21:11:10 +00:00
renovate[bot]
45079f3afd chore(deps): update rust crate futures to 0.3.25 (vercel/turbo#2915)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | dev-dependencies | patch | `0.3.21` -> `0.3.25` |
| [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | dependencies | patch | `0.3.21` -> `0.3.25` |
| [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | dependencies | patch | `0.3.24` -> `0.3.25` |

---

### ⚠ Dependency Lookup Warnings ⚠

Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information.

---

### Release Notes

<details>
<summary>rust-lang/futures-rs</summary>

### [`v0.3.25`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#&vercel/turbo#8203;0325---2022-10-20)

[Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.24...0.3.25)

-   Fix soundness issue in `join!` and `try_join!` macros ([#&vercel/turbo#8203;2649](https://togithub.com/rust-lang/futures-rs/issues/2649))
-   Implement `Clone` for `sink::Drain` ([#&vercel/turbo#8203;2650](https://togithub.com/rust-lang/futures-rs/issues/2650))

### [`v0.3.24`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#&vercel/turbo#8203;0324---2022-08-29)

[Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.23...0.3.24)

-   Fix incorrect termination of `select_with_strategy` streams ([#&vercel/turbo#8203;2635](https://togithub.com/rust-lang/futures-rs/issues/2635))

### [`v0.3.23`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#&vercel/turbo#8203;0323---2022-08-14)

[Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.22...0.3.23)

-   Work around MSRV increase due to a cargo bug.

### [`v0.3.22`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#&vercel/turbo#8203;0322---2022-08-14)

[Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.21...0.3.22)

-   Fix `Sync` impl of `BiLockGuard` ([#&vercel/turbo#8203;2570](https://togithub.com/rust-lang/futures-rs/issues/2570))
-   Fix partial iteration in `FuturesUnordered` ([#&vercel/turbo#8203;2574](https://togithub.com/rust-lang/futures-rs/issues/2574))
-   Fix false detection of inner panics in `Shared` ([#&vercel/turbo#8203;2576](https://togithub.com/rust-lang/futures-rs/issues/2576))
-   Add `Mutex::lock_owned` and `Mutex::try_lock_owned` ([#&vercel/turbo#8203;2571](https://togithub.com/rust-lang/futures-rs/issues/2571))
-   Add `io::copy_buf_abortable` ([#&vercel/turbo#8203;2507](https://togithub.com/rust-lang/futures-rs/issues/2507))
-   Remove `Unpin` bound from `TryStreamExt::into_async_read` ([#&vercel/turbo#8203;2599](https://togithub.com/rust-lang/futures-rs/issues/2599))
-   Make `run_until_stalled` handle self-waking futures ([#&vercel/turbo#8203;2593](https://togithub.com/rust-lang/futures-rs/issues/2593))
-   Use `FuturesOrdered` in `try_join_all` ([#&vercel/turbo#8203;2556](https://togithub.com/rust-lang/futures-rs/issues/2556))
-   Fix orderings in `LocalPool` waker ([#&vercel/turbo#8203;2608](https://togithub.com/rust-lang/futures-rs/issues/2608))
-   Fix `stream::Chunk` adapters size hints ([#&vercel/turbo#8203;2611](https://togithub.com/rust-lang/futures-rs/issues/2611))
-   Add `push_front` and `push_back` to `FuturesOrdered` ([#&vercel/turbo#8203;2591](https://togithub.com/rust-lang/futures-rs/issues/2591))
-   Deprecate `FuturesOrdered::push` in favor of `FuturesOrdered::push_back` ([#&vercel/turbo#8203;2591](https://togithub.com/rust-lang/futures-rs/issues/2591))
-   Performance improvements ([#&vercel/turbo#8203;2583](https://togithub.com/rust-lang/futures-rs/issues/2583), [#&vercel/turbo#8203;2626](https://togithub.com/rust-lang/futures-rs/issues/2626))
-   Documentation improvements ([#&vercel/turbo#8203;2579](https://togithub.com/rust-lang/futures-rs/issues/2579), [#&vercel/turbo#8203;2604](https://togithub.com/rust-lang/futures-rs/issues/2604), [#&vercel/turbo#8203;2613](https://togithub.com/rust-lang/futures-rs/issues/2613))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 10pm every weekday,before 5am every weekday,every weekend" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/vercel/turbo).
2022-12-03 08:54:50 +00:00
Leah
122983cf39 fix dynamic paths (vercel/turbo#2884) 2022-12-02 18:27:02 +01:00
Leah
b1eb3ea7a6 simplify next-binding (vercel/turbo#2899) 2022-12-01 21:02:33 +01:00
Justin Ridgewell
32d4cad89a Support basic next/image loading (vercel/turbo#2481)
This implements basic support for serving the images requested by `next/image` and `next/future/image`. The big missing features are:

- image width resizing (and thus blurry image placeholders)
- image quality encoding
- format re-encoding

This required a lot more work than I expected, because we have to also override the `remotePatterns` to allow using `next/image` with remote images. The only way I found to do this was to override the `__NEXT_IMAGE_OPTS` env var, which is a special object value injected by webpack's `DefinePlugin` as if it were an `process.env` value.

Fixes https://github.com/vercel/web-tooling-internal/issues/5
Porting from https://github.com/vercel/the-three-body/pull/212
Fixes WEB-150
Fixes WEB-2
2022-12-01 14:25:52 +00:00
LongYinan
235b3c3c08 Split turbopack-node from next-core (vercel/turbo#2874) 2022-12-01 05:51:58 +00:00
Will Binns-Smith
d1e72c8b49 Run taplo format and check consistency in CI (vercel/turbo#2866)
* Add GitHub action step for taplo --check

* Run taplo format
2022-11-30 19:05:07 -08:00
Leah
65016c65e3 display multiple issues in overlay (vercel/turbo#2803) 2022-11-29 18:05:52 +01:00
Leah
b680327280 error overlay redesign (vercel/turbo#2831)
* refactor exports

* tabs + styles + icons
2022-11-29 14:38:22 +01:00
Alex Kirszenberg
4ebc389478 Make task stats take less memory by default (vercel/turbo#2765)
* Make task stats take less memory by default

* Swap order of condition operands

* TaskStats -> ExportedTaskStats

* Add full stats disclaimers

* Clippy

* Fix duplicate labels

* Move stats type reporting to TurboTasks

* Fix turbotrace and turbopack visualization

* Store last duration and execution as SmallDurations

Co-authored-by: Tobias Koppers <tobias.koppers@googlemail.com>
2022-11-29 11:48:57 +01:00
Tobias Koppers
e489b1effe fix and improve hanging detection (vercel/turbo#2827)
Commit 1: It took me hours to figure out this unsafe problem...

Commit 2: updates tokio

Commit 3: improves hanging detection to allow to attach notes to event listeners
2022-11-29 02:03:35 +00:00
OJ Kwon
1f38dcdf39 build(cargo): setup next-binding package (vercel/turbo#2813)
* build(cargo): setup next-binding package

* build(cargo): update dependencies

* style(toml): update config

* ci(actions): check next-binding

* feat(next-binding): reexports

* build(cargo): update lockfile
2022-11-28 09:18:46 -08:00
Alex Kirszenberg
e2880a14c2 Sample many modules in benchmarks + reliability fixes (vercel/turbo#2750)
* Sample many modules in benchmarks + reliability fixes

* Fix depth sampling to be uniform

* Fix Webpack benchmark

* Only use detector component for RSC

* Clippy

* Clippy
2022-11-28 16:42:32 +01:00
Leah
c0b3e0a1c1 get upstream error overlay changes and fix typescript errors (vercel/turbo#2830)
* pull upstream changes

* ts fixes
2022-11-25 21:06:37 +01:00
Leah
1603cd2cff fix fallback overlay (vercel/turbo#2829) 2022-11-25 17:46:40 +01:00
OJ Kwon
4a6959da43 fix(next-dev): disable git version info (vercel/turbo#2815) 2022-11-22 19:55:56 -08:00
OJ Kwon
0b841ad61f feat(next/dev): allow to display version (vercel/turbo#2793) 2022-11-22 08:50:27 -08:00
OJ Kwon
4a05036850 feat(next-dev): support port via env variable (vercel/turbo#2770) 2022-11-18 17:31:31 -08:00
Tobias Koppers
fd2688b984 add benchmarks for Vite SSR and SWC (vercel/turbo#2751) 2022-11-17 15:58:19 +01:00
Tobias Koppers
16e27669da fix HMR for RSC benchmarking (vercel/turbo#2698)
measure hmr_to_commit with detector component

add Next.js 13 to benchmarks with RSC and RCC measurements

this tests RSC HMR

make HMR warmup faster

make browser launch lazy

test benchmarks for other bundlers on CI too

# Conflicts:
#	.github/workflows/test.yml
#	crates/next-dev/benches/mod.rs
2022-11-16 18:59:09 +01:00
Tobias Koppers
3c8bf5cb33 use latest version for parcel and webpack too (vercel/turbo#2678) 2022-11-16 16:14:46 +01:00
Tobias Koppers
7e2173c092 use iterations feature from criterion (vercel/turbo#2708)
* use iterations feature from criterion

move startup, warmup and teardown out of the iteration loop to avoid tracking this time as elapsed time
this allows criterion to use the measurement time correctly for the measured task

prefer slope over mean when possible as it estimates the real time (excluding warmup)

* remove warmup argument

* stop server for next iteration

* refactor

* restore verbose info, exclude file read from timing

* add a little bit of delay between HMR updates

* make a warmup change

* no need to copy template dir for HMR benchmark

* add delay after warmup change

* add watch benchmark

* add/fix comments

* fix env var in CI
2022-11-16 15:45:11 +01:00
Florentin / 珞辰
6225f75a06 feat: polyfill global with globalThis (vercel/turbo#2666)
This PR changes the ecmascript chunk logic to polyfill `global` with `globalThis`. A more complex and less performant solution (but with the benefit of us knowing the runtime environment) would be to add an effect for simple identifier expressions.
2022-11-14 18:10:08 +00:00
Tobias Koppers
886a86d98b retry launching browser in test suite (vercel/turbo#2695) 2022-11-14 15:32:54 +01:00
Tobias Koppers
5320ba564f update next.js to 13.0.3 (vercel/turbo#2677) 2022-11-14 10:57:59 +00:00
Tobias Koppers
32593ea30d retry CI setup steps if needed (vercel/turbo#2692)
* retry setup steps if needed

* retry install nextest step

* retry browser launch

* ignore errors from PR comment failing due to PR from fork
2022-11-14 10:35:06 +01:00
Alex Kirszenberg
9711a7ef4a Add profiling docs (vercel/turbo#2664)
Co-authored-by: Tobias Koppers <tobias.koppers@googlemail.com>
2022-11-14 10:26:39 +01:00
OJ Kwon
af6d90d2b6 feat(next-dev): align devserver cli options to napi bindings (vercel/turbo#2653) 2022-11-11 17:42:32 -08:00
Tobias Koppers
00b15975bb clippy (vercel/turbo#2662) 2022-11-10 10:54:31 +01:00
Tobias Koppers
810508aed0 add different keyed app route elements (vercel/turbo#2636)
* add different keyed app route elements

* update for latest next.js canary version

* fix header name

* setup next.js version in benchmark
2022-11-09 21:04:57 +01:00
Tobias Koppers
3d690b2778 order routes by specificity (vercel/turbo#2614)
* bugfix source maps in app dir

* add specificity

static assets are preferred over dynamic matches
2022-11-08 17:44:57 +01:00
Tobias Koppers
b893baacf8 add RSC and RCC for turbopack to benchmarks (vercel/turbo#2620)
* fixup ropes

* add RSC and RCC for turbopack to benchmarks

RSC: whole page is a server component
RCC: whole page is a client component

add `app` directory to test app
2022-11-07 17:51:35 +01:00
Justin Ridgewell
35ae595de5 Implement Ropes for shared string construction (vercel/turbo#2525) 2022-11-04 15:42:18 -04:00
OJ Kwon
26cfc649d6 refactor(next/dev): do not expose unsupported cli options (vercel/turbo#2586) 2022-11-03 13:44:23 -07:00
Justin Ridgewell
196ac9717c Fix React Refresh boundary finding for CSR (vercel/turbo#2574)
* Fix React Refresh boundary finding

We forgot to enable the transform, which means we were rendering from the root of the app instead of the changed component.

* Update snapshots

* Add comment

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-11-03 16:28:47 +01:00
LongYinan
e08865cafd Merge turbo crate into cargo workspace (vercel/turbo#2577) 2022-11-03 23:01:50 +08:00
Alex Kirszenberg
e8c027ffb2 Use mimalloc in next-dev (vercel/turbo#2467) 2022-11-03 07:01:39 +00:00
Tobias Koppers
beed9fb626 add benchmark documentation and blog post (vercel/turbo#2492)
Co-authored-by: Anthony Shew <anthony.shew@vercel.com>
Co-authored-by: Jared Palmer <jared@jaredpalmer.com>
Co-authored-by: Maia Teegarden <dev@padmaia.rocks>
Co-authored-by: Will Binns-Smith <wbinnssmith@gmail.com>
Co-authored-by: Alex Kirszenberg <alex.kirszenberg@vercel.com>
Co-authored-by: Matt Pocock <mattpocockvoice@gmail.com>
2022-11-01 00:08:56 +01:00
OJ Kwon
36daa2bf52 feat(next/dev): allow to retry bind (vercel/turbo#2480) 2022-10-30 12:05:37 -07:00
Tobias Koppers
091af50322 add TURBOPACK_BENCH_PROGRESS to show captured values during bench (vercel/turbo#2490) 2022-10-29 18:13:39 +02:00
Alex Kirszenberg
9b5c2e39ea Simplify benchmark warmup (vercel/turbo#2483)
* Simplify benchmark warmup

* Update crates/next-dev/benches/mod.rs

Co-authored-by: Tobias Koppers <tobias.koppers@googlemail.com>

* fmt

Co-authored-by: Tobias Koppers <tobias.koppers@googlemail.com>
2022-10-29 09:37:52 +02:00
Justin Ridgewell
9fc8c13877 Faster source map tracing (vercel/turbo#2426)
* Store the sourcemap::SourceMap directly, instead of encoding it

* Implement GenerateSourceMap trait and use it to retrieve live maps

* Cleanup and comments!

* Update safety comment

* Rename var

* Update snapshots

* Update snapshots

* Fix tracing errors in SSR

SSR has access to `EcmascriptChunkVc`, not `EcmascriptChunkContentVc`. Client gets access only to `EcmascriptChunkContentVc`

* Fix source map sources on client

Because the JS is nested in dirs, the source needs to be an absolute path.

Co-authored-by: Jared Palmer <jared@jaredpalmer.com>
2022-10-29 01:16:05 +02:00
Tobias Koppers
befc272a8c remove require hook (vercel/turbo#2473) 2022-10-29 00:24:25 +02:00
Tobias Koppers
f9fb452b32 improve startup and warmup of benchmarks (vercel/turbo#2463) 2022-10-28 21:56:33 +02:00
Tobias Koppers
69d98a5bde make sure to exit the process in case of errors during errors sending (vercel/turbo#2457) 2022-10-28 20:56:40 +02:00
OJ Kwon
2af748edd4 refactor(next/dev): reusable start_server (vercel/turbo#2455) 2022-10-28 09:41:46 -07:00