diff --git a/astro.config.mjs b/astro.config.mjs index e68ec00..412159d 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -8,10 +8,10 @@ import expressiveCode from "astro-expressive-code"; import icon from "astro-icon"; import { defineConfig } from "astro/config"; import rehypeAutolinkHeadings from "rehype-autolink-headings"; -import rehypeComponents from "rehype-components"; /* Render the custom directive content */ +import rehypeComponents from "rehype-components";/* Render the custom directive content */ import rehypeKatex from "rehype-katex"; import rehypeSlug from "rehype-slug"; -import remarkDirective from "remark-directive"; /* Handle directives */ +import remarkDirective from "remark-directive";/* Handle directives */ import remarkGithubAdmonitionsToDirectives from "remark-github-admonitions-to-directives"; import remarkMath from "remark-math"; import remarkSectionize from "remark-sectionize"; @@ -24,12 +24,15 @@ import { remarkExcerpt } from "./src/plugins/remark-excerpt.js"; import { remarkReadingTime } from "./src/plugins/remark-reading-time.mjs"; import { pluginCustomCopyButton } from "./src/plugins/expressive-code/custom-copy-button.js"; +import cloudflare from "@astrojs/cloudflare"; + // https://astro.build/config export default defineConfig({ - site: "https://blog.alinche666.dpdns.org/", - base: "/", - trailingSlash: "always", - integrations: [ + site: "https://blog.alinche666.dpdns.org/", + base: "/", + trailingSlash: "always", + + integrations: [ tailwind({ nesting: true, }), @@ -102,7 +105,8 @@ export default defineConfig({ svelte(), sitemap(), ], - markdown: { + + markdown: { remarkPlugins: [ remarkMath, remarkReadingTime, @@ -153,7 +157,8 @@ export default defineConfig({ ], ], }, - vite: { + + vite: { build: { rollupOptions: { onwarn(warning, warn) { @@ -169,4 +174,6 @@ export default defineConfig({ }, }, }, -}); + + adapter: cloudflare() +}); \ No newline at end of file diff --git a/package.json b/package.json index 8e06984..a2ed42d 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ }, "dependencies": { "@astrojs/check": "^0.9.9", - "@astrojs/cloudflare": "12", + "@astrojs/cloudflare": "^12.6.13", "@astrojs/rss": "^4.0.19", "@astrojs/sitemap": "^3.7.3", "@astrojs/svelte": "7.2.5", @@ -74,7 +74,7 @@ "@types/sanitize-html": "^2.16.1", "postcss-import": "^16.1.1", "postcss-nesting": "^13.0.2", - "wrangler": "^4.107.0" + "wrangler": "^4.110.0" }, "packageManager": "pnpm@9.14.4" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5a5970e..e731526 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,7 +12,7 @@ importers: specifier: ^0.9.9 version: 0.9.9(prettier@3.9.4)(typescript@5.9.3) '@astrojs/cloudflare': - specifier: '12' + specifier: ^12.6.13 version: 12.6.13(@types/node@26.1.0)(astro@5.18.2(@types/node@26.1.0)(jiti@1.21.7)(lightningcss@1.29.3)(rollup@2.80.0)(sass@1.80.4)(stylus@0.64.0)(terser@5.48.0)(typescript@5.9.3)(yaml@2.9.0))(jiti@1.21.7)(lightningcss@1.29.3)(sass@1.80.4)(stylus@0.64.0)(terser@5.48.0)(yaml@2.9.0) '@astrojs/rss': specifier: ^4.0.19 @@ -172,8 +172,8 @@ importers: specifier: ^13.0.2 version: 13.0.2(postcss@8.5.16) wrangler: - specifier: ^4.107.0 - version: 4.107.0(@cloudflare/workers-types@4.20260702.1) + specifier: ^4.110.0 + version: 4.110.0(@cloudflare/workers-types@4.20260702.1) packages: @@ -914,8 +914,8 @@ packages: cpu: [x64] os: [darwin] - '@cloudflare/workerd-darwin-64@1.20260701.1': - resolution: {integrity: sha512-Zd9Y1bah6DwwBN2RW8vJohffQrIUazb8UXnqSNecOxM+jJLhUuvv5IOG8dbHcV83TyZAubea6gsQXo2yH1lDdw==} + '@cloudflare/workerd-darwin-64@1.20260708.1': + resolution: {integrity: sha512-HXFCvhS1wpg3uXO0CLUwmwC41i2loM5FSK69EUchOBpmYBAXxT1oHLm6EOA5lqhTk5Mu9kjRiQYxa1GwKPwfJg==} engines: {node: '>=16'} cpu: [x64] os: [darwin] @@ -926,8 +926,8 @@ packages: cpu: [arm64] os: [darwin] - '@cloudflare/workerd-darwin-arm64@1.20260701.1': - resolution: {integrity: sha512-yBLsjS1qCWqFyCY37qRUrYfzHHvMGvjh8zRKJ6MvUivYDhkZTzqduppK38FoqYvayLJ5KbcxH7zo5rkxGqbsaA==} + '@cloudflare/workerd-darwin-arm64@1.20260708.1': + resolution: {integrity: sha512-JVlJaKDoRTVKSroHIlf8g3UCPjKj4iDbMZE2CNYht5qQ+2rL0FAUiVlV82G3BqKnnw9kHYnnsMzC08b9zVtdzA==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] @@ -938,8 +938,8 @@ packages: cpu: [x64] os: [linux] - '@cloudflare/workerd-linux-64@1.20260701.1': - resolution: {integrity: sha512-vMfqSIMfoo4xmZXEuUVqLpSFS921YKjiR9q7kDXPi6Vld1PK74UHg9LZuBavT2KSyemHUCTpj9y/4JSYOEyQbQ==} + '@cloudflare/workerd-linux-64@1.20260708.1': + resolution: {integrity: sha512-3daE60YdD7YX0Jtuzc9DE/r/qMkmx8ZvHTkF8Mzmp3F5tbzlV0DAzmu5PFUPF2WuvtKbAhZKbvC2cHmWpQYxnA==} engines: {node: '>=16'} cpu: [x64] os: [linux] @@ -950,8 +950,8 @@ packages: cpu: [arm64] os: [linux] - '@cloudflare/workerd-linux-arm64@1.20260701.1': - resolution: {integrity: sha512-HRfwbKU2pK44V2NhoM0+iH0JJSj7nQ9Wv13ifIiGYCmTtDL8/zKtEhX7kQ3D4Vy/Cpjhttl0FkfqXj1aqLDPPg==} + '@cloudflare/workerd-linux-arm64@1.20260708.1': + resolution: {integrity: sha512-VLdNYOx5Hj+9C6isy0ACWZsbMtSxex2DIJWEe7cZxUdlphZ58ZT8zxNXK8yunFiowd34hn3VwGMopdvdj8lvmA==} engines: {node: '>=16'} cpu: [arm64] os: [linux] @@ -962,8 +962,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workerd-windows-64@1.20260701.1': - resolution: {integrity: sha512-ngxCiIN9s/fM2o1IBMD0o1/mcXrv2NJVdyznh51UH8sQuvrTrXvV2nM0Uj/qU2wMwF6prgNBcdcd7AZeZGiBQA==} + '@cloudflare/workerd-windows-64@1.20260708.1': + resolution: {integrity: sha512-bC/aSAwLy16Vjo24i9XU3aWH+eRgz7NeR5xPKavGbembO18ZywYTQbXh14eXtY6fAqN3RzRG8psijTdhX4xydA==} engines: {node: '>=16'} cpu: [x64] os: [win32] @@ -4369,8 +4369,8 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - miniflare@4.20260701.0: - resolution: {integrity: sha512-L6eAAi6IKtyb/7J6L+YsH2vb1yBrJWKRXI293JYDiMl70+6nncdAgigex58w6WBd+CwvdMsqOyNyGs95Op5gWQ==} + miniflare@4.20260708.1: + resolution: {integrity: sha512-c94O9zRDISdqO18EHt6l0iF/fWgWt8p18PJvRsA/L/NJZ9Cfke3s/F5Blg1XXF7WDutVRzWVWy8Vy4LaT5ifsA==} engines: {node: '>=22.0.0'} hasBin: true @@ -6051,17 +6051,17 @@ packages: engines: {node: '>=16'} hasBin: true - workerd@1.20260701.1: - resolution: {integrity: sha512-uF813NG09JwNRRUfJ0zBomyTslSPM810dMj9LVvkQ7RAkLrQLzAlPU8Xh/3dIqZDo2bfd7tChbf2PtqLRARRJQ==} + workerd@1.20260708.1: + resolution: {integrity: sha512-WAK+Kt/VVCSldH2qSr8lx46XCJ4Q+bdlHNaFqUtOHthBEIB8C1N8HVW+VOLrxDoTCk0NGNv0zajnBeQK4JOB9w==} engines: {node: '>=16'} hasBin: true - wrangler@4.107.0: - resolution: {integrity: sha512-fw69ThymNitZ0oIEBU2yNeq3kK59UKz/jyA3udwRrQIAIsxX57q5qLOpPTN7qc5t8n9pnUeofe0uxtMuhQZW8w==} + wrangler@4.110.0: + resolution: {integrity: sha512-xZeXKYi7hxQRF5anL+v77RkufJNpF9f3Eqeyqq2QBsETpLZgh0Agj0jJ6JPtkbgn6ukZdh8OK5egsGPWIditgg==} engines: {node: '>=22.0.0'} hasBin: true peerDependencies: - '@cloudflare/workers-types': ^4.20260701.1 + '@cloudflare/workers-types': ^5.20260708.1 peerDependenciesMeta: '@cloudflare/workers-types': optional: true @@ -7175,40 +7175,40 @@ snapshots: optionalDependencies: workerd: 1.20260114.0 - '@cloudflare/unenv-preset@2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260701.1)': + '@cloudflare/unenv-preset@2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260708.1)': dependencies: unenv: 2.0.0-rc.24 optionalDependencies: - workerd: 1.20260701.1 + workerd: 1.20260708.1 '@cloudflare/workerd-darwin-64@1.20260114.0': optional: true - '@cloudflare/workerd-darwin-64@1.20260701.1': + '@cloudflare/workerd-darwin-64@1.20260708.1': optional: true '@cloudflare/workerd-darwin-arm64@1.20260114.0': optional: true - '@cloudflare/workerd-darwin-arm64@1.20260701.1': + '@cloudflare/workerd-darwin-arm64@1.20260708.1': optional: true '@cloudflare/workerd-linux-64@1.20260114.0': optional: true - '@cloudflare/workerd-linux-64@1.20260701.1': + '@cloudflare/workerd-linux-64@1.20260708.1': optional: true '@cloudflare/workerd-linux-arm64@1.20260114.0': optional: true - '@cloudflare/workerd-linux-arm64@1.20260701.1': + '@cloudflare/workerd-linux-arm64@1.20260708.1': optional: true '@cloudflare/workerd-windows-64@1.20260114.0': optional: true - '@cloudflare/workerd-windows-64@1.20260701.1': + '@cloudflare/workerd-windows-64@1.20260708.1': optional: true '@cloudflare/workers-types@4.20260702.1': {} @@ -10923,12 +10923,12 @@ snapshots: - bufferutil - utf-8-validate - miniflare@4.20260701.0: + miniflare@4.20260708.1: dependencies: '@cspotcode/source-map-support': 0.8.1 sharp: 0.34.5 undici: 7.28.0 - workerd: 1.20260701.1 + workerd: 1.20260708.1 ws: 8.21.0 youch: 4.1.0-beta.10 transitivePeerDependencies: @@ -12831,24 +12831,24 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20260114.0 '@cloudflare/workerd-windows-64': 1.20260114.0 - workerd@1.20260701.1: + workerd@1.20260708.1: optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20260701.1 - '@cloudflare/workerd-darwin-arm64': 1.20260701.1 - '@cloudflare/workerd-linux-64': 1.20260701.1 - '@cloudflare/workerd-linux-arm64': 1.20260701.1 - '@cloudflare/workerd-windows-64': 1.20260701.1 + '@cloudflare/workerd-darwin-64': 1.20260708.1 + '@cloudflare/workerd-darwin-arm64': 1.20260708.1 + '@cloudflare/workerd-linux-64': 1.20260708.1 + '@cloudflare/workerd-linux-arm64': 1.20260708.1 + '@cloudflare/workerd-windows-64': 1.20260708.1 - wrangler@4.107.0(@cloudflare/workers-types@4.20260702.1): + wrangler@4.110.0(@cloudflare/workers-types@4.20260702.1): dependencies: '@cloudflare/kv-asset-handler': 0.5.0 - '@cloudflare/unenv-preset': 2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260701.1) + '@cloudflare/unenv-preset': 2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260708.1) blake3-wasm: 2.1.5 esbuild: 0.28.1 - miniflare: 4.20260701.0 + miniflare: 4.20260708.1 path-to-regexp: 6.3.0 unenv: 2.0.0-rc.24 - workerd: 1.20260701.1 + workerd: 1.20260708.1 optionalDependencies: '@cloudflare/workers-types': 4.20260702.1 fsevents: 2.3.3 diff --git a/public/.assetsignore b/public/.assetsignore new file mode 100644 index 0000000..1b006a0 --- /dev/null +++ b/public/.assetsignore @@ -0,0 +1,2 @@ +_worker.js +_routes.json \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 3c708e6..78b7016 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,24 +1,41 @@ { - "extends": "astro/tsconfigs/strict", - "compilerOptions": { - "baseUrl": ".", - "strictNullChecks": true, - "allowJs": false, - "declaration": true, - "plugins": [ - { - "name": "@astrojs/ts-plugin" - } - ], - "paths": { - "@components/*": ["src/components/*"], - "@assets/*": ["src/assets/*"], - "@constants/*": ["src/constants/*"], - "@utils/*": ["src/utils/*"], - "@i18n/*": ["src/i18n/*"], - "@layouts/*": ["src/layouts/*"], - "@/*": ["src/*"] - } - }, - "include": ["src/**/*"] -} + "extends": "astro/tsconfigs/strict", + "compilerOptions": { + "baseUrl": ".", + "strictNullChecks": true, + "allowJs": false, + "declaration": true, + "plugins": [ + { + "name": "@astrojs/ts-plugin" + } + ], + "paths": { + "@components/*": [ + "src/components/*" + ], + "@assets/*": [ + "src/assets/*" + ], + "@constants/*": [ + "src/constants/*" + ], + "@utils/*": [ + "src/utils/*" + ], + "@i18n/*": [ + "src/i18n/*" + ], + "@layouts/*": [ + "src/layouts/*" + ], + "@/*": [ + "src/*" + ] + } + }, + "include": [ + "src/**/*", + "./worker-configuration.d.ts" + ] +} \ No newline at end of file diff --git a/wrangler.jsonc b/wrangler.jsonc new file mode 100644 index 0000000..e099889 --- /dev/null +++ b/wrangler.jsonc @@ -0,0 +1,17 @@ +{ + "$schema": "node_modules/wrangler/config-schema.json", + "name": "blog", + "compatibility_date": "2026-07-10", + "observability": { + "enabled": true + }, + "main": "dist/_worker.js/index.js", + "compatibility_flags": [ + "global_fetch_strictly_public", + "nodejs_compat" + ], + "assets": { + "binding": "ASSETS", + "directory": "dist" + } +}