diff --git a/.changeset/long-coats-tease.md b/.changeset/long-coats-tease.md new file mode 100644 index 0000000000..a0e0dc8667 --- /dev/null +++ b/.changeset/long-coats-tease.md @@ -0,0 +1,5 @@ +--- +'nextra': patch +--- + +better performance of `collectFiles` diff --git a/docs/package.json b/docs/package.json index 03a0a5c786..7b237c5c17 100644 --- a/docs/package.json +++ b/docs/package.json @@ -11,7 +11,7 @@ "dependencies": { "clsx": "^1.2.1", "framer-motion": "^8.0.0", - "next": "^13.0.5", + "next": "^13.1.1", "nextra": "2.0.1", "nextra-theme-docs": "2.0.1", "react": "^18.2.0", diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index 678c704543..2c19a3981d 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -9,7 +9,7 @@ importers: clsx: ^1.2.1 eslint: ^8.30.0 framer-motion: ^8.0.0 - next: ^13.0.5 + next: ^13.1.1 nextra: 2.0.1 nextra-theme-docs: 2.0.1 postcss: ^8.4.19 @@ -20,9 +20,9 @@ importers: dependencies: clsx: 1.2.1 framer-motion: 8.0.1_biqbaboplfbrettd7655fr4n2y - next: 13.0.5_biqbaboplfbrettd7655fr4n2y - nextra: 2.0.1_7iuvftg57tblwyxclfkwku5xo4 - nextra-theme-docs: 2.0.1_7iuvftg57tblwyxclfkwku5xo4 + next: 13.1.1_biqbaboplfbrettd7655fr4n2y + nextra: 2.0.1_q76c2b4vyoegvsbrcwkfvimnai + nextra-theme-docs: 2.0.1_q76c2b4vyoegvsbrcwkfvimnai react: 18.2.0 react-dom: 18.2.0_react@18.2.0 devDependencies: @@ -301,12 +301,12 @@ packages: '@napi-rs/simple-git-win32-x64-msvc': 0.1.8 dev: false - /@next/env/13.0.5: - resolution: {integrity: sha512-F3KLtiDrUslAZhTYTh8Zk5ZaavbYwLUn3NYPBnOjAXU8hWm0QVGVzKIOuURQ098ofRU4e9oglf3Sj9pFx5nI5w==} + /@next/env/13.1.1: + resolution: {integrity: sha512-vFMyXtPjSAiOXOywMojxfKIqE3VWN5RCAx+tT3AS3pcKjMLFTCJFUWsKv8hC+87Z1F4W3r68qTwDFZIFmd5Xkw==} dev: false - /@next/swc-android-arm-eabi/13.0.5: - resolution: {integrity: sha512-YO691dxHlviy6H0eghgwqn+5kU9J3iQnKERHTDSppqjjGDBl6ab4wz9XfI5AhljjkaTg3TknHoIEWFDoZ4Ve8g==} + /@next/swc-android-arm-eabi/13.1.1: + resolution: {integrity: sha512-qnFCx1kT3JTWhWve4VkeWuZiyjG0b5T6J2iWuin74lORCupdrNukxkq9Pm+Z7PsatxuwVJMhjUoYz7H4cWzx2A==} engines: {node: '>= 10'} cpu: [arm] os: [android] @@ -314,8 +314,8 @@ packages: dev: false optional: true - /@next/swc-android-arm64/13.0.5: - resolution: {integrity: sha512-ugbwffkUmp8cd2afehDC8LtQeFUxElRUBBngfB5UYSWBx18HW4OgzkPFIY8jUBH16zifvGZWXbICXJWDHrOLtw==} + /@next/swc-android-arm64/13.1.1: + resolution: {integrity: sha512-eCiZhTzjySubNqUnNkQCjU3Fh+ep3C6b5DCM5FKzsTH/3Gr/4Y7EiaPZKILbvnXmhWtKPIdcY6Zjx51t4VeTfA==} engines: {node: '>= 10'} cpu: [arm64] os: [android] @@ -323,8 +323,8 @@ packages: dev: false optional: true - /@next/swc-darwin-arm64/13.0.5: - resolution: {integrity: sha512-mshlh8QOtOalfZbc17uNAftWgqHTKnrv6QUwBe+mpGz04eqsSUzVz1JGZEdIkmuDxOz00cK2NPoc+VHDXh99IQ==} + /@next/swc-darwin-arm64/13.1.1: + resolution: {integrity: sha512-9zRJSSIwER5tu9ADDkPw5rIZ+Np44HTXpYMr0rkM656IvssowPxmhK0rTreC1gpUCYwFsRbxarUJnJsTWiutPg==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -332,8 +332,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64/13.0.5: - resolution: {integrity: sha512-SfigOKW4Z2UB3ruUPyvrlDIkcJq1hiw1wvYApWugD+tQsAkYZKEoz+/8emCmeYZ6Gwgi1WHV+z52Oj8u7bEHPg==} + /@next/swc-darwin-x64/13.1.1: + resolution: {integrity: sha512-qWr9qEn5nrnlhB0rtjSdR00RRZEtxg4EGvicIipqZWEyayPxhUu6NwKiG8wZiYZCLfJ5KWr66PGSNeDMGlNaiA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -341,8 +341,8 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64/13.0.5: - resolution: {integrity: sha512-0NJg8HZr4yG8ynmMGFXQf+Mahvq4ZgBmUwSlLXXymgxEQgH17erH/LoR69uITtW+KTsALgk9axEt5AAabM4ucg==} + /@next/swc-freebsd-x64/13.1.1: + resolution: {integrity: sha512-UwP4w/NcQ7V/VJEj3tGVszgb4pyUCt3lzJfUhjDMUmQbzG9LDvgiZgAGMYH6L21MoyAATJQPDGiAMWAPKsmumA==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] @@ -350,8 +350,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm-gnueabihf/13.0.5: - resolution: {integrity: sha512-Cye+h3oDT3NDWjACMlRaolL8fokpKie34FlPj9nfoW7bYKmoMBY1d4IO/GgBF+5xEl7HkH0Ny/qex63vQ0pN+A==} + /@next/swc-linux-arm-gnueabihf/13.1.1: + resolution: {integrity: sha512-CnsxmKHco9sosBs1XcvCXP845Db+Wx1G0qouV5+Gr+HT/ZlDYEWKoHVDgnJXLVEQzq4FmHddBNGbXvgqM1Gfkg==} engines: {node: '>= 10'} cpu: [arm] os: [linux] @@ -359,8 +359,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-gnu/13.0.5: - resolution: {integrity: sha512-5BfDS/VoRDR5QUGG9oedOCEZGmV2zxUVFYLUJVPMSMeIgqkjxWQBiG2BUHZI6/LGk9yvHmjx7BTvtBCLtRg6IQ==} + /@next/swc-linux-arm64-gnu/13.1.1: + resolution: {integrity: sha512-JfDq1eri5Dif+VDpTkONRd083780nsMCOKoFG87wA0sa4xL8LGcXIBAkUGIC1uVy9SMsr2scA9CySLD/i+Oqiw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -368,8 +368,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl/13.0.5: - resolution: {integrity: sha512-xenvqlXz+KxVKAB1YR723gnVNszpsCvKZkiFFaAYqDGJ502YuqU2fwLsaSm/ASRizNcBYeo9HPLTyc3r/9cdMQ==} + /@next/swc-linux-arm64-musl/13.1.1: + resolution: {integrity: sha512-GA67ZbDq2AW0CY07zzGt07M5b5Yaq5qUpFIoW3UFfjOPgb0Sqf3DAW7GtFMK1sF4ROHsRDMGQ9rnT0VM2dVfKA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -377,8 +377,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu/13.0.5: - resolution: {integrity: sha512-9Ahi1bbdXwhrWQmOyoTod23/hhK05da/FzodiNqd6drrMl1y7+RujoEcU8Dtw3H1mGWB+yuTlWo8B4Iba8hqiQ==} + /@next/swc-linux-x64-gnu/13.1.1: + resolution: {integrity: sha512-nnjuBrbzvqaOJaV+XgT8/+lmXrSCOt1YYZn/irbDb2fR2QprL6Q7WJNgwsZNxiLSfLdv+2RJGGegBx9sLBEzGA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -386,8 +386,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl/13.0.5: - resolution: {integrity: sha512-V+1mnh49qmS9fOZxVRbzjhBEz9IUGJ7AQ80JPWAYQM5LI4TxfdiF4APLPvJ52rOmNeTqnVz1bbKtVOso+7EZ4w==} + /@next/swc-linux-x64-musl/13.1.1: + resolution: {integrity: sha512-CM9xnAQNIZ8zf/igbIT/i3xWbQZYaF397H+JroF5VMOCUleElaMdQLL5riJml8wUfPoN3dtfn2s4peSr3azz/g==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -395,8 +395,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc/13.0.5: - resolution: {integrity: sha512-wRE9rkp7I+/3Jf2T9PFIJOKq3adMWYEFkPOA7XAkUfYbQHlDJm/U5cVCWUsKByyQq5RThwufI91sgd19MfxRxg==} + /@next/swc-win32-arm64-msvc/13.1.1: + resolution: {integrity: sha512-pzUHOGrbgfGgPlOMx9xk3QdPJoRPU+om84hqVoe6u+E0RdwOG0Ho/2UxCgDqmvpUrMab1Deltlt6RqcXFpnigQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -404,8 +404,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc/13.0.5: - resolution: {integrity: sha512-Q1XQSLEhFuFhkKFdJIGt7cYQ4T3u6P5wrtUNreg5M+7P+fjSiC8+X+Vjcw+oebaacsdl0pWZlK+oACGafush1w==} + /@next/swc-win32-ia32-msvc/13.1.1: + resolution: {integrity: sha512-WeX8kVS46aobM9a7Xr/kEPcrTyiwJqQv/tbw6nhJ4fH9xNZ+cEcyPoQkwPo570dCOLz3Zo9S2q0E6lJ/EAUOBg==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -413,8 +413,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc/13.0.5: - resolution: {integrity: sha512-t5gRblrwwiNZP6cT7NkxlgxrFgHWtv9ei5vUraCLgBqzvIsa7X+PnarZUeQCXqz6Jg9JSGGT9j8lvzD97UqeJQ==} + /@next/swc-win32-x64-msvc/13.1.1: + resolution: {integrity: sha512-mVF0/3/5QAc5EGVnb8ll31nNvf3BWpPY4pBb84tk+BfQglWLqc5AC9q1Ht/YMWiEgs8ALNKEQ3GQnbY0bJF2Gg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -2109,32 +2109,32 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /next-seo/5.14.1_7iuvftg57tblwyxclfkwku5xo4: + /next-seo/5.14.1_q76c2b4vyoegvsbrcwkfvimnai: resolution: {integrity: sha512-NiJeQbxYP3z+EMp52q8k3Q+OfX2+Yv2WehERDj98r2wjXxL+woKpRBdsSVYolTD0Hm8IWs42SzaISE93RoQdOw==} peerDependencies: next: ^8.1.1-canary.54 || >=9.0.0 react: '>=16.0.0' react-dom: '>=16.0.0' dependencies: - next: 13.0.5_biqbaboplfbrettd7655fr4n2y + next: 13.1.1_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false - /next-themes/0.2.1_7iuvftg57tblwyxclfkwku5xo4: + /next-themes/0.2.1_q76c2b4vyoegvsbrcwkfvimnai: resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} peerDependencies: next: '*' react: '*' react-dom: '*' dependencies: - next: 13.0.5_biqbaboplfbrettd7655fr4n2y + next: 13.1.1_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false - /next/13.0.5_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-awpc3DkphyKydwCotcBnuKwh6hMqkT5xdiBK4OatJtOZurDPBYLP62jtM2be/4OunpmwIbsS0Eyv+ZGU97ciEg==} + /next/13.1.1_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-R5eBAaIa3X7LJeYvv1bMdGnAVF4fVToEjim7MkflceFPuANY3YyvFxXee/A+acrSYwYPvOvf7f6v/BM/48ea5w==} engines: {node: '>=14.6.0'} hasBin: true peerDependencies: @@ -2151,33 +2151,33 @@ packages: sass: optional: true dependencies: - '@next/env': 13.0.5 + '@next/env': 13.1.1 '@swc/helpers': 0.4.14 caniuse-lite: 1.0.30001434 postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - styled-jsx: 5.1.0_react@18.2.0 + styled-jsx: 5.1.1_react@18.2.0 optionalDependencies: - '@next/swc-android-arm-eabi': 13.0.5 - '@next/swc-android-arm64': 13.0.5 - '@next/swc-darwin-arm64': 13.0.5 - '@next/swc-darwin-x64': 13.0.5 - '@next/swc-freebsd-x64': 13.0.5 - '@next/swc-linux-arm-gnueabihf': 13.0.5 - '@next/swc-linux-arm64-gnu': 13.0.5 - '@next/swc-linux-arm64-musl': 13.0.5 - '@next/swc-linux-x64-gnu': 13.0.5 - '@next/swc-linux-x64-musl': 13.0.5 - '@next/swc-win32-arm64-msvc': 13.0.5 - '@next/swc-win32-ia32-msvc': 13.0.5 - '@next/swc-win32-x64-msvc': 13.0.5 + '@next/swc-android-arm-eabi': 13.1.1 + '@next/swc-android-arm64': 13.1.1 + '@next/swc-darwin-arm64': 13.1.1 + '@next/swc-darwin-x64': 13.1.1 + '@next/swc-freebsd-x64': 13.1.1 + '@next/swc-linux-arm-gnueabihf': 13.1.1 + '@next/swc-linux-arm64-gnu': 13.1.1 + '@next/swc-linux-arm64-musl': 13.1.1 + '@next/swc-linux-x64-gnu': 13.1.1 + '@next/swc-linux-x64-musl': 13.1.1 + '@next/swc-win32-arm64-msvc': 13.1.1 + '@next/swc-win32-ia32-msvc': 13.1.1 + '@next/swc-win32-x64-msvc': 13.1.1 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros dev: false - /nextra-theme-docs/2.0.1_7iuvftg57tblwyxclfkwku5xo4: + /nextra-theme-docs/2.0.1_q76c2b4vyoegvsbrcwkfvimnai: resolution: {integrity: sha512-vrxSQjfG5hcWXd0foVUgRu1T9rD+dQdVnKzJhpEG+ncAIYTT/o7GajvYUEPPZMYvvZwehmNIUhSTDN9unnVsxw==} peerDependencies: next: '>=9.5.3' @@ -2195,15 +2195,15 @@ packages: github-slugger: 1.5.0 intersection-observer: 0.12.2 match-sorter: 6.3.1 - next: 13.0.5_biqbaboplfbrettd7655fr4n2y - next-seo: 5.14.1_7iuvftg57tblwyxclfkwku5xo4 - next-themes: 0.2.1_7iuvftg57tblwyxclfkwku5xo4 + next: 13.1.1_biqbaboplfbrettd7655fr4n2y + next-seo: 5.14.1_q76c2b4vyoegvsbrcwkfvimnai + next-themes: 0.2.1_q76c2b4vyoegvsbrcwkfvimnai react: 18.2.0 react-dom: 18.2.0_react@18.2.0 scroll-into-view-if-needed: 2.2.31 dev: false - /nextra/2.0.1_7iuvftg57tblwyxclfkwku5xo4: + /nextra/2.0.1_q76c2b4vyoegvsbrcwkfvimnai: resolution: {integrity: sha512-IOBwqMREnadxGryNHvwr3sZuD90uyaTxCWi9yxDB56UndsLBTulKwXNIOdW1FV+vKTbSGpz89wNe665Moli7Kw==} peerDependencies: next: '>=9.5.3' @@ -2215,7 +2215,7 @@ packages: github-slugger: 1.5.0 graceful-fs: 4.2.10 gray-matter: 4.0.3 - next: 13.0.5_biqbaboplfbrettd7655fr4n2y + next: 13.1.1_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 rehype-mdx-title: 1.0.0 @@ -2749,8 +2749,8 @@ packages: inline-style-parser: 0.1.1 dev: false - /styled-jsx/5.1.0_react@18.2.0: - resolution: {integrity: sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==} + /styled-jsx/5.1.1_react@18.2.0: + resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: '@babel/core': '*' diff --git a/examples/swr-site/pages/docs/advanced/more/tree/one.mdx b/examples/swr-site/pages/docs/advanced/more/tree/one.en-US.mdx similarity index 100% rename from examples/swr-site/pages/docs/advanced/more/tree/one.mdx rename to examples/swr-site/pages/docs/advanced/more/tree/one.en-US.mdx diff --git a/examples/swr-site/pages/docs/advanced/more/tree/three.mdx b/examples/swr-site/pages/docs/advanced/more/tree/three.en-US.mdx similarity index 100% rename from examples/swr-site/pages/docs/advanced/more/tree/three.mdx rename to examples/swr-site/pages/docs/advanced/more/tree/three.en-US.mdx diff --git a/examples/swr-site/pages/docs/advanced/more/tree/two.mdx b/examples/swr-site/pages/docs/advanced/more/tree/two.en-US.mdx similarity index 100% rename from examples/swr-site/pages/docs/advanced/more/tree/two.mdx rename to examples/swr-site/pages/docs/advanced/more/tree/two.en-US.mdx diff --git a/package.json b/package.json index 5bc0af5283..6596ffe433 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "react-dom": "^18.2.0", "@mdx-js/react": "^2.1.5", "next-themes": "^0.2.1", - "next": "^13.0.5", + "next": "^13.1.1", "@types/react": "^18.0.15", "@types/react-dom": "^18.0.6", "postcss": "^8.4.14", diff --git a/packages/nextra-theme-blog/package.json b/packages/nextra-theme-blog/package.json index d9762fa0f9..8318fdef78 100644 --- a/packages/nextra-theme-blog/package.json +++ b/packages/nextra-theme-blog/package.json @@ -75,7 +75,7 @@ "autoprefixer": "^10.4.8", "concurrently": "^7.3.0", "lightningcss-cli": "^1.16.0", - "next": "^13.0.5", + "next": "^13.1.1", "nextra": "workspace:*", "postcss": "^8.4.14", "postcss-cli": "^10.0.0", @@ -86,4 +86,4 @@ "tailwindcss": "^3.1.8", "vitest": "^0.26.0" } -} \ No newline at end of file +} diff --git a/packages/nextra-theme-docs/package.json b/packages/nextra-theme-docs/package.json index dad06c61bf..3a1ef8590e 100644 --- a/packages/nextra-theme-docs/package.json +++ b/packages/nextra-theme-docs/package.json @@ -73,7 +73,7 @@ "autoprefixer": "^10.4.8", "concurrently": "^7.3.0", "lightningcss-cli": "^1.16.0", - "next": "^13.0.5", + "next": "^13.1.1", "nextra": "workspace:*", "postcss": "^8.4.14", "postcss-cli": "^10.0.0", diff --git a/packages/nextra/__test__/__snapshots__/context.test.ts.snap b/packages/nextra/__test__/__snapshots__/context.test.ts.snap index 955188165a..2c6faa5df7 100644 --- a/packages/nextra/__test__/__snapshots__/context.test.ts.snap +++ b/packages/nextra/__test__/__snapshots__/context.test.ts.snap @@ -892,6 +892,7 @@ exports[`context > getAllPages() > should work 1`] = ` "children": [ { "kind": "MdxPage", + "locale": "en-US", "meta": { "title": "One", }, @@ -900,6 +901,7 @@ exports[`context > getAllPages() > should work 1`] = ` }, { "kind": "MdxPage", + "locale": "en-US", "meta": { "title": "Three", }, @@ -908,6 +910,7 @@ exports[`context > getAllPages() > should work 1`] = ` }, { "kind": "MdxPage", + "locale": "en-US", "meta": { "title": "Two", }, @@ -2721,6 +2724,7 @@ exports[`context > getCurrentLevelPages() > should work 1`] = ` "children": [ { "kind": "MdxPage", + "locale": "en-US", "meta": { "title": "One", }, @@ -2729,6 +2733,7 @@ exports[`context > getCurrentLevelPages() > should work 1`] = ` }, { "kind": "MdxPage", + "locale": "en-US", "meta": { "title": "Three", }, @@ -2737,6 +2742,7 @@ exports[`context > getCurrentLevelPages() > should work 1`] = ` }, { "kind": "MdxPage", + "locale": "en-US", "meta": { "title": "Two", }, @@ -3249,6 +3255,7 @@ exports[`context > getPagesUnderRoute() > should work 1`] = ` "children": [ { "kind": "MdxPage", + "locale": "en-US", "meta": { "title": "One", }, @@ -3257,6 +3264,7 @@ exports[`context > getPagesUnderRoute() > should work 1`] = ` }, { "kind": "MdxPage", + "locale": "en-US", "meta": { "title": "Three", }, @@ -3265,6 +3273,7 @@ exports[`context > getPagesUnderRoute() > should work 1`] = ` }, { "kind": "MdxPage", + "locale": "en-US", "meta": { "title": "Two", }, diff --git a/packages/nextra/__test__/__snapshots__/page-map.test.ts.snap b/packages/nextra/__test__/__snapshots__/page-map.test.ts.snap index b8b9d1b984..b42c64ad7b 100644 --- a/packages/nextra/__test__/__snapshots__/page-map.test.ts.snap +++ b/packages/nextra/__test__/__snapshots__/page-map.test.ts.snap @@ -301,16 +301,19 @@ exports[`Page Process > pageMap en-US 1`] = ` "children": [ { "kind": "MdxPage", + "locale": "en-US", "name": "one", "route": "/docs/advanced/more/tree/one", }, { "kind": "MdxPage", + "locale": "en-US", "name": "three", "route": "/docs/advanced/more/tree/three", }, { "kind": "MdxPage", + "locale": "en-US", "name": "two", "route": "/docs/advanced/more/tree/two", }, @@ -321,6 +324,7 @@ exports[`Page Process > pageMap en-US 1`] = ` "two": "Two", }, "kind": "Meta", + "locale": "en-US", }, ], "kind": "Folder", @@ -751,16 +755,19 @@ exports[`Page Process > pageMap zh-CN 1`] = ` "children": [ { "kind": "MdxPage", + "locale": "en-US", "name": "one", "route": "/docs/advanced/more/tree/one", }, { "kind": "MdxPage", + "locale": "en-US", "name": "three", "route": "/docs/advanced/more/tree/three", }, { "kind": "MdxPage", + "locale": "en-US", "name": "two", "route": "/docs/advanced/more/tree/two", }, @@ -771,6 +778,7 @@ exports[`Page Process > pageMap zh-CN 1`] = ` "two": "Two", }, "kind": "Meta", + "locale": "en-US", }, ], "kind": "Folder", diff --git a/packages/nextra/package.json b/packages/nextra/package.json index c91224bc6e..c8c07f17c7 100644 --- a/packages/nextra/package.json +++ b/packages/nextra/package.json @@ -81,6 +81,7 @@ "github-slugger": "^2.0.0", "graceful-fs": "^4.2.10", "gray-matter": "^4.0.3", + "p-limit": "^3.1.0", "rehype-mdx-title": "^2.0.0", "rehype-pretty-code": "0.6.0", "remark-gfm": "^3.0.1", @@ -102,7 +103,7 @@ "@types/react": "^18.0.15", "@types/react-dom": "^18.0.6", "@types/webpack": "^5.28.0", - "next": "^13.0.5", + "next": "^13.1.1", "react": "^18.2.0", "react-dom": "^18.2.0", "unified": "^10.1.2", diff --git a/packages/nextra/src/loader.ts b/packages/nextra/src/loader.ts index 53d466fc0f..8e6d7f77ce 100644 --- a/packages/nextra/src/loader.ts +++ b/packages/nextra/src/loader.ts @@ -138,10 +138,9 @@ async function loader( // Imported as a normal component, no need to add the layout. if (!pageImport) { - return ` -${cssImport} + return `${cssImport} ${result} -export default MDXContent`.trimStart() +export default MDXContent` } const { route, title, pageMap } = getPageMap({ @@ -209,8 +208,7 @@ export default MDXContent`.trimStart() // Remove the only `index` route .replace(/^index$/, '') - return ` -import { SSGContext as __nextra_SSGContext__ } from 'nextra/ssg' + return `import { SSGContext as __nextra_SSGContext__ } from 'nextra/ssg' ${themeConfigImport} ${cssImport} @@ -245,7 +243,7 @@ globalThis.__nextra_pageContext__[${JSON.stringify(pageNextRoute)}] = { themeConfig: ${themeConfigImport ? '__nextra_themeConfig__' : 'null'} } -export { default } from '${layout}'`.trimStart() +export { default } from '${layout}'` } export default function syncLoader( diff --git a/packages/nextra/src/plugin.ts b/packages/nextra/src/plugin.ts index 48cbe46690..93bc68c71a 100644 --- a/packages/nextra/src/plugin.ts +++ b/packages/nextra/src/plugin.ts @@ -15,6 +15,7 @@ import path from 'node:path' import slash from 'slash' import grayMatter from 'gray-matter' import { Compiler } from 'webpack' +import pLimit from 'p-limit' import { restoreCache } from './content-dump' import { CWD, MARKDOWN_EXTENSION_REGEX, META_FILENAME } from './constants' @@ -40,6 +41,8 @@ export const collectMdx = async ( } } +const limit = pLimit(20) + export async function collectFiles( dir: string, route = '/', @@ -47,52 +50,55 @@ export async function collectFiles( ): Promise<{ items: PageMapItem[]; fileMap: FileMap }> { const files = await readdir(dir, { withFileTypes: true }) - const promises = files.map(async f => { - const filePath = path.join(dir, f.name) - const isDirectory = f.isDirectory() - const { name, locale, ext } = isDirectory - ? // directory couldn't have extensions - { name: path.basename(filePath), locale: '', ext: '' } - : parseFileName(filePath) - const fileRoute = slash(path.join(route, name.replace(/^index$/, ''))) - - if (isDirectory) { - if (fileRoute === '/api') return - const { items } = await collectFiles(filePath, fileRoute, fileMap) - if (!items.length) return - return { - kind: 'Folder', - name: f.name, - route: fileRoute, - children: items + const promises = files.map(f => + // add concurrency because folder can contain a lot of files + limit(async () => { + const filePath = path.join(dir, f.name) + const isDirectory = f.isDirectory() + const { name, locale, ext } = isDirectory + ? // directory couldn't have extensions + { name: path.basename(filePath), locale: '', ext: '' } + : parseFileName(filePath) + const fileRoute = slash(path.join(route, name.replace(/^index$/, ''))) + + if (isDirectory) { + if (fileRoute === '/api') return + const { items } = await collectFiles(filePath, fileRoute, fileMap) + if (!items.length) return + return { + kind: 'Folder', + name: f.name, + route: fileRoute, + children: items + } } - } - if (MARKDOWN_EXTENSION_REGEX.test(ext)) { - const fp = filePath as MdxPath - fileMap[fp] = await collectMdx(fp, fileRoute) - return fileMap[fp] - } - const fileName = name + ext - - if (fileName === META_FILENAME) { - const fp = filePath as MetaJsonPath - const content = await readFile(fp, 'utf8') - fileMap[fp] = { - kind: 'Meta', - ...(locale && { locale }), - data: parseJsonFile(content, fp) + if (MARKDOWN_EXTENSION_REGEX.test(ext)) { + const fp = filePath as MdxPath + fileMap[fp] = await collectMdx(fp, fileRoute) + return fileMap[fp] + } + const fileName = name + ext + + if (fileName === META_FILENAME) { + const fp = filePath as MetaJsonPath + const content = await readFile(fp, 'utf8') + fileMap[fp] = { + kind: 'Meta', + ...(locale && { locale }), + data: parseJsonFile(content, fp) + } + return fileMap[fp] } - return fileMap[fp] - } - if (fileName === 'meta.json') { - console.warn( - '[nextra] "meta.json" was renamed to "_meta.json". Rename the following file:', - path.relative(CWD, filePath) - ) - } - }) + if (fileName === 'meta.json') { + console.warn( + '[nextra] "meta.json" was renamed to "_meta.json". Rename the following file:', + path.relative(CWD, filePath) + ) + } + }) + ) const items = (await Promise.all(promises)).filter(truthy) @@ -100,9 +106,11 @@ export async function collectFiles( (item): item is MdxFile | Folder => item.kind === 'MdxPage' || item.kind === 'Folder' ) - const locales = mdxPages - .filter((item): item is MdxFile => item.kind === 'MdxPage') - .map(item => item.locale) + const locales = new Set( + mdxPages + .filter((item): item is MdxFile => item.kind === 'MdxPage') + .map(item => item.locale) + ) for (const locale of locales) { const metaIndex = items.findIndex( diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6b28655c33..863c1b10f6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,7 +6,7 @@ overrides: react-dom: ^18.2.0 '@mdx-js/react': ^2.1.5 next-themes: ^0.2.1 - next: ^13.0.5 + next: ^13.1.1 '@types/react': ^18.0.15 '@types/react-dom': ^18.0.6 postcss: ^8.4.14 @@ -52,15 +52,15 @@ importers: examples/blog: specifiers: - next: ^13.0.5 + next: ^13.1.1 nextra: workspace:* nextra-theme-blog: workspace:* react: ^18.2.0 react-dom: ^18.2.0 dependencies: - next: 13.0.5_biqbaboplfbrettd7655fr4n2y - nextra: file:packages/nextra_7iuvftg57tblwyxclfkwku5xo4 - nextra-theme-blog: file:packages/nextra-theme-blog_7iuvftg57tblwyxclfkwku5xo4 + next: 13.1.1_biqbaboplfbrettd7655fr4n2y + nextra: file:packages/nextra_q76c2b4vyoegvsbrcwkfvimnai + nextra-theme-blog: file:packages/nextra-theme-blog_q76c2b4vyoegvsbrcwkfvimnai react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dependenciesMeta: @@ -71,15 +71,15 @@ importers: examples/docs: specifiers: - next: ^13.0.5 + next: ^13.1.1 nextra: workspace:* nextra-theme-docs: workspace:* react: ^18.2.0 react-dom: ^18.2.0 dependencies: - next: 13.0.5_biqbaboplfbrettd7655fr4n2y - nextra: file:packages/nextra_7iuvftg57tblwyxclfkwku5xo4 - nextra-theme-docs: file:packages/nextra-theme-docs_7iuvftg57tblwyxclfkwku5xo4 + next: 13.1.1_biqbaboplfbrettd7655fr4n2y + nextra: file:packages/nextra_q76c2b4vyoegvsbrcwkfvimnai + nextra-theme-docs: file:packages/nextra-theme-docs_q76c2b4vyoegvsbrcwkfvimnai react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dependenciesMeta: @@ -94,7 +94,7 @@ importers: focus-visible: ^5.1.0 intersection-observer: ^0.10.0 markdown-to-jsx: ^6.11.4 - next: ^13.0.5 + next: ^13.1.1 nextra: workspace:* nextra-theme-docs: workspace:* postcss: ^8.4.14 @@ -106,9 +106,9 @@ importers: focus-visible: 5.2.0 intersection-observer: 0.10.0 markdown-to-jsx: 6.11.4_react@18.2.0 - next: 13.0.5_biqbaboplfbrettd7655fr4n2y - nextra: file:packages/nextra_7iuvftg57tblwyxclfkwku5xo4 - nextra-theme-docs: file:packages/nextra-theme-docs_7iuvftg57tblwyxclfkwku5xo4 + next: 13.1.1_biqbaboplfbrettd7655fr4n2y + nextra: file:packages/nextra_q76c2b4vyoegvsbrcwkfvimnai + nextra-theme-docs: file:packages/nextra-theme-docs_q76c2b4vyoegvsbrcwkfvimnai react: 18.2.0 react-dom: 18.2.0_react@18.2.0 react-intersection-observer: 8.34.0_react@18.2.0 @@ -135,7 +135,8 @@ importers: github-slugger: ^2.0.0 graceful-fs: ^4.2.10 gray-matter: ^4.0.3 - next: ^13.0.5 + next: ^13.1.1 + p-limit: ^3.1.0 react: ^18.2.0 react-dom: ^18.2.0 rehype-mdx-title: ^2.0.0 @@ -154,6 +155,7 @@ importers: github-slugger: 2.0.0 graceful-fs: 4.2.10 gray-matter: 4.0.3 + p-limit: 3.1.0 rehype-mdx-title: 2.0.0 rehype-pretty-code: 0.6.0_shiki@0.12.1 remark-gfm: 3.0.1 @@ -169,7 +171,7 @@ importers: '@types/react': 18.0.20 '@types/react-dom': 18.0.6 '@types/webpack': 5.28.0 - next: 13.0.5_biqbaboplfbrettd7655fr4n2y + next: 13.1.1_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 unified: 10.1.2 @@ -185,7 +187,7 @@ importers: autoprefixer: ^10.4.8 concurrently: ^7.3.0 lightningcss-cli: ^1.16.0 - next: ^13.0.5 + next: ^13.1.1 next-themes: ^0.2.1 nextra: workspace:* postcss: ^8.4.14 @@ -198,7 +200,7 @@ importers: vitest: ^0.21.0 dependencies: '@mdx-js/react': 2.1.5_react@18.2.0 - next-themes: 0.2.1_7iuvftg57tblwyxclfkwku5xo4 + next-themes: 0.2.1_q76c2b4vyoegvsbrcwkfvimnai devDependencies: '@tailwindcss/nesting': 0.0.0-insiders.565cd3e_postcss@8.4.14 '@tailwindcss/typography': 0.5.4_tailwindcss@3.1.8 @@ -207,7 +209,7 @@ importers: autoprefixer: 10.4.11_postcss@8.4.14 concurrently: 7.4.0 lightningcss-cli: 1.16.0 - next: 13.0.5_biqbaboplfbrettd7655fr4n2y + next: 13.1.1_biqbaboplfbrettd7655fr4n2y nextra: link:../nextra postcss: 8.4.14 postcss-cli: 8.3.1_postcss@8.4.14 @@ -240,7 +242,7 @@ importers: intersection-observer: ^0.12.2 lightningcss-cli: ^1.16.0 match-sorter: ^6.3.1 - next: ^13.0.5 + next: ^13.1.1 next-seo: ^5.5.0 next-themes: ^0.2.1 nextra: workspace:* @@ -263,8 +265,8 @@ importers: github-slugger: 2.0.0 intersection-observer: 0.12.2 match-sorter: 6.3.1 - next-seo: 5.8.0_7iuvftg57tblwyxclfkwku5xo4 - next-themes: 0.2.1_7iuvftg57tblwyxclfkwku5xo4 + next-seo: 5.8.0_q76c2b4vyoegvsbrcwkfvimnai + next-themes: 0.2.1_q76c2b4vyoegvsbrcwkfvimnai scroll-into-view-if-needed: 3.0.3 devDependencies: '@tailwindcss/nesting': 0.0.0-insiders.565cd3e_postcss@8.4.14 @@ -277,7 +279,7 @@ importers: autoprefixer: 10.4.11_postcss@8.4.14 concurrently: 7.4.0 lightningcss-cli: 1.16.0 - next: 13.0.5_biqbaboplfbrettd7655fr4n2y + next: 13.1.1_biqbaboplfbrettd7655fr4n2y nextra: link:../nextra postcss: 8.4.14 postcss-cli: 8.3.1_postcss@8.4.14 @@ -788,107 +790,107 @@ packages: '@napi-rs/simple-git-win32-x64-msvc': 0.1.8 dev: false - /@next/env/13.0.5: - resolution: {integrity: sha512-F3KLtiDrUslAZhTYTh8Zk5ZaavbYwLUn3NYPBnOjAXU8hWm0QVGVzKIOuURQ098ofRU4e9oglf3Sj9pFx5nI5w==} + /@next/env/13.1.1: + resolution: {integrity: sha512-vFMyXtPjSAiOXOywMojxfKIqE3VWN5RCAx+tT3AS3pcKjMLFTCJFUWsKv8hC+87Z1F4W3r68qTwDFZIFmd5Xkw==} - /@next/swc-android-arm-eabi/13.0.5: - resolution: {integrity: sha512-YO691dxHlviy6H0eghgwqn+5kU9J3iQnKERHTDSppqjjGDBl6ab4wz9XfI5AhljjkaTg3TknHoIEWFDoZ4Ve8g==} + /@next/swc-android-arm-eabi/13.1.1: + resolution: {integrity: sha512-qnFCx1kT3JTWhWve4VkeWuZiyjG0b5T6J2iWuin74lORCupdrNukxkq9Pm+Z7PsatxuwVJMhjUoYz7H4cWzx2A==} engines: {node: '>= 10'} cpu: [arm] os: [android] requiresBuild: true optional: true - /@next/swc-android-arm64/13.0.5: - resolution: {integrity: sha512-ugbwffkUmp8cd2afehDC8LtQeFUxElRUBBngfB5UYSWBx18HW4OgzkPFIY8jUBH16zifvGZWXbICXJWDHrOLtw==} + /@next/swc-android-arm64/13.1.1: + resolution: {integrity: sha512-eCiZhTzjySubNqUnNkQCjU3Fh+ep3C6b5DCM5FKzsTH/3Gr/4Y7EiaPZKILbvnXmhWtKPIdcY6Zjx51t4VeTfA==} engines: {node: '>= 10'} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@next/swc-darwin-arm64/13.0.5: - resolution: {integrity: sha512-mshlh8QOtOalfZbc17uNAftWgqHTKnrv6QUwBe+mpGz04eqsSUzVz1JGZEdIkmuDxOz00cK2NPoc+VHDXh99IQ==} + /@next/swc-darwin-arm64/13.1.1: + resolution: {integrity: sha512-9zRJSSIwER5tu9ADDkPw5rIZ+Np44HTXpYMr0rkM656IvssowPxmhK0rTreC1gpUCYwFsRbxarUJnJsTWiutPg==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@next/swc-darwin-x64/13.0.5: - resolution: {integrity: sha512-SfigOKW4Z2UB3ruUPyvrlDIkcJq1hiw1wvYApWugD+tQsAkYZKEoz+/8emCmeYZ6Gwgi1WHV+z52Oj8u7bEHPg==} + /@next/swc-darwin-x64/13.1.1: + resolution: {integrity: sha512-qWr9qEn5nrnlhB0rtjSdR00RRZEtxg4EGvicIipqZWEyayPxhUu6NwKiG8wZiYZCLfJ5KWr66PGSNeDMGlNaiA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@next/swc-freebsd-x64/13.0.5: - resolution: {integrity: sha512-0NJg8HZr4yG8ynmMGFXQf+Mahvq4ZgBmUwSlLXXymgxEQgH17erH/LoR69uITtW+KTsALgk9axEt5AAabM4ucg==} + /@next/swc-freebsd-x64/13.1.1: + resolution: {integrity: sha512-UwP4w/NcQ7V/VJEj3tGVszgb4pyUCt3lzJfUhjDMUmQbzG9LDvgiZgAGMYH6L21MoyAATJQPDGiAMWAPKsmumA==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] requiresBuild: true optional: true - /@next/swc-linux-arm-gnueabihf/13.0.5: - resolution: {integrity: sha512-Cye+h3oDT3NDWjACMlRaolL8fokpKie34FlPj9nfoW7bYKmoMBY1d4IO/GgBF+5xEl7HkH0Ny/qex63vQ0pN+A==} + /@next/swc-linux-arm-gnueabihf/13.1.1: + resolution: {integrity: sha512-CnsxmKHco9sosBs1XcvCXP845Db+Wx1G0qouV5+Gr+HT/ZlDYEWKoHVDgnJXLVEQzq4FmHddBNGbXvgqM1Gfkg==} engines: {node: '>= 10'} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@next/swc-linux-arm64-gnu/13.0.5: - resolution: {integrity: sha512-5BfDS/VoRDR5QUGG9oedOCEZGmV2zxUVFYLUJVPMSMeIgqkjxWQBiG2BUHZI6/LGk9yvHmjx7BTvtBCLtRg6IQ==} + /@next/swc-linux-arm64-gnu/13.1.1: + resolution: {integrity: sha512-JfDq1eri5Dif+VDpTkONRd083780nsMCOKoFG87wA0sa4xL8LGcXIBAkUGIC1uVy9SMsr2scA9CySLD/i+Oqiw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@next/swc-linux-arm64-musl/13.0.5: - resolution: {integrity: sha512-xenvqlXz+KxVKAB1YR723gnVNszpsCvKZkiFFaAYqDGJ502YuqU2fwLsaSm/ASRizNcBYeo9HPLTyc3r/9cdMQ==} + /@next/swc-linux-arm64-musl/13.1.1: + resolution: {integrity: sha512-GA67ZbDq2AW0CY07zzGt07M5b5Yaq5qUpFIoW3UFfjOPgb0Sqf3DAW7GtFMK1sF4ROHsRDMGQ9rnT0VM2dVfKA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@next/swc-linux-x64-gnu/13.0.5: - resolution: {integrity: sha512-9Ahi1bbdXwhrWQmOyoTod23/hhK05da/FzodiNqd6drrMl1y7+RujoEcU8Dtw3H1mGWB+yuTlWo8B4Iba8hqiQ==} + /@next/swc-linux-x64-gnu/13.1.1: + resolution: {integrity: sha512-nnjuBrbzvqaOJaV+XgT8/+lmXrSCOt1YYZn/irbDb2fR2QprL6Q7WJNgwsZNxiLSfLdv+2RJGGegBx9sLBEzGA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@next/swc-linux-x64-musl/13.0.5: - resolution: {integrity: sha512-V+1mnh49qmS9fOZxVRbzjhBEz9IUGJ7AQ80JPWAYQM5LI4TxfdiF4APLPvJ52rOmNeTqnVz1bbKtVOso+7EZ4w==} + /@next/swc-linux-x64-musl/13.1.1: + resolution: {integrity: sha512-CM9xnAQNIZ8zf/igbIT/i3xWbQZYaF397H+JroF5VMOCUleElaMdQLL5riJml8wUfPoN3dtfn2s4peSr3azz/g==} engines: {node: '>= 10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@next/swc-win32-arm64-msvc/13.0.5: - resolution: {integrity: sha512-wRE9rkp7I+/3Jf2T9PFIJOKq3adMWYEFkPOA7XAkUfYbQHlDJm/U5cVCWUsKByyQq5RThwufI91sgd19MfxRxg==} + /@next/swc-win32-arm64-msvc/13.1.1: + resolution: {integrity: sha512-pzUHOGrbgfGgPlOMx9xk3QdPJoRPU+om84hqVoe6u+E0RdwOG0Ho/2UxCgDqmvpUrMab1Deltlt6RqcXFpnigQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@next/swc-win32-ia32-msvc/13.0.5: - resolution: {integrity: sha512-Q1XQSLEhFuFhkKFdJIGt7cYQ4T3u6P5wrtUNreg5M+7P+fjSiC8+X+Vjcw+oebaacsdl0pWZlK+oACGafush1w==} + /@next/swc-win32-ia32-msvc/13.1.1: + resolution: {integrity: sha512-WeX8kVS46aobM9a7Xr/kEPcrTyiwJqQv/tbw6nhJ4fH9xNZ+cEcyPoQkwPo570dCOLz3Zo9S2q0E6lJ/EAUOBg==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@next/swc-win32-x64-msvc/13.0.5: - resolution: {integrity: sha512-t5gRblrwwiNZP6cT7NkxlgxrFgHWtv9ei5vUraCLgBqzvIsa7X+PnarZUeQCXqz6Jg9JSGGT9j8lvzD97UqeJQ==} + /@next/swc-win32-x64-msvc/13.1.1: + resolution: {integrity: sha512-mVF0/3/5QAc5EGVnb8ll31nNvf3BWpPY4pBb84tk+BfQglWLqc5AC9q1Ht/YMWiEgs8ALNKEQ3GQnbY0bJF2Gg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -920,30 +922,6 @@ packages: resolution: {integrity: sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==} dev: false - /@reach/skip-nav/0.17.0_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-wkkpQK3ffczzGHis6TaUvpOabuAL9n9Kh5vr4h56XPIJP3X77VcHUDk7MK3HbV1mTgamGxc9Hbd1sXKSWLu3yA==} - peerDependencies: - react: ^16.8.0 || 17.x - react-dom: ^16.8.0 || 17.x - dependencies: - '@reach/utils': 0.17.0_biqbaboplfbrettd7655fr4n2y - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - tslib: 2.4.0 - dev: false - - /@reach/utils/0.17.0_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-M5y8fCBbrWeIsxedgcSw6oDlAMQDkl5uv3VnMVJ7guwpf4E48Xlh1v66z/1BgN/WYe2y8mB/ilFD2nysEfdGeA==} - peerDependencies: - react: ^16.8.0 || 17.x - react-dom: ^16.8.0 || 17.x - dependencies: - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - tiny-warning: 1.0.3 - tslib: 2.4.0 - dev: false - /@swc/helpers/0.4.14: resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} dependencies: @@ -4324,32 +4302,32 @@ packages: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true - /next-seo/5.8.0_7iuvftg57tblwyxclfkwku5xo4: + /next-seo/5.8.0_q76c2b4vyoegvsbrcwkfvimnai: resolution: {integrity: sha512-V5W/JwqdoX6/0zG4S7m5g8zNajYffytWigkPo2hrbHhLD18yGFBU9607OPhvbI9zX3QjWQFMBSmlUY456xt9cA==} peerDependencies: next: ^8.1.1-canary.54 || >=9.0.0 react: '>=16.0.0' react-dom: '>=16.0.0' dependencies: - next: 13.0.5_biqbaboplfbrettd7655fr4n2y + next: 13.1.1_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false - /next-themes/0.2.1_7iuvftg57tblwyxclfkwku5xo4: + /next-themes/0.2.1_q76c2b4vyoegvsbrcwkfvimnai: resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} peerDependencies: next: '*' react: '*' react-dom: '*' dependencies: - next: 13.0.5_biqbaboplfbrettd7655fr4n2y + next: 13.1.1_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false - /next/13.0.5_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-awpc3DkphyKydwCotcBnuKwh6hMqkT5xdiBK4OatJtOZurDPBYLP62jtM2be/4OunpmwIbsS0Eyv+ZGU97ciEg==} + /next/13.1.1_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-R5eBAaIa3X7LJeYvv1bMdGnAVF4fVToEjim7MkflceFPuANY3YyvFxXee/A+acrSYwYPvOvf7f6v/BM/48ea5w==} engines: {node: '>=14.6.0'} hasBin: true peerDependencies: @@ -4366,27 +4344,27 @@ packages: sass: optional: true dependencies: - '@next/env': 13.0.5 + '@next/env': 13.1.1 '@swc/helpers': 0.4.14 caniuse-lite: 1.0.30001406 postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - styled-jsx: 5.1.0_react@18.2.0 + styled-jsx: 5.1.1_react@18.2.0 optionalDependencies: - '@next/swc-android-arm-eabi': 13.0.5 - '@next/swc-android-arm64': 13.0.5 - '@next/swc-darwin-arm64': 13.0.5 - '@next/swc-darwin-x64': 13.0.5 - '@next/swc-freebsd-x64': 13.0.5 - '@next/swc-linux-arm-gnueabihf': 13.0.5 - '@next/swc-linux-arm64-gnu': 13.0.5 - '@next/swc-linux-arm64-musl': 13.0.5 - '@next/swc-linux-x64-gnu': 13.0.5 - '@next/swc-linux-x64-musl': 13.0.5 - '@next/swc-win32-arm64-msvc': 13.0.5 - '@next/swc-win32-ia32-msvc': 13.0.5 - '@next/swc-win32-x64-msvc': 13.0.5 + '@next/swc-android-arm-eabi': 13.1.1 + '@next/swc-android-arm64': 13.1.1 + '@next/swc-darwin-arm64': 13.1.1 + '@next/swc-darwin-x64': 13.1.1 + '@next/swc-freebsd-x64': 13.1.1 + '@next/swc-linux-arm-gnueabihf': 13.1.1 + '@next/swc-linux-arm64-gnu': 13.1.1 + '@next/swc-linux-arm64-musl': 13.1.1 + '@next/swc-linux-x64-gnu': 13.1.1 + '@next/swc-linux-x64-musl': 13.1.1 + '@next/swc-win32-arm64-msvc': 13.1.1 + '@next/swc-win32-ia32-msvc': 13.1.1 + '@next/swc-win32-x64-msvc': 13.1.1 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -4514,7 +4492,6 @@ packages: engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 - dev: true /p-locate/4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} @@ -5384,8 +5361,8 @@ packages: inline-style-parser: 0.1.1 dev: false - /styled-jsx/5.1.0_react@18.2.0: - resolution: {integrity: sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==} + /styled-jsx/5.1.1_react@18.2.0: + resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: '@babel/core': '*' @@ -5545,10 +5522,6 @@ packages: any-promise: 1.3.0 dev: true - /tiny-warning/1.0.3: - resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} - dev: false - /tinypool/0.2.4: resolution: {integrity: sha512-Vs3rhkUH6Qq1t5bqtb816oT+HeJTXfwt2cbPH17sWHIYKTotQIFPk3tf2fgqRrVyMDVOc1EnPgzIxfIulXVzwQ==} engines: {node: '>=14.0.0'} @@ -6328,13 +6301,12 @@ packages: /yocto-queue/0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - dev: true /zwitch/2.0.2: resolution: {integrity: sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA==} dev: false - file:packages/nextra-theme-blog_7iuvftg57tblwyxclfkwku5xo4: + file:packages/nextra-theme-blog_q76c2b4vyoegvsbrcwkfvimnai: resolution: {directory: packages/nextra-theme-blog, type: directory} id: file:packages/nextra-theme-blog name: nextra-theme-blog @@ -6349,13 +6321,13 @@ packages: optional: true dependencies: '@mdx-js/react': 2.1.5_react@18.2.0 - next: 13.0.5_biqbaboplfbrettd7655fr4n2y - next-themes: 0.2.1_7iuvftg57tblwyxclfkwku5xo4 + next: 13.1.1_biqbaboplfbrettd7655fr4n2y + next-themes: 0.2.1_q76c2b4vyoegvsbrcwkfvimnai react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false - file:packages/nextra-theme-docs_7iuvftg57tblwyxclfkwku5xo4: + file:packages/nextra-theme-docs_q76c2b4vyoegvsbrcwkfvimnai: resolution: {directory: packages/nextra-theme-docs, type: directory} id: file:packages/nextra-theme-docs name: nextra-theme-docs @@ -6368,7 +6340,6 @@ packages: '@headlessui/react': 1.6.6_biqbaboplfbrettd7655fr4n2y '@mdx-js/react': 2.1.5_react@18.2.0 '@popperjs/core': 2.11.6 - '@reach/skip-nav': 0.17.0_biqbaboplfbrettd7655fr4n2y clsx: 1.2.1 flexsearch: 0.7.21 focus-visible: 5.2.0 @@ -6376,15 +6347,15 @@ packages: github-slugger: 2.0.0 intersection-observer: 0.12.2 match-sorter: 6.3.1 - next: 13.0.5_biqbaboplfbrettd7655fr4n2y - next-seo: 5.8.0_7iuvftg57tblwyxclfkwku5xo4 - next-themes: 0.2.1_7iuvftg57tblwyxclfkwku5xo4 + next: 13.1.1_biqbaboplfbrettd7655fr4n2y + next-seo: 5.8.0_q76c2b4vyoegvsbrcwkfvimnai + next-themes: 0.2.1_q76c2b4vyoegvsbrcwkfvimnai react: 18.2.0 react-dom: 18.2.0_react@18.2.0 scroll-into-view-if-needed: 3.0.3 dev: false - file:packages/nextra_7iuvftg57tblwyxclfkwku5xo4: + file:packages/nextra_q76c2b4vyoegvsbrcwkfvimnai: resolution: {directory: packages/nextra, type: directory} id: file:packages/nextra name: nextra @@ -6399,7 +6370,8 @@ packages: github-slugger: 2.0.0 graceful-fs: 4.2.10 gray-matter: 4.0.3 - next: 13.0.5_biqbaboplfbrettd7655fr4n2y + next: 13.1.1_biqbaboplfbrettd7655fr4n2y + p-limit: 3.1.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 rehype-mdx-title: 2.0.0