introduce an Environment and track that for the graph and Assets (vercel/turbo#167)
This commit is contained in:
parent
45b409393d
commit
52557b1c4d
1 changed files with 15 additions and 6 deletions
|
@ -12,19 +12,17 @@ use std::{
|
||||||
|
|
||||||
use anyhow::anyhow;
|
use anyhow::anyhow;
|
||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
use turbo_tasks::{util::FormatDuration, TransientValue, TurboTasks};
|
use turbo_tasks::{util::FormatDuration, TransientValue, TurboTasks, Value};
|
||||||
use turbo_tasks_fs::{DiskFileSystemVc, FileSystemPathVc};
|
use turbo_tasks_fs::{DiskFileSystemVc, FileSystemPathVc};
|
||||||
use turbo_tasks_memory::{stats::Stats, viz, MemoryBackend};
|
use turbo_tasks_memory::{stats::Stats, viz, MemoryBackend};
|
||||||
use turbopack::{
|
use turbopack::{ecmascript::ModuleAssetVc as EcmascriptModuleAssetVc, ModuleAssetContextVc};
|
||||||
ecmascript::{target::CompileTargetVc, ModuleAssetVc as EcmascriptModuleAssetVc},
|
|
||||||
GraphOptionsVc, ModuleAssetContextVc,
|
|
||||||
};
|
|
||||||
use turbopack_core::{
|
use turbopack_core::{
|
||||||
chunk::{
|
chunk::{
|
||||||
dev::{DevChunkingContext, DevChunkingContextVc},
|
dev::{DevChunkingContext, DevChunkingContextVc},
|
||||||
ChunkGroupVc, ChunkableAssetVc,
|
ChunkGroupVc, ChunkableAssetVc,
|
||||||
},
|
},
|
||||||
context::AssetContextVc,
|
context::AssetContextVc,
|
||||||
|
environment::{BrowserEnvironment, EnvironmentIntention, EnvironmentVc, ExecutionEnvironment},
|
||||||
lazy::LazyAssetVc,
|
lazy::LazyAssetVc,
|
||||||
source_asset::SourceAssetVc,
|
source_asset::SourceAssetVc,
|
||||||
};
|
};
|
||||||
|
@ -83,7 +81,18 @@ async fn main() {
|
||||||
let source_asset = SourceAssetVc::new(FileSystemPathVc::new(fs, "src/index.js")).into();
|
let source_asset = SourceAssetVc::new(FileSystemPathVc::new(fs, "src/index.js")).into();
|
||||||
let context: AssetContextVc = ModuleAssetContextVc::new(
|
let context: AssetContextVc = ModuleAssetContextVc::new(
|
||||||
root,
|
root,
|
||||||
GraphOptionsVc::new(false, false, CompileTargetVc::current()),
|
EnvironmentVc::new(
|
||||||
|
Value::new(ExecutionEnvironment::Browser(
|
||||||
|
BrowserEnvironment {
|
||||||
|
dom: true,
|
||||||
|
web_worker: false,
|
||||||
|
service_worker: false,
|
||||||
|
browser_version: 0,
|
||||||
|
}
|
||||||
|
.into(),
|
||||||
|
)),
|
||||||
|
Value::new(EnvironmentIntention::Client),
|
||||||
|
),
|
||||||
)
|
)
|
||||||
.into();
|
.into();
|
||||||
let module = context.process(source_asset);
|
let module = context.process(source_asset);
|
||||||
|
|
Loading…
Reference in a new issue