Commit graph

137 commits

Author SHA1 Message Date
Leah
1d4821382b fix css layer import (vercel/turbo#195)
kdy1 fixes this upstream
2022-08-03 03:37:56 +00:00
Will Binns-Smith
01a7e41834 Extract server creation into own function and module (vercel/turbo#191)
* Extract server creation into fn

* Use builder pattern and anyhow context
2022-08-02 16:28:11 -07:00
Alex Kirszenberg
8fad8a6881 Custom debug implementation for Vcs (vercel/turbo#193)
This PR builds our own `Debug`-like derive-macro machinery for formatting structs, relying on `std::fmt::Formatter` for the actual formatting.

### Usage

A new `ValueDebug` trait is automatically implemented for all `#[turbo_tasks::value]`s, which has a single `.dbg()` method which resolves to a debug representation that can then be printed to the screen. `#[turbo_tasks::value_trait]` also implement the `.dbg()` method directly.

```rust
dbg!(any_vc.dbg().await?);
```

If you have a `#[turbo_tasks::value]` struct with a field that doesn't implement `Debug`, you'll want to declare that field as `#[debug_ignore]`. For instance:

```rust
#[turbo_tasks::value(ContentSource, serialization: none, eq: manual, cell: new, into: new)]
pub struct TurboTasksSource {
    #[debug_ignore]
    #[trace_ignore]
    pub turbo_tasks: Arc<TurboTasks<MemoryBackend>>,
}
```

### Why not use `Debug` directly?

We can't use `Debug` because our values are resolved asynchronously and can nest `Vc`s arbitrarily. I tried using `futures::executor::block_on` to resolve them synchronously in a `Debug` implementation but that causes deadlocks.
2022-08-02 17:36:48 +00:00
Tobias Koppers
12d720ff48 refactor lazy asset to lazy graph content source (vercel/turbo#186) 2022-08-01 07:53:09 +00:00
Tobias Koppers
41c2dfd2de introduce ContentSource as source for the dev server (vercel/turbo#185)
and potentially a next build in future
2022-08-01 07:02:53 +00:00
Tobias Koppers
52557b1c4d introduce an Environment and track that for the graph and Assets (vercel/turbo#167) 2022-07-27 22:33:14 +00:00
Will Binns-Smith
45b409393d Move browser opening to next-dev cli (vercel/turbo#169)
Cherry-picking this from my work on the next-dev test runner.

This moves browser opening from the turbopack-dev-server crate into the next-dev crate, which has the cli entrypoint that runs the dev server. It looks like the dev server package is meant to be used as a library (it's only a library crate), and having this external side effect feels unexpected and makes it difficult to use this crate in situations like a test runner for next-dev, where we should test with a headless web browser.

Alternatively, opening the browser could be an option passed when creating the dev server, but this feels a bit cleaner to me.

Test Plan: `cargo run -p next-dev` and verify the browser still opens and successfully connects to the dev server.
2022-07-27 19:09:11 +00:00
Tobias Koppers
eb417b1e25 cleanup compile target (vercel/turbo#157) 2022-07-27 11:36:10 +02:00
Tobias Koppers
d4a50bfd0c reduce number of clippy warnings (vercel/turbo#164) 2022-07-27 08:13:29 +00:00
LongYinan
a55a831b39 Node Module Trace webpack plugin (vercel/turbo#140)
* Initialize Node.js/TypeScript workspace

* node-module-trace Webpack plugin

* Add new fmt checks to pipeline

* Popup unwind error

* Implement --exact flag

* Yarn 3.2.2

* Reformat toml files

* Fix socket io test, 100ms timeout is too long

* remove unnecessary CI cache config

* regenerate lockfile from old lockfile, align the dependencies version

* Run nmt tests in system tmp dir

* Apply code review suggestions

* allow to wait for task completion and propagate errors and panics

* revert method addition

* spawn_root_task should be sync

Co-authored-by: Tobias Koppers <tobias.koppers@googlemail.com>
2022-07-22 12:36:08 +02:00
Tobias Koppers
115c5008e4 Merge pull request vercel/turbo#146 from vercel/feat/eager-compile
allow to switch to eager compiling
2022-07-21 16:04:10 +02:00
Tobias Koppers
144e95bc4e allow to switch to eager compiling 2022-07-21 13:22:42 +02:00
Tobias Koppers
fb1bc5a55f make websocket task special as it never completes
aggregate timings before displaying
2022-07-20 19:49:27 +02:00
Tobias Koppers
a12541a06a add performance table 2022-07-19 10:54:53 +02:00
Justin Ridgewell
099e5c7c4b next-dev: Fix watching relative directories
Fixes vercel/turbo#107
2022-07-18 17:56:26 -04:00
Tobias Koppers
7dd4fa9d11 Merge pull request vercel/turbo#115 from vercel/refactor/util-duration
add util for formating durations
2022-07-18 22:28:05 +02:00
Tobias Koppers
aa64055055 add util for formating durations 2022-07-18 21:39:55 +02:00
Tobias Koppers
6626a9d4d1 Merge pull request vercel/turbo#108 from vercel/demo/cra
Add features and workarounds for the demo
2022-07-18 20:24:15 +02:00
Tobias Koppers
f134e1104c fixup paths 2022-07-18 18:11:13 +02:00
Tobias Koppers
68e0b89232 Merge pull request vercel/turbo#94 from vercel/bundle/chunk-gen
add bootstrap logic for ecmascript chunks
2022-07-13 09:10:41 +02:00
Tobias Koppers
85ae4b5036 add bootstrap logic for chunks 2022-07-13 08:37:12 +02:00
Tobias Koppers
38ae1d1fa8 Merge pull request vercel/turbo#96 from vercel/next-dev_args
match `next dev` args in `next-dev` bin
2022-07-12 20:02:22 +02:00
Leah
2909fd07ca fmt 2022-07-12 17:17:23 +02:00
Leah
cd647d7fc4 match next dev args 2022-07-12 17:09:16 +02:00
Tobias Koppers
df60bd1c89 Merge pull request vercel/turbo#90 from vercel/turbo-tasks/scopes
turbo-tasks refactoring for task scopes
2022-07-08 17:31:20 +02:00
Tobias Koppers
99e015c41f complete strongly consistent read
performance improvements
2022-07-08 15:05:51 +02:00
Tobias Koppers
878dd09578 improve visualization
make TransientValue functional
make console-subscriber an optional feature
avoid cloning when calling a function
capture timings of task executions
fix LazyAsset
expose graph from dev server
2022-07-08 14:52:28 +02:00
Tobias Koppers
313a57ac10 Merge pull request vercel/turbo#84 from vercel/docs/core
cleanup and documentation
2022-06-30 14:31:31 +02:00
Tobias Koppers
89f6ad1151 cleanup and documentation 2022-06-30 13:54:04 +02:00
Tobias Koppers
68b43cae81 Merge pull request vercel/turbo#81 from vercel/resolve-css-imports
feat: resolve css imports and add docs
2022-06-29 23:57:00 +02:00
Leah
667507c5ca don't like these quoted names lol 2022-06-29 18:09:41 +02:00
Tobias Koppers
34fc9db52e Merge pull request vercel/turbo#78 from vercel/persistent-cache/feature
place the persistent cache behind a feature flag
2022-06-29 10:16:43 +02:00
Tobias Koppers
db41ef8432 place the persistent cache behind a feature flag 2022-06-29 09:40:11 +02:00
Tobias Koppers
476de325b9 Merge pull request vercel/turbo#76 from vercel/bundle/initial-work
initial work towards bundling and chunking
2022-06-28 15:51:05 +02:00
Tobias Koppers
54985ab83d chunking and bugfixes 2022-06-28 10:21:04 +02:00
Tobias Koppers
b3df7a862e abstract lazy graph into Asset decorator
enable watching for dev server
2022-06-14 12:53:46 +02:00
Tobias Koppers
e7c2d1e932 add initial dev-server and next-dev cli 2022-06-14 12:53:46 +02:00