From f4092af87989e6c56b4bd20e9ad518d482a060ec Mon Sep 17 00:00:00 2001
From: Matthew Kwong <matthewkwong2@gmail.com>
Date: Sun, 20 Aug 2023 21:34:29 +0800
Subject: [PATCH] feat: re-enabling `compiler.emotion`

---
 next.config.js    |   1 +
 package-lock.json | 112 +++++++++++++++++++++++-----------------------
 package.json      |   6 +--
 3 files changed, 60 insertions(+), 59 deletions(-)

diff --git a/next.config.js b/next.config.js
index bfa79847..0e898f2f 100644
--- a/next.config.js
+++ b/next.config.js
@@ -5,6 +5,7 @@ const withBundleAnalyzer = require("@next/bundle-analyzer")({
 /** @type {import("next").NextConfig} */
 const nextConfig = {
   compiler: {
+    emotion: true,
     removeConsole: process.env.NODE_ENV === "production" && {
       exclude: ["error"],
     },
diff --git a/package-lock.json b/package-lock.json
index 4cc1e790..68382378 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -19,7 +19,7 @@
         "contentful": "^10.4.2",
         "lodash-es": "^4.17.21",
         "merge-sx": "^1.3.1",
-        "next": "^13.4.19",
+        "next": "canary",
         "react": "^18.2.0",
         "react-dom": "^18.2.0",
         "react-hook-form": "^7.45.4",
@@ -28,7 +28,7 @@
         "zod": "^3.22.2"
       },
       "devDependencies": {
-        "@next/bundle-analyzer": "^13.4.19",
+        "@next/bundle-analyzer": "canary",
         "@svgr/webpack": "^8.1.0",
         "@trivago/prettier-plugin-sort-imports": "^4.2.0",
         "@types/lodash-es": "^4.17.8",
@@ -38,7 +38,7 @@
         "@typescript-eslint/eslint-plugin": "^6.4.0",
         "@typescript-eslint/parser": "^6.4.0",
         "eslint": "^8.47.0",
-        "eslint-config-next": "^13.4.19",
+        "eslint-config-next": "canary",
         "eslint-config-prettier": "^9.0.0",
         "prettier": "^3.0.2",
         "schema-dts": "^1.1.2",
@@ -2486,32 +2486,32 @@
       }
     },
     "node_modules/@next/bundle-analyzer": {
-      "version": "13.4.19",
-      "resolved": "https://registry.npmjs.org/@next/bundle-analyzer/-/bundle-analyzer-13.4.19.tgz",
-      "integrity": "sha512-nXKHz63dM0Kn3XPFOKrv2wK+hP9rdBg2iR1PsxuXLHVBoZhMyS1/ldRcX80YFsm2VUws9zM4a0E/1HlLI+P92g==",
+      "version": "13.4.20-canary.0",
+      "resolved": "https://registry.npmjs.org/@next/bundle-analyzer/-/bundle-analyzer-13.4.20-canary.0.tgz",
+      "integrity": "sha512-jzs5sP8dFNf91uPMewy8jnsjas0RpNqYZc1NIDTfU98EHbm+mGfUgE+Po5GfGx2HOZwoVsEkbzaxK+Wj1iVUfA==",
       "dev": true,
       "dependencies": {
         "webpack-bundle-analyzer": "4.7.0"
       }
     },
     "node_modules/@next/env": {
-      "version": "13.4.19",
-      "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.19.tgz",
-      "integrity": "sha512-FsAT5x0jF2kkhNkKkukhsyYOrRqtSxrEhfliniIq0bwWbuXLgyt3Gv0Ml+b91XwjwArmuP7NxCiGd++GGKdNMQ=="
+      "version": "13.4.20-canary.0",
+      "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.20-canary.0.tgz",
+      "integrity": "sha512-ide8om5UP22Cx+8ACRZe2J8BA6u/s7VezHkpKrPHGIoyuPWQDCdnK8qo5LB6rNK6MExTpfBO/TvOivo7iUv8xA=="
     },
     "node_modules/@next/eslint-plugin-next": {
-      "version": "13.4.19",
-      "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.4.19.tgz",
-      "integrity": "sha512-N/O+zGb6wZQdwu6atMZHbR7T9Np5SUFUjZqCbj0sXm+MwQO35M8TazVB4otm87GkXYs2l6OPwARd3/PUWhZBVQ==",
+      "version": "13.4.20-canary.0",
+      "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.4.20-canary.0.tgz",
+      "integrity": "sha512-vFC1meiw/awh2xJZMWaoECsfZbgkt2fF3HIg8f2fSM/w41Z86L1SS7SjKmpbbD87yq3tiqgqHmFv0JCych4g4g==",
       "dev": true,
       "dependencies": {
         "glob": "7.1.7"
       }
     },
     "node_modules/@next/swc-darwin-arm64": {
-      "version": "13.4.19",
-      "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.19.tgz",
-      "integrity": "sha512-vv1qrjXeGbuF2mOkhkdxMDtv9np7W4mcBtaDnHU+yJG+bBwa6rYsYSCI/9Xm5+TuF5SbZbrWO6G1NfTh1TMjvQ==",
+      "version": "13.4.20-canary.0",
+      "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.20-canary.0.tgz",
+      "integrity": "sha512-t/pETJxl4iTkb88ftWWd4WBPfpj3gdm04hRDVv8ncJwmIFkTd4o/nNxp80xJwr3gxSAY2zQG4WK9preD1c8qtg==",
       "cpu": [
         "arm64"
       ],
@@ -2524,9 +2524,9 @@
       }
     },
     "node_modules/@next/swc-darwin-x64": {
-      "version": "13.4.19",
-      "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.19.tgz",
-      "integrity": "sha512-jyzO6wwYhx6F+7gD8ddZfuqO4TtpJdw3wyOduR4fxTUCm3aLw7YmHGYNjS0xRSYGAkLpBkH1E0RcelyId6lNsw==",
+      "version": "13.4.20-canary.0",
+      "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.20-canary.0.tgz",
+      "integrity": "sha512-RbCltDPKndNuAI6ZD7HpeiUvTkRNq3dErBwd8Fg0Wr/g+tvn/oBQhi6prZupBuJ74w4jxLDENMkr8//tH+QYXg==",
       "cpu": [
         "x64"
       ],
@@ -2539,9 +2539,9 @@
       }
     },
     "node_modules/@next/swc-linux-arm64-gnu": {
-      "version": "13.4.19",
-      "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.19.tgz",
-      "integrity": "sha512-vdlnIlaAEh6H+G6HrKZB9c2zJKnpPVKnA6LBwjwT2BTjxI7e0Hx30+FoWCgi50e+YO49p6oPOtesP9mXDRiiUg==",
+      "version": "13.4.20-canary.0",
+      "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.20-canary.0.tgz",
+      "integrity": "sha512-z6NmfpC1odJyjhGdpjZOJ5jZYWTqTOEYJudPjcqTXKgG2mUSFr4BfVVlPnsF7QQUI0Lweq3dVy/UU/uz67TLdw==",
       "cpu": [
         "arm64"
       ],
@@ -2554,9 +2554,9 @@
       }
     },
     "node_modules/@next/swc-linux-arm64-musl": {
-      "version": "13.4.19",
-      "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.19.tgz",
-      "integrity": "sha512-aU0HkH2XPgxqrbNRBFb3si9Ahu/CpaR5RPmN2s9GiM9qJCiBBlZtRTiEca+DC+xRPyCThTtWYgxjWHgU7ZkyvA==",
+      "version": "13.4.20-canary.0",
+      "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.20-canary.0.tgz",
+      "integrity": "sha512-hDcpZQLv5Ysd2v6o+FpXgV52PGxX0z2hhwTZU+E01Kk9KoTO2TKD+pMUEch1urgcDy9Y56B+ifLBuYhrN7H9XQ==",
       "cpu": [
         "arm64"
       ],
@@ -2569,9 +2569,9 @@
       }
     },
     "node_modules/@next/swc-linux-x64-gnu": {
-      "version": "13.4.19",
-      "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.19.tgz",
-      "integrity": "sha512-htwOEagMa/CXNykFFeAHHvMJeqZfNQEoQvHfsA4wgg5QqGNqD5soeCer4oGlCol6NGUxknrQO6VEustcv+Md+g==",
+      "version": "13.4.20-canary.0",
+      "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.20-canary.0.tgz",
+      "integrity": "sha512-OpZzQcW9RNsUP9mEd2oEvivo+c+n5vJe1pKGTK/nstoCeM7xJVc9i6HvRHU/KoBvWUBPu36CZpQwSPM5LR69iw==",
       "cpu": [
         "x64"
       ],
@@ -2584,9 +2584,9 @@
       }
     },
     "node_modules/@next/swc-linux-x64-musl": {
-      "version": "13.4.19",
-      "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.19.tgz",
-      "integrity": "sha512-4Gj4vvtbK1JH8ApWTT214b3GwUh9EKKQjY41hH/t+u55Knxi/0wesMzwQRhppK6Ddalhu0TEttbiJ+wRcoEj5Q==",
+      "version": "13.4.20-canary.0",
+      "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.20-canary.0.tgz",
+      "integrity": "sha512-fpZXK+/7C+CqbSLwA/fwYPweY/sKsk9FgBnggqCrY8Cgz5iwW8IOVBx9GzikMInU5MbNCi92tvvixhCemVpg+Q==",
       "cpu": [
         "x64"
       ],
@@ -2599,9 +2599,9 @@
       }
     },
     "node_modules/@next/swc-win32-arm64-msvc": {
-      "version": "13.4.19",
-      "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.19.tgz",
-      "integrity": "sha512-bUfDevQK4NsIAHXs3/JNgnvEY+LRyneDN788W2NYiRIIzmILjba7LaQTfihuFawZDhRtkYCv3JDC3B4TwnmRJw==",
+      "version": "13.4.20-canary.0",
+      "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.20-canary.0.tgz",
+      "integrity": "sha512-x5V9UX1QJwuO86X4Wm3/Ro1oAKwOwpMvw3IcYsIXAG8+yew2rsxRbpGFECjoYvHq5Zrv0vgXtcZCJP4Lp033rA==",
       "cpu": [
         "arm64"
       ],
@@ -2614,9 +2614,9 @@
       }
     },
     "node_modules/@next/swc-win32-ia32-msvc": {
-      "version": "13.4.19",
-      "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.19.tgz",
-      "integrity": "sha512-Y5kikILFAr81LYIFaw6j/NrOtmiM4Sf3GtOc0pn50ez2GCkr+oejYuKGcwAwq3jiTKuzF6OF4iT2INPoxRycEA==",
+      "version": "13.4.20-canary.0",
+      "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.20-canary.0.tgz",
+      "integrity": "sha512-Q25lDYBjfe9MxnpXtpc9WboTa+cTK6S9J+LLxUD1bO5przbF0uYfis43f3nJFeNpp68xCUGeou7obQWV8wEgZA==",
       "cpu": [
         "ia32"
       ],
@@ -2629,9 +2629,9 @@
       }
     },
     "node_modules/@next/swc-win32-x64-msvc": {
-      "version": "13.4.19",
-      "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.19.tgz",
-      "integrity": "sha512-YzA78jBDXMYiINdPdJJwGgPNT3YqBNNGhsthsDoWHL9p24tEJn9ViQf/ZqTbwSpX/RrkPupLfuuTH2sf73JBAw==",
+      "version": "13.4.20-canary.0",
+      "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.20-canary.0.tgz",
+      "integrity": "sha512-Ohp1Xp11VEMTLXiTqUvnO2XhlUikOpJbo8XCCcP+pn2euW+pXTs6fYDt8yzSGgkGval6FkgcXswgQH6aCnIjcA==",
       "cpu": [
         "x64"
       ],
@@ -4566,12 +4566,12 @@
       }
     },
     "node_modules/eslint-config-next": {
-      "version": "13.4.19",
-      "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.4.19.tgz",
-      "integrity": "sha512-WE8367sqMnjhWHvR5OivmfwENRQ1ixfNE9hZwQqNCsd+iM3KnuMc1V8Pt6ytgjxjf23D+xbesADv9x3xaKfT3g==",
+      "version": "13.4.20-canary.0",
+      "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.4.20-canary.0.tgz",
+      "integrity": "sha512-bzll9nmDAOXC7OBQ/3pYKzm5AlfpuLzENz/v7/Td3/V9Yr+pSpPnRuUx/WXm2r7SOPqVDiJKXsxekPBw0BMJyQ==",
       "dev": true,
       "dependencies": {
-        "@next/eslint-plugin-next": "13.4.19",
+        "@next/eslint-plugin-next": "13.4.20-canary.0",
         "@rushstack/eslint-patch": "^1.1.3",
         "@typescript-eslint/parser": "^5.4.2 || ^6.0.0",
         "eslint-import-resolver-node": "^0.3.6",
@@ -6192,11 +6192,11 @@
       "dev": true
     },
     "node_modules/next": {
-      "version": "13.4.19",
-      "resolved": "https://registry.npmjs.org/next/-/next-13.4.19.tgz",
-      "integrity": "sha512-HuPSzzAbJ1T4BD8e0bs6B9C1kWQ6gv8ykZoRWs5AQoiIuqbGHHdQO7Ljuvg05Q0Z24E2ABozHe6FxDvI6HfyAw==",
+      "version": "13.4.20-canary.0",
+      "resolved": "https://registry.npmjs.org/next/-/next-13.4.20-canary.0.tgz",
+      "integrity": "sha512-oeIDg/tXjw10kley5FYUeNqY1hbxlnccIbQnYTlgDZ+6UdlNyL6zDSR6UwAVxjhYsuGRhcgJuJDGEjGliTyE4g==",
       "dependencies": {
-        "@next/env": "13.4.19",
+        "@next/env": "13.4.20-canary.0",
         "@swc/helpers": "0.5.1",
         "busboy": "1.6.0",
         "caniuse-lite": "^1.0.30001406",
@@ -6212,15 +6212,15 @@
         "node": ">=16.8.0"
       },
       "optionalDependencies": {
-        "@next/swc-darwin-arm64": "13.4.19",
-        "@next/swc-darwin-x64": "13.4.19",
-        "@next/swc-linux-arm64-gnu": "13.4.19",
-        "@next/swc-linux-arm64-musl": "13.4.19",
-        "@next/swc-linux-x64-gnu": "13.4.19",
-        "@next/swc-linux-x64-musl": "13.4.19",
-        "@next/swc-win32-arm64-msvc": "13.4.19",
-        "@next/swc-win32-ia32-msvc": "13.4.19",
-        "@next/swc-win32-x64-msvc": "13.4.19"
+        "@next/swc-darwin-arm64": "13.4.20-canary.0",
+        "@next/swc-darwin-x64": "13.4.20-canary.0",
+        "@next/swc-linux-arm64-gnu": "13.4.20-canary.0",
+        "@next/swc-linux-arm64-musl": "13.4.20-canary.0",
+        "@next/swc-linux-x64-gnu": "13.4.20-canary.0",
+        "@next/swc-linux-x64-musl": "13.4.20-canary.0",
+        "@next/swc-win32-arm64-msvc": "13.4.20-canary.0",
+        "@next/swc-win32-ia32-msvc": "13.4.20-canary.0",
+        "@next/swc-win32-x64-msvc": "13.4.20-canary.0"
       },
       "peerDependencies": {
         "@opentelemetry/api": "^1.1.0",
diff --git a/package.json b/package.json
index 64895b24..1527bf1d 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,7 @@
     "contentful": "^10.4.2",
     "lodash-es": "^4.17.21",
     "merge-sx": "^1.3.1",
-    "next": "^13.4.19",
+    "next": "canary",
     "react": "^18.2.0",
     "react-dom": "^18.2.0",
     "react-hook-form": "^7.45.4",
@@ -30,7 +30,7 @@
     "zod": "^3.22.2"
   },
   "devDependencies": {
-    "@next/bundle-analyzer": "^13.4.19",
+    "@next/bundle-analyzer": "canary",
     "@svgr/webpack": "^8.1.0",
     "@trivago/prettier-plugin-sort-imports": "^4.2.0",
     "@types/lodash-es": "^4.17.8",
@@ -40,7 +40,7 @@
     "@typescript-eslint/eslint-plugin": "^6.4.0",
     "@typescript-eslint/parser": "^6.4.0",
     "eslint": "^8.47.0",
-    "eslint-config-next": "^13.4.19",
+    "eslint-config-next": "canary",
     "eslint-config-prettier": "^9.0.0",
     "prettier": "^3.0.2",
     "schema-dts": "^1.1.2",