diff --git a/Cargo.lock b/Cargo.lock index c4949656dfd0d..bea97f3c5f498 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -321,7 +321,7 @@ dependencies = [ [[package]] name = "auto-hash-map" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "serde", "smallvec", @@ -3497,7 +3497,7 @@ dependencies = [ [[package]] name = "node-file-trace" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "serde", @@ -7537,7 +7537,7 @@ dependencies = [ [[package]] name = "turbo-tasks" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "async-trait", @@ -7569,7 +7569,7 @@ dependencies = [ [[package]] name = "turbo-tasks-build" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "cargo-lock", @@ -7581,7 +7581,7 @@ dependencies = [ [[package]] name = "turbo-tasks-bytes" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "bytes", @@ -7596,7 +7596,7 @@ dependencies = [ [[package]] name = "turbo-tasks-env" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "dotenvs", @@ -7610,7 +7610,7 @@ dependencies = [ [[package]] name = "turbo-tasks-fetch" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "indexmap 1.9.3", @@ -7627,7 +7627,7 @@ dependencies = [ [[package]] name = "turbo-tasks-fs" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "auto-hash-map", @@ -7658,7 +7658,7 @@ dependencies = [ [[package]] name = "turbo-tasks-hash" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "base16", "hex", @@ -7670,7 +7670,7 @@ dependencies = [ [[package]] name = "turbo-tasks-macros" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "convert_case 0.6.0", @@ -7684,7 +7684,7 @@ dependencies = [ [[package]] name = "turbo-tasks-macros-shared" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "proc-macro2", "quote", @@ -7694,7 +7694,7 @@ dependencies = [ [[package]] name = "turbo-tasks-malloc" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "mimalloc", ] @@ -7702,7 +7702,7 @@ dependencies = [ [[package]] name = "turbo-tasks-memory" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "auto-hash-map", @@ -7727,7 +7727,7 @@ dependencies = [ [[package]] name = "turbopack" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "async-recursion", @@ -7759,7 +7759,7 @@ dependencies = [ [[package]] name = "turbopack-binding" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "auto-hash-map", "mdxjs", @@ -7800,7 +7800,7 @@ dependencies = [ [[package]] name = "turbopack-build" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "indexmap 1.9.3", @@ -7824,7 +7824,7 @@ dependencies = [ [[package]] name = "turbopack-cli-utils" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "clap 4.4.2", @@ -7842,7 +7842,7 @@ dependencies = [ [[package]] name = "turbopack-core" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "async-recursion", @@ -7872,7 +7872,7 @@ dependencies = [ [[package]] name = "turbopack-css" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "async-trait", @@ -7899,7 +7899,7 @@ dependencies = [ [[package]] name = "turbopack-dev" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "indexmap 1.9.3", @@ -7923,7 +7923,7 @@ dependencies = [ [[package]] name = "turbopack-dev-server" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "async-compression", @@ -7960,7 +7960,7 @@ dependencies = [ [[package]] name = "turbopack-ecmascript" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "async-trait", @@ -7995,7 +7995,7 @@ dependencies = [ [[package]] name = "turbopack-ecmascript-hmr-protocol" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "serde", "serde_json", @@ -8006,7 +8006,7 @@ dependencies = [ [[package]] name = "turbopack-ecmascript-plugins" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "async-trait", @@ -8029,7 +8029,7 @@ dependencies = [ [[package]] name = "turbopack-ecmascript-runtime" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "indoc", @@ -8046,7 +8046,7 @@ dependencies = [ [[package]] name = "turbopack-env" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "indexmap 1.9.3", @@ -8062,7 +8062,7 @@ dependencies = [ [[package]] name = "turbopack-image" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "base64 0.21.4", @@ -8082,7 +8082,7 @@ dependencies = [ [[package]] name = "turbopack-json" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "serde", @@ -8097,7 +8097,7 @@ dependencies = [ [[package]] name = "turbopack-mdx" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "mdxjs", @@ -8112,7 +8112,7 @@ dependencies = [ [[package]] name = "turbopack-node" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "async-stream", @@ -8147,7 +8147,7 @@ dependencies = [ [[package]] name = "turbopack-static" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "serde", @@ -8163,7 +8163,7 @@ dependencies = [ [[package]] name = "turbopack-swc-utils" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "swc_core", "turbo-tasks", @@ -8174,7 +8174,7 @@ dependencies = [ [[package]] name = "turbopack-trace-utils" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "crossbeam-channel", @@ -8190,7 +8190,7 @@ dependencies = [ [[package]] name = "turbopack-wasm" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.1#145d71b0a0e4ddaffda006a07eccc55e33aad75e" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240117.3#438bdd0b198163a37ff6050cf8ae2c7ca8b07753" dependencies = [ "anyhow", "indexmap 1.9.3", @@ -8212,7 +8212,7 @@ version = "1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ - "cfg-if 0.1.10", + "cfg-if 1.0.0", "rand", "static_assertions", ] diff --git a/Cargo.toml b/Cargo.toml index 23d31e5c05761..eb511e273c6be 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -37,11 +37,11 @@ swc_core = { version = "0.87.16", features = [ testing = { version = "0.35.14" } # Turbo crates -turbopack-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240117.1" } +turbopack-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240117.3" } # [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-240117.1" } +turbo-tasks = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240117.3" } # [TODO]: need to refactor embed_directory! macro usage in next-core -turbo-tasks-fs = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240117.1" } +turbo-tasks-fs = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240117.3" } # General Deps diff --git a/packages/next-swc/crates/next-core/src/next_client/context.rs b/packages/next-swc/crates/next-core/src/next_client/context.rs index 43e32b2435674..96012a4b0c3b6 100644 --- a/packages/next-swc/crates/next-core/src/next_client/context.rs +++ b/packages/next-swc/crates/next-core/src/next_client/context.rs @@ -18,13 +18,16 @@ use turbopack_binding::{ }, dev::{react_refresh::assert_can_resolve_react_refresh, DevChunkingContext}, ecmascript::{chunk::EcmascriptChunkingContext, TreeShakingMode}, - node::execution_context::ExecutionContext, + node::{ + execution_context::ExecutionContext, + transforms::postcss::{PostCssConfigLocation, PostCssTransformOptions}, + }, turbopack::{ condition::ContextCondition, module_options::{ module_options_context::ModuleOptionsContext, CustomEcmascriptTransformPlugins, - JsxTransformOptions, MdxTransformModuleOptions, PostCssTransformOptions, - TypescriptTransformOptions, WebpackLoadersOptions, + JsxTransformOptions, MdxTransformModuleOptions, TypescriptTransformOptions, + WebpackLoadersOptions, }, resolve_options_context::ResolveOptionsContext, }, @@ -258,23 +261,34 @@ pub async fn get_client_module_options_context( }, )); - let postcss_transform_options = Some(PostCssTransformOptions { + let postcss_transform_options = PostCssTransformOptions { postcss_package: Some(get_postcss_package_mapping(project_path)), + config_location: PostCssConfigLocation::ProjectPathOrLocalPath, ..Default::default() - }); + }; + let postcss_foreign_transform_options = PostCssTransformOptions { + // For node_modules we don't want to resolve postcss config relative to the file being + // compiled, instead it only uses the project root postcss config. + config_location: PostCssConfigLocation::ProjectPath, + ..postcss_transform_options.clone() + }; + let enable_postcss_transform = Some(postcss_transform_options.cell()); + let enable_foreign_postcss_transform = Some(postcss_foreign_transform_options.cell()); let module_options_context = ModuleOptionsContext { preset_env_versions: Some(env), execution_context: Some(execution_context), custom_ecma_transform_plugins, tree_shaking_mode: Some(TreeShakingMode::ReexportsOnly), + enable_postcss_transform, ..Default::default() }; + // node_modules context let foreign_codes_options_context = ModuleOptionsContext { enable_webpack_loaders: foreign_webpack_loaders, + enable_postcss_transform: enable_foreign_postcss_transform, // NOTE(WEB-1016) PostCSS transforms should also apply to foreign code. - enable_postcss_transform: postcss_transform_options.clone(), ..module_options_context.clone() }; @@ -284,7 +298,6 @@ pub async fn get_client_module_options_context( // the modules. enable_jsx: Some(jsx_runtime_options), enable_webpack_loaders, - enable_postcss_transform: postcss_transform_options, enable_typescript_transform: Some(tsconfig), enable_mdx_rs, decorators: Some(decorators_options), diff --git a/packages/next-swc/crates/next-core/src/next_server/context.rs b/packages/next-swc/crates/next-core/src/next_server/context.rs index 9d516c340eaf0..32db4cec20d14 100644 --- a/packages/next-swc/crates/next-core/src/next_server/context.rs +++ b/packages/next-swc/crates/next-core/src/next_server/context.rs @@ -19,13 +19,15 @@ use turbopack_binding::{ }, ecmascript::{references::esm::UrlRewriteBehavior, TransformPlugin, TreeShakingMode}, ecmascript_plugin::transform::directives::client::ClientDirectiveTransformer, - node::execution_context::ExecutionContext, + node::{ + execution_context::ExecutionContext, + transforms::postcss::{PostCssConfigLocation, PostCssTransformOptions}, + }, turbopack::{ condition::ContextCondition, module_options::{ CustomEcmascriptTransformPlugins, JsxTransformOptions, MdxTransformModuleOptions, - ModuleOptionsContext, PostCssTransformOptions, TypescriptTransformOptions, - WebpackLoadersOptions, + ModuleOptionsContext, TypescriptTransformOptions, WebpackLoadersOptions, }, resolve_options_context::ResolveOptionsContext, transition::Transition, @@ -280,10 +282,20 @@ pub async fn get_server_module_options_context( let foreign_code_context_condition = foreign_code_context_condition(next_config, project_path).await?; - let postcss_transform_options = Some(PostCssTransformOptions { + let postcss_transform_options = PostCssTransformOptions { postcss_package: Some(get_postcss_package_mapping(project_path)), + config_location: PostCssConfigLocation::ProjectPathOrLocalPath, ..Default::default() - }); + }; + let postcss_foreign_transform_options = PostCssTransformOptions { + // For node_modules we don't want to resolve postcss config relative to the file + // being compiled, instead it only uses the project root postcss + // config. + config_location: PostCssConfigLocation::ProjectPath, + ..postcss_transform_options.clone() + }; + let enable_postcss_transform = Some(postcss_transform_options.cell()); + let enable_foreign_postcss_transform = Some(postcss_foreign_transform_options.cell()); // A separate webpack rules will be applied to codes matching // foreign_code_context_condition. This allows to import codes from @@ -400,7 +412,7 @@ pub async fn get_server_module_options_context( custom_rules: internal_custom_rules.clone(), enable_webpack_loaders: foreign_webpack_loaders, // NOTE(WEB-1016) PostCSS transforms should also apply to foreign code. - enable_postcss_transform: postcss_transform_options.clone(), + enable_postcss_transform: enable_foreign_postcss_transform, ..module_options_context.clone() }; @@ -414,7 +426,7 @@ pub async fn get_server_module_options_context( ModuleOptionsContext { enable_jsx: Some(jsx_runtime_options), enable_webpack_loaders, - enable_postcss_transform: postcss_transform_options, + enable_postcss_transform, enable_typescript_transform: Some(tsconfig), enable_mdx_rs, decorators: Some(decorators_options), @@ -469,7 +481,7 @@ pub async fn get_server_module_options_context( custom_rules: internal_custom_rules.clone(), enable_webpack_loaders: foreign_webpack_loaders, // NOTE(WEB-1016) PostCSS transforms should also apply to foreign code. - enable_postcss_transform: postcss_transform_options.clone(), + enable_postcss_transform: enable_foreign_postcss_transform, ..module_options_context.clone() }; let internal_module_options_context = ModuleOptionsContext { @@ -491,7 +503,7 @@ pub async fn get_server_module_options_context( ModuleOptionsContext { enable_jsx: Some(jsx_runtime_options), enable_webpack_loaders, - enable_postcss_transform: postcss_transform_options, + enable_postcss_transform, enable_typescript_transform: Some(tsconfig), enable_mdx_rs, decorators: Some(decorators_options), @@ -555,7 +567,7 @@ pub async fn get_server_module_options_context( custom_rules: internal_custom_rules.clone(), enable_webpack_loaders: foreign_webpack_loaders, // NOTE(WEB-1016) PostCSS transforms should also apply to foreign code. - enable_postcss_transform: postcss_transform_options.clone(), + enable_postcss_transform: enable_foreign_postcss_transform, ..module_options_context.clone() }; let internal_module_options_context = ModuleOptionsContext { @@ -566,7 +578,7 @@ pub async fn get_server_module_options_context( ModuleOptionsContext { enable_jsx: Some(jsx_runtime_options), enable_webpack_loaders, - enable_postcss_transform: postcss_transform_options, + enable_postcss_transform, enable_typescript_transform: Some(tsconfig), enable_mdx_rs, decorators: Some(decorators_options), @@ -591,6 +603,13 @@ pub async fn get_server_module_options_context( tree_shaking_mode: Some(TreeShakingMode::ReexportsOnly), ..Default::default() }; + let foreign_code_module_options_context = ModuleOptionsContext { + custom_rules: internal_custom_rules.clone(), + enable_webpack_loaders: foreign_webpack_loaders, + // NOTE(WEB-1016) PostCSS transforms should also apply to foreign code. + enable_postcss_transform: enable_foreign_postcss_transform, + ..module_options_context.clone() + }; let internal_module_options_context = ModuleOptionsContext { enable_typescript_transform: Some(TypescriptTransformOptions::default().cell()), custom_rules: internal_custom_rules, @@ -598,14 +617,14 @@ pub async fn get_server_module_options_context( }; ModuleOptionsContext { enable_webpack_loaders, - enable_postcss_transform: postcss_transform_options, + enable_postcss_transform, enable_typescript_transform: Some(tsconfig), enable_mdx_rs, decorators: Some(decorators_options), rules: vec![ ( foreign_code_context_condition, - module_options_context.clone().cell(), + foreign_code_module_options_context.cell(), ), ( ContextCondition::InPath(next_js_fs().root()), @@ -640,6 +659,13 @@ pub async fn get_server_module_options_context( tree_shaking_mode: Some(TreeShakingMode::ReexportsOnly), ..Default::default() }; + let foreign_code_module_options_context = ModuleOptionsContext { + custom_rules: internal_custom_rules.clone(), + enable_webpack_loaders: foreign_webpack_loaders, + // NOTE(WEB-1016) PostCSS transforms should also apply to foreign code. + enable_postcss_transform: enable_foreign_postcss_transform, + ..module_options_context.clone() + }; let internal_module_options_context = ModuleOptionsContext { enable_typescript_transform: Some(TypescriptTransformOptions::default().cell()), custom_rules: internal_custom_rules, @@ -648,14 +674,14 @@ pub async fn get_server_module_options_context( ModuleOptionsContext { enable_jsx: Some(jsx_runtime_options), enable_webpack_loaders, - enable_postcss_transform: postcss_transform_options, + enable_postcss_transform, enable_typescript_transform: Some(tsconfig), enable_mdx_rs, decorators: Some(decorators_options), rules: vec![ ( foreign_code_context_condition, - module_options_context.clone().cell(), + foreign_code_module_options_context.cell(), ), ( ContextCondition::InPath(next_js_fs().root()), diff --git a/packages/next/package.json b/packages/next/package.json index 74bd2af94c6da..a5ac3357b45af 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -194,7 +194,7 @@ "@types/ws": "8.2.0", "@vercel/ncc": "0.34.0", "@vercel/nft": "0.26.2", - "@vercel/turbopack-ecmascript-runtime": "https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240117.1", + "@vercel/turbopack-ecmascript-runtime": "https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240117.3", "acorn": "8.5.0", "amphtml-validator": "1.0.35", "anser": "1.4.9", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eefa4a48de3b5..a092636f7357d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1077,8 +1077,8 @@ importers: specifier: 0.26.2 version: 0.26.2 '@vercel/turbopack-ecmascript-runtime': - specifier: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240117.1 - version: '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240117.1(react-refresh@0.12.0)(webpack@5.86.0)' + specifier: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240117.3 + version: '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240117.3(react-refresh@0.12.0)(webpack@5.86.0)' acorn: specifier: 8.5.0 version: 8.5.0 @@ -25649,9 +25649,9 @@ packages: /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240117.1(react-refresh@0.12.0)(webpack@5.86.0)': - resolution: {tarball: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240117.1} - id: '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240117.1' + '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240117.3(react-refresh@0.12.0)(webpack@5.86.0)': + resolution: {tarball: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240117.3} + id: '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240117.3' name: '@vercel/turbopack-ecmascript-runtime' version: 0.0.0 dependencies: