diff --git a/editor/frontend/package.json b/editor/frontend/package.json index 9138ad0..0b8815d 100644 --- a/editor/frontend/package.json +++ b/editor/frontend/package.json @@ -10,6 +10,7 @@ "preview": "npm run build && vite preview" }, "devDependencies": { + "@types/node": "^24.10.2", "html-minifier-terser": "^7.2.0", "prettier": "3.7.4", "typescript": "^5.9.3", diff --git a/editor/frontend/vite.config.ts b/editor/frontend/vite.config.ts index 36ede3a..8d9f53c 100644 --- a/editor/frontend/vite.config.ts +++ b/editor/frontend/vite.config.ts @@ -1,36 +1,43 @@ -import { defineConfig } from 'vite'; +/// + +import { defineConfig, loadEnv } from 'vite'; import { minify as htmlMinify } from 'html-minifier-terser'; +import process from 'node:process'; -export default defineConfig({ - appType: 'mpa', - base: '/editor/', - build: { - minify: true, - sourcemap: true, - }, - server: { - port: 3000, - proxy: { - '/s': { - target: 'http://localhost:5000', - }, + +export default defineConfig(({ mode }) => { + const baseUrl = mode === 'production' ? '' : '/editor/'; + return { + appType: 'mpa', + base: baseUrl, + build: { + minify: true, + sourcemap: true, }, - }, - - plugins: [ - { - name: 'html-minifier', - transformIndexHtml: { - order: 'post', - handler(html) { - return htmlMinify(html, { - collapseWhitespace: true, - removeComments: true, - minifyCSS: true, - minifyJS: true, - }); + server: { + port: 3000, + proxy: { + '/s': { + target: 'http://localhost:5000', }, }, }, - ], + + plugins: [ + { + name: 'html-minifier', + transformIndexHtml: { + order: 'post', + handler(html) { + return htmlMinify(html, { + collapseWhitespace: true, + removeComments: true, + minifyCSS: true, + minifyJS: true, + }); + }, + }, + }, + ], + }; }); diff --git a/editor/frontend/yarn.lock b/editor/frontend/yarn.lock index f3f3f21..7a45718 100644 --- a/editor/frontend/yarn.lock +++ b/editor/frontend/yarn.lock @@ -281,6 +281,13 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== +"@types/node@^24.10.2": + version "24.10.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.2.tgz#82a57476a19647d8f2c7750d0924788245e39b26" + integrity sha512-WOhQTZ4G8xZ1tjJTvKOpyEVSGgOTvJAfDK3FNFgELyaTpzhdgHVHeqW8V+UJvzF5BT+/B54T/1S2K6gd9c7bbA== + dependencies: + undici-types "~7.16.0" + acorn@^8.15.0: version "8.15.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" @@ -578,6 +585,11 @@ typescript@^5.9.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.3.tgz#5b4f59e15310ab17a216f5d6cf53ee476ede670f" integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw== +undici-types@~7.16.0: + version "7.16.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.16.0.tgz#ffccdff36aea4884cbfce9a750a0580224f58a46" + integrity sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw== + vite@^7.2.6: version "7.2.7" resolved "https://registry.yarnpkg.com/vite/-/vite-7.2.7.tgz#0789a4c3206081699f34a9ecca2dda594a07478e"