8 months ago
- Val Town 提供了一个集成的网页编辑器,用于快速部署TypeScript自动化和应用程序
- 之前的编辑器存在漏洞且运行缓慢,现经过重写后变得快速、准确并已开源
- 旧系统在Web Worker中运行TypeScript,存在Deno兼容性和NPM模块体积问题
- 新系统采用云容器中的Deno语言服务器(DenoLS),提升了性能和兼容性
- DenoLS在远程运行,通过服务端处理NPM依赖关系,减轻浏览器负担
- 该架构采用基于WebSocket的LSP协议,参考现有方案但针对Val Town进行了优化
- 开发了定制化的CodeMirror LSP客户端以支持WebSocket、外部渲染器和回调功能
- 使用Cloudflare容器进行部署,确保用户隔离和会话持久化
- 解决方案利用Cloudflare的持久化对象实现路由和生命周期管理,无需自定义有状态路由
- 未来改进将包括Val Town专属的语言服务器功能和诊断工具
- 整个系统已作为vtlsp项目开源,包含客户端、服务端和代理组件