diff --git a/.gitignore b/.gitignore index a547bf3..50c8dda 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,5 @@ dist-ssr *.njsproj *.sln *.sw? + +.env diff --git a/main.js b/main.js index a8b1e3b..d08723b 100644 --- a/main.js +++ b/main.js @@ -2,6 +2,8 @@ import './style.css' import { WebContainer } from '@webcontainer/api'; import { files } from './files'; +Object.assign(window, WEBCONTAINER_STARTER_ENV); + /** @type {import('@webcontainer/api').WebContainer} */ let webcontainerInstance; @@ -12,7 +14,7 @@ window.addEventListener('load', async () => { }); // Call only once - webcontainerInstance = await WebContainer.boot(); + webcontainerInstance = await WebContainer.boot({ coep: 'credentialless'}); await webcontainerInstance.mount(files); const exitCode = await installDependencies(); @@ -68,4 +70,4 @@ document.querySelector('#app').innerHTML = ` const iframeEl = document.querySelector('iframe'); /** @type {HTMLTextAreaElement | null} */ -const textareaEl = document.querySelector('textarea'); \ No newline at end of file +const textareaEl = document.querySelector('textarea'); diff --git a/package-lock.json b/package-lock.json index 0046e1b..b85b2b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "webcontainers-api-starter", "version": "0.0.0", "dependencies": { - "@webcontainer/api": "^1.1.3" + "@webcontainer/api": "^1.1.8" }, "devDependencies": { "vite": "^4.1.0" @@ -367,9 +367,9 @@ } }, "node_modules/@webcontainer/api": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@webcontainer/api/-/api-1.1.3.tgz", - "integrity": "sha512-yGg94XaR402Fo4McEW+K4opBZDLR7M8/BGtGo7y8dnzVZeZDm54bChuRASpyt4YdSaikEB7wUOI2NoXZwG08Dg==" + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@webcontainer/api/-/api-1.1.8.tgz", + "integrity": "sha512-m9WRj38oCoFPrqZOTeJcncPjnZ00FZUMq9YHEXxdhAoYhhQ69Rz4qK5p444cIPaMy2j8H7HcNLcAIwMGWnpMpw==" }, "node_modules/esbuild": { "version": "0.16.17", @@ -760,9 +760,9 @@ "optional": true }, "@webcontainer/api": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@webcontainer/api/-/api-1.1.3.tgz", - "integrity": "sha512-yGg94XaR402Fo4McEW+K4opBZDLR7M8/BGtGo7y8dnzVZeZDm54bChuRASpyt4YdSaikEB7wUOI2NoXZwG08Dg==" + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@webcontainer/api/-/api-1.1.8.tgz", + "integrity": "sha512-m9WRj38oCoFPrqZOTeJcncPjnZ00FZUMq9YHEXxdhAoYhhQ69Rz4qK5p444cIPaMy2j8H7HcNLcAIwMGWnpMpw==" }, "esbuild": { "version": "0.16.17", diff --git a/package.json b/package.json index 6f6b094..3df8811 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,6 @@ "vite": "^4.1.0" }, "dependencies": { - "@webcontainer/api": "^1.1.3" + "@webcontainer/api": "^1.1.8" } } diff --git a/vite.config.js b/vite.config.js index 06e93ca..23e5251 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,10 +1,13 @@ -import { defineConfig } from 'vite'; +import { defineConfig, loadEnv } from 'vite'; -export default defineConfig({ +export default defineConfig(({ mode }) => ({ + define: { + WEBCONTAINER_STARTER_ENV: JSON.stringify(loadEnv(mode, process.cwd(), 'WEBCONTAINER_')) + }, server: { headers: { - 'Cross-Origin-Embedder-Policy': 'require-corp', + 'Cross-Origin-Embedder-Policy': 'credentialless', 'Cross-Origin-Opener-Policy': 'same-origin', }, }, -}); \ No newline at end of file +}));