diff --git a/.github/actions/setup-rust/action.yml b/.github/actions/setup-rust/action.yml new file mode 100644 index 0000000000000..bb6044cbf08f1 --- /dev/null +++ b/.github/actions/setup-rust/action.yml @@ -0,0 +1,65 @@ +name: 'Rust Setup' +description: 'Sets up the Rust toolchain for CI' +inputs: + targets: + description: 'Comma-separated list of target triples to install for this toolchain' + required: false + components: + description: 'Comma-separated list of components to be additionally installed' + required: false + skip-install: + description: 'Sets environment variables without installing the rust toolchain' + required: false + +runs: + using: 'composite' + steps: + - name: 'Get toolchain version from file' + id: file + shell: bash + run: echo "toolchain=$(cat ./rust-toolchain)" >> $GITHUB_OUTPUT + + - shell: bash + run: | + : force toolchain version + echo "RUST_TOOLCHAIN=${{ steps.file.outputs.toolchain }}" >> $GITHUB_ENV + + - shell: bash + run: | + : disable incremental compilation + if [ -z "${CARGO_INCREMENTAL+set}" ]; then + echo CARGO_INCREMENTAL=0 >> $GITHUB_ENV + fi + + - shell: bash + run: | + : enable colors in Cargo output + if [ -z "${CARGO_TERM_COLOR+set}" ]; then + echo CARGO_TERM_COLOR=always >> $GITHUB_ENV + fi + + - shell: bash + run: | + : enable rust backtrace + if [ -z "${RUST_BACKTRACE+set}" ]; then + echo RUST_BACKTRACE=short >> $GITHUB_ENV + fi + + - shell: bash + run: | + : enable faster cargo sparse registry + if [ -z "${CARGO_REGISTRIES_CRATES_IO_PROTOCOL+set}" ]; then + echo CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse >> $GITHUB_ENV + fi + + - name: 'Setup Rust toolchain' + uses: dtolnay/rust-toolchain@master + if: ${{ !inputs.skip-install }} + with: + toolchain: ${{ steps.file.outputs.toolchain }} + targets: ${{ inputs.targets }} + components: ${{ inputs.components }} + + - name: 'Add cargo problem matchers' + shell: bash + run: echo "::add-matcher::${{ github.action_path }}/matchers.json" diff --git a/.github/actions/setup-rust/matchers.json b/.github/actions/setup-rust/matchers.json new file mode 100644 index 0000000000000..aff246556a3db --- /dev/null +++ b/.github/actions/setup-rust/matchers.json @@ -0,0 +1,44 @@ +{ + "problemMatcher": [ + { + "owner": "cargo-common", + "pattern": [ + { + "regexp": "^(warning|warn|error)(?:\\[(\\S*)\\])?: (.*)$", + "severity": 1, + "code": 2, + "message": 3 + }, + { + "regexp": "^(?:[\\s->=]*(.*):(\\d*):(\\d*)|.*)$", + "file": 1, + "line": 2, + "column": 3 + } + ] + }, + { + "owner": "cargo-test", + "pattern": [ + { + "regexp": "^.*panicked\\s+at\\s+'(.*)',\\s+(.*):(\\d+):(\\d+)$", + "message": 1, + "file": 2, + "line": 3, + "column": 4 + } + ] + }, + { + "owner": "rustfmt", + "pattern": [ + { + "regexp": "^(Diff in (\\S+)) at line (\\d+):", + "message": 1, + "file": 2, + "line": 3 + } + ] + } + ] +} diff --git a/.github/workflows/build_and_deploy.yml b/.github/workflows/build_and_deploy.yml index 8ca3dd0bda481..5e5cc8b1dec2a 100644 --- a/.github/workflows/build_and_deploy.yml +++ b/.github/workflows/build_and_deploy.yml @@ -8,7 +8,6 @@ on: env: NAPI_CLI_VERSION: 2.14.7 TURBO_VERSION: 1.9.6 - RUST_TOOLCHAIN: nightly-2023-03-09 PNPM_VERSION: 7.24.3 NODE_MAINTENANCE_VERSION: 16 NODE_LTS_VERSION: 18 @@ -199,14 +198,11 @@ jobs: node-version: ${{ env.NODE_LTS_VERSION }} check-latest: true - - name: Install - uses: actions-rs/toolchain@v1 - if: ${{ !matrix.settings.docker }} + - name: Install Rust + uses: ./.github/actions/setup-rust with: - profile: minimal - override: true - toolchain: ${{ env.RUST_TOOLCHAIN }} - target: ${{ matrix.settings.target }} + targets: ${{ matrix.settings.target }} + skip-install: ${{ !!matrix.settings.docker }} - name: Cache cargo registry uses: actions/cache@v3 @@ -235,7 +231,21 @@ jobs: if: ${{ matrix.settings.docker }} with: image: ${{ matrix.settings.docker }} - options: -e RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }} -e NAPI_CLI_VERSION=${{ env.NAPI_CLI_VERSION }} -e TURBO_VERSION=${{ env.TURBO_VERSION }} -e TURBO_TEAM=vercel -e TURBO_TOKEN=${{ secrets.TURBO_TOKEN }} -e TURBO_REMOTE_ONLY=true -v ${{ env.HOME }}/.cargo/git:/root/.cargo/git -v ${{ env.HOME }}/.cargo/registry:/root/.cargo/registry -v ${{ github.workspace }}:/build -w /build + options: >- + -e RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }} + -e CARGO_INCREMENTAL=${{ env.CARGO_INCREMENTAL }} + -e CARGO_TERM_COLOR=${{ env.CARGO_TERM_COLOR }} + -e RUST_BACKTRACE=${{ env.RUST_BACKTRACE }} + -e CARGO_REGISTRIES_CRATES_IO_PROTOCOL=${{ env.CARGO_REGISTRIES_CRATES_IO_PROTOCOL }} + -e NAPI_CLI_VERSION=${{ env.NAPI_CLI_VERSION }} + -e TURBO_VERSION=${{ env.TURBO_VERSION }} + -e TURBO_TEAM=vercel + -e TURBO_TOKEN=${{ secrets.TURBO_TOKEN }} + -e TURBO_REMOTE_ONLY=true + -v ${{ env.HOME }}/.cargo/git:/root/.cargo/git + -v ${{ env.HOME }}/.cargo/registry:/root/.cargo/registry + -v ${{ github.workspace }}:/build + -w /build run: ${{ matrix.settings.build }} - name: 'Build' @@ -293,12 +303,9 @@ jobs: check-latest: true - name: Install Rust - uses: actions-rs/toolchain@v1 + uses: ./.github/actions/setup-rust with: - profile: minimal - toolchain: ${{ env.RUST_TOOLCHAIN }} - override: true - target: wasm32-unknown-unknown + targets: wasm32-unknown-unknown - run: npm i -g turbo@${{ env.TURBO_VERSION }} pnpm@${PNPM_VERSION} diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 8c7e0e4f0fb1d..9127813622357 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -9,11 +9,12 @@ on: env: NAPI_CLI_VERSION: 2.14.7 TURBO_VERSION: 1.9.6 - RUST_TOOLCHAIN: nightly-2023-03-09 PNPM_VERSION: 7.24.3 NODE_MAINTENANCE_VERSION: 16 NODE_LTS_VERSION: 18 TEST_CONCURRENCY: 6 + # disable backtrace for test snapshots + RUST_BACKTRACE: 0 TURBO_TEAM: 'vercel' TURBO_REMOTE_ONLY: 'true' diff --git a/.github/workflows/build_reusable.yml b/.github/workflows/build_reusable.yml index 666582d176585..4050297d4a73f 100644 --- a/.github/workflows/build_reusable.yml +++ b/.github/workflows/build_reusable.yml @@ -31,11 +31,12 @@ on: env: NAPI_CLI_VERSION: 2.14.7 TURBO_VERSION: 1.9.6 - RUST_TOOLCHAIN: nightly-2023-03-09 PNPM_VERSION: 7.24.3 NODE_MAINTENANCE_VERSION: 16 NODE_LTS_VERSION: 18 TEST_CONCURRENCY: 6 + # disable backtrace for test snapshots + RUST_BACKTRACE: 0 TURBO_TEAM: 'vercel' TURBO_REMOTE_ONLY: 'true' @@ -56,11 +57,14 @@ jobs: - run: node -v - run: pwd - - name: Install - uses: actions-rs/toolchain@v1 + - uses: actions/checkout@v3 + with: + fetch-depth: 25 + + # local action -> needs to run after checkout + - name: Install Rust + uses: ./.github/actions/setup-rust with: - profile: minimal - toolchain: ${{ env.RUST_TOOLCHAIN }} components: rustfmt, clippy - name: Install nextest @@ -71,10 +75,6 @@ jobs: - run: npm i -g yarn "pnpm@${PNPM_VERSION}" "turbo@${TURBO_VERSION}" "@napi-rs/cli@${NAPI_CLI_VERSION}" - - uses: actions/checkout@v3 - with: - fetch-depth: 25 - # clean up any previous artifacts to avoid hitting disk space limits - run: git clean -xdf && rm -rf /tmp/next-repo-*; rm -rf /tmp/next-install-* /tmp/yarn-* /tmp/ncc-cache target && cargo clean diff --git a/.github/workflows/pull_request_stats.yml b/.github/workflows/pull_request_stats.yml index 77f3acb697283..23016ba4907cb 100644 --- a/.github/workflows/pull_request_stats.yml +++ b/.github/workflows/pull_request_stats.yml @@ -7,7 +7,6 @@ name: Generate Pull Request Stats env: NAPI_CLI_VERSION: 2.14.7 TURBO_VERSION: 1.9.6 - RUST_TOOLCHAIN: nightly-2023-03-09 PNPM_VERSION: 7.24.3 NODE_MAINTENANCE_VERSION: 16 NODE_LTS_VERSION: 18 diff --git a/.github/workflows/trigger_release.yml b/.github/workflows/trigger_release.yml index c0962d685af22..1c36715db4ccd 100644 --- a/.github/workflows/trigger_release.yml +++ b/.github/workflows/trigger_release.yml @@ -26,7 +26,6 @@ name: Trigger Release env: NAPI_CLI_VERSION: 2.14.7 TURBO_VERSION: 1.9.6 - RUST_TOOLCHAIN: nightly-2023-03-09 PNPM_VERSION: 7.24.3 NODE_MAINTENANCE_VERSION: 16 NODE_LTS_VERSION: 18 diff --git a/lerna.json b/lerna.json index ebb60ec2ed4f3..2a62942eec7ca 100644 --- a/lerna.json +++ b/lerna.json @@ -16,5 +16,5 @@ "registry": "https://registry.npmjs.org/" } }, - "version": "13.4.5-canary.6" + "version": "13.4.5-canary.7" } diff --git a/package.json b/package.json index 61ff2a74a6b62..ab8783cc8f227 100644 --- a/package.json +++ b/package.json @@ -200,14 +200,14 @@ "random-seed": "0.3.0", "react": "18.2.0", "react-17": "npm:react@17.0.2", - "react-builtin": "npm:react@18.3.0-canary-16d053d59-20230506", + "react-builtin": "npm:react@18.3.0-canary-1cea38448-20230530", "react-dom": "18.2.0", "react-dom-17": "npm:react-dom@17.0.2", - "react-dom-builtin": "npm:react-dom@18.3.0-canary-16d053d59-20230506", - "react-dom-experimental-builtin": "npm:react-dom@0.0.0-experimental-16d053d59-20230506", - "react-experimental-builtin": "npm:react@0.0.0-experimental-16d053d59-20230506", - "react-server-dom-webpack": "18.3.0-canary-16d053d59-20230506", - "react-server-dom-webpack-experimental": "npm:react-server-dom-webpack@0.0.0-experimental-16d053d59-20230506", + "react-dom-builtin": "npm:react-dom@18.3.0-canary-1cea38448-20230530", + "react-dom-experimental-builtin": "npm:react-dom@0.0.0-experimental-1cea38448-20230530", + "react-experimental-builtin": "npm:react@0.0.0-experimental-1cea38448-20230530", + "react-server-dom-webpack": "18.3.0-canary-1cea38448-20230530", + "react-server-dom-webpack-experimental": "npm:react-server-dom-webpack@0.0.0-experimental-1cea38448-20230530", "react-ssr-prepass": "1.0.8", "react-virtualized": "9.22.3", "relay-compiler": "13.0.2", @@ -217,8 +217,8 @@ "resolve-from": "5.0.0", "sass": "1.54.0", "satori": "0.9.1", - "scheduler-builtin": "npm:scheduler@0.24.0-canary-16d053d59-20230506", - "scheduler-experimental-builtin": "npm:scheduler@0.0.0-experimental-16d053d59-20230506", + "scheduler-builtin": "npm:scheduler@0.24.0-canary-1cea38448-20230530", + "scheduler-experimental-builtin": "npm:scheduler@0.0.0-experimental-1cea38448-20230530", "seedrandom": "3.0.5", "selenium-webdriver": "4.0.0-beta.4", "semver": "7.3.7", @@ -249,8 +249,8 @@ "@babel/parser": "7.18.0", "@babel/types": "7.18.0", "@babel/traverse": "7.18.0", - "@types/react": "18.2.5", - "@types/react-dom": "18.2.3" + "@types/react": "18.2.7", + "@types/react-dom": "18.2.4" }, "engines": { "node": ">=16.8.0" diff --git a/packages/create-next-app/package.json b/packages/create-next-app/package.json index 93560225bdff5..2ef138dc6d8c1 100644 --- a/packages/create-next-app/package.json +++ b/packages/create-next-app/package.json @@ -1,6 +1,6 @@ { "name": "create-next-app", - "version": "13.4.5-canary.6", + "version": "13.4.5-canary.7", "keywords": [ "react", "next", diff --git a/packages/eslint-config-next/package.json b/packages/eslint-config-next/package.json index 8638c2b914f5b..7739e30609ad3 100644 --- a/packages/eslint-config-next/package.json +++ b/packages/eslint-config-next/package.json @@ -1,6 +1,6 @@ { "name": "eslint-config-next", - "version": "13.4.5-canary.6", + "version": "13.4.5-canary.7", "description": "ESLint configuration used by NextJS.", "main": "index.js", "license": "MIT", @@ -9,7 +9,7 @@ "directory": "packages/eslint-config-next" }, "dependencies": { - "@next/eslint-plugin-next": "13.4.5-canary.6", + "@next/eslint-plugin-next": "13.4.5-canary.7", "@rushstack/eslint-patch": "^1.1.3", "@typescript-eslint/parser": "^5.42.0", "eslint-import-resolver-node": "^0.3.6", diff --git a/packages/eslint-plugin-next/package.json b/packages/eslint-plugin-next/package.json index a6f0457190182..2cf467415ca30 100644 --- a/packages/eslint-plugin-next/package.json +++ b/packages/eslint-plugin-next/package.json @@ -1,6 +1,6 @@ { "name": "@next/eslint-plugin-next", - "version": "13.4.5-canary.6", + "version": "13.4.5-canary.7", "description": "ESLint plugin for NextJS.", "main": "dist/index.js", "license": "MIT", diff --git a/packages/font/package.json b/packages/font/package.json index 8a7935c280bfd..18fe2c8603b8e 100644 --- a/packages/font/package.json +++ b/packages/font/package.json @@ -1,6 +1,6 @@ { "name": "@next/font", - "version": "13.4.5-canary.6", + "version": "13.4.5-canary.7", "repository": { "url": "vercel/next.js", "directory": "packages/font" diff --git a/packages/next-bundle-analyzer/package.json b/packages/next-bundle-analyzer/package.json index fea841a25a3c6..0af11be1af6af 100644 --- a/packages/next-bundle-analyzer/package.json +++ b/packages/next-bundle-analyzer/package.json @@ -1,6 +1,6 @@ { "name": "@next/bundle-analyzer", - "version": "13.4.5-canary.6", + "version": "13.4.5-canary.7", "main": "index.js", "types": "index.d.ts", "license": "MIT", diff --git a/packages/next-codemod/package.json b/packages/next-codemod/package.json index 588757c456c3d..715f9579cb3b2 100644 --- a/packages/next-codemod/package.json +++ b/packages/next-codemod/package.json @@ -1,6 +1,6 @@ { "name": "@next/codemod", - "version": "13.4.5-canary.6", + "version": "13.4.5-canary.7", "license": "MIT", "repository": { "type": "git", diff --git a/packages/next-env/package.json b/packages/next-env/package.json index ecd209b7e8e7f..9d64396cf2e5d 100644 --- a/packages/next-env/package.json +++ b/packages/next-env/package.json @@ -1,6 +1,6 @@ { "name": "@next/env", - "version": "13.4.5-canary.6", + "version": "13.4.5-canary.7", "keywords": [ "react", "next", diff --git a/packages/next-mdx/package.json b/packages/next-mdx/package.json index a1069ddf5fac7..4aedc4cd5cbfe 100644 --- a/packages/next-mdx/package.json +++ b/packages/next-mdx/package.json @@ -1,6 +1,6 @@ { "name": "@next/mdx", - "version": "13.4.5-canary.6", + "version": "13.4.5-canary.7", "main": "index.js", "license": "MIT", "repository": { diff --git a/packages/next-plugin-storybook/package.json b/packages/next-plugin-storybook/package.json index 0a74009b518a4..4e8c968e0a347 100644 --- a/packages/next-plugin-storybook/package.json +++ b/packages/next-plugin-storybook/package.json @@ -1,6 +1,6 @@ { "name": "@next/plugin-storybook", - "version": "13.4.5-canary.6", + "version": "13.4.5-canary.7", "repository": { "url": "vercel/next.js", "directory": "packages/next-plugin-storybook" diff --git a/packages/next-polyfill-module/package.json b/packages/next-polyfill-module/package.json index 6dfce79785608..2c17e59041520 100644 --- a/packages/next-polyfill-module/package.json +++ b/packages/next-polyfill-module/package.json @@ -1,6 +1,6 @@ { "name": "@next/polyfill-module", - "version": "13.4.5-canary.6", + "version": "13.4.5-canary.7", "description": "A standard library polyfill for ES Modules supporting browsers (Edge 16+, Firefox 60+, Chrome 61+, Safari 10.1+)", "main": "dist/polyfill-module.js", "license": "MIT", diff --git a/packages/next-polyfill-nomodule/package.json b/packages/next-polyfill-nomodule/package.json index d3ef21c460ff5..61f1c3adaf61f 100644 --- a/packages/next-polyfill-nomodule/package.json +++ b/packages/next-polyfill-nomodule/package.json @@ -1,6 +1,6 @@ { "name": "@next/polyfill-nomodule", - "version": "13.4.5-canary.6", + "version": "13.4.5-canary.7", "description": "A polyfill for non-dead, nomodule browsers.", "main": "dist/polyfill-nomodule.js", "license": "MIT", diff --git a/packages/next-swc/package.json b/packages/next-swc/package.json index baf4f4d40f721..5cd2ecfcf9323 100644 --- a/packages/next-swc/package.json +++ b/packages/next-swc/package.json @@ -1,6 +1,6 @@ { "name": "@next/swc", - "version": "13.4.5-canary.6", + "version": "13.4.5-canary.7", "private": true, "scripts": { "clean": "node ../../scripts/rm.mjs native", diff --git a/packages/next/package.json b/packages/next/package.json index 2df9a03414df8..de609b77321ad 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -1,6 +1,6 @@ { "name": "next", - "version": "13.4.5-canary.6", + "version": "13.4.5-canary.7", "description": "The React Framework", "main": "./dist/server/next.js", "license": "MIT", @@ -83,7 +83,7 @@ ] }, "dependencies": { - "@next/env": "13.4.5-canary.6", + "@next/env": "13.4.5-canary.7", "@swc/helpers": "0.5.1", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001406", @@ -141,11 +141,11 @@ "@jest/types": "29.5.0", "@napi-rs/cli": "2.14.7", "@napi-rs/triples": "1.1.0", - "@next/polyfill-module": "13.4.5-canary.6", - "@next/polyfill-nomodule": "13.4.5-canary.6", - "@next/react-dev-overlay": "13.4.5-canary.6", - "@next/react-refresh-utils": "13.4.5-canary.6", - "@next/swc": "13.4.5-canary.6", + "@next/polyfill-module": "13.4.5-canary.7", + "@next/polyfill-nomodule": "13.4.5-canary.7", + "@next/react-dev-overlay": "13.4.5-canary.7", + "@next/react-refresh-utils": "13.4.5-canary.7", + "@next/swc": "13.4.5-canary.7", "@opentelemetry/api": "1.4.1", "@segment/ajv-human-errors": "2.1.2", "@taskr/clear": "1.1.0", diff --git a/packages/next/src/build/webpack-config.ts b/packages/next/src/build/webpack-config.ts index 1766f68cbcd58..0550a5e25c114 100644 --- a/packages/next/src/build/webpack-config.ts +++ b/packages/next/src/build/webpack-config.ts @@ -1810,7 +1810,13 @@ export default async function getBaseWebpackConfig( output: { // we must set publicPath to an empty value to override the default of // auto which doesn't work in IE11 - publicPath: `${config.assetPrefix || ''}/_next/`, + publicPath: `${ + config.assetPrefix + ? config.assetPrefix.endsWith('/') + ? config.assetPrefix.slice(0, -1) + : config.assetPrefix + : '' + }/_next/`, path: !dev && isNodeServer ? path.join(outputPath, 'chunks') : outputPath, // On the server we don't use hashes filename: diff --git a/packages/next/src/build/webpack/loaders/next-font-loader/index.ts b/packages/next/src/build/webpack/loaders/next-font-loader/index.ts index 87221932b26b1..312863a6e04bf 100644 --- a/packages/next/src/build/webpack/loaders/next-font-loader/index.ts +++ b/packages/next/src/build/webpack/loaders/next-font-loader/index.ts @@ -96,22 +96,24 @@ export default async function nextFontLoader(this: any) { // The font loader function emits font files and returns @font-faces and fallback font metrics const fontLoader: FontLoader = require(fontLoaderPath).default let { css, fallbackFonts, adjustFontFallback, weight, style, variable } = - await fontLoader({ - functionName, - variableName, - data, - emitFontFile, - resolve: (src: string) => - promisify(this.resolve)( - path.dirname( - path.join(this.rootContext, relativeFilePathFromRoot) + await nextFontLoaderSpan.traceChild('font-loader').traceAsyncFn(() => + fontLoader({ + functionName, + variableName, + data, + emitFontFile, + resolve: (src: string) => + promisify(this.resolve)( + path.dirname( + path.join(this.rootContext, relativeFilePathFromRoot) + ), + src.startsWith('.') ? src : `./${src}` ), - src.startsWith('.') ? src : `./${src}` - ), - isDev, - isServer, - loaderContext: this, - }) + isDev, + isServer, + loaderContext: this, + }) + ) const { postcss } = await getPostcss() @@ -127,19 +129,23 @@ export default async function nextFontLoader(this: any) { ) // Add CSS classes, exports and make the font-family locally scoped by turning it unguessable - const result = await postcss( - postcssNextFontPlugin({ - exports, - fontFamilyHash, - fallbackFonts, - weight, - style, - adjustFontFallback, - variable, - }) - ).process(css, { - from: undefined, - }) + const result = await nextFontLoaderSpan + .traceChild('postcss') + .traceAsyncFn(() => + postcss( + postcssNextFontPlugin({ + exports, + fontFamilyHash, + fallbackFonts, + weight, + style, + adjustFontFallback, + variable, + }) + ).process(css, { + from: undefined, + }) + ) const ast = { type: 'postcss', diff --git a/packages/next/src/build/webpack/plugins/profiling-plugin.ts b/packages/next/src/build/webpack/plugins/profiling-plugin.ts index 5ad1a09d01cfc..1534368c298c7 100644 --- a/packages/next/src/build/webpack/plugins/profiling-plugin.ts +++ b/packages/next/src/build/webpack/plugins/profiling-plugin.ts @@ -180,6 +180,7 @@ export class ProfilingPlugin { span = parentSpan.traceChild(spanName) } span.setAttribute('name', module.userRequest) + span.setAttribute('layer', module.layer) moduleSpans!.set(module, span) }) diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js index 8165cd1070580..543bc0d8816cf 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js @@ -17,7 +17,7 @@ if (process.env.NODE_ENV !== "production") { var React = require("next/dist/compiled/react-experimental"); var ReactDOM = require('react-dom'); -var ReactVersion = '18.3.0-experimental-16d053d59-20230506'; +var ReactVersion = '18.3.0-experimental-1cea38448-20230530'; var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; @@ -6173,6 +6173,7 @@ function preloadAsStylePropsFromProps(href, props) { as: 'style', href: href, crossOrigin: props.crossOrigin, + fetchPriority: props.fetchPriority, integrity: props.integrity, media: props.media, hrefLang: props.hrefLang, @@ -6186,7 +6187,9 @@ function preloadAsScriptPropsFromProps(href, props) { as: 'script', href: href, crossOrigin: props.crossOrigin, + fetchPriority: props.fetchPriority, integrity: props.integrity, + nonce: props.nonce, referrerPolicy: props.referrerPolicy }; } diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.production.min.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.production.min.js index d849cf2fb0465..f938bb93fc561 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.production.min.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.production.min.js @@ -45,12 +45,12 @@ a.push("/>");null!==dc&&dc.forEach(fb,a);return null;case "button":a.push(D("but a);y(a,ec,pa);if("string"===typeof pa){a.push(t(pa));var lc=null}else lc=pa;return lc;case "form":a.push(D("form"));var ra=null,mc=null,S=null,sa=null,ta=null,ua=null,va;for(va in c)if(r.call(c,va)){var T=c[va];if(null!=T)switch(va){case "children":ra=T;break;case "dangerouslySetInnerHTML":mc=T;break;case "action":S=T;break;case "encType":sa=T;break;case "method":ta=T;break;case "target":ua=T;break;default:x(a,va,T)}}var rb=null,sb=null;if("function"===typeof S)if("function"===typeof S.$$FORM_ACTION){var Ld= db(e),fa=S.$$FORM_ACTION(Ld);S=fa.action||"";sa=fa.encType;ta=fa.method;ua=fa.target;rb=fa.data;sb=fa.name}else a.push(" ","action",'="',eb,'"'),ua=ta=sa=S=null,hb(e);null!=S&&x(a,"action",S);null!=sa&&x(a,"encType",sa);null!=ta&&x(a,"method",ta);null!=ua&&x(a,"target",ua);a.push(">");null!==sb&&(a.push('"),null!==rb&&rb.forEach(fb,a));y(a,mc,ra);if("string"===typeof ra){a.push(t(ra));var nc=null}else nc=ra;return nc;case "menuitem":a.push(D("menuitem")); for(var Pa in c)if(r.call(c,Pa)){var oc=c[Pa];if(null!=oc)switch(Pa){case "children":case "dangerouslySetInnerHTML":throw Error(l(400));default:x(a,Pa,oc)}}a.push(">");return null;case "title":if(3===f.insertionMode||f.noscriptTagInScope||null!=c.itemProp)var pc=mb(a,c);else mb(e.hoistableChunks,c),pc=null;return pc;case "link":return jb(a,c,e,d,g,f.insertionMode,f.noscriptTagInScope);case "script":a:if(3===f.insertionMode||f.noscriptTagInScope||null!=c.itemProp||"string"!==typeof c.src||!c.src)var tb= -wb(a,c);else{var wa="[script]"+c.src;if(!0!==c.async||c.onLoad||c.onError){if(!0!==c.noModule){var ha=d.preloadsMap.get(wa);ha||(ha={type:"preload",chunks:[],state:0,props:{rel:"preload",as:"script",href:c.src,crossOrigin:c.crossOrigin,integrity:c.integrity,referrerPolicy:c.referrerPolicy}},d.preloadsMap.set(wa,ha),d.usedScripts.add(ha),C(ha.chunks,ha.props))}if(!0!==c.async){wb(a,c);tb=null;break a}}else{var xa=d.scriptsMap.get(wa);if(!xa){xa={type:"script",chunks:[],state:0,props:null};d.scriptsMap.set(wa, -xa);d.scripts.add(xa);var qc=c,Qa=d.preloadsMap.get(wa);if(Qa){Qa.state|=4;var Ra=qc=n({},c),rc=Qa.props;null==Ra.crossOrigin&&(Ra.crossOrigin=rc.crossOrigin);null==Ra.integrity&&(Ra.integrity=rc.integrity)}wb(xa.chunks,qc)}}g&&a.push("\x3c!-- --\x3e");tb=null}return tb;case "style":var ya=c.precedence,za=c.href;if(3===f.insertionMode||f.noscriptTagInScope||null!=c.itemProp||"string"!==typeof ya||"string"!==typeof za||""===za){a.push(D("style"));var ia=null,sc=null,Aa;for(Aa in c)if(r.call(c,Aa)){var Sa= -c[Aa];if(null!=Sa)switch(Aa){case "children":ia=Sa;break;case "dangerouslySetInnerHTML":sc=Sa;break;default:x(a,Aa,Sa)}}a.push(">");var Ba=Array.isArray(ia)?2>ia.length?ia[0]:null:ia;"function"!==typeof Ba&&"symbol"!==typeof Ba&&null!==Ba&&void 0!==Ba&&a.push(t(""+Ba));y(a,sc,ia);a.push("");var tc=null}else{var uc="[style]"+za,P=d.stylesMap.get(uc);if(!P){if(P=d.stylePrecedences.get(ya))P.props.hrefs.push(za);else{P={type:"style",chunks:[],state:0,props:{precedence:ya,hrefs:[za]}};d.stylePrecedences.set(ya, -P);var vc=new Set;vc.add(P);d.precedences.set(ya,vc)}d.stylesMap.set(uc,P);d.boundaryResources&&d.boundaryResources.add(P);var wc=P.chunks,ja=null,xc=null,Ta;for(Ta in c)if(r.call(c,Ta)){var ub=c[Ta];if(null!=ub)switch(Ta){case "children":ja=ub;break;case "dangerouslySetInnerHTML":xc=ub}}var Ca=Array.isArray(ja)?2>ja.length?ja[0]:null:ja;"function"!==typeof Ca&&"symbol"!==typeof Ca&&null!==Ca&&void 0!==Ca&&wc.push(t(""+Ca));y(wc,xc,ja)}g&&a.push("\x3c!-- --\x3e");tc=void 0}return tc;case "meta":if(3=== -f.insertionMode||f.noscriptTagInScope||null!=c.itemProp)var yc=lb(a,c,"meta");else g&&a.push("\x3c!-- --\x3e"),yc="string"===typeof c.charSet?lb(e.charsetChunks,c,"meta"):lb(e.hoistableChunks,c,"meta");return yc;case "listing":case "pre":a.push(D(b));var Da=null,Ea=null,Fa;for(Fa in c)if(r.call(c,Fa)){var Ua=c[Fa];if(null!=Ua)switch(Fa){case "children":Da=Ua;break;case "dangerouslySetInnerHTML":Ea=Ua;break;default:x(a,Fa,Ua)}}a.push(">");if(null!=Ea){if(null!=Da)throw Error(l(60));if("object"!==typeof Ea|| -!("__html"in Ea))throw Error(l(61));var Y=Ea.__html;null!==Y&&void 0!==Y&&("string"===typeof Y&&0");var Ba=Array.isArray(ia)?2>ia.length?ia[0]:null:ia;"function"!==typeof Ba&&"symbol"!==typeof Ba&&null!==Ba&&void 0!==Ba&&a.push(t(""+Ba));y(a,sc,ia);a.push("");var tc=null}else{var uc="[style]"+za,P=d.stylesMap.get(uc);if(!P){if(P=d.stylePrecedences.get(ya))P.props.hrefs.push(za);else{P={type:"style",chunks:[], +state:0,props:{precedence:ya,hrefs:[za]}};d.stylePrecedences.set(ya,P);var vc=new Set;vc.add(P);d.precedences.set(ya,vc)}d.stylesMap.set(uc,P);d.boundaryResources&&d.boundaryResources.add(P);var wc=P.chunks,ja=null,xc=null,Ta;for(Ta in c)if(r.call(c,Ta)){var ub=c[Ta];if(null!=ub)switch(Ta){case "children":ja=ub;break;case "dangerouslySetInnerHTML":xc=ub}}var Ca=Array.isArray(ja)?2>ja.length?ja[0]:null:ja;"function"!==typeof Ca&&"symbol"!==typeof Ca&&null!==Ca&&void 0!==Ca&&wc.push(t(""+Ca));y(wc, +xc,ja)}g&&a.push("\x3c!-- --\x3e");tc=void 0}return tc;case "meta":if(3===f.insertionMode||f.noscriptTagInScope||null!=c.itemProp)var yc=lb(a,c,"meta");else g&&a.push("\x3c!-- --\x3e"),yc="string"===typeof c.charSet?lb(e.charsetChunks,c,"meta"):lb(e.hoistableChunks,c,"meta");return yc;case "listing":case "pre":a.push(D(b));var Da=null,Ea=null,Fa;for(Fa in c)if(r.call(c,Fa)){var Ua=c[Fa];if(null!=Ua)switch(Fa){case "children":Da=Ua;break;case "dangerouslySetInnerHTML":Ea=Ua;break;default:x(a,Fa,Ua)}}a.push(">"); +if(null!=Ea){if(null!=Da)throw Error(l(60));if("object"!==typeof Ea||!("__html"in Ea))throw Error(l(61));var Y=Ea.__html;null!==Y&&void 0!==Y&&("string"===typeof Y&&0f.insertionMode&&null===e.headChunks){e.headChunks=[];var zc=xb(e.headChunks,c,"head")}else zc=xb(a,c,"head");return zc;case "html":if(0===f.insertionMode&&null===e.htmlChunks){e.htmlChunks=[""];var Ac=xb(e.htmlChunks,c,"html")}else Ac=xb(a,c,"html");return Ac;default:if(-1!==b.indexOf("-")){a.push(D(b));var vb=null,Bc=null,U;for(U in c)if(r.call(c,U)){var E=c[U];if(null!=E&&"function"!==typeof E&&"object"!==typeof E&&!1!==E)switch(!0===E&&(E=""),"className"===U&&(U= "class"),U){case "children":vb=E;break;case "dangerouslySetInnerHTML":Bc=E;break;case "style":bb(a,E);break;case "suppressContentEditableWarning":case "suppressHydrationWarning":break;default:ma(U)&&"function"!==typeof E&&"symbol"!==typeof E&&a.push(" ",U,'="',t(E),'"')}}a.push(">");y(a,Bc,vb);return vb}}return xb(a,c,b)}function Bb(a,b){b=b.bootstrapChunks;for(var c=0;c')} @@ -79,7 +79,7 @@ function Xa(a,b){var c=I?I:null;if(c){var d=c.resources;if("string"===typeof a&& break;default:d.explicitOtherPreloads.add(g)}Cc(c)}}} function Ya(a,b){var c=I?I:null;if(c){var d=c.resources;if("string"===typeof a&&a&&"object"===typeof b&&null!==b){var e=b.as;switch(e){case "style":var f="["+e+"]"+a,g=d.stylesMap.get(f);e=b.precedence||"default";if(!g){g=0;var h=d.preloadsMap.get(f);h&&h.state&3&&(g=8);g={type:"stylesheet",chunks:[],state:g,props:{rel:"stylesheet",href:a,"data-precedence":e,crossOrigin:b.crossOrigin,integrity:b.integrity}};d.stylesMap.set(f,g);a=d.precedences.get(e);a||(a=new Set,d.precedences.set(e,a),b={type:"style", chunks:[],state:0,props:{precedence:e,hrefs:[]}},a.add(b),d.stylePrecedences.set(e,b));a.add(g);Cc(c)}break;case "script":f="["+e+"]"+a,e=d.scriptsMap.get(f),e||(e={type:"script",chunks:[],state:0,props:null},d.scriptsMap.set(f,e),a={src:a,async:!0,crossOrigin:b.crossOrigin,integrity:b.integrity,nonce:b.nonce},d.scripts.add(e),wb(e.chunks,a),Cc(c))}}}} -function Vb(a,b,c){b="[script]"+b;var d=a.scriptsMap.get(b);d||(d={type:"script",chunks:c,state:0,props:null},a.scriptsMap.set(b,d),a.scripts.add(d))}function kb(a,b){return{rel:"preload",as:"style",href:a,crossOrigin:b.crossOrigin,integrity:b.integrity,media:b.media,hrefLang:b.hrefLang,referrerPolicy:b.referrerPolicy}}function Dc(a){this.add(a)} +function Vb(a,b,c){b="[script]"+b;var d=a.scriptsMap.get(b);d||(d={type:"script",chunks:c,state:0,props:null},a.scriptsMap.set(b,d),a.scripts.add(d))}function kb(a,b){return{rel:"preload",as:"style",href:a,crossOrigin:b.crossOrigin,fetchPriority:b.fetchPriority,integrity:b.integrity,media:b.media,hrefLang:b.hrefLang,referrerPolicy:b.referrerPolicy}}function Dc(a){this.add(a)} function Ec(a,b,c){b=void 0===b?"":b;var d=null,e=0;void 0!==c&&(e=1,"string"===typeof c?(d={src:c,chunks:[]},wb(d.chunks,{src:c,async:!0,integrity:void 0,nonce:void 0})):(d={src:c.src,chunks:[]},wb(d.chunks,{src:c.src,async:!0,integrity:c.integrity,nonce:void 0})));return{bootstrapChunks:[],placeholderPrefix:b+"P:",segmentPrefix:b+"S:",boundaryPrefix:b+"B:",idPrefix:b,nextSuspenseID:0,streamingFormat:e,startInlineScript:"