дзеркало
https://github.com/l0ng-ai/openidea.git
синхронізовано 2026-11-09 03:05:40 +02:00
Plugins can now ship a web page as the UI of a view or custom editor (`web = "web/index.html"`), so editors built on web libraries are plugins rather than part of the core. - Web views: every file under the page's directory is part of the package (checked, copied on install, covered by the digest and signature) and served through the `openidea-plugin` URL scheme, under a per-revision path with a CSP of its own, into an `<iframe sandbox="allow-scripts">`. An update or reinstall reloads open pages. - Frame bridge (`window.openidea`), shared by html bodies and web pages: theme, messages to the plugin's code, `document.get/edit/replace/onChange` (versioned edits that join the text editor's undo history, Save and dirty state), `saveFile`/`openFile` through the IDE's dialogs, and IDE shortcuts the page leaves alone. - Custom editor layouts: tab, split (Editor and X) or preview over the text editor, switchable from the tab's actions. - New points `fileIcons` and `fileTemplates`; new optional capability `clipboard` for web views. - Excalidraw official plugin: `.excalidraw` / `.excalidraw.json` open as an interactive canvas kept in step with the file's text, with self-hosted fonts, PNG/SVG export, images, file icons, a New Drawing template and JSON highlighting. Closes #732. - Fixes: a lock-order deadlock between listing plugins and refreshing project pins; the dev server ignored edits under `src/features/plugins`. - `plugins/build.sh` builds and checks web pages; CI typechecks and tests them. Co-authored-by: Deng Liu <[email protected]>
26 рядки
630 B
JSON
26 рядки
630 B
JSON
{
|
|
"name": "openidea-plugin-excalidraw-web",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"description": "The Excalidraw plugin's web page; `pnpm build` writes it to ../web.",
|
|
"scripts": {
|
|
"build": "tsc --noEmit && vite build",
|
|
"test": "vitest run"
|
|
},
|
|
"dependencies": {
|
|
"@excalidraw/excalidraw": "0.18.1",
|
|
"react": "^19.1.0",
|
|
"react-dom": "^19.1.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/react": "^19.1.0",
|
|
"@types/react-dom": "^19.1.0",
|
|
"@vitejs/plugin-react": "^6.0.2",
|
|
"jsdom": "^30.1.3",
|
|
"typescript": "~6.0.3",
|
|
"vite": "^8.0.16",
|
|
"vitest": "^5.0.5"
|
|
}
|
|
}
|