diff --git a/__tests__/init/init.test.ts b/__tests__/init/init.test.ts index 7766b060..1497fd92 100644 --- a/__tests__/init/init.test.ts +++ b/__tests__/init/init.test.ts @@ -1,4 +1,4 @@ -import fs from 'fs-extra' +import fs from 'node:fs' import getPort from 'get-port' import { nanoid } from 'nanoid' import path from 'node:path' @@ -33,12 +33,12 @@ const variations = themes.flatMap((theme) => afterAll(async () => { await page.close() await browser.close() - await fs.remove(tempDir) + await fs.promises.rm(tempDir, { recursive: true, force: true }) }) test.each(variations)('init %s', async (_, { theme, useTs }) => { const root = getTempRoot() - await fs.remove(root) + await fs.promises.rm(root, { recursive: true, force: true }) scaffold({ root, theme, useTs, injectNpmScripts: false }) const port = await getPort() diff --git a/docs/config.ts b/docs/config.ts index 8620d955..8f38b2b4 100644 --- a/docs/config.ts +++ b/docs/config.ts @@ -1,4 +1,4 @@ -import { createRequire } from 'module' +import { createRequire } from 'node:module' import { defineAdditionalConfig, type DefaultTheme } from 'vitepress' const require = createRequire(import.meta.url) diff --git a/docs/en/guide/routing.md b/docs/en/guide/routing.md index 2631c632..c858ec13 100644 --- a/docs/en/guide/routing.md +++ b/docs/en/guide/routing.md @@ -329,7 +329,7 @@ The paths loader module is run in Node.js and only executed during build time. Y Generating paths from local files: ```js -import fs from 'fs' +import fs from 'node:fs' export default { paths() { diff --git a/docs/es/config.ts b/docs/es/config.ts index fee38361..382ad71b 100644 --- a/docs/es/config.ts +++ b/docs/es/config.ts @@ -1,4 +1,4 @@ -import { createRequire } from 'module' +import { createRequire } from 'node:module' import { defineAdditionalConfig, type DefaultTheme } from 'vitepress' const require = createRequire(import.meta.url) diff --git a/docs/es/guide/routing.md b/docs/es/guide/routing.md index e3c42162..e4d2894b 100644 --- a/docs/es/guide/routing.md +++ b/docs/es/guide/routing.md @@ -290,7 +290,7 @@ El módulo de carga de paths es ejecutado en Node.js y apenas durante el momento Generando paths a partir de archivos locales: ```js -import fs from 'fs' +import fs from 'node:fs' export default { paths() { diff --git a/docs/fa/config.ts b/docs/fa/config.ts index 4cb8c245..c3b34727 100644 --- a/docs/fa/config.ts +++ b/docs/fa/config.ts @@ -1,4 +1,4 @@ -import { createRequire } from 'module' +import { createRequire } from 'node:module' import { defineAdditionalConfig, type DefaultTheme } from 'vitepress' const require = createRequire(import.meta.url) diff --git a/docs/fa/guide/routing.md b/docs/fa/guide/routing.md index f159a876..b8c3a99b 100644 --- a/docs/fa/guide/routing.md +++ b/docs/fa/guide/routing.md @@ -295,7 +295,7 @@ export default { تولید مسیرها از فایل‌های محلی: ```js -import fs from 'fs' +import fs from 'node:fs' export default { paths() { diff --git a/docs/ja/config.ts b/docs/ja/config.ts index 0631ca82..bc92b006 100644 --- a/docs/ja/config.ts +++ b/docs/ja/config.ts @@ -1,4 +1,4 @@ -import { createRequire } from 'module' +import { createRequire } from 'node:module' import { defineAdditionalConfig, type DefaultTheme } from 'vitepress' const require = createRequire(import.meta.url) diff --git a/docs/ja/guide/routing.md b/docs/ja/guide/routing.md index f624bee0..a77e6062 100644 --- a/docs/ja/guide/routing.md +++ b/docs/ja/guide/routing.md @@ -304,7 +304,7 @@ export default { ローカルファイルから生成する例: ```js -import fs from 'fs' +import fs from 'node:fs' export default { paths() { diff --git a/docs/ko/config.ts b/docs/ko/config.ts index 4a076036..7a275cd3 100644 --- a/docs/ko/config.ts +++ b/docs/ko/config.ts @@ -1,4 +1,4 @@ -import { createRequire } from 'module' +import { createRequire } from 'node:module' import { defineAdditionalConfig, type DefaultTheme } from 'vitepress' const require = createRequire(import.meta.url) diff --git a/docs/ko/guide/routing.md b/docs/ko/guide/routing.md index b0a8e23e..35c7621e 100644 --- a/docs/ko/guide/routing.md +++ b/docs/ko/guide/routing.md @@ -291,7 +291,7 @@ export default { 로컬 파일에서 경로 생성: ```js -import fs from 'fs' +import fs from 'node:fs' export default { paths() { diff --git a/docs/pt/config.ts b/docs/pt/config.ts index 5f71d84f..193eb2f4 100644 --- a/docs/pt/config.ts +++ b/docs/pt/config.ts @@ -1,4 +1,4 @@ -import { createRequire } from 'module' +import { createRequire } from 'node:module' import { defineAdditionalConfig, type DefaultTheme } from 'vitepress' const require = createRequire(import.meta.url) diff --git a/docs/pt/guide/routing.md b/docs/pt/guide/routing.md index 996f75bb..eb97ff01 100644 --- a/docs/pt/guide/routing.md +++ b/docs/pt/guide/routing.md @@ -290,7 +290,7 @@ O módulo de carregamento de caminhos é executado no Node.js e apenas durante o Gerando caminhos a partir de arquivos locais: ```js -import fs from 'fs' +import fs from 'node:fs' export default { paths() { diff --git a/docs/ru/config.ts b/docs/ru/config.ts index 515cffba..aec80866 100644 --- a/docs/ru/config.ts +++ b/docs/ru/config.ts @@ -1,4 +1,4 @@ -import { createRequire } from 'module' +import { createRequire } from 'node:module' import { defineAdditionalConfig, type DefaultTheme } from 'vitepress' const require = createRequire(import.meta.url) diff --git a/docs/ru/guide/routing.md b/docs/ru/guide/routing.md index d7971f77..37e48109 100644 --- a/docs/ru/guide/routing.md +++ b/docs/ru/guide/routing.md @@ -329,7 +329,7 @@ export default { Генерация путей из локальных файлов: ```js -import fs from 'fs' +import fs from 'node:fs' export default { paths() { diff --git a/docs/zh/config.ts b/docs/zh/config.ts index 3f20ec50..9769c1a9 100644 --- a/docs/zh/config.ts +++ b/docs/zh/config.ts @@ -1,4 +1,4 @@ -import { createRequire } from 'module' +import { createRequire } from 'node:module' import { defineAdditionalConfig, type DefaultTheme } from 'vitepress' const require = createRequire(import.meta.url) diff --git a/docs/zh/guide/routing.md b/docs/zh/guide/routing.md index db652f97..06fa2eba 100644 --- a/docs/zh/guide/routing.md +++ b/docs/zh/guide/routing.md @@ -291,7 +291,7 @@ export default { 从本地文件生成路径: ```js -import fs from 'fs' +import fs from 'node:fs' export default { paths() { diff --git a/package.json b/package.json index dfc1b25f..0a5624ab 100644 --- a/package.json +++ b/package.json @@ -135,7 +135,6 @@ "@rollup/plugin-node-resolve": "^16.0.3", "@rollup/plugin-replace": "^6.0.3", "@types/cross-spawn": "^6.0.6", - "@types/fs-extra": "^11.0.4", "@types/lodash.template": "^4.5.3", "@types/mark.js": "^8.11.12", "@types/markdown-it-attrs": "^4.1.3", @@ -150,7 +149,6 @@ "conventional-changelog-angular": "^8.3.1", "cross-spawn": "^7.0.6", "esbuild": "^0.27.7", - "fs-extra": "^11.3.5", "get-port": "^7.2.0", "gray-matter": "^4.0.3", "lint-staged": "^16.4.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6a5a2014..46c7c3c9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -137,9 +137,6 @@ importers: '@types/cross-spawn': specifier: ^6.0.6 version: 6.0.6 - '@types/fs-extra': - specifier: ^11.0.4 - version: 11.0.4 '@types/lodash.template': specifier: ^4.5.3 version: 4.5.3 @@ -182,9 +179,6 @@ importers: esbuild: specifier: ^0.27.7 version: 0.27.7 - fs-extra: - specifier: ^11.3.5 - version: 11.3.5 get-port: specifier: ^7.2.0 version: 7.2.0 @@ -1044,18 +1038,12 @@ packages: '@types/estree@1.0.9': resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} - '@types/fs-extra@11.0.4': - resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} - '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} '@types/jquery@4.0.1': resolution: {integrity: sha512-9a59A/tycXgYuPABcp6/3spSShn0NT2UOM4EfHvMumjYi4lJWTsK5SZWjhx3yRm9IHGCeWXdV2YfNsrWrft/CA==} - '@types/jsonfile@6.1.4': - resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} - '@types/linkify-it@5.0.0': resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} @@ -1728,10 +1716,6 @@ packages: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} - fs-extra@11.3.5: - resolution: {integrity: sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==} - engines: {node: '>=14.14'} - fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -1775,9 +1759,6 @@ packages: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - gray-matter@4.0.3: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} @@ -1917,9 +1898,6 @@ packages: resolution: {integrity: sha512-ttBQIIQPDeLjpPOohtUdXuXUVoA2uIB6fEH9HyJ7234s5mBJ5wTx20njxplLZQgLaOfpmPQA7X2t5AX6tIPbog==} hasBin: true - jsonfile@6.2.1: - resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} - juice@8.1.0: resolution: {integrity: sha512-FLzurJrx5Iv1e7CfBSZH68dC04EEvXvvVvPYB7Vx1WAuhCp1ZPIMtqxc+WTWxVkpTIC2Ach/GAv0rQbtGf6YMA==} engines: {node: '>=10.0.0'} @@ -2799,10 +2777,6 @@ packages: unist-util-visit@5.1.0: resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} - universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - unplugin-utils@0.2.5: resolution: {integrity: sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg==} engines: {node: '>=18.12.0'} @@ -3551,21 +3525,12 @@ snapshots: '@types/estree@1.0.9': {} - '@types/fs-extra@11.0.4': - dependencies: - '@types/jsonfile': 6.1.4 - '@types/node': 25.9.4 - '@types/hast@3.0.4': dependencies: '@types/unist': 3.0.3 '@types/jquery@4.0.1': {} - '@types/jsonfile@6.1.4': - dependencies: - '@types/node': 25.9.4 - '@types/linkify-it@5.0.0': {} '@types/lodash.template@4.5.3': @@ -4234,12 +4199,6 @@ snapshots: format@0.2.2: {} - fs-extra@11.3.5: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.2.1 - universalify: 2.0.1 - fsevents@2.3.3: optional: true @@ -4281,8 +4240,6 @@ snapshots: gopd@1.2.0: {} - graceful-fs@4.2.11: {} - gray-matter@4.0.3: dependencies: js-yaml: 3.15.0 @@ -4428,12 +4385,6 @@ snapshots: argparse: 1.0.10 esprima: 4.0.1 - jsonfile@6.2.1: - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - juice@8.1.0: dependencies: cheerio: 1.0.0-rc.10 @@ -5437,8 +5388,6 @@ snapshots: unist-util-is: 6.0.1 unist-util-visit-parents: 6.0.2 - universalify@2.0.1: {} - unplugin-utils@0.2.5: dependencies: pathe: 2.0.3 diff --git a/scripts/copyClient.js b/scripts/copyClient.js index 465be10c..5815352a 100644 --- a/scripts/copyClient.js +++ b/scripts/copyClient.js @@ -1,4 +1,4 @@ -import { copy } from 'fs-extra' +import { cp } from 'node:fs/promises' import { globSync } from 'tinyglobby' function toDest(file) { @@ -7,5 +7,5 @@ function toDest(file) { globSync(['src/client/**']).forEach((file) => { if (/(\.ts|tsconfig\.json)$/.test(file)) return - copy(file, toDest(file)) + cp(file, toDest(file)) }) diff --git a/scripts/copyShared.js b/scripts/copyShared.js index af73c48e..c9512bd1 100644 --- a/scripts/copyShared.js +++ b/scripts/copyShared.js @@ -1,9 +1,9 @@ -import { copy } from 'fs-extra' +import { cp } from 'node:fs/promises' import { globSync } from 'tinyglobby' globSync(['src/shared/**/*.ts']).forEach(async (file) => { await Promise.all([ - copy(file, file.replace(/^src\/shared\//, 'src/node/')), - copy(file, file.replace(/^src\/shared\//, 'src/client/')) + cp(file, file.replace(/^src\/shared\//, 'src/node/')), + cp(file, file.replace(/^src\/shared\//, 'src/client/')) ]) }) diff --git a/scripts/release.js b/scripts/release.js index b35c9019..69ab8efc 100644 --- a/scripts/release.js +++ b/scripts/release.js @@ -1,8 +1,8 @@ import { spawn } from 'node:child_process' import { readFileSync, writeFileSync } from 'node:fs' +import { createRequire } from 'node:module' import { resolve } from 'node:path' import { fileURLToPath } from 'node:url' -import { createRequire } from 'node:module' import c from 'picocolors' import prompts from 'prompts' import semver from 'semver' diff --git a/scripts/watchAndCopy.js b/scripts/watchAndCopy.js index c66085f8..66da6f0d 100644 --- a/scripts/watchAndCopy.js +++ b/scripts/watchAndCopy.js @@ -1,15 +1,15 @@ import { watch } from 'chokidar' -import { copy, remove } from 'fs-extra' +import { cp, rm } from 'node:fs/promises' import { normalizePath } from 'vite' function toClientAndNode(method, file) { file = normalizePath(file) if (method === 'copy') { - copy(file, file.replace(/^src\/shared\//, 'src/node/')) - copy(file, file.replace(/^src\/shared\//, 'src/client/')) + cp(file, file.replace(/^src\/shared\//, 'src/node/')) + cp(file, file.replace(/^src\/shared\//, 'src/client/')) } else if (method === 'remove') { - remove(file.replace(/^src\/shared\//, 'src/node/')) - remove(file.replace(/^src\/shared\//, 'src/client/')) + rm(file.replace(/^src\/shared\//, 'src/node/'), { force: true }) + rm(file.replace(/^src\/shared\//, 'src/client/'), { force: true }) } } @@ -31,6 +31,6 @@ watch('src/client', { ignored: (path, stats) => stats?.isFile() && (path.endsWith('.ts') || path.endsWith('tsconfig.json')) }) - .on('change', (file) => copy(file, toDist(file))) - .on('add', (file) => copy(file, toDist(file))) - .on('unlink', (file) => remove(toDist(file))) + .on('change', (file) => cp(file, toDist(file))) + .on('add', (file) => cp(file, toDist(file))) + .on('unlink', (file) => rm(toDist(file), { force: true })) diff --git a/src/client/index.ts b/src/client/index.ts index 6112e866..47074c43 100644 --- a/src/client/index.ts +++ b/src/client/index.ts @@ -2,8 +2,8 @@ // so the user can do `import { useRoute, useData } from 'vitepress'` // generic types -export type { VitePressData } from './shared' export type { Route, Router } from './app/router' +export type { VitePressData } from './shared' // theme types export type { EnhanceAppContext, Theme } from './app/theme' diff --git a/src/client/theme-default/components/VPButton.vue b/src/client/theme-default/components/VPButton.vue index d0a5de70..707b9180 100644 --- a/src/client/theme-default/components/VPButton.vue +++ b/src/client/theme-default/components/VPButton.vue @@ -1,7 +1,7 @@ diff --git a/src/client/theme-default/components/VPDocAsideCarbonAds.vue b/src/client/theme-default/components/VPDocAsideCarbonAds.vue index d10598dd..a04d4f67 100644 --- a/src/client/theme-default/components/VPDocAsideCarbonAds.vue +++ b/src/client/theme-default/components/VPDocAsideCarbonAds.vue @@ -1,6 +1,6 @@ diff --git a/src/client/theme-default/components/VPMenuLink.vue b/src/client/theme-default/components/VPMenuLink.vue index 028d3e82..c98bf19c 100644 --- a/src/client/theme-default/components/VPMenuLink.vue +++ b/src/client/theme-default/components/VPMenuLink.vue @@ -1,8 +1,8 @@ diff --git a/src/client/theme-default/components/VPNavBarMenuGroup.vue b/src/client/theme-default/components/VPNavBarMenuGroup.vue index 85350d47..4d014a49 100644 --- a/src/client/theme-default/components/VPNavBarMenuGroup.vue +++ b/src/client/theme-default/components/VPNavBarMenuGroup.vue @@ -1,8 +1,8 @@ diff --git a/src/client/theme-default/components/VPNavScreenMenuGroupLink.vue b/src/client/theme-default/components/VPNavScreenMenuGroupLink.vue index 0ed634c0..9a884e01 100644 --- a/src/client/theme-default/components/VPNavScreenMenuGroupLink.vue +++ b/src/client/theme-default/components/VPNavScreenMenuGroupLink.vue @@ -1,8 +1,8 @@ ` - fs.removeSync(path.resolve(config.outDir, matchingChunk.fileName)) + fs.rmSync(path.resolve(config.outDir, matchingChunk.fileName), { + force: true + }) } else { inlinedScript = `` } @@ -189,7 +191,7 @@ export async function renderPage( ` const htmlFileName = path.join(config.outDir, page.replace(/\.md$/, '.html')) - await fs.ensureDir(path.dirname(htmlFileName)) + await fs.promises.mkdir(path.dirname(htmlFileName), { recursive: true }) const transformedHtml = await config.transformHtml?.(html, htmlFileName, { page, siteConfig: config, @@ -201,7 +203,7 @@ export async function renderPage( content, assets }) - await fs.writeFile(htmlFileName, transformedHtml || html) + await fs.promises.writeFile(htmlFileName, transformedHtml || html) } function resolvePageImports( diff --git a/src/node/config.ts b/src/node/config.ts index 24ae5c2b..f2deaf32 100644 --- a/src/node/config.ts +++ b/src/node/config.ts @@ -1,6 +1,6 @@ -import { createDebug } from 'obug' -import fs from 'fs-extra' +import fs from 'node:fs' import path from 'node:path' +import { createDebug } from 'obug' import c from 'picocolors' import { createLogger, @@ -12,6 +12,7 @@ import { } from 'vite' import { DEFAULT_THEME_PATH } from './alias' import type { DefaultTheme } from './defaultTheme' +import type { MarkdownOptions } from './markdown/markdown' import { resolvePages } from './plugins/dynamicRoutesPlugin' import { APPEARANCE_KEY, @@ -23,7 +24,6 @@ import { type HeadConfig, type SiteData } from './shared' -import type { MarkdownOptions } from './markdown/markdown' import type { RawConfigExports, SiteConfig, UserConfig } from './siteConfig' import { glob } from './utils/glob' @@ -124,7 +124,7 @@ export async function resolveConfig( // resolve theme path const userThemeDir = resolve(root, 'theme') - const themeDir = (await fs.pathExists(userThemeDir)) + const themeDir = fs.existsSync(userThemeDir) ? userThemeDir : DEFAULT_THEME_PATH @@ -240,7 +240,7 @@ export async function resolveUserConfig( resolve(root, `config/index.${ext}`), resolve(root, `config.${ext}`) ]) - .find(fs.pathExistsSync) + .find(fs.existsSync) let userConfig: RawConfigExports = {} let configDeps: string[] = [] diff --git a/src/node/contentLoader.ts b/src/node/contentLoader.ts index 406dcf6d..6a15ecd9 100644 --- a/src/node/contentLoader.ts +++ b/src/node/contentLoader.ts @@ -1,5 +1,5 @@ -import fs from 'fs-extra' import matter from 'gray-matter' +import fs from 'node:fs' import path from 'node:path' import pMap from 'p-map' import { normalizePath } from 'vite' diff --git a/src/node/init/init.ts b/src/node/init/init.ts index 71120541..0037ac33 100644 --- a/src/node/init/init.ts +++ b/src/node/init/init.ts @@ -7,8 +7,8 @@ import { select, text } from '@clack/prompts' -import fs from 'fs-extra' import template from 'lodash.template' +import fs from 'node:fs' import path from 'node:path' import { fileURLToPath } from 'node:url' import c from 'picocolors' @@ -200,7 +200,8 @@ export function scaffold({ const content = fs.readFileSync(filePath, 'utf-8') const compiled = template(content)(data) - fs.outputFileSync(targetPath, compiled) + fs.mkdirSync(path.dirname(targetPath), { recursive: true }) + fs.writeFileSync(targetPath, compiled) } const filesToScaffold = [ diff --git a/src/node/markdown/plugins/snippet.ts b/src/node/markdown/plugins/snippet.ts index 71e5e76c..576e56c7 100644 --- a/src/node/markdown/plugins/snippet.ts +++ b/src/node/markdown/plugins/snippet.ts @@ -1,6 +1,6 @@ -import fs from 'fs-extra' import type { MarkdownItAsync } from 'markdown-it-async' import type { RuleBlock } from 'markdown-it/lib/parser_block.mjs' +import fs from 'node:fs' import path from 'node:path' import type { MarkdownEnv } from '../../shared' diff --git a/src/node/markdownToVue.ts b/src/node/markdownToVue.ts index 03bc31d2..6f744acc 100644 --- a/src/node/markdownToVue.ts +++ b/src/node/markdownToVue.ts @@ -1,8 +1,8 @@ import { resolveTitleFromToken } from '@mdit-vue/shared' -import { createDebug } from 'obug' -import fs from 'fs-extra' import { LRUCache } from 'lru-cache' +import fs from 'node:fs' import path from 'node:path' +import { createDebug } from 'obug' import type { SiteConfig } from './config' import { createMarkdownRenderer, diff --git a/src/node/plugins/dynamicRoutesPlugin.ts b/src/node/plugins/dynamicRoutesPlugin.ts index 7b3b326d..4eecfa99 100644 --- a/src/node/plugins/dynamicRoutesPlugin.ts +++ b/src/node/plugins/dynamicRoutesPlugin.ts @@ -1,4 +1,4 @@ -import fs from 'fs-extra' +import fs from 'node:fs' import path from 'node:path' import c from 'picocolors' import pm from 'picomatch' diff --git a/src/node/plugins/localSearchPlugin.ts b/src/node/plugins/localSearchPlugin.ts index 3c260e20..7ba43c1f 100644 --- a/src/node/plugins/localSearchPlugin.ts +++ b/src/node/plugins/localSearchPlugin.ts @@ -1,7 +1,7 @@ -import { createDebug } from 'obug' -import fs from 'fs-extra' import MiniSearch from 'minisearch' +import fs from 'node:fs' import path from 'node:path' +import { createDebug } from 'obug' import type { Plugin, ViteDevServer } from 'vite' import type { SiteConfig } from '../config' import type { DefaultTheme } from '../defaultTheme' diff --git a/src/node/serve/serve.ts b/src/node/serve/serve.ts index 7acaea62..3ff1f0ac 100644 --- a/src/node/serve/serve.ts +++ b/src/node/serve/serve.ts @@ -1,5 +1,5 @@ import compression from '@polka/compression' -import fs from 'fs-extra' +import fs from 'node:fs' import path from 'node:path' import polka, { type IOptions } from 'polka' import sirv from 'sirv' diff --git a/src/node/siteConfig.ts b/src/node/siteConfig.ts index d3181fbf..e727087c 100644 --- a/src/node/siteConfig.ts +++ b/src/node/siteConfig.ts @@ -2,6 +2,10 @@ import type { Options as VuePluginOptions } from '@vitejs/plugin-vue' import type { UseDarkOptions } from '@vueuse/core' import type { SitemapStreamOptions } from 'sitemap' import type { Logger, UserConfig as ViteConfig } from 'vite' +import type { + AdditionalConfigDict, + AdditionalConfigLoader +} from '../../types/shared' import type { SitemapItem } from './build/generateSitemap' import type { MarkdownOptions } from './markdown/markdown' import type { ResolvedRouteConfig } from './plugins/dynamicRoutesPlugin' @@ -14,10 +18,6 @@ import type { SSGContext, SiteData } from './shared' -import type { - AdditionalConfigDict, - AdditionalConfigLoader -} from '../../types/shared' export type RawConfigExports = | Awaitable> diff --git a/src/node/utils/getGitTimestamp.ts b/src/node/utils/getGitTimestamp.ts index 11729aa1..d5ac5ec9 100644 --- a/src/node/utils/getGitTimestamp.ts +++ b/src/node/utils/getGitTimestamp.ts @@ -1,8 +1,8 @@ import { spawn, sync } from 'cross-spawn' -import { createDebug } from 'obug' import fs from 'node:fs' import path from 'node:path' import { Transform, type TransformCallback } from 'node:stream' +import { createDebug } from 'obug' import { slash } from '../shared' const debug = createDebug('vitepress:git') diff --git a/src/shared/shared.ts b/src/shared/shared.ts index c73019e6..59e1a31e 100644 --- a/src/shared/shared.ts +++ b/src/shared/shared.ts @@ -6,6 +6,9 @@ import type { } from '../../types/shared' export type { + AdditionalConfig, + AdditionalConfigDict, + AdditionalConfigLoader, Awaitable, DefaultTheme, HeadConfig, @@ -16,11 +19,8 @@ export type { PageData, PageDataPayload, SiteData, - VitePressData, SSGContext, - AdditionalConfig, - AdditionalConfigDict, - AdditionalConfigLoader + VitePressData } from '../../types/shared' export const EXTERNAL_URL_RE = /^(?:[a-z]+:|\/\/)/i