diff --git a/Dockerfile b/Dockerfile index 6aecc882d..4feee9d47 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,21 +1,22 @@ -FROM node:21-slim AS base +FROM node:25.7-slim AS base ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" -RUN corepack enable -COPY . /app +RUN npm install -g pnpm@10.30.3 WORKDIR /app +COPY package.json pnpm-lock.yaml ./ FROM base AS prod-deps -RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile +RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile --config.autoInstallPeers=false FROM base AS build -RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile +RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile --config.autoInstallPeers=false +COPY . . RUN pnpm run docs:build FROM base +ENV NODE_ENV=production COPY --from=prod-deps /app/node_modules /app/node_modules COPY --from=build /app/docs/.vitepress/dist /app/docs/.vitepress/dist EXPOSE 4173 - CMD ["pnpm", "docs:preview"] diff --git a/package.json b/package.json index 0a62134a3..273cd9d09 100644 --- a/package.json +++ b/package.json @@ -24,55 +24,55 @@ "@fmhy/components": "^0.0.3", "@headlessui/vue": "^1.7.23", "@resvg/resvg-js": "^2.6.2", - "@vueuse/core": "^14.1.0", - "@vueuse/integrations": "^14.1.0", + "@vueuse/core": "^14.2.1", + "@vueuse/integrations": "^14.2.1", "consola": "^3.4.2", - "feed": "^5.1.0", + "feed": "^5.2.0", "itty-fetcher": "^1.0.10", "mark.js": "^8.11.1", "minisearch": "^7.2.0", "nitro-cors": "^0.7.1", - "nitropack": "^2.12.9", + "nitropack": "^2.13.1", "nprogress": "^0.2.0", "pathe": "^2.0.3", - "reka-ui": "^2.6.1", - "unocss": "66.5.10", + "reka-ui": "^2.9.0", + "unocss": "66.6.4", "vitepress": "^1.6.4", - "vue": "^3.5.25", + "vue": "^3.5.29", "x-satori": "^0.4.0", - "zod": "^4.1.13" + "zod": "^4.3.6" }, "devDependencies": { "@cloudflare/workers-types": "^4.20251202.0", - "@ianvs/prettier-plugin-sort-imports": "^4.7.0", - "@iconify-json/carbon": "^1.2.15", - "@iconify-json/fluent": "^1.2.35", + "@ianvs/prettier-plugin-sort-imports": "^4.7.1", + "@iconify-json/carbon": "^1.2.19", + "@iconify-json/fluent": "^1.2.40", "@iconify-json/fluent-mdl2": "^1.2.1", - "@iconify-json/gravity-ui": "^1.2.10", + "@iconify-json/gravity-ui": "^1.2.11", "@iconify-json/heroicons-solid": "^1.2.1", "@iconify-json/logos": "^1.2.10", - "@iconify-json/lucide": "^1.2.78", - "@iconify-json/material-symbols": "^1.2.49", + "@iconify-json/lucide": "^1.2.95", + "@iconify-json/material-symbols": "^1.2.59", "@iconify-json/mdi": "^1.2.3", "@iconify-json/ph": "^1.2.2", - "@iconify-json/qlementine-icons": "^1.2.12", - "@iconify-json/simple-icons": "^1.2.61", - "@iconify-json/twemoji": "^1.2.4", + "@iconify-json/qlementine-icons": "^1.2.14", + "@iconify-json/simple-icons": "^1.2.72", + "@iconify-json/twemoji": "^1.2.5", "@iconify/utils": "^3.1.0", - "@types/node": "^24.10.1", + "@types/node": "^25.3.3", "@types/nprogress": "^0.2.3", - "@vue/compiler-sfc": "^3.5.27", + "@vue/compiler-sfc": "^3.5.29", "floating-vue": "^5.2.2", "nitro-cloudflare-dev": "^0.2.2", - "prettier": "^3.7.4", - "prettier-plugin-pkgsort": "^0.2.1", + "prettier": "^3.8.1", + "prettier-plugin-pkgsort": "^0.3.0", "prettier-plugin-tailwindcss": "^0.7.2", - "sass": "^1.94.2", + "sass": "^1.97.3", "typescript": "^5.9.3", - "unplugin-auto-import": "^20.3.0", + "unplugin-auto-import": "^21.0.0", "vite-plugin-optimize-exclude": "^0.0.1", "vite-plugin-pwa": "^1.2.0", - "vite-plugin-terminal": "^1.3.0", + "vite-plugin-terminal": "^1.4.0", "wrangler": "^4.52.1" }, "pnpm": { @@ -83,7 +83,11 @@ ] }, "onlyBuiltDependencies": [ - "vue-demi" + "@parcel/watcher", + "esbuild", + "sharp", + "vue-demi", + "workerd" ] } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 820f45b8a..4a3498bbc 100644 Binary files a/pnpm-lock.yaml and b/pnpm-lock.yaml differ