Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -722,7 +722,7 @@ jobs:
afterBuild: |
export __NEXT_CACHE_COMPONENTS=true
export __NEXT_EXPERIMENTAL_DEBUG_CHANNEL=true
export NEXT_EXTERNAL_TESTS_FILTERS="test/cache-components-tests-manifest.json"
export NEXT_EXTERNAL_TESTS_FILTERS="test/deploy-tests-manifest.json,test/cache-components-tests-manifest.json"
export NEXT_E2E_TEST_TIMEOUT=240000
export GH_PR_NUMBER=${{ github.event.pull_request && github.event.pull_request.number || '' }}
node scripts/test-new-tests.mjs \
Expand Down
2 changes: 2 additions & 0 deletions contributing/core/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,8 @@ these can be leveraged by prefixing the `pnpm test` command.
it can be used when not using `pnpm test-dev` or `pnpm test-start` directly.
Valid test modes can be seen here:
https://github.com/vercel/next.js/blob/aa664868c102ddc5adc618415162d124503ad12e/test/lib/e2e-utils.ts#L46
- Use `NEXT_TEST_DEPLOY_URL` with `pnpm test-deploy` to skip the Vercel deploy step and run
deploy-mode assertions against an existing deployment URL.
- You can use `NEXT_TEST_PREFER_OFFLINE=1` while testing to configure the package manager to include the
[`--prefer-offline`](https://pnpm.io/cli/install#--prefer-offline) argument during test setup.
This is helpful when running tests in internet-restricted environments such as planes or public Wi-Fi.
Expand Down
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@
"registry": "https://registry.npmjs.org/"
}
},
"version": "16.1.1-canary.35"
"version": "16.1.1-canary.36"
}
2 changes: 1 addition & 1 deletion packages/create-next-app/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "create-next-app",
"version": "16.1.1-canary.35",
"version": "16.1.1-canary.36",
"keywords": [
"react",
"next",
Expand Down
4 changes: 2 additions & 2 deletions packages/eslint-config-next/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "eslint-config-next",
"version": "16.1.1-canary.35",
"version": "16.1.1-canary.36",
"description": "ESLint configuration used by Next.js.",
"license": "MIT",
"repository": {
Expand All @@ -12,7 +12,7 @@
"dist"
],
"dependencies": {
"@next/eslint-plugin-next": "16.1.1-canary.35",
"@next/eslint-plugin-next": "16.1.1-canary.36",
"eslint-import-resolver-node": "^0.3.6",
"eslint-import-resolver-typescript": "^3.5.2",
"eslint-plugin-import": "^2.32.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin-internal/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@next/eslint-plugin-internal",
"private": true,
"version": "16.1.1-canary.35",
"version": "16.1.1-canary.36",
"description": "ESLint plugin for working on Next.js.",
"exports": {
".": "./src/eslint-plugin-internal.js"
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin-next/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/eslint-plugin-next",
"version": "16.1.1-canary.35",
"version": "16.1.1-canary.36",
"description": "ESLint plugin for Next.js.",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/font/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@next/font",
"private": true,
"version": "16.1.1-canary.35",
"version": "16.1.1-canary.36",
"repository": {
"url": "vercel/next.js",
"directory": "packages/font"
Expand Down
2 changes: 1 addition & 1 deletion packages/next-bundle-analyzer/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/bundle-analyzer",
"version": "16.1.1-canary.35",
"version": "16.1.1-canary.36",
"main": "index.js",
"types": "index.d.ts",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-codemod/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/codemod",
"version": "16.1.1-canary.35",
"version": "16.1.1-canary.36",
"license": "MIT",
"repository": {
"type": "git",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-env/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/env",
"version": "16.1.1-canary.35",
"version": "16.1.1-canary.36",
"keywords": [
"react",
"next",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-mdx/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/mdx",
"version": "16.1.1-canary.35",
"version": "16.1.1-canary.36",
"main": "index.js",
"license": "MIT",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/next-plugin-storybook/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/plugin-storybook",
"version": "16.1.1-canary.35",
"version": "16.1.1-canary.36",
"repository": {
"url": "vercel/next.js",
"directory": "packages/next-plugin-storybook"
Expand Down
2 changes: 1 addition & 1 deletion packages/next-polyfill-module/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/polyfill-module",
"version": "16.1.1-canary.35",
"version": "16.1.1-canary.36",
"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",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-polyfill-nomodule/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/polyfill-nomodule",
"version": "16.1.1-canary.35",
"version": "16.1.1-canary.36",
"description": "A polyfill for non-dead, nomodule browsers.",
"main": "dist/polyfill-nomodule.js",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-routing/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/routing",
"version": "16.1.1-canary.35",
"version": "16.1.1-canary.36",
"keywords": [
"react",
"next",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-rspack/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "next-rspack",
"version": "16.1.1-canary.35",
"version": "16.1.1-canary.36",
"repository": {
"url": "vercel/next.js",
"directory": "packages/next-rspack"
Expand Down
2 changes: 1 addition & 1 deletion packages/next-swc/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/swc",
"version": "16.1.1-canary.35",
"version": "16.1.1-canary.36",
"private": true,
"files": [
"native/"
Expand Down
14 changes: 7 additions & 7 deletions packages/next/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "next",
"version": "16.1.1-canary.35",
"version": "16.1.1-canary.36",
"description": "The React Framework",
"main": "./dist/server/next.js",
"license": "MIT",
Expand Down Expand Up @@ -97,7 +97,7 @@
]
},
"dependencies": {
"@next/env": "16.1.1-canary.35",
"@next/env": "16.1.1-canary.36",
"@swc/helpers": "0.5.15",
"baseline-browser-mapping": "^2.8.3",
"caniuse-lite": "^1.0.30001579",
Expand Down Expand Up @@ -162,11 +162,11 @@
"@modelcontextprotocol/sdk": "1.18.1",
"@mswjs/interceptors": "0.23.0",
"@napi-rs/triples": "1.2.0",
"@next/font": "16.1.1-canary.35",
"@next/polyfill-module": "16.1.1-canary.35",
"@next/polyfill-nomodule": "16.1.1-canary.35",
"@next/react-refresh-utils": "16.1.1-canary.35",
"@next/swc": "16.1.1-canary.35",
"@next/font": "16.1.1-canary.36",
"@next/polyfill-module": "16.1.1-canary.36",
"@next/polyfill-nomodule": "16.1.1-canary.36",
"@next/react-refresh-utils": "16.1.1-canary.36",
"@next/swc": "16.1.1-canary.36",
"@opentelemetry/api": "1.6.0",
"@playwright/test": "1.51.1",
"@rspack/core": "1.6.7",
Expand Down
2 changes: 1 addition & 1 deletion packages/react-refresh-utils/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/react-refresh-utils",
"version": "16.1.1-canary.35",
"version": "16.1.1-canary.36",
"description": "An experimental package providing utilities for React Refresh.",
"repository": {
"url": "vercel/next.js",
Expand Down
4 changes: 2 additions & 2 deletions packages/third-parties/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/third-parties",
"version": "16.1.1-canary.35",
"version": "16.1.1-canary.36",
"repository": {
"url": "vercel/next.js",
"directory": "packages/third-parties"
Expand All @@ -26,7 +26,7 @@
"third-party-capital": "1.0.20"
},
"devDependencies": {
"next": "16.1.1-canary.35",
"next": "16.1.1-canary.36",
"outdent": "0.8.0",
"prettier": "2.5.1",
"typescript": "5.9.2"
Expand Down
16 changes: 8 additions & 8 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

46 changes: 43 additions & 3 deletions test/get-test-filter.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,50 @@
const path = require('path')
const minimatch = require('minimatch')

function getManifest() {
const nextExternalTestFilters = process.env.NEXT_EXTERNAL_TESTS_FILTERS
if (!nextExternalTestFilters) {
return null
}

return nextExternalTestFilters
.split(',')
.reduce((mergedManifest, manifestPath) => {
const manifest = require(path.resolve(manifestPath))
if (!mergedManifest) {
return manifest
}

if (manifest.version === 2) {
for (const suite in manifest.suites) {
if (mergedManifest.suites[suite]) {
const mergedSuite = mergedManifest.suites[suite]
const currentSuite = manifest.suites[suite]
mergedSuite.failed = [
...(mergedSuite.failed || []),
...(currentSuite.failed || []),
]
mergedSuite.flakey = [
...(mergedSuite.flakey || []),
...(currentSuite.flakey || []),
]
} else {
mergedManifest.suites[suite] = manifest.suites[suite]
}
}
mergedManifest.rules.include.push(...(manifest.rules.include || []))
mergedManifest.rules.exclude.push(...(manifest.rules.exclude || []))
return mergedManifest
}

throw new Error(
`Merging manifests is only supported for version 2: ${manifestPath}`
)
}, null)
}

function getTestFilter() {
const manifest = process.env.NEXT_EXTERNAL_TESTS_FILTERS
? require(path.resolve(process.env.NEXT_EXTERNAL_TESTS_FILTERS))
: null
const manifest = getManifest()
if (!manifest) return null

console.log(
Expand Down
Loading
Loading