{"_id":"next-mdx-remote-client","_rev":"33-a5ce76aabe77af14548122b2d0f7aa1e","name":"next-mdx-remote-client","dist-tags":{"latest":"2.1.12","legacy":"1.1.9"},"versions":{"0.0.7":{"name":"next-mdx-remote-client","version":"0.0.7","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@0.0.7","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"95e7a425940495f265c744d7b9f4c7c26832a676","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-0.0.7.tgz","fileCount":89,"integrity":"sha512-z0uX/kL07f/QocsIR1ItDqGhVVECH6L547GbMIaYXwyPwwQrx1t9wenoYp1ekCgENsp090TfpSHacELQuNSF4A==","signatures":[{"sig":"MEQCIC5gJmuE11e431F9BpN5y7l3knhemgANmk9jF5wXG+eSAiAf1mZQYq18G/B6q9M6czKsNmuMxhXvQv1cYrmohxVe1w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":151111},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.17.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js"},"gitHead":"52e3be3d9cecf924cddf2d8d66477fc82b2bcdc5","scripts":{"kill":"killall node","lint":"eslint .","test":"vitest --pool=vmThreads","build":"rimraf dist && tsc","prepack":"npm run build","pretest":"npm run build && npm pack --pack-destination ./dist","test:ci":"vitest --pool=forks --watch=false --exclude '**/test.evaluate.esm.spec.tsx'","test:vm":"vitest --pool=vmThreads --watch=false test.evaluate.esm.spec.tsx","coverage":"vitest --pool=vmThreads run --coverage","prettier":"prettier --write .","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","type-coverage":"type-coverage --ignoreAsAssertion","prepublishOnly":"npm run test:ci && npm run test:vm && npm run type-coverage && npm run prettier && npm run lint"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.2.4","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.11.1","dependencies":{"vfile":"^6.0.1","@types/mdx":"^2.0.11","@mdx-js/mdx":"^3.0.1","vfile-matter":"^5.0.0","@mdx-js/react":"^3.0.1","serialize-error":"^11.0.3","@babel/code-frame":"^7.23.5","remark-mdx-remove-esm":"^1.0.1"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^14.1.0","jsdom":"^24.0.0","dedent":"^1.5.1","eslint":"^8.57.0","rimraf":"^5.0.5","vitest":"^1.3.0","prettier":"^3.2.5","typescript":"^5.3.3","@types/node":"^20.11.20","@types/react":"^18.2.58","remark-emoji":"^4.0.1","type-coverage":"^2.27.1","@types/react-dom":"^18.2.19","@vitest/coverage-v8":"^1.3.1","@babel/eslint-parser":"^7.23.10","@testing-library/react":"^14.2.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","recma-mdx-change-props":"^1.0.1","remark-flexible-markers":"^1.0.4","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^3.6.0","@testing-library/jest-dom":"^6.4.2","@typescript-eslint/parser":"^6.21.0","remark-flexible-paragraphs":"^1.0.4","@typescript-eslint/eslint-plugin":"^6.21.0","recma-mdx-escape-missing-components":"^1.0.5"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_0.0.7_1709220032225_0.2746946461130866","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"next-mdx-remote-client","version":"1.0.0","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@1.0.0","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"b8e802b210ceae8815d53b599f145b59efba9ce1","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-1.0.0.tgz","fileCount":89,"integrity":"sha512-AmqE6y0KDCjiv7piZmsrf7/sYXXDV0E6eqGKFs9Lffo6mshZOg1L81TQrrheq0Z6C9IhmhEZ30BjE6gUaqobeg==","signatures":[{"sig":"MEUCIQC83Pi5NYxemaunEI3r+fhJdsf26LAYHUn0eOSpFEriCQIgBd1wJQ0YtoKtBSCzpupOvdBCLRpzBvkCUbV/AQu5/j4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":151683},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.17.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"ccec617cd11dc822e0e1dba3b4d445eb94aa628a","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && npm run type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","type-coverage":"type-coverage --ignoreAsAssertion","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.2.4","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.11.1","dependencies":{"vfile":"^6.0.1","@types/mdx":"^2.0.11","@mdx-js/mdx":"^3.0.1","vfile-matter":"^5.0.0","@mdx-js/react":"^3.0.1","serialize-error":"^11.0.3","@babel/code-frame":"^7.23.5","remark-mdx-remove-esm":"^1.0.1"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^14.1.0","jsdom":"^24.0.0","dedent":"^1.5.1","eslint":"^8.57.0","rimraf":"^5.0.5","vitest":"^1.3.0","prettier":"^3.2.5","typescript":"^5.3.3","@types/node":"^20.11.20","@types/react":"^18.2.58","remark-emoji":"^4.0.1","type-coverage":"^2.27.1","@types/react-dom":"^18.2.19","@vitest/coverage-v8":"^1.3.1","@babel/eslint-parser":"^7.23.10","@testing-library/react":"^14.2.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","recma-mdx-change-props":"^1.0.1","remark-flexible-markers":"^1.0.4","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^3.6.0","@testing-library/jest-dom":"^6.4.2","@typescript-eslint/parser":"^6.21.0","remark-flexible-paragraphs":"^1.0.4","@typescript-eslint/eslint-plugin":"^6.21.0","recma-mdx-escape-missing-components":"^1.0.5"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_1.0.0_1709323749007_0.042027180240004514","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"next-mdx-remote-client","version":"1.0.1","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@1.0.1","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"2c571304316c81172b7dffd68f1b08ab9352cbf9","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-1.0.1.tgz","fileCount":89,"integrity":"sha512-GkOfobNgOlDldYH76ha91s7cIMBZhXBzAJbkeBGbbvcGf7jIHHw10W8LgXAeynY1MSrAKPC8/1PYJrlDwvdS5g==","signatures":[{"sig":"MEYCIQDHUOGG5VCK6z28XpAjPx47URkfQNkDhavUeYvd2qmj5gIhAOO+GiPQceFgyfpeWdleERHBPQ5vGtFBl1xLKLBV1h8d","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":153745},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.17.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"a23f0f72dd5d6b0a4b5e02ea75f347846c7ee191","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.2.4","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.11.1","dependencies":{"vfile":"^6.0.1","@types/mdx":"^2.0.11","@mdx-js/mdx":"^3.0.1","vfile-matter":"^5.0.0","@mdx-js/react":"^3.0.1","serialize-error":"^11.0.3","@babel/code-frame":"^7.24.2","remark-mdx-remove-esm":"^1.0.1"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^14.1.4","jsdom":"^24.0.0","dedent":"^1.5.1","eslint":"^8.57.0","rimraf":"^5.0.5","vitest":"^1.4.0","prettier":"^3.2.5","typescript":"^5.4.3","@types/node":"^20.11.30","@types/react":"^18.2.67","remark-emoji":"^4.0.1","type-coverage":"^2.27.1","@types/react-dom":"^18.2.22","@vitest/coverage-v8":"^1.4.0","@babel/eslint-parser":"^7.24.1","@testing-library/react":"^14.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","recma-mdx-change-props":"^1.0.1","remark-flexible-markers":"^1.2.1","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^3.6.0","@testing-library/jest-dom":"^6.4.2","@typescript-eslint/parser":"^7.3.1","remark-flexible-paragraphs":"^1.2.0","@typescript-eslint/eslint-plugin":"^7.3.1","recma-mdx-escape-missing-components":"^1.0.5"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_1.0.1_1711102586143_0.19695914404598902","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"next-mdx-remote-client","version":"1.0.2","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@1.0.2","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"b02c7a354a5c1292c4d1cc6b3df14268fe362380","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-1.0.2.tgz","fileCount":89,"integrity":"sha512-TZki/dm8L1NtxD+HMADHQjEsIQYX1DRsn6B0hPctQXlNb6KbbudMWvKHcjDztkjZL10LbeKmyT386PIroAvczg==","signatures":[{"sig":"MEUCIQCxXqjExfXeaGowblY6ezLE9fIzaCCltjMxhUWxm3GN1AIgPMWPoBYHJf2wRVWsPXeoAy8+zpElMbaDSxau/JuiNIU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":154575},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.17.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"d986b0c0555ed8e61742eb3c98b16c922b4d3b63","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.5.0","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.12.0","dependencies":{"vfile":"^6.0.1","@types/mdx":"^2.0.12","@mdx-js/mdx":"^3.0.1","vfile-matter":"^5.0.0","@mdx-js/react":"^3.0.1","serialize-error":"^11.0.3","@babel/code-frame":"^7.24.2","remark-mdx-remove-esm":"^1.1.0"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^14.1.4","jsdom":"^24.0.0","dedent":"^1.5.1","eslint":"^8.57.0","rimraf":"^5.0.5","vitest":"^1.4.0","prettier":"^3.2.5","typescript":"^5.4.4","@types/node":"^20.12.5","@types/react":"^18.2.74","remark-emoji":"^4.0.1","type-coverage":"^2.28.1","@types/react-dom":"^18.2.24","@vitest/coverage-v8":"^1.4.0","@babel/eslint-parser":"^7.24.1","@testing-library/react":"^14.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","recma-mdx-change-props":"^1.1.0","remark-flexible-markers":"^1.2.1","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^3.6.0","@testing-library/jest-dom":"^6.4.2","@typescript-eslint/parser":"^7.5.0","remark-flexible-paragraphs":"^1.2.0","@typescript-eslint/eslint-plugin":"^7.5.0","recma-mdx-escape-missing-components":"^1.1.0"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_1.0.2_1712519213625_0.03394301978341008","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"next-mdx-remote-client","version":"1.0.3","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@1.0.3","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"01b975610474ae635cc40bd9acc4e6a0578a8086","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-1.0.3.tgz","fileCount":89,"integrity":"sha512-svPnAFB4VIEZEJabcJUU8uRDCCo1aUQOR71C0yWKeIqn08KnqWdKCDVtpu4Lazy0ORZsFn/xuZWxXanryLLvmw==","signatures":[{"sig":"MEUCIQCu9XF5S1gkLBYlfI7BCPFnLR7V9Ua2/7HQccSEZWs57gIgUyVq9cUjw/WUP2kucyzrvBgTWU1qzSgzZjNvrTgajBY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":156316},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.17.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"98a22902d2d667b7c5d66fd74ed295eacf593d57","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.MDXProvider.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.5.0","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"vfile":"^6.0.1","@types/mdx":"^2.0.13","@mdx-js/mdx":"^3.0.1","vfile-matter":"^5.0.0","@mdx-js/react":"^3.0.1","serialize-error":"^11.0.3","@babel/code-frame":"^7.24.2","remark-mdx-remove-esm":"^1.1.0"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^14.2.2","jsdom":"^24.0.0","dedent":"^1.5.3","eslint":"^8.57.0","rimraf":"^5.0.5","vitest":"^1.4.0","prettier":"^3.2.5","typescript":"^5.4.5","@types/node":"^20.12.7","@types/react":"^18.2.79","remark-emoji":"^4.0.1","type-coverage":"^2.28.1","@types/react-dom":"^18.2.25","@vitest/coverage-v8":"^1.5.0","@babel/eslint-parser":"^7.24.1","@testing-library/react":"^15.0.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","recma-mdx-change-props":"^1.1.1","remark-flexible-markers":"^1.2.1","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^3.6.0","@testing-library/jest-dom":"^6.4.2","@typescript-eslint/parser":"^7.7.0","remark-flexible-paragraphs":"^1.2.0","@typescript-eslint/eslint-plugin":"^7.7.0","recma-mdx-escape-missing-components":"^1.1.0"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_1.0.3_1713649277929_0.36827786443399657","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"next-mdx-remote-client","version":"1.0.5","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@1.0.5","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"444a4295a134be56a14086db851c1cb5ac4828df","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-1.0.5.tgz","fileCount":90,"integrity":"sha512-QX8smLpNr2dO6hZ+yWhyJEmJ7tN9UN7dOB1zzzQKHZREF0kNwpLAnb5vQaRuwTYwPn1Xld5eKb5Bzig16piUsA==","signatures":[{"sig":"MEQCIHfa3opZCa38uR8SoSOOCDe2nIQa2rzP8mdBaaHGBxMqAiBUSLkZEXEgnJOaE4pg+m7HspaGtQBa2m9qMr2UscrJ6Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@1.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":173879},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"45890f72fabe5bbfa46d1e643565e24373b4ecf1","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"vfile":"^6.0.3","@types/mdx":"^2.0.13","@mdx-js/mdx":"^3.1.0","vfile-matter":"^5.0.0","@mdx-js/react":"^3.1.0","serialize-error":"^12.0.0","@babel/code-frame":"^7.26.2","remark-mdx-remove-esm":"^1.1.0"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^14.2.23","jsdom":"^26.0.0","dedent":"^1.5.3","eslint":"^9.17.0","rimraf":"^5.0.10","vitest":"^2.1.8","globals":"^15.14.0","unified":"^11.0.5","prettier":"^3.4.2","@eslint/js":"^9.17.0","typescript":"^5.7.3","@types/node":"^22.10.5","@types/react":"^18.3.18","remark-emoji":"^5.0.1","type-coverage":"^2.29.7","@types/react-dom":"^18.3.5","typescript-eslint":"^8.19.1","@vitest/coverage-v8":"^2.1.8","eslint-plugin-react":"^7.37.3","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.1.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","recma-mdx-change-props":"^1.1.1","remark-flexible-markers":"^1.2.1","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^3.7.2","@testing-library/jest-dom":"^6.6.3","remark-flexible-paragraphs":"^1.2.0","recma-mdx-escape-missing-components":"^1.1.0"},"peerDependencies":{"react":">= 18.3.0 < 19.0.0","react-dom":">= 18.3.0 < 19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_1.0.5_1736596383227_0.14092548702731356","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"next-mdx-remote-client","version":"1.0.6","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@1.0.6","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"01bcfbef338400dee5039da84c917ff4813aa0d7","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-1.0.6.tgz","fileCount":90,"integrity":"sha512-FZKRLdo6H2xuH+A+bTZagdV4XFn6Okif8ttvBFUW0MegRhAq/n49xZKNGdvtjNK4WU/GDwFyt2nQypBiU64wnQ==","signatures":[{"sig":"MEYCIQCarKqLbfb4kyFsEVP7kXfMEIQtdAIwUmQbUimbn41PFwIhANpwn7imVUjE2VTsUiYi+V2XnZRZb9AUZ2hUSf/g027M","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@1.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":173933},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"3c5c30c23a39c6d145102ba56a30404f97f5130a","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"vfile":"^6.0.3","@types/mdx":"^2.0.13","@mdx-js/mdx":"^3.1.0","vfile-matter":"^5.0.0","@mdx-js/react":"^3.1.0","serialize-error":"^12.0.0","@babel/code-frame":"^7.26.2","remark-mdx-remove-esm":"^1.1.0"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^14.2.23","jsdom":"^26.0.0","dedent":"^1.5.3","eslint":"^9.17.0","rimraf":"^5.0.10","vitest":"^2.1.8","globals":"^15.14.0","unified":"^11.0.5","prettier":"^3.4.2","@eslint/js":"^9.17.0","typescript":"^5.7.3","@types/node":"^22.10.5","@types/react":"^18.3.18","remark-emoji":"^5.0.1","type-coverage":"^2.29.7","@types/react-dom":"^18.3.5","typescript-eslint":"^8.19.1","@vitest/coverage-v8":"^2.1.8","eslint-plugin-react":"^7.37.3","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.1.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","recma-mdx-change-props":"^1.1.1","remark-flexible-markers":"^1.2.1","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^3.7.2","@testing-library/jest-dom":"^6.6.3","remark-flexible-paragraphs":"^1.2.0","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.1.0"},"peerDependencies":{"react":">= 18.3.0 < 19.0.0","react-dom":">= 18.3.0 < 19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_1.0.6_1736620336863_0.12238314266301109","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"next-mdx-remote-client","version":"2.0.0","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@2.0.0","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"396656539acbb12e49ff63e8a0cc6ffbfd0fdbb5","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-2.0.0.tgz","fileCount":90,"integrity":"sha512-Us8viJZb+/9/48t6euRXqa237Q8s16/ogtup/vA9SiW/nO3CoCtYc3bAlCJegAaABaEWFqyNyfTI7IimBRcAcA==","signatures":[{"sig":"MEYCIQDT6xkMTLKjltpupxdYsNAboa8Wrf7SaS8/AWiXgxyx8gIhAPenJf6LiJo8j+QqOzQE+x0wu3WSHCeY43hupWBIGZGq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":173904},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"e25daa70cb85292a463c8f59ccbfcd41467b68eb","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"vfile":"^6.0.3","@types/mdx":"^2.0.13","@mdx-js/mdx":"^3.1.0","vfile-matter":"^5.0.0","@mdx-js/react":"^3.1.0","serialize-error":"^12.0.0","@babel/code-frame":"^7.26.2","remark-mdx-remove-esm":"^1.1.0"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.1.4","jsdom":"^26.0.0","dedent":"^1.5.3","eslint":"^9.17.0","rimraf":"^5.0.10","vitest":"^3.0.0-beta.4","globals":"^15.14.0","unified":"^11.0.5","prettier":"^3.4.2","@eslint/js":"^9.17.0","typescript":"^5.7.3","@types/node":"^22.10.5","@types/react":"^19.0.4","remark-emoji":"^5.0.1","type-coverage":"^2.29.7","@types/react-dom":"^19.0.2","typescript-eslint":"^8.19.1","@vitest/coverage-v8":"^3.0.0-beta.4","eslint-plugin-react":"^7.37.3","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.1.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","recma-mdx-change-props":"^1.1.1","remark-flexible-markers":"^1.2.1","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^3.7.2","@testing-library/jest-dom":"^6.6.3","remark-flexible-paragraphs":"^1.2.0","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.1.0"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_2.0.0_1736624216208_0.9847101590629364","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"next-mdx-remote-client","version":"1.0.7","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@1.0.7","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"1b39dabed2abd4147c7f03ddbe1ad88a0705a39e","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-1.0.7.tgz","fileCount":90,"integrity":"sha512-bO15bFa9e33JuxO50OWMyGmW7O7Pbe4qe1AjFiZHfbqYff5ga095pCfRcDBMVUQ6oKXPq/qzdgUbTIiHQZRrPw==","signatures":[{"sig":"MEQCIAyf8PoGdxz9XcVNIiO7XumSwqzdc7jgYoLaTIan4/s1AiBqjGkustWfgpMFu6Sb9RbkcCPxiK1Dqr3esH/lm171dg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@1.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":173805},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"b4e62ef272d05d162c1caa26ac2c9f6d8c2b736d","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.18.2","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.0","vfile-matter":"^5.0.0","@mdx-js/react":"^3.1.0","serialize-error":"^12.0.0","@babel/code-frame":"^7.26.2","remark-mdx-remove-esm":"^1.1.0"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^14.2.23","jsdom":"^26.0.0","dedent":"^1.5.3","eslint":"^9.17.0","rimraf":"^6.0.1","vitest":"^3.0.4","globals":"^15.14.0","unified":"^11.0.5","prettier":"^3.4.2","@eslint/js":"^9.17.0","@types/mdx":"^2.0.13","typescript":"^5.7.3","@types/node":"^22.10.5","@types/react":"^18.3.18","remark-emoji":"^5.0.1","type-coverage":"^2.29.7","@types/react-dom":"^18.3.5","typescript-eslint":"^8.19.1","@vitest/coverage-v8":"^3.0.4","eslint-plugin-react":"^7.37.3","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.1.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.1","recma-mdx-change-props":"^1.1.1","remark-flexible-markers":"^1.2.1","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^3.7.2","@testing-library/jest-dom":"^6.6.3","remark-flexible-paragraphs":"^1.2.0","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.1.0"},"peerDependencies":{"react":">= 18.3.0 < 19.0.0","react-dom":">= 18.3.0 < 19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_1.0.7_1738267299702_0.5165117542374129","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"next-mdx-remote-client","version":"2.0.1","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@2.0.1","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"ce584c7683c471b85529941a1c1383bcc13adea7","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-2.0.1.tgz","fileCount":90,"integrity":"sha512-e+IGnS8M10ZwpUYPz1t9VRSgwn5U1/jhli127tMwBjrd9MgL+9ol5ipCiBHE31KP8X9Dix29F45+jwVv0frdAA==","signatures":[{"sig":"MEQCIAX4tt9ZDkJ7ou2Ve4LoreGK4l4y+BYqEqQgbyfL4+3wAiBvSnhQgF9CF8JHETKPHBm8YYQ0vtLAuLpjUihG7sFROA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":173762},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"8fde6be0a06472b460a12f446b934e077b86d015","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.18.2","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.0","vfile-matter":"^5.0.0","@mdx-js/react":"^3.1.0","serialize-error":"^12.0.0","@babel/code-frame":"^7.26.2","remark-mdx-remove-esm":"^1.1.0"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.1.6","jsdom":"^26.0.0","dedent":"^1.5.3","eslint":"^9.19.0","rimraf":"^6.0.1","vitest":"^3.0.4","globals":"^15.14.0","unified":"^11.0.5","prettier":"^3.4.2","@eslint/js":"^9.19.0","@types/mdx":"^2.0.13","typescript":"^5.7.3","@types/node":"^22.12.0","@types/react":"^19.0.8","remark-emoji":"^5.0.1","type-coverage":"^2.29.7","@types/react-dom":"^19.0.2","typescript-eslint":"^8.22.0","@vitest/coverage-v8":"^3.0.4","eslint-plugin-react":"^7.37.3","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.2.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.3","recma-mdx-change-props":"^1.1.1","remark-flexible-markers":"^1.2.1","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^3.7.2","@testing-library/jest-dom":"^6.6.3","remark-flexible-paragraphs":"^1.2.0","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.1.0"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_2.0.1_1738267620738_0.26650379294299387","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"next-mdx-remote-client","version":"2.1.0","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@2.1.0","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"5710b19eabd797998a0b6c3037cc1ed27352c917","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-2.1.0.tgz","fileCount":90,"integrity":"sha512-kBRlQFu4DPOwW4TwXpzmKL7WFlL2AgAl/rPufMltWsLLngrEv9CFedvXATpv2NJOMCM6GSbfbG7bgex+ySsHKQ==","signatures":[{"sig":"MEUCICo1H2AJ7f4/tay3czuFHcw0KnfrGCTIjDH9f2jLS5jkAiEApjXY4X/cmBHjmTtVifzbMwCcR9ttE+ConxtcdKacYRg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174666},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"bc0f601afe74a570a5db57203be6a6d921fb2c06","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.18.3","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.0","vfile-matter":"^5.0.0","@mdx-js/react":"^3.1.0","serialize-error":"^12.0.0","@babel/code-frame":"^7.26.2","remark-mdx-remove-esm":"^1.1.0"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.2.1","jsdom":"^26.0.0","dedent":"^1.5.3","eslint":"^9.22.0","rimraf":"^6.0.1","vitest":"^3.0.8","globals":"^16.0.0","unified":"^11.0.5","prettier":"^3.5.3","@eslint/js":"^9.22.0","@types/mdx":"^2.0.13","typescript":"^5.8.2","@types/node":"^22.13.10","@types/react":"^19.0.10","remark-emoji":"^5.0.1","type-coverage":"^2.29.7","@types/react-dom":"^19.0.4","typescript-eslint":"^8.26.0","@vitest/coverage-v8":"^3.0.8","eslint-plugin-react":"^7.37.3","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.2.0","eslint-config-prettier":"^10.1.1","eslint-plugin-prettier":"^5.2.3","recma-mdx-change-props":"^1.1.2","recma-mdx-import-react":"^1.0.0","remark-flexible-markers":"^1.2.1","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^3.8.0","@testing-library/jest-dom":"^6.6.3","remark-flexible-paragraphs":"^1.2.0","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.1.2"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_2.1.0_1741541034205_0.5429035453859525","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"next-mdx-remote-client","version":"1.1.0","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@1.1.0","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"fe2fe86e35ed4b7150951b0df0ba7316dcb52817","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-1.1.0.tgz","fileCount":90,"integrity":"sha512-RuKP5Xe/cdgpeQOw1OqY6/t29DgjPQxvSUXpjr5OXB6gZpCnXrrruT6c+OwF2sskOA2jGjUbxVoavrB8CbGmQQ==","signatures":[{"sig":"MEUCICNgNqpE/iwZw6xtGfiDUWxLtFTin8cIqaARdSqmY1AuAiEAwIwn0k9yj5jbVKaRUCHAcmVLPbaozLuCg+YNcEgcY38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174709},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"634bad67edbee587a0b00ba8689769c88d31c812","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.18.3","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.0","vfile-matter":"^5.0.0","@mdx-js/react":"^3.1.0","serialize-error":"^12.0.0","@babel/code-frame":"^7.26.2","remark-mdx-remove-esm":"^1.1.0"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^14.2.24","jsdom":"^26.0.0","dedent":"^1.5.3","eslint":"^9.22.0","rimraf":"^6.0.1","vitest":"^3.0.8","globals":"^16.0.0","unified":"^11.0.5","prettier":"^3.5.3","@eslint/js":"^9.22.0","@types/mdx":"^2.0.13","typescript":"^5.8.2","@types/node":"^22.13.10","@types/react":"^18.3.18","remark-emoji":"^5.0.1","type-coverage":"^2.29.7","@types/react-dom":"^18.3.5","typescript-eslint":"^8.26.0","@vitest/coverage-v8":"^3.0.8","eslint-plugin-react":"^7.37.3","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.1.0","eslint-config-prettier":"^10.1.1","eslint-plugin-prettier":"^5.2.1","recma-mdx-change-props":"^1.1.2","recma-mdx-import-react":"^1.0.0","remark-flexible-markers":"^1.2.1","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^3.8.0","@testing-library/jest-dom":"^6.6.3","remark-flexible-paragraphs":"^1.2.0","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.1.2"},"peerDependencies":{"react":">= 18.3.0 < 19.0.0","react-dom":">= 18.3.0 < 19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_1.1.0_1741545027830_0.8130956714187367","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"next-mdx-remote-client","version":"2.1.1","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@2.1.1","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"de221583a791e1cfec6dbaae69df482f0e731408","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-2.1.1.tgz","fileCount":90,"integrity":"sha512-FDScfbKe5gNlCw6wdkyZi9Eb3L5MM0laTxB9XeWEoaInOLCagyYIccPQaSnoLZPPhgDRJx5IxusyBPdBCam3QQ==","signatures":[{"sig":"MEUCIGccNtm7jqwTBZ/Yvk7iO1mshLl6VQsSGok6T3G1yS+5AiEAhnurGMPqYkEPBYBu51sLxhaRwj5LmGt8KYpNMZnb6fQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":175503},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"cea1a105e2059ad1dbae7421ffa5eefeb701fac3","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.18.3","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.0","vfile-matter":"^5.0.0","@mdx-js/react":"^3.1.0","serialize-error":"^12.0.0","@babel/code-frame":"^7.26.2","remark-mdx-remove-esm":"^1.1.0"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.2.1","jsdom":"^26.0.0","dedent":"^1.5.3","eslint":"^9.22.0","rimraf":"^6.0.1","vitest":"^3.0.8","globals":"^16.0.0","unified":"^11.0.5","prettier":"^3.5.3","@eslint/js":"^9.22.0","@types/mdx":"^2.0.13","typescript":"^5.8.2","@types/node":"^22.13.10","@types/react":"^19.0.10","remark-emoji":"^5.0.1","type-coverage":"^2.29.7","@types/react-dom":"^19.0.4","typescript-eslint":"^8.26.1","@vitest/coverage-v8":"^3.0.8","eslint-plugin-react":"^7.37.3","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.2.0","eslint-config-prettier":"^10.1.1","eslint-plugin-prettier":"^5.2.3","recma-mdx-change-props":"^1.1.2","recma-mdx-import-react":"^1.0.1","remark-flexible-markers":"^1.2.1","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^3.8.0","@testing-library/jest-dom":"^6.6.3","remark-flexible-paragraphs":"^1.2.0","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.1.2"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_2.1.1_1741633927356_0.881823470075445","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"next-mdx-remote-client","version":"1.1.1","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@1.1.1","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"4f75ad3842b6035d6af21b3f35607147d32b2680","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-1.1.1.tgz","fileCount":90,"integrity":"sha512-cJnJGaRiHc1gn4aCzDmY9zmcCjEw+zMCpCYIy45Kjs8HzeQpdGcaO5GrgIcX/DFkuCVrrzc69wi2gGnExXbv/A==","signatures":[{"sig":"MEYCIQCpkGta+8Mm8RHabNwWXo3Y480/cOMTigZPpE/wp2fZOQIhAJrTJyCZEjH8sahHB4fhI9d11fHFe1W9XufyRD9+NY6u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176945},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"26d6748cac2ed8cf38f53b338983721a121caef6","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.0","vfile-matter":"^5.0.1","@mdx-js/react":"^3.1.0","serialize-error":"^12.0.0","@babel/code-frame":"^7.27.1","remark-mdx-remove-esm":"^1.1.0"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^14.2.28","jsdom":"^26.1.0","dedent":"^1.6.0","eslint":"^9.25.1","rimraf":"^6.0.1","vitest":"^3.1.2","globals":"^16.0.0","unified":"^11.0.5","prettier":"^3.5.3","@eslint/js":"^9.25.1","@types/mdx":"^2.0.13","typescript":"^5.8.3","@types/node":"^22.15.3","@types/react":"^18.3.20","remark-emoji":"^5.0.1","type-coverage":"^2.29.7","@types/react-dom":"^18.3.7","typescript-eslint":"^8.31.1","@vitest/coverage-v8":"^3.1.2","eslint-plugin-react":"^7.37.5","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","recma-mdx-change-props":"^1.1.2","recma-mdx-import-react":"^1.1.1","remark-flexible-markers":"^1.2.1","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^3.9.0","@testing-library/jest-dom":"^6.6.3","remark-flexible-paragraphs":"^1.2.0","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.1.2"},"peerDependencies":{"react":">= 18.3.0 < 19.0.0","react-dom":">= 18.3.0 < 19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_1.1.1_1746134966137_0.018984841733913793","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"next-mdx-remote-client","version":"2.1.2","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@2.1.2","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"87ce1899ab61df598e81bf447a9a403cb7595835","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-2.1.2.tgz","fileCount":90,"integrity":"sha512-isNeqjdW+aeJR8cUAReb4niGr4UYU8zOIzSpKNEHoQUqnABrns6j5QwkMdAOLhQa+efoVSZzqygnQAhLkjSqKg==","signatures":[{"sig":"MEUCIQD+9aBut8zZF+BkE2vGdH/cLXAHupTTFbY/qHDg8unUXAIgEHcITghoXCX8EWoZVfSAUv9ZblmhTDkatz/FJh4aOCw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@2.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176901},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"5dd3b3e8a639963613203258fd0f9f020bc92313","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.0","vfile-matter":"^5.0.1","@mdx-js/react":"^3.1.0","serialize-error":"^12.0.0","@babel/code-frame":"^7.27.1","remark-mdx-remove-esm":"^1.1.0"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.3.1","jsdom":"^26.1.0","dedent":"^1.6.0","eslint":"^9.25.1","rimraf":"^6.0.1","vitest":"^3.1.2","globals":"^16.0.0","unified":"^11.0.5","prettier":"^3.5.3","@eslint/js":"^9.25.1","@types/mdx":"^2.0.13","typescript":"^5.8.3","@types/node":"^22.15.3","@types/react":"^19.1.2","remark-emoji":"^5.0.1","type-coverage":"^2.29.7","@types/react-dom":"^19.1.3","typescript-eslint":"^8.31.1","@vitest/coverage-v8":"^3.1.2","eslint-plugin-react":"^7.37.5","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","recma-mdx-change-props":"^1.1.2","recma-mdx-import-react":"^1.1.1","remark-flexible-markers":"^1.2.1","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^3.9.0","@testing-library/jest-dom":"^6.6.3","remark-flexible-paragraphs":"^1.2.0","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.1.2"},"peerDependencies":{"react":"^19.1.0","react-dom":"^19.1.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_2.1.2_1746136570410_0.6630729584403625","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"next-mdx-remote-client","version":"1.1.2","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@1.1.2","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"e2fa327e469a27e89f275028c5b61966a17a4cb5","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-1.1.2.tgz","fileCount":90,"integrity":"sha512-LZJxBU420dTZsbWOrNYZXkahGJu8lNKxLTrQrZl4JUsKeFtp91yA78dHMTfOcp7UAud3txhM1tayyoKFq4tw7A==","signatures":[{"sig":"MEUCIGnbjGT8WkHYsvlS7WjPjTwRKz91jQ8E/dZgCDJJKNSMAiEAiEmBqotClo/28OY0hQKWuCDJd/RcvaD4lRaLWkj4Ueg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176861},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"ffe0906578e89d98afd7f4068c016bed9595b2c4","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.0","vfile-matter":"^5.0.1","@mdx-js/react":"^3.1.0","serialize-error":"^12.0.0","@babel/code-frame":"^7.27.1","remark-mdx-remove-esm":"^1.2.0"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^14.2.30","jsdom":"^26.1.0","dedent":"^1.6.0","eslint":"^9.31.0","rimraf":"^6.0.1","vitest":"^3.2.4","globals":"^16.3.0","unified":"^11.0.5","prettier":"^3.6.2","@eslint/js":"^9.31.0","@types/mdx":"^2.0.13","typescript":"^5.8.3","@types/node":"^22.16.5","@types/react":"^18.3.23","remark-emoji":"^5.0.1","type-coverage":"^2.29.7","@types/react-dom":"^18.3.7","typescript-eslint":"^8.38.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.37.5","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.3","recma-mdx-change-props":"^1.2.0","recma-mdx-import-react":"^1.2.0","remark-flexible-markers":"^1.3.0","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^3.11.0","@testing-library/jest-dom":"^6.6.3","remark-flexible-paragraphs":"^1.3.0","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.2.0"},"peerDependencies":{"react":">= 18.3.0 < 19.0.0","react-dom":">= 18.3.0 < 19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_1.1.2_1753357259815_0.03354540519023308","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"next-mdx-remote-client","version":"2.1.3","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@2.1.3","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"7448f897f37a8fb8f48d05503e81bc2280bd5aea","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-2.1.3.tgz","fileCount":90,"integrity":"sha512-yGp26PnBAjLBmzhRpMhwsrpXDpqs8HXcnDpZJ+ofi4Egen3z0KcIlBUoHfq/Y1dP7Ym1WroeIjqaRzK7kDrozw==","signatures":[{"sig":"MEUCIH3AzN1nv+Uao3ObLG1LjTsjtXyX4C+IxpUdqxrdTFGcAiEAxQglZRmGLtvf5ERW/twu8rovqWmmE2YZ+6vrWhejdG0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@2.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176817},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"6cfcbb717dc8e690f0d61cfc83470b2523151b2e","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.0","vfile-matter":"^5.0.1","@mdx-js/react":"^3.1.0","serialize-error":"^12.0.0","@babel/code-frame":"^7.27.1","remark-mdx-remove-esm":"^1.2.0"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.4.3","jsdom":"^26.1.0","dedent":"^1.6.0","eslint":"^9.31.0","rimraf":"^6.0.1","vitest":"^3.2.4","globals":"^16.3.0","unified":"^11.0.5","prettier":"^3.6.2","@eslint/js":"^9.31.0","@types/mdx":"^2.0.13","typescript":"^5.8.3","@types/node":"^22.16.5","@types/react":"^19.1.8","remark-emoji":"^5.0.1","type-coverage":"^2.29.7","@types/react-dom":"^19.1.6","typescript-eslint":"^8.38.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.37.5","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.3","recma-mdx-change-props":"^1.2.0","recma-mdx-import-react":"^1.2.0","remark-flexible-markers":"^1.3.0","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^3.11.0","@testing-library/jest-dom":"^6.6.3","remark-flexible-paragraphs":"^1.3.0","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.2.0"},"peerDependencies":{"react":"^19.1.0","react-dom":"^19.1.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_2.1.3_1753357369571_0.7312999884139226","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"name":"next-mdx-remote-client","version":"2.1.4","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@2.1.4","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"f1af109b1beeba080fdf3b531593b173303b72ca","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-2.1.4.tgz","fileCount":90,"integrity":"sha512-HBvKSAnWUWXe4FGdwDfNWsnNgdVS8KfSlYFpf/igrwz3GPiEKLe+X7nJAz6xmtSOjMSQkvrAAUnKVWNZuruViw==","signatures":[{"sig":"MEUCIQDm+LJSiyLNi7RMzGORe/zqPRYJ16hON+Nxjx4wI5xwhAIgQlGgqDLKeobjkEB8T5kE+X6eHyaaug7UrGbmIxsXjkg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@2.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176917},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./workerd":"./dist/rsc/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"dbf9d0ecf911e587087522e23019eadc97c57838","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.0","vfile-matter":"^5.0.1","@mdx-js/react":"^3.1.0","serialize-error":"^12.0.0","@babel/code-frame":"^7.27.1","remark-mdx-remove-esm":"^1.2.0"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"workerd":["./dist/rsc/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.4.3","jsdom":"^26.1.0","dedent":"^1.6.0","eslint":"^9.31.0","rimraf":"^6.0.1","vitest":"^3.2.4","globals":"^16.3.0","unified":"^11.0.5","prettier":"^3.6.2","@eslint/js":"^9.31.0","@types/mdx":"^2.0.13","typescript":"^5.8.3","@types/node":"^22.16.5","@types/react":"^19.1.8","remark-emoji":"^5.0.1","type-coverage":"^2.29.7","@types/react-dom":"^19.1.6","typescript-eslint":"^8.38.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.37.5","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.3","recma-mdx-change-props":"^1.2.0","recma-mdx-import-react":"^1.2.0","remark-flexible-markers":"^1.3.0","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^3.11.0","@testing-library/jest-dom":"^6.6.3","remark-flexible-paragraphs":"^1.3.0","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.2.0"},"peerDependencies":{"react":"^19.1.0","react-dom":"^19.1.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_2.1.4_1757849520211_0.5327759297334838","host":"s3://npm-registry-packages-npm-production"}},"2.1.5":{"name":"next-mdx-remote-client","version":"2.1.5","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@2.1.5","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"4e6050d80c787b70c58352c7c436a28ac6947c1a","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-2.1.5.tgz","fileCount":90,"integrity":"sha512-swVVe2Eix+oYxUWo9UW+6a6BZNVgB460Do6ZdT6duEWobj0Pfr1DfACvD93629LW86ZNtG2t5Od6iHnbfwgbIw==","signatures":[{"sig":"MEUCIAGZJx+0IYbCWXit0yFNGuYIw5h7xyH1ymaiAfrFdHW+AiEAyjyxFQ4zWzGbTjel/XuC2qjd5W4x0AFqRUjyLj/zdP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@2.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176921},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"import":"./dist/csr/index.js","default":"./dist/csr/index.js","workerd":"./dist/csr/index.js"},"./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"32b6092f78888a1bcccbe7fb8429730414e8dca8","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.0","vfile-matter":"^5.0.1","@mdx-js/react":"^3.1.0","serialize-error":"^12.0.0","@babel/code-frame":"^7.27.1","remark-mdx-remove-esm":"^1.2.0"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.4.3","jsdom":"^26.1.0","dedent":"^1.6.0","eslint":"^9.31.0","rimraf":"^6.0.1","vitest":"^3.2.4","globals":"^16.3.0","unified":"^11.0.5","prettier":"^3.6.2","@eslint/js":"^9.31.0","@types/mdx":"^2.0.13","typescript":"^5.8.3","@types/node":"^22.16.5","@types/react":"^19.1.8","remark-emoji":"^5.0.1","type-coverage":"^2.29.7","@types/react-dom":"^19.1.6","typescript-eslint":"^8.38.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.37.5","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.3","recma-mdx-change-props":"^1.2.0","recma-mdx-import-react":"^1.2.0","remark-flexible-markers":"^1.3.0","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^3.11.0","@testing-library/jest-dom":"^6.6.3","remark-flexible-paragraphs":"^1.3.0","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.2.0"},"peerDependencies":{"react":"^19.1.0","react-dom":"^19.1.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_2.1.5_1757853266350_0.7560498413556251","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"next-mdx-remote-client","version":"1.1.3","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@1.1.3","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"bfe3382ad4b6a7ea1475a9a2b921a1cf1609a2fe","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-1.1.3.tgz","fileCount":90,"integrity":"sha512-jrmU2IXTM8XhGUfZgaEbLQPW3waewz/rCkwq+DnpBCf1Mh0XpHT9FV6M5m4n7W3CUdaHZX3yl7X1e8Sr+Sq45A==","signatures":[{"sig":"MEYCIQC1bhtQq/nkNn22AW5RPVMBjtulkDas+SOuUlr09EHAdwIhAIsXlmSkVS0f1UxqE9hzHywIM3f7j3enipR5r1yZ1NsA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@1.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176859},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"e17297b1fa63b8f3ff9d261a173947c01a93e579","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.1","vfile-matter":"^5.0.1","@mdx-js/react":"^3.1.1","serialize-error":"^12.0.0","@babel/code-frame":"^7.27.1","remark-mdx-remove-esm":"^1.2.1"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^14.2.33","jsdom":"^27.0.0","dedent":"^1.7.0","eslint":"^9.36.0","rimraf":"^6.0.1","vitest":"^3.2.4","globals":"^16.4.0","unified":"^11.0.5","prettier":"^3.6.2","@eslint/js":"^9.36.0","@types/mdx":"^2.0.13","typescript":"^5.9.2","@types/node":"^24.6.0","@types/react":"^18.3.25","remark-emoji":"^5.0.2","type-coverage":"^2.29.7","@types/react-dom":"^18.3.7","typescript-eslint":"^8.45.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.37.5","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","recma-mdx-change-props":"^1.2.1","recma-mdx-import-react":"^1.2.1","remark-flexible-markers":"^1.3.1","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^4.1.0","@testing-library/jest-dom":"^6.8.0","remark-flexible-paragraphs":"^1.3.1","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.2.1"},"peerDependencies":{"react":">= 18.3.0 < 19.0.0","react-dom":">= 18.3.0 < 19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_1.1.3_1759227162442_0.7130891381084485","host":"s3://npm-registry-packages-npm-production"}},"2.1.6":{"name":"next-mdx-remote-client","version":"2.1.6","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@2.1.6","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"ed93414d75b80ba043a214632d28c553bc06961b","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-2.1.6.tgz","fileCount":90,"integrity":"sha512-HQrGo05LkGqWyxUNneELIzXfbXBnQqBoU22eEgGMHwsuvzyaPr7wS7wWlvfoQqtahwokwtTBfbNTvmq5l1bDtA==","signatures":[{"sig":"MEUCIQDMnrYec64D8H3TW6Jj483xowLHVQjqCSnVVr3gjBpoPQIgIJEWQus/wbMSoyBfuGBFLxt8w0GzPdeoZIWzWGDvMY0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@2.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177177},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"import":"./dist/csr/index.js","default":"./dist/csr/index.js","workerd":"./dist/csr/index.js"},"./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"dedac9d339ca21f664a9d80f910a07a34ded2b7c","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.1","vfile-matter":"^5.0.1","@mdx-js/react":"^3.1.1","serialize-error":"^12.0.0","@babel/code-frame":"^7.27.1","remark-mdx-remove-esm":"^1.2.1"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.5.4","jsdom":"^27.0.0","dedent":"^1.7.0","eslint":"^9.36.0","rimraf":"^6.0.1","vitest":"^3.2.4","globals":"^16.4.0","unified":"^11.0.5","prettier":"^3.6.2","@eslint/js":"^9.36.0","@types/mdx":"^2.0.13","typescript":"^5.9.2","@types/node":"^24.6.0","@types/react":"^19.1.16","remark-emoji":"^5.0.2","type-coverage":"^2.29.7","@types/react-dom":"^19.1.9","typescript-eslint":"^8.45.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.37.5","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","recma-mdx-change-props":"^1.2.1","recma-mdx-import-react":"^1.2.1","remark-flexible-markers":"^1.3.1","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^4.1.0","@testing-library/jest-dom":"^6.8.0","remark-flexible-paragraphs":"^1.3.1","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.2.1"},"peerDependencies":{"react":"^19.1.1","react-dom":"^19.1.1"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_2.1.6_1759227595799_0.2624780602089245","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"next-mdx-remote-client","version":"1.1.4","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@1.1.4","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"215bf0d88cf6e91832daecf27fc845ff4a7a1ce2","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-1.1.4.tgz","fileCount":90,"integrity":"sha512-psCMdO50tfoT1kAH7OGXZvhyRfiHVK6IqwjmWFV5gtLo4dnqjAgcjcLNeJ92iI26UNlKShxYrBs1GQ6UXxk97A==","signatures":[{"sig":"MEQCIFuUrJznOhcfN5ieOORUdn2jwSj9IlpZwgSUU36R8ToTAiBt2mEAadgjhKfWn56QVyZ6eAOOkSgmj7vAHld8Jp+O6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@1.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176792},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":"./dist/csr/index.js","./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"f06a81d8221e297487d93f315105e85d12f5fdee","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.1","vfile-matter":"^5.0.1","@mdx-js/react":"^3.1.1","serialize-error":"^12.0.0","@babel/code-frame":"^7.27.1","remark-mdx-remove-esm":"^1.2.1"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^14.2.33","jsdom":"^27.0.0","dedent":"^1.7.0","eslint":"^9.37.0","rimraf":"^6.0.1","vitest":"^3.2.4","globals":"^16.4.0","unified":"^11.0.5","prettier":"^3.6.2","@eslint/js":"^9.37.0","@types/mdx":"^2.0.13","typescript":"^5.9.3","@types/node":"^24.7.1","@swc/helpers":"^0.5.17","@types/react":"^18.3.26","remark-emoji":"^5.0.2","type-coverage":"^2.29.7","@types/react-dom":"^18.3.7","typescript-eslint":"^8.46.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.37.5","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","recma-mdx-change-props":"^1.2.1","recma-mdx-import-react":"^1.2.1","remark-flexible-markers":"^1.3.1","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^4.1.0","@testing-library/jest-dom":"^6.9.1","remark-flexible-paragraphs":"^1.3.1","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.2.1"},"peerDependencies":{"react":">= 18.3.0 < 19.0.0","react-dom":">= 18.3.0 < 19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_1.1.4_1760081808592_0.9261629104487323","host":"s3://npm-registry-packages-npm-production"}},"2.1.7":{"name":"next-mdx-remote-client","version":"2.1.7","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","next-mdx-remote-client"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@2.1.7","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"ef4210138f850c08290c6619545060c95527b000","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-2.1.7.tgz","fileCount":90,"integrity":"sha512-IwGYX3iwZ5UwXYIO3VQV9wE65KWC/pB8PLacmwgjYz65pydRqxIrRf70AXA6mZvR747mh4p6x+E868BhNbpP3A==","signatures":[{"sig":"MEYCIQD7KRHU+JAZkyjhEIlhJhXM4vIXDcwbVnRi6ivO+1lJ8QIhALw1QesPWx0cF4f0CPkeKXdia+wKj2VRM8TryhTLgjYn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@2.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176848},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"import":"./dist/csr/index.js","default":"./dist/csr/index.js","workerd":"./dist/csr/index.js"},"./csr":"./dist/csr/index.js","./rsc":"./dist/rsc/index.js","./utils":"./dist/utils/index.js","./serialize":"./dist/csr/serialize.js"},"gitHead":"616c1498ab230f6e0ba6c12af628328e6fb0984e","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.1","vfile-matter":"^5.0.1","@mdx-js/react":"^3.1.1","serialize-error":"^12.0.0","@babel/code-frame":"^7.27.1","remark-mdx-remove-esm":"^1.2.1"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"typesVersions":{"*":{"csr":["./dist/csr/index.d.ts"],"rsc":["./dist/rsc/index.d.ts"],"utils":["./dist/utils/index.d.ts"],"serialize":["./dist/csr/serialize.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.5.4","jsdom":"^27.0.0","dedent":"^1.7.0","eslint":"^9.37.0","rimraf":"^6.0.1","vitest":"^3.2.4","globals":"^16.4.0","unified":"^11.0.5","prettier":"^3.6.2","@eslint/js":"^9.37.0","@types/mdx":"^2.0.13","typescript":"^5.9.3","@types/node":"^24.7.0","@swc/helpers":"^0.5.17","@types/react":"^19.2.2","remark-emoji":"^5.0.2","type-coverage":"^2.29.7","@types/react-dom":"^19.2.1","typescript-eslint":"^8.46.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.37.5","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","recma-mdx-change-props":"^1.2.1","recma-mdx-import-react":"^1.2.1","remark-flexible-markers":"^1.3.1","@types/babel__code-frame":"^7.0.6","@vitejs/plugin-react-swc":"^4.1.0","@testing-library/jest-dom":"^6.9.1","remark-flexible-paragraphs":"^1.3.1","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.2.1"},"peerDependencies":{"react":"^19.1","react-dom":"^19.1"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_2.1.7_1760082225200_0.6412340085363881","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"next-mdx-remote-client","version":"1.1.5","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","@next/mdx"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@1.1.5","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"0ae3a61739c983ccc2a1696c40e1a4221d951a86","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-1.1.5.tgz","fileCount":68,"integrity":"sha512-C9sJWU33GQGT92dcLM3lNxvN9yTzB1WnQWbMi+M6zPqlgagpwqGIUNza2rD3u+20TLYLQtgxP7FCsyB6GR/1bA==","signatures":[{"sig":"MEUCIQC2aiiusbluohHogD0zvngril0R6cs8gIAoDONYwLt/XgIgerCX8HxUVw99GrkM6T154KsTK7Aj99Z8lM66rECN/Gs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@1.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":183022},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=20.9.0"},"exports":{".":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./csr":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./rsc":{"types":"./dist/rsc/index.d.ts","import":"./dist/rsc/index.js","default":"./dist/rsc/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./serialize":{"types":"./dist/csr/serialize.d.ts","import":"./dist/csr/serialize.js","default":"./dist/csr/serialize.js"}},"gitHead":"6ef1988b3511e5e57f56afc1e1a3db7db356408a","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.1","vfile-matter":"^5.0.1","@mdx-js/react":"^3.1.1","serialize-error":"^13.0.1","@babel/code-frame":"^7.29.0","remark-mdx-remove-esm":"^1.2.2"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^28.1.0","dedent":"^1.7.1","eslint":"^9.39.2","rimraf":"^6.1.3","vitest":"^3.2.4","globals":"^17.3.0","unified":"^11.0.5","prettier":"^3.8.1","@eslint/js":"^9.39.2","@types/mdx":"^2.0.13","typescript":"^5.9.3","@types/node":"^24.10.13","@types/react":"^18.3.28","remark-emoji":"^5.0.2","type-coverage":"^2.29.7","@types/react-dom":"^18.3.7","typescript-eslint":"^8.56.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.37.5","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","recma-mdx-change-props":"^1.2.2","recma-mdx-import-react":"^1.2.2","remark-flexible-markers":"^1.3.2","@types/babel__code-frame":"^7.27.0","@vitejs/plugin-react-swc":"^4.2.3","@testing-library/jest-dom":"^6.9.1","remark-flexible-paragraphs":"^1.3.2","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.2.2"},"peerDependencies":{"react":">= 18.3.0 < 19.0.0","react-dom":">= 18.3.0 < 19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_1.1.5_1771353515908_0.5472508755363026","host":"s3://npm-registry-packages-npm-production"}},"2.1.8":{"name":"next-mdx-remote-client","version":"2.1.8","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","@next/mdx"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@2.1.8","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"514d55af18ee7e39aaf70395352897173d6215c7","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-2.1.8.tgz","fileCount":68,"integrity":"sha512-P273d+E0gM4qZEpLxMdut+dy6t4flQeCypnpolGesc3E71weicsw06PnIs49Ha4Z0sqe4XrcdcixvylWFNk4Aw==","signatures":[{"sig":"MEQCIDN+BtJ2zCOwDNUJ5cr+k1ZuPqYOON+f8sFdHk34yAHIAiBkSe0ogLPITPXPTkUL9AE8VaiwAbntPDDgn3AVLZWi+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@2.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":183018},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=20.9.0"},"exports":{".":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./csr":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./rsc":{"types":"./dist/rsc/index.d.ts","import":"./dist/rsc/index.js","default":"./dist/rsc/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./serialize":{"types":"./dist/csr/serialize.d.ts","import":"./dist/csr/serialize.js","default":"./dist/csr/serialize.js"}},"gitHead":"90c9ca13d3e484d2b4e3a7f331e71226d270d6a9","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads --watch=false esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks --watch=false --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run test && npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.8.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.1","vfile-matter":"^5.0.1","@mdx-js/react":"^3.1.1","serialize-error":"^13.0.1","@babel/code-frame":"^7.29.0","remark-mdx-remove-esm":"^1.2.2"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^28.1.0","dedent":"^1.7.1","eslint":"^9.39.2","rimraf":"^6.1.3","vitest":"^3.2.4","globals":"^17.3.0","unified":"^11.0.5","prettier":"^3.8.1","@eslint/js":"^9.39.2","@types/mdx":"^2.0.13","typescript":"^5.9.3","@types/node":"^24.10.13","@types/react":"^19.2.14","remark-emoji":"^5.0.2","type-coverage":"^2.29.7","@types/react-dom":"^19.2.3","typescript-eslint":"^8.56.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.37.5","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","recma-mdx-change-props":"^1.2.2","recma-mdx-import-react":"^1.2.2","remark-flexible-markers":"^1.3.2","@types/babel__code-frame":"^7.27.0","@vitejs/plugin-react-swc":"^4.2.3","@testing-library/jest-dom":"^6.9.1","remark-flexible-paragraphs":"^1.3.2","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.2.2"},"peerDependencies":{"react":">= 19.1.0","react-dom":">= 19.1.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_2.1.8_1771354904936_0.8777784426024762","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"next-mdx-remote-client","version":"1.1.6","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","@next/mdx"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@1.1.6","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"86b387d432a29bde9cd0ee203317cb197fcc4618","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-1.1.6.tgz","fileCount":88,"integrity":"sha512-O4HIpi44d6SismhfG5W78aTUfgxfbsj6FgoM4/G3o4Vtcobt0Ej439IiDPkv+IqsmtouVYG1tGAsz1DIuj9Tfg==","signatures":[{"sig":"MEUCIEDHuKiFyiEQ++PnrQAAV+HPNTfismhq/TU6HYlnTna4AiEAjWpc16CLu+aYPcOYVhQNCPcGcLyzMnxxHjm2oL/ntyc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@1.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":195696},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=20.9.0"},"exports":{".":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./csr":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./rsc":{"types":"./dist/rsc/index.d.ts","import":"./dist/rsc/index.js","default":"./dist/rsc/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./serialize":{"types":"./dist/csr/serialize.d.ts","import":"./dist/csr/serialize.js","default":"./dist/csr/serialize.js"}},"gitHead":"fd885277e24ca16b49ec45316830ce2b288d946f","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads run esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks run --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.9.4","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.1","vfile-matter":"^5.0.1","@mdx-js/react":"^3.1.1","serialize-error":"^13.0.1","@babel/code-frame":"^7.29.0","remark-mdx-remove-esm":"^1.2.3"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^28.1.0","dedent":"^1.7.1","eslint":"^9.39.3","rimraf":"^6.1.3","vitest":"^3.2.4","globals":"^17.3.0","unified":"^11.0.5","prettier":"^3.8.1","@eslint/js":"^9.39.3","@types/mdx":"^2.0.13","typescript":"^5.9.3","@types/node":"^24.10.13","@types/react":"^18.3.28","remark-emoji":"^5.0.2","type-coverage":"^2.29.7","@types/react-dom":"^18.3.7","typescript-eslint":"^8.56.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.37.5","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","recma-mdx-change-props":"^1.2.4","recma-mdx-import-react":"^1.2.4","remark-flexible-markers":"^1.3.3","@types/babel__code-frame":"^7.27.0","@vitejs/plugin-react-swc":"^4.2.3","@testing-library/jest-dom":"^6.9.1","remark-flexible-paragraphs":"^1.3.3","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.2.4"},"peerDependencies":{"react":">= 18.3.0 < 19.0.0","react-dom":">= 18.3.0 < 19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_1.1.6_1771599131862_0.7204306070805373","host":"s3://npm-registry-packages-npm-production"}},"2.1.9":{"name":"next-mdx-remote-client","version":"2.1.9","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","@next/mdx"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@2.1.9","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"f323ad6a742c6f93d87c3c6a010731f2588ba8a0","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-2.1.9.tgz","fileCount":88,"integrity":"sha512-2NuWJO2GykxOecI7xbS3AfjOn8qXnfTZ7rN2cUCWiDFC1w2hsm3mssiUFRCk3sBcI7AvDnyTZfUvDDhgZSzoCg==","signatures":[{"sig":"MEQCIHpAuE3Hwokpp5mUbjPqmVqQdjFignl8rYB3rUMWvzL6AiAHuvZqMSPmQKU6wKHsWzn7NZLMp6dhsLF6W+bsJ4786Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@2.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":195692},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=20.9.0"},"exports":{".":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./csr":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./rsc":{"types":"./dist/rsc/index.d.ts","import":"./dist/rsc/index.js","default":"./dist/rsc/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./serialize":{"types":"./dist/csr/serialize.d.ts","import":"./dist/csr/serialize.js","default":"./dist/csr/serialize.js"}},"gitHead":"54b146080484b0dddf38baeb3e48c11896d13cc1","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads run esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks run --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.9.4","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.1","vfile-matter":"^5.0.1","@mdx-js/react":"^3.1.1","serialize-error":"^13.0.1","@babel/code-frame":"^7.29.0","remark-mdx-remove-esm":"^1.2.3"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^28.1.0","dedent":"^1.7.1","eslint":"^9.39.3","rimraf":"^6.1.3","vitest":"^3.2.4","globals":"^17.3.0","unified":"^11.0.5","prettier":"^3.8.1","@eslint/js":"^9.39.3","@types/mdx":"^2.0.13","typescript":"^5.9.3","@types/node":"^24.10.13","@types/react":"^19.2.14","remark-emoji":"^5.0.2","type-coverage":"^2.29.7","@types/react-dom":"^19.2.3","typescript-eslint":"^8.56.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.37.5","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","recma-mdx-change-props":"^1.2.4","recma-mdx-import-react":"^1.2.4","remark-flexible-markers":"^1.3.3","@types/babel__code-frame":"^7.27.0","@vitejs/plugin-react-swc":"^4.2.3","@testing-library/jest-dom":"^6.9.1","remark-flexible-paragraphs":"^1.3.3","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.2.4"},"peerDependencies":{"react":">= 19.1.0","react-dom":">= 19.1.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_2.1.9_1771599780665_0.09361863093777578","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"next-mdx-remote-client","version":"1.1.7","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","@next/mdx"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@1.1.7","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"5ab6497502de996d97ebb54a7c722ce584e29140","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-1.1.7.tgz","fileCount":88,"integrity":"sha512-12Ap5Z/tFIETMXFSBTH2IFEhJAso7MvOJ5ICyesA4q6FM4vtAcmb+4ZKa4tV1IVQJLBVqOhaEfIESZzdwjmrQQ==","signatures":[{"sig":"MEUCIQC8uUXy7x85X90ThMNHEHHAEbwmZNQ+Zz/U0PqfaM3d0wIgbdHLWTeE+v8GVQVrHmODsdymuYPYbXH0oBjWFQ5wE3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@1.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":196147},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=20.9.0"},"exports":{".":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./csr":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./rsc":{"types":"./dist/rsc/index.d.ts","import":"./dist/rsc/index.js","default":"./dist/rsc/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./serialize":{"types":"./dist/csr/serialize.d.ts","import":"./dist/csr/serialize.js","default":"./dist/csr/serialize.js"}},"gitHead":"f6d68e625a32c00d7e6430184eda876383f7230d","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads run esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks run --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.9.7","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.1","vfile-matter":"^5.0.1","@mdx-js/react":"^3.1.1","serialize-error":"^13.0.1","@babel/code-frame":"^7.29.0","remark-mdx-remove-esm":"^1.3.1"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^28.1.0","dedent":"^1.7.1","eslint":"^9.39.3","rimraf":"^6.1.3","vitest":"^3.2.4","globals":"^17.3.0","unified":"^11.0.5","prettier":"^3.8.1","@eslint/js":"^9.39.3","@types/mdx":"^2.0.13","typescript":"^5.9.3","@types/node":"^24.10.13","@types/react":"^18.3.28","remark-emoji":"^5.0.2","type-coverage":"^2.29.7","@types/react-dom":"^18.3.7","typescript-eslint":"^8.56.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.37.5","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","recma-mdx-change-props":"^1.2.4","recma-mdx-import-react":"^1.2.4","remark-flexible-markers":"^1.3.3","@types/babel__code-frame":"^7.27.0","@vitejs/plugin-react-swc":"^4.2.3","@testing-library/jest-dom":"^6.9.1","remark-flexible-paragraphs":"^1.3.3","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.2.4"},"peerDependencies":{"react":">= 18.3.0 < 19.0.0","react-dom":">= 18.3.0 < 19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_1.1.7_1775298186577_0.2274643594610133","host":"s3://npm-registry-packages-npm-production"}},"2.1.10":{"name":"next-mdx-remote-client","version":"2.1.10","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","@next/mdx"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@2.1.10","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"0c5425835d2d866ff7a22b64c33d966921150982","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-2.1.10.tgz","fileCount":88,"integrity":"sha512-wpLjRYyvOJRewb/PLwID0qbi7RGDiwg6QpTKcM36OnjJ2WIU9nOg0xRs3Q7WgfPteDlFx+zZkJHJ6WrvmIulEg==","signatures":[{"sig":"MEYCIQCP/I3iU9HZMhIUZhR32v1k/tbvA4+00YdIlRW3BNboPQIhAK+4ZDG5dI5/+0VI2QnjE5g9Xd01A6pu5rSH3ivvofta","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@2.1.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":196144},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=20.9.0"},"exports":{".":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./csr":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./rsc":{"types":"./dist/rsc/index.d.ts","import":"./dist/rsc/index.js","default":"./dist/rsc/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./serialize":{"types":"./dist/csr/serialize.d.ts","import":"./dist/csr/serialize.js","default":"./dist/csr/serialize.js"}},"gitHead":"dd1216b616af76564ac43c6b0c7a464a65d8d342","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads run esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks run --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"10.9.7","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"vfile":"^6.0.3","@mdx-js/mdx":"^3.1.1","vfile-matter":"^5.0.1","@mdx-js/react":"^3.1.1","serialize-error":"^13.0.1","@babel/code-frame":"^7.29.0","remark-mdx-remove-esm":"^1.3.1"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreAsAssertion":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^28.1.0","dedent":"^1.7.1","eslint":"^9.39.3","rimraf":"^6.1.3","vitest":"^3.2.4","globals":"^17.3.0","unified":"^11.0.5","prettier":"^3.8.1","@eslint/js":"^9.39.3","@types/mdx":"^2.0.13","typescript":"^5.9.3","@types/node":"^24.10.13","@types/react":"^19.2.14","remark-emoji":"^5.0.2","type-coverage":"^2.29.7","@types/react-dom":"^19.2.3","typescript-eslint":"^8.56.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.37.5","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","recma-mdx-change-props":"^1.2.4","recma-mdx-import-react":"^1.2.4","remark-flexible-markers":"^1.3.3","@types/babel__code-frame":"^7.27.0","@vitejs/plugin-react-swc":"^4.2.3","@testing-library/jest-dom":"^6.9.1","remark-flexible-paragraphs":"^1.3.3","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.2.4"},"peerDependencies":{"react":">= 19.1.0","react-dom":">= 19.1.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_2.1.10_1775298323256_0.392516937169201","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"next-mdx-remote-client","version":"1.1.8","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","@next/mdx"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@1.1.8","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"115911946124ae1ca83a73020c9d4c3e0d7db119","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-1.1.8.tgz","fileCount":87,"integrity":"sha512-IElOrn02JjGQZxx+re7wMx/1AUG+Arte9aDImAtxjAfMw6xuSCaH5mTCunKelkWzFyFdRb565jO8jRICvvh96g==","signatures":[{"sig":"MEUCIBn5eK1OrPW1A/P+rO1q3TWGlO7yNRmiFe5et3gJSDgGAiEA6tOBsdf8r65dtDFokFYfK5WI747zjEr6MFByacxd5OU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@1.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":195777},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=20.9.0"},"exports":{".":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./csr":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./rsc":{"types":"./dist/rsc/index.d.ts","import":"./dist/rsc/index.js","default":"./dist/rsc/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./serialize":{"types":"./dist/csr/serialize.d.ts","import":"./dist/csr/serialize.js","default":"./dist/csr/serialize.js"}},"gitHead":"d10c5849e008871b54bb1909f297cbb74c56653f","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build tsconfig.build.json && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads run esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks run --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"11.16.0","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"vfile":"^6.0.3","@types/mdx":"^2.0.13","@mdx-js/mdx":"^3.1.1","vfile-matter":"^5.0.1","@mdx-js/react":"^3.1.1","serialize-error":"^13.0.1","@babel/code-frame":"^7.29.7","remark-mdx-remove-esm":"^1.3.2"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreFiles":["tests/**/*"],"ignoreAsAssertion":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^29.1.1","dedent":"^1.7.2","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^3.2.4","globals":"^17.6.0","unified":"^11.0.5","prettier":"^3.8.3","@eslint/js":"^9.39.4","typescript":"^5.9.3","@types/node":"^24.12.4","@types/react":"^18.3.29","remark-emoji":"^5.0.2","type-coverage":"^2.29.7","@types/react-dom":"^18.3.7","typescript-eslint":"^8.60.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.37.5","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","recma-mdx-change-props":"^1.2.5","recma-mdx-import-react":"^1.2.5","remark-flexible-markers":"^1.3.5","@types/babel__code-frame":"^7.27.0","@vitejs/plugin-react-swc":"^4.3.1","@testing-library/jest-dom":"^6.9.1","remark-flexible-paragraphs":"^1.3.4","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.2.5"},"peerDependencies":{"react":">= 18.3.0 < 19.0.0","react-dom":">= 18.3.0 < 19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_1.1.8_1780054419319_0.5758287625697385","host":"s3://npm-registry-packages-npm-production"}},"2.1.11":{"name":"next-mdx-remote-client","version":"2.1.11","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","@next/mdx"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@2.1.11","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"730f80087ca541e0ba7c5e3c37f9ce336a9f087f","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-2.1.11.tgz","fileCount":87,"integrity":"sha512-R28K170ODHCdzoqyoNosTSMGKEj/MEHknQELSjK6eQVsGXxeQ3brORmusql3AvPBqTGOfYVVeTvuIC/133UZxw==","signatures":[{"sig":"MEUCIQDSi5XoanXJAZauGa6RGvNIKW6tfWJsWTDNHSuqB/xHdgIgbo0T3ncMNa/V7XSUnecuPAlLDkuxM5nbx4bQ8RCjYwE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@2.1.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":195774},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=20.9.0"},"exports":{".":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./csr":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./rsc":{"types":"./dist/rsc/index.d.ts","import":"./dist/rsc/index.js","default":"./dist/rsc/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./serialize":{"types":"./dist/csr/serialize.d.ts","import":"./dist/csr/serialize.js","default":"./dist/csr/serialize.js"}},"gitHead":"3d13caac71eac1850ac011c267159c8fee3e143b","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build tsconfig.build.json && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads run esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks run --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"11.16.0","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"vfile":"^6.0.3","@types/mdx":"^2.0.13","@mdx-js/mdx":"^3.1.1","vfile-matter":"^5.0.1","@mdx-js/react":"^3.1.1","serialize-error":"^13.0.1","@babel/code-frame":"^7.29.7","remark-mdx-remove-esm":"^1.3.2"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreFiles":["tests/**/*"],"ignoreAsAssertion":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","dedent":"^1.7.2","eslint":"^9.39.4","rimraf":"^6.1.3","vitest":"^3.2.4","globals":"^17.6.0","unified":"^11.0.5","prettier":"^3.8.3","@eslint/js":"^9.39.4","typescript":"^5.9.3","@types/node":"^24.12.4","@types/react":"^19.2.15","remark-emoji":"^5.0.2","type-coverage":"^2.29.7","@types/react-dom":"^19.2.3","typescript-eslint":"^8.60.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.37.5","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","recma-mdx-change-props":"^1.2.5","recma-mdx-import-react":"^1.2.5","remark-flexible-markers":"^1.3.5","@types/babel__code-frame":"^7.27.0","@vitejs/plugin-react-swc":"^4.3.1","@testing-library/jest-dom":"^6.9.1","remark-flexible-paragraphs":"^1.3.4","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.2.5"},"peerDependencies":{"react":">= 19.1.0","react-dom":">= 19.1.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_2.1.11_1780055860606_0.380539566155911","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"next-mdx-remote-client","version":"1.1.9","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","@next/mdx"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","_id":"next-mdx-remote-client@1.1.9","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dist":{"shasum":"a6c5d15ef7d0de79b869cb59e806fa7e2d0417bc","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-1.1.9.tgz","fileCount":87,"integrity":"sha512-oJ2NaLCrtXmYIW/21kAmoB8tn5NKeO14Gq9VeoE+nEDYb+lTsImZhb7iHPsbMBR2l3vI10dDmZlmmZ3pVEA8Bg==","signatures":[{"sig":"MEUCIQCD+ACoE24Bc+7LQb5uqrmvzUCGf6BHHlFpi9jFUOcQTQIgfrhF/LJL2IiHrfscOzZT/du1DvjwPQu1eZrPamNsSgI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@1.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":195994},"main":"./dist/csr/index.js","type":"module","types":"./dist/csr/index.d.ts","engines":{"node":">=20.9.0"},"exports":{".":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./csr":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./rsc":{"types":"./dist/rsc/index.d.ts","import":"./dist/rsc/index.js","default":"./dist/rsc/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./serialize":{"types":"./dist/csr/serialize.d.ts","import":"./dist/csr/serialize.js","default":"./dist/csr/serialize.js"}},"gitHead":"82523bd0fdb30f9e7622847540a4369549662fa2","scripts":{"lint":"eslint .","test":"npm run test:esm && npm run test:rest","build":"rimraf dist && tsc --build tsconfig.build.json && type-coverage","format":"npm run prettier && npm run lint","pretest":"npm run build && npm pack --pack-destination ./dist","prettier":"prettier --write .","test:esm":"vitest --pool=vmThreads run esm","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test:rest":"vitest --pool=forks run --exclude 'tests/*esm*'","test:watch":"vitest --pool=vmThreads","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/next-mdx-remote-client.git","type":"git"},"_npmVersion":"12.0.2","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"vfile":"^6.0.3","@types/mdx":"^2.0.14","@mdx-js/mdx":"^3.1.1","vfile-matter":"^5.0.1","@mdx-js/react":"^3.1.1","serialize-error":"^13.0.1","@babel/code-frame":"^7.29.7","remark-mdx-remove-esm":"^1.3.2"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100,"ignoreCatch":true,"ignoreFiles":["tests/**/*"],"ignoreAsAssertion":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^29.1.1","dedent":"^1.7.2","eslint":"^9.39.5","rimraf":"^6.1.3","vitest":"^3.2.7","globals":"^17.9.0","unified":"^11.0.5","prettier":"^3.9.6","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^26.2.0","@types/react":"^18.3.31","remark-emoji":"^5.0.2","type-coverage":"^2.30.1","@types/react-dom":"^18.3.7","typescript-eslint":"^8.67.0","@vitest/coverage-v8":"^3.2.7","eslint-plugin-react":"^7.37.5","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","recma-mdx-change-props":"^1.2.5","recma-mdx-import-react":"^1.2.5","remark-flexible-markers":"^1.3.5","@types/babel__code-frame":"^7.27.0","@vitejs/plugin-react-swc":"^4.3.3","@testing-library/jest-dom":"^6.9.1","remark-flexible-paragraphs":"^1.3.4","@types/eslint-config-prettier":"^6.11.3","recma-mdx-escape-missing-components":"^1.2.5"},"peerDependencies":{"react":">= 18.3.0 < 19.0.0","react-dom":">= 18.3.0 < 19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-mdx-remote-client_1.1.9_1786447571647_0.6689340172663323","host":"s3://npm-registry-packages-npm-production"}},"2.1.12":{"name":"next-mdx-remote-client","description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","version":"2.1.12","type":"module","main":"./dist/csr/index.js","types":"./dist/csr/index.d.ts","exports":{".":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./csr":{"types":"./dist/csr/index.d.ts","import":"./dist/csr/index.js","default":"./dist/csr/index.js"},"./serialize":{"types":"./dist/csr/serialize.d.ts","import":"./dist/csr/serialize.js","default":"./dist/csr/serialize.js"},"./rsc":{"types":"./dist/rsc/index.d.ts","import":"./dist/rsc/index.js","default":"./dist/rsc/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"}},"scripts":{"build":"rimraf dist && tsc --build tsconfig.build.json && type-coverage","format":"npm run prettier && npm run lint","prettier":"prettier --write .","lint":"eslint .","pretest":"npm run build && npm pack --pack-destination ./dist","test:watch":"vitest --pool=vmThreads","test:file":"vitest --pool=vmThreads test.serialize-hydrate.spec.tsx","test":"npm run test:esm && npm run test:rest","test:esm":"vitest --pool=vmThreads run esm","test:rest":"vitest --pool=forks run --exclude 'tests/*esm*'","test-coverage":"vitest --pool=vmThreads run --coverage","prepublishOnly":"npm run format && npm run test-coverage"},"repository":{"type":"git","url":"git+https://github.com/ipikuka/next-mdx-remote-client.git"},"keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","@next/mdx"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"dependencies":{"@babel/code-frame":"^7.29.7","@mdx-js/mdx":"^3.1.1","@mdx-js/react":"^3.1.1","@types/mdx":"^2.0.14","remark-mdx-remove-esm":"^1.3.2","serialize-error":"^13.0.1","vfile":"^6.0.3","vfile-matter":"^5.0.1"},"devDependencies":{"@eslint/js":"^9.39.5","@testing-library/dom":"^10.4.1","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@types/babel__code-frame":"^7.27.0","@types/eslint-config-prettier":"^6.11.3","@types/jest":"^30.0.0","@types/node":"^26.2.0","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@vitejs/plugin-react-swc":"^4.3.3","@vitest/coverage-v8":"^3.2.7","dedent":"^1.7.2","eslint":"^9.39.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","eslint-plugin-react":"^7.37.5","globals":"^17.9.0","jsdom":"^29.1.1","prettier":"^3.9.6","recma-mdx-change-props":"^1.2.5","recma-mdx-escape-missing-components":"^1.2.5","recma-mdx-import-react":"^1.2.5","remark-emoji":"^5.0.2","remark-flexible-markers":"^1.3.5","remark-flexible-paragraphs":"^1.3.4","rimraf":"^6.1.3","type-coverage":"^2.30.1","typescript":"^5.9.3","typescript-eslint":"^8.67.0","unified":"^11.0.5","vitest":"^3.2.7"},"peerDependencies":{"react":">= 19.1.0","react-dom":">= 19.1.0"},"engines":{"node":">=20.9.0"},"typeCoverage":{"atLeast":100,"detail":true,"ignoreAsAssertion":true,"ignoreCatch":true,"strict":true,"ignoreFiles":["tests/**/*"]},"gitHead":"b26d913171d7564564eec78bcd8ef16604dc20af","_id":"next-mdx-remote-client@2.1.12","_nodeVersion":"22.23.1","_npmVersion":"12.0.2","dist":{"integrity":"sha512-KDfhIk5aEM0kkZ0xQ8XBkmo4O5xmJeGWUomm40Ac/xhkt5sIDOTmTU/QFfmJGLJUJipD5o0BAHqVSIZKuXgNEw==","shasum":"c4f57de7d750e407a4e4c08c3567f87598627e88","tarball":"https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-2.1.12.tgz","fileCount":87,"unpackedSize":196063,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-mdx-remote-client@2.1.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC9g5M2WbFH/YVJzqB37pBE3rL5VCL1CibIV55mBAd0cQIhAKzwvNYHdB/19SUGxArdtpl/56HfPHivuBkStlLjXzxK"}]},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"directories":{},"maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/next-mdx-remote-client_2.1.12_1786447815364_0.58658064557692"},"_hasShrinkwrap":false}},"time":{"created":"2024-02-29T15:20:32.109Z","modified":"2026-08-11T11:30:15.826Z","0.0.7":"2024-02-29T15:20:32.405Z","1.0.0":"2024-03-01T20:09:09.179Z","1.0.1":"2024-03-22T10:16:26.330Z","1.0.2":"2024-04-07T19:46:53.829Z","1.0.3":"2024-04-20T21:41:18.161Z","1.0.5":"2025-01-11T11:53:03.392Z","1.0.6":"2025-01-11T18:32:17.058Z","2.0.0":"2025-01-11T19:36:56.408Z","1.0.7":"2025-01-30T20:01:39.876Z","2.0.1":"2025-01-30T20:07:00.952Z","2.1.0":"2025-03-09T17:23:54.455Z","1.1.0":"2025-03-09T18:30:28.054Z","2.1.1":"2025-03-10T19:12:07.581Z","1.1.1":"2025-05-01T21:29:26.328Z","2.1.2":"2025-05-01T21:56:10.600Z","1.1.2":"2025-07-24T11:40:59.989Z","2.1.3":"2025-07-24T11:42:49.787Z","2.1.4":"2025-09-14T11:32:00.391Z","2.1.5":"2025-09-14T12:34:26.548Z","1.1.3":"2025-09-30T10:12:42.664Z","2.1.6":"2025-09-30T10:19:56.001Z","1.1.4":"2025-10-10T07:36:48.763Z","2.1.7":"2025-10-10T07:43:45.379Z","1.1.5":"2026-02-17T18:38:36.060Z","2.1.8":"2026-02-17T19:01:45.091Z","1.1.6":"2026-02-20T14:52:12.012Z","2.1.9":"2026-02-20T15:03:00.796Z","1.1.7":"2026-04-04T10:23:06.757Z","2.1.10":"2026-04-04T10:25:23.408Z","1.1.8":"2026-05-29T11:33:39.472Z","2.1.11":"2026-05-29T11:57:40.758Z","1.1.9":"2026-08-11T11:26:11.801Z","2.1.12":"2026-08-11T11:30:15.516Z"},"bugs":{"url":"https://github.com/ipikuka/next-mdx-remote-client/issues"},"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MPL 2.0","homepage":"https://github.com/ipikuka/next-mdx-remote-client#readme","keywords":["markdown","MDX","@mdx-js/mdx","nextjs","next-mdx-remote","@next/mdx"],"repository":{"type":"git","url":"git+https://github.com/ipikuka/next-mdx-remote-client.git"},"description":"A wrapper of the `@mdx-js/mdx` for the `nextjs` applications in order to load MDX content. It is a fork of `next-mdx-remote`.","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"readme":"# next-mdx-remote-client\n\n**A robust Next.js newsletter `Next.js Weekly` is sponsoring me** 💖\n[![NextjsWeekly banner](./assets/next-js-weekly.png)](https://nextjsweekly.com/)\n\n**An outstanding Git-based CMS `Outstatic` is also sponsoring me** 💖\n[![Outstatic banner](./assets/outstatic-ad.png)](https://outstatic.com/?utm_source=github&utm_medium=readme&utm_campaign=next-mdx-remote-client)\n\nA warm thanks 🙌 to [@ErfanEbrahimnia](https://github.com/ErfanEbrahimnia), [@avitorio](https://github.com/avitorio), [@recepkyk](https://github.com/recepkyk), and [@LSeaburg](https://github.com/LSeaburg) for the [support](https://github.com/sponsors/ipikuka) 💖\n\n---\n\n[![npm version][badge-npm-version]][url-npm-package]\n[![npm downloads][badge-npm-download]][url-npm-package]\n[![publish to npm][badge-publish-to-npm]][url-publish-github-actions]\n[![code-coverage][badge-codecov]][url-codecov]\n[![type-coverage][badge-type-coverage]][url-github-package]\n[![typescript][badge-typescript]][url-typescript]\n[![license][badge-license]][url-license]\n\n**`next-mdx-remote-client`** is recommended in the [`Next.js` official documentation](https://nextjs.org/docs/15/app/guides/mdx#remote-mdx).\n\n> [!IMPORTANT]\n> **If you are using `react18`, use ver.1 of `next-mdx-remote-client`, currently `v1.1`**\n>\n> **If you are using `react19`, use ver.2 of `next-mdx-remote-client`, currently `v2.1`**\n>\n> *The both serve the same features and APIs. I am going to maintain both.*\n\n**`next-mdx-remote-client`** is a wrapper of **`@mdx-js/mdx`** for **`nextjs`** applications in order to load MDX content. It is a fork of **`next-mdx-remote`**.\n\nSee some blog applications in which **`next-mdx-remote-client`** is used:\n+ for a **`app` router demo application** visit [source code](https://github.com/talatkuyuk/next-mdx-remote-client-in-app-router) or [living web site](https://nmrc-in-app-router.vercel.app/),\n+ for a **`pages` router demo application** visit [source code](https://github.com/talatkuyuk/next-mdx-remote-client-in-pages-router) or [living web site](https://nmrc-in-pages-router.vercel.app/),\n+ for a **testing application** which uses **both `app` and `pages` router**, visit [source code](https://github.com/talatkuyuk/testing-app-for-next-mdx-remote-client) or [living web site](https://testing-app-for-nmrc.vercel.app/).\n\n## Why `next-mdx-remote-client` ?\n\nI started to create **`next-mdx-remote-client`** in line with the mindset of **`@mdx-js/mdx`** in early 2024 considering **`next-mdx-remote`** had not been updated for a long time, and finally, a brand new package emerged.\n\n**`next-mdx-remote-client`** serves as a **viable alternative** to **`next-mdx-remote`** having **more features**.\n\n**I would like to highlight some main features:**\n+ It supports MDX version 3.\n+ It provides well designed components and functions for both \"pages\" router and \"app\" router, which completely isolated from eachother.\n+ It provides internal error handling mechanism.\n+ It supports `import statements` and `export statements` in MDX source, which can be disabled as well.\n+ Creating table of contents (TOC) is so easy since it supports passing `vfile.data` into the `scope`.\n+ You can get frontmatter without compiling the source for example for listing articles/posts via `getFrontmatter`.\n+ It exports some components and types from `@mdx-js/mdx` so as you don't need to install.\n\nLet's compare the features of **`next-mdx-remote`** and **`next-mdx-remote-client`**.\n\n| Features                                                    | `next-mdx-remote`   | `next-mdx-remote-client` |\n| :---------------------------------------------------------- | :-----------------: | :----------------------: |\n| support MDX version 3                                       | ✅                  | ✅                        |\n| ensure internal error handling mechanism in `app` router    | ❌                  | ✅                        |\n| ensure internal error handling mechanism in `pages` router  | ❌                  | ✅                        |\n| support _export-from-MDX_ in `app` router                   | ❌                  | ✅                        |\n| support _export-from-MDX_ in `pages` router                 | ❌                  | ✅                        | \n| support _import-into-MDX_ in `app` router                   | ❌                  | ✅                        |\n| support _import-into-MDX_ in `pages` router                 | ❌                  | ❌                        |\n| get frontmatter and mutated scope in `app` router           | ❌                  | ✅                        |\n| get frontmatter and mutated scope in `pages` router         | ✅                  | ✅                        |\n| support options for disabling imports and exports in MDX    | ✅                  | ✅                        |\n| support passing `vfile.data` into the `scope`               | ❌                  | ✅                        |\n| provide utility for getting frontmatter without compiling   | ❌                  | ✅                        |\n| expose `MDXProvider` from `@mdx-js/mdx`                     | ❌                  | ✅                        |\n| provide option for disabling parent `MDXProvider` contexts  | ❌                  | ✅                        |\n| expose the necessary types from `mdx/types`                 | ❌                  | ✅                        |\n| injects `React` instance into runtime options               | ❌                  | ✅                        |\n\n> [!IMPORTANT]\n> You will see a lot the abbreviatons **`csr`** and **`rsc`**. _Pay attention to the both are spelled backwards._\\\n> \\\n> **`csr`** stands for \"client side rendering\" which is related with **`pages`** router\\\n> **`rsc`** stands for \"react server component\" which is related with **`app`** router\n\n## General considerations about development\n\n- It is ESM only package\n- Needs `react` version 19.1+, works with `next@15` and `next@16` versions (tested)\n- Needs `node` version 20.9.0+ in line with `Next.js` does\n- Vitest is used instead of jest for testing\n- Rollup is removed for bundling\n- Test coverage is 100%\n- Type coverage is 100%\n- The parts client side (csr) and server side (rsc) are completely isolated from each other\n- Exported a small utility to get frontmatter without compiling the source\n- **All functions take named parameters**\n- Supports `import statements` and `export statements` in MDX\n- Export statements in MDX work for **both** `app` and `pages` router\n- Import statements in MDX work for **only** `app` router\n\n> [!IMPORTANT]\n> **Imported modules in MDX with relative path should be transpiled into javascript before or during build process, otherwise will not work.** I believe the community can find a solution to import reqular **`.jsx`** or **`.tsx`** modules into MDX. With the support of the **`next/mdx`**, it is viable to import **`.mdx`** into MDX, but not tested yet.\n\n## Installation\n\nThis package is ESM only, requires Node.js (version 18.18+).\n\n```bash\n# in general\nnpm install next-mdx-remote-client\n\n# specifically for react18 users\nnpm install next-mdx-remote-client@^1\n\n# specifically for react19 users\nnpm install next-mdx-remote-client@^2\n```\n\nor\n\n```bash\nyarn add next-mdx-remote-client\n```\n\n> [!WARNING]  \n> **`next-mdx-remote`** users may follow the [migration guide](/migration_guide.md).\n\n## Initial Security Concerns\n\nBefore diving into **`next-mdx-remote-client`**, it’s important to highlight the security risks associated with rendering MDX content.\n\nBecause MDX supports JavaScript expressions, it introduces serious security considerations. If the content is not fully trusted and controlled, it can enable **cross-site scripting (XSS)** attacks and even lead to **remote code execution (RCE)**. In the worst-case scenario, attackers could steal sensitive data, inject malicious scripts, install malware, or compromise your server.\n\n> **Never render user-supplied MDX without proper sanitization.**\n\nMDX provides three powerful constructs: **JSX syntax**, **JavaScript expressions**, and **ESM blocks (`mdxjsEsm`)** such as `import` and `export`. **`next-mdx-remote-client`** provides options to disable **ESM blocks (`mdxjsEsm`)**. However, it does **not** take responsibility for securing MDX content itself, as **it operates purely at the rendering layer**. Content sanitization and JS expression control should be handled earlier in the processing pipeline (e.g., at the remark/recma/compilation stage).\n\nIf you do not have full control over the MDX source, you should at minimum strip **dangerous JavaScript expressions** before rendering. A recommended approach is to use the remark plugin [**`remark-mdx-remove-expressions`**](https://github.com/ipikuka/remark-mdx-remove-expressions), which removes executable/dangerous MDX expressions at the syntax level.\n\nFor further security concerns you can visit [Security section](#security).\n\n## The package's exported subpaths\n\nThe main entry point **`/`** also refers to **`/csr`** subpath.\n\n```typescript\n// main entry point, which is related \"pages\" router\nimport /* */ from \"next-mdx-remote-client\";\n\n// isolated subpath for the \"serialize\" function\nimport /* */ from \"next-mdx-remote-client/serialize\";\n\n// sub entry point related with \"pages\" router\nimport /* */ from \"next-mdx-remote-client/csr\";\n\n// sub entry point related with \"app\" router\nimport /* */ from \"next-mdx-remote-client/rsc\";\n\n// isolated subpath for the utils\nimport /* */ from \"next-mdx-remote-client/utils\";\n```\n\n## The part associated with Next.js `app` router\n\n_Go to [the part associated with Next.js pages router](#the-part-associated-with-nextjs-pages-router)_\n\n**`next-mdx-remote-client`** exposes **`evaluate`** function and **`MDXRemote`** component for **\"app\" router**.\n\n```typescript\nimport { evaluate, MDXRemote } from \"next-mdx-remote-client/rsc\";\n```\n\n> [!TIP]\n> If you need to get the **exports** from MDX --> use **`evaluate`**\\\n> If you don't need --> use **`MDXRemote`**\\\n> \\\n> If you need to get the **frontmatter** and the **mutated scope** --> use **`evaluate`**\\\n> If you don't need --> use **`MDXRemote`**\n\nLet's give some examples how to use **`next-mdx-remote-client`** in \"app\" router first, then explain the exposed function and component.\n\n### Examples for `app` router\n\nSee a **demo application** with **`app` router**, visit [source code](https://github.com/talatkuyuk/next-mdx-remote-client-in-app-router) or [living web site](https://nmrc-in-app-router.vercel.app/).\n\n#### An example with `javascript`\n\n```jsx\nimport { Suspense } from \"react\";\nimport { MDXRemote } from \"next-mdx-remote-client/rsc\";\n\nimport { ErrorComponent, LoadingComponent } from \"../components\";\nimport { Test } from '../mdxComponents';\n\nconst components = {\n  Test,\n  wrapper: ({ children }) => <div className=\"mdx-wrapper\">{children}</div>,\n}\n\nexport default async function Page() {\n  const source = \"Some **bold text** in MDX, with a component <Test />\";\n\n  return (\n    <Suspense fallback={<LoadingComponent />}>\n      <MDXRemote\n        source={source}\n        components={components}\n        onError={ErrorComponent}\n      />\n    </Suspense>\n  );\n};\n```\n\n#### An example with `typescript`, parsing frontmatter and providing custom data with scope\n\n```tsx\nimport { Suspense } from \"react\";\nimport { MDXRemote } from \"next-mdx-remote-client/rsc\";\nimport type { MDXRemoteOptions, MDXComponents } from \"next-mdx-remote-client/rsc\";\n\nimport { calculateSomeHow, getSourceSomeHow } from \"../utils\";\nimport { ErrorComponent, LoadingComponent } from \"../components\";\nimport { Test } from '../mdxComponents';\n\nconst components: MDXComponents = { \n  Test,\n  wrapper: function ({ children }: React.ComponentPropsWithoutRef<\"div\">) {\n    return <div className=\"mdx-wrapper\">{children}</div>;\n  },\n}\n\nexport default async function Page() {\n  const source = await getSourceSomeHow();\n\n  if (!source) {\n    return <ErrorComponent error=\"The source could not found !\" />;\n  }\n\n  const options: MDXRemoteOptions = {\n    mdxOptions: {\n      // ...\n    },\n    parseFrontmatter: true,\n    scope: {\n      readingTime: calculateSomeHow(source),\n    },\n  };\n\n  return (\n    <Suspense fallback={<LoadingComponent />}>\n      <MDXRemote\n        source={source}\n        options={options}\n        components={components}\n        onError={ErrorComponent}\n      />\n    </Suspense>\n  );\n}\n```\n\n#### An example with creating a table of contents (TOC)\n\nI assume you have a MDX content having `<TableOfContentComponent />` inside; and you've provided it in MDX components.\n\n```markdown\n---\ntitle: My Article\n---\n# {frontmatter.title}\n\n<TableOfContentComponent toc={toc} />\n\nrest of the article...\n```\n\nYou can have a look at an example [TableOfContentComponent](https://github.com/talatkuyuk/next-mdx-remote-client-in-app-router/blob/main/mdxComponents/Toc.tsx) in the demo application.\n\nIn order to create a table of contents (TOC) I use **`remark-flexible-toc`** in the remark plugins and pass the table of contents objects `vFile.data.toc` into the `scope` via the option `vfileDataIntoScope`.\n\nThat's it! So easy!\n\n```tsx\nimport { Suspense } from \"react\";\nimport { MDXRemote, type MDXRemoteOptions } from \"next-mdx-remote-client/rsc\";\nimport remarkFlexibleToc from \"remark-flexible-toc\"; // <---------\n\nimport { calculateSomeHow, getSourceSomeHow } from \"../utils\";\nimport { ErrorComponent, LoadingComponent } from \"../components\";\nimport { components } from '../mdxComponents';\n\nexport default async function Page() {\n  const source = await getSourceSomeHow();\n\n  if (!source) {\n    return <ErrorComponent error=\"The source could not found !\" />;\n  }\n\n  const options: MDXRemoteOptions = {\n    mdxOptions: {\n      remarkPlugins: [\n        // ...\n        remarkFlexibleToc, // <---------\n      ], \n    },\n    parseFrontmatter: true,\n    scope: {\n      readingTime: calculateSomeHow(source),\n    },\n    vfileDataIntoScope: \"toc\", // <---------\n  };\n\n  return (\n    <Suspense fallback={<LoadingComponent />}>\n      <MDXRemote\n        source={source}\n        options={options}\n        components={components}\n        onError={ErrorComponent}\n      />\n    </Suspense>\n  );\n}\n```\n\n#### An example with using \"frontmatter\" and \"scope\" in JSX in \"app\" router\n\n```tsx\nimport { Suspense } from \"react\";\nimport { evaluate, type EvaluateOptions } from \"next-mdx-remote-client/rsc\";\nimport remarkFlexibleToc, { type TocItem } from \"remark-flexible-toc\";\n\nimport { calculateSomeHow, getSourceSomeHow } from \"../utils\";\nimport { ErrorComponent, LoadingComponent, TableOfContentComponent } from \"../components\";\nimport { components } from \"../mdxComponents\";\n\ntype Scope = {\n  readingTime: string;\n  toc?: TocItem[];\n};\n\ntype Frontmatter = {\n  title: string;\n  author: string;\n};\n\nexport default async function Page() {\n  const source = await getSourceSomeHow();\n\n  if (!source) {\n    return <ErrorComponent error=\"The source could not found !\" />;\n  }\n\n  const options: EvaluateOptions<Scope> = {\n    mdxOptions: {\n      remarkPlugins: [\n        // ...\n        remarkFlexibleToc,\n      ], \n    },\n    parseFrontmatter: true,\n    scope: {\n      readingTime: calculateSomeHow(source),\n    },\n    vfileDataIntoScope: \"toc\",\n  };\n\n  const { content, frontmatter, scope, error } = await evaluate<Frontmatter, Scope>({\n    source,\n    options,\n    components,\n  });\n\n  if (error) {\n    return <ErrorComponent error={error} />;\n  }\n\n  return (\n    <>\n      <h1>{frontmatter.title}</h1>\n      <p>Written by {frontmatter.author}; read in {scope.readingTime}</p>\n      <TableOfContentComponent toc={scope.toc} />\n      <Suspense fallback={<LoadingComponent />}>\n        {content}\n      </Suspense>\n    </>\n  );\n}\n```\n\nActually, you may not need to access the \"frontmatter\" and \"scope\" in JSX, you can use them within MDX directly, and return just `content` only.\n\n```tsx\n// ...\nexport default async function Page({ source }: Props) {\n  // ...\n  return (\n    <Suspense fallback={<LoadingComponent />}>\n      {content}\n    </Suspense>\n  );\n}\n```\n\n_article.mdx_\n```markdown\n# {frontmatter.title}\n\nWritten by {frontmatter.author}; read in {readingTime}\n\n<TableOfContentComponent toc={toc} />\n\nrest of the article...\n```\n\nAfter the examples given, let's dive into the exposed function and component by **`next-mdx-remote-client`** for \"app\" router.\n\n### The `evaluate` function\n\n_Go to the [MDXRemote](#the-mdxremote-component) component_\n\nThe `evaluate` function is used for **compiling** MDX source, **constructing compiled source**, getting exported information from MDX and returning MDX content to be rendered on the server side, as a react server component.\n\n```typescript\nasync function evaluate(props: EvaluateProps): Promise<EvaluateResult> {}\n```\n\nThe `evaluate` function takes `EvaluateProps` and returns `EvaluateResult` as a promise.\n\n**Props of the `evaluate` function**\n\n```typescript\ntype EvaluateProps<TScope> = {\n  source: Compatible;\n  options?: EvaluateOptions<TScope>;\n  components?: MDXComponents;\n};\n```\n\n**Result of the `evaluate` function**\n\n```typescript\ntype EvaluateResult<TFrontmatter, TScope> = {\n  content: React.JSX.Element;\n  mod: Record<string, unknown>;\n  frontmatter: TFrontmatter;\n  scope: TScope;\n  error?: Error;\n};\n```\n\nThe `evaluate` has **internal error handling mechanism** as much as it can, in order to do so, it returns an **`error`** object if it is catched.\n\n> [!CAUTION]\n> The eval of the compiled source returns a module `MDXModule`, and does not throw errors except syntax errors. Some errors throw during the render process which needs you to use an **ErrorBoundary**.\n\n```tsx\nimport { Suspense } from \"react\";\nimport { evaluate, type EvaluateOptions } from \"next-mdx-remote-client/rsc\";\n\nimport { ErrorComponent, LoadingComponent, TableOfContentComponent } from \"../components\";\nimport { components } from \"../mdxComponents\";\nimport type { Frontmatter, Scope } from \"../types\"\n\nexport default async function MDXComponent({ source }: {source?: string}) {\n  if (!source) {\n    return <ErrorComponent error=\"The source could not found !\" />;\n  }\n\n  const options: EvaluateOptions = {\n    /* */\n  };\n\n  const { content, mod, frontmatter, scope, error } = await evaluate<Frontmatter, Scope>({\n    source,\n    options,\n    components,\n  });\n\n  if (error) {\n    return <ErrorComponent error={error} />;\n  }\n\n  /**\n   * Use \"mod\", \"frontmatter\" and \"scope\" as you wish\n   *\n   * \"mod\" object is for exported information from MDX\n   * \"frontmatter\" is available even if a MDX syntax error occurs\n   * \"scope\" is for mutated scope if the `vfileDataIntoScope` option is used\n   */\n\n  return (\n    <>\n      <h1>{frontmatter.title}</h1>\n      <div><em>{mod.something}</em></div>\n      <TableOfContentComponent toc={scope.toc} />\n      <Suspense fallback={<LoadingComponent />}>\n        {content}\n      </Suspense>\n    </>\n  );\n};\n```\n\nIf you provide **the generic type parameters** like `await evaluate<Frontmatter, Scope>(){}`, the `frontmatter` and the `scope` get the types, otherwise `Record<string, unknown>` by default for both.\n\n> [!WARNING]\n> Pay attention to the order of the generic type parameters.\\\n> \\\n> The type parameters `Frontmatter` and `Scope` should extend `Record<string, unknown>`. You should use **`type`** instead of **`interface`** for type parameters otherwise, you will receive an error saying `Type 'Xxxx' does not satisfy the constraint 'Record<string, unknown>'.` See this [issue](https://github.com/ipikuka/next-mdx-remote-client/issues/2) for more explanation.\n\nIn the above example, I assume you use **`remark-flexible-toc`** remark plugin in order to collect the headings from MDX content, and you pass that information into the `scope` via `vfileDataIntoScope` option.\n\n### The evaluate options (`EvaluateOptions`)\n\nAll options are optional.\n\n```typescript\ntype EvaluateOptions<TScope> = {\n  mdxOptions?: EvaluateMdxOptions;\n  disableExports?: boolean;\n  disableImports?: boolean;\n  parseFrontmatter?: boolean;\n  scope?: TScope;\n  vfileDataIntoScope?: VfileDataIntoScope;\n};\n```\n\n#### `mdxOptions`\n\nIt is an **`EvaluateMdxOptions`** option to be passed to **`@mdx-js/mdx`** compiler.\n\n```typescript\nimport { type EvaluateOptions as OriginalEvaluateOptions } from \"@mdx-js/mdx\";\n\ntype EvaluateMdxOptions = Omit<\n  OriginalEvaluateOptions,\n  | \"Fragment\"\n  | \"jsx\"\n  | \"jsxs\"\n  | \"jsxDEV\"\n  | \"useMDXComponents\"\n  | \"providerImportSource\"\n  | \"outputFormat\"\n>;\n```\n\nAs you see, some of the options are omitted and opinionated within the package. For example the `outputFormat` is always `function-body` by default. Visit https://mdxjs.com/packages/mdx/#evaluateoptions for available mdxOptions.\n\n```typescript\nconst options: EvaluateOptions = {\n  // ...\n  mdxOptions: {\n    format: \"mdx\",\n    baseUrl: import.meta.url,\n    development: true,\n    remarkPlugins: [/* */],\n    rehypePlugins: [/* */],\n    recmaPlugins: [/* */],\n    remarkRehypeOptions: {handlers: {/* */}},\n    // ...\n  };\n};\n```\n\nFor more information see [the MDX documentation](https://github.com/mdx-js/mdx/blob/master/packages/mdx/index.js).\n\n#### `disableExports`\n\nIt is a **boolean** option whether or not stripping the `export statements` out from the MDX source.\n\nBy default it is **false**, meaningly the `export statements` work as expected.\n\n```typescript\nconst options: EvaluateOptions = {\n  disableExports: true;\n};\n```\n\nNow, the `export statements` will be stripped out from the MDX.\n\n#### `disableImports`\n\nIt is a **boolean** option whether or not stripping the `import statements` out from the MDX source.\n\nBy default it is **false**, meaningly the `import statements` work as expected.\n\n```typescript\nconst options: EvaluateOptions = {\n  disableImports: true;\n};\n```\n\nNow, the `import statements` will be stripped out from the MDX.\n\n#### `parseFrontmatter`\n\nIt is a **boolean** option whether or not the frontmatter should be parsed out of the MDX.\n\nBy default it is **false**, meaningly the `frontmatter` will not be parsed and extracted.\n\n```typescript\nconst options: EvaluateOptions = {\n  parseFrontmatter: true;\n};\n```\n\nNow, the `frontmatter` part of the MDX file is parsed and extracted from the MDX source; and will be supplied into the MDX file so as you to use it within the javascript statements.\n\n> [!NOTE]\n> Frontmatter is a way to identify metadata in Markdown files. Metadata can literally be anything you want it to be, but often it's used for data elements your page needs and you don't want to show directly.\n\n```mdx\n---\ntitle: \"My Article\"\nauthor: \"ipikuka\"\n---\n# {frontmatter.title}\n\nIt is written by {frontmatter.author}\n```\n\nThe package uses the `vfile-matter` internally to parse the frontmatter.\n\n#### `scope`\n\nIt is an **`Record<string, unknown>`** option which is an arbitrary object of data which will be supplied to the MDX. For example, in cases where you want to provide template variables to the MDX, like `my name is {name}`, you could provide scope as `{ name: \"ipikuka\" }`. \n\nHere is another example:\n\n```typescript\nconst options: EvaluateOptions = {\n  scope: {\n    readingTime: calculateSomeHow(source)\n  };\n};\n```\n\nNow, the `scope` will be supplied into the MDX file so as you to use it within the statements.\n\n```markdown\n# My article\n\nread in {readingTime} min.\n```\n\nThe variables within the expression in the MDX content should be valid javascript variable names. **Therefore, each key of the scope must be a valid variable name.**\n\n```markdown\nMy name is {name} valid expression.\nMy name is {my-name} is not valid expression, which will throw error\n```\n\nSo, we can say for the `scope`, here:\n```typescript\nconst options: EvaluateOptions = {\n  scope: {\n    name: \"ipikuka\", // valid usage\n    \"my-name\": \"ipikuka\", // is not valid and error prone for the MDX content !!!\n  };\n};\n```\n\n> [!TIP]\n> The scope variables can be consumed not only as a property of a component, but also within the texts.\n\n```mdx\nmy name is {name}\n\n<BarComponent name={name} />\n```\n\n#### `vfileDataIntoScope`\n\nIt is an **union** type option. It is for passing some fields of `vfile.data` into the `scope` by mutating the `scope`.\n\n> [!IMPORTANT]  \n> It provides referencial copy for objects and arrays. If the `scope` has the same key already, `vfile.data` overrides it.\n\nThe reason behind of this option is that `vfile.data` may hold some extra information added by some remark plugins. Some fields of the `vfile.data` may be needed to pass into the `scope` so as you to use in the MDX.\n\n```typescript\ntype VfileDataIntoScope =\n  | true // all fields from vfile.data\n  | string // one specific field\n  | { name: string; as: string } // one specific field but change the key as\n  | Array<string | { name: string; as: string }>; // more than one field\n```\n\n```typescript\nconst options: EvaluateOptions = {\n  // Let's assume you use \"remark-flexible-toc\" plugin which composes\n  // the table of content (TOC) within the 'vfile.data.toc'\n  vfileDataIntoScope: \"toc\"; // or fileDataIntoScope: [\"toc\"];\n};\n```\n\nNow, `vfile.data.toc` is copied into the scope as `scope[\"toc\"]`, and will be supplied to the MDX via `scope`.\n\n```mdx\n# My article\n\n<TableOfContentComponent toc={toc} />\n```\n\nIf you need to change the name of the field, specify it for example `{ name: \"toc\", as: \"headings\" }`.\n\n```typescript\nconst options: EvaluateOptions = {\n  vfileDataIntoScope: { name: \"toc\", as: \"headings\" };\n};\n```\n\n```mdx\n# My article\n\n<TableOfContentComponent headings={headings} />\n```\n\nIf you need to pass all the fields from `vfile.data`, specify it as `true`\n\n```typescript\nconst options: EvaluateOptions = {\n  vfileDataIntoScope: true;\n};\n```\n\n### The `MDXRemote` component\n\n_Go to the [evaluate](#the-evaluate-function) function_\n\nThe `MDXRemote` component is used for rendering the MDX content on the server side. It is a react server component.\n\n```typescript\nasync function MDXRemote(props: MDXRemoteProps): Promise<React.JSX.Element> {}\n```\n\nThe `MDXRemote` component takes `MDXRemoteProps` and returns `React.JSX.Element` as a promise.\n\n**Props of the `MDXRemote` component**\n\n```typescript\ntype MDXRemoteProps<TScope> = {\n  source: Compatible;\n  options?: MDXRemoteOptions<TScope>;\n  components?: MDXComponents;\n  onError?: React.ComponentType<{ error: Error }>\n};\n```\n\nThe `MDXRemote` has **internal error handling mechanism** as much as it can, in order to do so, it takes **`onError`** prop in addition to `evaluate` function.\n\n> [!CAUTION]\n> The eval of the compiled source returns a module `MDXModule`, and does not throw errors except syntax errors. Some errors throw during the render process which needs you to use an **ErrorBoundary**.\n\n```tsx\nimport { Suspense } from \"react\";\nimport { MDXRemote, type MDXRemoteOptions } from \"next-mdx-remote-client/rsc\";\n\nimport { ErrorComponent, LoadingComponent } from \"../components\";\nimport { components } from \"../mdxComponents\";\n\nexport default async function MDXComponent({ source }: {source?: string}) {\n  if (!source) {\n    return <ErrorComponent error=\"The source could not found !\" />;\n  }\n\n  const options: MDXRemoteOptions = {\n    /* */\n  };\n\n  return (\n    <Suspense fallback={<LoadingComponent />}>\n      <MDXRemote\n        source={source}\n        options={options}\n        components={components}\n        onError={ErrorComponent}\n      />\n    </Suspense>\n  );\n};\n```\n\n### The MDXRemote options (`MDXRemoteOptions`)\n\nAll options are optional.\n\n```typescript\ntype MDXRemoteOptions<TScope> = {\n  mdxOptions?: EvaluateMdxOptions;\n  disableExports?: boolean;\n  disableImports?: boolean;\n  parseFrontmatter?: boolean;\n  scope?: TScope;\n  vfileDataIntoScope?: VfileDataIntoScope;\n};\n```\n\nThe details are the same with the [EvaluateOptions](#the-evaluate-options-evaluateoptions).\n\n## The part associated with Next.js `pages` router\n\n_Go to [the part associated with Next.js app router](#the-part-associated-with-nextjs-app-router)_\n\n**`next-mdx-remote-client`** exposes **`serialize`**, **`hydrate`** functions and **`MDXClient`** component for **\"pages\" router**.\n\nThe `serialize` function is used on the server side in \"pages\" router, while as the `hydrate` and the `MDXClient` are used on the client side in \"pages\" router. That is why the \"serialize\" function is purposefully isolated considering it is intended to run on the server side.\n\nLet's give some examples how to use **`next-mdx-remote-client`** in \"pages\" router first, then explain the exposed functions and component.\n\n### Examples for `pages` router\n\nSee a **demo application** with **`pages` router**,  visit [source code](https://github.com/talatkuyuk/next-mdx-remote-client-in-pages-router) or [living web site](https://nmrc-in-pages-router.vercel.app/).\n\n#### An example with `javascript`\n\n```jsx\nimport { serialize } from 'next-mdx-remote-client/serialize';\nimport { MDXClient } from 'next-mdx-remote-client';\n\nimport ErrorComponent from '../components/ErrorComponent';\nimport Test from '../mdxComponents/Test';\n\nconst components = { \n  Test,\n  wrapper: ({children}) => <div className=\"mdx-wrapper\">{children}</div>,\n}\n\nexport default function Page({ mdxSource }) {\n  if (\"error\" in mdxSource) {\n    return <ErrorComponent error={mdxSource.error} />;\n  }\n\n  return <MDXClient {...mdxSource} components={components} />;\n}\n\nexport async function getStaticProps() {\n  const source = \"Some **bold text** in MDX, with a component <Test />\";\n\n  const mdxSource = await serialize({source});\n\n  return { props: { mdxSource } };\n}\n```\n\n#### An example with `typescript`, parsing frontmatter and providing custom data with scope\n\n```tsx\nimport { MDXClient, type MDXComponents } from 'next-mdx-remote-client';\nimport { serialize } from \"next-mdx-remote-client/serialize\";\nimport type { SerializeOptions, SerializeResult } from \"next-mdx-remote-client/serialize\";\n\nimport { calculateSomeHow, getSourceSomeHow } from \"../utils\";\nimport ErrorComponent from '../components/ErrorComponent';\nimport Test from '../mdxComponents/Test';\n\ntype Scope = {\n  readingTime: string;\n};\n\ntype Frontmatter = {\n  title: string;\n  author: string;\n};\n\nconst components: MDXComponents = { \n  Test,\n  wrapper: function ({ children }: React.ComponentPropsWithoutRef<\"div\">) {\n    return <div className=\"mdx-wrapper\">{children}</div>;\n  },\n}\n\ntype Props = {\n  mdxSource?: SerializeResult<Frontmatter, Scope>;\n}\n\nexport default function Page({ mdxSource }: Props) {\n  if (!mdxSource) {\n    return <ErrorComponent error=\"The source could not found !\" />;\n  }\n\n  if (\"error\" in mdxSource) {\n    return <ErrorComponent error={mdxSource.error} />;\n  }\n\n  return (\n    <>\n      <h1>{mdxSource.frontmatter.title}</h1>\n      <p>Written by {mdxSource.frontmatter.author}; read in {mdxSource.scope.readingTime}</p>\n      <MDXClient {...mdxSource} components={components} />\n    </>\n  );\n}\n\nexport async function getStaticProps() {\n  const source = await getSourceSomeHow();\n\n  if (!source) return { props: {} };\n\n  const options: SerializeOptions<Scope> = {\n    disableImports: true,\n    mdxOptions: {\n      // ...\n    },\n    parseFrontmatter: true,\n    scope: {\n      readingTime: calculateSomeHow(source),\n    },\n  };\n\n  const mdxSource = await serialize<Frontmatter, Scope>({source, options});\n\n  return { props: { mdxSource } };\n}\n```\n\n#### An example with creating a table of contents (TOC)\n\nI assume you have a MDX content having `<TableOfContentComponent />` inside; and you've provided it in MDX components.\n\n```markdown\n---\ntitle: My Article\n---\n# {frontmatter.title}\n\n<TableOfContentComponent toc={toc} />\n\nrest of the article...\n```\n\nYou can have a look at an example [TableOfContentComponent](https://github.com/talatkuyuk/next-mdx-remote-client-in-pages-router/blob/main/mdxComponents/Toc.tsx) in the demo application.\n\nIn order to create a table of contents (TOC) I use **`remark-flexible-toc`** in the remark plugins and pass the table of contents objects `vFile.data.toc` into the `scope` via the option `vfileDataIntoScope`.\n\nThat's it! So easy!\n\n```tsx\nimport { MDXClient, type MDXComponents } from 'next-mdx-remote-client';\nimport { serialize } from \"next-mdx-remote-client/serialize\";\nimport type { SerializeOptions, SerializeResult } from \"next-mdx-remote-client/serialize\";\nimport remarkFlexibleToc, {type TocItem} from \"remark-flexible-toc\"; // <---------\n\nimport { calculateSomeHow, getSourceSomeHow } from \"../utils\";\nimport { ErrorComponent, TableOfContentComponent } from '../components';\nimport { Test } from '../mdxComponents';\n\ntype Scope = {\n  readingTime: string;\n};\n\ntype Frontmatter = {\n  title: string;\n  author: string;\n};\n\nconst components: MDXComponents = { \n  Test,\n  wrapper: function ({ children }: React.ComponentPropsWithoutRef<\"div\">) {\n    return <div className=\"mdx-wrapper\">{children}</div>;\n  },\n}\n\ntype Props = {\n  mdxSource?: SerializeResult<Frontmatter, Scope & {toc: TocItem[]}>;\n}\n\nexport default function Page({ mdxSource }: Props) {\n  if (!mdxSource) {\n    return <ErrorComponent error=\"The source could not found !\" />;\n  }\n\n  if (\"error\" in mdxSource) {\n    return <ErrorComponent error={mdxSource.error} />;\n  }\n\n  return (\n    <>\n      <h1>{mdxSource.frontmatter.title}</h1>\n      <p>Written by {mdxSource.frontmatter.author}; read in {mdxSource.scope.readingTime}</p>\n      <TableOfContentComponent toc={mdxSource.scope.toc /* <----- here added TOC */} />\n      <MDXClient {...mdxSource} components={components} />\n    </>\n  );\n}\n\nexport async function getStaticProps() {\n  const source = await getSourceSomeHow();\n\n  if (!source) return { props: {} };\n\n  const options: SerializeOptions<Scope> = {\n    disableImports: true,\n    mdxOptions: {\n      remarkPlugins: [\n        // ...\n        remarkFlexibleToc, // <---------\n      ], \n    },\n    parseFrontmatter: true,\n    scope: {\n      readingTime: calculateSomeHow(source),\n    },\n    vfileDataIntoScope: \"toc\", // <---------\n  };\n\n  const mdxSource = await serialize<Frontmatter, Scope>({source, options});\n\n  return { props: { mdxSource } };\n}\n```\n\nActually, you may not need to access the \"frontmatter\" and \"scope\" in JSX, you can use them within MDX directly, and return just `<MDXClient />` only.\n\n```tsx\n// ...\nconst components: MDXComponents = { \n  TableOfContentComponent, // <---------\n  wrapper: function ({ children }: React.ComponentPropsWithoutRef<\"div\">) {\n    return <div className=\"mdx-wrapper\">{children}</div>;\n  },\n}\n// ...\nexport default function Page({ mdxSource }: Props) {\n  // ...\n  return (\n    <MDXClient {...mdxSource} components={components} />\n  );\n}\n```\n\n_article.mdx_\n```markdown\n# {frontmatter.title}\n\nWritten by {frontmatter.author}; read in {readingTime}\n\n<TableOfContentComponent toc={toc} />\n\nrest of the article...\n```\n\nAfter the examples given, let's dive into the exposed functions and component by **`next-mdx-remote-client`** for \"pages\" router.\n\n### The `serialize` function\n\n_Go to the [hydrate](#the-hydrate-function) function_\n_or the [MDXClient](#the-mdxclient-component) component_\n\n```typescript\nimport { serialize } from \"next-mdx-remote-client/serialize\";\n```\n\nThe `serialize` function is used for **compiling** MDX source, in other words **constructing compiled source** from MDX source, intended to run on server side at build time.\n\n> [!WARNING]\n> The `serialize` function is **asyncronous** and to be used within the `getStaticProps` or the `getServerSideProps` on the server side. (Off the record, it can be used within an `useEffect` as well, but this is not recommended because it is a heavy function as having more dependencies).\n\n```typescript\nasync function serialize(props: SerializeProps): Promise<SerializeResult> {}\n```\n\nThe `serialize` function takes `SerializeProps` and returns `SerializeResult` as a promise.\n\n**Props of the `serialize` function**\n\n```typescript\ntype SerializeProps<TScope> = {\n  source: Compatible;\n  options?: SerializeOptions<TScope>;\n};\n```\n\n**Result of the `serialize` function**\n\nEither the `compiledSource` or the `error` exists, in addition to `frontmatter` and `scope`.\n\n```typescript\ntype SerializeResult<TFrontmatter, TScope> = \n({ compiledSource: string } | { error: Error })\n& {\n  frontmatter: TFrontmatter;\n  scope: TScope;\n};\n```\n\nThe `serialize` function has **internal error handling mechanism** for the MDX syntax errors. The catched error is serialized via **`serialize-error`** and attached into the serialize results, further you can deserialize the error on the client, if necessary. **You don't need to implement error handling by yourself.**\n\n```tsx\nimport { serialize, type SerializeOptions } from \"next-mdx-remote-client/serialize\";\nimport type { Frontmatter, Scope } from \"./types\"\n\nexport async function getStaticProps() {\n  const source = await getSourceSomeHow();\n\n  if (!source) {\n    return { props: {} };\n  }\n\n  const options: SerializeOptions = {\n    /* */\n  };\n\n  const mdxSource = await serialize<Frontmatter, Scope>({\n    source,\n    options,\n  });\n\n  return {\n    props: {\n      mdxSource,\n    },\n  };\n}\n```\n\nIf you provide **the generic type parameters** like `await serialize<Frontmatter, Scope>(){}`, the `frontmatter` and the `scope` get the types, otherwise `Record<string, unknown>` by default for both.\n\n> [!WARNING]\n> Pay attention to the order of the generic type parameters.\\\n> \\\n> The type parameters `Frontmatter` and `Scope` should extend `Record<string, unknown>`. You should use **`type`** instead of **`interface`** for type parameters otherwise, you will receive an error saying `Type 'Xxxx' does not satisfy the constraint 'Record<string, unknown>'.` See this [issue](https://github.com/ipikuka/next-mdx-remote-client/issues/2) for more explanation.\n\nThe `nextjs` will send the `mdxSource` ((**`compiledSource`** or **`error`**) + **`frontmatter`** + **`scope`**) to client side.\n\n**On client side, you need first to narrow the `mdxSource` by checking `if (\"error\" in mdxSource) {}`.**\n\n```tsx\ntype Props = {\n  mdxSource?: SerializeResult<Frontmatter, Scope>;\n}\n\nexport default function Page({ mdxSource }: Props) {\n  // ...\n\n  if (\"error\" in mdxSource) {\n    return <ErrorComponent error={mdxSource.error} />;\n  }\n\n  // ...\n};\n```\n\n### The serialize options (`SerializeOptions`)\n\nAll options are optional.\n\n```typescript\ntype SerializeOptions<TScope> = {\n  mdxOptions?: SerializeMdxOptions;\n  disableExports?: boolean;\n  disableImports?: boolean;\n  parseFrontmatter?: boolean;\n  scope?: TScope;\n  vfileDataIntoScope?: VfileDataIntoScope;\n};\n```\n\nExcept the `mdxOptions`, the details are the same with the [EvaluateOptions](#the-evaluate-options-evaluateoptions).\n\n#### `mdxOptions`\n\nIt is a **`SerializeMdxOptions`** option to be passed to **`@mdx-js/mdx`** compiler.\n\n```typescript\nimport { type CompileOptions as OriginalCompileOptions } from \"@mdx-js/mdx\";\n\ntype SerializeMdxOptions = Omit<\n  OriginalCompileOptions,\n  \"outputFormat\" | \"providerImportSource\"\n>;\n```\n\nAs you see, some of the options are omitted and opinionated within the package. For example the `outputFormat` is always `function-body` by default. Visit https://mdxjs.com/packages/mdx/#compileoptions for available mdxOptions.\n\n```typescript\nconst options: SerializeOptions = {\n  // ...\n  mdxOptions: {\n    format: \"mdx\",\n    baseUrl: import.meta.url,\n    development: true,\n    remarkPlugins: [/* */],\n    rehypePlugins: [/* */],\n    recmaPlugins: [/* */],\n    remarkRehypeOptions: {handlers: {/* */}},\n    // ...\n  };\n};\n```\n\n> [!WARNING]\n> Here I need to mention about the `scope` option again for the `serialize`.\\\n> \\\n> **scope**\\\n> \\\n> Actually, the `serialize` doesn't do so much with the `scope` except you provide the option `vfileDataIntoScope` for passing data from `vfile.data` into the `scope`. Since the `scope` is passed from the server to the client by `nextjs`, the `scope` must be serializable. The `scope` can not hold **function**, **component** , **Date**, **undefined**, **Error object** etc.\\\n> \\\n> If the scope has to have **unserializable** information or if you don't need or don't want to pass the `scope` into the `serialize`, you can pass it into `hydrate` or `MDXClient` directly on the client side.\n\n### The `hydrate` function\n\n_Go to the [serialize](#the-serialize-function) function_\n_or the [MDXClient](#the-mdxclient-component) component_\n\n```typescript\nimport { hydrate } from \"next-mdx-remote-client/csr\";\n```\n\nThe `hydrate` function is used for **constructing compiled source**, getting exported information from MDX and returning MDX content to be rendered on the client side.\n\n```typescript\nfunction hydrate(props: HydrateProps): HydrateResult {}\n```\n\nThe `hydrate` function takes `HydrateProps` and returns `HydrateResult`. The `hydrate` has no \"options\" parameter.\n\n**Props of the `hydrate` function**\n\n```typescript\ntype HydrateProps = {\n  compiledSource: string;\n  frontmatter?: Record<string, unknown>;\n  scope?: Record<string, unknown>;\n  components?: MDXComponents;\n  disableParentContext?: boolean;\n};\n```\n\nThe option `disableParentContext` is a feature of **`@mdx-js/mdx`**. If it is `false`, the mdx components provided by parent `MDXProvider`s are going to be disregarded.\n\n**Result of the `hydrate` function**\n\n```typescript\ntype HydrateResult = {\n  content: React.JSX.Element;\n  mod: Record<string, unknown>;\n  error?: Error;\n};\n```\n\nThe **`mod`** object is for exported information from MDX source.\n\n> [!TIP]\n> If you need to get the **exports** from MDX --> use **`hydrate`**\\\n> If you don't need --> use **`MDXClient`**\n\nThe `hydrate` has **internal error handling mechanism** as much as it can, in order to do so, it returns an **`error`** object if it is catched.\n\n> [!CAUTION]\n> The eval of the compiled source returns a module `MDXModule`, and does not throw errors except syntax errors. Some errors throw during the render process which needs you to use an **ErrorBoundary**.\n\n```tsx\nimport { hydrate, type SerializeResult } from \"next-mdx-remote-client/csr\";\n\nimport { ErrorComponent, TableOfContentComponent } from \"../components\";\nimport { components } from \"../mdxComponents\";\nimport type { Frontmatter, Scope } from \"../types\"\n\ntype Props = {\n  mdxSource?: SerializeResult<Frontmatter, Scope>;\n}\n\nexport default function Page({ mdxSource }: Props) {\n  if (!mdxSource) {\n    return <ErrorComponent error=\"The source could not found !\" />;\n  }\n\n  if (\"error\" in mdxSource) {\n    return <ErrorComponent error={mdxSource.error} />;\n  }\n\n  // Now, mdxSource has {compiledSource, frontmatter, scope}\n\n  const { content, mod, error } = hydrate({ ...mdxSource, components });\n\n  if (error) {\n    return <ErrorComponent error={error} />;\n  }\n\n  // You can use the \"mod\" object for exported information from the MDX as you wish\n\n  return (\n    <>\n      <h1>{mdxSource.frontmatter.title}</h1>\n      <div><em>{mod.something}</em></div>\n      <TableOfContentComponent toc={mdxSource.scope.toc} />\n      {content}\n    </>\n  );\n};\n```\n\nIn the above example, I assume you use **`remark-flexible-toc`** remark plugin in order to collect the headings from MDX content, and you pass that information into the `scope` via `vfileDataIntoScope` option within the serialize on the server side.\n\n### The `MDXClient` component\n\n_Go to the [serialize](#the-serialize-function) function_\n_or the [hydrate](#the-hydrate-function) function_\n\n```typescript\nimport { MDXClient } from \"next-mdx-remote-client/csr\";\n```\n\nThe `MDXClient` component is used for rendering the MDX content on the client side.\n\n```typescript\nfunction MDXClient(props: MDXClientProps): React.JSX.Element {}\n```\n\nThe `MDXClient` component takes `MDXClientProps` and returns `React.JSX.Element`. The `MDXClient` has no \"options\" parameter like `hydrate`.\n\n**Props of the `MDXClient` component**\n\n```typescript\ntype MDXClientProps = {\n  compiledSource: string;\n  frontmatter?: Record<string, unknown>;\n  scope?: Record<string, unknown>;\n  components?: MDXComponents;\n  disableParentContext?: boolean;\n  onError?: React.ComponentType<{ error: Error }>\n};\n```\n\nThe option `disableParentContext` is a feature of **`@mdx-js/mdx`**. If it is `false`, the mdx components provided by parent `MDXProvider`s are going to be disregarded.\n\n> [!TIP]\n> If you need to get the **exports** from MDX --> use **`hydrate`**\\\n> If you don't need --> use **`MDXClient`**\n\nThe `MDXClient` has **internal error handling mechanism** as much as it can, in order to do so, it takes **`onError`** prop in addition to `hydrate` function.\n\n> [!CAUTION]\n> The eval of the compiled source returns a module `MDXModule`, and does not throw errors except syntax errors. Some errors throw during the render process which needs you to use an **ErrorBoundary**.\n\n```tsx\nimport { MDXClient, type SerializeResult } from \"next-mdx-remote-client/csr\";\n\nimport { ErrorComponent, TableOfContentComponent } from \"../components\";\nimport { components } from \"../mdxComponents\";\nimport type { Frontmatter, Scope } from \"../types\"\n\ntype Props = {\n  mdxSource?: SerializeResult<Frontmatter, Scope>;\n}\n\nexport default function Page({ mdxSource }: Props) {\n  if (!mdxSource) {\n    return <ErrorComponent error=\"The source could not found !\" />;\n  }\n\n  if (\"error\" in mdxSource) {\n    return <ErrorComponent error={mdxSource.error} />;\n  }\n\n  // Now, mdxSource has {compiledSource, frontmatter, scope}\n\n  return (\n    <>\n      <h1>{mdxSource.frontmatter.title}</h1>\n      <TableOfContentComponent toc={mdxSource.scope.toc} />\n      <MDXClient\n        {...mdxSource}\n        components={components}\n        onError={ErrorComponent}\n      />\n    </>\n  );\n};\n```\n\nIn the above example, I assume you use **`remark-flexible-toc`** remark plugin in order to collect the headings from MDX content, and you pass that information into the `scope` via `vfileDataIntoScope` option within the serialize on the server side.\n\n### The `hydrateLazy` function and the `MDXClientLazy` component\n\n**`next-mdx-remote-client`** exports additional versions, say, the `hydrateLazy` and the `MDXClientLazy`, which both **have the same _functionality_, _props_, _results_** with the `hydrate` and the `MDXClient`, correspondently.\n\n**The only difference is the hydration process takes place lazily** on the browser within a `window.requestIdleCallback` in a useEffect. You can use `hydrateLazy` or `MDXClientLazy` in order to defer hydration of the content and immediately serve the static markup.\n\n```typescript\nimport { hydrateLazy, MDXClientLazy } from \"next-mdx-remote-client/csr\";\n```\n\nWhen you use `hydrateLazy`, and want to get the exports from MDX via `mod` object, please be aware that the `mod` object is always empty `{}` at first render, then it will get actual exports at second render.\n\n> [!NOTE]\n> Lazy hydration defers hydration of the components on the client. This is an optimization technique to improve the initial load of the application, but may introduce unexpected delays in interactivity for any dynamic content within the MDX content.\\\n> \\\n> This will add an additional wrapping div around the rendered MDX, which is necessary to avoid hydration mismatches during render.\\\n> \\\n> _For further explanation about the lazy hydration see [`next-mdx-remote`](https://github.com/hashicorp/next-mdx-remote) notes._\n\n### The `hydrateAsync` function and the `MDXClientAsync` component\n\n**`next-mdx-remote-client`** exports additional versions, say, the `hydrateAsync` and the `MDXClientAsync`.\n\nThese have additional props and options, but here, I don't want to give the details since **I created them for experimental** to show the `import statements` on the client side don't work. You can have a look at the github repository for the code and the tests.\n\n**The main difference is that the eval of the compiled source takes place in a useEffect** on the browser, since the compile source has `await` keyword for `import statements`.\n\n```typescript\nimport { hydrateAsync, MDXClientAsync } from \"next-mdx-remote-client/csr\";\n```\n\n> [!NOTE]  \n> I believe, it is viable somehow using `dynamic` API if the `vercel` supports for a solution for the `pages` router via `import.meta` APIs. During the compilation of the MDX in the `serialize`, a remark/recma plugin can register the imported modules into the `import.meta.url` via a nextjs API (needs support of vercel) for them will be available to download/import on the client side via `dynamic` api. This is my imagination.\n\n### The `MDXProvider` component\n\nThe package exports the `MDXProvider` from **`@mdx-js/react`**, in order the developers don't need to install **`@mdx-js/react`**.\n\n```typescript\nimport { MDXProvider } from \"next-mdx-remote-client/csr\";\n```\n\nThe `<MDXProvider />` makes the mdx components available to any `<MDXClient />` or `hydrate's { content }`  being rendered in the application, as a child status of that provider. \n\nFor example, you can wrap the whole application so as **you do not need to supply the mdx components into any `<MDXClient />` or `hydrate's { content }`.**\n\n```tsx\nimport { MDXProvider } from 'next-mdx-remote-client';\n\nimport { components } from \"../mdxComponents\"; \n\nexport default function App({ Component, pageProps }) {\n  return (\n    <MDXProvider components={components}>\n      <Component {...pageProps} />\n    </MDXProvider>\n  )\n}\n```\n\n> [!NOTE]\n> How this happens, because **`next-mdx-remote-client`** injects the `useMdxComponents` context hook from **`@mdx-js/react`** during the function construction of the compiled source, internally. Pay attention that it is valid for only `MDXClient` and `hydrate` functions.\n\n> [!CAUTION]\n> Since `MDXRemote` as a react server component can not read the context, **`MDXProvider` is effectless when used within the nextjs `app` router** for `MDXRemote`, which is also for `evaluate`.\n\n## MDX Components\n\nYou can provide a map of custom MDX components, which is a feature of **`@mdx-js/mdx`**, in order to replace HTML tags (see [the list of markdown syntax and equivalent HTML tags](https://mdxjs.com/table-of-components)) with the custom components.\n\nTypescript users can use `MDXComponents` from `mdx/types`, which is exported by this package as well.\n\n`../mdxComponents/index.ts`\n```tsx\nimport { type MDXComponents } from \"next-mdx-remote-client\";\n\nimport dynamic from \"next/dynamic\";\nimport Image from \"next/image\";\nimport Link from \"next/link\";\n\nimport { Typography } from \"@material-ui/core\";\nimport { motion } from 'framer-motion'\n\nimport Hello from \"./Hello\";\nimport CountButton from \"./CountButton\";\nimport BlockQuote, { default as blockquote } from \"./BlockQuote\";\nimport pre from \"./pre\";\n\nexport const mdxComponents: MDXComponents = {\n  Hello,\n  CountButton,\n  Dynamic: dynamic(() => import(\"./dynamic\")),\n  Image,\n  Link,\n  motion: { div: () => <div>Hello world</div> },\n  h2: (props: React.ComponentPropsWithoutRef<\"h2\">) => (\n    <Typography variant=\"h2\" {...props} />\n  ),\n  strong: (props: React.ComponentPropsWithoutRef<\"strong\">) => (\n    <strong className=\"custom-strong\" {...props} />\n  ),\n  em: (props: React.ComponentPropsWithoutRef<\"em\">) => (\n    <em className=\"custom-em\" {...props} />\n  ),\n  pre,\n  blockquote,\n  BlockQuote,\n  wrapper: (props: { children: any }) => {\n    return <div id=\"mdx-layout\">{props.children}</div>;\n  }\n};\n```\n\n> [!NOTE]\n> The **`wrapper`** is a special key, if you want to wrap the MDX content with a HTML container element.\n\n`./data/my-article.mdx`\n```markdown\n---\ntitle: \"My Article\"\nauthor: \"ipikuka\"\n---\n_Read in {readingTime}, written by <Link href=\"#\">**{frontmatter.author}**</Link>_\n\n# {frontmatter.title}\n\n## Sub heading for custom components\n\n<Hello name={foo} />\n\n<CountButton />\n\n<Dynamic />\n\n<Image src=\"/images/cover.png\" alt=\"cover\" width={180} height={40} />\n\n<BlockQuote>\n  I am blackquote content\n</BlockQuote>\n\n<motion.div animate={{ x: 100 }} />\n\n## Sub heading for some markdown elements\n\n![cover](/images/cover.png)\n\nHere is _italic text_ and **strong text**\n\n> I am blackquote content\n```\n\n## Utility `getFrontmatter`\n\nThe package exports one utility **`getFrontmatter`** which is **for getting frontmatter without compiling the source**. You can get the fronmatter and the stripped source by using the `getFrontmatter` which employs the same frontmatter extractor **`vfile-matter`** used within the package.\n\n```typescript\nimport { getFrontmatter } from \"next-mdx-remote-client/utils\";\n\nconst { frontmatter, strippedSource } = getFrontmatter<TFrontmatter>(source);\n```\n\nIf you provide **the generic type parameter**, it ensures the `frontmatter` gets the type, otherwise `Record<string, unknown>` by default.\n\n**If there is no frontmatter** in the source, the `frontmatter` will be **empty object `{}`**.\n\n> [!IMPORTANT]\n> \\\n> If you use **`next-mdx-remote`** and want to get `frontmatter` without compiling the source !\n> \\\n> The subpath **`next-mdx-remote-client/utils`** is isolated from other features of the package and it does cost minimum. **So, anyone can use `next-mdx-remote-client/utils` while using `next-mdx-remote`.**\n\n## Types\n\n**`next-mdx-remote-client`** is fully typed with [TypeScript][url-typescript].\n\nThe package exports the types for server side (rsc):\n\n- `EvaluateProps`\n- `EvaluateOptions`\n- `EvaluateResult`\n- `MDXRemoteProps`\n- `MDXRemoteOptions`\n\nThe package exports the types for client side (csr):\n\n- `HydrateProps`\n- `HydrateResult`\n- `MDXClientProps`\n- `SerializeResult`\n\nThe package exports the types for the serialize function:\n\n- `SerializeProps`\n- `SerializeOptions`\n- `SerializeResult`\n\nIn addition, the package exports the types from `mdx/types` so that developers do not need to import `mdx/types`:\n\n- `MDXComponents`\n- `MDXContent`\n- `MDXProps`\n- `MDXModule`\n\n## Compatibility\n\n**`next-mdx-remote-client`** works with unified version 6+ ecosystem since it is compatible with MDX version 3.\n\n## Security\n\nThe security model of **`next-mdx-remote-client`** is fundamentally the same as other MDX integrations built on top of **`@mdx-js/mdx`**, including **`next-mdx-remote`**, **`@next/mdx`**, and similar solutions.\n\nMDX supports **JSX syntax**; **JavaScript expressions** (`{1 + 1}`, `{someVar}`, `{fn()}`); and **ESM blocks (`mdxjsEsm`)** such as `import` and `export`.\n\nBecause MDX compiles to executable JavaScript, rendering **untrusted MDX** can inherently introduce **Cross-Site Scripting (XSS)** and **Remote Code Execution (RCE)**.\n\nThis is not unique to **`next-mdx-remote-client`**; it is intrinsic to how MDX works and has long been documented across the MDX ecosystem.\n\n### Trust Model\n\nIf MDX content is **not fully trusted**, then **RCE** is inherently possible. If you completely block all JavaScript expressions, you effectively reduce MDX to *Markdown with JSX*. That may be acceptable for certain use cases, but it changes the expressive nature of MDX.\n\nA more balanced approach is to **block only dangerous expressions** rather than disabling all expressions. The remark plugin [**`remark-mdx-remove-expressions`**](https://github.com/ipikuka/remark-mdx-remove-expressions) can remove executable or dangerous MDX expressions at the syntax level:\n\n```ts\nimport remarkMdxRemoveExpressions from \"remark-mdx-remove-expressions\";\n\n{\n  mdxOptions: {\n    remarkPlugins: [\n      [remarkMdxRemoveExpressions, { onlyDangerousExpressions: true }]\n    ]\n  }\n}\n```\n\n### ESM (`import` / `export`) in MDX\n\nAllowing **`import` declarations** and **`export` declarations** inside MDX can introduce serious risks if the content is not strictly controlled. **`next-mdx-remote-client`** provides options to disable ESM blocks (`mdxjsEsm`) for this reason.\n\nBut *dynamic import expressions*, such as `await import(\"some-module\")` are JavaScript expressions and require a **custom recma plugin** to block or transform them. [**`remark-mdx-remove-expressions`**](https://github.com/ipikuka/remark-mdx-remove-expressions) can also remove import expressions, **`next-mdx-remote-client`** does not modify or restrict these automatically.\n\n### Runtime Evaluation (`eval` / `new Function`)\n\nLike most MDX runtimes, **`next-mdx-remote-client`** evaluates compiled JavaScript using runtime evaluation `Reflect.construct` similar with `eval` or `new Function()`.\n\nEvaluating JavaScript from a string can enable **XSS** attacks or **RCE** if the input is not trusted. You are responsible for ensuring either the MDX source is trusted, or the source is properly sanitized and restricted before evaluation. Please, take your own measures while passing the user input.\n\n### Content Security Policy (CSP)\n\nIf your site uses a strict **Content Security Policy (CSP)** that disallows dynamic code evaluation via `eval` or `new Function()`, you will need to loosen the `script-src` policy to include `unsafe-eval`. Otherwise, MDX runtime evaluation will fail.\n\nCarefully assess the security implications before enabling [`unsafe-eval`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src#common_sources), especially in high-security environments.\n\n### Final Security Recommendations\n\n- Treat MDX as executable code.\n- Never evaluate/render untrusted MDX without applying proper restrictions or sanitization.\n- Prefer removing dangerous expressions at the **remark/recma stage**, not at the rendering layer.\n- Disable ESM blocks if the content is not fully controlled.\n- Understand your CSP implications before deploying to production.\n\n## My Plugins\n\nI like to contribute the Unified / Remark / MDX ecosystem, so I recommend you to have a look my plugins.\n\n### Support My Work ([become a sponsor](https://github.com/sponsors/ipikuka) 🚀)\n\nIf you find **`next-mdx-remote-client`** or any of my projects is useful and helpful, please consider supporting my work. Your sponsorship means a lot to me and keeps these projects alive and updated! 💖\n\nMy sponsors are going to be featured at the very top of the page and proudly displayed on my [Sponsor Wall](https://github.com/sponsors/ipikuka).\n\nThank you for supporting open source! 🙌\n\n### My Remark Plugins\n\n- [`remark-flexible-code-titles`](https://www.npmjs.com/package/remark-flexible-code-titles)\n  – Remark plugin to add titles or/and containers for the code blocks with customizable properties\n- [`remark-flexible-containers`](https://www.npmjs.com/package/remark-flexible-containers)\n  – Remark plugin to add custom containers with customizable properties in markdown\n- [`remark-ins`](https://www.npmjs.com/package/remark-ins)\n  – Remark plugin to add `ins` element in markdown\n- [`remark-flexible-paragraphs`](https://www.npmjs.com/package/remark-flexible-paragraphs)\n  – Remark plugin to add custom paragraphs with customizable properties in markdown\n- [`remark-flexible-markers`](https://www.npmjs.com/package/remark-flexible-markers)\n  – Remark plugin to add custom `mark` element with customizable properties in markdown\n- [`remark-flexible-toc`](https://www.npmjs.com/package/remark-flexible-toc)\n  – Remark plugin to expose the table of contents via Vfile.data or via an option reference\n- [`remark-mdx-remove-esm`](https://www.npmjs.com/package/remark-mdx-remove-esm)\n  – Remark plugin to remove import and/or export statements (mdxjsEsm)\n- [`remark-mdx-remove-expressions`](https://www.npmjs.com/package/remark-mdx-remove-expressions)\n  – Remark plugin to remove MDX expressions within curlybraces {} in MDX content\n\n### My Rehype Plugins\n\n- [`rehype-pre-language`](https://www.npmjs.com/package/rehype-pre-language)\n  – Rehype plugin to add language information as a property to `pre` element\n- [`rehype-highlight-code-lines`](https://www.npmjs.com/package/rehype-highlight-code-lines)\n  – Rehype plugin to add line numbers to code blocks and allow highlighting of desired code lines\n- [`rehype-code-meta`](https://www.npmjs.com/package/rehype-code-meta)\n  – Rehype plugin to copy `code.data.meta` to `code.properties.metastring`\n- [`rehype-image-toolkit`](https://www.npmjs.com/package/rehype-image-toolkit)\n  – Rehype plugin to enhance Markdown image syntax `![]()` and Markdown/MDX media elements (`<img>`, `<audio>`, `<video>`) by auto-linking bracketed or parenthesized image URLs, wrapping them in `<figure>` with optional captions, unwrapping images/videos/audio from paragraph, parsing directives in title for styling and adding attributes, and dynamically converting images into `<video>` or `<audio>` elements based on file extension.\n\n### My Recma Plugins\n\n- [`recma-mdx-escape-missing-components`](https://www.npmjs.com/package/recma-mdx-escape-missing-components)\n  – Recma plugin to set the default value `() => null` for the Components in MDX in case of missing or not provided so as not to throw an error\n- [`recma-mdx-change-props`](https://www.npmjs.com/package/recma-mdx-change-props)\n  – Recma plugin to change the `props` parameter into the `_props` in the `function _createMdxContent(props) {/* */}` in the compiled source in order to be able to use `{props.foo}` like expressions. It is useful for the `next-mdx-remote` or `next-mdx-remote-client` users in `nextjs` applications.\n- [`recma-mdx-change-imports`](https://www.npmjs.com/package/recma-mdx-change-imports)\n  – Recma plugin to convert import declarations for assets and media with relative links into variable declarations with string URLs, enabling direct asset URL resolution in compiled MDX.\n- [`recma-mdx-import-media`](https://www.npmjs.com/package/recma-mdx-import-media)\n  – Recma plugin to turn media relative paths into import declarations for both markdown and html syntax in MDX.\n- [`recma-mdx-import-react`](https://www.npmjs.com/package/recma-mdx-import-react)\n  – Recma plugin to ensure getting `React` instance from the arguments and to make the runtime props `{React, jsx, jsxs, jsxDev, Fragment}` is available in the dynamically imported components in the compiled source of MDX.\n- [`recma-mdx-html-override`](https://www.npmjs.com/package/recma-mdx-html-override)\n  – Recma plugin to allow selected raw HTML elements to be overridden via MDX components.\n- [`recma-mdx-interpolate`](https://www.npmjs.com/package/recma-mdx-interpolate)\n  – Recma plugin to enable interpolation of identifiers wrapped in curly braces within the `alt`, `src`, `href`, and `title` attributes of markdown link and image syntax in MDX.\n\n### My Unist Utils and Unified Plugins\n\nI also build low-level utilities and plugins for the Unified ecosystem that can be used across Remark, Rehype, Recma, and other unist-based abstract syntax trees (ASTs).\n\n- [`unist-util-find-between`](https://www.npmjs.com/package/unist-util-find-between)\n  – Unist utility to find the nodes between two nodes.\n- [`unified-log-tree`](https://www.npmjs.com/package/unified-log-tree)\n  – Unified plugin to log abstract syntax trees (ASTs) for debugging without mutating.\n\n## License\n\n[MPL 2.0 License](./LICENSE) © ipikuka\n\n[MDX]: https://mdxjs.com/\n[mdx-js-mdx]: https://github.com/mdx-js/mdx\n[next-mdx-remote]: https://github.com/hashicorp/next-mdx-remote\n\n[badge-npm-version]: https://img.shields.io/npm/v/next-mdx-remote-client\n[badge-npm-download]:https://img.shields.io/npm/dt/next-mdx-remote-client\n[url-npm-package]: https://www.npmjs.com/package/next-mdx-remote-client\n[url-github-package]: https://github.com/ipikuka/next-mdx-remote-client\n\n[badge-license]: https://img.shields.io/github/license/ipikuka/next-mdx-remote-client\n[url-license]: https://github.com/ipikuka/next-mdx-remote-client/blob/main/LICENSE\n\n[badge-publish-to-npm]: https://github.com/ipikuka/next-mdx-remote-client/actions/workflows/publish.yml/badge.svg\n[url-publish-github-actions]: https://github.com/ipikuka/next-mdx-remote-client/actions/workflows/publish.yml\n\n[badge-typescript]: https://img.shields.io/npm/types/next-mdx-remote-client\n[url-typescript]: https://www.typescriptlang.org/\n\n[badge-codecov]: https://codecov.io/gh/ipikuka/next-mdx-remote-client/graph/badge.svg?token=N0BPBCI5CC\n[url-codecov]: https://codecov.io/gh/ipikuka/next-mdx-remote-client\n\n[badge-type-coverage]: https://img.shields.io/badge/dynamic/json.svg?label=type-coverage&prefix=%E2%89%A5&suffix=%&query=$.typeCoverage.atLeast&uri=https%3A%2F%2Fraw.githubusercontent.com%2Fipikuka%2Fnext-mdx-remote-client%2Fmaster%2Fpackage.json","readmeFilename":"README.md"}