diff --git a/crates/turbopack-ecmascript-runtime/js/src/dev/client/hmr-client.ts b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/client/hmr-client.ts
similarity index 100%
rename from crates/turbopack-ecmascript-runtime/js/src/dev/client/hmr-client.ts
rename to crates/turbopack-ecmascript-runtime/js/src/browser/dev/client/hmr-client.ts
diff --git a/crates/turbopack-ecmascript-runtime/js/src/dev/client/index.ts b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/client/index.ts
similarity index 100%
rename from crates/turbopack-ecmascript-runtime/js/src/dev/client/index.ts
rename to crates/turbopack-ecmascript-runtime/js/src/browser/dev/client/index.ts
diff --git a/crates/turbopack-ecmascript-runtime/js/src/dev/client/tsconfig.json b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/client/tsconfig.json
similarity index 77%
rename from crates/turbopack-ecmascript-runtime/js/src/dev/client/tsconfig.json
rename to crates/turbopack-ecmascript-runtime/js/src/browser/dev/client/tsconfig.json
index 09c509a96c64f..7ce726cb8210c 100644
--- a/crates/turbopack-ecmascript-runtime/js/src/dev/client/tsconfig.json
+++ b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/client/tsconfig.json
@@ -1,5 +1,5 @@
{
- "extends": "../../tsconfig.base.json",
+ "extends": "../../../tsconfig.base.json",
"compilerOptions": {
"skipLibCheck": true,
diff --git a/crates/turbopack-ecmascript-runtime/js/src/dev/client/websocket.ts b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/client/websocket.ts
similarity index 100%
rename from crates/turbopack-ecmascript-runtime/js/src/dev/client/websocket.ts
rename to crates/turbopack-ecmascript-runtime/js/src/browser/dev/client/websocket.ts
diff --git a/crates/turbopack-ecmascript-runtime/js/src/dev/runtime/base/dummy.ts b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/base/dummy.ts
similarity index 100%
rename from crates/turbopack-ecmascript-runtime/js/src/dev/runtime/base/dummy.ts
rename to crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/base/dummy.ts
diff --git a/crates/turbopack-ecmascript-runtime/js/src/dev/runtime/base/extensions.d.ts b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/base/extensions.d.ts
similarity index 100%
rename from crates/turbopack-ecmascript-runtime/js/src/dev/runtime/base/extensions.d.ts
rename to crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/base/extensions.d.ts
diff --git a/crates/turbopack-ecmascript-runtime/js/src/dev/runtime/base/globals.d.ts b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/base/globals.d.ts
similarity index 100%
rename from crates/turbopack-ecmascript-runtime/js/src/dev/runtime/base/globals.d.ts
rename to crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/base/globals.d.ts
diff --git a/crates/turbopack-ecmascript-runtime/js/src/dev/runtime/base/protocol.d.ts b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/base/protocol.d.ts
similarity index 100%
rename from crates/turbopack-ecmascript-runtime/js/src/dev/runtime/base/protocol.d.ts
rename to crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/base/protocol.d.ts
diff --git a/crates/turbopack-ecmascript-runtime/js/src/dev/runtime/base/runtime-base.ts b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/base/runtime-base.ts
similarity index 100%
rename from crates/turbopack-ecmascript-runtime/js/src/dev/runtime/base/runtime-base.ts
rename to crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/base/runtime-base.ts
diff --git a/crates/turbopack-ecmascript-runtime/js/src/dev/runtime/base/tsconfig.json b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/base/tsconfig.json
similarity index 78%
rename from crates/turbopack-ecmascript-runtime/js/src/dev/runtime/base/tsconfig.json
rename to crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/base/tsconfig.json
index 5aa7968522993..cc70058649bb6 100644
--- a/crates/turbopack-ecmascript-runtime/js/src/dev/runtime/base/tsconfig.json
+++ b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/base/tsconfig.json
@@ -1,5 +1,5 @@
{
- "extends": "../../../tsconfig.base.json",
+ "extends": "../../../../tsconfig.base.json",
"compilerOptions": {
// environment, we need WebWorker for WebAssembly types
"lib": ["ESNext", "WebWorker"]
diff --git a/crates/turbopack-ecmascript-runtime/js/src/dev/runtime/dom/runtime-backend-dom.ts b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/dom/runtime-backend-dom.ts
similarity index 100%
rename from crates/turbopack-ecmascript-runtime/js/src/dev/runtime/dom/runtime-backend-dom.ts
rename to crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/dom/runtime-backend-dom.ts
diff --git a/crates/turbopack-ecmascript-runtime/js/src/dev/runtime/dom/tsconfig.json b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/dom/tsconfig.json
similarity index 68%
rename from crates/turbopack-ecmascript-runtime/js/src/dev/runtime/dom/tsconfig.json
rename to crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/dom/tsconfig.json
index 0cb03c3d26a4e..802c6823e3451 100644
--- a/crates/turbopack-ecmascript-runtime/js/src/dev/runtime/dom/tsconfig.json
+++ b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/dom/tsconfig.json
@@ -1,5 +1,5 @@
{
- "extends": "../../../tsconfig.base.json",
+ "extends": "../../../../tsconfig.base.json",
"compilerOptions": {
// environment
"lib": ["ESNext", "DOM"]
diff --git a/crates/turbopack-ecmascript-runtime/js/src/dev/runtime/nodejs/runtime-backend-nodejs.ts b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/nodejs/runtime-backend-nodejs.ts
similarity index 100%
rename from crates/turbopack-ecmascript-runtime/js/src/dev/runtime/nodejs/runtime-backend-nodejs.ts
rename to crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/nodejs/runtime-backend-nodejs.ts
diff --git a/crates/turbopack-ecmascript-runtime/js/src/dev/runtime/nodejs/tsconfig.json b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/nodejs/tsconfig.json
similarity index 81%
rename from crates/turbopack-ecmascript-runtime/js/src/dev/runtime/nodejs/tsconfig.json
rename to crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/nodejs/tsconfig.json
index 7c9a07e9671f7..faf5e6862b64d 100644
--- a/crates/turbopack-ecmascript-runtime/js/src/dev/runtime/nodejs/tsconfig.json
+++ b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/nodejs/tsconfig.json
@@ -1,5 +1,5 @@
{
- "extends": "../../../tsconfig.base.json",
+ "extends": "../../../../tsconfig.base.json",
"compilerOptions": {
// environment, we need WebWorker for WebAssembly types (not part of @types/node yet)
"lib": ["ESNext", "WebWorker"],
diff --git a/crates/turbopack-ecmascript-runtime/js/src/dev/runtime/none/runtime-backend-none.ts b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/none/runtime-backend-none.ts
similarity index 100%
rename from crates/turbopack-ecmascript-runtime/js/src/dev/runtime/none/runtime-backend-none.ts
rename to crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/none/runtime-backend-none.ts
diff --git a/crates/turbopack-ecmascript-runtime/js/src/dev/runtime/none/tsconfig.json b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/none/tsconfig.json
similarity index 76%
rename from crates/turbopack-ecmascript-runtime/js/src/dev/runtime/none/tsconfig.json
rename to crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/none/tsconfig.json
index 5722142375561..fabb2ed16dbbb 100644
--- a/crates/turbopack-ecmascript-runtime/js/src/dev/runtime/none/tsconfig.json
+++ b/crates/turbopack-ecmascript-runtime/js/src/browser/dev/runtime/none/tsconfig.json
@@ -1,5 +1,5 @@
{
- "extends": "../../../tsconfig.base.json",
+ "extends": "../../../../tsconfig.base.json",
"compilerOptions": {
// environment, we need WebWorker for WebAssembly types
"lib": ["ESNext", "WebWorker"]
diff --git a/crates/turbopack-ecmascript-runtime/js/src/build/runtime.ts b/crates/turbopack-ecmascript-runtime/js/src/nodejs/dev/runtime.ts
similarity index 96%
rename from crates/turbopack-ecmascript-runtime/js/src/build/runtime.ts
rename to crates/turbopack-ecmascript-runtime/js/src/nodejs/dev/runtime.ts
index acfdeaa5e003b..d2d1a21a22e5e 100644
--- a/crates/turbopack-ecmascript-runtime/js/src/build/runtime.ts
+++ b/crates/turbopack-ecmascript-runtime/js/src/nodejs/dev/runtime.ts
@@ -1,7 +1,7 @@
-///
-///
-///
-///
+///
+///
+///
+///
enum SourceType {
/**
diff --git a/crates/turbopack-ecmascript-runtime/js/src/build/tsconfig.json b/crates/turbopack-ecmascript-runtime/js/src/nodejs/dev/tsconfig.json
similarity index 83%
rename from crates/turbopack-ecmascript-runtime/js/src/build/tsconfig.json
rename to crates/turbopack-ecmascript-runtime/js/src/nodejs/dev/tsconfig.json
index fbc393330f47e..54f3b349ba3ee 100644
--- a/crates/turbopack-ecmascript-runtime/js/src/build/tsconfig.json
+++ b/crates/turbopack-ecmascript-runtime/js/src/nodejs/dev/tsconfig.json
@@ -1,5 +1,5 @@
{
- "extends": "../tsconfig.base.json",
+ "extends": "../../tsconfig.base.json",
"compilerOptions": {
// environment, we need WebWorker for WebAssembly types (not part of @types/node yet)
"lib": ["ESNext", "WebWorker"],
diff --git a/crates/turbopack-ecmascript-runtime/src/dev_runtime.rs b/crates/turbopack-ecmascript-runtime/src/browser_runtime.rs
similarity index 84%
rename from crates/turbopack-ecmascript-runtime/src/dev_runtime.rs
rename to crates/turbopack-ecmascript-runtime/src/browser_runtime.rs
index 48ebb2a2d4965..445560ed4a018 100644
--- a/crates/turbopack-ecmascript-runtime/src/dev_runtime.rs
+++ b/crates/turbopack-ecmascript-runtime/src/browser_runtime.rs
@@ -25,7 +25,7 @@ pub async fn get_browser_runtime_code(
embed_static_code(asset_context, "shared/runtime-utils.ts".to_string());
let runtime_base_code = embed_static_code(
asset_context,
- "dev/runtime/base/runtime-base.ts".to_string(),
+ "browser/dev/runtime/base/runtime-base.ts".to_string(),
);
let chunk_loading = &*asset_context
@@ -34,14 +34,15 @@ pub async fn get_browser_runtime_code(
.chunk_loading()
.await?;
- let runtime_backend_code = embed_static_code(
- asset_context,
- match chunk_loading {
- ChunkLoading::None => "dev/runtime/none/runtime-backend-none.ts".to_string(),
- ChunkLoading::NodeJs => "dev/runtime/nodejs/runtime-backend-nodejs.ts".to_string(),
- ChunkLoading::Dom => "dev/runtime/dom/runtime-backend-dom.ts".to_string(),
- },
- );
+ let match_result = match chunk_loading {
+ ChunkLoading::None => "browser/dev/runtime/none/runtime-backend-none.ts".to_string(),
+ ChunkLoading::NodeJs => "browser/dev/runtime/nodejs/runtime-backend-nodejs.ts".to_string(),
+ ChunkLoading::Dom => "browser/dev/runtime/dom/runtime-backend-dom.ts".to_string(),
+ };
+
+ println!("match_result: {:?}", match_result);
+
+ let runtime_backend_code = embed_static_code(asset_context, match_result);
let mut code: CodeBuilder = CodeBuilder::default();
let output_root = output_root.await?.to_string();
diff --git a/crates/turbopack-ecmascript-runtime/src/lib.rs b/crates/turbopack-ecmascript-runtime/src/lib.rs
index eb8c68d98fedf..c2b22fd5a2a15 100644
--- a/crates/turbopack-ecmascript-runtime/src/lib.rs
+++ b/crates/turbopack-ecmascript-runtime/src/lib.rs
@@ -1,18 +1,18 @@
#![feature(arbitrary_self_types)]
pub(crate) mod asset_context;
-pub(crate) mod build_runtime;
-pub(crate) mod dev_runtime;
+pub(crate) mod browser_runtime;
#[cfg(feature = "test")]
pub(crate) mod dummy_runtime;
pub(crate) mod embed_js;
+pub(crate) mod nodejs_runtime;
pub(crate) mod runtime_type;
-pub use build_runtime::get_nodejs_runtime_code;
-pub use dev_runtime::get_browser_runtime_code;
+pub use browser_runtime::get_browser_runtime_code;
#[cfg(feature = "test")]
pub use dummy_runtime::get_dummy_runtime_code;
pub use embed_js::{embed_file, embed_file_path, embed_fs};
+pub use nodejs_runtime::get_nodejs_runtime_code;
pub use runtime_type::RuntimeType;
pub fn register() {
diff --git a/crates/turbopack-ecmascript-runtime/src/build_runtime.rs b/crates/turbopack-ecmascript-runtime/src/nodejs_runtime.rs
similarity index 93%
rename from crates/turbopack-ecmascript-runtime/src/build_runtime.rs
rename to crates/turbopack-ecmascript-runtime/src/nodejs_runtime.rs
index 2c7a309fbf63e..ef85a97db8471 100644
--- a/crates/turbopack-ecmascript-runtime/src/build_runtime.rs
+++ b/crates/turbopack-ecmascript-runtime/src/nodejs_runtime.rs
@@ -24,7 +24,7 @@ pub async fn get_nodejs_runtime_code(environment: Vc) -> Result