next 15.2.0-canary.15 → 15.2.0-canary.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of next might be problematic. Click here for more details.
- package/dist/bin/next +1 -1
- package/dist/build/index.js +2 -2
- package/dist/build/swc/index.js +1 -1
- package/dist/build/webpack-config.js +2 -2
- package/dist/client/app-bootstrap.js +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.js +17 -2
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/next-logo.d.ts +2 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/next-logo.js +160 -375
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/next-logo.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/use-delayed-render.d.ts +11 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/use-delayed-render.js +76 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/use-delayed-render.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/styles.js +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/styles.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/styles/base.js +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/styles/base.js.map +1 -1
- package/dist/client/index.js +1 -1
- package/dist/compiled/next-server/app-page-experimental.runtime.dev.js +2 -2
- package/dist/compiled/next-server/app-page-experimental.runtime.dev.js.map +1 -1
- package/dist/compiled/next-server/app-page.runtime.dev.js +2 -2
- package/dist/compiled/next-server/app-page.runtime.dev.js.map +1 -1
- package/dist/esm/build/index.js +2 -2
- package/dist/esm/build/swc/index.js +1 -1
- package/dist/esm/build/webpack-config.js +2 -2
- package/dist/esm/client/app-bootstrap.js +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.js +17 -2
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/next-logo.js +162 -377
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/next-logo.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/use-delayed-render.js +60 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/use-delayed-render.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/styles.js +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/styles.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/base.js +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/base.js.map +1 -1
- package/dist/esm/client/index.js +1 -1
- package/dist/esm/export/index.js +17 -3
- package/dist/esm/export/index.js.map +1 -1
- package/dist/esm/server/config.js +1 -1
- package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
- package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
- package/dist/esm/server/dev/next-dev-server.js +4 -0
- package/dist/esm/server/dev/next-dev-server.js.map +1 -1
- package/dist/esm/server/lib/app-info-log.js +1 -1
- package/dist/esm/server/lib/start-server.js +1 -1
- package/dist/export/index.js +16 -2
- package/dist/export/index.js.map +1 -1
- package/dist/server/config.js +1 -1
- package/dist/server/dev/hot-reloader-turbopack.js +1 -1
- package/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/dist/server/dev/next-dev-server.js +4 -0
- package/dist/server/dev/next-dev-server.js.map +1 -1
- package/dist/server/lib/app-info-log.js +1 -1
- package/dist/server/lib/start-server.js +1 -1
- package/dist/telemetry/anonymous-meta.js +1 -1
- package/dist/telemetry/events/session-stopped.js +2 -2
- package/dist/telemetry/events/version.js +2 -2
- package/package.json +15 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/next-logo.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { noop as css } from '../../../../../../internal/helpers/noop-template'\n\ninterface Props extends React.ComponentProps<'button'> {\n issueCount: number\n onClick: () => void\n isDevBuilding: boolean\n isDevRendering: boolean\n}\n\nexport const NextLogo = ({\n issueCount,\n onClick,\n isDevBuilding,\n isDevRendering,\n ...props\n}: Props) => {\n const [isLoading, setIsLoading] = useState(false)\n const [isPressed, setIsPressed] = useState(false)\n\n // Only shows the loading state after a 200ms delay when building or rendering,\n // to avoid flashing the loading state for quick updates\n useEffect(() => {\n if (isDevBuilding || isDevRendering) {\n const timeout = setTimeout(() => {\n setIsLoading(true)\n }, 200)\n return () => clearTimeout(timeout)\n } else {\n setIsLoading(false)\n }\n }, [isDevBuilding, isDevRendering])\n\n return (\n <button\n onClick={onClick}\n style={{\n position: 'relative',\n cursor: 'pointer',\n userSelect: 'none',\n backdropFilter: 'blur(48px)',\n boxShadow:\n '0px 24px 32px -8px #0000001A, 0px 8px 16px -4px #0000001A, 0px 1px 1px 0px #00000026',\n borderRadius: '50%',\n transition: 'transform 0.1s ease',\n transform: isPressed ? 'scale(0.95)' : 'scale(1)',\n }}\n onMouseDown={() => setIsPressed(true)}\n onMouseUp={() => setIsPressed(false)}\n onMouseLeave={() => setIsPressed(false)}\n {...props}\n >\n <style>\n {css`\n .path0 {\n animation: draw0 1.5s ease-in-out infinite;\n }\n\n .path1 {\n animation: draw1 1.5s ease-out infinite;\n animation-delay: 0.3s;\n }\n\n .paused {\n stroke-dashoffset: 0;\n }\n @keyframes draw0 {\n 0%,\n 25% {\n stroke-dashoffset: -29.6;\n }\n 25%,\n 50% {\n stroke-dashoffset: 0;\n }\n 50%,\n 75% {\n stroke-dashoffset: 0;\n }\n 75%,\n 100% {\n stroke-dashoffset: 29.6;\n }\n }\n\n @keyframes draw1 {\n 0%,\n 20% {\n stroke-dashoffset: -11.6;\n }\n 20%,\n 50% {\n stroke-dashoffset: 0;\n }\n 50%,\n 75% {\n stroke-dashoffset: 0;\n }\n 75%,\n 100% {\n stroke-dashoffset: 11.6;\n }\n }\n `}\n </style>\n\n {/* Add issue count circle if issues exist */}\n {issueCount > 0 ? (\n <div\n style={{\n position: 'absolute',\n top: '-5px',\n right: '-5px',\n width: '20px',\n height: '20px',\n background: 'var(--color-red-300)',\n borderRadius: '50%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: 'var(--color-red-900)',\n fontSize: '12px',\n fontWeight: 'bold',\n }}\n >\n {issueCount}\n </div>\n ) : null}\n\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ shapeRendering: 'geometricPrecision' }}\n >\n <defs>\n <clipPath id=\"circleClip\">\n <circle cx=\"20\" cy=\"20\" r=\"20\" />\n </clipPath>\n </defs>\n\n <g clipPath=\"url(#circleClip)\">\n <g filter=\"url(#filter0_bdddi_1457_6023)\">\n <circle cx=\"20\" cy=\"20\" r=\"20\" fill={'black'} fillOpacity=\"0.8\" />\n <g filter=\"url(#filter1_i_1457_6023)\">\n <circle\n cx=\"20\"\n cy=\"20\"\n r=\"18.5\"\n stroke=\"url(#paint0_angular_1457_6023)\"\n strokeOpacity=\"0.8\"\n />\n <circle\n cx=\"20\"\n cy=\"20\"\n r=\"18.5\"\n stroke=\"white\"\n strokeOpacity=\"0.2\"\n style={{ mixBlendMode: 'multiply' }}\n />\n <circle\n cx=\"20\"\n cy=\"20\"\n r=\"18\"\n fill={issueCount > 0 ? '#CA2A30' : '#2A2A2A'}\n />\n\n <g transform=\"translate(13, 12)\">\n <path\n className={isLoading ? 'path0' : 'paused'}\n d=\"M13.3 15.2 L2.34 1 V12.6\"\n fill=\"none\"\n stroke=\"url(#paint0_linear_1357_10853)\"\n strokeWidth=\"1.86\"\n mask=\"url(#mask0)\"\n strokeDasharray=\"29.6\"\n strokeDashoffset=\"29.6\"\n />\n <path\n className={isLoading ? 'path1' : 'paused'}\n d=\"M11.825 1.5 V13.1\"\n strokeWidth=\"1.86\"\n stroke=\"url(#paint1_linear_1357_10853)\"\n strokeDasharray=\"11.6\"\n strokeDashoffset=\"11.6\"\n />\n </g>\n </g>\n </g>\n </g>\n\n <defs>\n <linearGradient\n id=\"paint0_linear_1357_10853\"\n x1=\"9.95555\"\n y1=\"11.1226\"\n x2=\"15.4778\"\n y2=\"17.9671\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop\n stopColor={isDevBuilding ? 'rgba(255,255,255,0.7)' : 'white'}\n />\n <stop\n offset=\"0.604072\"\n stopColor={isDevBuilding ? 'rgba(255,255,255,0.7)' : 'white'}\n stopOpacity=\"0\"\n />\n <stop\n offset=\"1\"\n stopColor={isDevBuilding ? 'rgba(255,255,255,0.7)' : 'white'}\n stopOpacity=\"0\"\n />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_1357_10853\"\n x1=\"11.8222\"\n y1=\"1.40039\"\n x2=\"11.791\"\n y2=\"9.62542\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop\n stopColor={isDevBuilding ? 'rgba(255,255,255,0.7)' : 'white'}\n />\n <stop\n offset=\"1\"\n stopColor={isDevBuilding ? 'rgba(255,255,255,0.7)' : 'white'}\n stopOpacity=\"0\"\n />\n </linearGradient>\n <mask id=\"mask0\">\n <rect\n width=\"100%\"\n height=\"100%\"\n fill={isDevBuilding ? 'rgba(255,255,255,0.7)' : 'white'}\n />\n <rect width=\"5\" height=\"1.5\" fill=\"black\" />\n </mask>\n\n <filter\n id=\"filter0_bdddi_1457_6023\"\n x=\"0\"\n y=\"0\"\n width=\"40\"\n height=\"40\"\n filterUnits=\"userSpaceOnUse\"\n colorInterpolationFilters=\"sRGB\"\n >\n <feFlood floodOpacity=\"0\" result=\"BackgroundImageFix\" />\n <feGaussianBlur in=\"BackgroundImageFix\" stdDeviation=\"24\" />\n <feComposite\n in2=\"SourceAlpha\"\n operator=\"in\"\n result=\"effect1_backgroundBlur_1457_6023\"\n />\n <feColorMatrix\n in=\"SourceAlpha\"\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\"\n />\n <feMorphology\n radius=\"8\"\n operator=\"erode\"\n in=\"SourceAlpha\"\n result=\"effect2_dropShadow_1457_6023\"\n />\n <feOffset dy=\"24\" />\n <feGaussianBlur stdDeviation=\"16\" />\n <feComposite in2=\"hardAlpha\" operator=\"out\" />\n <feColorMatrix\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0\"\n />\n <feBlend\n mode=\"normal\"\n in2=\"effect1_backgroundBlur_1457_6023\"\n result=\"effect2_dropShadow_1457_6023\"\n />\n <feColorMatrix\n in=\"SourceAlpha\"\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\"\n />\n <feMorphology\n radius=\"4\"\n operator=\"erode\"\n in=\"SourceAlpha\"\n result=\"effect3_dropShadow_1457_6023\"\n />\n <feOffset dy=\"8\" />\n <feGaussianBlur stdDeviation=\"8\" />\n <feColorMatrix\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0\"\n />\n <feBlend\n mode=\"normal\"\n in2=\"effect2_dropShadow_1457_6023\"\n result=\"effect3_dropShadow_1457_6023\"\n />\n <feColorMatrix\n in=\"SourceAlpha\"\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\"\n />\n <feOffset dy=\"1\" />\n <feGaussianBlur stdDeviation=\"0.5\" />\n <feColorMatrix\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0\"\n />\n <feBlend\n mode=\"normal\"\n in=\"SourceGraphic\"\n in2=\"effect3_dropShadow_1457_6023\"\n result=\"effect4_dropShadow_1457_6023\"\n />\n <feBlend\n mode=\"normal\"\n in=\"SourceGraphic\"\n in2=\"effect4_dropShadow_1457_6023\"\n result=\"shape\"\n />\n <feColorMatrix\n in=\"SourceAlpha\"\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\"\n />\n <feOffset dx=\"4\" dy=\"4\" />\n <feGaussianBlur stdDeviation=\"2\" />\n <feComposite in2=\"hardAlpha\" operator=\"arithmetic\" k2=\"-1\" k3=\"1\" />\n <feColorMatrix\n type=\"matrix\"\n values=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.2 0\"\n />\n <feBlend\n mode=\"lighten\"\n in2=\"shape\"\n result=\"effect5_innerShadow_1457_6023\"\n />\n </filter>\n\n <filter\n id=\"filter1_i_1457_6023\"\n x=\"1\"\n y=\"1\"\n width=\"39\"\n height=\"42\"\n filterUnits=\"userSpaceOnUse\"\n colorInterpolationFilters=\"sRGB\"\n >\n <feFlood floodOpacity=\"0\" result=\"BackgroundImageFix\" />\n <feBlend\n mode=\"normal\"\n in=\"SourceGraphic\"\n in2=\"BackgroundImageFix\"\n result=\"shape\"\n />\n <feColorMatrix\n in=\"SourceAlpha\"\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\"\n />\n <feOffset dy=\"4\" />\n <feGaussianBlur stdDeviation=\"2\" />\n <feComposite in2=\"hardAlpha\" operator=\"arithmetic\" k2=\"-1\" k3=\"1\" />\n <feColorMatrix\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"\n />\n <feBlend\n mode=\"normal\"\n in2=\"shape\"\n result=\"effect1_innerShadow_1457_6023\"\n />\n </filter>\n\n <radialGradient\n id=\"paint0_angular_1457_6023\"\n cx=\"0\"\n cy=\"0\"\n r=\"1\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"translate(20 20) rotate(-90) scale(12.75)\"\n >\n <stop stopColor=\"white\" />\n <stop offset=\"0.0914784\" stopColor=\"white\" stopOpacity=\"0.463159\" />\n <stop offset=\"0.405428\" stopColor=\"white\" stopOpacity=\"0.4\" />\n </radialGradient>\n </defs>\n </svg>\n </button>\n )\n}\n"],"names":["useEffect","useState","noop","css","NextLogo","issueCount","onClick","isDevBuilding","isDevRendering","props","isLoading","setIsLoading","isPressed","setIsPressed","timeout","setTimeout","clearTimeout","button","style","position","cursor","userSelect","backdropFilter","boxShadow","borderRadius","transition","transform","onMouseDown","onMouseUp","onMouseLeave","div","top","right","width","height","background","display","alignItems","justifyContent","color","fontSize","fontWeight","svg","viewBox","fill","xmlns","shapeRendering","defs","clipPath","id","circle","cx","cy","r","g","filter","fillOpacity","stroke","strokeOpacity","mixBlendMode","path","className","d","strokeWidth","mask","strokeDasharray","strokeDashoffset","linearGradient","x1","y1","x2","y2","gradientUnits","stop","stopColor","offset","stopOpacity","rect","x","y","filterUnits","colorInterpolationFilters","feFlood","floodOpacity","result","feGaussianBlur","in","stdDeviation","feComposite","in2","operator","feColorMatrix","type","values","feMorphology","radius","feOffset","dy","feBlend","mode","dx","k2","k3","radialGradient","gradientTransform"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/next-logo.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { noop as css } from '../../../../../../internal/helpers/noop-template'\n\ninterface Props extends React.ComponentProps<'button'> {\n issueCount: number\n onClick: () => void\n isDevBuilding: boolean\n isDevRendering: boolean\n onIssuesClick: () => void\n}\n\nconst SIZE = 36\n\nexport const NextLogo = ({\n issueCount,\n onClick,\n isDevBuilding,\n isDevRendering,\n onIssuesClick,\n ...props\n}: Props) => {\n const hasError = issueCount > 0\n const [isErrorExpanded, setIsErrorExpanded] = useState(hasError)\n const [isLoading, setIsLoading] = useState(false)\n\n const ref = useRef<HTMLDivElement | null>(null)\n const width = useMeasureWidth(ref)\n\n // Only shows the loading state after a 200ms delay when building or rendering,\n // to avoid flashing the loading state for quick updates\n useEffect(() => {\n if (isDevBuilding || isDevRendering) {\n const timeout = setTimeout(() => {\n setIsLoading(true)\n }, 200)\n return () => clearTimeout(timeout)\n } else {\n setIsLoading(false)\n }\n }, [isDevBuilding, isDevRendering])\n\n return (\n <>\n {/* Styles */}\n <style>\n {css`\n [data-next-badge] {\n --timing: cubic-bezier(0.5, 0.36, 0.25, 1.1);\n --duration: 300ms;\n --color-outer-border: #171717;\n --color-inner-border: hsla(0, 0%, 100%, 0.14);\n --color-hover-alpha: hsla(0, 0%, 100%, 0.14);\n --color-hover-alpha-2: hsla(0, 0%, 100%, 0.23);\n --padding: 2px;\n --mark-size: calc(var(--size) - var(--padding) * 2);\n\n -webkit-font-smoothing: antialiased;\n width: var(--size);\n height: var(--size);\n display: flex;\n align-items: center;\n position: relative;\n background: rgba(0, 0, 0, 0.8);\n box-shadow:\n 0 0 0 1px var(--color-outer-border),\n inset 0 0 0 1px var(--color-inner-border),\n 0px 16px 32px -8px rgba(0, 0, 0, 0.24);\n backdrop-filter: blur(48px);\n border-radius: 9999px;\n user-select: none;\n cursor: pointer;\n scale: 1;\n overflow: hidden;\n transition:\n scale 150ms var(--timing),\n width 250ms var(--timing),\n box-shadow 250ms var(--timing),\n background 150ms ease;\n\n &:active:not([data-error='true']) {\n scale: 0.95;\n }\n\n &[data-error='true'] {\n background: #ca2a30;\n --color-inner-border: #e5484d;\n\n [data-next-mark] {\n background: var(--color-hover-alpha);\n\n &:hover {\n background: var(--color-hover-alpha-2);\n }\n }\n }\n\n > div {\n display: flex;\n }\n }\n\n [data-issues] {\n display: flex;\n gap: var(--padding);\n align-items: center;\n padding-left: 8px;\n padding-right: calc(var(--padding) * 2);\n height: 32px;\n margin: 0 var(--padding);\n border-radius: 9999px;\n transition: background 150ms ease;\n\n &:has([data-issues-open]:hover) {\n background: var(--color-hover-alpha);\n }\n\n [data-cross] {\n translate: 0 -1px;\n }\n }\n\n [data-issues-open] {\n font-size: 13px;\n color: white;\n width: fit-content;\n height: 100%;\n display: flex;\n gap: 8px;\n align-items: center;\n margin: 0;\n line-height: 36px;\n font-weight: 500;\n z-index: 2;\n white-space: nowrap;\n }\n\n [data-issues-close] {\n width: 24px;\n height: 24px;\n border-radius: 9999px;\n transition: background 150ms ease;\n\n &:hover {\n background: var(--color-hover-alpha);\n }\n }\n\n [data-next-mark] {\n width: var(--mark-size);\n height: var(--mark-size);\n margin-left: var(--padding);\n display: flex;\n align-items: center;\n border-radius: 9999px;\n transition: background var(--duration) var(--timing);\n\n svg {\n flex-shrink: 0;\n }\n }\n\n .path0 {\n animation: draw0 1.5s ease-in-out infinite;\n }\n\n .path1 {\n animation: draw1 1.5s ease-out infinite;\n animation-delay: 0.3s;\n }\n\n .paused {\n stroke-dashoffset: 0;\n }\n\n @keyframes draw0 {\n 0%,\n 25% {\n stroke-dashoffset: -29.6;\n }\n 25%,\n 50% {\n stroke-dashoffset: 0;\n }\n 50%,\n 75% {\n stroke-dashoffset: 0;\n }\n 75%,\n 100% {\n stroke-dashoffset: 29.6;\n }\n }\n\n @keyframes draw1 {\n 0%,\n 20% {\n stroke-dashoffset: -11.6;\n }\n 20%,\n 50% {\n stroke-dashoffset: 0;\n }\n 50%,\n 75% {\n stroke-dashoffset: 0;\n }\n 75%,\n 100% {\n stroke-dashoffset: 11.6;\n }\n }\n `}\n </style>\n <div\n data-next-badge\n data-error={hasError}\n style={\n {\n width: hasError && width > SIZE ? width : SIZE,\n '--size': `${SIZE}px`,\n } as React.CSSProperties\n }\n >\n <div ref={ref}>\n {/* Children */}\n <button data-next-mark onClick={onClick} {...props}>\n <NextMark isLoading={isLoading} />\n </button>\n {isErrorExpanded && (\n <div data-issues>\n <button\n data-issues-open\n aria-label=\"Open issues overlay\"\n onClick={onIssuesClick}\n >\n {issueCount} {issueCount === 1 ? 'Issue' : 'Issues'}\n </button>\n <button\n data-issues-close\n aria-label=\"Dismiss\"\n onClick={() => {\n setIsErrorExpanded(false)\n }}\n >\n <Cross />\n </button>\n </div>\n )}\n </div>\n </div>\n </>\n )\n}\n\nfunction useMeasureWidth(ref: React.RefObject<HTMLDivElement | null>) {\n const [width, setWidth] = useState<number>(0)\n\n useEffect(() => {\n const el = ref.current\n\n if (!el) {\n return\n }\n\n const observer = new ResizeObserver(() => {\n const { width: w } = el.getBoundingClientRect()\n setWidth(w)\n })\n\n observer.observe(el)\n return () => observer.disconnect()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return width\n}\n\nfunction NextMark({ isLoading }: { isLoading?: boolean }) {\n return (\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\">\n <g transform=\"translate(8.5, 13)\">\n <path\n className={isLoading ? 'path0' : 'paused'}\n d=\"M13.3 15.2 L2.34 1 V12.6\"\n fill=\"none\"\n stroke=\"url(#paint0_linear_1357_10853)\"\n strokeWidth=\"1.86\"\n mask=\"url(#mask0)\"\n strokeDasharray=\"29.6\"\n strokeDashoffset=\"29.6\"\n />\n <path\n className={isLoading ? 'path1' : 'paused'}\n d=\"M11.825 1.5 V13.1\"\n strokeWidth=\"1.86\"\n stroke=\"url(#paint1_linear_1357_10853)\"\n strokeDasharray=\"11.6\"\n strokeDashoffset=\"11.6\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_1357_10853\"\n x1=\"9.95555\"\n y1=\"11.1226\"\n x2=\"15.4778\"\n y2=\"17.9671\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"white\" />\n <stop offset=\"0.604072\" stopColor=\"white\" stopOpacity=\"0\" />\n <stop offset=\"1\" stopColor=\"white\" stopOpacity=\"0\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_1357_10853\"\n x1=\"11.8222\"\n y1=\"1.40039\"\n x2=\"11.791\"\n y2=\"9.62542\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"white\" />\n <stop offset=\"1\" stopColor=\"white\" stopOpacity=\"0\" />\n </linearGradient>\n <mask id=\"mask0\">\n <rect width=\"100%\" height=\"100%\" fill=\"white\" />\n <rect width=\"5\" height=\"1.5\" fill=\"black\" />\n </mask>\n </defs>\n </svg>\n )\n}\n\nfunction Cross() {\n return (\n <svg\n data-cross\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3.08889 11.8384L2.62486 12.3024L1.69678 11.3744L2.16082 10.9103L6.07178 6.99937L2.16082 3.08841L1.69678 2.62437L2.62486 1.69629L3.08889 2.16033L6.99986 6.07129L10.9108 2.16033L11.3749 1.69629L12.3029 2.62437L11.8389 3.08841L7.92793 6.99937L11.8389 10.9103L12.3029 11.3744L11.3749 12.3024L10.9108 11.8384L6.99986 7.92744L3.08889 11.8384Z\"\n fill=\"#EAEAEA\"\n />\n </svg>\n )\n}\n"],"names":["useEffect","useRef","useState","noop","css","SIZE","NextLogo","issueCount","onClick","isDevBuilding","isDevRendering","onIssuesClick","props","hasError","isErrorExpanded","setIsErrorExpanded","isLoading","setIsLoading","ref","width","useMeasureWidth","timeout","setTimeout","clearTimeout","style","div","data-next-badge","data-error","button","data-next-mark","NextMark","data-issues","data-issues-open","aria-label","data-issues-close","Cross","setWidth","el","current","observer","ResizeObserver","w","getBoundingClientRect","observe","disconnect","svg","height","viewBox","fill","g","transform","path","className","d","stroke","strokeWidth","mask","strokeDasharray","strokeDashoffset","defs","linearGradient","id","x1","y1","x2","y2","gradientUnits","stop","stopColor","offset","stopOpacity","rect","data-cross","xmlns","fill-rule","clip-rule"],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { useState, useRef, useCallback } from 'react';
|
|
2
|
+
/** Useful to perform CSS animations on React components */ export function useDelayedRender(active, options) {
|
|
3
|
+
if (active === void 0) active = false;
|
|
4
|
+
if (options === void 0) options = {};
|
|
5
|
+
const [, force] = useState();
|
|
6
|
+
const mounted = useRef(active);
|
|
7
|
+
const rendered = useRef(false);
|
|
8
|
+
const renderTimer = useRef(null);
|
|
9
|
+
const unmountTimer = useRef(null);
|
|
10
|
+
const prevActive = useRef(active);
|
|
11
|
+
const recalculate = useCallback(()=>{
|
|
12
|
+
const { enterDelay = 1, exitDelay = 0 } = options;
|
|
13
|
+
if (prevActive.current) {
|
|
14
|
+
// Mount immediately
|
|
15
|
+
mounted.current = true;
|
|
16
|
+
if (unmountTimer.current) clearTimeout(unmountTimer.current);
|
|
17
|
+
if (enterDelay <= 0) {
|
|
18
|
+
// Render immediately
|
|
19
|
+
rendered.current = true;
|
|
20
|
+
} else {
|
|
21
|
+
if (renderTimer.current) return;
|
|
22
|
+
// Render after a delay
|
|
23
|
+
renderTimer.current = setTimeout(()=>{
|
|
24
|
+
rendered.current = true;
|
|
25
|
+
renderTimer.current = null;
|
|
26
|
+
force({});
|
|
27
|
+
}, enterDelay);
|
|
28
|
+
}
|
|
29
|
+
} else {
|
|
30
|
+
// Immediately set to unrendered
|
|
31
|
+
rendered.current = false;
|
|
32
|
+
if (exitDelay <= 0) {
|
|
33
|
+
mounted.current = false;
|
|
34
|
+
} else {
|
|
35
|
+
if (unmountTimer.current) return;
|
|
36
|
+
// Unmount after a delay
|
|
37
|
+
unmountTimer.current = setTimeout(()=>{
|
|
38
|
+
mounted.current = false;
|
|
39
|
+
unmountTimer.current = null;
|
|
40
|
+
force({});
|
|
41
|
+
}, exitDelay);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}, [
|
|
45
|
+
options
|
|
46
|
+
]);
|
|
47
|
+
// When the active prop changes, need to re-calculate
|
|
48
|
+
if (active !== prevActive.current) {
|
|
49
|
+
prevActive.current = active;
|
|
50
|
+
// We want to do this synchronously with the render, not in an effect
|
|
51
|
+
// this way when active → true, mounted → true in the same pass
|
|
52
|
+
recalculate();
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
mounted: mounted.current,
|
|
56
|
+
rendered: rendered.current
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
//# sourceMappingURL=use-delayed-render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/use-delayed-render.ts"],"sourcesContent":["import { useState, useRef, useCallback } from 'react'\n\ninterface Options {\n enterDelay?: number\n exitDelay?: number\n onUnmount?: () => void\n}\n\n/** Useful to perform CSS animations on React components */\nexport function useDelayedRender(\n active: boolean = false,\n options: Options = {}\n) {\n const [, force] = useState<any>()\n const mounted = useRef(active)\n const rendered = useRef(false)\n const renderTimer = useRef<NodeJS.Timeout | null>(null)\n const unmountTimer = useRef<NodeJS.Timeout | null>(null)\n const prevActive = useRef(active)\n\n const recalculate = useCallback(() => {\n const { enterDelay = 1, exitDelay = 0 } = options\n\n if (prevActive.current) {\n // Mount immediately\n mounted.current = true\n if (unmountTimer.current) clearTimeout(unmountTimer.current)\n\n if (enterDelay <= 0) {\n // Render immediately\n rendered.current = true\n } else {\n if (renderTimer.current) return\n\n // Render after a delay\n renderTimer.current = setTimeout(() => {\n rendered.current = true\n renderTimer.current = null\n force({})\n }, enterDelay)\n }\n } else {\n // Immediately set to unrendered\n rendered.current = false\n\n if (exitDelay <= 0) {\n mounted.current = false\n } else {\n if (unmountTimer.current) return\n\n // Unmount after a delay\n unmountTimer.current = setTimeout(() => {\n mounted.current = false\n unmountTimer.current = null\n force({})\n }, exitDelay)\n }\n }\n }, [options])\n\n // When the active prop changes, need to re-calculate\n if (active !== prevActive.current) {\n prevActive.current = active\n // We want to do this synchronously with the render, not in an effect\n // this way when active → true, mounted → true in the same pass\n recalculate()\n }\n\n return {\n mounted: mounted.current,\n rendered: rendered.current,\n }\n}\n"],"names":["useState","useRef","useCallback","useDelayedRender","active","options","force","mounted","rendered","renderTimer","unmountTimer","prevActive","recalculate","enterDelay","exitDelay","current","clearTimeout","setTimeout"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,WAAW,QAAQ,QAAO;AAQrD,yDAAyD,GACzD,OAAO,SAASC,iBACdC,MAAuB,EACvBC,OAAqB;IADrBD,IAAAA,mBAAAA,SAAkB;IAClBC,IAAAA,oBAAAA,UAAmB,CAAC;IAEpB,MAAM,GAAGC,MAAM,GAAGN;IAClB,MAAMO,UAAUN,OAAOG;IACvB,MAAMI,WAAWP,OAAO;IACxB,MAAMQ,cAAcR,OAA8B;IAClD,MAAMS,eAAeT,OAA8B;IACnD,MAAMU,aAAaV,OAAOG;IAE1B,MAAMQ,cAAcV,YAAY;QAC9B,MAAM,EAAEW,aAAa,CAAC,EAAEC,YAAY,CAAC,EAAE,GAAGT;QAE1C,IAAIM,WAAWI,OAAO,EAAE;YACtB,oBAAoB;YACpBR,QAAQQ,OAAO,GAAG;YAClB,IAAIL,aAAaK,OAAO,EAAEC,aAAaN,aAAaK,OAAO;YAE3D,IAAIF,cAAc,GAAG;gBACnB,qBAAqB;gBACrBL,SAASO,OAAO,GAAG;YACrB,OAAO;gBACL,IAAIN,YAAYM,OAAO,EAAE;gBAEzB,uBAAuB;gBACvBN,YAAYM,OAAO,GAAGE,WAAW;oBAC/BT,SAASO,OAAO,GAAG;oBACnBN,YAAYM,OAAO,GAAG;oBACtBT,MAAM,CAAC;gBACT,GAAGO;YACL;QACF,OAAO;YACL,gCAAgC;YAChCL,SAASO,OAAO,GAAG;YAEnB,IAAID,aAAa,GAAG;gBAClBP,QAAQQ,OAAO,GAAG;YACpB,OAAO;gBACL,IAAIL,aAAaK,OAAO,EAAE;gBAE1B,wBAAwB;gBACxBL,aAAaK,OAAO,GAAGE,WAAW;oBAChCV,QAAQQ,OAAO,GAAG;oBAClBL,aAAaK,OAAO,GAAG;oBACvBT,MAAM,CAAC;gBACT,GAAGQ;YACL;QACF;IACF,GAAG;QAACT;KAAQ;IAEZ,qDAAqD;IACrD,IAAID,WAAWO,WAAWI,OAAO,EAAE;QACjCJ,WAAWI,OAAO,GAAGX;QACrB,qEAAqE;QACrE,+DAA+D;QAC/DQ;IACF;IAEA,OAAO;QACLL,SAASA,QAAQQ,OAAO;QACxBP,UAAUA,SAASO,OAAO;IAC5B;AACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { _ as _tagged_template_literal_loose } from "@swc/helpers/_/_tagged_template_literal_loose";
|
|
2
2
|
function _templateObject() {
|
|
3
3
|
const data = _tagged_template_literal_loose([
|
|
4
|
-
"\n [data-nextjs-toast-wrapper] {\n border: none;\n }\n\n [data-nextjs-dev-tools-button] {\n border: none;\n background: none;\n padding: 0;\n font-size: var(--size-font);\n cursor: pointer;\n }\n\n [data-nextjs-dev-tools-popover] {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 0px;\n background: var(--color-background-100);\n border: 1px solid var(--color-gray-alpha-400);\n box-shadow: var(--shadow-
|
|
4
|
+
"\n [data-nextjs-toast-wrapper] {\n border: none;\n }\n\n [data-nextjs-dev-tools-button] {\n border: none;\n background: none;\n padding: 0;\n font-size: var(--size-font);\n cursor: pointer;\n }\n\n [data-nextjs-dev-tools-popover] {\n -webkit-font-smoothing: antialiased;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 0px;\n background: var(--color-background-100);\n border: 1px solid var(--color-gray-alpha-400);\n background-clip: padding-box;\n box-shadow: var(--shadow-menu);\n border-radius: var(--rounded-xl);\n position: absolute;\n bottom: calc(100% + var(--size-gap));\n left: 0;\n z-index: 1000;\n overflow: hidden;\n opacity: 0;\n transition: opacity var(--animate-out-duration-ms)\n var(--animate-out-timing-function);\n\n &[data-rendered='true'] {\n opacity: 1;\n scale: 1;\n }\n }\n\n [data-nextjs-dev-tools-content] {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: var(--size-1_5);\n background: var(--color-background-100);\n }\n\n [data-nextjs-dev-tools-footer] {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: var(--size-1_5);\n gap: var(--size-2_5);\n background: var(--color-background-200);\n border-top: 1px solid var(--color-gray-200);\n width: 100%;\n }\n\n [data-nextjs-dev-tools-footer-text] {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: var(--size-2) var(--size-1_5);\n width: 248px;\n }\n\n [data-nextjs-dev-tools-version] {\n margin: 0;\n font-family: var(--font-stack-monospace);\n font-style: normal;\n font-weight: 400;\n font-size: 11px;\n line-height: var(--size-4);\n color: var(--color-gray-900);\n }\n\n [data-nextjs-dev-tools-row] {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: var(--size-2) var(--size-1_5);\n gap: var(--size-2);\n width: 248px;\n height: 36px;\n border-radius: var(--rounded-md);\n cursor: pointer;\n }\n\n [data-nextjs-dev-tools-row]:hover {\n background-color: var(--color-gray-100);\n }\n\n [data-nextjs-dev-tools-row-label] {\n font-family: var(--font-stack-sans);\n font-style: normal;\n font-weight: 400;\n font-size: var(--size-font-small);\n line-height: var(--size-5);\n color: var(--color-gray-1000);\n }\n\n [data-nextjs-dev-tools-row-value] {\n font-family: var(--font-stack-sans);\n font-weight: 400;\n font-size: var(--size-font-small);\n line-height: var(--size-5);\n color: var(--color-gray-900);\n margin-left: auto;\n padding: 0 var(--size-0_5);\n }\n\n [data-nextjs-dev-tools-issue-count] {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: var(--size-1);\n width: var(--size-5);\n height: var(--size-5);\n border-radius: var(--rounded-full);\n }\n\n [data-nextjs-dev-tools-issue-text] {\n font-family: var(--font-stack-sans);\n font-weight: 500;\n font-size: 11px;\n line-height: var(--size-4);\n text-align: center;\n }\n\n [data-nextjs-dev-tools-issue-count][data-has-issues='true'] {\n background: var(--color-red-300);\n }\n\n [data-nextjs-dev-tools-issue-count][data-has-issues='false'] {\n background: var(--color-gray-300);\n }\n\n [data-nextjs-dev-tools-issue-text][data-has-issues='true'] {\n color: var(--color-red-900);\n }\n\n [data-nextjs-dev-tools-issue-text][data-has-issues='false'] {\n color: var(--color-gray-1000);\n }\n\n [data-nextjs-dev-tools-container] {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n background: var(--color-background-100);\n }\n\n [data-nextjs-dev-tools-shortcut-group] {\n display: flex;\n align-items: flex-start;\n gap: var(--size-1);\n }\n\n [data-nextjs-dev-tools-icon] {\n display: flex;\n width: var(--size-5);\n height: var(--size-5);\n justify-content: center;\n align-items: center;\n border-radius: var(--rounded-md);\n border: 1px solid var(--color-gray-400);\n background: var(--color-background-100);\n color: var(--color-gray-1000);\n text-align: center;\n font-size: var(--size-font-smaller);\n font-style: normal;\n font-weight: 400;\n line-height: var(--size-4);\n }\n\n [data-nextjs-dev-tools-ctrl-icon] {\n width: 100%;\n }\n"
|
|
5
5
|
]);
|
|
6
6
|
_templateObject = function() {
|
|
7
7
|
return data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/styles.ts"],"sourcesContent":["import { noop as css } from '../../../helpers/noop-template'\n\nexport const styles = css`\n [data-nextjs-toast-wrapper] {\n border: none;\n }\n\n [data-nextjs-dev-tools-button] {\n border: none;\n background: none;\n padding: 0;\n font-size: var(--size-font);\n cursor: pointer;\n }\n\n [data-nextjs-dev-tools-popover] {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 0px;\n background: var(--color-background-100);\n border: 1px solid var(--color-gray-alpha-400);\n box-shadow: var(--shadow-
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/styles.ts"],"sourcesContent":["import { noop as css } from '../../../helpers/noop-template'\n\nexport const styles = css`\n [data-nextjs-toast-wrapper] {\n border: none;\n }\n\n [data-nextjs-dev-tools-button] {\n border: none;\n background: none;\n padding: 0;\n font-size: var(--size-font);\n cursor: pointer;\n }\n\n [data-nextjs-dev-tools-popover] {\n -webkit-font-smoothing: antialiased;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 0px;\n background: var(--color-background-100);\n border: 1px solid var(--color-gray-alpha-400);\n background-clip: padding-box;\n box-shadow: var(--shadow-menu);\n border-radius: var(--rounded-xl);\n position: absolute;\n bottom: calc(100% + var(--size-gap));\n left: 0;\n z-index: 1000;\n overflow: hidden;\n opacity: 0;\n transition: opacity var(--animate-out-duration-ms)\n var(--animate-out-timing-function);\n\n &[data-rendered='true'] {\n opacity: 1;\n scale: 1;\n }\n }\n\n [data-nextjs-dev-tools-content] {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: var(--size-1_5);\n background: var(--color-background-100);\n }\n\n [data-nextjs-dev-tools-footer] {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: var(--size-1_5);\n gap: var(--size-2_5);\n background: var(--color-background-200);\n border-top: 1px solid var(--color-gray-200);\n width: 100%;\n }\n\n [data-nextjs-dev-tools-footer-text] {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: var(--size-2) var(--size-1_5);\n width: 248px;\n }\n\n [data-nextjs-dev-tools-version] {\n margin: 0;\n font-family: var(--font-stack-monospace);\n font-style: normal;\n font-weight: 400;\n font-size: 11px;\n line-height: var(--size-4);\n color: var(--color-gray-900);\n }\n\n [data-nextjs-dev-tools-row] {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: var(--size-2) var(--size-1_5);\n gap: var(--size-2);\n width: 248px;\n height: 36px;\n border-radius: var(--rounded-md);\n cursor: pointer;\n }\n\n [data-nextjs-dev-tools-row]:hover {\n background-color: var(--color-gray-100);\n }\n\n [data-nextjs-dev-tools-row-label] {\n font-family: var(--font-stack-sans);\n font-style: normal;\n font-weight: 400;\n font-size: var(--size-font-small);\n line-height: var(--size-5);\n color: var(--color-gray-1000);\n }\n\n [data-nextjs-dev-tools-row-value] {\n font-family: var(--font-stack-sans);\n font-weight: 400;\n font-size: var(--size-font-small);\n line-height: var(--size-5);\n color: var(--color-gray-900);\n margin-left: auto;\n padding: 0 var(--size-0_5);\n }\n\n [data-nextjs-dev-tools-issue-count] {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: var(--size-1);\n width: var(--size-5);\n height: var(--size-5);\n border-radius: var(--rounded-full);\n }\n\n [data-nextjs-dev-tools-issue-text] {\n font-family: var(--font-stack-sans);\n font-weight: 500;\n font-size: 11px;\n line-height: var(--size-4);\n text-align: center;\n }\n\n [data-nextjs-dev-tools-issue-count][data-has-issues='true'] {\n background: var(--color-red-300);\n }\n\n [data-nextjs-dev-tools-issue-count][data-has-issues='false'] {\n background: var(--color-gray-300);\n }\n\n [data-nextjs-dev-tools-issue-text][data-has-issues='true'] {\n color: var(--color-red-900);\n }\n\n [data-nextjs-dev-tools-issue-text][data-has-issues='false'] {\n color: var(--color-gray-1000);\n }\n\n [data-nextjs-dev-tools-container] {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n background: var(--color-background-100);\n }\n\n [data-nextjs-dev-tools-shortcut-group] {\n display: flex;\n align-items: flex-start;\n gap: var(--size-1);\n }\n\n [data-nextjs-dev-tools-icon] {\n display: flex;\n width: var(--size-5);\n height: var(--size-5);\n justify-content: center;\n align-items: center;\n border-radius: var(--rounded-md);\n border: 1px solid var(--color-gray-400);\n background: var(--color-background-100);\n color: var(--color-gray-1000);\n text-align: center;\n font-size: var(--size-font-smaller);\n font-style: normal;\n font-weight: 400;\n line-height: var(--size-4);\n }\n\n [data-nextjs-dev-tools-ctrl-icon] {\n width: 100%;\n }\n`\n"],"names":["noop","css","styles"],"mappings":";;;;;;;;;;AAAA,SAASA,QAAQC,GAAG,QAAQ,iCAAgC;AAE5D,OAAO,MAAMC,SAASD,uBAmLrB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { _ as _tagged_template_literal_loose } from "@swc/helpers/_/_tagged_template_literal_loose";
|
|
2
2
|
function _templateObject() {
|
|
3
3
|
const data = _tagged_template_literal_loose([
|
|
4
|
-
"\n @import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;900&family=Geist+Mono:wght@400;900&display=swap');\n\n :host {\n --size-gap-half: 4px;\n --size-gap: 8px;\n --size-gap-double: 16px;\n --size-gap-triple: 24px;\n --size-gap-quad: 32px;\n\n --size-font-11: 11px;\n --size-font-smaller: 12px;\n --size-font-small: 14px;\n --size-font: 16px;\n --size-font-big: 20px;\n --size-font-bigger: 24px;\n\n --color-background: white;\n --color-font: #757575;\n --color-backdrop: rgba(17, 17, 17, 0.2);\n --color-border-shadow: rgba(0, 0, 0, 0.145);\n\n --color-title-color: #1f1f1f;\n --color-stack-h6: #222;\n --color-stack-headline: #666;\n --color-stack-subline: #999;\n --color-stack-notes: #777;\n\n --color-accents-1: #808080;\n --color-accents-2: #222222;\n --color-accents-3: #404040;\n\n --color-text-color-red-1: #ff5555;\n --color-text-background-red-1: #fff9f9;\n\n --font-stack-monospace: 'Geist Mono', 'SFMono-Regular', Consolas,\n 'Liberation Mono', Menlo, Courier, monospace;\n --font-stack-sans: 'Geist', -apple-system, 'Source Sans Pro',\n sans-serif;\n\n font-family: var(--font-stack-sans);\n\n /* TODO: Remove replaced ones. */\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1),\n 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1),\n 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1),\n 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --shadow-none: 0 0 #0000;\n\n --rounded-none: 0px;\n --rounded-sm: 0.125rem; /* 2px */\n --rounded-md: 0.25rem; /* 4px */\n --rounded-lg: 0.5rem; /* 8px */\n --rounded-xl: 0.75rem; /* 12px */\n --rounded-2xl: 1rem; /* 16px */\n --rounded-3xl: 1.5rem; /* 24px */\n --rounded-full: 9999px;\n\n --size-0: 0px;\n --size-px: 1px;\n --size-0_5: 0.125rem; /* 2px */\n --size-1: 0.25rem; /* 4px */\n --size-1_5: 0.375rem; /* 6px */\n --size-2: 0.5rem; /* 8px */\n --size-2_5: 0.625rem; /* 10px */\n --size-3: 0.75rem; /* 12px */\n --size-3_5: 0.875rem; /* 14px */\n --size-4: 1rem; /* 16px */\n --size-4_5: 1.125rem; /* 18px */\n --size-5: 1.25rem; /* 20px */\n --size-5_5: 1.375rem; /* 22px */\n --size-6: 1.5rem; /* 24px */\n --size-6_5: 1.625rem; /* 26px */\n --size-7: 1.75rem; /* 28px */\n --size-7_5: 1.875rem; /* 30px */\n --size-8: 2rem; /* 32px */\n --size-8_5: 2.125rem; /* 34px */\n --size-9: 2.25rem; /* 36px */\n --size-9_5: 2.375rem; /* 38px */\n --size-10: 2.5rem; /* 40px */\n --size-10_5: 2.625rem; /* 42px */\n --size-11: 2.75rem; /* 44px */\n --size-11_5: 2.875rem; /* 46px */\n --size-12: 3rem; /* 48px */\n }\n\n @media (prefers-color-scheme: dark) {\n :host {\n --color-background: rgb(28, 28, 30);\n --color-font: white;\n --color-backdrop: rgb(44, 44, 46);\n --color-border-shadow: rgba(255, 255, 255, 0.145);\n\n --color-title-color: #fafafa;\n --color-stack-h6: rgb(200, 200, 204);\n --color-stack-headline: rgb(99, 99, 102);\n --color-stack-notes: #a9a9a9;\n --color-stack-subline: rgb(121, 121, 121);\n\n --color-accents-3: rgb(118, 118, 118);\n\n --color-text-background-red-1: #2a1e1e;\n }\n }\n\n .mono {\n font-family: var(--font-stack-monospace);\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-bottom: var(--size-gap);\n font-weight: 500;\n line-height: 1.5;\n }\n "
|
|
4
|
+
"\n @import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;900&family=Geist+Mono:wght@400;900&display=swap');\n\n :host {\n --size-gap-half: 4px;\n --size-gap: 8px;\n --size-gap-double: 16px;\n --size-gap-triple: 24px;\n --size-gap-quad: 32px;\n\n --size-font-11: 11px;\n --size-font-smaller: 12px;\n --size-font-small: 14px;\n --size-font: 16px;\n --size-font-big: 20px;\n --size-font-bigger: 24px;\n\n --color-background: white;\n --color-font: #757575;\n --color-backdrop: rgba(17, 17, 17, 0.2);\n --color-border-shadow: rgba(0, 0, 0, 0.145);\n\n --color-title-color: #1f1f1f;\n --color-stack-h6: #222;\n --color-stack-headline: #666;\n --color-stack-subline: #999;\n --color-stack-notes: #777;\n\n --color-accents-1: #808080;\n --color-accents-2: #222222;\n --color-accents-3: #404040;\n\n --color-text-color-red-1: #ff5555;\n --color-text-background-red-1: #fff9f9;\n\n --font-stack-monospace: 'Geist Mono', 'SFMono-Regular', Consolas,\n 'Liberation Mono', Menlo, Courier, monospace;\n --font-stack-sans: 'Geist', -apple-system, 'Source Sans Pro',\n sans-serif;\n\n font-family: var(--font-stack-sans);\n\n /* TODO: Remove replaced ones. */\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1),\n 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1),\n 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1),\n 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --shadow-none: 0 0 #0000;\n --shadow-menu: 0px 1px 1px rgba(0, 0, 0, 0.02),\n 0px 4px 8px -4px rgba(0, 0, 0, 0.04),\n 0px 16px 24px -8px rgba(0, 0, 0, 0.06);\n\n --rounded-none: 0px;\n --rounded-sm: 0.125rem; /* 2px */\n --rounded-md: 0.25rem; /* 4px */\n --rounded-lg: 0.5rem; /* 8px */\n --rounded-xl: 0.75rem; /* 12px */\n --rounded-2xl: 1rem; /* 16px */\n --rounded-3xl: 1.5rem; /* 24px */\n --rounded-full: 9999px;\n\n --size-0: 0px;\n --size-px: 1px;\n --size-0_5: 0.125rem; /* 2px */\n --size-1: 0.25rem; /* 4px */\n --size-1_5: 0.375rem; /* 6px */\n --size-2: 0.5rem; /* 8px */\n --size-2_5: 0.625rem; /* 10px */\n --size-3: 0.75rem; /* 12px */\n --size-3_5: 0.875rem; /* 14px */\n --size-4: 1rem; /* 16px */\n --size-4_5: 1.125rem; /* 18px */\n --size-5: 1.25rem; /* 20px */\n --size-5_5: 1.375rem; /* 22px */\n --size-6: 1.5rem; /* 24px */\n --size-6_5: 1.625rem; /* 26px */\n --size-7: 1.75rem; /* 28px */\n --size-7_5: 1.875rem; /* 30px */\n --size-8: 2rem; /* 32px */\n --size-8_5: 2.125rem; /* 34px */\n --size-9: 2.25rem; /* 36px */\n --size-9_5: 2.375rem; /* 38px */\n --size-10: 2.5rem; /* 40px */\n --size-10_5: 2.625rem; /* 42px */\n --size-11: 2.75rem; /* 44px */\n --size-11_5: 2.875rem; /* 46px */\n --size-12: 3rem; /* 48px */\n }\n\n @media (prefers-color-scheme: dark) {\n :host {\n --color-background: rgb(28, 28, 30);\n --color-font: white;\n --color-backdrop: rgb(44, 44, 46);\n --color-border-shadow: rgba(255, 255, 255, 0.145);\n\n --color-title-color: #fafafa;\n --color-stack-h6: rgb(200, 200, 204);\n --color-stack-headline: rgb(99, 99, 102);\n --color-stack-notes: #a9a9a9;\n --color-stack-subline: rgb(121, 121, 121);\n\n --color-accents-3: rgb(118, 118, 118);\n\n --color-text-background-red-1: #2a1e1e;\n }\n }\n\n .mono {\n font-family: var(--font-stack-monospace);\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-bottom: var(--size-gap);\n font-weight: 500;\n line-height: 1.5;\n }\n "
|
|
5
5
|
]);
|
|
6
6
|
_templateObject = function() {
|
|
7
7
|
return data;
|
package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/styles/base.tsx"],"sourcesContent":["import * as React from 'react'\nimport { noop as css } from '../helpers/noop-template'\n\nexport function Base() {\n return (\n <style>\n {css`\n @import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;900&family=Geist+Mono:wght@400;900&display=swap');\n\n :host {\n --size-gap-half: 4px;\n --size-gap: 8px;\n --size-gap-double: 16px;\n --size-gap-triple: 24px;\n --size-gap-quad: 32px;\n\n --size-font-11: 11px;\n --size-font-smaller: 12px;\n --size-font-small: 14px;\n --size-font: 16px;\n --size-font-big: 20px;\n --size-font-bigger: 24px;\n\n --color-background: white;\n --color-font: #757575;\n --color-backdrop: rgba(17, 17, 17, 0.2);\n --color-border-shadow: rgba(0, 0, 0, 0.145);\n\n --color-title-color: #1f1f1f;\n --color-stack-h6: #222;\n --color-stack-headline: #666;\n --color-stack-subline: #999;\n --color-stack-notes: #777;\n\n --color-accents-1: #808080;\n --color-accents-2: #222222;\n --color-accents-3: #404040;\n\n --color-text-color-red-1: #ff5555;\n --color-text-background-red-1: #fff9f9;\n\n --font-stack-monospace: 'Geist Mono', 'SFMono-Regular', Consolas,\n 'Liberation Mono', Menlo, Courier, monospace;\n --font-stack-sans: 'Geist', -apple-system, 'Source Sans Pro',\n sans-serif;\n\n font-family: var(--font-stack-sans);\n\n /* TODO: Remove replaced ones. */\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1),\n 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1),\n 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1),\n 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --shadow-none: 0 0 #0000;\n\n --rounded-none: 0px;\n --rounded-sm: 0.125rem; /* 2px */\n --rounded-md: 0.25rem; /* 4px */\n --rounded-lg: 0.5rem; /* 8px */\n --rounded-xl: 0.75rem; /* 12px */\n --rounded-2xl: 1rem; /* 16px */\n --rounded-3xl: 1.5rem; /* 24px */\n --rounded-full: 9999px;\n\n --size-0: 0px;\n --size-px: 1px;\n --size-0_5: 0.125rem; /* 2px */\n --size-1: 0.25rem; /* 4px */\n --size-1_5: 0.375rem; /* 6px */\n --size-2: 0.5rem; /* 8px */\n --size-2_5: 0.625rem; /* 10px */\n --size-3: 0.75rem; /* 12px */\n --size-3_5: 0.875rem; /* 14px */\n --size-4: 1rem; /* 16px */\n --size-4_5: 1.125rem; /* 18px */\n --size-5: 1.25rem; /* 20px */\n --size-5_5: 1.375rem; /* 22px */\n --size-6: 1.5rem; /* 24px */\n --size-6_5: 1.625rem; /* 26px */\n --size-7: 1.75rem; /* 28px */\n --size-7_5: 1.875rem; /* 30px */\n --size-8: 2rem; /* 32px */\n --size-8_5: 2.125rem; /* 34px */\n --size-9: 2.25rem; /* 36px */\n --size-9_5: 2.375rem; /* 38px */\n --size-10: 2.5rem; /* 40px */\n --size-10_5: 2.625rem; /* 42px */\n --size-11: 2.75rem; /* 44px */\n --size-11_5: 2.875rem; /* 46px */\n --size-12: 3rem; /* 48px */\n }\n\n @media (prefers-color-scheme: dark) {\n :host {\n --color-background: rgb(28, 28, 30);\n --color-font: white;\n --color-backdrop: rgb(44, 44, 46);\n --color-border-shadow: rgba(255, 255, 255, 0.145);\n\n --color-title-color: #fafafa;\n --color-stack-h6: rgb(200, 200, 204);\n --color-stack-headline: rgb(99, 99, 102);\n --color-stack-notes: #a9a9a9;\n --color-stack-subline: rgb(121, 121, 121);\n\n --color-accents-3: rgb(118, 118, 118);\n\n --color-text-background-red-1: #2a1e1e;\n }\n }\n\n .mono {\n font-family: var(--font-stack-monospace);\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-bottom: var(--size-gap);\n font-weight: 500;\n line-height: 1.5;\n }\n `}\n </style>\n )\n}\n"],"names":["React","noop","css","Base","style"],"mappings":";;;;;;;;;;;AAAA,YAAYA,WAAW,QAAO;AAC9B,SAASC,QAAQC,GAAG,QAAQ,2BAA0B;AAEtD,OAAO,SAASC;IACd,qBACE,KAACC;kBACEF;;
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/styles/base.tsx"],"sourcesContent":["import * as React from 'react'\nimport { noop as css } from '../helpers/noop-template'\n\nexport function Base() {\n return (\n <style>\n {css`\n @import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;900&family=Geist+Mono:wght@400;900&display=swap');\n\n :host {\n --size-gap-half: 4px;\n --size-gap: 8px;\n --size-gap-double: 16px;\n --size-gap-triple: 24px;\n --size-gap-quad: 32px;\n\n --size-font-11: 11px;\n --size-font-smaller: 12px;\n --size-font-small: 14px;\n --size-font: 16px;\n --size-font-big: 20px;\n --size-font-bigger: 24px;\n\n --color-background: white;\n --color-font: #757575;\n --color-backdrop: rgba(17, 17, 17, 0.2);\n --color-border-shadow: rgba(0, 0, 0, 0.145);\n\n --color-title-color: #1f1f1f;\n --color-stack-h6: #222;\n --color-stack-headline: #666;\n --color-stack-subline: #999;\n --color-stack-notes: #777;\n\n --color-accents-1: #808080;\n --color-accents-2: #222222;\n --color-accents-3: #404040;\n\n --color-text-color-red-1: #ff5555;\n --color-text-background-red-1: #fff9f9;\n\n --font-stack-monospace: 'Geist Mono', 'SFMono-Regular', Consolas,\n 'Liberation Mono', Menlo, Courier, monospace;\n --font-stack-sans: 'Geist', -apple-system, 'Source Sans Pro',\n sans-serif;\n\n font-family: var(--font-stack-sans);\n\n /* TODO: Remove replaced ones. */\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1),\n 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1),\n 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1),\n 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --shadow-none: 0 0 #0000;\n --shadow-menu: 0px 1px 1px rgba(0, 0, 0, 0.02),\n 0px 4px 8px -4px rgba(0, 0, 0, 0.04),\n 0px 16px 24px -8px rgba(0, 0, 0, 0.06);\n\n --rounded-none: 0px;\n --rounded-sm: 0.125rem; /* 2px */\n --rounded-md: 0.25rem; /* 4px */\n --rounded-lg: 0.5rem; /* 8px */\n --rounded-xl: 0.75rem; /* 12px */\n --rounded-2xl: 1rem; /* 16px */\n --rounded-3xl: 1.5rem; /* 24px */\n --rounded-full: 9999px;\n\n --size-0: 0px;\n --size-px: 1px;\n --size-0_5: 0.125rem; /* 2px */\n --size-1: 0.25rem; /* 4px */\n --size-1_5: 0.375rem; /* 6px */\n --size-2: 0.5rem; /* 8px */\n --size-2_5: 0.625rem; /* 10px */\n --size-3: 0.75rem; /* 12px */\n --size-3_5: 0.875rem; /* 14px */\n --size-4: 1rem; /* 16px */\n --size-4_5: 1.125rem; /* 18px */\n --size-5: 1.25rem; /* 20px */\n --size-5_5: 1.375rem; /* 22px */\n --size-6: 1.5rem; /* 24px */\n --size-6_5: 1.625rem; /* 26px */\n --size-7: 1.75rem; /* 28px */\n --size-7_5: 1.875rem; /* 30px */\n --size-8: 2rem; /* 32px */\n --size-8_5: 2.125rem; /* 34px */\n --size-9: 2.25rem; /* 36px */\n --size-9_5: 2.375rem; /* 38px */\n --size-10: 2.5rem; /* 40px */\n --size-10_5: 2.625rem; /* 42px */\n --size-11: 2.75rem; /* 44px */\n --size-11_5: 2.875rem; /* 46px */\n --size-12: 3rem; /* 48px */\n }\n\n @media (prefers-color-scheme: dark) {\n :host {\n --color-background: rgb(28, 28, 30);\n --color-font: white;\n --color-backdrop: rgb(44, 44, 46);\n --color-border-shadow: rgba(255, 255, 255, 0.145);\n\n --color-title-color: #fafafa;\n --color-stack-h6: rgb(200, 200, 204);\n --color-stack-headline: rgb(99, 99, 102);\n --color-stack-notes: #a9a9a9;\n --color-stack-subline: rgb(121, 121, 121);\n\n --color-accents-3: rgb(118, 118, 118);\n\n --color-text-background-red-1: #2a1e1e;\n }\n }\n\n .mono {\n font-family: var(--font-stack-monospace);\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-bottom: var(--size-gap);\n font-weight: 500;\n line-height: 1.5;\n }\n `}\n </style>\n )\n}\n"],"names":["React","noop","css","Base","style"],"mappings":";;;;;;;;;;;AAAA,YAAYA,WAAW,QAAO;AAC9B,SAASC,QAAQC,GAAG,QAAQ,2BAA0B;AAEtD,OAAO,SAASC;IACd,qBACE,KAACC;kBACEF;;AAoIP"}
|
package/dist/esm/client/index.js
CHANGED
|
@@ -27,7 +27,7 @@ import { onRecoverableError } from './react-client-callbacks/on-recoverable-erro
|
|
|
27
27
|
import tracer from './tracing/tracer';
|
|
28
28
|
import reportToSocket from './tracing/report-to-socket';
|
|
29
29
|
import { isNextRouterError } from './components/is-next-router-error';
|
|
30
|
-
export const version = "15.2.0-canary.
|
|
30
|
+
export const version = "15.2.0-canary.16";
|
|
31
31
|
export let router;
|
|
32
32
|
export const emitter = mitt();
|
|
33
33
|
const looseToArray = (input)=>[].slice.call(input);
|
package/dist/esm/export/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import { formatAmpMessages } from '../build/output/index';
|
|
|
8
8
|
import * as Log from '../build/output/log';
|
|
9
9
|
import { RSC_SUFFIX, SSG_FALLBACK_EXPORT_ERROR } from '../lib/constants';
|
|
10
10
|
import { recursiveCopy } from '../lib/recursive-copy';
|
|
11
|
-
import { BUILD_ID_FILE, CLIENT_PUBLIC_FILES_PATH, CLIENT_STATIC_FILES_PATH, EXPORT_DETAIL, EXPORT_MARKER, NEXT_FONT_MANIFEST, MIDDLEWARE_MANIFEST, PAGES_MANIFEST, PHASE_EXPORT, PRERENDER_MANIFEST, SERVER_DIRECTORY, SERVER_REFERENCE_MANIFEST, APP_PATH_ROUTES_MANIFEST } from '../shared/lib/constants';
|
|
11
|
+
import { BUILD_ID_FILE, CLIENT_PUBLIC_FILES_PATH, CLIENT_STATIC_FILES_PATH, EXPORT_DETAIL, EXPORT_MARKER, NEXT_FONT_MANIFEST, MIDDLEWARE_MANIFEST, PAGES_MANIFEST, PHASE_EXPORT, PRERENDER_MANIFEST, SERVER_DIRECTORY, SERVER_REFERENCE_MANIFEST, APP_PATH_ROUTES_MANIFEST, ROUTES_MANIFEST } from '../shared/lib/constants';
|
|
12
12
|
import loadConfig from '../server/config';
|
|
13
13
|
import { eventCliSession } from '../telemetry/events';
|
|
14
14
|
import { hasNextSupport } from '../server/ci-info';
|
|
@@ -24,6 +24,7 @@ import isError from '../lib/is-error';
|
|
|
24
24
|
import { formatManifest } from '../build/manifests/formatter/format-manifest';
|
|
25
25
|
import { TurborepoAccessTraceResult } from '../build/turborepo-access-trace';
|
|
26
26
|
import { createProgress } from '../build/progress';
|
|
27
|
+
import { isInterceptionRouteRewrite } from '../lib/generate-interception-routes-rewrites';
|
|
27
28
|
export class ExportError extends Error {
|
|
28
29
|
constructor(...args){
|
|
29
30
|
super(...args), this.code = 'NEXT_EXPORT_ERROR';
|
|
@@ -201,9 +202,22 @@ async function exportAppImpl(dir, options, span) {
|
|
|
201
202
|
if (enabledDirectories.app) {
|
|
202
203
|
serverActionsManifest = require(join(distDir, SERVER_DIRECTORY, SERVER_REFERENCE_MANIFEST + '.json'));
|
|
203
204
|
if (nextConfig.output === 'export') {
|
|
205
|
+
var _routesManifest_rewrites_beforeFiles, _routesManifest_rewrites;
|
|
206
|
+
const routesManifest = require(join(distDir, ROUTES_MANIFEST));
|
|
207
|
+
// We already prevent rewrites earlier in the process, however Next.js will insert rewrites
|
|
208
|
+
// for interception routes so we need to check for that here.
|
|
209
|
+
if ((routesManifest == null ? void 0 : (_routesManifest_rewrites = routesManifest.rewrites) == null ? void 0 : (_routesManifest_rewrites_beforeFiles = _routesManifest_rewrites.beforeFiles) == null ? void 0 : _routesManifest_rewrites_beforeFiles.length) > 0) {
|
|
210
|
+
const hasInterceptionRouteRewrite = routesManifest.rewrites.beforeFiles.some(isInterceptionRouteRewrite);
|
|
211
|
+
if (hasInterceptionRouteRewrite) {
|
|
212
|
+
throw Object.defineProperty(new ExportError(`Intercepting routes are not supported with static export.\nRead more: https://nextjs.org/docs/app/building-your-application/deploying/static-exports#unsupported-features`), "__NEXT_ERROR_CODE", {
|
|
213
|
+
value: "E626",
|
|
214
|
+
enumerable: false
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
}
|
|
204
218
|
if (Object.keys(serverActionsManifest.node).length > 0 || Object.keys(serverActionsManifest.edge).length > 0) {
|
|
205
|
-
throw Object.defineProperty(new ExportError(`Server Actions are not supported with static export
|
|
206
|
-
value: "
|
|
219
|
+
throw Object.defineProperty(new ExportError(`Server Actions are not supported with static export.\nRead more: https://nextjs.org/docs/app/building-your-application/deploying/static-exports#unsupported-features`), "__NEXT_ERROR_CODE", {
|
|
220
|
+
value: "E625",
|
|
207
221
|
enumerable: false
|
|
208
222
|
});
|
|
209
223
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/export/index.ts"],"sourcesContent":["import type {\n ExportAppResult,\n ExportAppOptions,\n WorkerRenderOptsPartial,\n} from './types'\nimport { createStaticWorker, type PrerenderManifest } from '../build'\nimport type { PagesManifest } from '../build/webpack/plugins/pages-manifest-plugin'\n\nimport { bold, yellow } from '../lib/picocolors'\nimport findUp from 'next/dist/compiled/find-up'\nimport { existsSync, promises as fs } from 'fs'\n\nimport '../server/require-hook'\n\nimport { dirname, join, resolve, sep } from 'path'\nimport { formatAmpMessages } from '../build/output/index'\nimport type { AmpPageStatus } from '../build/output/index'\nimport * as Log from '../build/output/log'\nimport { RSC_SUFFIX, SSG_FALLBACK_EXPORT_ERROR } from '../lib/constants'\nimport { recursiveCopy } from '../lib/recursive-copy'\nimport {\n BUILD_ID_FILE,\n CLIENT_PUBLIC_FILES_PATH,\n CLIENT_STATIC_FILES_PATH,\n EXPORT_DETAIL,\n EXPORT_MARKER,\n NEXT_FONT_MANIFEST,\n MIDDLEWARE_MANIFEST,\n PAGES_MANIFEST,\n PHASE_EXPORT,\n PRERENDER_MANIFEST,\n SERVER_DIRECTORY,\n SERVER_REFERENCE_MANIFEST,\n APP_PATH_ROUTES_MANIFEST,\n} from '../shared/lib/constants'\nimport loadConfig from '../server/config'\nimport type { ExportPathMap } from '../server/config-shared'\nimport { eventCliSession } from '../telemetry/events'\nimport { hasNextSupport } from '../server/ci-info'\nimport { Telemetry } from '../telemetry/storage'\nimport { normalizePagePath } from '../shared/lib/page-path/normalize-page-path'\nimport { denormalizePagePath } from '../shared/lib/page-path/denormalize-page-path'\nimport { loadEnvConfig } from '@next/env'\nimport { isAPIRoute } from '../lib/is-api-route'\nimport { getPagePath } from '../server/require'\nimport type { Span } from '../trace'\nimport type { MiddlewareManifest } from '../build/webpack/plugins/middleware-plugin'\nimport { isAppRouteRoute } from '../lib/is-app-route-route'\nimport { isAppPageRoute } from '../lib/is-app-page-route'\nimport isError from '../lib/is-error'\nimport { formatManifest } from '../build/manifests/formatter/format-manifest'\nimport { TurborepoAccessTraceResult } from '../build/turborepo-access-trace'\nimport { createProgress } from '../build/progress'\nimport type { DeepReadonly } from '../shared/lib/deep-readonly'\n\nexport class ExportError extends Error {\n code = 'NEXT_EXPORT_ERROR'\n}\n\nasync function exportAppImpl(\n dir: string,\n options: Readonly<ExportAppOptions>,\n span: Span\n): Promise<ExportAppResult | null> {\n dir = resolve(dir)\n\n // attempt to load global env values so they are available in next.config.js\n span.traceChild('load-dotenv').traceFn(() => loadEnvConfig(dir, false, Log))\n\n const { enabledDirectories } = options\n\n const nextConfig =\n options.nextConfig ||\n (await span\n .traceChild('load-next-config')\n .traceAsyncFn(() => loadConfig(PHASE_EXPORT, dir)))\n\n const distDir = join(dir, nextConfig.distDir)\n const telemetry = options.buildExport ? null : new Telemetry({ distDir })\n\n if (telemetry) {\n telemetry.record(\n eventCliSession(distDir, nextConfig, {\n webpackVersion: null,\n cliCommand: 'export',\n isSrcDir: null,\n hasNowJson: !!(await findUp('now.json', { cwd: dir })),\n isCustomServer: null,\n turboFlag: false,\n pagesDir: null,\n appDir: null,\n })\n )\n }\n\n const subFolders = nextConfig.trailingSlash && !options.buildExport\n\n if (!options.silent && !options.buildExport) {\n Log.info(`using build directory: ${distDir}`)\n }\n\n const buildIdFile = join(distDir, BUILD_ID_FILE)\n\n if (!existsSync(buildIdFile)) {\n throw new ExportError(\n `Could not find a production build in the '${distDir}' directory. Try building your app with 'next build' before starting the static export. https://nextjs.org/docs/messages/next-export-no-build-id`\n )\n }\n\n const customRoutes = ['rewrites', 'redirects', 'headers'].filter(\n (config) => typeof nextConfig[config] === 'function'\n )\n\n if (!hasNextSupport && !options.buildExport && customRoutes.length > 0) {\n Log.warn(\n `rewrites, redirects, and headers are not applied when exporting your application, detected (${customRoutes.join(\n ', '\n )}). See more info here: https://nextjs.org/docs/messages/export-no-custom-routes`\n )\n }\n\n const buildId = await fs.readFile(buildIdFile, 'utf8')\n\n const pagesManifest =\n !options.pages &&\n (require(join(distDir, SERVER_DIRECTORY, PAGES_MANIFEST)) as PagesManifest)\n\n let prerenderManifest: DeepReadonly<PrerenderManifest> | undefined\n try {\n prerenderManifest = require(join(distDir, PRERENDER_MANIFEST))\n } catch {}\n\n let appRoutePathManifest: Record<string, string> | undefined\n try {\n appRoutePathManifest = require(join(distDir, APP_PATH_ROUTES_MANIFEST))\n } catch (err) {\n if (\n isError(err) &&\n (err.code === 'ENOENT' || err.code === 'MODULE_NOT_FOUND')\n ) {\n // the manifest doesn't exist which will happen when using\n // \"pages\" dir instead of \"app\" dir.\n appRoutePathManifest = undefined\n } else {\n // the manifest is malformed (invalid json)\n throw err\n }\n }\n\n const excludedPrerenderRoutes = new Set<string>()\n const pages = options.pages || Object.keys(pagesManifest)\n const defaultPathMap: ExportPathMap = {}\n\n let hasApiRoutes = false\n for (const page of pages) {\n // _document and _app are not real pages\n // _error is exported as 404.html later on\n // API Routes are Node.js functions\n\n if (isAPIRoute(page)) {\n hasApiRoutes = true\n continue\n }\n\n if (page === '/_document' || page === '/_app' || page === '/_error') {\n continue\n }\n\n // iSSG pages that are dynamic should not export templated version by\n // default. In most cases, this would never work. There is no server that\n // could run `getStaticProps`. If users make their page work lazily, they\n // can manually add it to the `exportPathMap`.\n if (prerenderManifest?.dynamicRoutes[page]) {\n excludedPrerenderRoutes.add(page)\n continue\n }\n\n defaultPathMap[page] = { page }\n }\n\n const mapAppRouteToPage = new Map<string, string>()\n if (!options.buildExport && appRoutePathManifest) {\n for (const [pageName, routePath] of Object.entries(appRoutePathManifest)) {\n mapAppRouteToPage.set(routePath, pageName)\n if (\n isAppPageRoute(pageName) &&\n !prerenderManifest?.routes[routePath] &&\n !prerenderManifest?.dynamicRoutes[routePath]\n ) {\n defaultPathMap[routePath] = {\n page: pageName,\n _isAppDir: true,\n }\n }\n }\n }\n\n // Initialize the output directory\n const outDir = options.outdir\n\n if (outDir === join(dir, 'public')) {\n throw new ExportError(\n `The 'public' directory is reserved in Next.js and can not be used as the export out directory. https://nextjs.org/docs/messages/can-not-output-to-public`\n )\n }\n\n if (outDir === join(dir, 'static')) {\n throw new ExportError(\n `The 'static' directory is reserved in Next.js and can not be used as the export out directory. https://nextjs.org/docs/messages/can-not-output-to-static`\n )\n }\n\n await fs.rm(outDir, { recursive: true, force: true })\n await fs.mkdir(join(outDir, '_next', buildId), { recursive: true })\n\n await fs.writeFile(\n join(distDir, EXPORT_DETAIL),\n formatManifest({\n version: 1,\n outDirectory: outDir,\n success: false,\n }),\n 'utf8'\n )\n\n // Copy static directory\n if (!options.buildExport && existsSync(join(dir, 'static'))) {\n if (!options.silent) {\n Log.info('Copying \"static\" directory')\n }\n await span\n .traceChild('copy-static-directory')\n .traceAsyncFn(() =>\n recursiveCopy(join(dir, 'static'), join(outDir, 'static'))\n )\n }\n\n // Copy .next/static directory\n if (\n !options.buildExport &&\n existsSync(join(distDir, CLIENT_STATIC_FILES_PATH))\n ) {\n if (!options.silent) {\n Log.info('Copying \"static build\" directory')\n }\n await span\n .traceChild('copy-next-static-directory')\n .traceAsyncFn(() =>\n recursiveCopy(\n join(distDir, CLIENT_STATIC_FILES_PATH),\n join(outDir, '_next', CLIENT_STATIC_FILES_PATH)\n )\n )\n }\n\n // Get the exportPathMap from the config file\n if (typeof nextConfig.exportPathMap !== 'function') {\n nextConfig.exportPathMap = async (defaultMap) => {\n return defaultMap\n }\n }\n\n const {\n i18n,\n images: { loader = 'default', unoptimized },\n } = nextConfig\n\n if (i18n && !options.buildExport) {\n throw new ExportError(\n `i18n support is not compatible with next export. See here for more info on deploying: https://nextjs.org/docs/messages/export-no-custom-routes`\n )\n }\n\n if (!options.buildExport) {\n const { isNextImageImported } = await span\n .traceChild('is-next-image-imported')\n .traceAsyncFn(() =>\n fs\n .readFile(join(distDir, EXPORT_MARKER), 'utf8')\n .then((text) => JSON.parse(text))\n .catch(() => ({}))\n )\n\n if (\n isNextImageImported &&\n loader === 'default' &&\n !unoptimized &&\n !hasNextSupport\n ) {\n throw new ExportError(\n `Image Optimization using the default loader is not compatible with export.\n Possible solutions:\n - Use \\`next start\\` to run a server, which includes the Image Optimization API.\n - Configure \\`images.unoptimized = true\\` in \\`next.config.js\\` to disable the Image Optimization API.\n Read more: https://nextjs.org/docs/messages/export-image-api`\n )\n }\n }\n\n let serverActionsManifest\n if (enabledDirectories.app) {\n serverActionsManifest = require(\n join(distDir, SERVER_DIRECTORY, SERVER_REFERENCE_MANIFEST + '.json')\n )\n if (nextConfig.output === 'export') {\n if (\n Object.keys(serverActionsManifest.node).length > 0 ||\n Object.keys(serverActionsManifest.edge).length > 0\n ) {\n throw new ExportError(\n `Server Actions are not supported with static export.`\n )\n }\n }\n }\n\n // Start the rendering process\n const renderOpts: WorkerRenderOptsPartial = {\n previewProps: prerenderManifest?.preview,\n nextExport: true,\n assetPrefix: nextConfig.assetPrefix.replace(/\\/$/, ''),\n distDir,\n dev: false,\n basePath: nextConfig.basePath,\n trailingSlash: nextConfig.trailingSlash,\n canonicalBase: nextConfig.amp?.canonicalBase || '',\n ampSkipValidation: nextConfig.experimental.amp?.skipValidation || false,\n ampOptimizerConfig: nextConfig.experimental.amp?.optimizer || undefined,\n locales: i18n?.locales,\n locale: i18n?.defaultLocale,\n defaultLocale: i18n?.defaultLocale,\n domainLocales: i18n?.domains,\n disableOptimizedLoading: nextConfig.experimental.disableOptimizedLoading,\n // Exported pages do not currently support dynamic HTML.\n supportsDynamicResponse: false,\n crossOrigin: nextConfig.crossOrigin,\n optimizeCss: nextConfig.experimental.optimizeCss,\n nextConfigOutput: nextConfig.output,\n nextScriptWorkers: nextConfig.experimental.nextScriptWorkers,\n largePageDataBytes: nextConfig.experimental.largePageDataBytes,\n serverActions: nextConfig.experimental.serverActions,\n serverComponents: enabledDirectories.app,\n cacheLifeProfiles: nextConfig.experimental.cacheLife,\n nextFontManifest: require(\n join(distDir, 'server', `${NEXT_FONT_MANIFEST}.json`)\n ),\n images: nextConfig.images,\n ...(enabledDirectories.app\n ? {\n serverActionsManifest,\n }\n : {}),\n strictNextHead: nextConfig.experimental.strictNextHead ?? true,\n deploymentId: nextConfig.deploymentId,\n experimental: {\n clientTraceMetadata: nextConfig.experimental.clientTraceMetadata,\n expireTime: nextConfig.expireTime,\n dynamicIO: nextConfig.experimental.dynamicIO ?? false,\n clientSegmentCache: nextConfig.experimental.clientSegmentCache ?? false,\n inlineCss: nextConfig.experimental.inlineCss ?? false,\n authInterrupts: !!nextConfig.experimental.authInterrupts,\n streamingMetadata: !!nextConfig.experimental.streamingMetadata,\n htmlLimitedBots: nextConfig.experimental.htmlLimitedBots,\n },\n reactMaxHeadersLength: nextConfig.reactMaxHeadersLength,\n }\n\n const { publicRuntimeConfig } = nextConfig\n\n if (Object.keys(publicRuntimeConfig).length > 0) {\n renderOpts.runtimeConfig = publicRuntimeConfig\n }\n\n // We need this for server rendering the Link component.\n ;(globalThis as any).__NEXT_DATA__ = {\n nextExport: true,\n }\n\n const exportPathMap = await span\n .traceChild('run-export-path-map')\n .traceAsyncFn(async () => {\n const exportMap = await nextConfig.exportPathMap(defaultPathMap, {\n dev: false,\n dir,\n outDir,\n distDir,\n buildId,\n })\n return exportMap\n })\n\n // only add missing 404 page when `buildExport` is false\n if (!options.buildExport) {\n // only add missing /404 if not specified in `exportPathMap`\n if (!exportPathMap['/404']) {\n exportPathMap['/404'] = { page: '/_error' }\n }\n\n /**\n * exports 404.html for backwards compat\n * E.g. GitHub Pages, GitLab Pages, Cloudflare Pages, Netlify\n */\n if (!exportPathMap['/404.html']) {\n // alias /404.html to /404 to be compatible with custom 404 / _error page\n exportPathMap['/404.html'] = exportPathMap['/404']\n }\n }\n\n // make sure to prevent duplicates\n const exportPaths = [\n ...new Set(\n Object.keys(exportPathMap).map((path) =>\n denormalizePagePath(normalizePagePath(path))\n )\n ),\n ]\n\n const filteredPaths = exportPaths.filter(\n (route) =>\n exportPathMap[route]._isAppDir ||\n // Remove API routes\n !isAPIRoute(exportPathMap[route].page)\n )\n\n if (filteredPaths.length !== exportPaths.length) {\n hasApiRoutes = true\n }\n\n if (filteredPaths.length === 0) {\n return null\n }\n\n if (prerenderManifest && !options.buildExport) {\n const fallbackEnabledPages = new Set()\n\n for (const path of Object.keys(exportPathMap)) {\n const page = exportPathMap[path].page\n const prerenderInfo = prerenderManifest.dynamicRoutes[page]\n\n if (prerenderInfo && prerenderInfo.fallback !== false) {\n fallbackEnabledPages.add(page)\n }\n }\n\n if (fallbackEnabledPages.size > 0) {\n throw new ExportError(\n `Found pages with \\`fallback\\` enabled:\\n${[\n ...fallbackEnabledPages,\n ].join('\\n')}\\n${SSG_FALLBACK_EXPORT_ERROR}\\n`\n )\n }\n }\n let hasMiddleware = false\n\n if (!options.buildExport) {\n try {\n const middlewareManifest = require(\n join(distDir, SERVER_DIRECTORY, MIDDLEWARE_MANIFEST)\n ) as MiddlewareManifest\n\n hasMiddleware = Object.keys(middlewareManifest.middleware).length > 0\n } catch {}\n\n // Warn if the user defines a path for an API page\n if (hasApiRoutes || hasMiddleware) {\n if (nextConfig.output === 'export') {\n Log.warn(\n yellow(\n `Statically exporting a Next.js application via \\`next export\\` disables API routes and middleware.`\n ) +\n `\\n` +\n yellow(\n `This command is meant for static-only hosts, and is` +\n ' ' +\n bold(`not necessary to make your application static.`)\n ) +\n `\\n` +\n yellow(\n `Pages in your application without server-side data dependencies will be automatically statically exported by \\`next build\\`, including pages powered by \\`getStaticProps\\`.`\n ) +\n `\\n` +\n yellow(\n `Learn more: https://nextjs.org/docs/messages/api-routes-static-export`\n )\n )\n }\n }\n }\n\n const pagesDataDir = options.buildExport\n ? outDir\n : join(outDir, '_next/data', buildId)\n\n const ampValidations: AmpPageStatus = {}\n\n const publicDir = join(dir, CLIENT_PUBLIC_FILES_PATH)\n // Copy public directory\n if (!options.buildExport && existsSync(publicDir)) {\n if (!options.silent) {\n Log.info('Copying \"public\" directory')\n }\n await span.traceChild('copy-public-directory').traceAsyncFn(() =>\n recursiveCopy(publicDir, outDir, {\n filter(path) {\n // Exclude paths used by pages\n return !exportPathMap[path]\n },\n })\n )\n }\n\n const failedExportAttemptsByPage: Map<string, boolean> = new Map()\n\n // Chunk filtered pages into smaller groups, and call the export worker on each group.\n // We've set a default minimum of 25 pages per chunk to ensure that even setups\n // with only a few static pages can leverage a shared incremental cache, however this\n // value can be configured.\n const minChunkSize =\n nextConfig.experimental.staticGenerationMinPagesPerWorker ?? 25\n // Calculate the number of workers needed to ensure each chunk has at least minChunkSize pages\n const numWorkers = Math.min(\n options.numWorkers,\n Math.ceil(filteredPaths.length / minChunkSize)\n )\n // Calculate the chunk size based on the number of workers\n const chunkSize = Math.ceil(filteredPaths.length / numWorkers)\n const chunks = Array.from({ length: numWorkers }, (_, i) =>\n filteredPaths.slice(i * chunkSize, (i + 1) * chunkSize)\n )\n // Distribute remaining pages\n const remainingPages = filteredPaths.slice(numWorkers * chunkSize)\n remainingPages.forEach((page, index) => {\n chunks[index % chunks.length].push(page)\n })\n\n const progress = createProgress(\n filteredPaths.length,\n options.statusMessage || 'Exporting'\n )\n\n const worker = createStaticWorker(nextConfig, progress)\n\n const results = (\n await Promise.all(\n chunks.map((paths) =>\n worker.exportPages({\n buildId,\n paths,\n exportPathMap,\n parentSpanId: span.getId(),\n pagesDataDir,\n renderOpts,\n options,\n dir,\n distDir,\n outDir,\n nextConfig,\n cacheHandler: nextConfig.cacheHandler,\n cacheMaxMemorySize: nextConfig.cacheMaxMemorySize,\n fetchCache: true,\n fetchCacheKeyPrefix: nextConfig.experimental.fetchCacheKeyPrefix,\n })\n )\n )\n ).flat()\n\n let hadValidationError = false\n\n const collector: ExportAppResult = {\n byPath: new Map(),\n byPage: new Map(),\n ssgNotFoundPaths: new Set(),\n turborepoAccessTraceResults: new Map(),\n }\n\n for (const { result, path, pageKey } of results) {\n if (!result) continue\n if ('error' in result) {\n failedExportAttemptsByPage.set(pageKey, true)\n continue\n }\n\n const { page } = exportPathMap[path]\n\n if (result.turborepoAccessTraceResult) {\n collector.turborepoAccessTraceResults?.set(\n path,\n TurborepoAccessTraceResult.fromSerialized(\n result.turborepoAccessTraceResult\n )\n )\n }\n\n // Capture any amp validations.\n if (result.ampValidations) {\n for (const validation of result.ampValidations) {\n ampValidations[validation.page] = validation.result\n hadValidationError ||= validation.result.errors.length > 0\n }\n }\n\n if (options.buildExport) {\n // Update path info by path.\n const info = collector.byPath.get(path) ?? {}\n if (typeof result.revalidate !== 'undefined') {\n info.revalidate = result.revalidate\n }\n if (typeof result.metadata !== 'undefined') {\n info.metadata = result.metadata\n }\n\n if (typeof result.hasEmptyPrelude !== 'undefined') {\n info.hasEmptyPrelude = result.hasEmptyPrelude\n }\n\n if (typeof result.hasPostponed !== 'undefined') {\n info.hasPostponed = result.hasPostponed\n }\n\n if (typeof result.fetchMetrics !== 'undefined') {\n info.fetchMetrics = result.fetchMetrics\n }\n\n collector.byPath.set(path, info)\n\n // Update not found.\n if (result.ssgNotFound === true) {\n collector.ssgNotFoundPaths.add(path)\n }\n\n // Update durations.\n const durations = collector.byPage.get(page) ?? {\n durationsByPath: new Map<string, number>(),\n }\n durations.durationsByPath.set(path, result.duration)\n collector.byPage.set(page, durations)\n }\n }\n\n // Export mode provide static outputs that are not compatible with PPR mode.\n if (!options.buildExport && nextConfig.experimental.ppr) {\n // TODO: add message\n throw new Error('Invariant: PPR cannot be enabled in export mode')\n }\n\n // copy prerendered routes to outDir\n if (!options.buildExport && prerenderManifest) {\n await Promise.all(\n Object.keys(prerenderManifest.routes).map(async (route) => {\n const { srcRoute } = prerenderManifest!.routes[route]\n const appPageName = mapAppRouteToPage.get(srcRoute || '')\n const pageName = appPageName || srcRoute || route\n const isAppPath = Boolean(appPageName)\n const isAppRouteHandler = appPageName && isAppRouteRoute(appPageName)\n\n // returning notFound: true from getStaticProps will not\n // output html/json files during the build\n if (prerenderManifest!.notFoundRoutes.includes(route)) {\n return\n }\n route = normalizePagePath(route)\n\n const pagePath = getPagePath(pageName, distDir, undefined, isAppPath)\n const distPagesDir = join(\n pagePath,\n // strip leading / and then recurse number of nested dirs\n // to place from base folder\n pageName\n .slice(1)\n .split('/')\n .map(() => '..')\n .join('/')\n )\n\n const orig = join(distPagesDir, route)\n const handlerSrc = `${orig}.body`\n const handlerDest = join(outDir, route)\n\n if (isAppRouteHandler && existsSync(handlerSrc)) {\n await fs.mkdir(dirname(handlerDest), { recursive: true })\n await fs.copyFile(handlerSrc, handlerDest)\n return\n }\n\n const htmlDest = join(\n outDir,\n `${route}${\n subFolders && route !== '/index' ? `${sep}index` : ''\n }.html`\n )\n const ampHtmlDest = join(\n outDir,\n `${route}.amp${subFolders ? `${sep}index` : ''}.html`\n )\n const jsonDest = isAppPath\n ? join(\n outDir,\n `${route}${\n subFolders && route !== '/index' ? `${sep}index` : ''\n }.txt`\n )\n : join(pagesDataDir, `${route}.json`)\n\n await fs.mkdir(dirname(htmlDest), { recursive: true })\n await fs.mkdir(dirname(jsonDest), { recursive: true })\n\n const htmlSrc = `${orig}.html`\n const jsonSrc = `${orig}${isAppPath ? RSC_SUFFIX : '.json'}`\n\n await fs.copyFile(htmlSrc, htmlDest)\n await fs.copyFile(jsonSrc, jsonDest)\n\n if (existsSync(`${orig}.amp.html`)) {\n await fs.mkdir(dirname(ampHtmlDest), { recursive: true })\n await fs.copyFile(`${orig}.amp.html`, ampHtmlDest)\n }\n })\n )\n }\n\n if (Object.keys(ampValidations).length) {\n console.log(formatAmpMessages(ampValidations))\n }\n if (hadValidationError) {\n throw new ExportError(\n `AMP Validation caused the export to fail. https://nextjs.org/docs/messages/amp-export-validation`\n )\n }\n\n if (failedExportAttemptsByPage.size > 0) {\n const failedPages = Array.from(failedExportAttemptsByPage.keys())\n throw new ExportError(\n `Export encountered errors on following paths:\\n\\t${failedPages\n .sort()\n .join('\\n\\t')}`\n )\n }\n\n await fs.writeFile(\n join(distDir, EXPORT_DETAIL),\n formatManifest({\n version: 1,\n outDirectory: outDir,\n success: true,\n }),\n 'utf8'\n )\n\n if (telemetry) {\n await telemetry.flush()\n }\n\n await worker.end()\n\n return collector\n}\n\nexport default async function exportApp(\n dir: string,\n options: ExportAppOptions,\n span: Span\n): Promise<ExportAppResult | null> {\n const nextExportSpan = span.traceChild('next-export')\n\n return nextExportSpan.traceAsyncFn(async () => {\n return await exportAppImpl(dir, options, nextExportSpan)\n })\n}\n"],"names":["createStaticWorker","bold","yellow","findUp","existsSync","promises","fs","dirname","join","resolve","sep","formatAmpMessages","Log","RSC_SUFFIX","SSG_FALLBACK_EXPORT_ERROR","recursiveCopy","BUILD_ID_FILE","CLIENT_PUBLIC_FILES_PATH","CLIENT_STATIC_FILES_PATH","EXPORT_DETAIL","EXPORT_MARKER","NEXT_FONT_MANIFEST","MIDDLEWARE_MANIFEST","PAGES_MANIFEST","PHASE_EXPORT","PRERENDER_MANIFEST","SERVER_DIRECTORY","SERVER_REFERENCE_MANIFEST","APP_PATH_ROUTES_MANIFEST","loadConfig","eventCliSession","hasNextSupport","Telemetry","normalizePagePath","denormalizePagePath","loadEnvConfig","isAPIRoute","getPagePath","isAppRouteRoute","isAppPageRoute","isError","formatManifest","TurborepoAccessTraceResult","createProgress","ExportError","Error","code","exportAppImpl","dir","options","span","nextConfig","traceChild","traceFn","enabledDirectories","traceAsyncFn","distDir","telemetry","buildExport","record","webpackVersion","cliCommand","isSrcDir","hasNowJson","cwd","isCustomServer","turboFlag","pagesDir","appDir","subFolders","trailingSlash","silent","info","buildIdFile","customRoutes","filter","config","length","warn","buildId","readFile","pagesManifest","pages","require","prerenderManifest","appRoutePathManifest","err","undefined","excludedPrerenderRoutes","Set","Object","keys","defaultPathMap","hasApiRoutes","page","dynamicRoutes","add","mapAppRouteToPage","Map","pageName","routePath","entries","set","routes","_isAppDir","outDir","outdir","rm","recursive","force","mkdir","writeFile","version","outDirectory","success","exportPathMap","defaultMap","i18n","images","loader","unoptimized","isNextImageImported","then","text","JSON","parse","catch","serverActionsManifest","app","output","node","edge","renderOpts","previewProps","preview","nextExport","assetPrefix","replace","dev","basePath","canonicalBase","amp","ampSkipValidation","experimental","skipValidation","ampOptimizerConfig","optimizer","locales","locale","defaultLocale","domainLocales","domains","disableOptimizedLoading","supportsDynamicResponse","crossOrigin","optimizeCss","nextConfigOutput","nextScriptWorkers","largePageDataBytes","serverActions","serverComponents","cacheLifeProfiles","cacheLife","nextFontManifest","strictNextHead","deploymentId","clientTraceMetadata","expireTime","dynamicIO","clientSegmentCache","inlineCss","authInterrupts","streamingMetadata","htmlLimitedBots","reactMaxHeadersLength","publicRuntimeConfig","runtimeConfig","globalThis","__NEXT_DATA__","exportMap","exportPaths","map","path","filteredPaths","route","fallbackEnabledPages","prerenderInfo","fallback","size","hasMiddleware","middlewareManifest","middleware","pagesDataDir","ampValidations","publicDir","failedExportAttemptsByPage","minChunkSize","staticGenerationMinPagesPerWorker","numWorkers","Math","min","ceil","chunkSize","chunks","Array","from","_","i","slice","remainingPages","forEach","index","push","progress","statusMessage","worker","results","Promise","all","paths","exportPages","parentSpanId","getId","cacheHandler","cacheMaxMemorySize","fetchCache","fetchCacheKeyPrefix","flat","hadValidationError","collector","byPath","byPage","ssgNotFoundPaths","turborepoAccessTraceResults","result","pageKey","turborepoAccessTraceResult","fromSerialized","validation","errors","get","revalidate","metadata","hasEmptyPrelude","hasPostponed","fetchMetrics","ssgNotFound","durations","durationsByPath","duration","ppr","srcRoute","appPageName","isAppPath","Boolean","isAppRouteHandler","notFoundRoutes","includes","pagePath","distPagesDir","split","orig","handlerSrc","handlerDest","copyFile","htmlDest","ampHtmlDest","jsonDest","htmlSrc","jsonSrc","console","log","failedPages","sort","flush","end","exportApp","nextExportSpan"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/export/index.ts"],"sourcesContent":["import type {\n ExportAppResult,\n ExportAppOptions,\n WorkerRenderOptsPartial,\n} from './types'\nimport { createStaticWorker, type PrerenderManifest } from '../build'\nimport type { PagesManifest } from '../build/webpack/plugins/pages-manifest-plugin'\n\nimport { bold, yellow } from '../lib/picocolors'\nimport findUp from 'next/dist/compiled/find-up'\nimport { existsSync, promises as fs } from 'fs'\n\nimport '../server/require-hook'\n\nimport { dirname, join, resolve, sep } from 'path'\nimport { formatAmpMessages } from '../build/output/index'\nimport type { AmpPageStatus } from '../build/output/index'\nimport * as Log from '../build/output/log'\nimport { RSC_SUFFIX, SSG_FALLBACK_EXPORT_ERROR } from '../lib/constants'\nimport { recursiveCopy } from '../lib/recursive-copy'\nimport {\n BUILD_ID_FILE,\n CLIENT_PUBLIC_FILES_PATH,\n CLIENT_STATIC_FILES_PATH,\n EXPORT_DETAIL,\n EXPORT_MARKER,\n NEXT_FONT_MANIFEST,\n MIDDLEWARE_MANIFEST,\n PAGES_MANIFEST,\n PHASE_EXPORT,\n PRERENDER_MANIFEST,\n SERVER_DIRECTORY,\n SERVER_REFERENCE_MANIFEST,\n APP_PATH_ROUTES_MANIFEST,\n ROUTES_MANIFEST,\n} from '../shared/lib/constants'\nimport loadConfig from '../server/config'\nimport type { ExportPathMap } from '../server/config-shared'\nimport { eventCliSession } from '../telemetry/events'\nimport { hasNextSupport } from '../server/ci-info'\nimport { Telemetry } from '../telemetry/storage'\nimport { normalizePagePath } from '../shared/lib/page-path/normalize-page-path'\nimport { denormalizePagePath } from '../shared/lib/page-path/denormalize-page-path'\nimport { loadEnvConfig } from '@next/env'\nimport { isAPIRoute } from '../lib/is-api-route'\nimport { getPagePath } from '../server/require'\nimport type { Span } from '../trace'\nimport type { MiddlewareManifest } from '../build/webpack/plugins/middleware-plugin'\nimport { isAppRouteRoute } from '../lib/is-app-route-route'\nimport { isAppPageRoute } from '../lib/is-app-page-route'\nimport isError from '../lib/is-error'\nimport { formatManifest } from '../build/manifests/formatter/format-manifest'\nimport { TurborepoAccessTraceResult } from '../build/turborepo-access-trace'\nimport { createProgress } from '../build/progress'\nimport type { DeepReadonly } from '../shared/lib/deep-readonly'\nimport { isInterceptionRouteRewrite } from '../lib/generate-interception-routes-rewrites'\n\nexport class ExportError extends Error {\n code = 'NEXT_EXPORT_ERROR'\n}\n\nasync function exportAppImpl(\n dir: string,\n options: Readonly<ExportAppOptions>,\n span: Span\n): Promise<ExportAppResult | null> {\n dir = resolve(dir)\n\n // attempt to load global env values so they are available in next.config.js\n span.traceChild('load-dotenv').traceFn(() => loadEnvConfig(dir, false, Log))\n\n const { enabledDirectories } = options\n\n const nextConfig =\n options.nextConfig ||\n (await span\n .traceChild('load-next-config')\n .traceAsyncFn(() => loadConfig(PHASE_EXPORT, dir)))\n\n const distDir = join(dir, nextConfig.distDir)\n const telemetry = options.buildExport ? null : new Telemetry({ distDir })\n\n if (telemetry) {\n telemetry.record(\n eventCliSession(distDir, nextConfig, {\n webpackVersion: null,\n cliCommand: 'export',\n isSrcDir: null,\n hasNowJson: !!(await findUp('now.json', { cwd: dir })),\n isCustomServer: null,\n turboFlag: false,\n pagesDir: null,\n appDir: null,\n })\n )\n }\n\n const subFolders = nextConfig.trailingSlash && !options.buildExport\n\n if (!options.silent && !options.buildExport) {\n Log.info(`using build directory: ${distDir}`)\n }\n\n const buildIdFile = join(distDir, BUILD_ID_FILE)\n\n if (!existsSync(buildIdFile)) {\n throw new ExportError(\n `Could not find a production build in the '${distDir}' directory. Try building your app with 'next build' before starting the static export. https://nextjs.org/docs/messages/next-export-no-build-id`\n )\n }\n\n const customRoutes = ['rewrites', 'redirects', 'headers'].filter(\n (config) => typeof nextConfig[config] === 'function'\n )\n\n if (!hasNextSupport && !options.buildExport && customRoutes.length > 0) {\n Log.warn(\n `rewrites, redirects, and headers are not applied when exporting your application, detected (${customRoutes.join(\n ', '\n )}). See more info here: https://nextjs.org/docs/messages/export-no-custom-routes`\n )\n }\n\n const buildId = await fs.readFile(buildIdFile, 'utf8')\n\n const pagesManifest =\n !options.pages &&\n (require(join(distDir, SERVER_DIRECTORY, PAGES_MANIFEST)) as PagesManifest)\n\n let prerenderManifest: DeepReadonly<PrerenderManifest> | undefined\n try {\n prerenderManifest = require(join(distDir, PRERENDER_MANIFEST))\n } catch {}\n\n let appRoutePathManifest: Record<string, string> | undefined\n try {\n appRoutePathManifest = require(join(distDir, APP_PATH_ROUTES_MANIFEST))\n } catch (err) {\n if (\n isError(err) &&\n (err.code === 'ENOENT' || err.code === 'MODULE_NOT_FOUND')\n ) {\n // the manifest doesn't exist which will happen when using\n // \"pages\" dir instead of \"app\" dir.\n appRoutePathManifest = undefined\n } else {\n // the manifest is malformed (invalid json)\n throw err\n }\n }\n\n const excludedPrerenderRoutes = new Set<string>()\n const pages = options.pages || Object.keys(pagesManifest)\n const defaultPathMap: ExportPathMap = {}\n\n let hasApiRoutes = false\n for (const page of pages) {\n // _document and _app are not real pages\n // _error is exported as 404.html later on\n // API Routes are Node.js functions\n\n if (isAPIRoute(page)) {\n hasApiRoutes = true\n continue\n }\n\n if (page === '/_document' || page === '/_app' || page === '/_error') {\n continue\n }\n\n // iSSG pages that are dynamic should not export templated version by\n // default. In most cases, this would never work. There is no server that\n // could run `getStaticProps`. If users make their page work lazily, they\n // can manually add it to the `exportPathMap`.\n if (prerenderManifest?.dynamicRoutes[page]) {\n excludedPrerenderRoutes.add(page)\n continue\n }\n\n defaultPathMap[page] = { page }\n }\n\n const mapAppRouteToPage = new Map<string, string>()\n if (!options.buildExport && appRoutePathManifest) {\n for (const [pageName, routePath] of Object.entries(appRoutePathManifest)) {\n mapAppRouteToPage.set(routePath, pageName)\n if (\n isAppPageRoute(pageName) &&\n !prerenderManifest?.routes[routePath] &&\n !prerenderManifest?.dynamicRoutes[routePath]\n ) {\n defaultPathMap[routePath] = {\n page: pageName,\n _isAppDir: true,\n }\n }\n }\n }\n\n // Initialize the output directory\n const outDir = options.outdir\n\n if (outDir === join(dir, 'public')) {\n throw new ExportError(\n `The 'public' directory is reserved in Next.js and can not be used as the export out directory. https://nextjs.org/docs/messages/can-not-output-to-public`\n )\n }\n\n if (outDir === join(dir, 'static')) {\n throw new ExportError(\n `The 'static' directory is reserved in Next.js and can not be used as the export out directory. https://nextjs.org/docs/messages/can-not-output-to-static`\n )\n }\n\n await fs.rm(outDir, { recursive: true, force: true })\n await fs.mkdir(join(outDir, '_next', buildId), { recursive: true })\n\n await fs.writeFile(\n join(distDir, EXPORT_DETAIL),\n formatManifest({\n version: 1,\n outDirectory: outDir,\n success: false,\n }),\n 'utf8'\n )\n\n // Copy static directory\n if (!options.buildExport && existsSync(join(dir, 'static'))) {\n if (!options.silent) {\n Log.info('Copying \"static\" directory')\n }\n await span\n .traceChild('copy-static-directory')\n .traceAsyncFn(() =>\n recursiveCopy(join(dir, 'static'), join(outDir, 'static'))\n )\n }\n\n // Copy .next/static directory\n if (\n !options.buildExport &&\n existsSync(join(distDir, CLIENT_STATIC_FILES_PATH))\n ) {\n if (!options.silent) {\n Log.info('Copying \"static build\" directory')\n }\n await span\n .traceChild('copy-next-static-directory')\n .traceAsyncFn(() =>\n recursiveCopy(\n join(distDir, CLIENT_STATIC_FILES_PATH),\n join(outDir, '_next', CLIENT_STATIC_FILES_PATH)\n )\n )\n }\n\n // Get the exportPathMap from the config file\n if (typeof nextConfig.exportPathMap !== 'function') {\n nextConfig.exportPathMap = async (defaultMap) => {\n return defaultMap\n }\n }\n\n const {\n i18n,\n images: { loader = 'default', unoptimized },\n } = nextConfig\n\n if (i18n && !options.buildExport) {\n throw new ExportError(\n `i18n support is not compatible with next export. See here for more info on deploying: https://nextjs.org/docs/messages/export-no-custom-routes`\n )\n }\n\n if (!options.buildExport) {\n const { isNextImageImported } = await span\n .traceChild('is-next-image-imported')\n .traceAsyncFn(() =>\n fs\n .readFile(join(distDir, EXPORT_MARKER), 'utf8')\n .then((text) => JSON.parse(text))\n .catch(() => ({}))\n )\n\n if (\n isNextImageImported &&\n loader === 'default' &&\n !unoptimized &&\n !hasNextSupport\n ) {\n throw new ExportError(\n `Image Optimization using the default loader is not compatible with export.\n Possible solutions:\n - Use \\`next start\\` to run a server, which includes the Image Optimization API.\n - Configure \\`images.unoptimized = true\\` in \\`next.config.js\\` to disable the Image Optimization API.\n Read more: https://nextjs.org/docs/messages/export-image-api`\n )\n }\n }\n\n let serverActionsManifest\n if (enabledDirectories.app) {\n serverActionsManifest = require(\n join(distDir, SERVER_DIRECTORY, SERVER_REFERENCE_MANIFEST + '.json')\n )\n\n if (nextConfig.output === 'export') {\n const routesManifest = require(join(distDir, ROUTES_MANIFEST))\n\n // We already prevent rewrites earlier in the process, however Next.js will insert rewrites\n // for interception routes so we need to check for that here.\n if (routesManifest?.rewrites?.beforeFiles?.length > 0) {\n const hasInterceptionRouteRewrite =\n routesManifest.rewrites.beforeFiles.some(isInterceptionRouteRewrite)\n\n if (hasInterceptionRouteRewrite) {\n throw new ExportError(\n `Intercepting routes are not supported with static export.\\nRead more: https://nextjs.org/docs/app/building-your-application/deploying/static-exports#unsupported-features`\n )\n }\n }\n\n if (\n Object.keys(serverActionsManifest.node).length > 0 ||\n Object.keys(serverActionsManifest.edge).length > 0\n ) {\n throw new ExportError(\n `Server Actions are not supported with static export.\\nRead more: https://nextjs.org/docs/app/building-your-application/deploying/static-exports#unsupported-features`\n )\n }\n }\n }\n\n // Start the rendering process\n const renderOpts: WorkerRenderOptsPartial = {\n previewProps: prerenderManifest?.preview,\n nextExport: true,\n assetPrefix: nextConfig.assetPrefix.replace(/\\/$/, ''),\n distDir,\n dev: false,\n basePath: nextConfig.basePath,\n trailingSlash: nextConfig.trailingSlash,\n canonicalBase: nextConfig.amp?.canonicalBase || '',\n ampSkipValidation: nextConfig.experimental.amp?.skipValidation || false,\n ampOptimizerConfig: nextConfig.experimental.amp?.optimizer || undefined,\n locales: i18n?.locales,\n locale: i18n?.defaultLocale,\n defaultLocale: i18n?.defaultLocale,\n domainLocales: i18n?.domains,\n disableOptimizedLoading: nextConfig.experimental.disableOptimizedLoading,\n // Exported pages do not currently support dynamic HTML.\n supportsDynamicResponse: false,\n crossOrigin: nextConfig.crossOrigin,\n optimizeCss: nextConfig.experimental.optimizeCss,\n nextConfigOutput: nextConfig.output,\n nextScriptWorkers: nextConfig.experimental.nextScriptWorkers,\n largePageDataBytes: nextConfig.experimental.largePageDataBytes,\n serverActions: nextConfig.experimental.serverActions,\n serverComponents: enabledDirectories.app,\n cacheLifeProfiles: nextConfig.experimental.cacheLife,\n nextFontManifest: require(\n join(distDir, 'server', `${NEXT_FONT_MANIFEST}.json`)\n ),\n images: nextConfig.images,\n ...(enabledDirectories.app\n ? {\n serverActionsManifest,\n }\n : {}),\n strictNextHead: nextConfig.experimental.strictNextHead ?? true,\n deploymentId: nextConfig.deploymentId,\n experimental: {\n clientTraceMetadata: nextConfig.experimental.clientTraceMetadata,\n expireTime: nextConfig.expireTime,\n dynamicIO: nextConfig.experimental.dynamicIO ?? false,\n clientSegmentCache: nextConfig.experimental.clientSegmentCache ?? false,\n inlineCss: nextConfig.experimental.inlineCss ?? false,\n authInterrupts: !!nextConfig.experimental.authInterrupts,\n streamingMetadata: !!nextConfig.experimental.streamingMetadata,\n htmlLimitedBots: nextConfig.experimental.htmlLimitedBots,\n },\n reactMaxHeadersLength: nextConfig.reactMaxHeadersLength,\n }\n\n const { publicRuntimeConfig } = nextConfig\n\n if (Object.keys(publicRuntimeConfig).length > 0) {\n renderOpts.runtimeConfig = publicRuntimeConfig\n }\n\n // We need this for server rendering the Link component.\n ;(globalThis as any).__NEXT_DATA__ = {\n nextExport: true,\n }\n\n const exportPathMap = await span\n .traceChild('run-export-path-map')\n .traceAsyncFn(async () => {\n const exportMap = await nextConfig.exportPathMap(defaultPathMap, {\n dev: false,\n dir,\n outDir,\n distDir,\n buildId,\n })\n return exportMap\n })\n\n // only add missing 404 page when `buildExport` is false\n if (!options.buildExport) {\n // only add missing /404 if not specified in `exportPathMap`\n if (!exportPathMap['/404']) {\n exportPathMap['/404'] = { page: '/_error' }\n }\n\n /**\n * exports 404.html for backwards compat\n * E.g. GitHub Pages, GitLab Pages, Cloudflare Pages, Netlify\n */\n if (!exportPathMap['/404.html']) {\n // alias /404.html to /404 to be compatible with custom 404 / _error page\n exportPathMap['/404.html'] = exportPathMap['/404']\n }\n }\n\n // make sure to prevent duplicates\n const exportPaths = [\n ...new Set(\n Object.keys(exportPathMap).map((path) =>\n denormalizePagePath(normalizePagePath(path))\n )\n ),\n ]\n\n const filteredPaths = exportPaths.filter(\n (route) =>\n exportPathMap[route]._isAppDir ||\n // Remove API routes\n !isAPIRoute(exportPathMap[route].page)\n )\n\n if (filteredPaths.length !== exportPaths.length) {\n hasApiRoutes = true\n }\n\n if (filteredPaths.length === 0) {\n return null\n }\n\n if (prerenderManifest && !options.buildExport) {\n const fallbackEnabledPages = new Set()\n\n for (const path of Object.keys(exportPathMap)) {\n const page = exportPathMap[path].page\n const prerenderInfo = prerenderManifest.dynamicRoutes[page]\n\n if (prerenderInfo && prerenderInfo.fallback !== false) {\n fallbackEnabledPages.add(page)\n }\n }\n\n if (fallbackEnabledPages.size > 0) {\n throw new ExportError(\n `Found pages with \\`fallback\\` enabled:\\n${[\n ...fallbackEnabledPages,\n ].join('\\n')}\\n${SSG_FALLBACK_EXPORT_ERROR}\\n`\n )\n }\n }\n let hasMiddleware = false\n\n if (!options.buildExport) {\n try {\n const middlewareManifest = require(\n join(distDir, SERVER_DIRECTORY, MIDDLEWARE_MANIFEST)\n ) as MiddlewareManifest\n\n hasMiddleware = Object.keys(middlewareManifest.middleware).length > 0\n } catch {}\n\n // Warn if the user defines a path for an API page\n if (hasApiRoutes || hasMiddleware) {\n if (nextConfig.output === 'export') {\n Log.warn(\n yellow(\n `Statically exporting a Next.js application via \\`next export\\` disables API routes and middleware.`\n ) +\n `\\n` +\n yellow(\n `This command is meant for static-only hosts, and is` +\n ' ' +\n bold(`not necessary to make your application static.`)\n ) +\n `\\n` +\n yellow(\n `Pages in your application without server-side data dependencies will be automatically statically exported by \\`next build\\`, including pages powered by \\`getStaticProps\\`.`\n ) +\n `\\n` +\n yellow(\n `Learn more: https://nextjs.org/docs/messages/api-routes-static-export`\n )\n )\n }\n }\n }\n\n const pagesDataDir = options.buildExport\n ? outDir\n : join(outDir, '_next/data', buildId)\n\n const ampValidations: AmpPageStatus = {}\n\n const publicDir = join(dir, CLIENT_PUBLIC_FILES_PATH)\n // Copy public directory\n if (!options.buildExport && existsSync(publicDir)) {\n if (!options.silent) {\n Log.info('Copying \"public\" directory')\n }\n await span.traceChild('copy-public-directory').traceAsyncFn(() =>\n recursiveCopy(publicDir, outDir, {\n filter(path) {\n // Exclude paths used by pages\n return !exportPathMap[path]\n },\n })\n )\n }\n\n const failedExportAttemptsByPage: Map<string, boolean> = new Map()\n\n // Chunk filtered pages into smaller groups, and call the export worker on each group.\n // We've set a default minimum of 25 pages per chunk to ensure that even setups\n // with only a few static pages can leverage a shared incremental cache, however this\n // value can be configured.\n const minChunkSize =\n nextConfig.experimental.staticGenerationMinPagesPerWorker ?? 25\n // Calculate the number of workers needed to ensure each chunk has at least minChunkSize pages\n const numWorkers = Math.min(\n options.numWorkers,\n Math.ceil(filteredPaths.length / minChunkSize)\n )\n // Calculate the chunk size based on the number of workers\n const chunkSize = Math.ceil(filteredPaths.length / numWorkers)\n const chunks = Array.from({ length: numWorkers }, (_, i) =>\n filteredPaths.slice(i * chunkSize, (i + 1) * chunkSize)\n )\n // Distribute remaining pages\n const remainingPages = filteredPaths.slice(numWorkers * chunkSize)\n remainingPages.forEach((page, index) => {\n chunks[index % chunks.length].push(page)\n })\n\n const progress = createProgress(\n filteredPaths.length,\n options.statusMessage || 'Exporting'\n )\n\n const worker = createStaticWorker(nextConfig, progress)\n\n const results = (\n await Promise.all(\n chunks.map((paths) =>\n worker.exportPages({\n buildId,\n paths,\n exportPathMap,\n parentSpanId: span.getId(),\n pagesDataDir,\n renderOpts,\n options,\n dir,\n distDir,\n outDir,\n nextConfig,\n cacheHandler: nextConfig.cacheHandler,\n cacheMaxMemorySize: nextConfig.cacheMaxMemorySize,\n fetchCache: true,\n fetchCacheKeyPrefix: nextConfig.experimental.fetchCacheKeyPrefix,\n })\n )\n )\n ).flat()\n\n let hadValidationError = false\n\n const collector: ExportAppResult = {\n byPath: new Map(),\n byPage: new Map(),\n ssgNotFoundPaths: new Set(),\n turborepoAccessTraceResults: new Map(),\n }\n\n for (const { result, path, pageKey } of results) {\n if (!result) continue\n if ('error' in result) {\n failedExportAttemptsByPage.set(pageKey, true)\n continue\n }\n\n const { page } = exportPathMap[path]\n\n if (result.turborepoAccessTraceResult) {\n collector.turborepoAccessTraceResults?.set(\n path,\n TurborepoAccessTraceResult.fromSerialized(\n result.turborepoAccessTraceResult\n )\n )\n }\n\n // Capture any amp validations.\n if (result.ampValidations) {\n for (const validation of result.ampValidations) {\n ampValidations[validation.page] = validation.result\n hadValidationError ||= validation.result.errors.length > 0\n }\n }\n\n if (options.buildExport) {\n // Update path info by path.\n const info = collector.byPath.get(path) ?? {}\n if (typeof result.revalidate !== 'undefined') {\n info.revalidate = result.revalidate\n }\n if (typeof result.metadata !== 'undefined') {\n info.metadata = result.metadata\n }\n\n if (typeof result.hasEmptyPrelude !== 'undefined') {\n info.hasEmptyPrelude = result.hasEmptyPrelude\n }\n\n if (typeof result.hasPostponed !== 'undefined') {\n info.hasPostponed = result.hasPostponed\n }\n\n if (typeof result.fetchMetrics !== 'undefined') {\n info.fetchMetrics = result.fetchMetrics\n }\n\n collector.byPath.set(path, info)\n\n // Update not found.\n if (result.ssgNotFound === true) {\n collector.ssgNotFoundPaths.add(path)\n }\n\n // Update durations.\n const durations = collector.byPage.get(page) ?? {\n durationsByPath: new Map<string, number>(),\n }\n durations.durationsByPath.set(path, result.duration)\n collector.byPage.set(page, durations)\n }\n }\n\n // Export mode provide static outputs that are not compatible with PPR mode.\n if (!options.buildExport && nextConfig.experimental.ppr) {\n // TODO: add message\n throw new Error('Invariant: PPR cannot be enabled in export mode')\n }\n\n // copy prerendered routes to outDir\n if (!options.buildExport && prerenderManifest) {\n await Promise.all(\n Object.keys(prerenderManifest.routes).map(async (route) => {\n const { srcRoute } = prerenderManifest!.routes[route]\n const appPageName = mapAppRouteToPage.get(srcRoute || '')\n const pageName = appPageName || srcRoute || route\n const isAppPath = Boolean(appPageName)\n const isAppRouteHandler = appPageName && isAppRouteRoute(appPageName)\n\n // returning notFound: true from getStaticProps will not\n // output html/json files during the build\n if (prerenderManifest!.notFoundRoutes.includes(route)) {\n return\n }\n route = normalizePagePath(route)\n\n const pagePath = getPagePath(pageName, distDir, undefined, isAppPath)\n const distPagesDir = join(\n pagePath,\n // strip leading / and then recurse number of nested dirs\n // to place from base folder\n pageName\n .slice(1)\n .split('/')\n .map(() => '..')\n .join('/')\n )\n\n const orig = join(distPagesDir, route)\n const handlerSrc = `${orig}.body`\n const handlerDest = join(outDir, route)\n\n if (isAppRouteHandler && existsSync(handlerSrc)) {\n await fs.mkdir(dirname(handlerDest), { recursive: true })\n await fs.copyFile(handlerSrc, handlerDest)\n return\n }\n\n const htmlDest = join(\n outDir,\n `${route}${\n subFolders && route !== '/index' ? `${sep}index` : ''\n }.html`\n )\n const ampHtmlDest = join(\n outDir,\n `${route}.amp${subFolders ? `${sep}index` : ''}.html`\n )\n const jsonDest = isAppPath\n ? join(\n outDir,\n `${route}${\n subFolders && route !== '/index' ? `${sep}index` : ''\n }.txt`\n )\n : join(pagesDataDir, `${route}.json`)\n\n await fs.mkdir(dirname(htmlDest), { recursive: true })\n await fs.mkdir(dirname(jsonDest), { recursive: true })\n\n const htmlSrc = `${orig}.html`\n const jsonSrc = `${orig}${isAppPath ? RSC_SUFFIX : '.json'}`\n\n await fs.copyFile(htmlSrc, htmlDest)\n await fs.copyFile(jsonSrc, jsonDest)\n\n if (existsSync(`${orig}.amp.html`)) {\n await fs.mkdir(dirname(ampHtmlDest), { recursive: true })\n await fs.copyFile(`${orig}.amp.html`, ampHtmlDest)\n }\n })\n )\n }\n\n if (Object.keys(ampValidations).length) {\n console.log(formatAmpMessages(ampValidations))\n }\n if (hadValidationError) {\n throw new ExportError(\n `AMP Validation caused the export to fail. https://nextjs.org/docs/messages/amp-export-validation`\n )\n }\n\n if (failedExportAttemptsByPage.size > 0) {\n const failedPages = Array.from(failedExportAttemptsByPage.keys())\n throw new ExportError(\n `Export encountered errors on following paths:\\n\\t${failedPages\n .sort()\n .join('\\n\\t')}`\n )\n }\n\n await fs.writeFile(\n join(distDir, EXPORT_DETAIL),\n formatManifest({\n version: 1,\n outDirectory: outDir,\n success: true,\n }),\n 'utf8'\n )\n\n if (telemetry) {\n await telemetry.flush()\n }\n\n await worker.end()\n\n return collector\n}\n\nexport default async function exportApp(\n dir: string,\n options: ExportAppOptions,\n span: Span\n): Promise<ExportAppResult | null> {\n const nextExportSpan = span.traceChild('next-export')\n\n return nextExportSpan.traceAsyncFn(async () => {\n return await exportAppImpl(dir, options, nextExportSpan)\n })\n}\n"],"names":["createStaticWorker","bold","yellow","findUp","existsSync","promises","fs","dirname","join","resolve","sep","formatAmpMessages","Log","RSC_SUFFIX","SSG_FALLBACK_EXPORT_ERROR","recursiveCopy","BUILD_ID_FILE","CLIENT_PUBLIC_FILES_PATH","CLIENT_STATIC_FILES_PATH","EXPORT_DETAIL","EXPORT_MARKER","NEXT_FONT_MANIFEST","MIDDLEWARE_MANIFEST","PAGES_MANIFEST","PHASE_EXPORT","PRERENDER_MANIFEST","SERVER_DIRECTORY","SERVER_REFERENCE_MANIFEST","APP_PATH_ROUTES_MANIFEST","ROUTES_MANIFEST","loadConfig","eventCliSession","hasNextSupport","Telemetry","normalizePagePath","denormalizePagePath","loadEnvConfig","isAPIRoute","getPagePath","isAppRouteRoute","isAppPageRoute","isError","formatManifest","TurborepoAccessTraceResult","createProgress","isInterceptionRouteRewrite","ExportError","Error","code","exportAppImpl","dir","options","span","nextConfig","traceChild","traceFn","enabledDirectories","traceAsyncFn","distDir","telemetry","buildExport","record","webpackVersion","cliCommand","isSrcDir","hasNowJson","cwd","isCustomServer","turboFlag","pagesDir","appDir","subFolders","trailingSlash","silent","info","buildIdFile","customRoutes","filter","config","length","warn","buildId","readFile","pagesManifest","pages","require","prerenderManifest","appRoutePathManifest","err","undefined","excludedPrerenderRoutes","Set","Object","keys","defaultPathMap","hasApiRoutes","page","dynamicRoutes","add","mapAppRouteToPage","Map","pageName","routePath","entries","set","routes","_isAppDir","outDir","outdir","rm","recursive","force","mkdir","writeFile","version","outDirectory","success","exportPathMap","defaultMap","i18n","images","loader","unoptimized","isNextImageImported","then","text","JSON","parse","catch","serverActionsManifest","app","output","routesManifest","rewrites","beforeFiles","hasInterceptionRouteRewrite","some","node","edge","renderOpts","previewProps","preview","nextExport","assetPrefix","replace","dev","basePath","canonicalBase","amp","ampSkipValidation","experimental","skipValidation","ampOptimizerConfig","optimizer","locales","locale","defaultLocale","domainLocales","domains","disableOptimizedLoading","supportsDynamicResponse","crossOrigin","optimizeCss","nextConfigOutput","nextScriptWorkers","largePageDataBytes","serverActions","serverComponents","cacheLifeProfiles","cacheLife","nextFontManifest","strictNextHead","deploymentId","clientTraceMetadata","expireTime","dynamicIO","clientSegmentCache","inlineCss","authInterrupts","streamingMetadata","htmlLimitedBots","reactMaxHeadersLength","publicRuntimeConfig","runtimeConfig","globalThis","__NEXT_DATA__","exportMap","exportPaths","map","path","filteredPaths","route","fallbackEnabledPages","prerenderInfo","fallback","size","hasMiddleware","middlewareManifest","middleware","pagesDataDir","ampValidations","publicDir","failedExportAttemptsByPage","minChunkSize","staticGenerationMinPagesPerWorker","numWorkers","Math","min","ceil","chunkSize","chunks","Array","from","_","i","slice","remainingPages","forEach","index","push","progress","statusMessage","worker","results","Promise","all","paths","exportPages","parentSpanId","getId","cacheHandler","cacheMaxMemorySize","fetchCache","fetchCacheKeyPrefix","flat","hadValidationError","collector","byPath","byPage","ssgNotFoundPaths","turborepoAccessTraceResults","result","pageKey","turborepoAccessTraceResult","fromSerialized","validation","errors","get","revalidate","metadata","hasEmptyPrelude","hasPostponed","fetchMetrics","ssgNotFound","durations","durationsByPath","duration","ppr","srcRoute","appPageName","isAppPath","Boolean","isAppRouteHandler","notFoundRoutes","includes","pagePath","distPagesDir","split","orig","handlerSrc","handlerDest","copyFile","htmlDest","ampHtmlDest","jsonDest","htmlSrc","jsonSrc","console","log","failedPages","sort","flush","end","exportApp","nextExportSpan"],"mappings":"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"}
|
|
@@ -177,7 +177,7 @@ function assignDefaults(dir, userConfig, silent) {
|
|
|
177
177
|
enumerable: false
|
|
178
178
|
});
|
|
179
179
|
}
|
|
180
|
-
if (!((_process_env___NEXT_VERSION = "15.2.0-canary.
|
|
180
|
+
if (!((_process_env___NEXT_VERSION = "15.2.0-canary.16") == null ? void 0 : _process_env___NEXT_VERSION.includes('canary')) && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV) {
|
|
181
181
|
var _result_experimental7, _result_experimental8, _result_experimental_turbo3, _result_experimental9;
|
|
182
182
|
// Prevents usage of certain experimental features outside of canary
|
|
183
183
|
if ((_result_experimental7 = result.experimental) == null ? void 0 : _result_experimental7.ppr) {
|
|
@@ -79,7 +79,7 @@ export async function createHotReloaderTurbopack(opts, serverFields, distDir, re
|
|
|
79
79
|
}
|
|
80
80
|
const hasRewrites = opts.fsChecker.rewrites.afterFiles.length > 0 || opts.fsChecker.rewrites.beforeFiles.length > 0 || opts.fsChecker.rewrites.fallback.length > 0;
|
|
81
81
|
const hotReloaderSpan = trace('hot-reloader', undefined, {
|
|
82
|
-
version: "15.2.0-canary.
|
|
82
|
+
version: "15.2.0-canary.16"
|
|
83
83
|
});
|
|
84
84
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
|
85
85
|
// of the current `next dev` invocation.
|
|
@@ -178,7 +178,7 @@ export default class HotReloaderWebpack {
|
|
|
178
178
|
this.previewProps = previewProps;
|
|
179
179
|
this.rewrites = rewrites;
|
|
180
180
|
this.hotReloaderSpan = trace('hot-reloader', undefined, {
|
|
181
|
-
version: "15.2.0-canary.
|
|
181
|
+
version: "15.2.0-canary.16"
|
|
182
182
|
});
|
|
183
183
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
|
184
184
|
// of the current `next dev` invocation.
|