From 6926ab7b2ac6fe6795fa4ce3f5ecb450fbe70e82 Mon Sep 17 00:00:00 2001 From: TMQ <5112895@qq.com> Date: Sun, 30 Aug 2020 11:01:29 +0800 Subject: [PATCH] fix: Promise.prototype.finally is object (#16620) The [finally-polyfill](https://gist.github.com/developit/d970bac18430943e4b3392b029a2a96c) did not expose any values. ![image](https://user-images.githubusercontent.com/15967520/91409583-2f916a00-e878-11ea-86d0-189966ceb83c.png) --- packages/next/client/index.tsx | 6 ++---- packages/next/package.json | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/next/client/index.tsx b/packages/next/client/index.tsx index 128e49063e9b5..f1a0fd20127e5 100644 --- a/packages/next/client/index.tsx +++ b/packages/next/client/index.tsx @@ -21,6 +21,8 @@ import PageLoader, { looseToArray, StyleSheetTuple } from './page-loader' import measureWebVitals from './performance-relayer' import { createRouter, makePublicRouterInstance } from './router' +require('next/dist/build/polyfills/finally-polyfill.min') + /// declare let __webpack_public_path__: string @@ -41,10 +43,6 @@ declare global { type RenderRouteInfo = PrivateRouteInfo & { App: AppComponent } type RenderErrorProps = Omit -if (!('finally' in Promise.prototype)) { - ;(Promise.prototype as PromiseConstructor['prototype']).finally = require('next/dist/build/polyfills/finally-polyfill.min') -} - const data: typeof window['__NEXT_DATA__'] = JSON.parse( document.getElementById('__NEXT_DATA__')!.textContent! ) diff --git a/packages/next/package.json b/packages/next/package.json index 8fd2632e8abc2..97f7702d05fd1 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -181,7 +181,7 @@ "escape-string-regexp": "2.0.0", "etag": "1.8.1", "file-loader": "6.0.0", - "finally-polyfill": "0.1.0", + "finally-polyfill": "0.2.0", "find-up": "4.1.0", "fresh": "0.5.2", "gzip-size": "5.1.1",