diff --git a/examples/next-images/app/posts/[slug]/page.tsx b/examples/next-images/app/posts/[slug]/page.tsx index a53adb6c..f6179af4 100644 --- a/examples/next-images/app/posts/[slug]/page.tsx +++ b/examples/next-images/app/posts/[slug]/page.tsx @@ -5,12 +5,14 @@ import Image from 'next/image' export const generateStaticParams = async () => allPosts.map((post) => ({ slug: post._raw.flattenedPath })) -export const generateMetadata = ({ params }) => { +export const generateMetadata = async props => { + const params = await props.params; const post = allPosts.find((post) => post._raw.flattenedPath === params.slug) return { title: post.title } } -const PostLayout = ({ params }: { params: { slug: string } }) => { +const PostLayout = async (props: { params: Promise<{ slug: string }> }) => { + const params = await props.params; const post = allPosts.find((post) => post._raw.flattenedPath === params.slug) const Content = getMDXComponent(post.body.code) diff --git a/examples/next-images/next-env.d.ts b/examples/next-images/next-env.d.ts index 4f11a03d..1b3be084 100644 --- a/examples/next-images/next-env.d.ts +++ b/examples/next-images/next-env.d.ts @@ -2,4 +2,4 @@ /// // NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/examples/next-images/package.json b/examples/next-images/package.json index d2ab470e..54c1547e 100644 --- a/examples/next-images/package.json +++ b/examples/next-images/package.json @@ -9,17 +9,17 @@ }, "dependencies": { "contentlayer2": "latest", - "date-fns": "3.6.0", - "next": "^14.1.0", + "date-fns": "4.1.0", + "next": "^15.2.4", "next-contentlayer2": "latest", - "react": "^18.2.0", - "react-dom": "^18.2.0" + "react": "^19.1.0", + "react-dom": "^19.1.0" }, "devDependencies": { - "@types/react": "18.2.14", - "autoprefixer": "^10.4.14", + "@tailwindcss/postcss": "4.0.17", + "@types/react": "19.0.12", "postcss": "^8.4.24", - "tailwindcss": "^3.3.2", + "tailwindcss": "4.0.17", "typescript": "^5.5.0" } } diff --git a/examples/next-images/postcss.config.js b/examples/next-images/postcss.config.js index 33ad091d..52b9b4ba 100644 --- a/examples/next-images/postcss.config.js +++ b/examples/next-images/postcss.config.js @@ -1,6 +1,5 @@ module.exports = { plugins: { - tailwindcss: {}, - autoprefixer: {}, + '@tailwindcss/postcss': {}, }, } diff --git a/examples/next-images/styles/globals.css b/examples/next-images/styles/globals.css index 38b0de3c..0d99ed66 100644 --- a/examples/next-images/styles/globals.css +++ b/examples/next-images/styles/globals.css @@ -1,8 +1,31 @@ -@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;700&display=swap"); +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;700&display=swap') +layer(base); -@tailwind base; -@tailwind components; -@tailwind utilities; +@import 'tailwindcss'; + +@theme { + --font-sans: + Inter, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', + 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; +} + +/* + The default border color has changed to `currentColor` in Tailwind CSS v4, + so we've added these compatibility styles to make sure everything still + looks the same as it did with Tailwind CSS v3. + + If we ever want to remove these styles, we need to add an explicit border + color utility to any element that depends on these defaults. +*/ +@layer base { + *, + ::after, + ::before, + ::backdrop, + ::file-selector-button { + border-color: var(--color-gray-200, currentColor); + } +} p { @apply mb-4; diff --git a/examples/next-images/tailwind.config.js b/examples/next-images/tailwind.config.js deleted file mode 100644 index 6b31564f..00000000 --- a/examples/next-images/tailwind.config.js +++ /dev/null @@ -1,17 +0,0 @@ -const defaultTheme = require("tailwindcss/defaultTheme"); - -module.exports = { - content: [ - "./app/**/*.{js,ts,jsx,tsx}", - "./pages/**/*.{js,ts,jsx,tsx}", - "./components/**/*.{js,ts,jsx,tsx}", - ], - theme: { - extend: { - fontFamily: { - sans: ["Inter", ...defaultTheme.fontFamily.sans], - }, - }, - }, - plugins: [], -}; diff --git a/examples/next-rsc-dynamic/app/[...slug]/page.tsx b/examples/next-rsc-dynamic/app/[...slug]/page.tsx index ce1fe005..dc7ee94f 100644 --- a/examples/next-rsc-dynamic/app/[...slug]/page.tsx +++ b/examples/next-rsc-dynamic/app/[...slug]/page.tsx @@ -2,7 +2,8 @@ import { allPosts } from 'contentlayer/generated' export const generateStaticParams = async () => allPosts.map((post) => ({ slug: post._raw.flattenedPath.split('/') })) -const PostLayout = async ({ params }: { params: { slug: string[]; tag: string } }) => { +const PostLayout = async (props: { params: Promise<{ slug: string[]; tag: string }> }) => { + const params = await props.params; const slug = params.slug.join('/') const post = allPosts.find((post) => post._raw.flattenedPath === slug) diff --git a/examples/next-rsc-dynamic/app/page.tsx b/examples/next-rsc-dynamic/app/page.tsx index 0d624a74..b37e316e 100644 --- a/examples/next-rsc-dynamic/app/page.tsx +++ b/examples/next-rsc-dynamic/app/page.tsx @@ -1,7 +1,7 @@ import Link from 'next/link' -import { allPosts, Post } from 'contentlayer/generated' +import { allPosts } from 'contentlayer/generated' -export default async function Home({ params }: { params: { tag: string } }) { +export default async function Home() { return (

Next.js docs

diff --git a/examples/next-rsc-dynamic/app/v/[tag]/[...slug]/page.tsx b/examples/next-rsc-dynamic/app/v/[tag]/[...slug]/page.tsx index 73f0a608..9ad2d5e7 100644 --- a/examples/next-rsc-dynamic/app/v/[tag]/[...slug]/page.tsx +++ b/examples/next-rsc-dynamic/app/v/[tag]/[...slug]/page.tsx @@ -1,6 +1,7 @@ import { fetchContent } from 'contentlayer/generated' -export const generateMetadata = async ({ params }: { params: { tag: string; slug: string[] } }) => { +export const generateMetadata = async (props: { params: Promise<{ tag: string; slug: string[] }> }) => { + const params = await props.params; const contentResult = await fetchContent(params.tag) if (contentResult._tag === 'Error') { @@ -21,7 +22,8 @@ export const generateMetadata = async ({ params }: { params: { tag: string; slug } } -const PostLayout = async ({ params }: { params: { slug: string[]; tag: string } }) => { +const PostLayout = async (props: { params: Promise<{ slug: string[]; tag: string }> }) => { + const params = await props.params; const contentResult = await fetchContent(params.tag) if (contentResult._tag === 'Error') { diff --git a/examples/next-rsc-dynamic/app/v/[tag]/page.tsx b/examples/next-rsc-dynamic/app/v/[tag]/page.tsx index 75688b73..d2c19fb9 100644 --- a/examples/next-rsc-dynamic/app/v/[tag]/page.tsx +++ b/examples/next-rsc-dynamic/app/v/[tag]/page.tsx @@ -2,7 +2,8 @@ import Link from 'next/link' import { compareDesc, format, parseISO } from 'date-fns' import { fetchContent, Post } from 'contentlayer/generated' -export default async function Home({ params }: { params: { tag: string } }) { +export default async function Home(props: { params: Promise<{ tag: string }> }) { + const params = await props.params; const contentResult = await fetchContent(params.tag) if (contentResult._tag === 'Error') { @@ -17,16 +18,15 @@ export default async function Home({ params }: { params: { tag: string } }) { const { allPosts } = contentResult.data return ( -
+ (

Next.js docs

Branch/Tag: {params.tag}

- {allPosts.map((post, idx) => ( -
+ (
{post.url} -
+
) // ))} -
- ) +
) + ); } diff --git a/examples/next-rsc-dynamic/next-env.d.ts b/examples/next-rsc-dynamic/next-env.d.ts index 4f11a03d..1b3be084 100644 --- a/examples/next-rsc-dynamic/next-env.d.ts +++ b/examples/next-rsc-dynamic/next-env.d.ts @@ -2,4 +2,4 @@ /// // NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/examples/next-rsc-dynamic/package.json b/examples/next-rsc-dynamic/package.json index 8feefe73..8cf84db1 100644 --- a/examples/next-rsc-dynamic/package.json +++ b/examples/next-rsc-dynamic/package.json @@ -9,17 +9,17 @@ }, "dependencies": { "contentlayer2": "latest", - "date-fns": "3.6.0", - "next": "^14.1.0", + "date-fns": "4.1.0", + "next": "^15.2.4", "next-contentlayer2": "latest", - "react": "^18.2.0", - "react-dom": "^18.2.0" + "react": "^19.1.0", + "react-dom": "^19.1.0" }, "devDependencies": { - "@types/react": "18.2.14", - "autoprefixer": "^10.4.14", + "@tailwindcss/postcss": "4.0.17", + "@types/react": "19.0.12", "postcss": "^8.4.24", - "tailwindcss": "^3.3.2", + "tailwindcss": "4.0.17", "typescript": "^5.5.0" } } diff --git a/examples/next-rsc-dynamic/postcss.config.js b/examples/next-rsc-dynamic/postcss.config.js index 33ad091d..52b9b4ba 100644 --- a/examples/next-rsc-dynamic/postcss.config.js +++ b/examples/next-rsc-dynamic/postcss.config.js @@ -1,6 +1,5 @@ module.exports = { plugins: { - tailwindcss: {}, - autoprefixer: {}, + '@tailwindcss/postcss': {}, }, } diff --git a/examples/next-rsc-dynamic/styles/globals.css b/examples/next-rsc-dynamic/styles/globals.css index 38b0de3c..0d99ed66 100644 --- a/examples/next-rsc-dynamic/styles/globals.css +++ b/examples/next-rsc-dynamic/styles/globals.css @@ -1,8 +1,31 @@ -@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;700&display=swap"); +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;700&display=swap') +layer(base); -@tailwind base; -@tailwind components; -@tailwind utilities; +@import 'tailwindcss'; + +@theme { + --font-sans: + Inter, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', + 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; +} + +/* + The default border color has changed to `currentColor` in Tailwind CSS v4, + so we've added these compatibility styles to make sure everything still + looks the same as it did with Tailwind CSS v3. + + If we ever want to remove these styles, we need to add an explicit border + color utility to any element that depends on these defaults. +*/ +@layer base { + *, + ::after, + ::before, + ::backdrop, + ::file-selector-button { + border-color: var(--color-gray-200, currentColor); + } +} p { @apply mb-4; diff --git a/examples/next-rsc-dynamic/tailwind.config.js b/examples/next-rsc-dynamic/tailwind.config.js deleted file mode 100644 index 8e8086b0..00000000 --- a/examples/next-rsc-dynamic/tailwind.config.js +++ /dev/null @@ -1,16 +0,0 @@ -const defaultTheme = require("tailwindcss/defaultTheme"); - -module.exports = { - content: [ - "./pages/**/*.{js,ts,jsx,tsx}", - "./components/**/*.{js,ts,jsx,tsx}", - ], - theme: { - extend: { - fontFamily: { - sans: ["Inter", ...defaultTheme.fontFamily.sans], - }, - }, - }, - plugins: [], -}; diff --git a/yarn.lock b/yarn.lock index 7de812ec..451b1646 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1030,7 +1030,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": +"@jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.5 resolution: "@jridgewell/gen-mapping@npm:0.3.5" dependencies: @@ -2374,17 +2374,6 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:18.2.14": - version: 18.2.14 - resolution: "@types/react@npm:18.2.14" - dependencies: - "@types/prop-types": "*" - "@types/scheduler": "*" - csstype: ^3.0.2 - checksum: a6a5e8cc78f486b9020d1ad009aa6c56943c68c7c6376e0f8399e9cbcd950b7b8f5d73f00200f5379f5e58d31d57d8aed24357f301d8e86108cd438ce6c8b3dd - languageName: node - linkType: hard - "@types/react@npm:19.0.12": version: 19.0.12 resolution: "@types/react@npm:19.0.12" @@ -2401,13 +2390,6 @@ __metadata: languageName: node linkType: hard -"@types/scheduler@npm:*": - version: 0.23.0 - resolution: "@types/scheduler@npm:0.23.0" - checksum: 874d753aa65c17760dfc460a91e6df24009bde37bfd427a031577b30262f7770c1b8f71a21366c7dbc76111967384cf4090a31d65315155180ef14bd7acccb32 - languageName: node - linkType: hard - "@types/semver@npm:^6.0.0": version: 6.2.7 resolution: "@types/semver@npm:6.2.7" @@ -2977,13 +2959,6 @@ __metadata: languageName: node linkType: hard -"any-promise@npm:^1.0.0": - version: 1.3.0 - resolution: "any-promise@npm:1.3.0" - checksum: 0ee8a9bdbe882c90464d75d1f55cf027f5458650c4bd1f0467e65aec38ccccda07ca5844969ee77ed46d04e7dded3eaceb027e8d32f385688523fe305fa7e1de - languageName: node - linkType: hard - "anymatch@npm:~3.1.2": version: 3.1.3 resolution: "anymatch@npm:3.1.3" @@ -3001,13 +2976,6 @@ __metadata: languageName: node linkType: hard -"arg@npm:^5.0.2": - version: 5.0.2 - resolution: "arg@npm:5.0.2" - checksum: 6c69ada1a9943d332d9e5382393e897c500908d91d5cb735a01120d5f71daf1b339b7b8980cbeaba8fd1afc68e658a739746179e4315a26e8a28951ff9930078 - languageName: node - linkType: hard - "argparse@npm:^1.0.7": version: 1.0.10 resolution: "argparse@npm:1.0.10" @@ -3160,24 +3128,6 @@ __metadata: languageName: node linkType: hard -"autoprefixer@npm:^10.4.14": - version: 10.4.20 - resolution: "autoprefixer@npm:10.4.20" - dependencies: - browserslist: ^4.23.3 - caniuse-lite: ^1.0.30001646 - fraction.js: ^4.3.7 - normalize-range: ^0.1.2 - picocolors: ^1.0.1 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.1.0 - bin: - autoprefixer: bin/autoprefixer - checksum: 187cec2ec356631932b212f76dc64f4419c117fdb2fb9eeeb40867d38ba5ca5ba734e6ceefc9e3af4eec8258e60accdf5cbf2b7708798598fde35cdc3de562d6 - languageName: node - linkType: hard - "available-typed-arrays@npm:^1.0.7": version: 1.0.7 resolution: "available-typed-arrays@npm:1.0.7" @@ -3371,7 +3321,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.21.10, browserslist@npm:^4.23.3": +"browserslist@npm:^4.21.10": version: 4.24.2 resolution: "browserslist@npm:4.24.2" dependencies: @@ -3468,13 +3418,6 @@ __metadata: languageName: node linkType: hard -"camelcase-css@npm:^2.0.1": - version: 2.0.1 - resolution: "camelcase-css@npm:2.0.1" - checksum: 1cec2b3b3dcb5026688a470b00299a8db7d904c4802845c353dbd12d9d248d3346949a814d83bfd988d4d2e5b9904c07efe76fecd195a1d4f05b543e7c0b56b1 - languageName: node - linkType: hard - "camelcase-keys@npm:^6.2.2": version: 6.2.2 resolution: "camelcase-keys@npm:6.2.2" @@ -3500,7 +3443,7 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001579, caniuse-lite@npm:^1.0.30001646, caniuse-lite@npm:^1.0.30001669": +"caniuse-lite@npm:^1.0.30001579, caniuse-lite@npm:^1.0.30001669": version: 1.0.30001676 resolution: "caniuse-lite@npm:1.0.30001676" checksum: c972232e4b3240865760ea8d29805cea7af69bd91e258a3e864e34a2b369ce6e6b69469cb39f008de593166965350e5370e6cde91fb58c02209259d8a2204fdf @@ -3846,13 +3789,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^4.0.0": - version: 4.1.1 - resolution: "commander@npm:4.1.1" - checksum: d7b9913ff92cae20cb577a4ac6fcc121bd6223319e54a40f51a14740a681ad5c574fd29a57da478a5f234a6fa6c52cbf0b7c641353e03c648b1ae85ba670b977 - languageName: node - linkType: hard - "commander@npm:^9.3.0": version: 9.5.0 resolution: "commander@npm:9.5.0" @@ -4067,15 +4003,6 @@ __metadata: languageName: node linkType: hard -"cssesc@npm:^3.0.0": - version: 3.0.0 - resolution: "cssesc@npm:3.0.0" - bin: - cssesc: bin/cssesc - checksum: f8c4ababffbc5e2ddf2fa9957dda1ee4af6048e22aeda1869d0d00843223c1b13ad3f5d88b51caa46c994225eacb636b764eb807a8883e2fb6f99b4f4e8c48b2 - languageName: node - linkType: hard - "csstype@npm:^3.0.2": version: 3.1.3 resolution: "csstype@npm:3.1.3" @@ -4149,13 +4076,6 @@ __metadata: languageName: node linkType: hard -"date-fns@npm:3.6.0": - version: 3.6.0 - resolution: "date-fns@npm:3.6.0" - checksum: 0daa1e9a436cf99f9f2ae9232b55e11f3dd46132bee10987164f3eebd29f245b2e066d7d7db40782627411ecf18551d8f4c9fcdf2226e48bb66545407d448ab7 - languageName: node - linkType: hard - "date-fns@npm:4.1.0": version: 4.1.0 resolution: "date-fns@npm:4.1.0" @@ -4328,13 +4248,6 @@ __metadata: languageName: node linkType: hard -"didyoumean@npm:^1.2.2": - version: 1.2.2 - resolution: "didyoumean@npm:1.2.2" - checksum: d5d98719d58b3c2fa59663c4c42ba9716f1fd01245c31d5fce31915bd3aa26e6aac149788e007358f778ebbd68a2256eb5973e8ca6f221df221ba060115acf2e - languageName: node - linkType: hard - "diff-sequences@npm:^29.6.3": version: 29.6.3 resolution: "diff-sequences@npm:29.6.3" @@ -4358,13 +4271,6 @@ __metadata: languageName: node linkType: hard -"dlv@npm:^1.1.3": - version: 1.1.3 - resolution: "dlv@npm:1.1.3" - checksum: d7381bca22ed11933a1ccf376db7a94bee2c57aa61e490f680124fa2d1cd27e94eba641d9f45be57caab4f9a6579de0983466f620a2cd6230d7ec93312105ae7 - languageName: node - linkType: hard - "doctrine@npm:^2.1.0": version: 2.1.0 resolution: "doctrine@npm:2.1.0" @@ -5142,7 +5048,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0": +"fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -5316,13 +5222,6 @@ __metadata: languageName: node linkType: hard -"fraction.js@npm:^4.3.7": - version: 4.3.7 - resolution: "fraction.js@npm:4.3.7" - checksum: e1553ae3f08e3ba0e8c06e43a3ab20b319966dfb7ddb96fd9b5d0ee11a66571af7f993229c88ebbb0d4a816eb813a24ed48207b140d442a8f76f33763b8d1f3f - languageName: node - linkType: hard - "fs-constants@npm:^1.0.0": version: 1.0.0 resolution: "fs-constants@npm:1.0.0" @@ -6416,15 +6315,6 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^1.21.0": - version: 1.21.6 - resolution: "jiti@npm:1.21.6" - bin: - jiti: bin/jiti.js - checksum: 9ea4a70a7bb950794824683ed1c632e2ede26949fbd348e2ba5ec8dc5efa54dc42022d85ae229cadaa60d4b95012e80ea07d625797199b688cc22ab0e8891d32 - languageName: node - linkType: hard - "jiti@npm:^2.4.2": version: 2.4.2 resolution: "jiti@npm:2.4.2" @@ -6447,7 +6337,7 @@ __metadata: languageName: node linkType: hard -"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": +"js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" checksum: 8a95213a5a77deb6cbe94d86340e8d9ace2b93bc367790b260101d2f36a2eaf4e4e22d9fa9cf459b38af3a32fb4190e638024cf82ec95ef708680e405ea7cc78 @@ -6691,20 +6581,6 @@ __metadata: languageName: node linkType: hard -"lilconfig@npm:^2.1.0": - version: 2.1.0 - resolution: "lilconfig@npm:2.1.0" - checksum: 8549bb352b8192375fed4a74694cd61ad293904eee33f9d4866c2192865c44c4eb35d10782966242634e0cbc1e91fe62b1247f148dc5514918e3a966da7ea117 - languageName: node - linkType: hard - -"lilconfig@npm:^3.0.0": - version: 3.1.2 - resolution: "lilconfig@npm:3.1.2" - checksum: 4e8b83ddd1d0ad722600994e6ba5d858ddca14f0587aa6b9c8185e17548149b5e13d4d583d811e9e9323157fa8c6a527e827739794c7502b59243c58e210b8c3 - languageName: node - linkType: hard - "lines-and-columns@npm:^1.1.6": version: 1.2.4 resolution: "lines-and-columns@npm:1.2.4" @@ -6865,17 +6741,6 @@ __metadata: languageName: node linkType: hard -"loose-envify@npm:^1.1.0": - version: 1.4.0 - resolution: "loose-envify@npm:1.4.0" - dependencies: - js-tokens: ^3.0.0 || ^4.0.0 - bin: - loose-envify: cli.js - checksum: 6517e24e0cad87ec9888f500c5b5947032cdfe6ef65e1c1936a0c48a524b81e65542c9c3edc91c97d5bddc806ee2a985dbc79be89215d613b1de5db6d1cfe6f4 - languageName: node - linkType: hard - "lorem-ipsum@npm:^2.0.8": version: 2.0.8 resolution: "lorem-ipsum@npm:2.0.8" @@ -7984,17 +7849,6 @@ __metadata: languageName: node linkType: hard -"mz@npm:^2.7.0": - version: 2.7.0 - resolution: "mz@npm:2.7.0" - dependencies: - any-promise: ^1.0.0 - object-assign: ^4.0.1 - thenify-all: ^1.0.0 - checksum: 8427de0ece99a07e9faed3c0c6778820d7543e3776f9a84d22cf0ec0a8eb65f6e9aee9c9d353ff9a105ff62d33a9463c6ca638974cc652ee8140cd1e35951c87 - languageName: node - linkType: hard - "nanoid@npm:^3.3.6, nanoid@npm:^3.3.7": version: 3.3.7 resolution: "nanoid@npm:3.3.7" @@ -8082,16 +7936,16 @@ __metadata: version: 0.0.0-use.local resolution: "next-images@workspace:examples/next-images" dependencies: - "@types/react": 18.2.14 - autoprefixer: ^10.4.14 + "@tailwindcss/postcss": 4.0.17 + "@types/react": 19.0.12 contentlayer2: latest - date-fns: 3.6.0 - next: ^14.1.0 + date-fns: 4.1.0 + next: ^15.2.4 next-contentlayer2: latest postcss: ^8.4.24 - react: ^18.2.0 - react-dom: ^18.2.0 - tailwindcss: ^3.3.2 + react: ^19.1.0 + react-dom: ^19.1.0 + tailwindcss: 4.0.17 typescript: ^5.5.0 languageName: unknown linkType: soft @@ -8100,16 +7954,16 @@ __metadata: version: 0.0.0-use.local resolution: "next-rsc-dynamic@workspace:examples/next-rsc-dynamic" dependencies: - "@types/react": 18.2.14 - autoprefixer: ^10.4.14 + "@tailwindcss/postcss": 4.0.17 + "@types/react": 19.0.12 contentlayer2: latest - date-fns: 3.6.0 - next: ^14.1.0 + date-fns: 4.1.0 + next: ^15.2.4 next-contentlayer2: latest postcss: ^8.4.24 - react: ^18.2.0 - react-dom: ^18.2.0 - tailwindcss: ^3.3.2 + react: ^19.1.0 + react-dom: ^19.1.0 + tailwindcss: 4.0.17 typescript: ^5.5.0 languageName: unknown linkType: soft @@ -8356,13 +8210,6 @@ __metadata: languageName: node linkType: hard -"normalize-range@npm:^0.1.2": - version: 0.1.2 - resolution: "normalize-range@npm:0.1.2" - checksum: 9b2f14f093593f367a7a0834267c24f3cb3e887a2d9809c77d8a7e5fd08738bcd15af46f0ab01cc3a3d660386f015816b5c922cea8bf2ee79777f40874063184 - languageName: node - linkType: hard - "npm-run-path@npm:^2.0.0": version: 2.0.2 resolution: "npm-run-path@npm:2.0.2" @@ -8381,20 +8228,6 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4.0.1": - version: 4.1.1 - resolution: "object-assign@npm:4.1.1" - checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f - languageName: node - linkType: hard - -"object-hash@npm:^3.0.0": - version: 3.0.0 - resolution: "object-hash@npm:3.0.0" - checksum: 80b4904bb3857c52cc1bfd0b52c0352532ca12ed3b8a6ff06a90cd209dfda1b95cee059a7625eb9da29537027f68ac4619363491eedb2f5d3dddbba97494fd6c - languageName: node - linkType: hard - "object-inspect@npm:^1.13.1": version: 1.13.2 resolution: "object-inspect@npm:1.13.2" @@ -8752,7 +8585,7 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045 @@ -8766,13 +8599,6 @@ __metadata: languageName: node linkType: hard -"pify@npm:^2.3.0": - version: 2.3.0 - resolution: "pify@npm:2.3.0" - checksum: 9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba - languageName: node - linkType: hard - "pify@npm:^4.0.1": version: 4.0.1 resolution: "pify@npm:4.0.1" @@ -8780,13 +8606,6 @@ __metadata: languageName: node linkType: hard -"pirates@npm:^4.0.1": - version: 4.0.6 - resolution: "pirates@npm:4.0.6" - checksum: 46a65fefaf19c6f57460388a5af9ab81e3d7fd0e7bc44ca59d753cb5c4d0df97c6c6e583674869762101836d68675f027d60f841c105d72734df9dfca97cbcc6 - languageName: node - linkType: hard - "pkg-dir@npm:^4.2.0": version: 4.2.0 resolution: "pkg-dir@npm:4.2.0" @@ -8814,76 +8633,6 @@ __metadata: languageName: node linkType: hard -"postcss-import@npm:^15.1.0": - version: 15.1.0 - resolution: "postcss-import@npm:15.1.0" - dependencies: - postcss-value-parser: ^4.0.0 - read-cache: ^1.0.0 - resolve: ^1.1.7 - peerDependencies: - postcss: ^8.0.0 - checksum: 7bd04bd8f0235429009d0022cbf00faebc885de1d017f6d12ccb1b021265882efc9302006ba700af6cab24c46bfa2f3bc590be3f9aee89d064944f171b04e2a3 - languageName: node - linkType: hard - -"postcss-js@npm:^4.0.1": - version: 4.0.1 - resolution: "postcss-js@npm:4.0.1" - dependencies: - camelcase-css: ^2.0.1 - peerDependencies: - postcss: ^8.4.21 - checksum: 5c1e83efeabeb5a42676193f4357aa9c88f4dc1b3c4a0332c132fe88932b33ea58848186db117cf473049fc233a980356f67db490bd0a7832ccba9d0b3fd3491 - languageName: node - linkType: hard - -"postcss-load-config@npm:^4.0.1": - version: 4.0.2 - resolution: "postcss-load-config@npm:4.0.2" - dependencies: - lilconfig: ^3.0.0 - yaml: ^2.3.4 - peerDependencies: - postcss: ">=8.0.9" - ts-node: ">=9.0.0" - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - checksum: 7c27dd3801db4eae207a5116fed2db6b1ebb780b40c3dd62a3e57e087093a8e6a14ee17ada729fee903152d6ef4826c6339eb135bee6208e0f3140d7e8090185 - languageName: node - linkType: hard - -"postcss-nested@npm:^6.0.1": - version: 6.2.0 - resolution: "postcss-nested@npm:6.2.0" - dependencies: - postcss-selector-parser: ^6.1.1 - peerDependencies: - postcss: ^8.2.14 - checksum: 2c86ecf2d0ce68f27c87c7e24ae22dc6dd5515a89fcaf372b2627906e11f5c1f36e4a09e4c15c20fd4a23d628b3d945c35839f44496fbee9a25866258006671b - languageName: node - linkType: hard - -"postcss-selector-parser@npm:^6.0.11, postcss-selector-parser@npm:^6.1.1": - version: 6.1.2 - resolution: "postcss-selector-parser@npm:6.1.2" - dependencies: - cssesc: ^3.0.0 - util-deprecate: ^1.0.2 - checksum: ce9440fc42a5419d103f4c7c1847cb75488f3ac9cbe81093b408ee9701193a509f664b4d10a2b4d82c694ee7495e022f8f482d254f92b7ffd9ed9dea696c6f84 - languageName: node - linkType: hard - -"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.2.0": - version: 4.2.0 - resolution: "postcss-value-parser@npm:4.2.0" - checksum: 819ffab0c9d51cf0acbabf8996dffbfafbafa57afc0e4c98db88b67f2094cb44488758f06e5da95d7036f19556a4a732525e84289a425f4f6fd8e412a9d7442f - languageName: node - linkType: hard - "postcss@npm:8.4.31": version: 8.4.31 resolution: "postcss@npm:8.4.31" @@ -8895,7 +8644,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.23, postcss@npm:^8.4.24, postcss@npm:^8.4.43": +"postcss@npm:^8.4.24, postcss@npm:^8.4.43": version: 8.4.47 resolution: "postcss@npm:8.4.47" dependencies: @@ -9115,18 +8864,6 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:^18.2.0": - version: 18.3.1 - resolution: "react-dom@npm:18.3.1" - dependencies: - loose-envify: ^1.1.0 - scheduler: ^0.23.2 - peerDependencies: - react: ^18.3.1 - checksum: 298954ecd8f78288dcaece05e88b570014d8f6dce5db6f66e6ee91448debeb59dcd31561dddb354eee47e6c1bb234669459060deb238ed0213497146e555a0b9 - languageName: node - linkType: hard - "react-dom@npm:^19.1.0": version: 19.1.0 resolution: "react-dom@npm:19.1.0" @@ -9145,15 +8882,6 @@ __metadata: languageName: node linkType: hard -"react@npm:^18.2.0": - version: 18.3.1 - resolution: "react@npm:18.3.1" - dependencies: - loose-envify: ^1.1.0 - checksum: a27bcfa8ff7c15a1e50244ad0d0c1cb2ad4375eeffefd266a64889beea6f6b64c4966c9b37d14ee32d6c9fcd5aa6ba183b6988167ab4d127d13e7cb5b386a376 - languageName: node - linkType: hard - "react@npm:^19.1.0": version: 19.1.0 resolution: "react@npm:19.1.0" @@ -9161,15 +8889,6 @@ __metadata: languageName: node linkType: hard -"read-cache@npm:^1.0.0": - version: 1.0.0 - resolution: "read-cache@npm:1.0.0" - dependencies: - pify: ^2.3.0 - checksum: cffc728b9ede1e0667399903f9ecaf3789888b041c46ca53382fa3a06303e5132774dc0a96d0c16aa702dbac1ea0833d5a868d414f5ab2af1e1438e19e6657c6 - languageName: node - linkType: hard - "read-pkg-up@npm:^7.0.1": version: 7.0.1 resolution: "read-pkg-up@npm:7.0.1" @@ -9474,7 +9193,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.19.0, resolve@npm:^1.22.1, resolve@npm:^1.22.2, resolve@npm:^1.22.4": +"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.19.0, resolve@npm:^1.22.1, resolve@npm:^1.22.4": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -9487,7 +9206,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.1.7#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin, resolve@patch:resolve@^1.22.2#~builtin, resolve@patch:resolve@^1.22.4#~builtin": +"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin, resolve@patch:resolve@^1.22.4#~builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#~builtin::version=1.22.8&hash=07638b" dependencies: @@ -9673,15 +9392,6 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:^0.23.2": - version: 0.23.2 - resolution: "scheduler@npm:0.23.2" - dependencies: - loose-envify: ^1.1.0 - checksum: 3e82d1f419e240ef6219d794ff29c7ee415fbdc19e038f680a10c067108e06284f1847450a210b29bbaf97b9d8a97ced5f624c31c681248ac84c80d56ad5a2c4 - languageName: node - linkType: hard - "scheduler@npm:^0.26.0": version: 0.26.0 resolution: "scheduler@npm:0.26.0" @@ -10414,24 +10124,6 @@ __metadata: languageName: node linkType: hard -"sucrase@npm:^3.32.0": - version: 3.35.0 - resolution: "sucrase@npm:3.35.0" - dependencies: - "@jridgewell/gen-mapping": ^0.3.2 - commander: ^4.0.0 - glob: ^10.3.10 - lines-and-columns: ^1.1.6 - mz: ^2.7.0 - pirates: ^4.0.1 - ts-interface-checker: ^0.1.9 - bin: - sucrase: bin/sucrase - sucrase-node: bin/sucrase-node - checksum: 9fc5792a9ab8a14dcf9c47dcb704431d35c1cdff1d17d55d382a31c2e8e3063870ad32ce120a80915498486246d612e30cda44f1624d9d9a10423e1a43487ad1 - languageName: node - linkType: hard - "supports-color@npm:^5.3.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" @@ -10473,39 +10165,6 @@ __metadata: languageName: node linkType: hard -"tailwindcss@npm:^3.3.2": - version: 3.4.14 - resolution: "tailwindcss@npm:3.4.14" - dependencies: - "@alloc/quick-lru": ^5.2.0 - arg: ^5.0.2 - chokidar: ^3.5.3 - didyoumean: ^1.2.2 - dlv: ^1.1.3 - fast-glob: ^3.3.0 - glob-parent: ^6.0.2 - is-glob: ^4.0.3 - jiti: ^1.21.0 - lilconfig: ^2.1.0 - micromatch: ^4.0.5 - normalize-path: ^3.0.0 - object-hash: ^3.0.0 - picocolors: ^1.0.0 - postcss: ^8.4.23 - postcss-import: ^15.1.0 - postcss-js: ^4.0.1 - postcss-load-config: ^4.0.1 - postcss-nested: ^6.0.1 - postcss-selector-parser: ^6.0.11 - resolve: ^1.22.2 - sucrase: ^3.32.0 - bin: - tailwind: lib/cli.js - tailwindcss: lib/cli.js - checksum: dc1e935bda1c530f820147886fb21a009bca3ca96f5dbad037c05826ddc0a96dd2b08ae4160b9f48484c7f118aefa531dfa04b761988bff59b69c14dff45d3ab - languageName: node - linkType: hard - "tapable@npm:^2.1.1, tapable@npm:^2.2.0": version: 2.2.1 resolution: "tapable@npm:2.2.1" @@ -10646,24 +10305,6 @@ __metadata: languageName: node linkType: hard -"thenify-all@npm:^1.0.0": - version: 1.6.0 - resolution: "thenify-all@npm:1.6.0" - dependencies: - thenify: ">= 3.1.0 < 4" - checksum: dba7cc8a23a154cdcb6acb7f51d61511c37a6b077ec5ab5da6e8b874272015937788402fd271fdfc5f187f8cb0948e38d0a42dcc89d554d731652ab458f5343e - languageName: node - linkType: hard - -"thenify@npm:>= 3.1.0 < 4": - version: 3.3.1 - resolution: "thenify@npm:3.3.1" - dependencies: - any-promise: ^1.0.0 - checksum: 84e1b804bfec49f3531215f17b4a6e50fd4397b5f7c1bccc427b9c656e1ecfb13ea79d899930184f78bc2f57285c54d9a50a590c8868f4f0cef5c1d9f898b05e - languageName: node - linkType: hard - "thingies@npm:^1.20.0": version: 1.21.0 resolution: "thingies@npm:1.21.0" @@ -10772,13 +10413,6 @@ __metadata: languageName: node linkType: hard -"ts-interface-checker@npm:^0.1.9": - version: 0.1.13 - resolution: "ts-interface-checker@npm:0.1.13" - checksum: 20c29189c2dd6067a8775e07823ddf8d59a33e2ffc47a1bd59a5cb28bb0121a2969a816d5e77eda2ed85b18171aa5d1c4005a6b88ae8499ec7cc49f78571cb5e - languageName: node - linkType: hard - "ts-node@npm:^10.9.1": version: 10.9.2 resolution: "ts-node@npm:10.9.2" @@ -11198,7 +10832,7 @@ __metadata: languageName: node linkType: hard -"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2": +"util-deprecate@npm:^1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" checksum: 474acf1146cb2701fe3b074892217553dfcf9a031280919ba1b8d651a068c9b15d863b7303cb15bd00a862b498e6cf4ad7b4a08fb134edd5a6f7641681cb54a2 @@ -11620,7 +11254,7 @@ __metadata: languageName: node linkType: hard -"yaml@npm:*, yaml@npm:^2.0.0, yaml@npm:^2.3.1, yaml@npm:^2.3.4": +"yaml@npm:*, yaml@npm:^2.0.0, yaml@npm:^2.3.1": version: 2.6.0 resolution: "yaml@npm:2.6.0" bin: