diff --git a/app/[docs_id]/page.tsx b/app/[docs_id]/page.tsx index 2841b68..59202da 100644 --- a/app/[docs_id]/page.tsx +++ b/app/[docs_id]/page.tsx @@ -3,7 +3,6 @@ import { getCloudflareContext } from "@opennextjs/cloudflare"; import { readFile } from "node:fs/promises"; import { join } from "node:path"; import { MarkdownSection, splitMarkdown } from "./splitMarkdown"; -import pyodideLock from "pyodide/pyodide-lock.json"; import { PageContent } from "./pageContent"; import { ChatHistoryProvider } from "./chatHistory"; import { getChatFromCache } from "@/lib/chatHistory"; @@ -39,12 +38,6 @@ export default async function Page({ notFound(); }); } - mdContent = mdContent.then((text) => - text.replaceAll( - "{process.env.PYODIDE_PYTHON_VERSION}", - String(pyodideLock.info.python) - ) - ); const splitMdContent: Promise = mdContent.then((text) => splitMarkdown(text) diff --git a/app/terminal/python/runtime.tsx b/app/terminal/python/runtime.tsx index a7eb4b2..84996af 100644 --- a/app/terminal/python/runtime.tsx +++ b/app/terminal/python/runtime.tsx @@ -27,7 +27,7 @@ export function usePyodide(): RuntimeContext { type MessageToWorker = | { type: "init"; - payload: { PYODIDE_CDN: string; interruptBuffer: Uint8Array }; + payload: { interruptBuffer: Uint8Array }; } | { type: "runPython"; @@ -90,11 +90,9 @@ export function PyodideProvider({ children }: { children: ReactNode }) { } }; - // next.config.ts 内でpyodideをimportし、バージョンを取得している - const PYODIDE_CDN = `https://cdn.jsdelivr.net/pyodide/v${process.env.PYODIDE_VERSION}/full/`; postMessage({ type: "init", - payload: { PYODIDE_CDN, interruptBuffer: interruptBuffer.current }, + payload: { interruptBuffer: interruptBuffer.current }, }).then(({ success }) => { if (success) { setReady(true); diff --git a/next.config.ts b/next.config.ts index 8ec6405..d0cf482 100644 --- a/next.config.ts +++ b/next.config.ts @@ -1,6 +1,5 @@ import type { NextConfig } from "next"; import { initOpenNextCloudflareForDev } from "@opennextjs/cloudflare"; -import { version as pyodideVersion } from "pyodide"; initOpenNextCloudflareForDev(); @@ -12,9 +11,6 @@ const nextConfig: NextConfig = { typescript: { ignoreBuildErrors: true, }, - env: { - PYODIDE_VERSION: pyodideVersion, - }, serverExternalPackages: ["@prisma/client", ".prisma/client"], async headers() { // pyodideをworkerで動作させるために必要 diff --git a/package-lock.json b/package-lock.json index 403fe39..e517bfa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,6 @@ "next": "<15.5", "pg": "^8.16.3", "prismjs": "^1.30.0", - "pyodide": "^0.28.1", "react": "19.1.0", "react-ace": "^14.0.1", "react-dom": "19.1.0", @@ -19793,18 +19792,6 @@ "node": ">=16.0.0" } }, - "node_modules/pyodide": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/pyodide/-/pyodide-0.28.1.tgz", - "integrity": "sha512-7O1jZdfUc4/9PAKzEIyLOh3yhxknTWA8xQaCfZ4R56pOnchS909x2sqt2Wh+qHf+b7MzyB8igE5ZzYdP1pZN5w==", - "license": "MPL-2.0", - "dependencies": { - "ws": "^8.5.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, "node_modules/qs": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", diff --git a/package.json b/package.json index 799139b..8cf82dd 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,6 @@ "next": "<15.5", "pg": "^8.16.3", "prismjs": "^1.30.0", - "pyodide": "^0.28.1", "react": "19.1.0", "react-ace": "^14.0.1", "react-dom": "19.1.0", diff --git a/public/docs/python-1.md b/public/docs/python-1.md index bd00a1b..0990183 100644 --- a/public/docs/python-1.md +++ b/public/docs/python-1.md @@ -33,7 +33,7 @@ macOSでは、**Homebrew** というパッケージマネージャを使って ### ブラウザで今すぐ試す -このウェブサイトではドキュメント内に Python {process.env.PYODIDE_PYTHON_VERSION} の実行環境を埋め込んでいます。 +このウェブサイトではドキュメント内にPython3の実行環境を埋め込んでいます。 以下のように青枠で囲われたコード例には自由にPythonコードを書いて試すことができます。気軽に利用してください。 ```python-repl:1 diff --git a/public/pyodide.worker.js b/public/pyodide.worker.js index 2f0a047..2d6a714 100644 --- a/public/pyodide.worker.js +++ b/public/pyodide.worker.js @@ -1,6 +1,7 @@ // Pyodide web worker let pyodide; let pyodideOutput = []; +const PYODIDE_CDN = `https://cdn.jsdelivr.net/pyodide/v0.28.1/full/`; // Helper function to read all files from the Pyodide file system function readAllFiles() { @@ -19,7 +20,7 @@ function readAllFiles() { } async function init(id, payload) { - const { PYODIDE_CDN, interruptBuffer } = payload; + const { interruptBuffer } = payload; if (!pyodide) { importScripts(`${PYODIDE_CDN}pyodide.js`); pyodide = await loadPyodide({