refactor: separate elements logic into a standalone package (#9285)
Some checks failed
Auto release excalidraw next / Auto-release-excalidraw-next (push) Failing after 2m36s
Build Docker image / build-docker (push) Failing after 6s
Cancel previous runs / cancel (push) Failing after 1s
Publish Docker / publish-docker (push) Failing after 31s
New Sentry production release / sentry (push) Failing after 2m3s

This commit is contained in:
Marcel Mraz 2025-03-26 15:24:59 +01:00 committed by GitHub
parent a18f059188
commit 432a46ef9e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
372 changed files with 3466 additions and 2466 deletions

View file

@ -1,27 +1,27 @@
const path = require("path");
const { build } = require("esbuild");
const { sassPlugin } = require("esbuild-sass-plugin");
// contains all dependencies bundled inside
const getConfig = (outdir) => ({
outdir,
bundle: true,
format: "esm",
entryPoints: ["index.ts"],
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/utils": path.resolve(__dirname, "../packages/utils"),
"@excalidraw/math": path.resolve(__dirname, "../packages/math"),
"@excalidraw/math": path.resolve(__dirname, "../packages/math/src"),
"@excalidraw/utils": path.resolve(__dirname, "../packages/utils/src"),
},
});
function buildDev(config) {
return build({
...config,
plugins: [sassPlugin()],
sourcemap: true,
define: {
"import.meta.env": JSON.stringify({ DEV: true }),
@ -32,7 +32,6 @@ function buildDev(config) {
function buildProd(config) {
return build({
...config,
plugins: [sassPlugin()],
minify: true,
define: {
"import.meta.env": JSON.stringify({ PROD: true }),
@ -42,10 +41,10 @@ function buildProd(config) {
const createESMRawBuild = async () => {
// development unminified build with source maps
buildDev(getConfig("dist/dev"));
await buildDev(getConfig("dist/dev"));
// production minified build without sourcemaps
buildProd(getConfig("dist/prod"));
await buildProd(getConfig("dist/prod"));
};
(async () => {

View file

@ -28,9 +28,11 @@ const getConfig = (outdir) => ({
assetNames: "[dir]/[name]",
chunkNames: "[dir]/[name]-[hash]",
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/utils": path.resolve(__dirname, "../packages/utils"),
"@excalidraw/math": path.resolve(__dirname, "../packages/math"),
"@excalidraw/math": path.resolve(__dirname, "../packages/math/src"),
"@excalidraw/utils": path.resolve(__dirname, "../packages/utils/src"),
},
loader: {
".woff2": "file",

View file

@ -10,13 +10,15 @@ const getConfig = (outdir) => ({
outdir,
bundle: true,
format: "esm",
entryPoints: ["index.ts"],
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/utils": path.resolve(__dirname, "../packages/utils"),
"@excalidraw/math": path.resolve(__dirname, "../packages/math"),
"@excalidraw/math": path.resolve(__dirname, "../packages/math/src"),
"@excalidraw/utils": path.resolve(__dirname, "../packages/utils/src"),
},
});
@ -49,10 +51,10 @@ function buildProd(config) {
const createESMRawBuild = async () => {
// development unminified build with source maps
buildDev(getConfig("dist/dev"));
await buildDev(getConfig("dist/dev"));
// production minified build without sourcemaps
buildProd(getConfig("dist/prod"));
await buildProd(getConfig("dist/prod"));
};
(async () => {