rsnext/test/integration
Kristóf Poduszló aef6726eb8
Add missing nomodule polyfills and suggest using features only up to ES2019 for browser compatibility (#15772)
These changes aim to resolve most of the concerns raised in #15756. It adds missing polyfills for legacy browsers up until ES2019:

- Number.{parseFloat,parseInt}
- ~Math.{acosh,asinh,atanh,cbrt,clz32,cosh,expm1,fround,hypot,imul,log10p,log1p,log2,sign,sinh,tanh,trunc}~ _[Removed as these are [not widely used](https://github.com/vercel/next.js/pull/15772#discussion_r463957931)]_
  - While these may seem to weigh a lot, they barely add 1 kB to the resulting bundle:
    <img width="492" alt="gzip: 32 kB vs. 30.9 kB, Brotli: 28.8 kB vs. 27.8 kB" src="https://user-images.githubusercontent.com/14854048/89100961-1376e600-d3fc-11ea-90fd-3e6632b70220.png">
- ~Object.fromEntries~ _[Removed as [it's rarely used in user code](https://github.com/vercel/next.js/pull/15772#discussion_r463984612)]_

Also, the following features are now supported with build-time transforms:

- ~`globalThis` (gets transformed into `window` in browser environments)~ _[Removed as it [could break existing applications](https://github.com/vercel/next.js/pull/15772#discussion_r463956269)]_
- `export * as ns from 'module'`

The suggested TypeScript library version has been set to ES2018, so the features below become unavailable in type-checked files (they're not evenly supported by module-compatible browsers, either):

- Object.fromEntries
- String.prototype.matchAll
- String.prototype.replaceAll
- Promise.any + AggregateError
- WeakRef

As for the `import.meta` support, [webpack v5 seems to fix that](https://github.com/webpack/webpack/pull/11075), so it should eventually become an issue of the past.

---

Fixes #15756
2020-08-04 06:03:52 +00:00
..
404-page Remove buildId from server-side files (#14413) 2020-06-22 21:12:36 +00:00
404-page-app Remove buildId from server-side files (#14413) 2020-06-22 21:12:36 +00:00
404-page-custom-error Remove buildId from server-side files (#14413) 2020-06-22 21:12:36 +00:00
404-page-ssg Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
absolute-assetprefix Don't use assetprefix on getServerSideProps and getStaticProps (#15634) 2020-07-29 16:51:51 +00:00
amp-export-validation Refactor moveExportedPages to use getPagePath (#14247) 2020-06-17 03:40:07 +00:00
amphtml Stabilize more tests (#15470) 2020-07-26 04:57:06 +00:00
amphtml-custom-optimizer Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
amphtml-custom-validator Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
amphtml-fragment-style Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
amphtml-ssg Normalize trailing slashes (#13333) 2020-06-23 13:38:49 +02:00
api-catch-all Normalize trailing slashes (#13333) 2020-06-23 13:38:49 +02:00
api-support Add res.redirect response helper (#14705) 2020-07-07 01:06:16 -04:00
app-aspath Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
app-document Update references to zeit/next.js (#13463) 2020-05-27 17:51:11 -04:00
app-document-import-order Fix app-document-import-order test for webpack 5 (#15224) 2020-07-17 10:38:06 +02:00
app-document-style-fragment Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
app-functional Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
app-tree Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
auto-export Stabilize more tests (#15470) 2020-07-26 04:57:06 +00:00
auto-export-error-bail Add warning when reserved pages are nested (#13449) 2020-05-27 16:45:53 +00:00
auto-export-query-error Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
auto-export-serverless Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
auto-export-serverless-error Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
babel Add missing nomodule polyfills and suggest using features only up to ES2019 for browser compatibility (#15772) 2020-08-04 06:03:52 +00:00
babel-custom Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
basepath Fix asPath of rewrite without basePath (#15760) 2020-08-01 11:51:47 +00:00
basic Use single webpack runtimeChunk for Node.js compilation (#14722) 2020-07-01 15:34:00 +00:00
bigint Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
broken-webpack-plugin Fix hot reloader edge case with broken webpack plugins (#15659) 2020-07-29 23:44:25 -04:00
build-indicator Stabilize more tests (#15470) 2020-07-26 04:57:06 +00:00
build-output Font optimizations (#14746) 2020-07-28 12:19:28 +02:00
build-warnings Fix: UnhandledPromiseRejectionWarning when unknown flag provided for cli commands (#15422) 2020-07-28 12:12:57 +02:00
bundle-size-profiling Enable polyfillsOptimization (#10574) 2020-02-18 19:26:55 +01:00
catches-missing-getStaticProps Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
chunking Remove buildId from server-side files (#14413) 2020-06-22 21:12:36 +00:00
cli Fix: UnhandledPromiseRejectionWarning when unknown flag provided for cli commands (#15422) 2020-07-28 12:12:57 +02:00
client-404 Add test case for loading 404 on invalid bundle (#14082) 2020-06-11 16:59:25 +00:00
client-navigation Ignore history state not created by next.js (#15379) 2020-07-28 12:02:00 +02:00
compression Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
config Simplify test checks (#14094) 2020-06-11 19:02:53 +00:00
config-devtool-dev Warn/revert custom devtool in development mode (#14285) 2020-06-24 04:15:57 +00:00
config-empty Update references to zeit/next.js (#13463) 2020-05-27 17:51:11 -04:00
config-experimental-warning Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
config-promise-error Update references to zeit/next.js (#13463) 2020-05-27 17:51:11 -04:00
config-resolve-alias Update filename generation for client-side compilation (#14279) 2020-06-20 19:59:47 +00:00
conflicting-public-file-page Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
conformance Make sure the correct chunk names are used in webpack 5 (#15204) 2020-07-15 19:33:41 -04:00
create-next-app chore(create-next-app): remove example picker (#13977) 2020-06-10 03:14:24 +00:00
css/test Fix CSS grid-column shorthand syntax (#15848) 2020-08-04 00:08:09 -04:00
css-client-nav/test Bring over fixes from #15185 (#15326) 2020-07-20 11:14:02 -04:00
css-customization/test Upgrade cssnano-simple dependency (#15488) 2020-07-26 23:56:36 -04:00
css-features Upgrade cssnano-simple dependency (#15488) 2020-07-26 23:56:36 -04:00
css-fixtures Fix CSS grid-column shorthand syntax (#15848) 2020-08-04 00:08:09 -04:00
css-modules/test Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
custom-error Add eslint-plugin-jest (#13003) 2020-05-18 13:16:07 -04:00
custom-page-extension Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
custom-routes Update header replacing to be more relaxed (#15592) 2020-07-29 08:47:23 +00:00
custom-routes-catchall De-experimentalize custom-routes (#14602) 2020-06-27 09:18:18 +00:00
custom-server Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
custom-server-types Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
data-fetching-errors Render a helpful message for null GS(S)P return (#14252) 2020-06-17 09:25:27 +00:00
dedupes-scripts Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
disable-js Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
dist-dir Fix app-document-import-order test for webpack 5 (#15224) 2020-07-17 10:38:06 +02:00
document-head-warnings Add warning when viewport meta tag is added to _document.js (#13452) 2020-07-07 01:43:16 -04:00
duplicate-pages Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
dynamic-optional-routing Normalize missing optional value on Vercel (#15593) 2020-07-29 14:19:25 +00:00
dynamic-optional-routing-root-fallback Correctly fetch data for root route (#15149) 2020-07-14 18:58:02 +00:00
dynamic-optional-routing-root-static-paths Fix root route optional catch-all prerendering (#14986) 2020-07-09 04:21:49 +00:00
dynamic-require Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
dynamic-route-rename Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
dynamic-routing Fix basepath router events (#14848) 2020-07-20 16:03:49 -04:00
empty-object-getInitialProps Stabilize another test (#15697) 2020-07-31 03:22:32 +00:00
empty-project Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
env-config Fix dotenv loading with cascading values (#15799) 2020-08-02 20:15:11 +00:00
error-in-error Stabilize more tests (#15470) 2020-07-26 04:57:06 +00:00
error-load-fail Update filename generation for client-side compilation (#14279) 2020-06-20 19:59:47 +00:00
errors-on-output-to-public Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
export Fix trailing slash handling in exporting pages with getStaticPaths (#14620) 2020-06-27 11:59:27 +00:00
export-default-map Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
export-default-map-serverless Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
export-dynamic-pages Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
export-dynamic-pages-serverless Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
export-fallback-true-error Add error when exporting pages with fallback: true (#13063) 2020-05-19 09:29:34 -04:00
export-intent Update to reject when test command fails (#13722) 2020-06-09 18:28:15 +00:00
export-override-404 Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
export-serverless Update references to zeit/next.js (#13463) 2020-05-27 17:51:11 -04:00
export-subfolders Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
export-subfolders-serverless Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
external-assets Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
externalize-next-server Remove buildId from server-side files (#14413) 2020-06-22 21:12:36 +00:00
fetch-polyfill Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
fetch-polyfill-ky-universal Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
file-serving Fix typo in test names: "treversing" → "traversing" (#14347) 2020-06-19 01:05:09 +00:00
filesystempublicroutes Update filename generation for client-side compilation (#14279) 2020-06-20 19:59:47 +00:00
firebase-grpc Add eslint-plugin-jest (#13003) 2020-05-18 13:16:07 -04:00
font-optimization Font optimizations (#14746) 2020-07-28 12:19:28 +02:00
future Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
getserversideprops Update routeKeys to handle non-word characters (#12801) 2020-06-16 13:49:13 +00:00
getserversideprops-export-error Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
getserversideprops-preview Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
gip-identifier Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
gssp-pageProps-merge Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
handle-non-page-in-pages Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
handles-export-errors Add failing paths to export error summary (#10026) 2020-05-26 19:50:25 +00:00
hydration Add no-anon-default-export Babel lint rule (#14519) 2020-06-30 13:05:29 +00:00
index-index Fix pages/index.js and pages/index/index.js behavior (#13699) 2020-06-04 17:32:45 +00:00
initial-ref Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
invalid-config-values Ignore nullish user configs (#10250) 2020-05-22 16:46:36 +00:00
invalid-custom-routes De-experimentalize custom-routes (#14602) 2020-06-27 09:18:18 +00:00
invalid-href Fix webdriver error handling (#15491) 2020-07-29 10:30:06 +00:00
invalid-multi-match De-experimentalize custom-routes (#14602) 2020-06-27 09:18:18 +00:00
invalid-page-automatic-static-optimization Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
invalid-server-options Detailed error and warnings upon next() call (#13539) 2020-06-03 03:19:29 +00:00
jsconfig Improve jsconfig.json error message (#13053) 2020-05-18 12:07:08 -04:00
jsconfig-baseurl Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
jsconfig-empty An empty jsconfig.json should not fail the build (#13051) 2020-05-18 12:31:15 -04:00
jsconfig-paths Add eslint-plugin-jest (#13003) 2020-05-18 13:16:07 -04:00
legacy-pkg-gently Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
legacy-sass Bring over fixes from #15185 (#15326) 2020-07-20 11:14:02 -04:00
legacy-ssg-methods-error Add eslint-plugin-jest (#13003) 2020-05-18 13:16:07 -04:00
link-ref Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
link-with-encoding Add test for query param bug #15233 (#15238) 2020-07-16 22:47:46 +00:00
mixed-ssg-serverprops-error Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
modern-mode Bring over fixes from #15185 (#15326) 2020-07-20 11:14:02 -04:00
next-dynamic Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
next-plugins Clean up render.tsx options (#13759) 2020-06-06 23:00:03 +00:00
no-anon-default-export Check for file name in anon export warning (#15061) 2020-07-12 15:33:39 +00:00
no-duplicate-compile-error Bring over fixes from #15185 (#15326) 2020-07-20 11:14:02 -04:00
no-override-next-props Update references to zeit/next.js (#13463) 2020-05-27 17:51:11 -04:00
no-page-props Add additional pageProps check (#15667) 2020-07-30 04:47:20 +00:00
non-next-dist-exclude Remove buildId from server-side files (#14413) 2020-06-22 21:12:36 +00:00
non-standard-node-env-warning Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
nullish-config Ignore nullish user configs (#10250) 2020-05-22 16:46:36 +00:00
ondemand Use entry option instead of custom make hook (#14527) 2020-06-26 04:26:09 +00:00
optional-chaining-nullish-coalescing Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
page-config Update references to zeit/next.js (#13463) 2020-05-27 17:51:11 -04:00
page-extensions Ignore nullish user configs (#10250) 2020-05-22 16:46:36 +00:00
plugin-mdx Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
polyfilling-minimal Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
polyfills Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
preload-viewport Update filename generation for client-side compilation (#14279) 2020-06-20 19:59:47 +00:00
prerender Stabilize revalidate (#15338) 2020-07-20 14:23:51 -04:00
prerender-invalid-catchall-params Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
prerender-invalid-paths Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
prerender-legacy Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
prerender-no-revalidate Remove buildId from server-side files (#14413) 2020-06-22 21:12:36 +00:00
prerender-preview Attach previewData to API Route request (#13373) 2020-07-06 23:41:16 -04:00
process-env-stub Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
production Add etag support for getServerSideProps/getStaticProps pages (#14760) 2020-07-01 14:59:18 +00:00
production-browser-sourcemaps Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
production-build-dir Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
production-config Remove refs to old css experiment (#13673) 2020-06-02 16:57:35 +00:00
production-nav Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
profiling Bring over fixes from #15185 (#15326) 2020-07-20 11:14:02 -04:00
query-with-encoding Stabilize more tests (#15470) 2020-07-26 04:57:06 +00:00
react-profiling-mode Convert profiling mode from configuration option to CLI switch (#14920) 2020-07-09 11:39:12 +00:00
relay-analytics Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
render-error-on-module-error Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
route-index Fix pages/index.js and pages/index/index.js behavior (#13699) 2020-06-04 17:32:45 +00:00
route-indexes Fix pages/index.js and pages/index/index.js behavior (#13699) 2020-06-04 17:32:45 +00:00
route-load-cancel Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
router-prefetch Always resolve after router.prefetch() (#15448) 2020-07-25 04:36:43 +00:00
scroll-back-restoration Stabilize more tests (#15470) 2020-07-26 04:57:06 +00:00
scroll-forward-restoration Re-enable scroll restoration behind flag (#14046) 2020-07-06 14:27:45 +00:00
scss/test Upgrade cssnano-simple dependency (#15488) 2020-07-26 23:56:36 -04:00
scss-fixtures Update references to zeit/next.js (#13463) 2020-05-27 17:51:11 -04:00
scss-modules/test Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
serverless Normalize trailing slashes (#13333) 2020-06-23 13:38:49 +02:00
serverless-runtime-configs Stabilize more tests (#15470) 2020-07-26 04:57:06 +00:00
serverless-trace Normalize trailing slashes (#13333) 2020-06-23 13:38:49 +02:00
size-limit Don't use assetprefix on getServerSideProps and getStaticProps (#15634) 2020-07-29 16:51:51 +00:00
src-dir-support Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
src-dir-support-double-dir Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
ssg-dynamic-routes-404-page Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
ssr-ctx Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
ssr-prepass Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
static-404 Remove buildId from server-side files (#14413) 2020-06-22 21:12:36 +00:00
static-page-name Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
styled-jsx-module Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
styled-jsx-plugin Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
telemetry Record presence of reportWebVitals (#13155) 2020-05-20 18:44:39 +00:00
trailing-slash-dist Update filename generation for client-side compilation (#14279) 2020-06-20 19:59:47 +00:00
trailing-slashes Simplify trailing slash regex (#15335) 2020-07-20 14:24:43 -04:00
tsconfig-verifier Drop module: esnext requirement in tsconfig.json (#15276) 2020-07-18 19:37:13 +00:00
typeof-window-replace Use chunkhash instead of buildId for pages (#13937) 2020-06-11 10:57:24 +02:00
typescript Stabilize revalidate (#15338) 2020-07-20 14:23:51 -04:00
typescript-baseurl Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
typescript-hmr Speedup tests (#13461) 2020-05-29 07:57:51 +00:00
typescript-ignore-errors Bring over fixes from #15185 (#15326) 2020-07-20 11:14:02 -04:00
typescript-numeric-sep-exclusive Use the jest-circus test runner (#12974) 2020-05-16 16:56:06 -04:00
typescript-only-remove-type-imports Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
typescript-paths Add eslint-plugin-jest (#13003) 2020-05-18 13:16:07 -04:00
typescript-workspaces-paths improves baseUrl resolution in typescript monorepos (#13542) 2020-07-28 12:00:27 +02:00
webpack-config-mainjs Add test for main.js in webpack.config.js (#15311) 2020-07-20 02:16:50 +00:00
with-router Speedup tests (#13461) 2020-05-29 07:57:51 +00:00
worker-loader Bring over fixes from #15185 (#15326) 2020-07-20 11:14:02 -04:00
test-file.txt Add additional file serving tests (#12479) 2020-05-04 11:58:19 -05:00