@lcap/nasl-unified-frontend-generator 0.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +104 -0
- package/dist/index.d.mts +712 -0
- package/dist/index.d.ts +712 -0
- package/dist/index.js +4735 -0
- package/dist/index.mjs +4735 -0
- package/package.json +44 -0
package/README.md
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# @lcap/nasl-unified-generator
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+
|
|
5
|
+
本项目是NASL->前端应用代码的转译器。目前支持将NASL翻译成为 React 技术栈的源代码。
|
|
6
|
+
|
|
7
|
+
推荐使用pnpm进行依赖管理。
|
|
8
|
+
|
|
9
|
+
## 项目架构
|
|
10
|
+
|
|
11
|
+
TBA
|
|
12
|
+
|
|
13
|
+
### 开发
|
|
14
|
+
|
|
15
|
+
源代码位于`packages/nasl-generator`。
|
|
16
|
+
|
|
17
|
+
首次开发需要安装依赖。
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
pnpm i
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
启动开发服务器(playground),它用于本地快速调试NASL的翻译,命令如下:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
pnpm dev
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
它会读取`packages/nasl-generator/playground/fixtures/src.json`作为NASL翻译。在翻译完成之后,会调用HTTP请求,将产物写入`packages/nasl-react-server/out`。
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
#### 更新Fixtures
|
|
33
|
+
|
|
34
|
+
`packages/nasl-generator`下,执行如下命令以更新`playground/fixtures/src.json`。
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
sh update-fixture.sh
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
1. 这个脚本会调用batchQuery接口,将NASL树的JSON表示下载到本地。
|
|
41
|
+
1. 如果更新失败,可能是cookie失效。请更新`batchQuery.sh`中的cURL部分。
|
|
42
|
+
|
|
43
|
+
### nasl-react-server
|
|
44
|
+
|
|
45
|
+
位于`packages/nasl-react-server`。
|
|
46
|
+
|
|
47
|
+
作用:
|
|
48
|
+
|
|
49
|
+
1. 提供接口供`nasl-generator`的`playground`调用,将翻译产物写入本地`out`文件夹。
|
|
50
|
+
1. 将`template`(用以存储react的基本模板,包含rspack配置、package.json等等)文件夹复制到`out`文件夹,以提供产物执行的基本框架。这是因为`nasl-generator`的翻译产物并不会包括这些内容。
|
|
51
|
+
|
|
52
|
+
#### 开发
|
|
53
|
+
|
|
54
|
+
首次开发请安装依赖:
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
pnpm i
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
执行如下命令启动开发服务器:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
pnpm dev
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
每次启动开发服务器,都会
|
|
67
|
+
1. 删除`template`文件夹中的`node_modules`
|
|
68
|
+
1. 删除`out`文件夹
|
|
69
|
+
2. 将`template`文件夹复制为`out`文件夹
|
|
70
|
+
|
|
71
|
+
> ⚠注意️:`out`文件夹下的文件都是临时的,会被`nasl-generator`覆盖。每次如果想要改动持久保持,请修改`template`文件夹。
|
|
72
|
+
|
|
73
|
+
#### 产物启动
|
|
74
|
+
|
|
75
|
+
在启动`nasl-generator`的开发服务器进行翻译之后,翻译的产物存在于`out`目录下。这个翻译产物已经执行过`pnpm i`,因此可以直接启动:
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
pnpm dev
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
如果出现`@lcap/basic-template`未安装的错误,可能是因为目前正在从yalc引用`@lcap/basic-template`。请参考`@lcap/basic-template`联调指南一章。
|
|
82
|
+
|
|
83
|
+
## 指南
|
|
84
|
+
|
|
85
|
+
### 与@lcap/basic-template联调
|
|
86
|
+
|
|
87
|
+
1. 全局安装`yalc`。
|
|
88
|
+
|
|
89
|
+
yalc是用于npm包本地开发的一个工具。可以在本地通过文件系统软链接形成一个registry,开发中的包可以发布到这个registry中,也可以从这个registry安装。一次发布(yalc publish --push)之后,所有从registry安装的开发中的包都会更新。
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
pnpm add -g yalc
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
2. 在[lcap-template](https://github.com/vusion-templates/lcap-template)项目下的`packages/basic`目录下,执行如下命令。
|
|
96
|
+
|
|
97
|
+
这会启动开发服务器(它会自动watch @lcap/basic-template的源码变化,编译,并将改动推送到本地yalc registry:
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
pnpm i
|
|
101
|
+
pnpm dev
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
3. 在`packages/nasl-react-server/template`下,正常安装依赖即可。定义在`packages/nasl-react-server/template/package.json`里的`postyalc` hook会自动执行`pnpm i`命令,安装依赖。之后,在修改`@lcap/basic-template`源码之后,就会把改动自动同步到所有从本地yalc registry安装`@lcap/basic-template`的地方了。
|