diff --git a/packages/excalidraw/env.cjs b/packages/excalidraw/env.cjs index cb7ead2af..8d7862246 100644 --- a/packages/excalidraw/env.cjs +++ b/packages/excalidraw/env.cjs @@ -4,14 +4,14 @@ const pkg = require("./package.json"); const parseEnvVariables = (filepath) => { const envVars = Object.entries(dotenv.parse(readFileSync(filepath))).reduce( (env, [key, value]) => { - env[key] = JSON.stringify(value); + env[key] = value; return env; }, {}, ); - envVars.VITE_PKG_NAME = JSON.stringify(pkg.name); - envVars.VITE_PKG_VERSION = JSON.stringify(pkg.version); - envVars.VITE_IS_EXCALIDRAW_NPM_PACKAGE = JSON.stringify(true); + envVars.VITE_PKG_NAME = pkg.name; + envVars.VITE_PKG_VERSION = pkg.version; + envVars.VITE_IS_EXCALIDRAW_NPM_PACKAGE = true; return envVars; }; diff --git a/packages/excalidraw/fonts/ExcalidrawFontFace.ts b/packages/excalidraw/fonts/ExcalidrawFontFace.ts index 816ed88bd..a20a45577 100644 --- a/packages/excalidraw/fonts/ExcalidrawFontFace.ts +++ b/packages/excalidraw/fonts/ExcalidrawFontFace.ts @@ -10,7 +10,7 @@ export class ExcalidrawFontFace { private static readonly ASSETS_FALLBACK_URL = `https://esm.sh/${ import.meta.env.VITE_PKG_NAME - ? `${import.meta.env.VITE_PKG_NAME}@${import.meta.env.PKG_VERSION}` // should be provided by vite during package build + ? `${import.meta.env.VITE_PKG_NAME}@${import.meta.env.VITE_PKG_VERSION}` // should be provided by vite during package build : "@excalidraw/excalidraw" // fallback to latest package version (i.e. for app) }/dist/prod/`; diff --git a/scripts/buildPackage.js b/scripts/buildPackage.js index e00eb96cb..653af50f2 100644 --- a/scripts/buildPackage.js +++ b/scripts/buildPackage.js @@ -1,6 +1,18 @@ const path = require("path"); const { build } = require("esbuild"); const { sassPlugin } = require("esbuild-sass-plugin"); +const { parseEnvVariables } = require("../packages/excalidraw/env.cjs"); + +const ENV_VARS = { + development: { + ...parseEnvVariables(`${__dirname}/../.env.development`), + DEV: true, + }, + production: { + ...parseEnvVariables(`${__dirname}/../.env.production`), + PROD: true, + }, +}; // excludes all external dependencies and bundles only the source code const getConfig = (outdir) => ({ @@ -28,7 +40,7 @@ function buildDev(config) { ...config, sourcemap: true, define: { - "import.meta.env": JSON.stringify({ DEV: true }), + "import.meta.env": JSON.stringify(ENV_VARS.development), }, }); } @@ -38,7 +50,7 @@ function buildProd(config) { ...config, minify: true, define: { - "import.meta.env": JSON.stringify({ PROD: true }), + "import.meta.env": JSON.stringify(ENV_VARS.production), }, }); }