Prechádzať zdrojové kódy

fix: package env vars (#9221)

David Luzar 4 mesiacov pred
rodič
commit
70c3e921bb

+ 4 - 4
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;
 };
 

+ 1 - 1
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/`;
 

+ 14 - 2
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),
     },
   });
 }