diff --git a/.changeset/orange-weeks-judge.md b/.changeset/orange-weeks-judge.md new file mode 100644 index 0000000000..0e29e077a4 --- /dev/null +++ b/.changeset/orange-weeks-judge.md @@ -0,0 +1,5 @@ +--- +'nextra-theme-blog': patch +--- + +fix: make cusdis a component diff --git a/.changeset/silly-suns-sort.md b/.changeset/silly-suns-sort.md new file mode 100644 index 0000000000..15c73ee636 --- /dev/null +++ b/.changeset/silly-suns-sort.md @@ -0,0 +1,7 @@ +--- +'nextra': patch +'nextra-theme-blog': patch +'nextra-theme-docs': patch +--- + +set lower build target and share code highlight theme through nextra diff --git a/examples/docs/src/pages/get-started.mdx b/examples/docs/src/pages/get-started.mdx index 972b5f96cc..c791c9c30b 100644 --- a/examples/docs/src/pages/get-started.mdx +++ b/examples/docs/src/pages/get-started.mdx @@ -16,17 +16,41 @@ Nextra works like a Next.js plugin, and it accepts a theme config (layout) to re 1. Install Next.js, Nextra and React - ```bash npm i react react-dom next nextra ``` - ```bash yarn add react react-dom next nextra ``` - ```bash pnpm i react react-dom next nextra ``` + + ```bash + npm i react react-dom next nextra + ``` + + + ```bash + yarn add react react-dom next nextra + ``` + + + ```bash + pnpm i react react-dom next nextra + ``` + 2. Install the docs theme - ```bash npm i nextra-theme-docs ``` - ```bash yarn add nextra-theme-docs ``` - ```bash pnpm i nextra-theme-docs ``` + + ```bash + npm i nextra-theme-docs + ``` + + + ```bash + yarn add nextra-theme-docs + ``` + + + ```bash + pnpm i nextra-theme-docs + ``` + 3. Create the following Next.js config and theme config under the root directory: diff --git a/package.json b/package.json index f3646f4e3a..0dcf0a5765 100644 --- a/package.json +++ b/package.json @@ -19,12 +19,12 @@ }, "devDependencies": { "@changesets/cli": "^2.24.1", - "@edge-runtime/vm": "1.1.0-beta.19", + "@edge-runtime/vm": "1.1.0-beta.23", "postcss-import": "^14.1.0", "prettier": "^2.7.1", "prettier-plugin-tailwindcss": "^0.1.13", "rimraf": "^3.0.2", - "turbo": "^1.3.4", + "turbo": "^1.4.0", "typescript": "^4.7.4" }, "prettier": { diff --git a/packages/nextra-theme-blog/package.json b/packages/nextra-theme-blog/package.json index 89ba644a2b..3d56859a92 100644 --- a/packages/nextra-theme-blog/package.json +++ b/packages/nextra-theme-blog/package.json @@ -11,11 +11,22 @@ ], "module": "./dist/index.js", "types": "./dist/index.d.ts", + "typesVersions": { + "*": { + "cusdis": [ + "./dist/cusdis.d.ts" + ] + } + }, "exports": { "./style.css": "./style.css", ".": { "import": "./dist/index.js", "types": "./dist/index.d.ts" + }, + "./cusdis": { + "import": "./dist/cusdis.js", + "types": "./dist/cusdis.d.ts" } }, "scripts": { diff --git a/packages/nextra-theme-blog/src/article-layout.tsx b/packages/nextra-theme-blog/src/article-layout.tsx index 4d7a7c975f..881bf9de7a 100644 --- a/packages/nextra-theme-blog/src/article-layout.tsx +++ b/packages/nextra-theme-blog/src/article-layout.tsx @@ -3,7 +3,6 @@ import Meta from './meta' import MDXTheme from './mdx-theme' import { useBlogContext } from './blog-context' import { BasicLayout } from './basic-layout' -import { Comments } from './cusdis' import { getParent } from './utils/parent' export const ArticleLayout = ({ children }: { children: ReactNode }) => { @@ -15,7 +14,7 @@ export const ArticleLayout = ({ children }: { children: ReactNode }) => { {children} {config.postFooter} - + {config.comments} ) diff --git a/packages/nextra-theme-blog/src/cusdis.tsx b/packages/nextra-theme-blog/src/cusdis.tsx index be196a76a7..0a6852d8a2 100644 --- a/packages/nextra-theme-blog/src/cusdis.tsx +++ b/packages/nextra-theme-blog/src/cusdis.tsx @@ -11,7 +11,7 @@ const Cusdis = dynamic( { ssr: false } ) as typeof ReactCusdis -export const Comments = () => { +const Comments = () => { const { config, opts } = useBlogContext() const router = useRouter() const { pageTitle } = getTitle({ opts, config }) @@ -33,3 +33,5 @@ export const Comments = () => { /> ) : null } + +export default Comments diff --git a/packages/nextra-theme-blog/src/styles.css b/packages/nextra-theme-blog/src/styles.css index 840a2bfbbe..ad9e86dfe0 100644 --- a/packages/nextra-theme-blog/src/styles.css +++ b/packages/nextra-theme-blog/src/styles.css @@ -1,8 +1,8 @@ @import 'tailwindcss/base'; @import 'tailwindcss/components'; @import 'tailwindcss/utilities'; -@import '../../nextra-theme-docs/src/css/variables.css'; -@import '../../nextra-theme-docs/src/css/code-blocks.css'; +@import 'nextra/code-highlighting/variables.css'; +@import 'nextra/code-highlighting/code-blocks.css'; body { @apply px-4; @@ -21,11 +21,13 @@ h1 { } .prose code { + &:before, &:after { @apply hidden; } + .line { @apply font-normal; } -} +} \ No newline at end of file diff --git a/packages/nextra-theme-blog/src/types.ts b/packages/nextra-theme-blog/src/types.ts index 4f2bb5edda..ba1d580b1f 100644 --- a/packages/nextra-theme-blog/src/types.ts +++ b/packages/nextra-theme-blog/src/types.ts @@ -1,4 +1,5 @@ import { PageOpts } from 'nextra' +import React from 'react' export interface NextraBlogTheme { readMore?: string @@ -22,6 +23,7 @@ export interface NextraBlogTheme { url: string name: string }[] + comments?: React.ReactNode } export interface BlogPageOpts extends PageOpts { diff --git a/packages/nextra-theme-blog/tsconfig.json b/packages/nextra-theme-blog/tsconfig.json index 95416b9b01..19822d1263 100644 --- a/packages/nextra-theme-blog/tsconfig.json +++ b/packages/nextra-theme-blog/tsconfig.json @@ -10,7 +10,8 @@ "allowJs": true, "jsx": "react", "moduleResolution": "Node", - "types": ["vitest/globals"] + "types": ["vitest/globals"], + "resolveJsonModule": true }, "include": ["."] } diff --git a/packages/nextra-theme-blog/tsup.config.ts b/packages/nextra-theme-blog/tsup.config.ts index 90d49be1e2..ffb5a6729a 100644 --- a/packages/nextra-theme-blog/tsup.config.ts +++ b/packages/nextra-theme-blog/tsup.config.ts @@ -1,5 +1,5 @@ import { defineConfig } from 'tsup' - +import tsconfig from './tsconfig.json' function outExtension() { return { js: `.js` @@ -7,9 +7,10 @@ function outExtension() { } export default defineConfig({ - entry: ['src/index.tsx'], + entry: ['src/index.tsx', "src/cusdis.tsx"], format: 'esm', dts: true, name: 'nextra-theme-blog', - outExtension + outExtension, + target: tsconfig.compilerOptions.target }) diff --git a/packages/nextra-theme-docs/src/css/styles.css b/packages/nextra-theme-docs/src/css/styles.css index f75e888d82..ec09ad801c 100644 --- a/packages/nextra-theme-docs/src/css/styles.css +++ b/packages/nextra-theme-docs/src/css/styles.css @@ -1,8 +1,8 @@ @import 'tailwindcss/base'; @import 'tailwindcss/components'; @import 'tailwindcss/utilities'; -@import './variables.css'; -@import './code-blocks.css'; +@import 'nextra/code-highlighting/variables.css'; +@import 'nextra/code-highlighting/code-blocks.css'; :root { --nextra-primary-hue: 212deg; diff --git a/packages/nextra-theme-docs/tsconfig.json b/packages/nextra-theme-docs/tsconfig.json index a4defdc2c9..ac3c9f00f5 100644 --- a/packages/nextra-theme-docs/tsconfig.json +++ b/packages/nextra-theme-docs/tsconfig.json @@ -10,6 +10,7 @@ "allowJs": true, "jsx": "react", "moduleResolution": "Node", - "types": ["vitest/globals"] + "types": ["vitest/globals"], + "resolveJsonModule": true } } diff --git a/packages/nextra-theme-docs/tsup.config.ts b/packages/nextra-theme-docs/tsup.config.ts index ebf067dbc8..4ddd8cadac 100644 --- a/packages/nextra-theme-docs/tsup.config.ts +++ b/packages/nextra-theme-docs/tsup.config.ts @@ -1,37 +1,38 @@ import { defineConfig } from 'tsup' +import tsconfig from './tsconfig.json' function outExtension() { return { js: `.js` } } +const { compilerOptions: { target } } = tsconfig + +const sharedConfig = defineConfig({ + format: 'esm', + dts: true, + outExtension, + target +}) export default defineConfig([ { entry: ['src/bleed.tsx', 'src/callout.tsx'], - format: 'esm', - outExtension, - dts: true, - name: 'nextra-theme-docs/components' + name: 'nextra-theme-docs/components', + ...sharedConfig }, { + name: 'nextra-theme-docs', entry: ['src/index.tsx'], - format: 'esm', - outExtension, - dts: true, - name: 'nextra-theme-docs' + ...sharedConfig }, { + name: 'nextra-theme-docs/tabs', entry: ['src/components/tabs.tsx'], - format: 'esm', - outExtension, - dts: true, - name: 'nextra-theme-docs/tabs' + ...sharedConfig }, { + name: 'nextra-theme-docs/collapse', entry: ['src/components/collapse.tsx'], - format: 'esm', - outExtension, - dts: true, - name: 'nextra-theme-docs/collapse' + ...sharedConfig } ]) diff --git a/packages/nextra-theme-docs/src/css/code-blocks.css b/packages/nextra/code-highlighting/code-blocks.css similarity index 100% rename from packages/nextra-theme-docs/src/css/code-blocks.css rename to packages/nextra/code-highlighting/code-blocks.css diff --git a/packages/nextra-theme-docs/src/css/variables.css b/packages/nextra/code-highlighting/variables.css similarity index 100% rename from packages/nextra-theme-docs/src/css/variables.css rename to packages/nextra/code-highlighting/variables.css diff --git a/packages/nextra/package.json b/packages/nextra/package.json index 04a42e9f23..bdf95940df 100644 --- a/packages/nextra/package.json +++ b/packages/nextra/package.json @@ -5,7 +5,8 @@ "files": [ "dist/*", "icons/*", - "loader.js" + "loader.js", + "code-highlighting/*" ], "types": "./dist/types.d.ts", "main": "./dist/index.js", diff --git a/packages/nextra/tsconfig.json b/packages/nextra/tsconfig.json index eda94f866e..98fcd04e72 100644 --- a/packages/nextra/tsconfig.json +++ b/packages/nextra/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ESNext", + "target": "es2016", "module": "ESNext", "declaration": true, "noEmit": true, @@ -10,7 +10,7 @@ "allowJs": true, "jsx": "react", "moduleResolution": "node", - "resolveJsonModule": true, - "types": ["vitest/globals"] + "types": ["vitest/globals"], + "resolveJsonModule": true } } diff --git a/packages/nextra/tsup.config.ts b/packages/nextra/tsup.config.ts index 9259f633ca..7f17d1c6f8 100644 --- a/packages/nextra/tsup.config.ts +++ b/packages/nextra/tsup.config.ts @@ -1,35 +1,43 @@ import { defineConfig } from 'tsup' +import tsconfig from './tsconfig.json' +const { compilerOptions: { target } } = tsconfig + export default defineConfig([ { + name: 'nextra', entry: ['src/index.js'], format: 'cjs', - name: 'nextra', - dts: false + dts: false, + target }, { + name: 'nextra-utils', entry: ['src/ssg.ts', 'src/locales.ts', 'src/context.ts'], format: 'cjs', - name: 'nextra-utils', external: ['next/server'], - dts: true + dts: true, + target }, { + name: 'nextra-loader', entry: ['src/loader.ts'], format: 'esm', - name: 'nextra-loader', - dts: true + dts: true, + target }, { entry: ['src/compile.ts'], format: 'esm', name: 'nextra-mdx-compiler', - dts: true + dts: true, + target }, { entry: ['src/icons.ts'], name: 'nextra-icons', format: 'esm', - dts: true + dts: true, + target }, { entry: ['src/types.ts'], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6284a0dadb..1bf5f2c6f0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,21 +25,21 @@ importers: .: specifiers: '@changesets/cli': ^2.24.1 - '@edge-runtime/vm': 1.1.0-beta.19 + '@edge-runtime/vm': 1.1.0-beta.23 postcss-import: ^14.1.0 prettier: ^2.7.1 prettier-plugin-tailwindcss: ^0.1.13 rimraf: ^3.0.2 - turbo: ^1.3.4 + turbo: ^1.4.0 typescript: ^4.7.4 devDependencies: '@changesets/cli': 2.24.1 - '@edge-runtime/vm': 1.1.0-beta.19 + '@edge-runtime/vm': 1.1.0-beta.23 postcss-import: 14.1.0 prettier: 2.7.1 prettier-plugin-tailwindcss: 0.1.13_prettier@2.7.1 rimraf: 3.0.2 - turbo: 1.3.4 + turbo: 1.4.0 typescript: 4.7.4 examples/blog: @@ -470,14 +470,14 @@ packages: prettier: 1.19.1 dev: true - /@edge-runtime/primitives/1.1.0-beta.19: - resolution: {integrity: sha512-DfKXWYxsLWh6XOZQrQye/WG/uM+3KQcLvIa23QV0sswLFTzjoplYMZl56TJltm2vOIctjSEJidfypIZylJPi2Q==} + /@edge-runtime/primitives/1.1.0-beta.23: + resolution: {integrity: sha512-0vHcZZwyxjmw/so9irYtA82/+nAlJRs+1WpRYBx7iae1FOGCPM4BIKEmboWmwTuj7c6avz9kIbptokdMUPgV9A==} dev: true - /@edge-runtime/vm/1.1.0-beta.19: - resolution: {integrity: sha512-fruJF1HvCM5ZUFF/RH71l0Pg5Pjuxmqob7nsh6eh2sY2xt5n80q3yh+wLMXWHRkhLkvgBYlKjbSESM/ptnV9sw==} + /@edge-runtime/vm/1.1.0-beta.23: + resolution: {integrity: sha512-XBp3rCuX4scJVOo2KconAotL5XGX3zdd8IkfDNr5VVSQ/B6HkiTNuf+EvzSQTpplF+fiyLTpfcP9EbNLibwLTA==} dependencies: - '@edge-runtime/primitives': 1.1.0-beta.19 + '@edge-runtime/primitives': 1.1.0-beta.23 dev: true /@headlessui/react/1.6.6_biqbaboplfbrettd7655fr4n2y: @@ -5322,137 +5322,137 @@ packages: yargs: 17.5.1 dev: true - /turbo-android-arm64/1.3.4: - resolution: {integrity: sha512-rAbfiw5dT2rKV7L8XCL6nKwBxSz0TNknUT8F64pE+h3ESiT4y6Ow/hCdNxlb+hcee6lvZ8tB0cynXCVM5bthAA==} + /turbo-android-arm64/1.4.0: + resolution: {integrity: sha512-k03ztiuVpRqFiXl452HUsDgns0KrDtKL+e19h3eVJZFlr0lXtMBAcjh6qkh9lSmBW99NGSESGbsdaL9cp6F/vw==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /turbo-darwin-64/1.3.4: - resolution: {integrity: sha512-DZbRwVHH3nKOzVtijKWzkiKLLY+pBjawK90po7VRKMwdN2Db+JkWdu9+6wIqaxQ4WEYnYpwnTm0Aiyua0U/dNg==} + /turbo-darwin-64/1.4.0: + resolution: {integrity: sha512-uj6p1marrEIFBX1nv4+LRg4e1vTYXTsv2DUB0e/LeAf9G2dRzh/MtSwBWuUaFLCcDvMSsnOeComgEkKuYyeVfw==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-darwin-arm64/1.3.4: - resolution: {integrity: sha512-Qfe7iBad/XM4G22G0XAnEQnHiSUO1WR4MgvyHV022WABIf7CgGDsW6DUu/4DOWFlfTO+xCC0Qgu93w6Kli/9uw==} + /turbo-darwin-arm64/1.4.0: + resolution: {integrity: sha512-O6xBDY3LUJVctQBkbPoHHDsUIhuJTdIgIY/w4ZPRgdv51fj6uBJRolj9lLx1jGioLqjUaj/sXIizlaPar6tm5A==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-freebsd-64/1.3.4: - resolution: {integrity: sha512-lXFViR0fnoTRtnRtkeSA/10Q41h+fLgnYC62wzHNzPsq/kCYmiaXBg+gWRJom8Ka2nh+xWQdLG2Dh/uxK/+1Og==} + /turbo-freebsd-64/1.4.0: + resolution: {integrity: sha512-103LbqCHxDHCz0xmpWis5JHkti2Irlq7n7vAk43+Kkxrz8UqhbrSfe0qUhkYltvxQ/R5cKAOKmBT5eZCO85+Xw==} cpu: [x64] os: [freebsd] requiresBuild: true dev: true optional: true - /turbo-freebsd-arm64/1.3.4: - resolution: {integrity: sha512-VN9gPZcRaYhQOIo+NlIDIDNlJjhnyM7i+3WvWAK8y5p5GoZoDAahM36GDX05JNjVdPq95WJPnWcxoiQvwnctxg==} + /turbo-freebsd-arm64/1.4.0: + resolution: {integrity: sha512-Cf+TGpQTpogSd/SsGhz1uQMhNVYYT1GeGg9iJ99rjjzbdC1zjdmeCbgUwyUUx5wVVM832o5fWaCJai3My3PDDQ==} cpu: [arm64] os: [freebsd] requiresBuild: true dev: true optional: true - /turbo-linux-32/1.3.4: - resolution: {integrity: sha512-h1oVx85jovYnAaP+KxSmFIPhlKFQmBwVkJBngALnHNU7HTN9+1t/VJ1WKjHEeLXrQ7ujeCMd/+TBm9XRd73RdA==} + /turbo-linux-32/1.4.0: + resolution: {integrity: sha512-bJn78F+mH45g6xPFTdn7PLzixMuqugGz4Db9dPLijWQzeKzVz52qpN7WGUZwfPZtQOs0HUI8woH6eqAZMdT2ZA==} cpu: [ia32] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-64/1.3.4: - resolution: {integrity: sha512-QJJeksggK9/s3VzS+iMTQh8gO6JLDxKBSc3qnpP1Kaq8hF+M1upfP9KhDFNguz8UEFlOvTblplNdqZdk/wtkXQ==} + /turbo-linux-64/1.4.0: + resolution: {integrity: sha512-1+WyeJ1CBOnXNQl+Qke4NWvy3Zymp0NoxmJcZAmVBhwqAqGyERypeDznMfFmFtpG99/ZhmT7xwilz3Bw3Eyukw==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-arm/1.3.4: - resolution: {integrity: sha512-vCVDcO4KNJak//UKsss/TnJw0ywYc8OyV88ZlSWyP3WtA+9D8DJNPOKodcR8IbKuV7Tqpr+f7cP+J9jGDkHjQw==} + /turbo-linux-arm/1.4.0: + resolution: {integrity: sha512-9DEUP1pKWCwMDuriYCuTf+73oBIxTU4VLdkP89dtPoQVXW6mviES4gRXm8jAs6AOzzMI4DHgNKPxk7UKUvuExQ==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-arm64/1.3.4: - resolution: {integrity: sha512-SSyUvBxZmlS44LQ2hzX5gfDlQueH1Hx5/rFS9mJZKFdgMnAB2g7btxxEvnpm0lgpfP/c3LH0VRks3xYEoQvILg==} + /turbo-linux-arm64/1.4.0: + resolution: {integrity: sha512-DUtBhN0+o4XULQ9hsnzp6nI4mycMH7PpjKtG2HdmiZIhSYipSKWIMZkvgJpnpVJoRarLe7PmcDJIBp2aXvw2xw==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-mips64le/1.3.4: - resolution: {integrity: sha512-w7Ib7i/GZhyJRdvQSLA1Be7AOIPgJpuLLjrtT2gUl3wXd4JuiHDvhOS7E0B9izaxeD/2iygU2kQjqD4o9tejlw==} - cpu: [mips64el] + /turbo-linux-mips64le/1.4.0: + resolution: {integrity: sha512-ZJcQvUgmCJ4TFosVL6hEmECP5ysSubF3wMOq5hkBxzRMBjL0djW+BK4aIXutBTpjAz9OyM10S4KeEGeGRS/e3Q==} + cpu: [mipsel] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-ppc64le/1.3.4: - resolution: {integrity: sha512-xATyouJSGmfgQM6lLk4Da5HrsAw8qoPUArrBuDK1p3Rw1gcRnmlJL10mr6ZmZyRu+3o4M8UlThfus5q8eETmBw==} + /turbo-linux-ppc64le/1.4.0: + resolution: {integrity: sha512-sk/rOrcGnYRcwNP8yJwmeOOzInv7YzMfWBomVf/TwrpsGL8QrD05zjsMR+lGxYNoNOJIHbroracjHaLvKWZN7A==} cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-windows-32/1.3.4: - resolution: {integrity: sha512-1oXgiGxkWuC/7rlBZTng7qC2zjAZ7lYLDDh3ePAycZzp6BprlxqT5+xA0kFJo+WqGRdAQVhanlET2bLGOdBQBQ==} + /turbo-windows-32/1.4.0: + resolution: {integrity: sha512-5fmS6J3ZvhWRss+sFw2edOElVeKtk0l9yCoCYltPeFSy3+ArXws06ik3Z318SuKlbFu/+VTbM/NyBleKru+0ag==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /turbo-windows-64/1.3.4: - resolution: {integrity: sha512-k7K/oC+399Gtwol42ALvt0espWmZZR7qlRwfgFS3BF4pEetxjGFJMXKNWUMDkOqsHhMxvLIiDbWPmY3fTIWL7g==} + /turbo-windows-64/1.4.0: + resolution: {integrity: sha512-FZZBHjb8BYpEGbVOpJEEFAjS3xxUVg76MBPXqRb5IUPQeXiCd8VfO4UApn9syjUuTLORBoWLmSf3xp7vd1cIgA==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /turbo-windows-arm64/1.3.4: - resolution: {integrity: sha512-jHBuTvQ3t/OElxn//kwHZR2mlPdmpcV7BZy+n18+wwx6ydGj5QDOrer7Dwk81YbA5KtOkp086Xpgr75T73wsSA==} + /turbo-windows-arm64/1.4.0: + resolution: {integrity: sha512-mJAlDf5/qBVMVv+q+0/2PF5tRHKz4mgtl/DnRn5n/rIfRvElGkjlPbQwJdXuMCEQVE9FMOAGRCstu0dkcdTluQ==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /turbo/1.3.4: - resolution: {integrity: sha512-MsjlfAL29leQaIMdHGnIpK6IKZA4HwSAwDSIoBAs9EAKfAXIsnjLoF50dKDnBlaq5d4aVmiHsT6RYVcTKhSgBQ==} + /turbo/1.4.0: + resolution: {integrity: sha512-k2x8QqunK/96tqzB7aRCQ601H7N2PnxTcrEH9NoJjN5sJeymnfn/dQ8l6HrSyuYrW259W3N/AWAAUhpXnUyitA==} hasBin: true requiresBuild: true optionalDependencies: - turbo-android-arm64: 1.3.4 - turbo-darwin-64: 1.3.4 - turbo-darwin-arm64: 1.3.4 - turbo-freebsd-64: 1.3.4 - turbo-freebsd-arm64: 1.3.4 - turbo-linux-32: 1.3.4 - turbo-linux-64: 1.3.4 - turbo-linux-arm: 1.3.4 - turbo-linux-arm64: 1.3.4 - turbo-linux-mips64le: 1.3.4 - turbo-linux-ppc64le: 1.3.4 - turbo-windows-32: 1.3.4 - turbo-windows-64: 1.3.4 - turbo-windows-arm64: 1.3.4 + turbo-android-arm64: 1.4.0 + turbo-darwin-64: 1.4.0 + turbo-darwin-arm64: 1.4.0 + turbo-freebsd-64: 1.4.0 + turbo-freebsd-arm64: 1.4.0 + turbo-linux-32: 1.4.0 + turbo-linux-64: 1.4.0 + turbo-linux-arm: 1.4.0 + turbo-linux-arm64: 1.4.0 + turbo-linux-mips64le: 1.4.0 + turbo-linux-ppc64le: 1.4.0 + turbo-windows-32: 1.4.0 + turbo-windows-64: 1.4.0 + turbo-windows-arm64: 1.4.0 dev: true /type-detect/4.0.8: