diff --git a/contentlayer.config.js b/contentlayer.config.js index efd5301..842659d 100644 --- a/contentlayer.config.js +++ b/contentlayer.config.js @@ -2,7 +2,7 @@ import { defineDocumentType, defineNestedType, makeSource, -} from "@contentlayer-temp/source-files"; +} from "@contentlayer2/source-files"; import rehypePrettyCode from "rehype-pretty-code"; import rehypeSlug from "rehype-slug"; import { codeImport } from "remark-code-import"; @@ -11,7 +11,7 @@ import { visit } from "unist-util-visit"; import { rehypeComponent } from "./src/lib/rehype-component"; import { rehypeNpmCommand } from "./src/lib/rehype-installation-command"; -/** @type {import('@contentlayer-temp/source-files').ComputedFields} */ +/** @type {import('@contentlayer2/source-files').ComputedFields} */ const computedFields = { slug: { type: "string", diff --git a/next.config.mjs b/next.config.mjs index 00680ca..34cec21 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -1,4 +1,4 @@ -import { createContentlayerPlugin } from "next-contentlayer-temp"; +import { createContentlayerPlugin } from "next-contentlayer2"; /** @type {import('next').NextConfig} */ const nextConfig = { diff --git a/package-lock.json b/package-lock.json index c8d4f38..b8c5eba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,7 @@ "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", "cmdk": "^0.2.1", - "contentlayer-temp": "^0.4.4", + "contentlayer2": "^0.4.4", "date-fns": "^3.3.1", "embla-carousel": "^8.0.1", "embla-carousel-auto-scroll": "^8.0.1", @@ -40,7 +40,7 @@ "mdast-util-toc": "^7.0.0", "mini-svg-data-uri": "^1.4.4", "next": "^14.1.2", - "next-contentlayer-temp": "^0.4.4", + "next-contentlayer2": "^0.4.4", "next-themes": "^0.2.1", "posthog-js": "^1.116.5", "react": "^18", @@ -107,36 +107,36 @@ "node": ">=6.9.0" } }, - "node_modules/@contentlayer-temp/cli": { + "node_modules/@contentlayer2/cli": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@contentlayer-temp/cli/-/cli-0.4.1.tgz", - "integrity": "sha512-zOEt+avtr89FlJLQ45qBXv1RJ/qds4XF2aLpWF6Gv8NqJA00J+BOd50u29CD89/KxeMa0YdLtW9EoN0+wKktww==", + "resolved": "https://registry.npmjs.org/@contentlayer2/cli/-/cli-0.4.1.tgz", + "integrity": "sha512-LJRwfpwrke+T/KyBebw3we4fsOWsOUjD3qQxfKHi6eMln2Va4YftvuCckbGsiSrBK0BMfdQLBrhtAaHejJB8iQ==", "dependencies": { - "@contentlayer-temp/core": "0.4.1", - "@contentlayer-temp/utils": "0.4.1", + "@contentlayer2/core": "0.4.1", + "@contentlayer2/utils": "0.4.1", "clipanion": "^3.2.1", "typanion": "^3.12.1" } }, - "node_modules/@contentlayer-temp/client": { + "node_modules/@contentlayer2/client": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@contentlayer-temp/client/-/client-0.4.1.tgz", - "integrity": "sha512-C2ZCgrtuTtnNT9znf8rBci7Mc+VboEpY5wsjUlDrqYcAJ2ZlJ9Ax+aH+xLFm2JOEjJv4GBo5zUAH2waiVOTREQ==", + "resolved": "https://registry.npmjs.org/@contentlayer2/client/-/client-0.4.1.tgz", + "integrity": "sha512-pNIDmcixMhnzb3Epd++uxfHRaxw+vZPcmDBe/W8un5QzGpiLR5IlnKuYHM/3c6pxmOuUJPUIkVjNPCKHfccuuQ==", "dependencies": { - "@contentlayer-temp/core": "0.4.1" + "@contentlayer2/core": "0.4.1" } }, - "node_modules/@contentlayer-temp/core": { + "node_modules/@contentlayer2/core": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@contentlayer-temp/core/-/core-0.4.1.tgz", - "integrity": "sha512-bZ/RGcujVnws4luHA3AqekNdx5Fsday2bY0iOfdRyCpJCzIpV5gi/BmrQEFBtSzle9DJUBEYjc4UK1Xwh6sUuA==", + "resolved": "https://registry.npmjs.org/@contentlayer2/core/-/core-0.4.1.tgz", + "integrity": "sha512-VQ1bWtLTCPpM8n/DXiKxYvtaVNpVEDlgOCHvXxj5507iAfM1qw5VcCHv9VSo1KZpajdnl7Abkju03ZomwCtpYg==", "dependencies": { - "@contentlayer-temp/utils": "0.4.1", + "@contentlayer2/utils": "0.4.1", "camel-case": "^4.1.2", "comment-json": "^4.2.3", "esbuild": "0.17.x || 0.18.x || 0.19.x || 0.20.x", "gray-matter": "^4.0.3", - "mdx-bundler": "^10.0.1", + "mdx-bundler": "^10.0.2", "rehype-stringify": "^10.0.0", "remark-frontmatter": "^5.0.0", "remark-parse": "^11.0.0", @@ -158,10 +158,10 @@ } } }, - "node_modules/@contentlayer-temp/core/node_modules/type-fest": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.12.0.tgz", - "integrity": "sha512-5Y2/pp2wtJk8o08G0CMkuFPCO354FGwk/vbidxrdhRGZfd0tFnb4Qb8anp9XxXriwBgVPjdWbKpGl4J9lJY2jQ==", + "node_modules/@contentlayer2/core/node_modules/type-fest": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.15.0.tgz", + "integrity": "sha512-tB9lu0pQpX5KJq54g+oHOLumOx+pMep4RaM6liXh2PKmVRFF+/vAtUP0ZaJ0kOySfVNjF6doBWPHhBhISKdlIA==", "engines": { "node": ">=16" }, @@ -169,13 +169,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@contentlayer-temp/source-files": { + "node_modules/@contentlayer2/source-files": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@contentlayer-temp/source-files/-/source-files-0.4.1.tgz", - "integrity": "sha512-sGtLJ7RALRZHt7po3tCqILCqGw8sp+k3zPFwK2S/fY3vSCj6GyR9VesxHHLbPOf61h00tB0AzU/BiSPPXTsluQ==", + "resolved": "https://registry.npmjs.org/@contentlayer2/source-files/-/source-files-0.4.1.tgz", + "integrity": "sha512-j088FXgSSSNEh/jg/4DkkS0fYtrW80OAZ/JVBQR5NTe+125HOKoCVzvyF42MNJJ3KizueSrhEaTNqQ1pZ76cJg==", "dependencies": { - "@contentlayer-temp/core": "0.4.1", - "@contentlayer-temp/utils": "0.4.1", + "@contentlayer2/core": "0.4.1", + "@contentlayer2/utils": "0.4.1", "chokidar": "^3.5.3", "fast-glob": "^3.2.12", "gray-matter": "^4.0.3", @@ -187,20 +187,20 @@ "zod": "^3.22.4" } }, - "node_modules/@contentlayer-temp/source-remote-files": { + "node_modules/@contentlayer2/source-remote-files": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@contentlayer-temp/source-remote-files/-/source-remote-files-0.4.1.tgz", - "integrity": "sha512-zPVHDcaSHg+AOPnTPyviD07etFM5BwpA1nsI0adGzoQQZfA7PJhgAcvbDNHUvZMn+tKBj7umzzQIA+g6ILQa3g==", + "resolved": "https://registry.npmjs.org/@contentlayer2/source-remote-files/-/source-remote-files-0.4.1.tgz", + "integrity": "sha512-7JIGyi0PN7pK4zyjv22jGLTAMX5kuO7zn/WH/VmfbJETNHgEMHul0yY7xXtKe6GPklz7VEUmbMbGCnfw+JAPJw==", "dependencies": { - "@contentlayer-temp/core": "0.4.1", - "@contentlayer-temp/source-files": "0.4.1", - "@contentlayer-temp/utils": "0.4.1" + "@contentlayer2/core": "0.4.1", + "@contentlayer2/source-files": "0.4.1", + "@contentlayer2/utils": "0.4.1" } }, - "node_modules/@contentlayer-temp/utils": { + "node_modules/@contentlayer2/utils": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@contentlayer-temp/utils/-/utils-0.4.1.tgz", - "integrity": "sha512-5GS7+q4cUpJNAohG+yPIASwB21mVQknsbLHHDApDa4721y2dGnJHEgK9nK61sbrZ+ss5lnxM3DHGpGjlRkFSRg==", + "resolved": "https://registry.npmjs.org/@contentlayer2/utils/-/utils-0.4.1.tgz", + "integrity": "sha512-9K2fbbk3+MJg3HPzqQNjrp9fxL4vb/uzwaPHUH4cCTTldd1fJvm2n66Ec9CNrYvfs0bejw3+wzzvQFTvxFBI7g==", "dependencies": { "@effect-ts/core": "^0.60.5", "@effect-ts/otel": "^0.15.1", @@ -234,7 +234,7 @@ } } }, - "node_modules/@contentlayer-temp/utils/node_modules/@opentelemetry/api": { + "node_modules/@contentlayer2/utils/node_modules/@opentelemetry/api": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.8.0.tgz", "integrity": "sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==", @@ -242,7 +242,7 @@ "node": ">=8.0.0" } }, - "node_modules/@contentlayer-temp/utils/node_modules/@opentelemetry/api-logs": { + "node_modules/@contentlayer2/utils/node_modules/@opentelemetry/api-logs": { "version": "0.48.0", "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.48.0.tgz", "integrity": "sha512-1/aMiU4Eqo3Zzpfwu51uXssp5pzvHFObk8S9pKAiXb1ne8pvg1qxBQitYL1XUiAMEXFzgjaidYG2V6624DRhhw==", @@ -253,7 +253,7 @@ "node": ">=14" } }, - "node_modules/@contentlayer-temp/utils/node_modules/@opentelemetry/core": { + "node_modules/@contentlayer2/utils/node_modules/@opentelemetry/core": { "version": "1.21.0", "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.21.0.tgz", "integrity": "sha512-KP+OIweb3wYoP7qTYL/j5IpOlu52uxBv5M4+QhSmmUfLyTgu1OIS71msK3chFo1D6Y61BIH3wMiMYRCxJCQctA==", @@ -267,7 +267,7 @@ "@opentelemetry/api": ">=1.0.0 <1.8.0" } }, - "node_modules/@contentlayer-temp/utils/node_modules/@opentelemetry/exporter-trace-otlp-grpc": { + "node_modules/@contentlayer2/utils/node_modules/@opentelemetry/exporter-trace-otlp-grpc": { "version": "0.48.0", "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.48.0.tgz", "integrity": "sha512-+qRQXUbdRW6aNRT5yWOG3G6My1VxxKeqgUyLkkdIjkT20lvymjiN2RpBfGMtAf/oqnuRknf9snFl9VSIO2gniw==", @@ -286,7 +286,7 @@ "@opentelemetry/api": "^1.0.0" } }, - "node_modules/@contentlayer-temp/utils/node_modules/@opentelemetry/otlp-exporter-base": { + "node_modules/@contentlayer2/utils/node_modules/@opentelemetry/otlp-exporter-base": { "version": "0.48.0", "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.48.0.tgz", "integrity": "sha512-T4LJND+Ugl87GUONoyoQzuV9qCn4BFIPOnCH1biYqdGhc2JahjuLqVD9aefwLzGBW638iLAo88Lh68h2F1FLiA==", @@ -300,7 +300,7 @@ "@opentelemetry/api": "^1.0.0" } }, - "node_modules/@contentlayer-temp/utils/node_modules/@opentelemetry/otlp-grpc-exporter-base": { + "node_modules/@contentlayer2/utils/node_modules/@opentelemetry/otlp-grpc-exporter-base": { "version": "0.48.0", "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.48.0.tgz", "integrity": "sha512-Vdp56RK9OU+Oeoy3YQC/UMOWglKQ9qvgGr49FgF4r8vk5DlcTUgVS0m3KG8pykmRPA+5ZKaDuqwPw5aTvWmHFw==", @@ -317,7 +317,7 @@ "@opentelemetry/api": "^1.0.0" } }, - "node_modules/@contentlayer-temp/utils/node_modules/@opentelemetry/otlp-transformer": { + "node_modules/@contentlayer2/utils/node_modules/@opentelemetry/otlp-transformer": { "version": "0.48.0", "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.48.0.tgz", "integrity": "sha512-yuoS4cUumaTK/hhxW3JUy3wl2U4keMo01cFDrUOmjloAdSSXvv1zyQ920IIH4lymp5Xd21Dj2/jq2LOro56TJg==", @@ -336,7 +336,7 @@ "@opentelemetry/api": ">=1.3.0 <1.8.0" } }, - "node_modules/@contentlayer-temp/utils/node_modules/@opentelemetry/resources": { + "node_modules/@contentlayer2/utils/node_modules/@opentelemetry/resources": { "version": "1.21.0", "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.21.0.tgz", "integrity": "sha512-1Z86FUxPKL6zWVy2LdhueEGl9AHDJcx+bvHStxomruz6Whd02mE3lNUMjVJ+FGRoktx/xYQcxccYb03DiUP6Yw==", @@ -351,7 +351,7 @@ "@opentelemetry/api": ">=1.0.0 <1.8.0" } }, - "node_modules/@contentlayer-temp/utils/node_modules/@opentelemetry/sdk-logs": { + "node_modules/@contentlayer2/utils/node_modules/@opentelemetry/sdk-logs": { "version": "0.48.0", "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.48.0.tgz", "integrity": "sha512-lRcA5/qkSJuSh4ItWCddhdn/nNbVvnzM+cm9Fg1xpZUeTeozjJDBcHnmeKoOaWRnrGYBdz6UTY6bynZR9aBeAA==", @@ -367,7 +367,7 @@ "@opentelemetry/api-logs": ">=0.39.1" } }, - "node_modules/@contentlayer-temp/utils/node_modules/@opentelemetry/sdk-metrics": { + "node_modules/@contentlayer2/utils/node_modules/@opentelemetry/sdk-metrics": { "version": "1.21.0", "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.21.0.tgz", "integrity": "sha512-on1jTzIHc5DyWhRP+xpf+zrgrREXcHBH4EDAfaB5mIG7TWpKxNXooQ1JCylaPsswZUv4wGnVTinr4HrBdGARAQ==", @@ -383,7 +383,7 @@ "@opentelemetry/api": ">=1.3.0 <1.8.0" } }, - "node_modules/@contentlayer-temp/utils/node_modules/@opentelemetry/sdk-trace-base": { + "node_modules/@contentlayer2/utils/node_modules/@opentelemetry/sdk-trace-base": { "version": "1.21.0", "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.21.0.tgz", "integrity": "sha512-yrElGX5Fv0umzp8Nxpta/XqU71+jCAyaLk34GmBzNcrW43nqbrqvdPs4gj4MVy/HcTjr6hifCDCYA3rMkajxxA==", @@ -399,7 +399,7 @@ "@opentelemetry/api": ">=1.0.0 <1.8.0" } }, - "node_modules/@contentlayer-temp/utils/node_modules/@opentelemetry/semantic-conventions": { + "node_modules/@contentlayer2/utils/node_modules/@opentelemetry/semantic-conventions": { "version": "1.21.0", "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.21.0.tgz", "integrity": "sha512-lkC8kZYntxVKr7b8xmjCVUgE0a8xgDakPyDo9uSWavXPyYqLgYYGdEd2j8NxihRyb6UwpX3G/hFUF4/9q2V+/g==", @@ -407,10 +407,10 @@ "node": ">=14" } }, - "node_modules/@contentlayer-temp/utils/node_modules/type-fest": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.12.0.tgz", - "integrity": "sha512-5Y2/pp2wtJk8o08G0CMkuFPCO354FGwk/vbidxrdhRGZfd0tFnb4Qb8anp9XxXriwBgVPjdWbKpGl4J9lJY2jQ==", + "node_modules/@contentlayer2/utils/node_modules/type-fest": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.15.0.tgz", + "integrity": "sha512-tB9lu0pQpX5KJq54g+oHOLumOx+pMep4RaM6liXh2PKmVRFF+/vAtUP0ZaJ0kOySfVNjF6doBWPHhBhISKdlIA==", "engines": { "node": ">=16" }, @@ -4377,21 +4377,21 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "node_modules/contentlayer-temp": { + "node_modules/contentlayer2": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/contentlayer-temp/-/contentlayer-temp-0.4.4.tgz", - "integrity": "sha512-1JSq4aWDywS2rFbIIj3fZ3oWCCFHmNyDQ/fa/C6HV88SUCen/lx6QhV95TNFnn4/A1NjGUAbcahctVHyxFOKpw==", + "resolved": "https://registry.npmjs.org/contentlayer2/-/contentlayer2-0.4.4.tgz", + "integrity": "sha512-5icYlVn6+yp6o2r2z4xOyr1YZI3s/ox5I+InQwKFIN2kSzs7OQbghsD0m5ZC2LE8w9Msfdv8+niCOwCv6V/HqQ==", "hasInstallScript": true, "dependencies": { - "@contentlayer-temp/cli": "0.4.1", - "@contentlayer-temp/client": "0.4.1", - "@contentlayer-temp/core": "0.4.1", - "@contentlayer-temp/source-files": "0.4.1", - "@contentlayer-temp/source-remote-files": "0.4.1", - "@contentlayer-temp/utils": "0.4.1" + "@contentlayer2/cli": "0.4.1", + "@contentlayer2/client": "0.4.1", + "@contentlayer2/core": "0.4.1", + "@contentlayer2/source-files": "0.4.1", + "@contentlayer2/source-remote-files": "0.4.1", + "@contentlayer2/utils": "0.4.1" }, "bin": { - "contentlayer-temp": "bin/cli.cjs" + "contentlayer2": "bin/cli.cjs" }, "engines": { "node": ">=14.18" @@ -7336,9 +7336,9 @@ } }, "node_modules/mdx-bundler": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/mdx-bundler/-/mdx-bundler-10.0.1.tgz", - "integrity": "sha512-y/+RtkJf+vTQTl8Ae/zql42igpcp44ja8a2S74tWq87rX+R22Zwn4OmPc5APO+xhIaIy/I1oxoxlPrt4GwEuGQ==", + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/mdx-bundler/-/mdx-bundler-10.0.2.tgz", + "integrity": "sha512-0wF0zoCv+Ms4G+eSlk/jaKYoJHc0oXBaOma3kYlFJiKq9H8h41Dd66ioDBGF4noy80Pf7KTBQlyHfEpTqVml7A==", "dependencies": { "@babel/runtime": "^7.23.2", "@esbuild-plugins/node-resolve": "^0.2.2", @@ -8245,16 +8245,16 @@ } } }, - "node_modules/next-contentlayer-temp": { + "node_modules/next-contentlayer2": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/next-contentlayer-temp/-/next-contentlayer-temp-0.4.4.tgz", - "integrity": "sha512-UYPzpEoQFgZ8MgCd1ts+37kZztwV7st2JOqWuepB6jZeD+emJABLGTP33/3+7/RzScoHf2M1e+6H0pV96ONXrg==", + "resolved": "https://registry.npmjs.org/next-contentlayer2/-/next-contentlayer2-0.4.4.tgz", + "integrity": "sha512-wpmYxTUNf2nIb3X2ej3+E1spUFIuHqvTJq07KE9Pcn4v62NT17jdNUCSDbep3Dt7jU+6gu8oWxzS2+3DoKzuLQ==", "dependencies": { - "@contentlayer-temp/core": "0.4.1", - "@contentlayer-temp/utils": "0.4.1" + "@contentlayer2/core": "0.4.1", + "@contentlayer2/utils": "0.4.1" }, "peerDependencies": { - "contentlayer-temp": "0.4.4", + "contentlayer2": "0.4.4", "next": "^12 || ^13 || ^14", "react": "*", "react-dom": "*" diff --git a/package.json b/package.json index 6dc6a42..b9dc8ee 100644 --- a/package.json +++ b/package.json @@ -4,12 +4,12 @@ "private": true, "scripts": { "dev": "next dev --turbo", - "build": "contentlayer-temp build && npm run build:registry && next build", + "build": "contentlayer2 build && npm run build:registry && next build", "start": "next start", "lint": "next lint", "build:test": "npm run typecheck && npm run build:registry && next build && next start -p 3001", "build:registry": "npx tsx --tsconfig ./src/script/tsconfig.scripts.json ./src/script/registry-builder.ts", - "typecheck": "contentlayer-temp build && tsc --noEmit", + "typecheck": "contentlayer2 build && tsc --noEmit", "format": "prettier --write \"**/*.{ts,tsx,mdx}\" --cache" }, "dependencies": { @@ -34,7 +34,7 @@ "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", "cmdk": "^0.2.1", - "contentlayer-temp": "^0.4.4", + "contentlayer2": "^0.4.4", "date-fns": "^3.3.1", "embla-carousel": "^8.0.1", "embla-carousel-auto-scroll": "^8.0.1", @@ -45,7 +45,7 @@ "mdast-util-toc": "^7.0.0", "mini-svg-data-uri": "^1.4.4", "next": "^14.1.2", - "next-contentlayer-temp": "^0.4.4", + "next-contentlayer2": "^0.4.4", "next-themes": "^0.2.1", "posthog-js": "^1.116.5", "react": "^18", diff --git a/src/components/mdx-component.tsx b/src/components/mdx-component.tsx index 9ed7972..4fa7ce6 100644 --- a/src/components/mdx-component.tsx +++ b/src/components/mdx-component.tsx @@ -3,7 +3,7 @@ import * as React from "react"; import Image from "next/image"; import Link from "next/link"; -import { useMDXComponent } from "next-contentlayer-temp/hooks"; +import { useMDXComponent } from "next-contentlayer2/hooks"; import { NpmCommands } from "../types/unist"; import { Event } from "@/lib/events"; import { cn } from "@/lib/utils";