mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-05-03 10:00:07 -04:00
Fix esbuild & ts build issues
This commit is contained in:
parent
c82f486e88
commit
cc2916215a
9 changed files with 66 additions and 31 deletions
16
packages/common/global.d.ts
vendored
16
packages/common/global.d.ts
vendored
|
@ -1,13 +1,3 @@
|
||||||
interface Window {
|
/// <reference types="vite/client" />
|
||||||
EXCALIDRAW_EXPORT_SOURCE: string;
|
import "@excalidraw/excalidraw/global";
|
||||||
}
|
import "@excalidraw/excalidraw/css";
|
||||||
|
|
||||||
interface ImportMetaEnv {
|
|
||||||
MODE: string;
|
|
||||||
DEV: string;
|
|
||||||
PROD: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface ImportMeta {
|
|
||||||
readonly env: ImportMetaEnv;
|
|
||||||
}
|
|
||||||
|
|
|
@ -60,6 +60,6 @@
|
||||||
"repository": "https://github.com/excalidraw/excalidraw",
|
"repository": "https://github.com/excalidraw/excalidraw",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"gen:types": "rm -rf types && tsc",
|
"gen:types": "rm -rf types && tsc",
|
||||||
"build:esm": "rm -rf dist && node ../../scripts/buildShared.js && yarn gen:types"
|
"build:esm": "rm -rf dist && node ../../scripts/buildBase.js && yarn gen:types"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
15
packages/element/global.d.ts
vendored
15
packages/element/global.d.ts
vendored
|
@ -1,12 +1,3 @@
|
||||||
interface ImportMetaEnv {
|
/// <reference types="vite/client" />
|
||||||
MODE: string;
|
import "@excalidraw/excalidraw/global";
|
||||||
DEV: string;
|
import "@excalidraw/excalidraw/css";
|
||||||
PROD: string;
|
|
||||||
|
|
||||||
// To enable bounding box for text containers
|
|
||||||
VITE_APP_DEBUG_ENABLE_TEXT_CONTAINER_BOUNDING_BOX: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface ImportMeta {
|
|
||||||
readonly env: ImportMetaEnv;
|
|
||||||
}
|
|
||||||
|
|
|
@ -58,6 +58,6 @@
|
||||||
"repository": "https://github.com/excalidraw/excalidraw",
|
"repository": "https://github.com/excalidraw/excalidraw",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"gen:types": "rm -rf types && tsc",
|
"gen:types": "rm -rf types && tsc",
|
||||||
"build:esm": "rm -rf dist && node ../../scripts/buildShared.js && yarn gen:types"
|
"build:esm": "rm -rf dist && node ../../scripts/buildBase.js && yarn gen:types"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
2
packages/excalidraw/vite-env.d.ts
vendored
2
packages/excalidraw/vite-env.d.ts
vendored
|
@ -24,6 +24,8 @@ interface ImportMetaEnv {
|
||||||
// whether to disable live reload / HMR. Usuaully what you want to do when
|
// whether to disable live reload / HMR. Usuaully what you want to do when
|
||||||
// debugging Service Workers.
|
// debugging Service Workers.
|
||||||
VITE_APP_DEV_DISABLE_LIVE_RELOAD: string;
|
VITE_APP_DEV_DISABLE_LIVE_RELOAD: string;
|
||||||
|
// To enable bounding box for text containers
|
||||||
|
VITE_APP_DEBUG_ENABLE_TEXT_CONTAINER_BOUNDING_BOX: string;
|
||||||
|
|
||||||
FAST_REFRESH: string;
|
FAST_REFRESH: string;
|
||||||
|
|
||||||
|
|
|
@ -54,6 +54,6 @@
|
||||||
"repository": "https://github.com/excalidraw/excalidraw",
|
"repository": "https://github.com/excalidraw/excalidraw",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"gen:types": "rm -rf types && tsc",
|
"gen:types": "rm -rf types && tsc",
|
||||||
"build:esm": "rm -rf dist && node ../../scripts/buildShared.js && yarn gen:types"
|
"build:esm": "rm -rf dist && node ../../scripts/buildBase.js && yarn gen:types"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,6 +70,6 @@
|
||||||
"repository": "https://github.com/excalidraw/excalidraw",
|
"repository": "https://github.com/excalidraw/excalidraw",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"gen:types": "rm -rf types && tsc",
|
"gen:types": "rm -rf types && tsc",
|
||||||
"build:esm": "rm -rf dist && node ../../scripts/buildShared.js && yarn gen:types"
|
"build:esm": "rm -rf dist && node ../../scripts/buildUtils.js && yarn gen:types"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
52
scripts/buildBase.js
Normal file
52
scripts/buildBase.js
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
const path = require("path");
|
||||||
|
|
||||||
|
const { build } = require("esbuild");
|
||||||
|
|
||||||
|
// contains all dependencies bundled inside
|
||||||
|
const getConfig = (outdir) => ({
|
||||||
|
outdir,
|
||||||
|
bundle: true,
|
||||||
|
format: "esm",
|
||||||
|
entryPoints: ["src/index.ts"],
|
||||||
|
entryNames: "[name]",
|
||||||
|
assetNames: "[dir]/[name]",
|
||||||
|
alias: {
|
||||||
|
"@excalidraw/common": path.resolve(__dirname, "../packages/common/src"),
|
||||||
|
"@excalidraw/element": path.resolve(__dirname, "../packages/element/src"),
|
||||||
|
"@excalidraw/excalidraw": path.resolve(__dirname, "../packages/excalidraw"),
|
||||||
|
"@excalidraw/math": path.resolve(__dirname, "../packages/math/src"),
|
||||||
|
"@excalidraw/utils": path.resolve(__dirname, "../packages/utils/src"),
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
function buildDev(config) {
|
||||||
|
return build({
|
||||||
|
...config,
|
||||||
|
sourcemap: true,
|
||||||
|
define: {
|
||||||
|
"import.meta.env": JSON.stringify({ DEV: true }),
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildProd(config) {
|
||||||
|
return build({
|
||||||
|
...config,
|
||||||
|
minify: true,
|
||||||
|
define: {
|
||||||
|
"import.meta.env": JSON.stringify({ PROD: true }),
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const createESMRawBuild = async () => {
|
||||||
|
// development unminified build with source maps
|
||||||
|
await buildDev(getConfig("dist/dev"));
|
||||||
|
|
||||||
|
// production minified build without sourcemaps
|
||||||
|
await buildProd(getConfig("dist/prod"));
|
||||||
|
};
|
||||||
|
|
||||||
|
(async () => {
|
||||||
|
await createESMRawBuild();
|
||||||
|
})();
|
|
@ -51,10 +51,10 @@ function buildProd(config) {
|
||||||
|
|
||||||
const createESMRawBuild = async () => {
|
const createESMRawBuild = async () => {
|
||||||
// development unminified build with source maps
|
// development unminified build with source maps
|
||||||
buildDev(getConfig("dist/dev"));
|
await buildDev(getConfig("dist/dev"));
|
||||||
|
|
||||||
// production minified build without sourcemaps
|
// production minified build without sourcemaps
|
||||||
buildProd(getConfig("dist/prod"));
|
await buildProd(getConfig("dist/prod"));
|
||||||
};
|
};
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
Loading…
Add table
Add a link
Reference in a new issue