Browse Source

fix: package env vars (#9221)

pull/9233/head
David Luzar 10 months ago committed by GitHub
parent
commit
70c3e921bb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 8
      packages/excalidraw/env.cjs
  2. 2
      packages/excalidraw/fonts/ExcalidrawFontFace.ts
  3. 16
      scripts/buildPackage.js

8
packages/excalidraw/env.cjs

@ -4,14 +4,14 @@ const pkg = require("./package.json"); @@ -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;
};

2
packages/excalidraw/fonts/ExcalidrawFontFace.ts

@ -10,7 +10,7 @@ export class ExcalidrawFontFace { @@ -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/`;

16
scripts/buildPackage.js

@ -1,6 +1,18 @@ @@ -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) { @@ -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) { @@ -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),
},
});
}

Loading…
Cancel
Save