diff --git a/packages/next-swc/Cargo.lock b/packages/next-swc/Cargo.lock index 1c9e749b6cd75..79fac4bf0691c 100644 --- a/packages/next-swc/Cargo.lock +++ b/packages/next-swc/Cargo.lock @@ -1879,9 +1879,9 @@ dependencies = [ [[package]] name = "swc" -version = "0.180.0" +version = "0.181.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d811003b6ed9aa0d2efabf256de74ff9b19d6f013bc88d9c0b756a9e014f1971" +checksum = "624191cf55bb9927663c75c053818a7408639bc01a7dd7660f68d756009ea6e3" dependencies = [ "ahash", "anyhow", @@ -1986,9 +1986,9 @@ dependencies = [ [[package]] name = "swc_common" -version = "0.18.2" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a14c5d15a47c404bc1e1597f4412643d293aed2c3143c9c4a9c20abe879a934b" +checksum = "269446a3916d32071ca4c1adb39761fd067bc352ba40e40fca11de881ece8007" dependencies = [ "ahash", "ast_node", @@ -2148,12 +2148,13 @@ dependencies = [ [[package]] name = "swc_ecma_ast" -version = "0.78.0" +version = "0.78.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed68ad13e4489f309ffed9d302337d7c8bde11d00b8b275b7aa7fda4da035bf" +checksum = "21f40169fe465e9a93cda5fe397c3afcb69be5ba2f76c4ab22137af6effaebcc" dependencies = [ "is-macro", "num-bigint", + "scoped-tls", "serde", "string_enum", "swc_atoms", @@ -2252,9 +2253,9 @@ dependencies = [ [[package]] name = "swc_ecma_minifier" -version = "0.114.5" +version = "0.114.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd914b26110a782b362e97b2cbf697c18a637293b1cccb5d02dc335dca419609" +checksum = "9c43e526a9441730cb75e84f3420cbb6c19be4530e0147f7de0f3c52743d15c9" dependencies = [ "ahash", "arrayvec", @@ -2385,9 +2386,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_compat" -version = "0.99.0" +version = "0.99.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8765716f50186e937f79726384cced3c2d4d15293fb0df7f32bd2feb25fb314" +checksum = "1144fe5347ef3bcb284bf66c94947ff58f6ac3bd7d468859d870e684af572181" dependencies = [ "ahash", "arrayvec", @@ -2425,9 +2426,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_module" -version = "0.112.0" +version = "0.112.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48a5415e54a7b7a95e3dd2ede463e377a6254c6a37fae9830b113a2ad45226fe" +checksum = "6fc4ded6134ca3f31c918dd1b9772c3b2bdf2f8f83d782e4cf94c3e0016c4b41" dependencies = [ "Inflector", "ahash", @@ -2449,9 +2450,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_optimization" -version = "0.124.0" +version = "0.124.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e27080f65285ccd53bd9ad68e64e62faba2595d57144e4552a1752664525e474" +checksum = "c995fb0565ace6368253af588cb848a92f0347dd74aef39e64af3c56466206d5" dependencies = [ "ahash", "dashmap", @@ -2491,9 +2492,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_react" -version = "0.114.0" +version = "0.114.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83e0f5f3cf67dd7d57f23b152c9d55159ceaa10b73b2a32f973398d2304f3363" +checksum = "2fbfcd197ebeb0547b59dee39a164633bcf4fb0edbae886f8046e471e6a10502" dependencies = [ "ahash", "base64 0.13.0", diff --git a/packages/next-swc/crates/core/Cargo.toml b/packages/next-swc/crates/core/Cargo.toml index 3487d682b16de..fb1015a245d76 100644 --- a/packages/next-swc/crates/core/Cargo.toml +++ b/packages/next-swc/crates/core/Cargo.toml @@ -21,9 +21,9 @@ swc_emotion = {path="../emotion"} styled_components = {path="../styled_components"} styled_jsx = {path="../styled_jsx"} modularize_imports = {path="../modularize_imports"} -swc = "0.180.0" +swc = "0.181.0" swc_atoms = "0.2.11" -swc_common = { version = "0.18.2", features = ["concurrent", "sourcemap"] } +swc_common = { version = "0.18.5", features = ["concurrent", "sourcemap"] } swc_ecma_loader = { version = "0.30.1", features = ["node", "lru"] } swc_ecmascript = { version = "0.157.0", features = ["codegen", "minifier", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] } swc_cached = "0.1.1" diff --git a/packages/next-swc/crates/emotion/Cargo.toml b/packages/next-swc/crates/emotion/Cargo.toml index 32d988eddd079..687bd7ab4846b 100644 --- a/packages/next-swc/crates/emotion/Cargo.toml +++ b/packages/next-swc/crates/emotion/Cargo.toml @@ -19,7 +19,7 @@ regex = "1.5" serde = "1" sourcemap = "6.0.1" swc_atoms = "0.2.11" -swc_common = { version = "0.18.2", features = ["concurrent", "sourcemap"] } +swc_common = { version = "0.18.5", features = ["concurrent", "sourcemap"] } swc_ecmascript = { version = "0.157.0", features = ["codegen", "utils", "visit"] } swc_trace_macro = "0.1.1" tracing = { version = "0.1.32", features = ["release_max_level_info"] } diff --git a/packages/next-swc/crates/napi/Cargo.toml b/packages/next-swc/crates/napi/Cargo.toml index 78fec4fa97416..4c286d9b10627 100644 --- a/packages/next-swc/crates/napi/Cargo.toml +++ b/packages/next-swc/crates/napi/Cargo.toml @@ -17,10 +17,10 @@ next-swc = {version = "0.0.0", path = "../core"} once_cell = "1.8.0" serde = "1" serde_json = "1" -swc = "0.180.0" +swc = "0.181.0" swc_atoms = "0.2.11" swc_bundler = { version = "0.147.0", features = ["concurrent"] } -swc_common = { version = "0.18.2", features = ["concurrent", "sourcemap"] } +swc_common = { version = "0.18.5", features = ["concurrent", "sourcemap"] } swc_ecma_loader = { version = "0.30.1", features = ["node", "lru"] } swc_ecmascript = { version = "0.157.0", features = ["codegen", "minifier", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] } swc_node_base = "0.5.3" diff --git a/packages/next-swc/crates/styled_components/Cargo.toml b/packages/next-swc/crates/styled_components/Cargo.toml index c4bb3aa55ff8b..8e8661897cb83 100644 --- a/packages/next-swc/crates/styled_components/Cargo.toml +++ b/packages/next-swc/crates/styled_components/Cargo.toml @@ -16,7 +16,7 @@ once_cell = "1.10.0" regex = {version = "1.5.4", features = ["std", "perf"], default-features = false} serde = {version = "1.0.130", features = ["derive"]} swc_atoms = "0.2.11" -swc_common = { version = "0.18.2", features = ["concurrent"] } +swc_common = { version = "0.18.5", features = ["concurrent"] } swc_ecmascript = { version = "0.157.0", features = ["utils", "visit"] } tracing = "0.1.32" diff --git a/packages/next-swc/crates/styled_jsx/Cargo.toml b/packages/next-swc/crates/styled_jsx/Cargo.toml index 45d0171839687..7842438f9feda 100644 --- a/packages/next-swc/crates/styled_jsx/Cargo.toml +++ b/packages/next-swc/crates/styled_jsx/Cargo.toml @@ -11,7 +11,7 @@ version = "0.4.0" [dependencies] easy-error = "1.0.0" -swc_common = { version = "0.18.2", features = ["concurrent", "sourcemap"] } +swc_common = { version = "0.18.5", features = ["concurrent", "sourcemap"] } swc_css = "0.105.0" swc_css_prefixer = "0.101.0" swc_ecmascript = { version = "0.157.0", features = ["parser", "minifier", "utils", "visit"] } diff --git a/packages/next-swc/crates/wasm/Cargo.toml b/packages/next-swc/crates/wasm/Cargo.toml index f90325b2b4a5e..7fcc9057540b3 100644 --- a/packages/next-swc/crates/wasm/Cargo.toml +++ b/packages/next-swc/crates/wasm/Cargo.toml @@ -16,8 +16,8 @@ parking_lot_core = "=0.8.0" path-clean = "0.1" serde = {version = "1", features = ["derive"]} serde_json = "1" -swc = "0.180.0" -swc_common = { version = "0.18.2", features = ["concurrent", "sourcemap"] } +swc = "0.181.0" +swc_common = { version = "0.18.5", features = ["concurrent", "sourcemap"] } swc_ecmascript = { version = "0.157.0", features = ["codegen", "minifier", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] } tracing = { version = "0.1.32", features = ["release_max_level_off"] } wasm-bindgen = {version = "0.2", features = ["serde-serialize"]} diff --git a/packages/next/pages/_document.tsx b/packages/next/pages/_document.tsx index badc0f7a6b85c..493c3d9b7c048 100644 --- a/packages/next/pages/_document.tsx +++ b/packages/next/pages/_document.tsx @@ -555,8 +555,13 @@ export class Head extends Component< !script.src && (script.dangerouslySetInnerHTML || script.children) ) .map((file: ScriptProps, index: number) => { - const { strategy, children, dangerouslySetInnerHTML, ...scriptProps } = - file + const { + strategy, + children, + dangerouslySetInnerHTML, + src, + ...scriptProps + } = file let html = '' if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) { diff --git a/test/integration/script-loader/base/pages/page7.js b/test/integration/script-loader/base/pages/page7.js new file mode 100644 index 0000000000000..6d9b5b4e99b2d --- /dev/null +++ b/test/integration/script-loader/base/pages/page7.js @@ -0,0 +1,15 @@ +import Script from 'next/script' + +const Page = () => { + return ( +
+ +
page7
+
+ ) +} + +export default Page diff --git a/test/integration/script-loader/test/index.test.js b/test/integration/script-loader/test/index.test.js index d5f08f76a4826..89d3f4008c0f8 100644 --- a/test/integration/script-loader/test/index.test.js +++ b/test/integration/script-loader/test/index.test.js @@ -203,6 +203,24 @@ describe('Next.js Script - Primary Strategies', () => { ).toBeGreaterThan(0) }) + it('priority beforeInteractive with inline script should execute', async () => { + let browser + try { + browser = await webdriver(appPort, '/page7') + + await waitFor(1000) + + const logs = await browser.log() + expect( + logs.some((log) => + log.message.includes('beforeInteractive inline script run') + ) + ).toBe(true) + } finally { + if (browser) await browser.close() + } + }) + it('Does not duplicate inline scripts', async () => { let browser try {