UNPKG

next-csrf

Version:

CSRF mitigation library for Next.js

1 lines 73.5 kB
{"ast":null,"code":"\"use strict\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexports.__esModule = true;\nexports.Html = Html;\nexports.Main = Main;\nexports.NextScript = exports.Head = exports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _server = _interopRequireDefault(require(\"styled-jsx/server\"));\n\nvar _constants = require(\"../next-server/lib/constants\");\n\nvar _documentContext = require(\"../next-server/lib/document-context\");\n\nvar _utils = require(\"../next-server/lib/utils\");\n\nexports.DocumentContext = _utils.DocumentContext;\nexports.DocumentInitialProps = _utils.DocumentInitialProps;\nexports.DocumentProps = _utils.DocumentProps;\n\nvar _getPageFiles = require(\"../next-server/server/get-page-files\");\n\nvar _utils2 = require(\"../next-server/server/utils\");\n\nvar _htmlescape = require(\"../server/htmlescape\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function () {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj.default = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nfunction dedupe(bundles) {\n const files = new Set();\n const kept = [];\n\n for (const bundle of bundles) {\n if (files.has(bundle.file)) continue;\n files.add(bundle.file);\n kept.push(bundle);\n }\n\n return kept;\n}\n\nfunction getOptionalModernScriptVariant(path) {\n if (process.env.__NEXT_MODERN_BUILD) {\n return path.replace(/\\.js$/, '.module.js');\n }\n\n return path;\n}\n\nfunction getDocumentFiles(buildManifest, pathname) {\n const sharedFiles = (0, _getPageFiles.getPageFiles)(buildManifest, '/_app');\n const pageFiles = pathname !== '/_error' ? (0, _getPageFiles.getPageFiles)(buildManifest, pathname) : [];\n return {\n sharedFiles,\n pageFiles,\n allFiles: [...new Set([...sharedFiles, ...pageFiles])]\n };\n}\n/**\n* `Document` component handles the initial `document` markup and renders only on the server side.\n* Commonly used for implementing server side rendering for `css-in-js` libraries.\n*/\n\n\nclass Document extends _react.Component {\n /**\n * `getInitialProps` hook returns the context object with the addition of `renderPage`.\n * `renderPage` callback executes `React` rendering logic synchronously to support server-rendering wrappers\n */\n static async getInitialProps(ctx) {\n const enhanceApp = App => {\n return props => /*#__PURE__*/_react.default.createElement(App, props);\n };\n\n const {\n html,\n head\n } = await ctx.renderPage({\n enhanceApp\n });\n const styles = [...(0, _server.default)()];\n return {\n html,\n head,\n styles\n };\n }\n\n static renderDocument(DocumentComponent, props) {\n return /*#__PURE__*/_react.default.createElement(_documentContext.DocumentContext.Provider, {\n value: props\n }, /*#__PURE__*/_react.default.createElement(DocumentComponent, props));\n }\n\n render() {\n return /*#__PURE__*/_react.default.createElement(Html, null, /*#__PURE__*/_react.default.createElement(Head, null), /*#__PURE__*/_react.default.createElement(\"body\", null, /*#__PURE__*/_react.default.createElement(Main, null), /*#__PURE__*/_react.default.createElement(NextScript, null)));\n }\n\n}\n\nexports.default = Document;\nDocument.headTagsMiddleware = process.env.__NEXT_PLUGINS ? Promise.resolve().then(() => _interopRequireWildcard(require('next-plugin-loader?middleware=document-head-tags-server!'))) : () => [];\n\nfunction Html(props) {\n const {\n inAmpMode,\n docComponentsRendered\n } = (0, _react.useContext)(_documentContext.DocumentContext);\n docComponentsRendered.Html = true;\n return /*#__PURE__*/_react.default.createElement(\"html\", Object.assign({}, props, {\n amp: inAmpMode ? '' : undefined,\n \"data-ampdevmode\": inAmpMode && true ? '' : undefined\n }));\n}\n\nclass Head extends _react.Component {\n constructor(...args) {\n super(...args);\n this.context = void 0;\n }\n\n getCssLinks(files) {\n const {\n assetPrefix,\n devOnlyCacheBusterQueryString,\n dynamicImports\n } = this.context;\n const cssFiles = files.allFiles.filter(f => f.endsWith('.css'));\n const sharedFiles = new Set(files.sharedFiles);\n let dynamicCssFiles = dedupe(dynamicImports.filter(f => f.file.endsWith('.css'))).map(f => f.file);\n\n if (dynamicCssFiles.length) {\n const existing = new Set(cssFiles);\n dynamicCssFiles = dynamicCssFiles.filter(f => !(existing.has(f) || sharedFiles.has(f)));\n cssFiles.push(...dynamicCssFiles);\n }\n\n const cssLinkElements = [];\n cssFiles.forEach(file => {\n const isSharedFile = sharedFiles.has(file);\n cssLinkElements.push( /*#__PURE__*/_react.default.createElement(\"link\", {\n key: `${file}-preload`,\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${devOnlyCacheBusterQueryString}`,\n as: \"style\",\n crossOrigin: this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n }), /*#__PURE__*/_react.default.createElement(\"link\", {\n key: file,\n nonce: this.props.nonce,\n rel: \"stylesheet\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${devOnlyCacheBusterQueryString}`,\n crossOrigin: this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN,\n \"data-n-g\": isSharedFile ? '' : undefined,\n \"data-n-p\": isSharedFile ? undefined : ''\n }));\n });\n return cssLinkElements.length === 0 ? null : cssLinkElements;\n }\n\n getPreloadDynamicChunks() {\n const {\n dynamicImports,\n assetPrefix,\n devOnlyCacheBusterQueryString\n } = this.context;\n return dedupe(dynamicImports).map(bundle => {\n // `dynamicImports` will contain both `.js` and `.module.js` when the\n // feature is enabled. This clause will filter down to the modern\n // variants only.\n if (!bundle.file.endsWith(getOptionalModernScriptVariant('.js'))) {\n return null;\n }\n\n return /*#__PURE__*/_react.default.createElement(\"link\", {\n rel: \"preload\",\n key: bundle.file,\n href: `${assetPrefix}/_next/${encodeURI(bundle.file)}${devOnlyCacheBusterQueryString}`,\n as: \"script\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n });\n }) // Filter out nulled scripts\n .filter(Boolean);\n }\n\n getPreloadMainLinks(files) {\n const {\n assetPrefix,\n devOnlyCacheBusterQueryString\n } = this.context;\n const preloadFiles = files.allFiles.filter(file => {\n // `dynamicImports` will contain both `.js` and `.module.js` when\n // the feature is enabled. This clause will filter down to the\n // modern variants only.\n return file.endsWith(getOptionalModernScriptVariant('.js'));\n });\n return !preloadFiles.length ? null : preloadFiles.map(file => /*#__PURE__*/_react.default.createElement(\"link\", {\n key: file,\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${devOnlyCacheBusterQueryString}`,\n as: \"script\",\n crossOrigin: this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n }));\n }\n\n makeStylesheetInert(node) {\n return _react.default.Children.map(node, c => {\n if (c.type === 'link' && c.props['href'] && _constants.OPTIMIZED_FONT_PROVIDERS.some(url => c.props['href'].startsWith(url))) {\n const newProps = _objectSpread({}, c.props || {});\n\n newProps['data-href'] = newProps['href'];\n newProps['href'] = undefined;\n return /*#__PURE__*/_react.default.cloneElement(c, newProps);\n } else if (c.props && c.props['children']) {\n c.props['children'] = this.makeStylesheetInert(c.props['children']);\n }\n\n return c;\n });\n }\n\n render() {\n const {\n styles,\n ampPath,\n inAmpMode,\n hybridAmp,\n canonicalBase,\n __NEXT_DATA__,\n dangerousAsPath,\n headTags,\n unstable_runtimeJS\n } = this.context;\n const disableRuntimeJS = unstable_runtimeJS === false;\n this.context.docComponentsRendered.Head = true;\n let {\n head\n } = this.context;\n let children = this.props.children; // show a warning if Head contains <title> (only in development)\n\n if (true) {\n children = _react.default.Children.map(children, child => {\n var _child$props;\n\n const isReactHelmet = child === null || child === void 0 ? void 0 : (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props['data-react-helmet'];\n\n if (!isReactHelmet) {\n var _child$props2;\n\n if ((child === null || child === void 0 ? void 0 : child.type) === 'title') {\n console.warn(\"Warning: <title> should not be used in _document.js's <Head>. https://err.sh/next.js/no-document-title\");\n } else if ((child === null || child === void 0 ? void 0 : child.type) === 'meta' && (child === null || child === void 0 ? void 0 : (_child$props2 = child.props) === null || _child$props2 === void 0 ? void 0 : _child$props2.name) === 'viewport') {\n console.warn(\"Warning: viewport meta tags should not be used in _document.js's <Head>. https://err.sh/next.js/no-document-viewport-meta\");\n }\n }\n\n return child;\n });\n if (this.props.crossOrigin) console.warn('Warning: `Head` attribute `crossOrigin` is deprecated. https://err.sh/next.js/doc-crossorigin-deprecated');\n }\n\n if (process.env.__NEXT_OPTIMIZE_FONTS && !inAmpMode) {\n children = this.makeStylesheetInert(children);\n }\n\n let hasAmphtmlRel = false;\n let hasCanonicalRel = false; // show warning and remove conflicting amp head tags\n\n head = _react.default.Children.map(head || [], child => {\n if (!child) return child;\n const {\n type,\n props\n } = child;\n\n if (inAmpMode) {\n let badProp = '';\n\n if (type === 'meta' && props.name === 'viewport') {\n badProp = 'name=\"viewport\"';\n } else if (type === 'link' && props.rel === 'canonical') {\n hasCanonicalRel = true;\n } else if (type === 'script') {\n // only block if\n // 1. it has a src and isn't pointing to ampproject's CDN\n // 2. it is using dangerouslySetInnerHTML without a type or\n // a type of text/javascript\n if (props.src && props.src.indexOf('ampproject') < -1 || props.dangerouslySetInnerHTML && (!props.type || props.type === 'text/javascript')) {\n badProp = '<script';\n Object.keys(props).forEach(prop => {\n badProp += ` ${prop}=\"${props[prop]}\"`;\n });\n badProp += '/>';\n }\n }\n\n if (badProp) {\n console.warn(`Found conflicting amp tag \"${child.type}\" with conflicting prop ${badProp} in ${__NEXT_DATA__.page}. https://err.sh/next.js/conflicting-amp-tag`);\n return null;\n }\n } else {\n // non-amp mode\n if (type === 'link' && props.rel === 'amphtml') {\n hasAmphtmlRel = true;\n }\n }\n\n return child;\n }); // try to parse styles from fragment for backwards compat\n\n const curStyles = Array.isArray(styles) ? styles : [];\n\n if (inAmpMode && styles && // @ts-ignore Property 'props' does not exist on type ReactElement\n styles.props && // @ts-ignore Property 'props' does not exist on type ReactElement\n Array.isArray(styles.props.children)) {\n const hasStyles = el => {\n var _el$props, _el$props$dangerously;\n\n return el === null || el === void 0 ? void 0 : (_el$props = el.props) === null || _el$props === void 0 ? void 0 : (_el$props$dangerously = _el$props.dangerouslySetInnerHTML) === null || _el$props$dangerously === void 0 ? void 0 : _el$props$dangerously.__html;\n }; // @ts-ignore Property 'props' does not exist on type ReactElement\n\n\n styles.props.children.forEach(child => {\n if (Array.isArray(child)) {\n child.forEach(el => hasStyles(el) && curStyles.push(el));\n } else if (hasStyles(child)) {\n curStyles.push(child);\n }\n });\n }\n\n const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page);\n return /*#__PURE__*/_react.default.createElement(\"head\", this.props, this.context.isDevelopment && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(\"style\", {\n \"data-next-hide-fouc\": true,\n \"data-ampdevmode\": inAmpMode ? 'true' : undefined,\n dangerouslySetInnerHTML: {\n __html: `body{display:none}`\n }\n }), /*#__PURE__*/_react.default.createElement(\"noscript\", {\n \"data-next-hide-fouc\": true,\n \"data-ampdevmode\": inAmpMode ? 'true' : undefined\n }, /*#__PURE__*/_react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: `body{display:block}`\n }\n }))), children, head, /*#__PURE__*/_react.default.createElement(\"meta\", {\n name: \"next-head-count\",\n content: _react.default.Children.count(head || []).toString()\n }), inAmpMode && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width,minimum-scale=1,initial-scale=1\"\n }), !hasCanonicalRel && /*#__PURE__*/_react.default.createElement(\"link\", {\n rel: \"canonical\",\n href: canonicalBase + (0, _utils2.cleanAmpPath)(dangerousAsPath)\n }), /*#__PURE__*/_react.default.createElement(\"link\", {\n rel: \"preload\",\n as: \"script\",\n href: \"https://cdn.ampproject.org/v0.js\"\n }), styles && /*#__PURE__*/_react.default.createElement(\"style\", {\n \"amp-custom\": \"\",\n dangerouslySetInnerHTML: {\n __html: curStyles.map(style => style.props.dangerouslySetInnerHTML.__html).join('').replace(/\\/\\*# sourceMappingURL=.*\\*\\//g, '').replace(/\\/\\*@ sourceURL=.*?\\*\\//g, '')\n }\n }), /*#__PURE__*/_react.default.createElement(\"style\", {\n \"amp-boilerplate\": \"\",\n dangerouslySetInnerHTML: {\n __html: `body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}`\n }\n }), /*#__PURE__*/_react.default.createElement(\"noscript\", null, /*#__PURE__*/_react.default.createElement(\"style\", {\n \"amp-boilerplate\": \"\",\n dangerouslySetInnerHTML: {\n __html: `body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}`\n }\n })), /*#__PURE__*/_react.default.createElement(\"script\", {\n async: true,\n src: \"https://cdn.ampproject.org/v0.js\"\n })), !inAmpMode && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !hasAmphtmlRel && hybridAmp && /*#__PURE__*/_react.default.createElement(\"link\", {\n rel: \"amphtml\",\n href: canonicalBase + getAmpPath(ampPath, dangerousAsPath)\n }), process.env.__NEXT_OPTIMIZE_FONTS ? this.makeStylesheetInert(this.getCssLinks(files)) : this.getCssLinks(files), /*#__PURE__*/_react.default.createElement(\"noscript\", {\n \"data-n-css\": true\n }), !disableRuntimeJS && this.getPreloadDynamicChunks(), !disableRuntimeJS && this.getPreloadMainLinks(files), this.context.isDevelopment &&\n /*#__PURE__*/\n // this element is used to mount development styles so the\n // ordering matches production\n // (by default, style-loader injects at the bottom of <head />)\n _react.default.createElement(\"noscript\", {\n id: \"__next_css__DO_NOT_USE__\"\n }), styles || null), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {}, ...(headTags || [])));\n }\n\n}\n\nexports.Head = Head;\nHead.contextType = _documentContext.DocumentContext;\nHead.propTypes = {\n nonce: _propTypes.default.string,\n crossOrigin: _propTypes.default.string\n};\n\nfunction Main() {\n const {\n inAmpMode,\n html,\n docComponentsRendered\n } = (0, _react.useContext)(_documentContext.DocumentContext);\n docComponentsRendered.Main = true;\n if (inAmpMode) return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, _constants.AMP_RENDER_TARGET);\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n id: \"__next\",\n dangerouslySetInnerHTML: {\n __html: html\n }\n });\n}\n\nclass NextScript extends _react.Component {\n constructor(...args) {\n super(...args);\n this.context = void 0;\n }\n\n getDynamicChunks(files) {\n const {\n dynamicImports,\n assetPrefix,\n isDevelopment,\n devOnlyCacheBusterQueryString\n } = this.context;\n return dedupe(dynamicImports).map(bundle => {\n let modernProps = {};\n\n if (process.env.__NEXT_MODERN_BUILD) {\n modernProps = bundle.file.endsWith('.module.js') ? {\n type: 'module'\n } : {\n noModule: true\n };\n }\n\n if (!bundle.file.endsWith('.js') || files.allFiles.includes(bundle.file)) return null;\n return /*#__PURE__*/_react.default.createElement(\"script\", Object.assign({\n async: !isDevelopment,\n key: bundle.file,\n src: `${assetPrefix}/_next/${encodeURI(bundle.file)}${devOnlyCacheBusterQueryString}`,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n }, modernProps));\n });\n }\n\n getScripts(files) {\n var _buildManifest$lowPri;\n\n const {\n assetPrefix,\n buildManifest,\n isDevelopment,\n devOnlyCacheBusterQueryString\n } = this.context;\n const normalScripts = files.allFiles.filter(file => file.endsWith('.js'));\n const lowPriorityScripts = (_buildManifest$lowPri = buildManifest.lowPriorityFiles) === null || _buildManifest$lowPri === void 0 ? void 0 : _buildManifest$lowPri.filter(file => file.endsWith('.js'));\n return [...normalScripts, ...lowPriorityScripts].map(file => {\n let modernProps = {};\n\n if (process.env.__NEXT_MODERN_BUILD) {\n modernProps = file.endsWith('.module.js') ? {\n type: 'module'\n } : {\n noModule: true\n };\n }\n\n return /*#__PURE__*/_react.default.createElement(\"script\", Object.assign({\n key: file,\n src: `${assetPrefix}/_next/${encodeURI(file)}${devOnlyCacheBusterQueryString}`,\n nonce: this.props.nonce,\n async: !isDevelopment,\n crossOrigin: this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n }, modernProps));\n });\n }\n\n getPolyfillScripts() {\n // polyfills.js has to be rendered as nomodule without async\n // It also has to be the first script to load\n const {\n assetPrefix,\n buildManifest,\n devOnlyCacheBusterQueryString\n } = this.context;\n return buildManifest.polyfillFiles.filter(polyfill => polyfill.endsWith('.js') && !polyfill.endsWith('.module.js')).map(polyfill => /*#__PURE__*/_react.default.createElement(\"script\", {\n key: polyfill,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN,\n noModule: true,\n src: `${assetPrefix}/_next/${polyfill}${devOnlyCacheBusterQueryString}`\n }));\n }\n\n static getInlineScriptSource(documentProps) {\n const {\n __NEXT_DATA__\n } = documentProps;\n\n try {\n const data = JSON.stringify(__NEXT_DATA__);\n return (0, _htmlescape.htmlEscapeJsonString)(data);\n } catch (err) {\n if (err.message.indexOf('circular structure')) {\n throw new Error(`Circular structure in \"getInitialProps\" result of page \"${__NEXT_DATA__.page}\". https://err.sh/vercel/next.js/circular-structure`);\n }\n\n throw err;\n }\n }\n\n render() {\n const {\n assetPrefix,\n inAmpMode,\n buildManifest,\n unstable_runtimeJS,\n docComponentsRendered,\n devOnlyCacheBusterQueryString\n } = this.context;\n const disableRuntimeJS = unstable_runtimeJS === false;\n docComponentsRendered.NextScript = true;\n\n if (inAmpMode) {\n if (false) {\n return null;\n }\n\n const ampDevFiles = [...buildManifest.devFiles, ...buildManifest.ampDevFiles];\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, disableRuntimeJS ? null : /*#__PURE__*/_react.default.createElement(\"script\", {\n id: \"__NEXT_DATA__\",\n type: \"application/json\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN,\n dangerouslySetInnerHTML: {\n __html: NextScript.getInlineScriptSource(this.context)\n },\n \"data-ampdevmode\": true\n }), ampDevFiles.map(file => /*#__PURE__*/_react.default.createElement(\"script\", {\n key: file,\n src: `${assetPrefix}/_next/${file}${devOnlyCacheBusterQueryString}`,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN,\n \"data-ampdevmode\": true\n })));\n }\n\n if (true) {\n if (this.props.crossOrigin) console.warn('Warning: `NextScript` attribute `crossOrigin` is deprecated. https://err.sh/next.js/doc-crossorigin-deprecated');\n }\n\n const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page);\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !disableRuntimeJS && buildManifest.devFiles ? buildManifest.devFiles.map(file => /*#__PURE__*/_react.default.createElement(\"script\", {\n key: file,\n src: `${assetPrefix}/_next/${encodeURI(file)}${devOnlyCacheBusterQueryString}`,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n })) : null, disableRuntimeJS ? null : /*#__PURE__*/_react.default.createElement(\"script\", {\n id: \"__NEXT_DATA__\",\n type: \"application/json\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN,\n dangerouslySetInnerHTML: {\n __html: NextScript.getInlineScriptSource(this.context)\n }\n }), process.env.__NEXT_MODERN_BUILD && !disableRuntimeJS ? /*#__PURE__*/_react.default.createElement(\"script\", {\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN,\n noModule: true,\n dangerouslySetInnerHTML: {\n __html: NextScript.safariNomoduleFix\n }\n }) : null, !disableRuntimeJS && this.getPolyfillScripts(), disableRuntimeJS ? null : this.getDynamicChunks(files), disableRuntimeJS ? null : this.getScripts(files));\n }\n\n}\n\nexports.NextScript = NextScript;\nNextScript.contextType = _documentContext.DocumentContext;\nNextScript.propTypes = {\n nonce: _propTypes.default.string,\n crossOrigin: _propTypes.default.string\n};\nNextScript.safariNomoduleFix = '!function(){var e=document,t=e.createElement(\"script\");if(!(\"noModule\"in t)&&\"onbeforeload\"in t){var n=!1;e.addEventListener(\"beforeload\",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute(\"nomodule\")||!n)return;e.preventDefault()},!0),t.type=\"module\",t.src=\".\",e.head.appendChild(t),t.remove()}}();';\n\nfunction getAmpPath(ampPath, asPath) {\n return ampPath || `${asPath}${asPath.includes('?') ? '&' : '?'}amp=1`;\n}","map":{"version":3,"sources":["../../pages/_document.tsx"],"names":["files","kept","bundle","process","path","sharedFiles","pageFiles","pathname","allFiles","Document","Component","headTagsMiddleware","getInitialProps","enhanceApp","App","props","ctx","styles","renderDocument","render","DocumentComponentContext","docComponentsRendered","inAmpMode","Head","contextType","propTypes","nonce","PropTypes","crossOrigin","getCssLinks","cssFiles","f","dynamicCssFiles","dedupe","dynamicImports","existing","cssLinkElements","file","isSharedFile","assetPrefix","encodeURI","devOnlyCacheBusterQueryString","getPreloadDynamicChunks","getOptionalModernScriptVariant","getPreloadMainLinks","preloadFiles","makeStylesheetInert","React","c","OPTIMIZED_FONT_PROVIDERS","url","newProps","disableRuntimeJS","unstable_runtimeJS","children","child","isReactHelmet","console","hasAmphtmlRel","hasCanonicalRel","head","badProp","type","Object","prop","__NEXT_DATA__","page","curStyles","Array","hasStyles","el","getDocumentFiles","__html","canonicalBase","style","getAmpPath","headTags","AMP_RENDER_TARGET","NextScript","safariNomoduleFix","getDynamicChunks","modernProps","noModule","getScripts","normalScripts","lowPriorityScripts","buildManifest","getPolyfillScripts","polyfill","getInlineScriptSource","data","JSON","err","ampDevFiles","ampPath","asPath"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types'\nimport React, { Component, ReactNode, useContext } from 'react'\nimport flush from 'styled-jsx/server'\nimport {\n AMP_RENDER_TARGET,\n OPTIMIZED_FONT_PROVIDERS,\n} from '../next-server/lib/constants'\nimport { DocumentContext as DocumentComponentContext } from '../next-server/lib/document-context'\nimport {\n DocumentContext,\n DocumentInitialProps,\n DocumentProps,\n} from '../next-server/lib/utils'\nimport {\n BuildManifest,\n getPageFiles,\n} from '../next-server/server/get-page-files'\nimport { cleanAmpPath } from '../next-server/server/utils'\nimport { htmlEscapeJsonString } from '../server/htmlescape'\n\nexport { DocumentContext, DocumentInitialProps, DocumentProps }\n\nexport type OriginProps = {\n nonce?: string\n crossOrigin?: string\n}\n\nfunction dedupe<T extends { file: string }>(bundles: T[]): T[] {\n const files = new Set<string>()\n const kept: T[] = []\n\n for (const bundle of bundles) {\n if (files.has(bundle.file)) continue\n files.add(bundle.file)\n kept.push(bundle)\n }\n return kept\n}\n\nfunction getOptionalModernScriptVariant(path: string): string {\n if (process.env.__NEXT_MODERN_BUILD) {\n return path.replace(/\\.js$/, '.module.js')\n }\n return path\n}\n\ntype DocumentFiles = {\n sharedFiles: readonly string[]\n pageFiles: readonly string[]\n allFiles: readonly string[]\n}\n\nfunction getDocumentFiles(\n buildManifest: BuildManifest,\n pathname: string\n): DocumentFiles {\n const sharedFiles: readonly string[] = getPageFiles(buildManif