Process Editor Infrastructure
Last but not least, I was always a little bit annoyed that the Process Editor Client infrastructure is a little bit clunky and slow in comparison with the Inscription View. I know a little technical topic to explain but let me try 🙂
The Inscription View is a newer project than the Process Editor and is not based on the GLSP stack. This means we started more or less on a greenfield and we could decide how the infrastructure should look (of course based on the knowledge we collected by the process editor development).
We decided to use Vite as bundler instead of Webpack, which takes care of most parts (compile TypeScript, bundle JS, minify CSS, etc.) built-in with very little configuration.
We can start the vite dev server and directly start to make our change with auto-updates to the browser.
In the Process Editor project we use Webpack as bundler, but compile TypeScript with tsc (official TypeScript Compiler). While this is definitely not bad, it is also not pretty fast. This is because we first compile everything from ts to js and then bundle it. After that, we can open the created Process Editor. If we want to make changes we need to watch our sources and refresh the browser manually.
So everything works for both projects, but working on the Inscription View feels a little bit more fluent and fast. So as the last topic I tried to replace the Process Editor infrastructure with mostly the same as we have it in the Inscription View.
And I made some progress, but not everything worked at last. The standalone (process viewer) and the eclipse integration (Designer) can be started with Vite, but sadly the process editor inside of the VS Code extension is currently not so happy about the changes I made, so I need to investigate here a little bit more 😅
In numbers (of course rather imprecise):
- Startup time New 0.5s, Old 5-25s
- Change time New 0.2s, Old 1s