Add @excalidraw/common package

This commit is contained in:
Marcel Mraz 2025-03-14 12:56:12 +01:00
parent de0598287c
commit 87bb3827ae
No known key found for this signature in database
GPG key ID: 4EBD6E62DC830CD2
7 changed files with 110 additions and 12 deletions

View file

@ -23,6 +23,22 @@ export default defineConfig(({ mode }) => {
envDir: "../",
resolve: {
alias: [
{
find: /^@excalidraw\/common$/,
replacement: path.resolve(__dirname, "../packages/common/index.ts"),
},
{
find: /^@excalidraw\/common\/(.*?)/,
replacement: path.resolve(__dirname, "../packages/common/$1"),
},
{
find: /^@excalidraw\/element$/,
replacement: path.resolve(__dirname, "../packages/element/index.ts"),
},
{
find: /^@excalidraw\/element\/(.*?)/,
replacement: path.resolve(__dirname, "../packages/element/$1"),
},
{
find: /^@excalidraw\/excalidraw$/,
replacement: path.resolve(__dirname, "../packages/excalidraw/index.tsx"),
@ -47,14 +63,6 @@ export default defineConfig(({ mode }) => {
find: /^@excalidraw\/math\/(.*?)/,
replacement: path.resolve(__dirname, "../packages/math/$1"),
},
{
find: /^@excalidraw\/element$/,
replacement: path.resolve(__dirname, "../packages/element/index.ts"),
},
{
find: /^@excalidraw\/element\/(.*?)/,
replacement: path.resolve(__dirname, "../packages/element/$1"),
},
],
},
build: {

19
packages/common/README.md Normal file
View file

@ -0,0 +1,19 @@
# @excalidraw/common
## Install
```bash
npm install @excalidraw/common
```
If you prefer Yarn over npm, use this command to install the Excalidraw utils package:
```bash
yarn add @excalidraw/common
```
With PNPM, similarly install the package with this command:
```bash
pnpm add @excalidraw/common
```

View file

@ -0,0 +1,61 @@
{
"name": "@excalidraw/common",
"version": "0.1.0",
"type": "module",
"types": "./dist/types/common/index.d.ts",
"main": "./dist/prod/index.js",
"module": "./dist/prod/index.js",
"exports": {
".": {
"types": "./dist/types/common/index.d.ts",
"development": "./dist/dev/index.js",
"production": "./dist/prod/index.js",
"default": "./dist/prod/index.js"
},
"./*": {
"types": "./../common/dist/types/common/*"
}
},
"files": [
"dist/*"
],
"description": "Excalidraw common functions, constants, etc.",
"publishConfig": {
"access": "public"
},
"license": "MIT",
"keywords": [
"excalidraw",
"excalidraw-utils"
],
"browserslist": {
"production": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all",
"not safari < 12",
"not kaios <= 2.5",
"not edge < 79",
"not chrome < 70",
"not and_uc < 13",
"not samsung < 10"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"dependencies": {
},
"devDependencies": {
},
"bugs": "https://github.com/excalidraw/excalidraw/issues",
"repository": "https://github.com/excalidraw/excalidraw",
"scripts": {
"gen:types": "rm -rf types && tsc",
"build:esm": "rm -rf dist && node ../../scripts/buildShared.js && yarn gen:types"
}
}

View file

@ -0,0 +1,6 @@
{
"extends": "../tsconfig.base.json",
"compilerOptions": {
"outDir": "./dist/types"
}
}

View file

@ -12,14 +12,16 @@
"jsx": "react-jsx",
"emitDeclarationOnly": true,
"paths": {
"@excalidraw/common": ["./common/index.ts"],
"@excalidraw/element": ["./element/index.ts"],
"@excalidraw/excalidraw": ["./excalidraw/index.tsx"],
"@excalidraw/utils": ["./utils/index.ts"],
"@excalidraw/math": ["./math/index.ts"],
"@excalidraw/element": ["./element/index.ts"],
"@excalidraw/common/*": ["./common/*"],
"@excalidraw/element/*": ["./element/*"],
"@excalidraw/excalidraw/*": ["./excalidraw/*"],
"@excalidraw/utils/*": ["./utils/*"],
"@excalidraw/math/*": ["./math/*"],
"@excalidraw/element/*": ["./element/*"]
}
},
"exclude": ["**/*.test.*", "tests", "types", "examples", "dist"]

View file

@ -28,10 +28,11 @@ const getConfig = (outdir) => ({
assetNames: "[dir]/[name]",
chunkNames: "[dir]/[name]-[hash]",
alias: {
"@excalidraw/common": path.resolve(__dirname, "../packages/common"),
"@excalidraw/element": path.resolve(__dirname, "../packages/element"),
"@excalidraw/excalidraw": path.resolve(__dirname, "../packages/excalidraw"),
"@excalidraw/utils": path.resolve(__dirname, "../packages/utils"),
"@excalidraw/math": path.resolve(__dirname, "../packages/math"),
"@excalidraw/element": path.resolve(__dirname, "../packages/element"),
},
loader: {
".woff2": "file",

View file

@ -14,10 +14,11 @@ const getConfig = (outdir) => ({
entryNames: "[name]",
assetNames: "[dir]/[name]",
alias: {
"@excalidraw/common": path.resolve(__dirname, "../packages/common"),
"@excalidraw/element": path.resolve(__dirname, "../packages/element"),
"@excalidraw/excalidraw": path.resolve(__dirname, "../packages/excalidraw"),
"@excalidraw/utils": path.resolve(__dirname, "../packages/utils"),
"@excalidraw/math": path.resolve(__dirname, "../packages/math"),
"@excalidraw/element": path.resolve(__dirname, "../packages/element"),
},
});