@lcap/nasl-unified-generator v0.0.0-alpha.15
nasl-generator
本项目是NASL->Code的转译器。推荐使用pnpm进行依赖管理。
项目架构
TBA
项目组成
nasl-generator
位于packages/nasl-generator。
开发
首次开发需要安装依赖。
pnpm i启动开发服务器(playground),它用于本地快速调试NASL的翻译,命令如下:
pnpm dev它会读取packages/nasl-generator/playground/fixtures/src.json作为NASL翻译。在翻译完成之后,会调用HTTP请求,将产物写入packages/nasl-react-server/out。
更新Fixtures
packages/nasl-generator下,执行如下命令以更新playground/fixtures/src.json。
sh update-fixture.sh- 这个脚本会调用batchQuery接口,将NASL树的JSON表示下载到本地。
- 如果更新失败,可能是cookie失效。请更新
update-fixture.sh中的cURL部分。
nasl-react-server
位于packages/nasl-react-server。
作用:
- 提供接口供
nasl-generator的playground调用,将翻译产物写入本地out文件夹。 - 将
template(用以存储react的基本模板,包含rspack配置、package.json等等)文件夹复制到out文件夹,以提供产物执行的基本框架。这是因为nasl-generator的翻译产物并不会包括这些内容。
开发
首次开发请安装依赖:
pnpm i执行如下命令启动开发服务器:
pnpm dev每次启动开发服务器,都会
1. 删除template文件夹中的node_modules
1. 删除out文件夹
2. 将template文件夹复制为out文件夹
⚠注意️:
out文件夹下的文件都是临时的,会被nasl-generator覆盖。每次如果想要改动持久保持,请修改template文件夹。
产物启动
在启动nasl-generator的开发服务器进行翻译之后,翻译的产物存在于out目录下。这个翻译产物已经执行过pnpm i,因此可以直接启动:
pnpm dev如果出现@lcap/basic-template未安装的错误,可能是因为目前正在从yalc引用@lcap/basic-template。请参考@lcap/basic-template联调指南一章。
指南
@lcap/basic-template联调
- 全局安装
yalc。
yalc是用于npm包本地开发的一个工具。可以在本地通过文件系统软链接形成一个registry,开发中的包可以发布到这个registry中,也可以从这个registry安装。一次发布(yalc publish --push)之后,所有从registry安装的开发中的包都会更新。
pnpm add -g yalc- 在lcap-template项目下的
packages/basic目录下,执行如下命令。
这会启动开发服务器(它会自动watch @lcap/basic-template的源码变化,编译,并将改动推送到本地yalc registry:
pnpm i
pnpm dev- 在
packages/nasl-react-server/template下,正常安装依赖即可。定义在packages/nasl-react-server/template/package.json里的postyalchook会自动执行pnpm i命令,安装依赖。之后,在修改@lcap/basic-template源码之后,就会把改动自动同步到所有从本地yalc registry安装@lcap/basic-template的地方了。
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago