论:更优雅的开发通用Scratch拓展
FS-Context是一个易用的TypeScript上下文,用于更优雅的开发通用于TurboWarp/GandiIDE等ScratchMod的拓展。提供了一些拓展开发中较常用的工具/脚手架。
- 最前沿的标准 实现基于TypeScript和ESNext标准,简化繁琐的声明步骤并提供类型补全
- 压缩代码和使用第三方库 使用Webpack打包压缩TypeScript代码,允许引入第三方库
- 平台通用加载器 在各个平台均可自动加载拓展,无需轮子
- 格式化+统一规范 使用ESLint优化代码规范和风格
- 通用翻译器 解决l10n在各个平台实现不统一情况
- 更优雅的积木声明 在语法层用更优雅的方式生成声明,无需冗余符号
- Blockly注入支持 不仅是动态参数框和积木重载,自定义包括注入逻辑,一步搞定!
- 置前参数预加载 输入的特定积木参数格式无需在实现内部额外编写加载代码
- 通用工具集 提供不同拓展间
联动上下文和一些工具函数 - 原版解析器 解析并标准化原版菜单和积木文字的编写方式
菜单机制优化 响应式菜单/内联菜单 与 动态回读- 积木实现提示 在纯TypeScript环境下根据积木文字自动解析IntelliSense,积木参数的类型安全
- 提供扩展HMR接口 保存修改后自动同步到编辑器,免去手动更新烦恼
不管在什么平台下,开发拓展都非常的折磨,缺少类型提示/自动补全/代码不易读,以及不同平台对runtime和vm的沙盒机制都有严重差异。通用拓展需要编写非常多的并不必要的冗余代码。
因此,本项目旨在提供一些TS类型提示与工具集,同时将不同平台加载拓展/获取vm等频繁且常用的操作封装,开发者不需要重复制造轮子,可以专注于积木逻辑的开发。
| 标识符 | 说明 |
|---|---|
XXStored |
XX的编译结果格式,与turbowarp文档的格式一致 |
XXMetadata |
XX的数据格式,框架结构体 |