build(next-swc): introduce turbo-binding (#47512)

<!-- Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that
you follow the checklist sections below.
Choose the right checklist for the change(s) that you're making:

## For Contributors

### Improving Documentation or adding/fixing Examples

- The "examples guidelines" are followed from our contributing doc
https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md
- Make sure the linting passes by running `pnpm build && pnpm lint`. See
https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md

### Fixing a bug

- Related issues linked using `fixes #number`
- Tests added. See:
https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md

### Adding a feature

- Implements an existing feature request or RFC. Make sure the feature
request has been accepted for implementation before opening a PR. (A
discussion must be opened, see
https://github.com/vercel/next.js/discussions/new?category=ideas)
- Related issues/discussions are linked using `fixes #number`
- e2e tests added
(https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs
- Documentation added
- Telemetry added. In case of a feature if it's used or not.
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md



## For Maintainers

- Minimal description (aim for explaining to someone not on the team to
understand the PR)
- When linking to a Slack thread, you might want to share details of the
conclusion
- Link both the Linear (Fixes NEXT-xxx) and the GitHub issues
- Add review comments if necessary to explain to the reviewer the logic
behind a change

### What?

### Why?

### How?

Closes NEXT-
Fixes #

-->

### What?

Part of WEB-736.

This PR refactors imports to turbopack to turbo-binding, as same as we
used to do with next-binding. Current next-binding in this repo doesn't
make sense anymore and removed. There are no functional changes. This'll
reducwe surface for the imports and also will make easier to run
integration test over latest turbopack.

Note swc dependency is not reflected in this PR yet - following PR will
update those imports.
This commit is contained in:
OJ Kwon 2023-03-29 20:25:11 -07:00 committed by GitHub
parent 0ed46203aa
commit 7e70ac64b3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
102 changed files with 659 additions and 827 deletions

View file

@ -1245,12 +1245,6 @@ dependencies = [
"syn 1.0.109",
]
[[package]]
name = "cty"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35"
[[package]]
name = "curl"
version = "0.4.44"
@ -1724,12 +1718,6 @@ dependencies = [
"syn 1.0.109",
]
[[package]]
name = "fs_extra"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
[[package]]
name = "fsevent"
version = "0.4.0"
@ -2884,26 +2872,6 @@ dependencies = [
"libmimalloc-sys",
]
[[package]]
name = "mimalloc-rust"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6973866e0bc6504c03a16b6817b7e70839cc8a1dbd5d6dab00c65d8034868d8b"
dependencies = [
"cty",
"mimalloc-rust-sys",
]
[[package]]
name = "mimalloc-rust-sys"
version = "1.7.6-source"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a50daf45336b979a202a19f53b4b382f2c4bd50f392a8dbdb4c6c56ba5dfa64"
dependencies = [
"cc",
"cty",
]
[[package]]
name = "mime"
version = "0.3.17"
@ -3117,32 +3085,13 @@ version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
[[package]]
name = "next-binding"
version = "0.1.0"
dependencies = [
"mdxjs",
"modularize_imports",
"next-build",
"next-dev",
"node-file-trace",
"styled_components",
"styled_jsx",
"swc_core",
"swc_emotion",
"testing",
]
[[package]]
name = "next-build"
version = "0.1.0"
dependencies = [
"anyhow",
"next-core",
"turbo-malloc",
"turbo-tasks",
"turbo-tasks-build",
"turbo-tasks-memory",
"turbo-binding",
"vergen",
]
@ -3152,7 +3101,6 @@ version = "0.1.0"
dependencies = [
"allsorts",
"anyhow",
"auto-hash-map",
"futures",
"indexmap",
"indoc",
@ -3166,20 +3114,9 @@ dependencies = [
"serde",
"serde_json",
"swc_core",
"turbo-binding",
"turbo-tasks",
"turbo-tasks-build",
"turbo-tasks-bytes",
"turbo-tasks-env",
"turbo-tasks-fetch",
"turbo-tasks-fs",
"turbo-tasks-hash",
"turbopack",
"turbopack-core",
"turbopack-dev",
"turbopack-dev-server",
"turbopack-ecmascript",
"turbopack-env",
"turbopack-node",
]
[[package]]
@ -3207,19 +3144,8 @@ dependencies = [
"tempfile",
"tokio",
"tungstenite 0.17.3",
"turbo-malloc",
"turbo-binding",
"turbo-tasks",
"turbo-tasks-build",
"turbo-tasks-fs",
"turbo-tasks-memory",
"turbo-tasks-testing",
"turbopack",
"turbopack-cli-utils",
"turbopack-core",
"turbopack-create-test-app",
"turbopack-dev",
"turbopack-dev-server",
"turbopack-node",
"url",
"vergen",
"webbrowser",
@ -3248,17 +3174,8 @@ dependencies = [
"testing",
"tokio",
"tungstenite 0.17.3",
"turbo-malloc",
"turbo-binding",
"turbo-tasks",
"turbo-tasks-build",
"turbo-tasks-fs",
"turbo-tasks-memory",
"turbo-tasks-testing",
"turbopack-cli-utils",
"turbopack-core",
"turbopack-dev-server",
"turbopack-node",
"turbopack-test-utils",
"url",
"webbrowser",
]
@ -3272,7 +3189,6 @@ dependencies = [
"either",
"fxhash",
"hex",
"next-binding",
"next-transform-font",
"once_cell",
"pathdiff",
@ -3282,6 +3198,7 @@ dependencies = [
"sha1 0.10.5",
"swc_relay",
"tracing",
"turbo-binding",
"walkdir",
]
@ -3295,7 +3212,8 @@ dependencies = [
"napi",
"napi-build",
"napi-derive",
"next-binding",
"next-build",
"next-dev",
"next-swc",
"once_cell",
"sentry",
@ -3305,10 +3223,7 @@ dependencies = [
"tracing-chrome",
"tracing-futures",
"tracing-subscriber",
"turbo-malloc",
"turbo-tasks",
"turbo-tasks-memory",
"turbopack",
"turbo-binding",
]
[[package]]
@ -3360,11 +3275,9 @@ version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230329.2#ad2bf568a12b25c06a88e0e0a508f053634084ee"
dependencies = [
"anyhow",
"clap 4.1.11",
"serde",
"serde_json",
"tokio",
"turbo-malloc",
"turbo-tasks",
"turbo-tasks-build",
"turbo-tasks-fs",
@ -5307,7 +5220,6 @@ dependencies = [
"swc_ecma_transforms_typescript",
"swc_ecma_utils",
"swc_ecma_visit",
"swc_node_base",
"swc_nodejs_common",
"swc_plugin_proxy",
"swc_plugin_runner",
@ -6043,16 +5955,6 @@ dependencies = [
"syn 1.0.109",
]
[[package]]
name = "swc_node_base"
version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6065892f97ac3f42280d0f3eadc351aeff552e8de4d459604bcd9c56eb799ade"
dependencies = [
"mimalloc-rust",
"tikv-jemallocator",
]
[[package]]
name = "swc_node_comments"
version = "0.16.37"
@ -6324,27 +6226,6 @@ dependencies = [
"once_cell",
]
[[package]]
name = "tikv-jemalloc-sys"
version = "0.4.3+5.2.1-patched.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1792ccb507d955b46af42c123ea8863668fae24d03721e40cad6a41773dbb49"
dependencies = [
"cc",
"fs_extra",
"libc",
]
[[package]]
name = "tikv-jemallocator"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5b7bcecfafe4998587d636f9ae9d55eb9d0499877b88757767c346875067098"
dependencies = [
"libc",
"tikv-jemalloc-sys",
]
[[package]]
name = "time"
version = "0.1.45"
@ -6757,6 +6638,43 @@ dependencies = [
"utf-8",
]
[[package]]
name = "turbo-binding"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230329.2#ad2bf568a12b25c06a88e0e0a508f053634084ee"
dependencies = [
"auto-hash-map",
"mdxjs",
"modularize_imports",
"node-file-trace",
"styled_components",
"styled_jsx",
"swc_core",
"swc_emotion",
"swc_relay",
"testing",
"turbo-malloc",
"turbo-tasks",
"turbo-tasks-build",
"turbo-tasks-bytes",
"turbo-tasks-env",
"turbo-tasks-fetch",
"turbo-tasks-fs",
"turbo-tasks-hash",
"turbo-tasks-memory",
"turbo-tasks-testing",
"turbopack",
"turbopack-cli-utils",
"turbopack-core",
"turbopack-create-test-app",
"turbopack-dev",
"turbopack-dev-server",
"turbopack-ecmascript",
"turbopack-env",
"turbopack-node",
"turbopack-test-utils",
]
[[package]]
name = "turbo-malloc"
version = "0.1.0"
@ -7522,7 +7440,6 @@ dependencies = [
"console_error_panic_hook",
"getrandom",
"js-sys",
"next-binding",
"next-swc",
"once_cell",
"parking_lot_core 0.8.0",
@ -7531,6 +7448,7 @@ dependencies = [
"serde-wasm-bindgen",
"serde_json",
"tracing",
"turbo-binding",
"wasm-bindgen",
"wasm-bindgen-futures",
]

View file

@ -4,7 +4,6 @@ members = [
"crates/core",
"crates/napi",
"crates/wasm",
"crates/next-binding",
"crates/next-build",
"crates/next-core",
"crates/next-dev",
@ -26,9 +25,9 @@ lto = true
[workspace.dependencies]
# Workspace crates
next-binding = { path = "crates/next-binding" }
next-build = { path = "crates/next-build" }
next-core = { path = "crates/next-core", default-features = false }
next-dev = { path = "crates/next-dev" }
next-dev = { path = "crates/next-dev", default-features = false, features = ["serializable"] }
next-dev-tests = { path = "crates/next-dev-tests" }
next-transform-font = { path = "crates/next-transform-font" }
next-transform-dynamic = { path = "crates/next-transform-dynamic" }
@ -46,35 +45,11 @@ swc_emotion = { version = "0.29.10" }
testing = { version = "0.31.31" }
# Turbo crates
auto-hash-map = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
node-file-trace = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbo-malloc = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2", default-features = false }
turbo-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
# [TODO]: need to refactor embed_directory! macro usages, as well as resolving turbo_tasks::function, macros..
turbo-tasks = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbo-tasks-build = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbo-tasks-bytes = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbo-tasks-env = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbo-tasks-fetch = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2", default-features = false }
# [TODO]: need to refactor embed_directory! macro usage in next-core
turbo-tasks-fs = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbo-tasks-hash = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbo-tasks-macros = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbo-tasks-macros-shared = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbo-tasks-memory = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbo-tasks-testing = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbopack = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbopack-cli-utils = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbopack-core = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbopack-create-test-app = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbopack-css = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbopack-dev = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbopack-dev-server = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbopack-ecmascript = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbopack-env = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbopack-json = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbopack-mdx = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbopack-node = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbopack-static = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbopack-swc-utils = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
turbopack-test-utils = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230329.2" }
# General Deps

View file

@ -5,7 +5,7 @@ version = "0.0.0"
publish = false
[features]
plugin = ["next-binding/__swc_core_binding_napi_plugin"]
plugin = ["turbo-binding/__swc_core_binding_napi_plugin"]
[dependencies]
chrono = "0.4"
@ -22,18 +22,19 @@ serde_json = "1"
sha1 = "0.10.1"
tracing = { version = "0.1.37", features = ["release_max_level_info"] }
next-binding = { path = "../next-binding", features = [
turbo-binding = { workspace = true, features = [
"__swc_core",
"__swc_core_next_core",
"__swc_transform_styled_jsx",
"__swc_transform_emotion",
"__swc_transform_styled_components",
"__swc_transform_modularize_imports",
"__swc_transform_relay",
] }
swc_relay = "0.1.0"
[dev-dependencies]
next-binding = { path = "../next-binding", features = [
turbo-binding = { workspace = true, features = [
"__swc_core_testing_transform",
"__swc_testing",
] }

View file

@ -1,4 +1,4 @@
use next_binding::swc::core::{
use turbo_binding::swc::core::{
ecma::ast::{Ident, JSXAttr, JSXAttrName, JSXAttrOrSpread, JSXElementName, JSXOpeningElement},
ecma::atoms::JsWord,
ecma::visit::Fold,

View file

@ -1,4 +1,4 @@
use next_binding::swc::core::{
use turbo_binding::swc::core::{
ecma::ast::*,
ecma::visit::{Visit, VisitWith},
};

View file

@ -1,4 +1,4 @@
use next_binding::swc::core::{
use turbo_binding::swc::core::{
common::errors::HANDLER,
ecma::ast::ExportAll,
ecma::transforms::base::pass::Optional,

View file

@ -41,7 +41,7 @@ use std::env::current_dir;
use std::rc::Rc;
use std::{path::PathBuf, sync::Arc};
use next_binding::swc::core::{
use turbo_binding::swc::core::{
common::{chain, comments::Comments, pass::Optional, FileName, SourceFile, SourceMap},
ecma::ast::EsVersion,
ecma::parser::parse_file_as_module,
@ -66,7 +66,7 @@ mod top_level_binding_collector;
#[serde(rename_all = "camelCase")]
pub struct TransformOptions {
#[serde(flatten)]
pub swc: next_binding::swc::core::base::config::Options,
pub swc: turbo_binding::swc::core::base::config::Options,
#[serde(default)]
pub disable_next_ssg: bool,
@ -96,7 +96,7 @@ pub struct TransformOptions {
pub styled_jsx: bool,
#[serde(default)]
pub styled_components: Option<next_binding::swc::custom_transform::styled_components::Config>,
pub styled_components: Option<turbo_binding::swc::custom_transform::styled_components::Config>,
#[serde(default)]
pub remove_console: Option<remove_console::Config>,
@ -118,10 +118,11 @@ pub struct TransformOptions {
pub shake_exports: Option<shake_exports::Config>,
#[serde(default)]
pub emotion: Option<next_binding::swc::custom_transform::emotion::EmotionOptions>,
pub emotion: Option<turbo_binding::swc::custom_transform::emotion::EmotionOptions>,
#[serde(default)]
pub modularize_imports: Option<next_binding::swc::custom_transform::modularize_imports::Config>,
pub modularize_imports:
Option<turbo_binding::swc::custom_transform::modularize_imports::Config>,
#[serde(default)]
pub font_loaders: Option<next_transform_font::Config>,
@ -171,7 +172,7 @@ where
},
if opts.styled_jsx {
Either::Left(
next_binding::swc::custom_transform::styled_jsx::visitor::styled_jsx(
turbo_binding::swc::custom_transform::styled_jsx::visitor::styled_jsx(
cm.clone(),
file.name.clone(),
),
@ -181,7 +182,7 @@ where
},
match &opts.styled_components {
Some(config) => Either::Left(
next_binding::swc::custom_transform::styled_components::styled_components(
turbo_binding::swc::custom_transform::styled_components::styled_components(
file.name.clone(),
file.src_hash,
config.clone(),
@ -235,7 +236,7 @@ where
if let FileName::Real(path) = &file.name {
path.to_str().map(|_| {
Either::Left(
next_binding::swc::custom_transform::emotion::EmotionTransformer::new(
turbo_binding::swc::custom_transform::emotion::EmotionTransformer::new(
config.clone(),
path,
cm,
@ -250,7 +251,7 @@ where
.unwrap_or_else(|| Either::Right(noop())),
match &opts.modularize_imports {
Some(config) => Either::Left(
next_binding::swc::custom_transform::modularize_imports::modularize_imports(
turbo_binding::swc::custom_transform::modularize_imports::modularize_imports(
config.clone()
)
),

View file

@ -2,7 +2,7 @@ use std::path::{Path, PathBuf};
use pathdiff::diff_paths;
use next_binding::swc::core::{
use turbo_binding::swc::core::{
common::{errors::HANDLER, FileName, DUMMY_SP},
ecma::ast::{
ArrayLit, ArrowExpr, BinExpr, BinaryOp, BlockStmtOrExpr, Bool, CallExpr, Callee, Expr,

View file

@ -4,7 +4,7 @@ use std::cell::RefCell;
use std::mem::take;
use std::rc::Rc;
use next_binding::swc::core::{
use turbo_binding::swc::core::{
common::{
errors::HANDLER,
pass::{Repeat, Repeated},

View file

@ -1,6 +1,6 @@
use chrono::Utc;
use next_binding::swc::core::{
use turbo_binding::swc::core::{
common::{errors::HANDLER, Span, DUMMY_SP},
ecma::ast::*,
ecma::visit::{Fold, FoldWith},

View file

@ -1,7 +1,7 @@
use regex::Regex;
use serde::Deserialize;
use next_binding::swc::core::{
use turbo_binding::swc::core::{
ecma::ast::*,
ecma::visit::{noop_fold_type, Fold, FoldWith},
};

View file

@ -5,7 +5,7 @@ use regex::Regex;
use serde::Deserialize;
use crate::auto_cjs::contains_cjs;
use next_binding::swc::core::{
use turbo_binding::swc::core::{
common::{
comments::{Comment, CommentKind, Comments},
errors::HANDLER,

View file

@ -1,6 +1,6 @@
use serde::Deserialize;
use next_binding::swc::core::{
use turbo_binding::swc::core::{
common::{collections::AHashSet, DUMMY_SP},
ecma::ast::*,
ecma::atoms::JsWord,

View file

@ -1,7 +1,9 @@
use std::convert::{TryFrom, TryInto};
use hex::encode as hex_encode;
use next_binding::swc::core::{
use serde::Deserialize;
use sha1::{Digest, Sha1};
use turbo_binding::swc::core::{
common::{
comments::{Comment, CommentKind, Comments},
errors::HANDLER,
@ -15,8 +17,6 @@ use next_binding::swc::core::{
visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith},
},
};
use serde::Deserialize;
use sha1::{Digest, Sha1};
#[derive(Clone, Debug, Deserialize)]
#[serde(deny_unknown_fields, rename_all = "camelCase")]

View file

@ -1,6 +1,6 @@
use serde::Deserialize;
use next_binding::swc::core::{
use turbo_binding::swc::core::{
common::Mark,
ecma::ast::*,
ecma::atoms::{js_word, JsWord},

View file

@ -1,6 +1,6 @@
use std::hash::Hash;
use next_binding::swc::core::{
use turbo_binding::swc::core::{
common::{collections::AHashSet, SyntaxContext},
ecma::ast::{
ClassDecl, FnDecl, Ident, ImportDefaultSpecifier, ImportNamedSpecifier,

View file

@ -1,4 +1,13 @@
use next_binding::swc::{
use next_swc::{
disallow_re_export_all_in_page::disallow_re_export_all_in_page,
next_dynamic::next_dynamic,
next_ssg::next_ssg,
react_server_components::server_components,
server_actions::{self, server_actions},
};
use next_transform_font::{next_font_loaders, Config as FontLoaderConfig};
use std::path::PathBuf;
use turbo_binding::swc::{
core::{
common::{chain, FileName, Mark},
ecma::{
@ -11,15 +20,6 @@ use next_binding::swc::{
},
testing::fixture,
};
use next_swc::{
disallow_re_export_all_in_page::disallow_re_export_all_in_page,
next_dynamic::next_dynamic,
next_ssg::next_ssg,
react_server_components::server_components,
server_actions::{self, server_actions},
};
use next_transform_font::{next_font_loaders, Config as FontLoaderConfig};
use std::path::PathBuf;
fn syntax() -> Syntax {
Syntax::Es(EsConfig {

View file

@ -1,13 +1,3 @@
use next_binding::swc::{
core::{
common::{chain, comments::SingleThreadedComments, FileName, Mark},
ecma::parser::{EsConfig, Syntax},
ecma::transforms::base::resolver,
ecma::transforms::react::jsx,
ecma::transforms::testing::{test, test_fixture},
},
testing::fixture,
};
use next_swc::{
amp_attributes::amp_attributes,
next_dynamic::next_dynamic,
@ -22,6 +12,18 @@ use next_swc::{
use next_transform_font::{next_font_loaders, Config as FontLoaderConfig};
use std::{env::current_dir, path::PathBuf};
use swc_relay::{relay, RelayLanguageConfig};
use turbo_binding::swc::{
core::{
common::{chain, comments::SingleThreadedComments, FileName, Mark},
ecma::transforms::base::resolver,
ecma::transforms::testing::{test, test_fixture},
ecma::{
parser::{EsConfig, Syntax},
transforms::react::jsx,
},
},
testing::fixture,
};
fn syntax() -> Syntax {
Syntax::Es(EsConfig {
@ -104,7 +106,7 @@ fn next_ssg_fixture(input: PathBuf) {
let jsx = jsx::<SingleThreadedComments>(
tr.cm.clone(),
None,
next_binding::swc::core::ecma::transforms::react::Options {
turbo_binding::swc::core::ecma::transforms::react::Options {
next: false.into(),
runtime: None,
import_source: Some("".into()),

View file

@ -1,4 +1,7 @@
use next_binding::swc::{
use next_swc::{custom_before_pass, TransformOptions};
use serde::de::DeserializeOwned;
use std::path::{Path, PathBuf};
use turbo_binding::swc::{
core::{
base::Compiler,
common::comments::SingleThreadedComments,
@ -7,16 +10,13 @@ use next_binding::swc::{
},
testing::{NormalizedOutput, Tester},
};
use next_swc::{custom_before_pass, TransformOptions};
use serde::de::DeserializeOwned;
use std::path::{Path, PathBuf};
#[next_binding::swc::testing::fixture("tests/full/**/input.js")]
#[turbo_binding::swc::testing::fixture("tests/full/**/input.js")]
fn full(input: PathBuf) {
test(&input, true);
}
#[next_binding::swc::testing::fixture("tests/loader/**/input.js")]
#[turbo_binding::swc::testing::fixture("tests/loader/**/input.js")]
fn loader(input: PathBuf) {
test(&input, false);
}
@ -31,16 +31,16 @@ fn test(input: &Path, minify: bool) {
let fm = cm.load_file(input).expect("failed to load file");
let options = TransformOptions {
swc: next_binding::swc::core::base::config::Options {
swc: turbo_binding::swc::core::base::config::Options {
swcrc: true,
output_path: Some(output.clone()),
config: next_binding::swc::core::base::config::Config {
is_module: Some(next_binding::swc::core::base::config::IsModule::Bool(
config: turbo_binding::swc::core::base::config::Config {
is_module: Some(turbo_binding::swc::core::base::config::IsModule::Bool(
true,
)),
jsc: next_binding::swc::core::base::config::JscConfig {
jsc: turbo_binding::swc::core::base::config::JscConfig {
minify: if minify {
Some(assert_json("{ \"compress\": true, \"mangle\": true }"))
} else {

View file

@ -6,7 +6,7 @@ use fxhash::FxHashSet;
use next_swc::next_ssg::next_ssg;
use once_cell::sync::Lazy;
use next_binding::swc::core::{
use turbo_binding::swc::core::{
base::{try_with_handler, Compiler},
common::{comments::SingleThreadedComments, FileName, FilePathMapping, SourceMap, GLOBALS},
ecma::transforms::base::pass::noop,

View file

@ -13,12 +13,18 @@ default = ["rustls-tls"]
# when build (i.e napi --build --features plugin), same for the wasm as well.
# this is due to some of transitive dependencies have features cannot be enabled at the same time
# (i.e wasmer/default vs wasmer/js-default) while cargo merges all the features at once.
plugin = ["next-binding/__swc_core_binding_napi_plugin", "next-swc/plugin"]
plugin = ["turbo-binding/__swc_core_binding_napi_plugin", "next-swc/plugin"]
sentry_native_tls = ["sentry", "sentry/native-tls", "native-tls"]
sentry_rustls = ["sentry", "sentry/rustls", "rustls-tls"]
native-tls = ["next-binding/__turbo_native_tls"]
rustls-tls = ["next-binding/__turbo_rustls_tls"]
native-tls = ["next-dev/native-tls"]
rustls-tls = ["next-dev/rustls-tls"]
# Internal only. Enabled when building for the Next.js integration test suite.
__internal_nextjs_integration_test = [
"next-dev/__internal_nextjs_integration_test",
"next-dev/serializable"
]
[dependencies]
anyhow = "1.0.66"
@ -32,6 +38,8 @@ napi = { version = "2", default-features = false, features = [
] }
napi-derive = "2"
next-swc = { version = "0.0.0", path = "../core" }
next-dev = { workspace = true }
next-build = { workspace = true }
once_cell = { workspace = true }
serde = "1"
serde_json = "1"
@ -39,20 +47,19 @@ tracing = { version = "0.1.37", features = ["release_max_level_info"] }
tracing-futures = "0.2.5"
tracing-subscriber = "0.3.9"
tracing-chrome = "0.5.0"
turbopack = { workspace = true }
turbo-tasks = { workspace = true }
turbo-tasks-memory = { workspace = true }
next-binding = { path = "../next-binding", features = [
turbo-binding = { workspace = true, features = [
"__swc_core_binding_napi",
"__turbo_next_build",
"__turbo_next_dev_server",
"__turbo_node_file_trace",
"__feature_node_file_trace",
"__feature_mdx_rs",
"__turbo_tasks",
"__turbo_tasks_memory",
"__turbopack"
] }
[target.'cfg(not(all(target_os = "linux", target_env = "musl", target_arch = "aarch64")))'.dependencies]
turbo-malloc = { workspace = true }
turbo-binding = { workspace = true, features = [
"__turbo_malloc"
] }
# There are few build targets we can't use native-tls which default features rely on,
# allow to specify alternative (rustls) instead via features.

View file

@ -37,7 +37,7 @@ use std::{env, panic::set_hook, sync::Arc};
use backtrace::Backtrace;
use fxhash::FxHashSet;
use napi::bindgen_prelude::*;
use next_binding::swc::core::{
use turbo_binding::swc::core::{
base::{Compiler, TransformOutput},
common::{sync::Lazy, FilePathMapping, SourceMap},
};
@ -54,7 +54,7 @@ pub mod util;
// compile error
#[cfg(not(all(target_os = "linux", target_env = "musl", target_arch = "aarch64")))]
#[global_allocator]
static ALLOC: turbo_malloc::TurboMalloc = turbo_malloc::TurboMalloc;
static ALLOC: turbo_binding::turbo::malloc::TurboMalloc = turbo_binding::turbo::malloc::TurboMalloc;
static COMPILER: Lazy<Arc<Compiler>> = Lazy::new(|| {
let cm = Arc::new(SourceMap::new(FilePathMapping::empty()));

View file

@ -1,5 +1,5 @@
use napi::bindgen_prelude::*;
use next_binding::features::mdxjs::{compile, Options};
use turbo_binding::features::mdxjs::{compile, Options};
pub struct MdxCompileTask {
pub input: String,

View file

@ -29,18 +29,18 @@ use std::sync::Arc;
use fxhash::FxHashMap;
use napi::bindgen_prelude::*;
use next_binding::swc::core::{
use serde::Deserialize;
use turbo_binding::swc::core::{
base::{try_with_handler, TransformOutput},
common::{errors::ColorConfig, sync::Lrc, FileName, SourceFile, SourceMap, GLOBALS},
};
use serde::Deserialize;
use crate::{get_compiler, util::MapErr};
pub struct MinifyTask {
c: Arc<next_binding::swc::core::base::Compiler>,
c: Arc<turbo_binding::swc::core::base::Compiler>,
code: MinifyTarget,
opts: next_binding::swc::core::base::config::JsMinifyOptions,
opts: turbo_binding::swc::core::base::config::JsMinifyOptions,
}
#[derive(Deserialize)]
@ -80,7 +80,7 @@ impl Task for MinifyTask {
fn compute(&mut self) -> napi::Result<Self::Output> {
try_with_handler(
self.c.cm.clone(),
next_binding::swc::core::base::HandlerOpts {
turbo_binding::swc::core::base::HandlerOpts {
color: ColorConfig::Never,
skip_filename: true,
},
@ -127,7 +127,7 @@ pub fn minify_sync(input: Buffer, opts: Buffer) -> napi::Result<TransformOutput>
try_with_handler(
c.cm.clone(),
next_binding::swc::core::base::HandlerOpts {
turbo_binding::swc::core::base::HandlerOpts {
color: ColorConfig::Never,
skip_filename: true,
},

View file

@ -2,7 +2,7 @@ use std::sync::Arc;
use anyhow::Context as _;
use napi::bindgen_prelude::*;
use next_binding::swc::core::{
use turbo_binding::swc::core::{
base::{config::ParseOptions, try_with_handler},
common::{
comments::Comments, errors::ColorConfig, FileName, FilePathMapping, SourceMap, GLOBALS,
@ -24,7 +24,7 @@ impl Task for ParseTask {
fn compute(&mut self) -> napi::Result<Self::Output> {
GLOBALS.set(&Default::default(), || {
let c = next_binding::swc::core::base::Compiler::new(Arc::new(SourceMap::new(
let c = turbo_binding::swc::core::base::Compiler::new(Arc::new(SourceMap::new(
FilePathMapping::empty(),
)));
@ -39,7 +39,7 @@ impl Task for ParseTask {
c.cm.new_source_file(self.filename.clone(), self.src.clone());
let program = try_with_handler(
c.cm.clone(),
next_binding::swc::core::base::HandlerOpts {
turbo_binding::swc::core::base::HandlerOpts {
color: ColorConfig::Never,
skip_filename: false,
},

View file

@ -37,12 +37,12 @@ use std::{
use anyhow::{anyhow, bail, Context as _};
use fxhash::FxHashSet;
use napi::bindgen_prelude::*;
use next_binding::swc::core::{
use next_swc::{custom_before_pass, TransformOptions};
use turbo_binding::swc::core::{
base::{try_with_handler, Compiler, TransformOutput},
common::{comments::SingleThreadedComments, errors::ColorConfig, FileName, GLOBALS},
ecma::transforms::base::pass::noop,
};
use next_swc::{custom_before_pass, TransformOptions};
use crate::{complete_output, get_compiler, util::MapErr};
@ -76,7 +76,7 @@ impl Task for TransformTask {
let res = catch_unwind(AssertUnwindSafe(|| {
try_with_handler(
self.c.cm.clone(),
next_binding::swc::core::base::HandlerOpts {
turbo_binding::swc::core::base::HandlerOpts {
color: ColorConfig::Always,
skip_filename: skip_filename(),
},

View file

@ -2,10 +2,8 @@ use std::convert::TryFrom;
use crate::util::MapErr;
use napi::bindgen_prelude::*;
use next_binding::turbo::{
next_build::{next_build as turbo_next_build, NextBuildOptions},
next_dev::{devserver_options::DevServerOptions, start_server},
};
use next_build::{next_build as turbo_next_build, NextBuildOptions};
use next_dev::{devserver_options::DevServerOptions, start_server};
#[napi]
pub async fn start_turbo_dev(options: Buffer) -> napi::Result<()> {

View file

@ -1,10 +1,10 @@
use std::sync::Arc;
use napi::bindgen_prelude::*;
use next_binding::turbo::node_file_trace::{start, Args};
use turbo_tasks::TurboTasks;
use turbo_tasks_memory::MemoryBackend;
use turbopack::{
use turbo_binding::features::node_file_trace::{start, Args};
use turbo_binding::turbo::tasks::TurboTasks;
use turbo_binding::turbo::tasks_memory::MemoryBackend;
use turbo_binding::turbopack::turbopack::{
module_options::ModuleOptionsContext, resolve_options_context::ResolveOptionsContext,
};

View file

@ -1,118 +0,0 @@
[package]
name = "next-binding"
version = "0.1.0"
edition = "2021"
license = "MPL-2.0"
autobenches = false
[lib]
bench = false
[features]
__swc = []
__swc_core = ["__swc"]
__swc_core_next_core = [
"__swc_core",
"swc_core/common_concurrent",
"swc_core/ecma_ast",
"swc_core/ecma_visit",
"swc_core/ecma_loader_node",
"swc_core/ecma_loader_lru",
"swc_core/ecma_utils",
"swc_core/ecma_minifier",
"swc_core/ecma_transforms",
"swc_core/ecma_transforms_react",
"swc_core/ecma_transforms_typescript",
"swc_core/ecma_transforms_optimization",
"swc_core/ecma_parser",
"swc_core/ecma_parser_typescript",
"swc_core/cached",
"swc_core/base",
]
__swc_core_binding_napi = [
"__swc_core",
"swc_core/base_concurrent",
"swc_core/base_node",
"swc_core/common_concurrent",
"swc_core/ecma_ast",
"swc_core/ecma_loader_node",
"swc_core/ecma_loader_lru",
"swc_core/bundler",
"swc_core/bundler_concurrent",
"swc_core/ecma_codegen",
"swc_core/ecma_minifier",
"swc_core/ecma_parser",
"swc_core/ecma_parser_typescript",
"swc_core/ecma_transforms",
"swc_core/ecma_transforms_optimization",
"swc_core/ecma_transforms_react",
"swc_core/ecma_transforms_typescript",
"swc_core/ecma_utils",
"swc_core/ecma_visit",
]
__swc_core_binding_napi_plugin = ["swc_core/plugin_transform_host_native"]
__swc_core_binding_napi_allocator = ["swc_core/allocator_node"]
__swc_core_binding_wasm = [
"__swc_core",
"swc_core/common_concurrent",
"swc_core/binding_macro_wasm",
"swc_core/ecma_codegen",
"swc_core/ecma_minifier",
"swc_core/ecma_transforms",
"swc_core/ecma_transforms_typescript",
"swc_core/ecma_transforms_optimization",
"swc_core/ecma_transforms_react",
"swc_core/ecma_parser",
"swc_core/ecma_parser_typescript",
"swc_core/ecma_utils",
"swc_core/ecma_visit",
]
__swc_core_binding_wasm_plugin = ["swc_core/plugin_transform_host_js"]
__swc_core_testing_transform = ["swc_core/testing_transform"]
__turbo = []
__turbo_next_build = ["__turbo", "next-build"]
__turbo_next_dev_server = ["__turbo", "next-dev/serializable"]
__turbo_node_file_trace = ["__turbo", "node-file-trace/node-api"]
# set tls for downstream dependenices of turbo
__turbo_native_tls = ["next-dev/native-tls"]
__turbo_rustls_tls = ["next-dev/rustls-tls"]
__features = []
__feature_mdx_rs = ["__features", "mdxjs/serializable"]
__swc_custom_transform = []
__swc_transform_styled_components = [
"__swc",
"__swc_custom_transform",
"styled_components",
]
__swc_transform_styled_jsx = ["__swc", "__swc_custom_transform", "styled_jsx"]
__swc_transform_emotion = ["__swc", "__swc_custom_transform", "swc_emotion"]
__swc_transform_modularize_imports = [
"__swc",
"__swc_custom_transform",
"modularize_imports",
]
__swc_testing = ["__swc", "testing"]
[dependencies]
mdxjs = { optional = true, workspace = true }
modularize_imports = { optional = true, workspace = true }
next-build = { optional = true, path = "../next-build", default-features = false, features = [
"custom_allocator",
] }
# TODO: Not sure what's going on, but using `workspace = true` noops `default-features = false`?
next-dev = { optional = true, path = "../next-dev", default-features = false, features = [
"custom_allocator",
] }
node-file-trace = { optional = true, workspace = true }
styled_components = { optional = true, workspace = true }
styled_jsx = { optional = true, workspace = true }
swc_core = { optional = true, workspace = true }
swc_emotion = { optional = true, workspace = true }
testing = { optional = true, workspace = true }

View file

@ -1,3 +0,0 @@
### next-binding
This is an internal package, does not provide any public interface or stability guarantees. Do not use it directly.

View file

@ -1,36 +0,0 @@
#[cfg(feature = "__swc")]
pub mod swc {
#[cfg(feature = "__swc_core")]
pub use swc_core as core;
#[cfg(feature = "__swc_custom_transform")]
pub mod custom_transform {
#[cfg(feature = "__swc_transform_modularize_imports")]
pub use modularize_imports;
#[cfg(feature = "__swc_transform_styled_components")]
pub use styled_components;
#[cfg(feature = "__swc_transform_styled_jsx")]
pub use styled_jsx;
#[cfg(feature = "__swc_transform_emotion")]
pub use swc_emotion as emotion;
}
#[cfg(feature = "testing")]
pub use testing;
}
#[cfg(feature = "__turbo")]
pub mod turbo {
#[cfg(feature = "__turbo_next_build")]
pub use next_build;
#[cfg(feature = "__turbo_next_dev_server")]
pub use next_dev;
#[cfg(feature = "__turbo_node_file_trace")]
pub use node_file_trace;
}
#[cfg(feature = "__features")]
pub mod features {
#[cfg(feature = "__feature_mdx_rs")]
pub use mdxjs;
}

View file

@ -9,17 +9,16 @@ autobenches = false
[features]
native-tls = ["next-core/native-tls"]
rustls-tls = ["next-core/rustls-tls"]
custom_allocator = ["turbo-malloc/custom_allocator"]
custom_allocator = ["turbo-binding/__turbo_malloc", "turbo-binding/__turbo_malloc_custom_allocator"]
[dependencies]
anyhow = "1.0.47"
next-core = { workspace = true }
turbo-malloc = { workspace = true, default-features = false }
turbo-tasks = { workspace = true }
turbo-tasks-memory = { workspace = true }
turbo-binding = { workspace = true, features = ["__turbo_tasks", "__turbo_tasks_memory"] }
[build-dependencies]
turbo-tasks-build = { workspace = true }
turbo-binding = { workspace = true, features = ["__turbo_tasks_build"] }
vergen = { version = "7.3.2", default-features = false, features = [
"cargo",
"build",

View file

@ -1,4 +1,4 @@
use turbo_tasks_build::{generate_register, rerun_if_glob};
use turbo_binding::turbo::tasks_build::{generate_register, rerun_if_glob};
use vergen::{vergen, Config};

View file

@ -1,8 +1,8 @@
use turbo_tasks::{NothingVc, StatsType, TurboTasks, TurboTasksBackendApi};
use turbo_tasks_memory::MemoryBackend;
use turbo_binding::turbo::tasks::{NothingVc, StatsType, TurboTasks, TurboTasksBackendApi};
use turbo_binding::turbo::tasks_memory::MemoryBackend;
pub fn register() {
turbo_tasks::register();
turbo_binding::turbo::tasks::register();
include!(concat!(env!("OUT_DIR"), "/register.rs"));
}

View file

@ -11,7 +11,6 @@ bench = false
[dependencies]
allsorts = { workspace = true }
anyhow = { workspace = true }
auto-hash-map = { workspace = true }
futures = { workspace = true }
indexmap = { workspace = true, features = ["serde"] }
indoc = { workspace = true }
@ -21,19 +20,24 @@ qstring = { workspace = true }
regex = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
turbo-binding = { workspace = true, features = [
"__feature_auto_hash_map",
"__turbo_tasks",
"__turbo_tasks_bytes",
"__turbo_tasks_env",
"__turbo_tasks_fetch",
"__turbo_tasks_fs",
"__turbo_tasks_hash",
"__turbopack",
"__turbopack_core",
"__turbopack_dev",
"__turbopack_dev_server",
"__turbopack_ecmascript",
"__turbopack_env",
"__turbopack_node",
] }
turbo-tasks = { workspace = true }
turbo-tasks-bytes = { workspace = true }
turbo-tasks-env = { workspace = true }
turbo-tasks-fetch = { workspace = true }
turbo-tasks-fs = { workspace = true }
turbo-tasks-hash = { workspace = true }
turbopack = { workspace = true }
turbopack-core = { workspace = true }
turbopack-dev = { workspace = true }
turbopack-dev-server = { workspace = true }
turbopack-ecmascript = { workspace = true }
turbopack-env = { workspace = true }
turbopack-node = { workspace = true }
next-transform-strip-page-exports = { workspace = true }
next-transform-font = { workspace = true }
next-transform-dynamic = { workspace = true }
@ -41,15 +45,18 @@ next-transform-dynamic = { workspace = true }
swc_core = { workspace = true, features = ["ecma_ast", "common"] }
[build-dependencies]
turbo-tasks-build = { workspace = true }
turbo-binding = { workspace = true, features = [
"__turbo_tasks_build"
]}
[features]
native-tls = ["turbo-tasks-fetch/native-tls"]
rustls-tls = ["turbo-tasks-fetch/rustls-tls"]
next-font-local = []
native-tls = ["turbo-binding/__turbo_tasks_fetch_native-tls"]
rustls-tls = ["turbo-binding/__turbo_tasks_fetch_rustls-tls"]
# Internal only. Enabled when building for the Next.js integration test suite.
__internal_nextjs_integration_test = []
# enable "HMR" for embedded assets
dynamic_embed_contents = [
"turbo-tasks-fs/dynamic_embed_contents",
"turbopack-dev/dynamic_embed_contents",
"turbo-binding/__turbo_tasks_fs_dynamic_embed_contents",
"turbo-binding/__turbopack_dev_dynamic_embed_contents",
]

View file

@ -1,4 +1,4 @@
use turbo_tasks_build::generate_register;
use turbo_binding::turbo::tasks_build::generate_register;
fn main() {
generate_register();

View file

@ -1,6 +1,6 @@
use std::collections::HashMap;
use turbo_tasks_fs::FileSystemPathVc;
use turbo_binding::turbo::tasks_fs::FileSystemPathVc;
pub mod next_layout_entry_transition;

View file

@ -1,19 +1,20 @@
use anyhow::Result;
use indexmap::indexmap;
use turbo_tasks::{primitives::OptionStringVc, Value};
use turbo_tasks_fs::FileSystemPathVc;
use turbopack::{
self,
use turbo_binding::turbo::tasks_fs::FileSystemPathVc;
use turbo_binding::turbopack::core::{
asset::AssetVc, compile_time_info::CompileTimeInfoVc, context::AssetContext,
};
use turbo_binding::turbopack::ecmascript::{
EcmascriptInputTransform, EcmascriptInputTransformsVc, EcmascriptModuleAssetType,
EcmascriptModuleAssetVc, InnerAssetsVc,
};
use turbo_binding::turbopack::turbopack::{
module_options::ModuleOptionsContextVc,
resolve_options_context::ResolveOptionsContextVc,
transition::{Transition, TransitionVc},
ModuleAssetContextVc,
};
use turbopack_core::{asset::AssetVc, compile_time_info::CompileTimeInfoVc, context::AssetContext};
use turbopack_ecmascript::{
EcmascriptInputTransform, EcmascriptInputTransformsVc, EcmascriptModuleAssetType,
EcmascriptModuleAssetVc, InnerAssetsVc,
};
use turbo_tasks::{primitives::OptionStringVc, Value};
use crate::{
embed_js::next_asset, next_client_component::with_client_chunks::WithClientChunksAsset,

View file

@ -6,15 +6,12 @@ use std::{
use anyhow::{anyhow, Result};
use indexmap::indexmap;
use turbo_tasks::{primitives::OptionStringVc, TryJoinIterExt, Value, ValueToString};
use turbo_tasks_env::{CustomProcessEnvVc, EnvMapVc, ProcessEnvVc};
use turbo_tasks_fs::{rope::RopeBuilder, File, FileContent, FileSystemPathVc};
use turbopack::{
ecmascript::EcmascriptInputTransform,
transition::{TransitionVc, TransitionsByNameVc},
ModuleAssetContextVc,
use turbo_binding::turbo::tasks::{
primitives::OptionStringVc, TryJoinIterExt, Value, ValueToString,
};
use turbopack_core::{
use turbo_binding::turbo::tasks_env::{CustomProcessEnvVc, EnvMapVc, ProcessEnvVc};
use turbo_binding::turbo::tasks_fs::{rope::RopeBuilder, File, FileContent, FileSystemPathVc};
use turbo_binding::turbopack::core::{
compile_time_info::CompileTimeInfoVc,
context::{AssetContext, AssetContextVc},
environment::{EnvironmentIntention, ServerAddrVc},
@ -22,25 +19,30 @@ use turbopack_core::{
source_asset::SourceAssetVc,
virtual_asset::VirtualAssetVc,
};
use turbopack_dev::DevChunkingContextVc;
use turbopack_dev_server::{
use turbo_binding::turbopack::dev::DevChunkingContextVc;
use turbo_binding::turbopack::dev_server::{
html::DevHtmlAssetVc,
source::{
combined::CombinedContentSource, ContentSourceData, ContentSourceVc, NoContentSourceVc,
},
};
use turbopack_ecmascript::{
use turbo_binding::turbopack::ecmascript::{
chunk::EcmascriptChunkPlaceablesVc, magic_identifier, utils::StringifyJs,
EcmascriptInputTransformsVc, EcmascriptModuleAssetType, EcmascriptModuleAssetVc, InnerAssetsVc,
};
use turbopack_env::ProcessEnvAssetVc;
use turbopack_node::{
use turbo_binding::turbopack::env::ProcessEnvAssetVc;
use turbo_binding::turbopack::node::{
execution_context::ExecutionContextVc,
render::{
node_api_source::create_node_api_source, rendered_source::create_node_rendered_source,
},
NodeEntry, NodeEntryVc, NodeRenderingEntry, NodeRenderingEntryVc,
};
use turbo_binding::turbopack::turbopack::{
ecmascript::EcmascriptInputTransform,
transition::{TransitionVc, TransitionsByNameVc},
ModuleAssetContextVc,
};
use crate::{
app_render::{

View file

@ -1,15 +1,15 @@
use std::collections::HashMap;
use anyhow::{bail, Result};
use turbo_binding::turbo::tasks_fs::{
DirectoryContent, DirectoryEntry, File, FileContentVc, FileSystemEntryType, FileSystemPathVc,
};
use turbo_binding::turbopack::core::issue::{Issue, IssueSeverity, IssueSeverityVc, IssueVc};
use turbo_binding::turbopack::dev_server::source::specificity::SpecificityVc;
use turbo_tasks::{
primitives::{StringVc, StringsVc},
CompletionVc, ValueToString,
};
use turbo_tasks_fs::{
DirectoryContent, DirectoryEntry, File, FileContentVc, FileSystemEntryType, FileSystemPathVc,
};
use turbopack_core::issue::{Issue, IssueSeverity, IssueSeverityVc, IssueVc};
use turbopack_dev_server::source::specificity::SpecificityVc;
use crate::{
app_render::{LayoutSegment, LayoutSegmentVc, LayoutSegmentsVc},

View file

@ -1,18 +1,20 @@
use anyhow::Result;
use turbo_binding::turbo::tasks_fs::{FileSystemEntryType, FileSystemPathVc};
use turbo_binding::turbopack::core::{
issue::{Issue, IssueSeverity, IssueSeverityVc, IssueVc},
resolve::{parse::RequestVc, pattern::Pattern, resolve},
};
use turbo_binding::turbopack::node::transforms::webpack::{
WebpackLoaderConfigItem, WebpackLoaderConfigItemsVc,
};
use turbo_binding::turbopack::turbopack::{
module_options::WebpackLoadersOptionsVc, resolve_options,
resolve_options_context::ResolveOptionsContext,
};
use turbo_tasks::{
primitives::{BoolVc, StringVc},
Value,
};
use turbo_tasks_fs::{FileSystemEntryType, FileSystemPathVc};
use turbopack::{
module_options::WebpackLoadersOptionsVc, resolve_options,
resolve_options_context::ResolveOptionsContext,
};
use turbopack_core::{
issue::{Issue, IssueSeverity, IssueSeverityVc, IssueVc},
resolve::{parse::RequestVc, pattern::Pattern, resolve},
};
use turbopack_node::transforms::webpack::{WebpackLoaderConfigItem, WebpackLoaderConfigItemsVc};
const BABEL_CONFIG_FILES: &[&str] = &[
".babelrc",

View file

@ -1,11 +1,12 @@
use turbo_tasks_fs::{embed_directory, FileContentVc, FileSystem, FileSystemPathVc, FileSystemVc};
use turbopack_core::{asset::AssetVc, source_asset::SourceAssetVc};
use turbo_binding::turbo::tasks_fs::{FileContentVc, FileSystem, FileSystemPathVc, FileSystemVc};
use turbo_binding::turbopack::core::{asset::AssetVc, source_asset::SourceAssetVc};
pub const VIRTUAL_PACKAGE_NAME: &str = "@vercel/turbopack-next";
#[turbo_tasks::function]
pub(crate) fn next_js_fs() -> FileSystemVc {
embed_directory!("next", "$CARGO_MANIFEST_DIR/js/src")
// [TODO]: macro need to be refactored to be used via turbo-binding
turbo_tasks_fs::embed_directory!("next", "$CARGO_MANIFEST_DIR/js/src")
}
#[turbo_tasks::function]

View file

@ -1,11 +1,11 @@
use anyhow::Result;
use indexmap::indexmap;
use turbo_tasks_env::{
use turbo_binding::turbo::tasks_env::{
CommandLineProcessEnvVc, CustomProcessEnvVc, EnvMapVc, FilterProcessEnvVc, ProcessEnv,
ProcessEnvVc,
};
use turbo_tasks_fs::FileSystemPathVc;
use turbopack_env::{EmbeddableProcessEnvVc, TryDotenvProcessEnvVc};
use turbo_binding::turbo::tasks_fs::FileSystemPathVc;
use turbo_binding::turbopack::env::{EmbeddableProcessEnvVc, TryDotenvProcessEnvVc};
use crate::next_config::NextConfigVc;

View file

@ -1,20 +1,20 @@
use std::collections::HashMap;
use anyhow::{bail, Result};
use turbo_tasks::Value;
use turbo_tasks_env::ProcessEnvVc;
use turbo_tasks_fs::FileSystemPathVc;
use turbopack::{
ecmascript::EcmascriptModuleAssetVc, transition::TransitionsByNameVc, ModuleAssetContextVc,
};
use turbopack_core::{
use turbo_binding::turbo::tasks_env::ProcessEnvVc;
use turbo_binding::turbo::tasks_fs::FileSystemPathVc;
use turbo_binding::turbopack::core::{
chunk::ChunkGroupVc,
compile_time_info::CompileTimeInfoVc,
context::AssetContextVc,
resolve::{options::ImportMap, origin::PlainResolveOriginVc},
};
use turbopack_dev_server::html::DevHtmlAssetVc;
use turbopack_node::execution_context::ExecutionContextVc;
use turbo_binding::turbopack::dev_server::html::DevHtmlAssetVc;
use turbo_binding::turbopack::node::execution_context::ExecutionContextVc;
use turbo_binding::turbopack::turbopack::{
ecmascript::EcmascriptModuleAssetVc, transition::TransitionsByNameVc, ModuleAssetContextVc,
};
use turbo_tasks::Value;
use crate::{
next_client::context::{

View file

@ -35,17 +35,18 @@ mod web_entry_source;
pub use app_source::create_app_source;
pub use page_source::create_page_source;
pub use turbopack_node::source_map;
pub use turbo_binding::turbopack::node::source_map;
pub use turbo_binding::*;
pub use web_entry_source::create_web_entry_source;
pub fn register() {
turbo_tasks::register();
turbo_tasks_bytes::register();
turbo_tasks_fs::register();
turbo_tasks_fetch::register();
turbopack_dev::register();
turbopack_dev_server::register();
turbopack_node::register();
turbopack::register();
turbo::tasks_bytes::register();
turbo::tasks_fs::register();
turbo::tasks_fetch::register();
turbopack::dev::register();
turbopack::dev_server::register();
turbopack::node::register();
turbopack::turbopack::register();
include!(concat!(env!("OUT_DIR"), "/register.rs"));
}

View file

@ -2,20 +2,20 @@ use anyhow::{Context, Result};
use indexmap::IndexMap;
use mime::{APPLICATION_JAVASCRIPT_UTF_8, APPLICATION_JSON};
use serde::Serialize;
use turbo_binding::turbo::tasks_fs::File;
use turbo_binding::turbopack::core::asset::AssetContentVc;
use turbo_binding::turbopack::dev_server::source::{
ContentSource, ContentSourceContentVc, ContentSourceData, ContentSourceResultVc,
ContentSourceVc,
};
use turbo_binding::turbopack::node::render::{
node_api_source::NodeApiContentSourceVc, rendered_source::NodeRenderContentSourceVc,
};
use turbo_tasks::{
graph::{GraphTraversal, NonDeterministic},
primitives::{StringVc, StringsVc},
TryJoinIterExt,
};
use turbo_tasks_fs::File;
use turbopack_core::asset::AssetContentVc;
use turbopack_dev_server::source::{
ContentSource, ContentSourceContentVc, ContentSourceData, ContentSourceResultVc,
ContentSourceVc,
};
use turbopack_node::render::{
node_api_source::NodeApiContentSourceVc, rendered_source::NodeRenderContentSourceVc,
};
use crate::{
embed_js::next_js_file,

View file

@ -1,7 +1,7 @@
use anyhow::Result;
use turbo_binding::turbo::tasks_fs::FileSystemPathVc;
use turbo_binding::turbopack::core::resolve::options::{ImportMapping, ImportMappingVc};
use turbo_tasks::primitives::StringVc;
use turbo_tasks_fs::FileSystemPathVc;
use turbopack_core::resolve::options::{ImportMapping, ImportMappingVc};
use crate::next_import_map::get_next_package;

View file

@ -2,19 +2,9 @@ use core::{default::Default, result::Result::Ok};
use std::collections::HashMap;
use anyhow::Result;
use turbo_tasks::{primitives::StringVc, Value};
use turbo_tasks_env::ProcessEnvVc;
use turbo_tasks_fs::{FileSystem, FileSystemPathVc};
use turbopack::{
module_options::{
module_options_context::{ModuleOptionsContext, ModuleOptionsContextVc},
JsxTransformOptions, PostCssTransformOptions, WebpackLoadersOptions,
},
resolve_options_context::{ResolveOptionsContext, ResolveOptionsContextVc},
transition::TransitionsByNameVc,
ModuleAssetContextVc,
};
use turbopack_core::{
use turbo_binding::turbo::tasks_env::ProcessEnvVc;
use turbo_binding::turbo::tasks_fs::{FileSystem, FileSystemPathVc};
use turbo_binding::turbopack::core::{
chunk::ChunkingContextVc,
compile_time_defines,
compile_time_info::{
@ -26,9 +16,19 @@ use turbopack_core::{
free_var_references,
resolve::{parse::RequestVc, pattern::Pattern},
};
use turbopack_dev::DevChunkingContextVc;
use turbopack_env::ProcessEnvAssetVc;
use turbopack_node::execution_context::ExecutionContextVc;
use turbo_binding::turbopack::dev::DevChunkingContextVc;
use turbo_binding::turbopack::env::ProcessEnvAssetVc;
use turbo_binding::turbopack::node::execution_context::ExecutionContextVc;
use turbo_binding::turbopack::turbopack::{
module_options::{
module_options_context::{ModuleOptionsContext, ModuleOptionsContextVc},
JsxTransformOptions, PostCssTransformOptions, WebpackLoadersOptions,
},
resolve_options_context::{ResolveOptionsContext, ResolveOptionsContextVc},
transition::TransitionsByNameVc,
ModuleAssetContextVc,
};
use turbo_tasks::{primitives::StringVc, Value};
use super::transforms::get_next_client_transforms_rules;
use crate::{

View file

@ -1,15 +1,15 @@
use anyhow::{bail, Result};
use turbo_tasks::ValueToString;
use turbo_tasks_fs::FileSystemPathVc;
use turbopack_core::{
use turbo_binding::turbo::tasks_fs::FileSystemPathVc;
use turbo_binding::turbopack::core::{
asset::Asset,
context::AssetContextVc,
resolve::{origin::PlainResolveOriginVc, parse::RequestVc},
};
use turbopack_ecmascript::{
use turbo_binding::turbopack::ecmascript::{
chunk::{EcmascriptChunkPlaceableVc, EcmascriptChunkPlaceablesVc},
resolve::cjs_resolve,
};
use turbo_tasks::ValueToString;
#[turbo_tasks::value(shared)]
pub enum RuntimeEntry {

View file

@ -1,6 +1,6 @@
use anyhow::Result;
use next_transform_strip_page_exports::ExportFilter;
use turbopack::module_options::ModuleRule;
use turbo_binding::turbopack::turbopack::module_options::ModuleRule;
use crate::{
next_client::context::ClientContextType,

View file

@ -1,23 +1,23 @@
use anyhow::Result;
use indexmap::indexmap;
use turbo_tasks::{primitives::OptionStringVc, Value};
use turbopack::{
use turbo_binding::turbopack::core::{
asset::AssetVc,
chunk::{ChunkingContext, ChunkingContextVc},
compile_time_info::CompileTimeInfoVc,
context::AssetContext,
};
use turbo_binding::turbopack::ecmascript::{
EcmascriptInputTransform, EcmascriptInputTransformsVc, EcmascriptModuleAssetType,
EcmascriptModuleAssetVc, InnerAssetsVc,
};
use turbo_binding::turbopack::turbopack::{
ecmascript::chunk_group_files_asset::ChunkGroupFilesAsset,
module_options::ModuleOptionsContextVc,
resolve_options_context::ResolveOptionsContextVc,
transition::{Transition, TransitionVc},
ModuleAssetContextVc,
};
use turbopack_core::{
asset::AssetVc,
chunk::{ChunkingContext, ChunkingContextVc},
compile_time_info::CompileTimeInfoVc,
context::AssetContext,
};
use turbopack_ecmascript::{
EcmascriptInputTransform, EcmascriptInputTransformsVc, EcmascriptModuleAssetType,
EcmascriptModuleAssetVc, InnerAssetsVc,
};
use turbo_tasks::{primitives::OptionStringVc, Value};
use super::runtime_entry::RuntimeEntriesVc;
use crate::embed_js::next_asset;

View file

@ -1,17 +1,17 @@
use anyhow::Result;
use turbo_tasks::Value;
use turbo_tasks_fs::FileSystemPathVc;
use turbopack::{
use turbo_binding::turbo::tasks_fs::FileSystemPathVc;
use turbo_binding::turbopack::core::{
asset::AssetVc, chunk::ChunkingContextVc, compile_time_info::CompileTimeInfoVc,
};
use turbo_binding::turbopack::node::execution_context::ExecutionContextVc;
use turbo_binding::turbopack::turbopack::{
ecmascript::chunk::EcmascriptChunkPlaceableVc,
module_options::ModuleOptionsContextVc,
resolve_options_context::ResolveOptionsContextVc,
transition::{Transition, TransitionVc},
ModuleAssetContextVc,
};
use turbopack_core::{
asset::AssetVc, chunk::ChunkingContextVc, compile_time_info::CompileTimeInfoVc,
};
use turbopack_node::execution_context::ExecutionContextVc;
use turbo_tasks::Value;
use super::with_chunks::WithChunksAsset;
use crate::{

View file

@ -1,19 +1,21 @@
use anyhow::{bail, Result};
use turbo_tasks::{primitives::StringVc, Value};
use turbopack::ecmascript::chunk::{
use turbo_binding::turbopack::turbopack::ecmascript::chunk::{
EcmascriptChunkItemVc, EcmascriptChunkPlaceable, EcmascriptChunkPlaceableVc, EcmascriptChunkVc,
EcmascriptExportsVc,
};
use turbopack_core::{
asset::{Asset, AssetContentVc, AssetVc},
chunk::{
availability_info::AvailabilityInfo, ChunkVc, ChunkableAsset, ChunkableAssetVc,
ChunkingContextVc,
use turbo_binding::turbopack::{
core::{
asset::{Asset, AssetContentVc, AssetVc},
chunk::{
availability_info::AvailabilityInfo, ChunkVc, ChunkableAsset, ChunkableAssetVc,
ChunkingContextVc,
},
ident::AssetIdentVc,
reference::AssetReferencesVc,
},
ident::AssetIdentVc,
reference::AssetReferencesVc,
ecmascript::chunk::EcmascriptChunkingContextVc,
};
use turbopack_ecmascript::chunk::EcmascriptChunkingContextVc;
use turbo_tasks::{primitives::StringVc, Value};
#[turbo_tasks::function]
fn modifier() -> StringVc {

View file

@ -1,13 +1,7 @@
use anyhow::{bail, Result};
use indoc::formatdoc;
use turbo_tasks::{primitives::StringVc, TryJoinIterExt, Value};
use turbo_tasks_fs::FileSystemPathVc;
use turbopack::ecmascript::chunk::{
EcmascriptChunkItem, EcmascriptChunkItemContent, EcmascriptChunkItemContentVc,
EcmascriptChunkItemVc, EcmascriptChunkPlaceable, EcmascriptChunkPlaceableVc, EcmascriptChunkVc,
EcmascriptExports, EcmascriptExportsVc,
};
use turbopack_core::{
use turbo_binding::turbo::tasks_fs::FileSystemPathVc;
use turbo_binding::turbopack::core::{
asset::{Asset, AssetContentVc, AssetVc},
chunk::{
availability_info::AvailabilityInfo, Chunk, ChunkGroupReferenceVc, ChunkGroupVc, ChunkItem,
@ -17,8 +11,15 @@ use turbopack_core::{
ident::AssetIdentVc,
reference::AssetReferencesVc,
};
use turbopack_ecmascript::{chunk::EcmascriptChunkingContextVc, utils::StringifyJs};
use turbo_binding::turbopack::turbopack::ecmascript::{
chunk::{
EcmascriptChunkItem, EcmascriptChunkItemContent, EcmascriptChunkItemContentVc,
EcmascriptChunkItemVc, EcmascriptChunkPlaceable, EcmascriptChunkPlaceableVc,
EcmascriptChunkVc, EcmascriptChunkingContextVc, EcmascriptExports, EcmascriptExportsVc,
},
utils::StringifyJs,
};
use turbo_tasks::{primitives::StringVc, TryJoinIterExt, Value};
#[turbo_tasks::function]
fn modifier() -> StringVc {
StringVc::cell("chunks".to_string())

View file

@ -1,19 +1,19 @@
use anyhow::Result;
use indexmap::indexmap;
use turbo_tasks::{primitives::OptionStringVc, Value};
use turbopack::{
transition::{Transition, TransitionVc},
ModuleAssetContextVc,
};
use turbopack_core::{
use turbo_binding::turbopack::core::{
asset::AssetVc,
context::AssetContext,
reference_type::{EntryReferenceSubType, ReferenceType},
};
use turbopack_ecmascript::{
use turbo_binding::turbopack::ecmascript::{
EcmascriptInputTransform, EcmascriptInputTransformsVc, EcmascriptModuleAssetType,
EcmascriptModuleAssetVc, InnerAssetsVc,
};
use turbo_binding::turbopack::turbopack::{
transition::{Transition, TransitionVc},
ModuleAssetContextVc,
};
use turbo_tasks::{primitives::OptionStringVc, Value};
use crate::embed_js::next_asset;

View file

@ -1,12 +1,12 @@
use anyhow::Result;
use turbopack::{
use turbo_binding::turbopack::core::{asset::AssetVc, compile_time_info::CompileTimeInfoVc};
use turbo_binding::turbopack::turbopack::{
ecmascript::chunk::EcmascriptChunkPlaceableVc,
module_options::ModuleOptionsContextVc,
resolve_options_context::ResolveOptionsContextVc,
transition::{Transition, TransitionVc},
ModuleAssetContextVc,
};
use turbopack_core::{asset::AssetVc, compile_time_info::CompileTimeInfoVc};
use super::with_chunking_context_scope_asset::WithChunkingContextScopeAsset;

View file

@ -1,10 +1,5 @@
use anyhow::{Context, Result};
use turbo_tasks::{primitives::StringVc, Value};
use turbopack::ecmascript::chunk::{
EcmascriptChunkItemVc, EcmascriptChunkPlaceable, EcmascriptChunkPlaceableVc, EcmascriptChunkVc,
EcmascriptExportsVc,
};
use turbopack_core::{
use turbo_binding::turbopack::core::{
asset::{Asset, AssetContentVc, AssetVc},
chunk::{
availability_info::AvailabilityInfo, ChunkVc, ChunkableAsset, ChunkableAssetVc,
@ -13,7 +8,12 @@ use turbopack_core::{
ident::AssetIdentVc,
reference::AssetReferencesVc,
};
use turbopack_ecmascript::chunk::EcmascriptChunkingContextVc;
use turbo_binding::turbopack::ecmascript::chunk::EcmascriptChunkingContextVc;
use turbo_binding::turbopack::turbopack::ecmascript::chunk::{
EcmascriptChunkItemVc, EcmascriptChunkPlaceable, EcmascriptChunkPlaceableVc, EcmascriptChunkVc,
EcmascriptExportsVc,
};
use turbo_tasks::{primitives::StringVc, Value};
#[turbo_tasks::function]
fn modifier() -> StringVc {

View file

@ -1,13 +1,7 @@
use anyhow::{Context, Result};
use indoc::formatdoc;
use turbo_tasks::{primitives::StringVc, Value, ValueToString, ValueToStringVc};
use turbo_tasks_fs::FileSystemPathVc;
use turbopack::ecmascript::chunk::{
EcmascriptChunkItem, EcmascriptChunkItemContent, EcmascriptChunkItemContentVc,
EcmascriptChunkItemVc, EcmascriptChunkPlaceable, EcmascriptChunkPlaceableVc, EcmascriptChunkVc,
EcmascriptExports, EcmascriptExportsVc,
};
use turbopack_core::{
use turbo_binding::turbo::tasks_fs::FileSystemPathVc;
use turbo_binding::turbopack::core::{
asset::{Asset, AssetContentVc, AssetVc},
chunk::{
availability_info::AvailabilityInfo, Chunk, ChunkGroupVc, ChunkItem, ChunkItemVc, ChunkVc,
@ -18,7 +12,15 @@ use turbopack_core::{
reference::{AssetReference, AssetReferenceVc, AssetReferencesVc},
resolve::{ResolveResult, ResolveResultVc},
};
use turbopack_ecmascript::{chunk::EcmascriptChunkingContextVc, utils::StringifyJs};
use turbo_binding::turbopack::turbopack::ecmascript::{
chunk::{
EcmascriptChunkItem, EcmascriptChunkItemContent, EcmascriptChunkItemContentVc,
EcmascriptChunkItemVc, EcmascriptChunkPlaceable, EcmascriptChunkPlaceableVc,
EcmascriptChunkVc, EcmascriptChunkingContextVc, EcmascriptExports, EcmascriptExportsVc,
},
utils::StringifyJs,
};
use turbo_tasks::{primitives::StringVc, Value, ValueToString, ValueToStringVc};
#[turbo_tasks::function]
fn modifier() -> StringVc {

View file

@ -2,15 +2,9 @@ use anyhow::{Context, Result};
use indexmap::IndexMap;
use serde::{Deserialize, Serialize};
use serde_json::Value as JsonValue;
use turbo_tasks::{
primitives::{BoolVc, StringsVc},
trace::TraceRawVcs,
CompletionVc, Value,
};
use turbo_tasks_env::EnvMapVc;
use turbo_tasks_fs::{json::parse_json_with_source_context, FileSystemPathVc};
use turbopack::evaluate_context::node_evaluate_asset_context;
use turbopack_core::{
use turbo_binding::turbo::tasks_env::EnvMapVc;
use turbo_binding::turbo::tasks_fs::FileSystemPathVc;
use turbo_binding::turbopack::core::{
asset::Asset,
changed::any_content_changed,
chunk::ChunkingContext,
@ -25,14 +19,21 @@ use turbopack_core::{
},
source_asset::SourceAssetVc,
};
use turbopack_ecmascript::{
use turbo_binding::turbopack::ecmascript::{
EcmascriptInputTransformsVc, EcmascriptModuleAssetType, EcmascriptModuleAssetVc,
};
use turbopack_node::{
use turbo_binding::turbopack::node::{
evaluate::evaluate,
execution_context::{ExecutionContext, ExecutionContextVc},
transforms::webpack::{WebpackLoaderConfigItems, WebpackLoaderConfigItemsVc},
};
use turbo_binding::turbopack::turbopack::evaluate_context::node_evaluate_asset_context;
use turbo_tasks::{
primitives::{BoolVc, StringsVc},
trace::TraceRawVcs,
CompletionVc, Value,
};
use turbo_tasks_fs::json::parse_json_with_source_context;
use crate::embed_js::next_asset;
@ -604,7 +605,7 @@ pub async fn load_next_config_internal(
)
.await?;
let turbo_tasks_bytes::stream::SingleValue::Single(val) = config_value.try_into_single().await.context("Evaluation of Next.js config failed")? else {
let turbo_binding::turbo::tasks_bytes::stream::SingleValue::Single(val) = config_value.try_into_single().await.context("Evaluation of Next.js config failed")? else {
return Ok(NextConfig::default().cell());
};
let next_config: NextConfig = parse_json_with_source_context(val.to_str()?)?;

View file

@ -1,8 +1,6 @@
use anyhow::Result;
use turbo_tasks::Value;
use turbo_tasks_fs::FileSystemPathVc;
use turbopack::resolve_options_context::{ResolveOptionsContext, ResolveOptionsContextVc};
use turbopack_core::{
use turbo_binding::turbo::tasks_fs::FileSystemPathVc;
use turbo_binding::turbopack::core::{
compile_time_defines,
compile_time_info::{
CompileTimeDefinesVc, CompileTimeInfo, CompileTimeInfoVc, FreeVarReference,
@ -14,7 +12,11 @@ use turbopack_core::{
},
free_var_references,
};
use turbopack_node::execution_context::ExecutionContextVc;
use turbo_binding::turbopack::node::execution_context::ExecutionContextVc;
use turbo_binding::turbopack::turbopack::resolve_options_context::{
ResolveOptionsContext, ResolveOptionsContextVc,
};
use turbo_tasks::Value;
use crate::{
next_config::NextConfigVc, next_import_map::get_next_edge_import_map,

View file

@ -1,14 +1,10 @@
use anyhow::{anyhow, bail, Result};
use indexmap::indexmap;
use turbo_tasks::Value;
use turbo_tasks_fs::{rope::RopeBuilder, File, FileContent, FileContentVc, FileSystemPathVc};
use turbopack::{
module_options::ModuleOptionsContextVc,
resolve_options_context::ResolveOptionsContextVc,
transition::{Transition, TransitionVc},
ModuleAssetContextVc,
use turbo_binding::turbo::tasks::Value;
use turbo_binding::turbo::tasks_fs::{
rope::RopeBuilder, File, FileContent, FileContentVc, FileSystemPathVc,
};
use turbopack_core::{
use turbo_binding::turbopack::core::{
asset::{Asset, AssetVc},
chunk::ChunkingContextVc,
compile_time_info::CompileTimeInfoVc,
@ -17,11 +13,17 @@ use turbopack_core::{
resolve::parse::RequestVc,
virtual_asset::VirtualAssetVc,
};
use turbopack_ecmascript::{
use turbo_binding::turbopack::ecmascript::{
chunk_group_files_asset::ChunkGroupFilesAsset, resolve::esm_resolve, utils::StringifyJs,
EcmascriptInputTransform, EcmascriptInputTransformsVc, EcmascriptModuleAssetType,
EcmascriptModuleAssetVc, InnerAssetsVc,
};
use turbo_binding::turbopack::turbopack::{
module_options::ModuleOptionsContextVc,
resolve_options_context::ResolveOptionsContextVc,
transition::{Transition, TransitionVc},
ModuleAssetContextVc,
};
#[turbo_tasks::value(shared)]
pub struct NextEdgeTransition {

View file

@ -2,12 +2,12 @@ use std::collections::HashMap;
use anyhow::{Context, Result};
use serde::{Deserialize, Serialize};
use turbo_binding::turbo::tasks_fs::FileSystemPathVc;
use turbo_binding::turbopack::core::issue::IssueSeverity;
use turbo_tasks::{
primitives::{StringVc, StringsVc, U32Vc},
trace::TraceRawVcs,
};
use turbo_tasks_fs::FileSystemPathVc;
use turbopack_core::issue::IssueSeverity;
use super::options::NextFontGoogleOptionsVc;
use crate::{
@ -148,7 +148,7 @@ fn lookup_fallback(
#[cfg(test)]
mod tests {
use anyhow::Result;
use turbo_tasks_fs::json::parse_json_with_source_context;
use turbo_binding::turbo::tasks_fs::json::parse_json_with_source_context;
use super::{FontAdjustment, FontMetricsMap};
use crate::next_font::google::font_fallback::{lookup_fallback, Fallback};

View file

@ -1,13 +1,14 @@
use anyhow::{bail, Context, Result};
use indexmap::IndexMap;
use indoc::formatdoc;
use turbo_tasks::{
use turbo_binding::turbo::tasks::{
primitives::{OptionStringVc, StringVc, U32Vc},
Value,
};
use turbo_tasks_fs::{json::parse_json_with_source_context, FileContent, FileSystemPathVc};
use turbopack_core::{
use turbo_binding::turbo::tasks_fs::{
json::parse_json_with_source_context, FileContent, FileSystemPathVc,
};
use turbo_binding::turbopack::core::{
resolve::{
options::{
ImportMapResult, ImportMapResultVc, ImportMapping, ImportMappingReplacement,
@ -19,7 +20,7 @@ use turbopack_core::{
},
virtual_asset::VirtualAssetVc,
};
use turbopack_node::execution_context::ExecutionContextVc;
use turbo_binding::turbopack::node::execution_context::ExecutionContextVc;
use self::{
font_fallback::get_font_fallback,
@ -204,8 +205,8 @@ impl ImportMappingReplacement for NextFontGoogleCssModuleReplacer {
#[cfg(not(feature = "__internal_nextjs_integration_test"))]
let stylesheet_str = {
use turbo_tasks_fetch::fetch;
use turbopack_core::issue::IssueSeverity;
use turbo_binding::turbo::tasks_fetch::fetch;
use turbo_binding::turbopack::core::issue::IssueSeverity;
let stylesheet_res = fetch(
stylesheet_url,
@ -300,7 +301,7 @@ async fn get_stylesheet_url_from_options(
let mut css_url: Option<String> = None;
#[cfg(debug_assertions)]
{
use turbo_tasks_env::{CommandLineProcessEnvVc, ProcessEnv};
use turbo_binding::turbo::tasks_env::{CommandLineProcessEnvVc, ProcessEnv};
let env = CommandLineProcessEnvVc::new();
if let Some(url) = &*env.read("TURBOPACK_TEST_ONLY_MOCK_SERVER").await? {
@ -392,16 +393,16 @@ async fn get_mock_stylesheet(
) -> Result<Option<String>> {
use std::{collections::HashMap, path::Path};
use turbo_tasks::CompletionVc;
use turbo_tasks_bytes::stream::SingleValue;
use turbo_tasks_env::{CommandLineProcessEnvVc, ProcessEnv};
use turbo_tasks_fs::{DiskFileSystemVc, File, FileSystem};
use turbopack::evaluate_context::node_evaluate_asset_context;
use turbopack_core::{context::AssetContext, ident::AssetIdentVc};
use turbopack_ecmascript::{
use turbo_binding::turbo::tasks::CompletionVc;
use turbo_binding::turbo::tasks_bytes::stream::SingleValue;
use turbo_binding::turbo::tasks_env::{CommandLineProcessEnvVc, ProcessEnv};
use turbo_binding::turbo::tasks_fs::{DiskFileSystemVc, File, FileSystem};
use turbo_binding::turbopack::core::{context::AssetContext, ident::AssetIdentVc};
use turbo_binding::turbopack::ecmascript::{
EcmascriptInputTransformsVc, EcmascriptModuleAssetType, EcmascriptModuleAssetVc,
};
use turbopack_node::{evaluate::evaluate, execution_context::ExecutionContext};
use turbo_binding::turbopack::node::{evaluate::evaluate, execution_context::ExecutionContext};
use turbo_binding::turbopack::turbopack::evaluate_context::node_evaluate_asset_context;
let env = CommandLineProcessEnvVc::new().as_process_env();
let mocked_response_js = &*env.read("NEXT_FONT_GOOGLE_MOCKED_RESPONSES").await?;

View file

@ -198,7 +198,7 @@ pub(super) fn options_from_request(
mod tests {
use anyhow::Result;
use indexmap::IndexMap;
use turbo_tasks_fs::json::parse_json_with_source_context;
use turbo_binding::turbo::tasks_fs::json::parse_json_with_source_context;
use super::{options_from_request, FontDataEntry, NextFontGoogleOptions};
use crate::next_font::google::{options::FontWeights, request::NextFontRequest};

View file

@ -231,7 +231,7 @@ pub(super) fn get_stylesheet_url(
mod tests {
use anyhow::Result;
use indexmap::indexset;
use turbo_tasks_fs::json::parse_json_with_source_context;
use turbo_binding::turbo::tasks_fs::json::parse_json_with_source_context;
use super::get_font_axes;
use crate::next_font::google::{

View file

@ -1,6 +1,6 @@
use turbo_binding::turbo::tasks_fs::FileSystemPathVc;
use turbo_binding::turbopack::core::issue::{Issue, IssueSeverityVc, IssueVc};
use turbo_tasks::primitives::StringVc;
use turbo_tasks_fs::FileSystemPathVc;
use turbopack_core::issue::{Issue, IssueSeverityVc, IssueVc};
#[turbo_tasks::value(shared)]
pub(crate) struct NextFontIssue {

View file

@ -1,11 +1,6 @@
use anyhow::{bail, Context, Result};
use indoc::formatdoc;
use turbo_tasks::{
primitives::{OptionStringVc, U32Vc},
Value,
};
use turbo_tasks_fs::{json::parse_json_with_source_context, FileContent, FileSystemPathVc};
use turbopack_core::{
use turbo_binding::turbopack::core::{
resolve::{
options::{
ImportMapResult, ImportMapResultVc, ImportMapping, ImportMappingReplacement,
@ -17,6 +12,11 @@ use turbopack_core::{
},
virtual_asset::VirtualAssetVc,
};
use turbo_tasks::{
primitives::{OptionStringVc, U32Vc},
Value,
};
use turbo_tasks_fs::{json::parse_json_with_source_context, FileContent, FileSystemPathVc};
use self::{
font_fallback::get_font_fallbacks,

View file

@ -1,7 +1,7 @@
use anyhow::{Context, Result};
use turbo_binding::turbo::tasks_hash::hash_xxh3_hash64;
use turbo_binding::turbopack::core::resolve::pattern::QueryMapVc;
use turbo_tasks::primitives::{OptionStringVc, StringVc, U32Vc};
use turbo_tasks_hash::hash_xxh3_hash64;
use turbopack_core::resolve::pattern::QueryMapVc;
/// CSS properties and values for a given font variation. These are rendered as
/// values in both the returned JavaScript object and in the referenced css

View file

@ -1,13 +1,13 @@
use std::collections::BTreeSet;
use anyhow::Result;
use turbo_tasks::{primitives::StringVc, Value};
use turbopack_core::introspect::{Introspectable, IntrospectableVc};
use turbopack_dev_server::source::{
use turbo_binding::turbopack::core::introspect::{Introspectable, IntrospectableVc};
use turbo_binding::turbopack::dev_server::source::{
query::QueryValue, ContentSource, ContentSourceContent, ContentSourceData,
ContentSourceDataFilter, ContentSourceDataVary, ContentSourceResultVc, ContentSourceVc,
NeededData, ProxyResult,
};
use turbo_tasks::{primitives::StringVc, Value};
/// Serves, resizes, optimizes, and re-encodes images to be used with
/// next/image.

View file

@ -1,10 +1,8 @@
use std::collections::{BTreeMap, HashMap};
use anyhow::{Context, Result};
use turbo_tasks::Value;
use turbo_tasks_fs::{glob::GlobVc, FileSystem, FileSystemPathVc};
use turbopack::{resolve_options, resolve_options_context::ResolveOptionsContext};
use turbopack_core::{
use turbo_binding::turbo::tasks_fs::{glob::GlobVc, FileSystem, FileSystemPathVc};
use turbo_binding::turbopack::core::{
asset::Asset,
resolve::{
options::{
@ -16,7 +14,11 @@ use turbopack_core::{
resolve, AliasPattern, ExportsValue, ResolveAliasMapVc,
},
};
use turbopack_node::execution_context::ExecutionContextVc;
use turbo_binding::turbopack::node::execution_context::ExecutionContextVc;
use turbo_binding::turbopack::turbopack::{
resolve_options, resolve_options_context::ResolveOptionsContext,
};
use turbo_tasks::Value;
use crate::{
embed_js::{next_js_fs, VIRTUAL_PACKAGE_NAME},

View file

@ -1,6 +1,6 @@
use serde::{Deserialize, Serialize};
use turbo_tasks::primitives::BoolVc;
use turbopack_node::route_matcher::{ParamsVc, RouteMatcher};
use turbo_binding::turbo::tasks::primitives::BoolVc;
use turbo_binding::turbopack::node::route_matcher::{ParamsVc, RouteMatcher};
#[derive(Debug, Serialize, Deserialize, Eq, PartialEq)]
pub struct AllMatch;

View file

@ -1,6 +1,6 @@
use anyhow::{bail, Result};
use turbo_binding::turbopack::node::route_matcher::{ParamsVc, RouteMatcher, RouteMatcherVc};
use turbo_tasks::primitives::{BoolVc, StringVc};
use turbopack_node::route_matcher::{ParamsVc, RouteMatcher, RouteMatcherVc};
use self::{
all::AllMatch,

View file

@ -1,7 +1,7 @@
use anyhow::{Context, Result};
use serde::{Deserialize, Serialize};
use turbo_binding::turbopack::node::route_matcher::{Param, ParamsVc, RouteMatcher};
use turbo_tasks::primitives::{BoolVc, Regex};
use turbopack_node::route_matcher::{Param, ParamsVc, RouteMatcher};
/// A regular expression that matches a path, with named capture groups for the
/// dynamic parts of the path.

View file

@ -1,6 +1,6 @@
use serde::{Deserialize, Serialize};
use turbo_binding::turbopack::node::route_matcher::{ParamsVc, RouteMatcher};
use turbo_tasks::primitives::BoolVc;
use turbopack_node::route_matcher::{ParamsVc, RouteMatcher};
/// A composite route matcher that matches a path if it has a given prefix and
/// suffix.

View file

@ -1,15 +1,7 @@
use anyhow::Result;
use turbo_tasks::{primitives::StringVc, Value};
use turbo_tasks_env::ProcessEnvVc;
use turbo_tasks_fs::FileSystemPathVc;
use turbopack::{
module_options::{
JsxTransformOptions, JsxTransformOptionsVc, ModuleOptionsContext, ModuleOptionsContextVc,
PostCssTransformOptions, WebpackLoadersOptions,
},
resolve_options_context::{ResolveOptionsContext, ResolveOptionsContextVc},
};
use turbopack_core::{
use turbo_binding::turbo::tasks_env::ProcessEnvVc;
use turbo_binding::turbo::tasks_fs::FileSystemPathVc;
use turbo_binding::turbopack::core::{
compile_time_defines,
compile_time_info::{CompileTimeDefinesVc, CompileTimeInfo, CompileTimeInfoVc},
environment::{
@ -17,8 +9,16 @@ use turbopack_core::{
ServerAddrVc,
},
};
use turbopack_ecmascript::EcmascriptInputTransform;
use turbopack_node::execution_context::ExecutionContextVc;
use turbo_binding::turbopack::ecmascript::EcmascriptInputTransform;
use turbo_binding::turbopack::node::execution_context::ExecutionContextVc;
use turbo_binding::turbopack::turbopack::{
module_options::{
JsxTransformOptions, JsxTransformOptionsVc, ModuleOptionsContext, ModuleOptionsContextVc,
PostCssTransformOptions, WebpackLoadersOptions,
},
resolve_options_context::{ResolveOptionsContext, ResolveOptionsContextVc},
};
use turbo_tasks::{primitives::StringVc, Value};
use super::{
resolve::ExternalCjsModulesResolvePluginVc, transforms::get_next_server_transforms_rules,

View file

@ -1,9 +1,8 @@
use anyhow::Result;
use once_cell::sync::Lazy;
use regex::Regex;
use turbo_tasks::primitives::{BoolVc, StringsVc};
use turbo_tasks_fs::{glob::GlobVc, FileJsonContent, FileSystemPathVc};
use turbopack_core::{
use turbo_binding::turbo::tasks_fs::{glob::GlobVc, FileJsonContent, FileSystemPathVc};
use turbo_binding::turbopack::core::{
asset::Asset,
resolve::{
find_context_file,
@ -14,6 +13,7 @@ use turbopack_core::{
resolve, FindContextFileResult, PrimaryResolveResult, ResolveResult, ResolveResultOptionVc,
},
};
use turbo_tasks::primitives::{BoolVc, StringsVc};
#[turbo_tasks::value]
pub(crate) struct ExternalCjsModulesResolvePlugin {

View file

@ -1,6 +1,6 @@
use anyhow::Result;
use next_transform_strip_page_exports::ExportFilter;
use turbopack::module_options::ModuleRule;
use turbo_binding::turbopack::turbopack::module_options::ModuleRule;
use crate::{
next_server::context::ServerContextType,

View file

@ -11,13 +11,15 @@ use swc_core::{
visit::{FoldWith, VisitMutWith},
},
};
use turbo_tasks_fs::FileSystemPathVc;
use turbopack::module_options::{ModuleRule, ModuleRuleCondition, ModuleRuleEffect};
use turbopack_core::reference_type::{ReferenceType, UrlReferenceSubType};
use turbopack_ecmascript::{
use turbo_binding::turbo::tasks_fs::FileSystemPathVc;
use turbo_binding::turbopack::core::reference_type::{ReferenceType, UrlReferenceSubType};
use turbo_binding::turbopack::ecmascript::{
CustomTransformVc, CustomTransformer, EcmascriptInputTransform, EcmascriptInputTransformsVc,
TransformContext,
};
use turbo_binding::turbopack::turbopack::module_options::{
ModuleRule, ModuleRuleCondition, ModuleRuleEffect,
};
/// Returns a rule which applies the Next.js page export stripping transform.
pub async fn get_next_pages_transforms_rule(

View file

@ -2,9 +2,8 @@ use std::io::Write;
use anyhow::{bail, Result};
use indexmap::indexmap;
use turbo_tasks::{primitives::StringVc, TryJoinIterExt, Value};
use turbo_tasks_fs::{rope::RopeBuilder, File, FileContent, FileSystemPathVc};
use turbopack_core::{
use turbo_binding::turbo::tasks_fs::{rope::RopeBuilder, File, FileContent, FileSystemPathVc};
use turbo_binding::turbopack::core::{
asset::{Asset, AssetContentVc, AssetVc},
chunk::{Chunk, ChunkGroupVc, ChunkReferenceVc, ChunkingContextVc, ChunksVc},
context::{AssetContext, AssetContextVc},
@ -13,11 +12,14 @@ use turbopack_core::{
reference_type::{EntryReferenceSubType, ReferenceType},
virtual_asset::VirtualAssetVc,
};
use turbopack_dev_server::source::{asset_graph::AssetGraphContentSourceVc, ContentSourceVc};
use turbopack_ecmascript::{
use turbo_binding::turbopack::dev_server::source::{
asset_graph::AssetGraphContentSourceVc, ContentSourceVc,
};
use turbo_binding::turbopack::ecmascript::{
utils::StringifyJs, EcmascriptInputTransform, EcmascriptInputTransformsVc,
EcmascriptModuleAssetType, EcmascriptModuleAssetVc, InnerAssetsVc,
};
use turbo_tasks::{primitives::StringVc, TryJoinIterExt, Value};
use crate::{embed_js::next_js_file_path, util::get_asset_path_from_route};

View file

@ -1,15 +1,9 @@
use anyhow::Result;
use indexmap::indexmap;
use serde::{Deserialize, Serialize};
use turbo_tasks::{
primitives::{OptionStringVc, StringVc, StringsVc},
trace::TraceRawVcs,
Value,
};
use turbo_tasks_env::{CustomProcessEnvVc, EnvMapVc, ProcessEnvVc};
use turbo_tasks_fs::{FileContent, FileSystemPathVc};
use turbopack::{transition::TransitionsByNameVc, ModuleAssetContextVc};
use turbopack_core::{
use turbo_binding::turbo::tasks_env::{CustomProcessEnvVc, EnvMapVc, ProcessEnvVc};
use turbo_binding::turbo::tasks_fs::{FileContent, FileSystemPathVc};
use turbo_binding::turbopack::core::{
asset::AssetVc,
chunk::ChunkingContextVc,
context::{AssetContext, AssetContextVc},
@ -17,8 +11,8 @@ use turbopack_core::{
reference_type::{EntryReferenceSubType, ReferenceType},
source_asset::SourceAssetVc,
};
use turbopack_dev::DevChunkingContextVc;
use turbopack_dev_server::{
use turbo_binding::turbopack::dev::DevChunkingContextVc;
use turbo_binding::turbopack::dev_server::{
html::DevHtmlAssetVc,
source::{
asset_graph::AssetGraphContentSourceVc,
@ -27,12 +21,12 @@ use turbopack_dev_server::{
ContentSourceData, ContentSourceVc, NoContentSourceVc,
},
};
use turbopack_ecmascript::{
use turbo_binding::turbopack::ecmascript::{
chunk::EcmascriptChunkPlaceablesVc, EcmascriptInputTransform, EcmascriptInputTransformsVc,
EcmascriptModuleAssetType, EcmascriptModuleAssetVc, InnerAssetsVc,
};
use turbopack_env::ProcessEnvAssetVc;
use turbopack_node::{
use turbo_binding::turbopack::env::ProcessEnvAssetVc;
use turbo_binding::turbopack::node::{
execution_context::ExecutionContextVc,
render::{
node_api_source::create_node_api_source, rendered_source::create_node_rendered_source,
@ -40,6 +34,12 @@ use turbopack_node::{
route_matcher::RouteMatcherVc,
NodeEntry, NodeEntryVc, NodeRenderingEntry, NodeRenderingEntryVc,
};
use turbo_binding::turbopack::turbopack::{transition::TransitionsByNameVc, ModuleAssetContextVc};
use turbo_tasks::{
primitives::{OptionStringVc, StringVc, StringsVc},
trace::TraceRawVcs,
Value,
};
use crate::{
embed_js::{next_asset, next_js_file},

View file

@ -1,10 +1,12 @@
use anyhow::Result;
use turbo_binding::turbo::tasks_fs::{
DirectoryContent, DirectoryEntry, FileSystemEntryType, FileSystemPathVc,
};
use turbo_binding::turbopack::dev_server::source::specificity::SpecificityVc;
use turbo_tasks::{
primitives::{BoolVc, StringsVc},
CompletionVc,
};
use turbo_tasks_fs::{DirectoryContent, DirectoryEntry, FileSystemEntryType, FileSystemPathVc};
use turbopack_dev_server::source::specificity::SpecificityVc;
use crate::next_config::NextConfigVc;

View file

@ -1,17 +1,17 @@
use anyhow::{anyhow, Result};
use turbo_tasks::{debug::ValueDebug, primitives::StringVc};
use turbo_tasks_fs::FileSystemPathVc;
use turbopack::{
use turbo_binding::turbo::tasks_fs::FileSystemPathVc;
use turbo_binding::turbopack::core::{
issue::{Issue, IssueSeverity, IssueSeverityVc, IssueVc},
resolve::{origin::ResolveOriginVc, parse::RequestVc},
};
use turbo_binding::turbopack::turbopack::{
ecmascript::{
chunk::EcmascriptChunkPlaceableVc,
resolve::{apply_cjs_specific_options, cjs_resolve},
},
resolve_options_context::ResolveOptionsContextVc,
};
use turbopack_core::{
issue::{Issue, IssueSeverity, IssueSeverityVc, IssueVc},
resolve::{origin::ResolveOriginVc, parse::RequestVc},
};
use turbo_tasks::{debug::ValueDebug, primitives::StringVc};
#[turbo_tasks::function]
fn react_refresh_request() -> RequestVc {
@ -54,10 +54,13 @@ pub async fn assert_can_resolve_react_refresh(
path: FileSystemPathVc,
resolve_options_context: ResolveOptionsContextVc,
) -> Result<AssertReactRefreshResultVc> {
let resolve_options =
apply_cjs_specific_options(turbopack::resolve_options(path, resolve_options_context));
let resolve_options = apply_cjs_specific_options(
turbo_binding::turbopack::turbopack::resolve_options(path, resolve_options_context),
);
for request in [react_refresh_request_in_next(), react_refresh_request()] {
let result = turbopack_core::resolve::resolve(path, request, resolve_options).first_asset();
let result =
turbo_binding::turbopack::core::resolve::resolve(path, request, resolve_options)
.first_asset();
if result.await?.is_some() {
return Ok(AssertReactRefreshResult::Found(request).cell());

View file

@ -3,15 +3,9 @@ use futures::StreamExt;
use indexmap::indexmap;
use serde::Deserialize;
use serde_json::json;
use turbo_tasks::{
primitives::{JsonValueVc, StringsVc},
util::SharedError,
CompletionVc, CompletionsVc, Value,
};
use turbo_tasks_bytes::{Bytes, Stream};
use turbo_tasks_fs::{json::parse_json_with_source_context, to_sys_path, File, FileSystemPathVc};
use turbopack::{evaluate_context::node_evaluate_asset_context, transition::TransitionsByNameVc};
use turbopack_core::{
use turbo_binding::turbo::tasks_bytes::{Bytes, Stream};
use turbo_binding::turbo::tasks_fs::{to_sys_path, File, FileSystemPathVc};
use turbo_binding::turbopack::core::{
asset::AssetVc,
changed::any_content_changed,
chunk::ChunkingContext,
@ -24,16 +18,25 @@ use turbopack_core::{
source_asset::SourceAssetVc,
virtual_asset::VirtualAssetVc,
};
use turbopack_dev::DevChunkingContextVc;
use turbopack_ecmascript::{
use turbo_binding::turbopack::dev::DevChunkingContextVc;
use turbo_binding::turbopack::ecmascript::{
EcmascriptInputTransform, EcmascriptInputTransformsVc, EcmascriptModuleAssetType,
EcmascriptModuleAssetVc, InnerAssetsVc, OptionEcmascriptModuleAssetVc,
};
use turbopack_node::{
use turbo_binding::turbopack::node::{
evaluate::evaluate,
execution_context::{ExecutionContext, ExecutionContextVc},
source_map::StructuredError,
};
use turbo_binding::turbopack::turbopack::{
evaluate_context::node_evaluate_asset_context, transition::TransitionsByNameVc,
};
use turbo_tasks::{
primitives::{JsonValueVc, StringsVc},
util::SharedError,
CompletionVc, CompletionsVc, Value,
};
use turbo_tasks_fs::json::parse_json_with_source_context;
use crate::{
embed_js::{next_asset, next_js_file},

View file

@ -1,16 +1,16 @@
use anyhow::{anyhow, bail, Context, Result};
use futures::stream::StreamExt;
use indexmap::IndexSet;
use turbo_tasks::{primitives::StringVc, CompletionVc, CompletionsVc, Value};
use turbopack_core::{
use turbo_binding::turbopack::core::{
environment::ServerAddrVc,
introspect::{Introspectable, IntrospectableChildrenVc, IntrospectableVc},
};
use turbopack_dev_server::source::{
use turbo_binding::turbopack::dev_server::source::{
Body, BodyError, ContentSource, ContentSourceContent, ContentSourceData, ContentSourceDataVary,
ContentSourceResultVc, ContentSourceVc, HeaderListVc, NeededData, ProxyResult, RewriteBuilder,
};
use turbopack_node::execution_context::ExecutionContextVc;
use turbo_binding::turbopack::node::execution_context::ExecutionContextVc;
use turbo_tasks::{primitives::StringVc, CompletionVc, CompletionsVc, Value};
use crate::{
app_structure::OptionAppStructureVc,

View file

@ -1,6 +1,8 @@
use anyhow::{bail, Result};
use turbopack::ecmascript::{chunk::EcmascriptChunkPlaceableVc, resolve::cjs_resolve};
use turbopack_core::resolve::{origin::ResolveOriginVc, parse::RequestVc};
use turbo_binding::turbopack::core::resolve::{origin::ResolveOriginVc, parse::RequestVc};
use turbo_binding::turbopack::turbopack::ecmascript::{
chunk::EcmascriptChunkPlaceableVc, resolve::cjs_resolve,
};
/// Resolves the turbopack runtime module from the given [AssetContextVc].
#[turbo_tasks::function]

View file

@ -1,11 +1,15 @@
use anyhow::Result;
use turbo_tasks_fs::FileSystemPathVc;
use turbopack::module_options::{TypescriptTransformOptions, TypescriptTransformOptionsVc};
use turbopack_core::{
use turbo_binding::turbo::tasks_fs::FileSystemPathVc;
use turbo_binding::turbopack::core::{
resolve::{find_context_file, node::node_cjs_resolve_options, FindContextFileResult},
source_asset::SourceAssetVc,
};
use turbopack_ecmascript::typescript::resolve::{read_from_tsconfigs, read_tsconfigs, tsconfig};
use turbo_binding::turbopack::ecmascript::typescript::resolve::{
read_from_tsconfigs, read_tsconfigs, tsconfig,
};
use turbo_binding::turbopack::turbopack::module_options::{
TypescriptTransformOptions, TypescriptTransformOptionsVc,
};
// Get the transform options for specifically for the typescript's runtime
// outputs

View file

@ -1,10 +1,10 @@
use anyhow::{anyhow, bail, Context, Result};
use serde::{de::DeserializeOwned, Deserialize, Serialize};
use swc_core::ecma::ast::Program;
use turbo_tasks::{primitives::StringVc, trace::TraceRawVcs, Value, ValueToString};
use turbo_tasks_fs::{json::parse_json_rope_with_source_context, FileContent, FileSystemPathVc};
use turbopack::condition::ContextCondition;
use turbopack_core::{
use turbo_binding::turbo::tasks_fs::{
json::parse_json_rope_with_source_context, FileContent, FileSystemPathVc,
};
use turbo_binding::turbopack::core::{
asset::{Asset, AssetVc},
ident::AssetIdentVc,
issue::{Issue, IssueSeverity, IssueSeverityVc, IssueVc},
@ -14,11 +14,13 @@ use turbopack_core::{
pattern::QueryMapVc, PrimaryResolveResult,
},
};
use turbopack_ecmascript::{
use turbo_binding::turbopack::ecmascript::{
analyzer::{JsValue, ObjectPart},
parse::ParseResult,
EcmascriptModuleAssetVc,
};
use turbo_binding::turbopack::turbopack::condition::ContextCondition;
use turbo_tasks::{primitives::StringVc, trace::TraceRawVcs, Value, ValueToString};
use crate::next_config::NextConfigVc;

View file

@ -1,18 +1,18 @@
use anyhow::{anyhow, Result};
use turbo_tasks::{TryJoinIterExt, Value};
use turbo_tasks_env::ProcessEnvVc;
use turbo_tasks_fs::FileSystemPathVc;
use turbopack::ecmascript::EcmascriptModuleAssetVc;
use turbopack_core::{
use turbo_binding::turbo::tasks_env::ProcessEnvVc;
use turbo_binding::turbo::tasks_fs::FileSystemPathVc;
use turbo_binding::turbopack::core::{
chunk::{availability_info::AvailabilityInfo, ChunkGroupVc, ChunkableAsset, ChunkableAssetVc},
reference_type::{EntryReferenceSubType, ReferenceType},
resolve::{origin::PlainResolveOriginVc, parse::RequestVc},
};
use turbopack_dev_server::{
use turbo_binding::turbopack::dev_server::{
html::DevHtmlAssetVc,
source::{asset_graph::AssetGraphContentSourceVc, ContentSourceVc},
};
use turbopack_node::execution_context::ExecutionContextVc;
use turbo_binding::turbopack::node::execution_context::ExecutionContextVc;
use turbo_binding::turbopack::turbopack::ecmascript::EcmascriptModuleAssetVc;
use turbo_tasks::{TryJoinIterExt, Value};
use crate::{
next_client::context::{

View file

@ -13,7 +13,7 @@ publish = false
tokio_console = [
"dep:console-subscriber",
"tokio/tracing",
"turbo-tasks/tokio_tracing",
"turbo-binding/__turbo_tasks_tokio_tracing",
]
[dependencies]
@ -42,20 +42,24 @@ tokio = { workspace = true, features = ["full"] }
# For matching on errors from chromiumoxide. Keep in
# sync with chromiumoxide's tungstenite requirement.
tungstenite = { workspace = true }
turbo-malloc = { workspace = true, default-features = false, features = [
"custom_allocator",
] }
turbo-binding = { workspace = true, features = [
"__turbo_malloc",
"__turbo_tasks_memory",
"__turbo_tasks",
"__turbo_tasks_fs",
"__turbo_tasks_testing",
"__turbopack_cli_utils",
"__turbopack_test_utils",
"__turbopack_core",
"__turbopack_core_issue_path",
"__turbopack_node",
"__turbopack_dev_server",
]}
turbo-tasks = { workspace = true }
turbo-tasks-fs = { workspace = true }
turbo-tasks-memory = { workspace = true }
turbo-tasks-testing = { workspace = true }
turbopack-cli-utils = { workspace = true }
turbopack-core = { workspace = true, features = ["issue_path"] }
turbopack-dev-server = { workspace = true }
turbopack-node = { workspace = true }
turbopack-test-utils = { workspace = true }
url = { workspace = true }
webbrowser = { workspace = true }
[build-dependencies]
turbo-tasks-build = { workspace = true }
turbo-binding = { workspace = true, features = [
"__turbo_tasks_build"
]}

View file

@ -1,4 +1,4 @@
use turbo_tasks_build::{generate_register, rerun_if_glob};
use turbo_binding::turbo::tasks_build::{generate_register, rerun_if_glob};
fn main() {
generate_register();

View file

@ -36,19 +36,19 @@ use tokio::{
task::JoinSet,
};
use tungstenite::{error::ProtocolError::ResetWithoutClosingHandshake, Error::Protocol};
use turbo_tasks::{
use turbo_binding::turbo::tasks::{
debug::{ValueDebug, ValueDebugStringReadRef},
primitives::{BoolVc, StringVc},
NothingVc, RawVc, ReadRef, State, TransientInstance, TransientValue, TurboTasks,
};
use turbo_tasks_fs::{DiskFileSystemVc, FileSystem, FileSystemPathVc};
use turbo_tasks_memory::MemoryBackend;
use turbo_tasks_testing::retry::retry_async;
use turbopack_core::issue::{
use turbo_binding::turbo::tasks_fs::{DiskFileSystemVc, FileSystem, FileSystemPathVc};
use turbo_binding::turbo::tasks_memory::MemoryBackend;
use turbo_binding::turbo::tasks_testing::retry::retry_async;
use turbo_binding::turbopack::core::issue::{
CapturedIssues, Issue, IssueReporter, IssueReporterVc, IssueSeverityVc, IssueVc, IssuesVc,
OptionIssueSourceVc, PlainIssueReadRef,
};
use turbopack_test_utils::snapshot::snapshot_issues;
use turbo_binding::turbopack::test_utils::snapshot::snapshot_issues;
fn register() {
next_dev::register();
@ -211,7 +211,7 @@ async fn run_test(resource: PathBuf) -> JestRunResult {
.eager_compile(false)
.hostname(requested_addr.ip())
.port(requested_addr.port())
.log_level(turbopack_core::issue::IssueSeverity::Warning)
.log_level(turbo_binding::turbopack::core::issue::IssueSeverity::Warning)
.log_detail(true)
.issue_reporter(Box::new(move || {
TestIssueReporterVc::new(issue_tx.clone()).into()

View file

@ -33,7 +33,7 @@ tokio_console = [
"turbo-tasks/tokio_tracing",
]
profile = []
custom_allocator = ["turbo-malloc/custom_allocator"]
custom_allocator = ["turbo-binding/__turbo_malloc", "turbo-binding/__turbo_malloc_custom_allocator"]
native-tls = ["next-core/native-tls"]
rustls-tls = ["next-core/rustls-tls"]
# Internal only. Enabled when building for the Next.js integration test suite.
@ -43,8 +43,8 @@ __internal_nextjs_integration_test = [
# enable "HMR" for embedded assets
dynamic_embed_contents = [
"next-core/dynamic_embed_contents",
"turbopack-node/dynamic_embed_contents",
"turbopack-dev/dynamic_embed_contents",
"turbo-binding/__turbopack_node_dynamic_embed_contents",
"turbo-binding/__turbopack_dev_dynamic_embed_contents",
]
[dependencies]
@ -58,16 +58,17 @@ next-core = { workspace = true }
owo-colors = { workspace = true }
serde = { workspace = true }
tokio = { workspace = true, features = ["full"] }
turbo-malloc = { workspace = true, default-features = false }
turbo-binding = { workspace = true, features = [
"__turbo_tasks_memory",
"__turbo_tasks_fs",
"__turbopack",
"__turbopack_dev",
"__turbopack_core",
"__turbopack_cli_utils",
"__turbopack_node",
"__turbopack_dev_server",
]}
turbo-tasks = { workspace = true }
turbo-tasks-fs = { workspace = true }
turbo-tasks-memory = { workspace = true }
turbopack = { workspace = true }
turbopack-cli-utils = { workspace = true }
turbopack-core = { workspace = true }
turbopack-dev = { workspace = true }
turbopack-dev-server = { workspace = true }
turbopack-node = { workspace = true }
webbrowser = { workspace = true }
[dev-dependencies]
@ -83,15 +84,19 @@ regex = { workspace = true }
serde_json = { workspace = true }
tempfile = { workspace = true }
tungstenite = { workspace = true }
turbo-tasks-testing = { workspace = true }
turbopack-create-test-app = { workspace = true }
turbo-binding = { workspace = true, features = [
"__turbo_tasks_testing",
"__turbopack_create_test_app",
]}
url = { workspace = true }
[target.'cfg(unix)'.dev-dependencies]
nix = "0.26.1"
[build-dependencies]
turbo-tasks-build = { workspace = true }
turbo-binding = { workspace = true, features = [
"__turbo_tasks_build"
]}
vergen = { version = "7.3.2", default-features = false, features = [
"cargo",
"build",

View file

@ -17,11 +17,11 @@ use parking_lot::Mutex;
pub use prepared_app::PreparedApp;
use regex::Regex;
use tungstenite::{error::ProtocolError::ResetWithoutClosingHandshake, Error::Protocol};
use turbo_tasks::util::FormatDuration;
use turbo_tasks_testing::retry::{retry, retry_async};
use turbopack_create_test_app::test_app_builder::{
use turbo_binding::turbo::tasks_testing::retry::{retry, retry_async};
use turbo_binding::turbopack::create_test_app::test_app_builder::{
EffectMode, PackageJsonConfig, TestApp, TestAppBuilder,
};
use turbo_tasks::util::FormatDuration;
use self::env::read_env_bool;
use crate::bundlers::{Bundler, RenderType};

View file

@ -1,4 +1,4 @@
use turbo_tasks_build::generate_register;
use turbo_binding::turbo::tasks_build::generate_register;
use vergen::{vergen, Config};
fn main() {

View file

@ -2,7 +2,7 @@ use std::{net::IpAddr, path::PathBuf};
#[cfg(feature = "cli")]
use clap::Parser;
use turbopack_cli_utils::issue::IssueSeverityCliOption;
use turbo_binding::turbopack::cli_utils::issue::IssueSeverityCliOption;
#[derive(Debug)]
#[cfg_attr(feature = "cli", derive(Parser))]

View file

@ -27,24 +27,19 @@ use next_core::{
source_map::NextSourceMapTraceContentSourceVc,
};
use owo_colors::OwoColorize;
use turbo_malloc::TurboMalloc;
use turbo_tasks::{
util::{FormatBytes, FormatDuration},
StatsType, TransientInstance, TurboTasks, TurboTasksBackendApi, Value,
};
use turbo_tasks_fs::{DiskFileSystemVc, FileSystem, FileSystemVc};
use turbo_tasks_memory::MemoryBackend;
use turbopack::evaluate_context::node_build_environment;
use turbopack_cli_utils::issue::{ConsoleUiVc, LogOptions};
use turbopack_core::{
use turbo_binding::turbo::malloc::TurboMalloc;
use turbo_binding::turbo::tasks_fs::{DiskFileSystemVc, FileSystem, FileSystemVc};
use turbo_binding::turbo::tasks_memory::MemoryBackend;
use turbo_binding::turbopack::cli_utils::issue::{ConsoleUiVc, LogOptions};
use turbo_binding::turbopack::core::{
environment::ServerAddr,
issue::{IssueReporterVc, IssueSeverity},
resolve::{parse::RequestVc, pattern::QueryMapVc},
server_fs::ServerFileSystemVc,
PROJECT_FILESYSTEM_NAME,
};
use turbopack_dev::DevChunkingContextVc;
use turbopack_dev_server::{
use turbo_binding::turbopack::dev::DevChunkingContextVc;
use turbo_binding::turbopack::dev_server::{
introspect::IntrospectionSource,
source::{
combined::CombinedContentSourceVc, router::RouterContentSource,
@ -53,7 +48,12 @@ use turbopack_dev_server::{
},
DevServer, DevServerBuilder,
};
use turbopack_node::execution_context::ExecutionContextVc;
use turbo_binding::turbopack::node::execution_context::ExecutionContextVc;
use turbo_binding::turbopack::turbopack::evaluate_context::node_build_environment;
use turbo_tasks::{
util::{FormatBytes, FormatDuration},
StatsType, TransientInstance, TurboTasks, TurboTasksBackendApi, Value,
};
#[derive(Clone)]
pub enum EntryRequest {

View file

@ -6,7 +6,7 @@ use anyhow::Result;
use clap::Parser;
#[global_allocator]
static ALLOC: turbo_malloc::TurboMalloc = turbo_malloc::TurboMalloc;
static ALLOC: turbo_binding::turbo::malloc::TurboMalloc = turbo_binding::turbo::malloc::TurboMalloc;
#[cfg(not(feature = "cli"))]
fn main() -> Result<()> {
@ -15,7 +15,7 @@ fn main() -> Result<()> {
#[cfg(feature = "cli")]
fn main() {
use turbo_malloc::TurboMalloc;
use turbo_binding::turbo::malloc::TurboMalloc;
tokio::runtime::Builder::new_multi_thread()
.enable_all()

View file

@ -2,17 +2,17 @@ use std::{sync::Arc, time::Duration};
use anyhow::Result;
use mime::TEXT_HTML_UTF_8;
use turbo_tasks::{get_invalidator, TurboTasks, TurboTasksBackendApi, Value};
use turbo_tasks_fs::File;
use turbo_tasks_memory::{
use turbo_binding::turbo::tasks_fs::File;
use turbo_binding::turbo::tasks_memory::{
stats::{ReferenceType, Stats},
viz, MemoryBackend,
};
use turbopack_core::asset::AssetContentVc;
use turbopack_dev_server::source::{
use turbo_binding::turbopack::core::asset::AssetContentVc;
use turbo_binding::turbopack::dev_server::source::{
ContentSource, ContentSourceContentVc, ContentSourceData, ContentSourceDataFilter,
ContentSourceDataVary, ContentSourceResultVc, ContentSourceVc, NeededData,
};
use turbo_tasks::{get_invalidator, TurboTasks, TurboTasksBackendApi, Value};
#[turbo_tasks::value(serialization = "none", eq = "manual", cell = "new", into = "new")]
pub struct TurboTasksSource {

View file

@ -11,7 +11,7 @@ crate-type = ["cdylib"]
default = ["swc_v1"]
swc_v1 = []
plugin = ["getrandom/js", "next-binding/__swc_core_binding_wasm_plugin"]
plugin = ["getrandom/js", "turbo-binding/__swc_core_binding_wasm_plugin"]
[dependencies]
anyhow = "1.0.66"
@ -31,7 +31,7 @@ wasm-bindgen-futures = "0.4.8"
getrandom = { version = "0.2.5", optional = true, default-features = false }
js-sys = "0.3.59"
serde-wasm-bindgen = "0.4.3"
next-binding = { path = "../next-binding", features = [
turbo-binding = { workspace = true, features = [
"__swc_core_binding_wasm",
"__feature_mdx_rs",
] }

View file

@ -5,7 +5,7 @@ use std::sync::Arc;
use wasm_bindgen::{prelude::*, JsCast};
use wasm_bindgen_futures::future_to_promise;
use next_binding::swc::core::{
use turbo_binding::swc::core::{
base::{config::JsMinifyOptions, config::ParseOptions, try_with_handler, Compiler},
common::{
comments::{Comments, SingleThreadedComments},
@ -31,7 +31,7 @@ pub fn minify_sync(s: JsString, opts: JsValue) -> Result<JsValue, JsValue> {
let value = try_with_handler(
c.cm.clone(),
next_binding::swc::core::base::HandlerOpts {
turbo_binding::swc::core::base::HandlerOpts {
color: ColorConfig::Never,
skip_filename: false,
},
@ -68,7 +68,7 @@ pub fn transform_sync(s: JsValue, opts: JsValue) -> Result<JsValue, JsValue> {
let s = s.dyn_into::<js_sys::JsString>();
let out = try_with_handler(
c.cm.clone(),
next_binding::swc::core::base::HandlerOpts {
turbo_binding::swc::core::base::HandlerOpts {
color: ColorConfig::Never,
skip_filename: false,
},
@ -133,14 +133,14 @@ pub fn transform(s: JsValue, opts: JsValue) -> js_sys::Promise {
pub fn parse_sync(s: JsString, opts: JsValue) -> Result<JsValue, JsValue> {
console_error_panic_hook::set_once();
let c = next_binding::swc::core::base::Compiler::new(Arc::new(SourceMap::new(
let c = turbo_binding::swc::core::base::Compiler::new(Arc::new(SourceMap::new(
FilePathMapping::empty(),
)));
let opts: ParseOptions = serde_wasm_bindgen::from_value(opts)?;
try_with_handler(
c.cm.clone(),
next_binding::swc::core::base::HandlerOpts {
turbo_binding::swc::core::base::HandlerOpts {
..Default::default()
},
|handler| {

Some files were not shown because too many files have changed in this diff Show more