mirror of
https://github.com/jakejarvis/jarv.is.git
synced 2025-04-28 09:50:31 -04:00
strip js import/export statements from raw post content (for rss, etc.)
This commit is contained in:
parent
4cc25f7ab9
commit
c4f67f170b
1
lib/helpers/mdx/recma.ts
Normal file
1
lib/helpers/mdx/recma.ts
Normal file
@ -0,0 +1 @@
|
||||
export { default as recmaMdxEscapeMissingComponents } from "recma-mdx-escape-missing-components";
|
4
lib/helpers/mdx/rehype.ts
Normal file
4
lib/helpers/mdx/rehype.ts
Normal file
@ -0,0 +1,4 @@
|
||||
export { default as rehypeMdxImportMedia } from "rehype-mdx-import-media";
|
||||
export { default as rehypePrettyCode } from "rehype-pretty-code";
|
||||
export { default as rehypeSlug } from "rehype-slug";
|
||||
export { default as rehypeUnwrapImages } from "rehype-unwrap-images";
|
@ -1,7 +1,3 @@
|
||||
export { default as rehypeMdxImportMedia } from "rehype-mdx-import-media";
|
||||
export { default as rehypePrettyCode } from "rehype-pretty-code";
|
||||
export { default as rehypeSlug } from "rehype-slug";
|
||||
export { default as rehypeUnwrapImages } from "rehype-unwrap-images";
|
||||
export { default as remarkFrontmatter } from "remark-frontmatter";
|
||||
export { default as remarkGfm } from "remark-gfm";
|
||||
export { default as remarkHtml } from "remark-html";
|
@ -4,7 +4,7 @@ import path from "path";
|
||||
import fs from "fs/promises";
|
||||
import glob from "fast-glob";
|
||||
import { unified } from "unified";
|
||||
import { remarkHtml, remarkParse, remarkSmartypants, remarkFrontmatter } from "./remark-rehype-plugins";
|
||||
import { remarkHtml, remarkParse, remarkSmartypants, remarkFrontmatter } from "./mdx/remark";
|
||||
import { decode } from "html-entities";
|
||||
import { POSTS_DIR } from "../config/constants";
|
||||
|
||||
@ -106,7 +106,6 @@ export const getFrontMatter: {
|
||||
/** Returns the content of a post with very limited processing to include in RSS feeds */
|
||||
export const getContent = cache(async (slug: string): Promise<string | undefined> => {
|
||||
try {
|
||||
// TODO: also remove MDX-related syntax (e.g. import/export statements)
|
||||
const content = await unified()
|
||||
.use(remarkParse)
|
||||
.use(remarkFrontmatter)
|
||||
@ -137,7 +136,7 @@ export const getContent = cache(async (slug: string): Promise<string | undefined
|
||||
.process(await fs.readFile(path.join(process.cwd(), `${POSTS_DIR}/${slug}/index.mdx`)));
|
||||
|
||||
// convert the parsed content to a string with "safe" HTML
|
||||
return content.toString().replaceAll("<p></p>", "").trim();
|
||||
return content.toString().replaceAll("<p></p>\n", "").replaceAll("<p>{/* prettier-ignore */}</p>\n", "").trim();
|
||||
} catch (error) {
|
||||
console.error(`Failed to load/parse content for post with slug "${slug}":`, error);
|
||||
return undefined;
|
||||
|
@ -1,13 +1,13 @@
|
||||
/* eslint-disable @typescript-eslint/no-require-imports, import/no-anonymous-default-export */
|
||||
|
||||
import * as mdxPlugins from "./lib/helpers/remark-rehype-plugins";
|
||||
import * as remarkPlugins from "./lib/helpers/mdx/remark";
|
||||
import * as rehypePlugins from "./lib/helpers/mdx/rehype";
|
||||
import * as recmaPlugins from "./lib/helpers/mdx/recma";
|
||||
import type { NextConfig } from "next";
|
||||
|
||||
// check environment variables at build time
|
||||
// https://env.t3.gg/docs/nextjs#validate-schema-on-build-(recommended)
|
||||
import "./lib/env";
|
||||
|
||||
const nextConfig: NextConfig = {
|
||||
const nextConfig = {
|
||||
reactStrictMode: true,
|
||||
pageExtensions: ["js", "jsx", "ts", "tsx", "md", "mdx"],
|
||||
eslint: {
|
||||
@ -140,29 +140,32 @@ const nextConfig: NextConfig = {
|
||||
permanent: true,
|
||||
},
|
||||
],
|
||||
};
|
||||
} satisfies NextConfig;
|
||||
|
||||
// my own macgyvered version of next-compose-plugins (RIP)
|
||||
const nextPlugins: Array<
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
(config: NextConfig) => NextConfig | [(config: NextConfig) => NextConfig, any]
|
||||
> = [
|
||||
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
||||
require("@next/bundle-analyzer")({
|
||||
enabled: !!process.env.ANALYZE,
|
||||
}),
|
||||
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
||||
require("@next/mdx")({
|
||||
options: {
|
||||
recmaPlugins: [recmaPlugins.recmaMdxEscapeMissingComponents],
|
||||
remarkPlugins: [
|
||||
mdxPlugins.remarkFrontmatter,
|
||||
mdxPlugins.remarkMdxFrontmatter,
|
||||
mdxPlugins.remarkGfm,
|
||||
mdxPlugins.remarkSmartypants,
|
||||
remarkPlugins.remarkFrontmatter,
|
||||
remarkPlugins.remarkMdxFrontmatter,
|
||||
remarkPlugins.remarkGfm,
|
||||
remarkPlugins.remarkSmartypants,
|
||||
],
|
||||
rehypePlugins: [
|
||||
mdxPlugins.rehypeUnwrapImages,
|
||||
mdxPlugins.rehypeSlug,
|
||||
rehypePlugins.rehypeUnwrapImages,
|
||||
rehypePlugins.rehypeSlug,
|
||||
[
|
||||
mdxPlugins.rehypePrettyCode,
|
||||
rehypePlugins.rehypePrettyCode,
|
||||
{
|
||||
theme: {
|
||||
light: "material-theme-lighter",
|
||||
@ -174,11 +177,12 @@ const nextPlugins: Array<
|
||||
keepBackground: false,
|
||||
},
|
||||
],
|
||||
mdxPlugins.rehypeMdxImportMedia,
|
||||
rehypePlugins.rehypeMdxImportMedia,
|
||||
],
|
||||
},
|
||||
}),
|
||||
];
|
||||
|
||||
// eslint-disable-next-line import/no-anonymous-default-export
|
||||
export default (): NextConfig =>
|
||||
nextPlugins.reduce((acc, plugin) => (Array.isArray(plugin) ? plugin[0](acc, plugin[1]) : plugin(acc)), nextConfig);
|
||||
|
@ -31,7 +31,7 @@ Decisions made by the top folks at Dropbox gave me an increasingly sour taste in
|
||||
- Explicitly [dropping support for symlinking](https://news.ycombinator.com/item?id=20844363) (aka making aliases to) files outside of the literal `~/Dropbox` folder, which was incredibly helpful for nerds — once their main audience and biggest cheerleaders — with things like [dotfiles](https://github.com/jakejarvis/dotfiles) and Git repositories.
|
||||
- ...and as a bonus, making the process of canceling Dropbox Pro incredibly convoluted, annoying, and sketchy. Here's a video demonstration via [Justin Dunham](https://twitter.com/jwyattd):
|
||||
|
||||
<Video src="https://ijyxfbpcm3itvdly.public.blob.vercel-storage.com/cancel-H27HQVT7KMOQZcWlaR9UDi7q6BQNIr.mp4" />
|
||||
<Video src="https://ijyxfbpcm3itvdly.public.blob.vercel-storage.com/cancel-H27HQVT7KMOQZcWlaR9UDi7q6BQNIr.mp4"></Video>
|
||||
|
||||
## Seeking an alternative...
|
||||
|
||||
|
@ -54,4 +54,4 @@ As [Bill Maher](https://medium.com/u/cdc04a9799f6) (an avid Bernie supporter) [s
|
||||
"https://ijyxfbpcm3itvdly.public.blob.vercel-storage.com/convention-T6klrrArGL0IO4QPaloIiIH164UqUC.mp4",
|
||||
"https://ijyxfbpcm3itvdly.public.blob.vercel-storage.com/convention.en-uHnecgVCrT9xA8EkzdEaeIwB0rHFC9.vtt",
|
||||
]}
|
||||
/>
|
||||
></Video>
|
||||
|
@ -27,7 +27,7 @@ I'm a _huge_ sucker for Kate McKinnon's spot-on impression of Warren on Saturday
|
||||
|
||||
Although the designer who selected this GIF likely had _thousands_ of choices when searching "[Bernie finger wagging GIF](https://www.google.com/search?q=Bernie+finger+wagging+GIF&tbm=isch&tbs=itp:animated)," the text beside it is well-written and funny — even though we both know putting a page at [berniesanders.com/zxcliaosid](https://berniesanders.com/zxcliaosid/) probably won't be a top priority of a President Sanders.
|
||||
|
||||
<Video src="https://ijyxfbpcm3itvdly.public.blob.vercel-storage.com/sanders-C68KSJMWFGknQgKYZHFaDH55ipi3hE.mp4" />
|
||||
<Video src="https://ijyxfbpcm3itvdly.public.blob.vercel-storage.com/sanders-C68KSJMWFGknQgKYZHFaDH55ipi3hE.mp4"></Video>
|
||||
|
||||
## 3. Joe Biden — [joebiden.com](https://joebiden.com/asdfasdf404)
|
||||
|
||||
@ -39,13 +39,13 @@ Uncle Joe has a nice and simple 404 page. I like it, along with the Ray-Bans and
|
||||
|
||||
A ballsy move, considering Beto's infamous [DUI arrest](https://www.politifact.com/texas/statements/2019/mar/14/club-growth/beto-orourke-arrested-dwi-flee-scene/) in the '90s — but still a clever ask for a donation and a great use of a GIF, even if it's left over from his Senate campaign.
|
||||
|
||||
<Video src="https://ijyxfbpcm3itvdly.public.blob.vercel-storage.com/orourke-oacYVeAX9oRTetK5z1N2MHqqvfRhos.mp4" />
|
||||
<Video src="https://ijyxfbpcm3itvdly.public.blob.vercel-storage.com/orourke-oacYVeAX9oRTetK5z1N2MHqqvfRhos.mp4"></Video>
|
||||
|
||||
## 5. Kamala Harris — [kamalaharris.org](https://kamalaharris.org/asdfasdf404)
|
||||
|
||||
Another clean and simple page with a top-notch GIF. It injected some emotion into visiting [kamalaharris.com/alskdjf](https://kamalaharris.com/alskdjf).
|
||||
|
||||
<Video src="https://ijyxfbpcm3itvdly.public.blob.vercel-storage.com/harris-WH3JQm4pcB8NHGnK0hGPEp4olLCZfc.mp4" />
|
||||
<Video src="https://ijyxfbpcm3itvdly.public.blob.vercel-storage.com/harris-WH3JQm4pcB8NHGnK0hGPEp4olLCZfc.mp4"></Video>
|
||||
|
||||
## 6. Pete Buttigeg — [peteforamerica.com](https://peteforamerica.com/asdfasdf404/)
|
||||
|
||||
|
11
package.json
11
package.json
@ -24,8 +24,8 @@
|
||||
"@giscus/react": "^3.1.0",
|
||||
"@mdx-js/loader": "^3.1.0",
|
||||
"@mdx-js/react": "^3.1.0",
|
||||
"@next/bundle-analyzer": "15.4.0-canary.10",
|
||||
"@next/mdx": "15.4.0-canary.10",
|
||||
"@next/bundle-analyzer": "15.4.0-canary.11",
|
||||
"@next/mdx": "15.4.0-canary.11",
|
||||
"@octokit/graphql": "^8.2.2",
|
||||
"@octokit/graphql-schema": "^15.26.0",
|
||||
"@t3-oss/env-nextjs": "^0.13.0",
|
||||
@ -40,7 +40,7 @@
|
||||
"geist": "^1.3.1",
|
||||
"html-entities": "^2.6.0",
|
||||
"lucide-react": "0.503.0",
|
||||
"next": "15.4.0-canary.10",
|
||||
"next": "15.4.0-canary.11",
|
||||
"polished": "^4.3.1",
|
||||
"prop-types": "^15.8.1",
|
||||
"react": "19.1.0",
|
||||
@ -56,6 +56,7 @@
|
||||
"react-tooltip": "^5.28.1",
|
||||
"react-turnstile": "^1.1.4",
|
||||
"react-tweet": "^3.2.2",
|
||||
"recma-mdx-escape-missing-components": "^1.1.2",
|
||||
"rehype-mdx-import-media": "^1.2.0",
|
||||
"rehype-pretty-code": "^0.14.1",
|
||||
"rehype-slug": "^6.0.0",
|
||||
@ -77,7 +78,7 @@
|
||||
"@eslint/js": "^9.25.1",
|
||||
"@jakejarvis/eslint-config": "^4.0.7",
|
||||
"@types/mdx": "^2.0.13",
|
||||
"@types/node": "^22.14.1",
|
||||
"@types/node": "^22.15.2",
|
||||
"@types/prop-types": "^15.7.14",
|
||||
"@types/react": "^19.1.2",
|
||||
"@types/react-dom": "^19.1.2",
|
||||
@ -85,7 +86,7 @@
|
||||
"babel-plugin-react-compiler": "19.0.0-beta-af1b7da-20250417",
|
||||
"cross-env": "^7.0.3",
|
||||
"eslint": "^9.25.1",
|
||||
"eslint-config-next": "15.4.0-canary.10",
|
||||
"eslint-config-next": "15.4.0-canary.11",
|
||||
"eslint-config-prettier": "^10.1.2",
|
||||
"eslint-plugin-css-modules": "^2.12.0",
|
||||
"eslint-plugin-import": "^2.31.0",
|
||||
|
160
pnpm-lock.yaml
generated
160
pnpm-lock.yaml
generated
@ -27,11 +27,11 @@ importers:
|
||||
specifier: ^3.1.0
|
||||
version: 3.1.0(@types/react@19.1.2)(react@19.1.0)
|
||||
'@next/bundle-analyzer':
|
||||
specifier: 15.4.0-canary.10
|
||||
version: 15.4.0-canary.10
|
||||
specifier: 15.4.0-canary.11
|
||||
version: 15.4.0-canary.11
|
||||
'@next/mdx':
|
||||
specifier: 15.4.0-canary.10
|
||||
version: 15.4.0-canary.10(@mdx-js/loader@3.1.0(acorn@8.14.1))(@mdx-js/react@3.1.0(@types/react@19.1.2)(react@19.1.0))
|
||||
specifier: 15.4.0-canary.11
|
||||
version: 15.4.0-canary.11(@mdx-js/loader@3.1.0(acorn@8.14.1))(@mdx-js/react@3.1.0(@types/react@19.1.2)(react@19.1.0))
|
||||
'@octokit/graphql':
|
||||
specifier: ^8.2.2
|
||||
version: 8.2.2
|
||||
@ -46,7 +46,7 @@ importers:
|
||||
version: 1.34.8
|
||||
'@vercel/analytics':
|
||||
specifier: ^1.5.0
|
||||
version: 1.5.0(next@15.4.0-canary.10(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)
|
||||
version: 1.5.0(next@15.4.0-canary.11(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)
|
||||
cheerio:
|
||||
specifier: ^1.0.0
|
||||
version: 1.0.0
|
||||
@ -67,7 +67,7 @@ importers:
|
||||
version: 4.2.2
|
||||
geist:
|
||||
specifier: ^1.3.1
|
||||
version: 1.3.1(next@15.4.0-canary.10(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))
|
||||
version: 1.3.1(next@15.4.0-canary.11(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))
|
||||
html-entities:
|
||||
specifier: ^2.6.0
|
||||
version: 2.6.0
|
||||
@ -75,8 +75,8 @@ importers:
|
||||
specifier: 0.503.0
|
||||
version: 0.503.0(react@19.1.0)
|
||||
next:
|
||||
specifier: 15.4.0-canary.10
|
||||
version: 15.4.0-canary.10(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
specifier: 15.4.0-canary.11
|
||||
version: 15.4.0-canary.11(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
polished:
|
||||
specifier: ^4.3.1
|
||||
version: 4.3.1
|
||||
@ -122,6 +122,9 @@ importers:
|
||||
react-tweet:
|
||||
specifier: ^3.2.2
|
||||
version: 3.2.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
recma-mdx-escape-missing-components:
|
||||
specifier: ^1.1.2
|
||||
version: 1.1.2(unified@11.0.5)
|
||||
rehype-mdx-import-media:
|
||||
specifier: ^1.2.0
|
||||
version: 1.2.0
|
||||
@ -181,8 +184,8 @@ importers:
|
||||
specifier: ^2.0.13
|
||||
version: 2.0.13
|
||||
'@types/node':
|
||||
specifier: ^22.14.1
|
||||
version: 22.14.1
|
||||
specifier: ^22.15.2
|
||||
version: 22.15.2
|
||||
'@types/prop-types':
|
||||
specifier: ^15.7.14
|
||||
version: 15.7.14
|
||||
@ -205,8 +208,8 @@ importers:
|
||||
specifier: ^9.25.1
|
||||
version: 9.25.1
|
||||
eslint-config-next:
|
||||
specifier: 15.4.0-canary.10
|
||||
version: 15.4.0-canary.10(eslint@9.25.1)(typescript@5.8.3)
|
||||
specifier: 15.4.0-canary.11
|
||||
version: 15.4.0-canary.11(eslint@9.25.1)(typescript@5.8.3)
|
||||
eslint-config-prettier:
|
||||
specifier: ^10.1.2
|
||||
version: 10.1.2(eslint@9.25.1)
|
||||
@ -671,17 +674,17 @@ packages:
|
||||
'@napi-rs/wasm-runtime@0.2.9':
|
||||
resolution: {integrity: sha512-OKRBiajrrxB9ATokgEQoG87Z25c67pCpYcCwmXYX8PBftC9pBfN18gnm/fh1wurSLEKIAt+QRFLFCQISrb66Jg==}
|
||||
|
||||
'@next/bundle-analyzer@15.4.0-canary.10':
|
||||
resolution: {integrity: sha512-UVepO46npXXsSMHmFLDxStiCBMqOv8NxV6KAh0t7ZWZfp+Zmm2wzJ5WoP+9FcmY/fW93i6dLGuQYyKmIe2OOUg==}
|
||||
'@next/bundle-analyzer@15.4.0-canary.11':
|
||||
resolution: {integrity: sha512-6rJJWcVwf+fOPbVr7PTQP1nNCEtw2lrMU2Dk1HVxfNwpVpKAzy6kOndpnzp+9Huq0mezLcmFuJ9Qfo35Y2zWbg==}
|
||||
|
||||
'@next/env@15.4.0-canary.10':
|
||||
resolution: {integrity: sha512-7B71o6sBN24oZvJdMzgnxGG+F+4+grnubP4V2OFXvfrep7ZyJkt73Px31SHLaLXIRLcoCHsv++pfmT4YfC4Uog==}
|
||||
'@next/env@15.4.0-canary.11':
|
||||
resolution: {integrity: sha512-UoGIxI4VR0QxCCkVLKw4USofRR72BdwwqbJZKKA9W812mWoO7gMDAkSQ2pARul+0/LPmzzWQGzV4MNJykPw7sg==}
|
||||
|
||||
'@next/eslint-plugin-next@15.4.0-canary.10':
|
||||
resolution: {integrity: sha512-Ak8fqghV5PJKEzlN2cn9jKlRkAZzH3Hmb06vcB7m7ABIFt/VaW9g6TVZ7ISLYVOSnQTKiT2/o6I/HCCa/vMCVw==}
|
||||
'@next/eslint-plugin-next@15.4.0-canary.11':
|
||||
resolution: {integrity: sha512-zoYBXimvcbnBkOT0VJgQJDUqSVVpVsUZwQNoZLJN71HLDSfkhTkEN+ohhO3vUIbCRWAB7VKh1+QzPBQ5t9eHtg==}
|
||||
|
||||
'@next/mdx@15.4.0-canary.10':
|
||||
resolution: {integrity: sha512-wao194bAP6Jq1AVvBhfB+UB4I0A739JTIEiKFC2a1uRxNnLPUyW4cnbvkHD/zGScyNoRXAswZLbeqNwYtn5IWQ==}
|
||||
'@next/mdx@15.4.0-canary.11':
|
||||
resolution: {integrity: sha512-eX5Oe2JqZu9I8b4MgIqYQdRFyVcINVdSUZgg6rXmqH5dPubyXqeBsy9E9Mf7xemhtRAL9NKRYgHiyPC6LYjUwQ==}
|
||||
peerDependencies:
|
||||
'@mdx-js/loader': '>=0.15.0'
|
||||
'@mdx-js/react': '>=0.15.0'
|
||||
@ -691,50 +694,50 @@ packages:
|
||||
'@mdx-js/react':
|
||||
optional: true
|
||||
|
||||
'@next/swc-darwin-arm64@15.4.0-canary.10':
|
||||
resolution: {integrity: sha512-jLYzivL7h5n2xkozCMqWJygBZARouL//ihInn/IaZbxbKNd/c2tcXsS3dc0J11CfDNItP4dFob2I8Zsr4q9I/w==}
|
||||
'@next/swc-darwin-arm64@15.4.0-canary.11':
|
||||
resolution: {integrity: sha512-ZlyAF3fcrl+gbAz6TVpbLWa0fUJXBWa51JSAXJyeYYpzBT2X2sfavILIhnQqmY+ezRZkHL8ZI459uPWeCxEdgw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@next/swc-darwin-x64@15.4.0-canary.10':
|
||||
resolution: {integrity: sha512-kOOshC0VPfAAiVUr176gx142KhRH4sHU6BGZh5y3tHzgKHBQGBsbtbnOXCOVSGE9W7S/mIqs+T+fB7P7bWLfJA==}
|
||||
'@next/swc-darwin-x64@15.4.0-canary.11':
|
||||
resolution: {integrity: sha512-Zz0sUNNRpeCNXsfZDHo2gSL3d2ln2rPR6pRCoif9bBtRRU8z25ernDys1RR7NqvMhYKlJSaOsK/eQeQERLY+ow==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@next/swc-linux-arm64-gnu@15.4.0-canary.10':
|
||||
resolution: {integrity: sha512-rgEZdSFDo2Tw5pv0Mby+0IsyBmjrBzBjcK/VF/aXTmQjKuEOKkmpGtEtHIzuHTGEplml6g/suDg+ySeTI8M5Ww==}
|
||||
'@next/swc-linux-arm64-gnu@15.4.0-canary.11':
|
||||
resolution: {integrity: sha512-hKsDUWFwgmBUj3PESle/KiOZ3lDELIHY9AbEsEkkUv6ddxTmDWurxz17ARUihUtWIewevwtDms0X6/tGnwMHsQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@next/swc-linux-arm64-musl@15.4.0-canary.10':
|
||||
resolution: {integrity: sha512-ay/xrzPoiV3WaODHg/83wis0BpXZphI4VM+VmHy2e3RZ1qKTqjzzt/cJ1Dc1HR6dH2uzG7fgJohH1DUbIGXpaQ==}
|
||||
'@next/swc-linux-arm64-musl@15.4.0-canary.11':
|
||||
resolution: {integrity: sha512-HqICfZyXDX+xXD4Js4RWOpcvXpcsePIqlnlJ2XsTgoX6S33Cvz2yUHzrOubMHXHbz3EYPa+nahQ4N6VUVq9JcA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@next/swc-linux-x64-gnu@15.4.0-canary.10':
|
||||
resolution: {integrity: sha512-7OhIXD38QuHhuVrSjIn/kiFEyphGVw9J1SkPKuaJCKzHGVfZOTpS3p24Iy7U4ZCD9CYcTcXaFBSD3Nde8Qzk7A==}
|
||||
'@next/swc-linux-x64-gnu@15.4.0-canary.11':
|
||||
resolution: {integrity: sha512-0hGchpdzp6LyFBIPoE0rFLjbW1uoFGucgqAtcuw4M5+vTqTJSdh6m1kxJ9LY7IhCs+j0TOxXsuHHUgkPcma6vQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@next/swc-linux-x64-musl@15.4.0-canary.10':
|
||||
resolution: {integrity: sha512-OoHDSZN9sWWO3ckODSvL9mC4tW090Oss4kSVUtQmbHSghdI+RhSSMwGxMhKJixaky3I/b+pioKtSKLINaPRuHw==}
|
||||
'@next/swc-linux-x64-musl@15.4.0-canary.11':
|
||||
resolution: {integrity: sha512-rGe/4JSOR9GfZHa48mpZd3mBH9OPpIEmbkm6dx4cmoi8+xRR6ctFH0w0ft/LLvQCqGZnS4fmvGDPYQQuwMnfxg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@next/swc-win32-arm64-msvc@15.4.0-canary.10':
|
||||
resolution: {integrity: sha512-PbKDLTP49C5JuEQt76OhRbSF99g3WXI/C7x5nGPNinCna3xVru15S5xTiXwiPEwbv7moco6vu74G+8QWkWxaSg==}
|
||||
'@next/swc-win32-arm64-msvc@15.4.0-canary.11':
|
||||
resolution: {integrity: sha512-UoyYOZBX+PgGCLNJFY5jVKoTHPKJZuW78nEpV429AI3vHfJvbM4SAVRGVKFkqjknB2Y8NeMyg4YUoSTlpwf3fQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@next/swc-win32-x64-msvc@15.4.0-canary.10':
|
||||
resolution: {integrity: sha512-7rsyd22S4JH7kyq3TEvHslM82xBNxf6tG3MywuELXjSS3aP98oil8bGXGewku8dAse0D4ro3f27gHotinI8N+Q==}
|
||||
'@next/swc-win32-x64-msvc@15.4.0-canary.11':
|
||||
resolution: {integrity: sha512-VmjnbvMN2MMTyx8k7aMGS1MAO7gvFpYN/Iu5U2cRpDvCximA5Fn9LwmBWYTf4aj+e4dk0zn5TL2lSa0HzGdTzQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
@ -929,8 +932,8 @@ packages:
|
||||
'@types/nlcst@2.0.3':
|
||||
resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==}
|
||||
|
||||
'@types/node@22.14.1':
|
||||
resolution: {integrity: sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==}
|
||||
'@types/node@22.15.2':
|
||||
resolution: {integrity: sha512-uKXqKN9beGoMdBfcaTY1ecwz6ctxuJAcUlwE55938g0ZJ8lRxwAZqRz2AJ4pzpt5dHdTPMB863UZ0ESiFUcP7A==}
|
||||
|
||||
'@types/prop-types@15.7.14':
|
||||
resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==}
|
||||
@ -1636,8 +1639,8 @@ packages:
|
||||
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
eslint-config-next@15.4.0-canary.10:
|
||||
resolution: {integrity: sha512-sHo7IEuNvRIKuKhgP0hQMjHsKJVjxGtn/4aoDxyS1XlGMc20KA8q3WUky8xMY3gHpV7WctOrhpaLYIvyF3abAQ==}
|
||||
eslint-config-next@15.4.0-canary.11:
|
||||
resolution: {integrity: sha512-JdAxRmmWrLB6TLIkJIfrA3qgQeXJIFfqoQz6w4XcDHpD2CHuc9XmdiadtKstuvs0EKJm8QIVlhjiUQ4ZWFyRlg==}
|
||||
peerDependencies:
|
||||
eslint: ^7.23.0 || ^8.0.0 || ^9.0.0
|
||||
typescript: '>=3.3.1'
|
||||
@ -2737,8 +2740,8 @@ packages:
|
||||
natural-compare@1.4.0:
|
||||
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
|
||||
|
||||
next@15.4.0-canary.10:
|
||||
resolution: {integrity: sha512-6TUMe1FGRkNosSTFS2KkynZX3tbGf3M4ZKF9AnEIqds6WCptnyZjdack9fSzioV1WdI3TzKe4O1FiyRoQTzkiA==}
|
||||
next@15.4.0-canary.11:
|
||||
resolution: {integrity: sha512-Vz1EndhIbsvt03kLFEvvpNH+ipOAzzgtlFjQ0VppoMQhQomlDzWYca8fYzT7KVEUHS96xBTvuLXBVgn70IIubA==}
|
||||
engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
@ -3115,6 +3118,11 @@ packages:
|
||||
recma-jsx@1.0.0:
|
||||
resolution: {integrity: sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==}
|
||||
|
||||
recma-mdx-escape-missing-components@1.1.2:
|
||||
resolution: {integrity: sha512-XqSprkB+OQgqK07NrNm8PiA8arI8Y7sdHzVQvcxT3/8QHXqUWGOp2Oukn5xfNt86AMKN1UkTiY7ThfvblhEQMQ==}
|
||||
peerDependencies:
|
||||
unified: ^11
|
||||
|
||||
recma-parse@1.0.0:
|
||||
resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==}
|
||||
|
||||
@ -4314,48 +4322,48 @@ snapshots:
|
||||
'@tybys/wasm-util': 0.9.0
|
||||
optional: true
|
||||
|
||||
'@next/bundle-analyzer@15.4.0-canary.10':
|
||||
'@next/bundle-analyzer@15.4.0-canary.11':
|
||||
dependencies:
|
||||
webpack-bundle-analyzer: 4.10.1
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- utf-8-validate
|
||||
|
||||
'@next/env@15.4.0-canary.10': {}
|
||||
'@next/env@15.4.0-canary.11': {}
|
||||
|
||||
'@next/eslint-plugin-next@15.4.0-canary.10':
|
||||
'@next/eslint-plugin-next@15.4.0-canary.11':
|
||||
dependencies:
|
||||
fast-glob: 3.3.1
|
||||
|
||||
'@next/mdx@15.4.0-canary.10(@mdx-js/loader@3.1.0(acorn@8.14.1))(@mdx-js/react@3.1.0(@types/react@19.1.2)(react@19.1.0))':
|
||||
'@next/mdx@15.4.0-canary.11(@mdx-js/loader@3.1.0(acorn@8.14.1))(@mdx-js/react@3.1.0(@types/react@19.1.2)(react@19.1.0))':
|
||||
dependencies:
|
||||
source-map: 0.7.4
|
||||
optionalDependencies:
|
||||
'@mdx-js/loader': 3.1.0(acorn@8.14.1)
|
||||
'@mdx-js/react': 3.1.0(@types/react@19.1.2)(react@19.1.0)
|
||||
|
||||
'@next/swc-darwin-arm64@15.4.0-canary.10':
|
||||
'@next/swc-darwin-arm64@15.4.0-canary.11':
|
||||
optional: true
|
||||
|
||||
'@next/swc-darwin-x64@15.4.0-canary.10':
|
||||
'@next/swc-darwin-x64@15.4.0-canary.11':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-arm64-gnu@15.4.0-canary.10':
|
||||
'@next/swc-linux-arm64-gnu@15.4.0-canary.11':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-arm64-musl@15.4.0-canary.10':
|
||||
'@next/swc-linux-arm64-musl@15.4.0-canary.11':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-x64-gnu@15.4.0-canary.10':
|
||||
'@next/swc-linux-x64-gnu@15.4.0-canary.11':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-x64-musl@15.4.0-canary.10':
|
||||
'@next/swc-linux-x64-musl@15.4.0-canary.11':
|
||||
optional: true
|
||||
|
||||
'@next/swc-win32-arm64-msvc@15.4.0-canary.10':
|
||||
'@next/swc-win32-arm64-msvc@15.4.0-canary.11':
|
||||
optional: true
|
||||
|
||||
'@next/swc-win32-x64-msvc@15.4.0-canary.10':
|
||||
'@next/swc-win32-x64-msvc@15.4.0-canary.11':
|
||||
optional: true
|
||||
|
||||
'@nodelib/fs.scandir@2.1.5':
|
||||
@ -4550,7 +4558,7 @@ snapshots:
|
||||
|
||||
'@types/concat-stream@2.0.3':
|
||||
dependencies:
|
||||
'@types/node': 22.14.1
|
||||
'@types/node': 22.15.2
|
||||
|
||||
'@types/debug@4.1.12':
|
||||
dependencies:
|
||||
@ -4584,7 +4592,7 @@ snapshots:
|
||||
dependencies:
|
||||
'@types/unist': 3.0.3
|
||||
|
||||
'@types/node@22.14.1':
|
||||
'@types/node@22.15.2':
|
||||
dependencies:
|
||||
undici-types: 6.21.0
|
||||
|
||||
@ -4743,9 +4751,9 @@ snapshots:
|
||||
dependencies:
|
||||
crypto-js: 4.2.0
|
||||
|
||||
'@vercel/analytics@1.5.0(next@15.4.0-canary.10(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)':
|
||||
'@vercel/analytics@1.5.0(next@15.4.0-canary.11(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)':
|
||||
optionalDependencies:
|
||||
next: 15.4.0-canary.10(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
next: 15.4.0-canary.11(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
react: 19.1.0
|
||||
|
||||
abbrev@2.0.0: {}
|
||||
@ -5343,9 +5351,9 @@ snapshots:
|
||||
|
||||
escape-string-regexp@5.0.0: {}
|
||||
|
||||
eslint-config-next@15.4.0-canary.10(eslint@9.25.1)(typescript@5.8.3):
|
||||
eslint-config-next@15.4.0-canary.11(eslint@9.25.1)(typescript@5.8.3):
|
||||
dependencies:
|
||||
'@next/eslint-plugin-next': 15.4.0-canary.10
|
||||
'@next/eslint-plugin-next': 15.4.0-canary.11
|
||||
'@rushstack/eslint-patch': 1.11.0
|
||||
'@typescript-eslint/eslint-plugin': 8.30.1(@typescript-eslint/parser@8.30.1(eslint@9.25.1)(typescript@5.8.3))(eslint@9.25.1)(typescript@5.8.3)
|
||||
'@typescript-eslint/parser': 8.30.1(eslint@9.25.1)(typescript@5.8.3)
|
||||
@ -5764,9 +5772,9 @@ snapshots:
|
||||
|
||||
functions-have-names@1.2.3: {}
|
||||
|
||||
geist@1.3.1(next@15.4.0-canary.10(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)):
|
||||
geist@1.3.1(next@15.4.0-canary.11(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)):
|
||||
dependencies:
|
||||
next: 15.4.0-canary.10(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
next: 15.4.0-canary.11(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
|
||||
gensync@1.0.0-beta.2: {}
|
||||
|
||||
@ -6911,9 +6919,9 @@ snapshots:
|
||||
|
||||
natural-compare@1.4.0: {}
|
||||
|
||||
next@15.4.0-canary.10(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
|
||||
next@15.4.0-canary.11(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
|
||||
dependencies:
|
||||
'@next/env': 15.4.0-canary.10
|
||||
'@next/env': 15.4.0-canary.11
|
||||
'@swc/counter': 0.1.3
|
||||
'@swc/helpers': 0.5.15
|
||||
busboy: 1.6.0
|
||||
@ -6923,14 +6931,14 @@ snapshots:
|
||||
react-dom: 19.1.0(react@19.1.0)
|
||||
styled-jsx: 5.1.6(@babel/core@7.26.10)(react@19.1.0)
|
||||
optionalDependencies:
|
||||
'@next/swc-darwin-arm64': 15.4.0-canary.10
|
||||
'@next/swc-darwin-x64': 15.4.0-canary.10
|
||||
'@next/swc-linux-arm64-gnu': 15.4.0-canary.10
|
||||
'@next/swc-linux-arm64-musl': 15.4.0-canary.10
|
||||
'@next/swc-linux-x64-gnu': 15.4.0-canary.10
|
||||
'@next/swc-linux-x64-musl': 15.4.0-canary.10
|
||||
'@next/swc-win32-arm64-msvc': 15.4.0-canary.10
|
||||
'@next/swc-win32-x64-msvc': 15.4.0-canary.10
|
||||
'@next/swc-darwin-arm64': 15.4.0-canary.11
|
||||
'@next/swc-darwin-x64': 15.4.0-canary.11
|
||||
'@next/swc-linux-arm64-gnu': 15.4.0-canary.11
|
||||
'@next/swc-linux-arm64-musl': 15.4.0-canary.11
|
||||
'@next/swc-linux-x64-gnu': 15.4.0-canary.11
|
||||
'@next/swc-linux-x64-musl': 15.4.0-canary.11
|
||||
'@next/swc-win32-arm64-msvc': 15.4.0-canary.11
|
||||
'@next/swc-win32-x64-msvc': 15.4.0-canary.11
|
||||
babel-plugin-react-compiler: 19.0.0-beta-af1b7da-20250417
|
||||
sharp: 0.34.1
|
||||
transitivePeerDependencies:
|
||||
@ -7318,6 +7326,12 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- acorn
|
||||
|
||||
recma-mdx-escape-missing-components@1.1.2(unified@11.0.5):
|
||||
dependencies:
|
||||
'@types/estree': 1.0.7
|
||||
estree-util-visit: 2.0.0
|
||||
unified: 11.0.5
|
||||
|
||||
recma-parse@1.0.0:
|
||||
dependencies:
|
||||
'@types/estree': 1.0.7
|
||||
@ -8064,7 +8078,7 @@ snapshots:
|
||||
'@types/concat-stream': 2.0.3
|
||||
'@types/debug': 4.1.12
|
||||
'@types/is-empty': 1.2.3
|
||||
'@types/node': 22.14.1
|
||||
'@types/node': 22.15.2
|
||||
'@types/unist': 3.0.3
|
||||
concat-stream: 2.0.0
|
||||
debug: 4.4.0
|
||||
|
Loading…
x
Reference in New Issue
Block a user