3.4 KiB
SVG Layout Designer React
An svg layout designer.
Getting Started
Requirements :
node
>= 16.x (>= 17.x to run vitest tests)npm
- pnpm (optional) reduce
node_modules
folder size by using symlinks git-lfs
(in order to clone the documentation)dotnet
(optional) used for api test
Developping
Run npm ci
Run npm run dev
Deploy
Run npm ci
Run npm run build
Run the tests
Run npm ci
Run npm test
API
You can preload a state by setting the state
URL parameter
with a url address to a state.json
file.
Example: http://localhost:4000/?state=http://localhost:5000/state.json
Testing the external API
This program fetch the data structure from others applications, allowing it to assemble them later.
With NodeJS
node run ./test-server/node-http.js
The web server will be running at http://localhost:5000
Copy .env.development
to the file .env.development.local
and change the url to whatever you want to use.
With bun.sh
Install bun
Inside test-server
folder, run :
bun run http.js
The web server will be running at http://localhost:5000
Copy .env.development
to the file .env.development.local
and change the url to whatever you want to use.
Recommanded tools
Setup debugging with chrome
Inside .vscode/settings.json
, set the following :
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://localhost:5173",
"webRoot": "${workspaceFolder}",
}
]
}
Change the url
to the dev server url. Set the runtimeExecutable
to your favorite chromium browser.
Generate definition files for SmartModeler
Pre-requisite: typescript
, python3
Go to the src/dts
directory and run the following command
tsc --project tsconfig.dts.json
Then, run python3
(or py
on Windows) on generate_dts.py
:
python3 generate_dts.py SVGLD svgld.d.ts
A definition will be generated as svgld.d.ts
with the namespace SVGLD
.