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:
parent
0ed46203aa
commit
7e70ac64b3
102 changed files with 659 additions and 827 deletions
174
packages/next-swc/Cargo.lock
generated
174
packages/next-swc/Cargo.lock
generated
|
@ -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",
|
||||
]
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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",
|
||||
] }
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use next_binding::swc::core::{
|
||||
use turbo_binding::swc::core::{
|
||||
ecma::ast::*,
|
||||
ecma::visit::{Visit, VisitWith},
|
||||
};
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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()
|
||||
)
|
||||
),
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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},
|
||||
|
|
|
@ -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},
|
||||
|
|
|
@ -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},
|
||||
};
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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")]
|
||||
|
|
|
@ -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},
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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()),
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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()));
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
},
|
||||
|
|
|
@ -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,
|
||||
},
|
||||
|
|
|
@ -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(),
|
||||
},
|
||||
|
|
|
@ -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<()> {
|
||||
|
|
|
@ -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,
|
||||
};
|
||||
|
||||
|
|
|
@ -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 }
|
|
@ -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.
|
|
@ -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;
|
||||
}
|
|
@ -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",
|
||||
|
|
|
@ -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};
|
||||
|
||||
|
|
|
@ -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"));
|
||||
}
|
||||
|
||||
|
|
|
@ -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",
|
||||
]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use turbo_tasks_build::generate_register;
|
||||
use turbo_binding::turbo::tasks_build::generate_register;
|
||||
|
||||
fn main() {
|
||||
generate_register();
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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::{
|
||||
|
|
|
@ -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},
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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::{
|
||||
|
|
|
@ -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"));
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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::{
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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::{
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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())
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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()?)?;
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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};
|
||||
|
|
|
@ -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?;
|
||||
|
|
|
@ -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};
|
||||
|
|
|
@ -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::{
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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},
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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};
|
||||
|
||||
|
|
|
@ -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},
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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},
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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::{
|
||||
|
|
|
@ -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"
|
||||
]}
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use turbo_tasks_build::generate_register;
|
||||
use turbo_binding::turbo::tasks_build::generate_register;
|
||||
use vergen::{vergen, Config};
|
||||
|
||||
fn main() {
|
||||
|
|
|
@ -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))]
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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",
|
||||
] }
|
||||
|
|
|
@ -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
Loading…
Reference in a new issue