@lcap/nasl 3.6.3-alpha.1 → 3.6.3-alpha.3

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.
@@ -27,7 +27,7 @@ exports.createCompilerState = createCompilerState;
27
27
  */
28
28
  function shiftPosition(pos, code = '') {
29
29
  const res = { ...pos };
30
- if (code) {
30
+ if (code && typeof code === 'string') {
31
31
  const arr = code.split('\n');
32
32
  res.offset += code.length;
33
33
  res.line += arr.length - 1;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/translator/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/translator/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lcap/nasl",
3
3
  "description": "NetEase Application Specific Language",
4
- "version": "3.6.3-alpha.1",
4
+ "version": "3.6.3-alpha.3",
5
5
  "author": "Forrest <rainforest92@126.com>",
6
6
  "scripts": {
7
7
  "clear": "rimraf ./out",
@@ -1,7 +1,7 @@
1
1
  import { queryNodeByPath } from '../service/storage/jsoner';
2
2
  import { getNaslNodeByNodeCallee, getNodeByNodeCallee } from '../automate/engine/utils';
3
3
  import type ConfigProperty from './ConfigProperty__';
4
- import TypeAnnotation from './TypeAnnotation__';
4
+ import type TypeAnnotation from './TypeAnnotation__';
5
5
  import type View from './View__';
6
6
  import type AuthInterface from './AuthInterface__';
7
7
  import type Interface from './Interface__';
@@ -4043,6 +4043,8 @@ export class App extends BaseNode {
4043
4043
 
4044
4044
  /* 判断接口是否有误,需要重新导出 */
4045
4045
  getQualifiedInterface(interfaces: AbstractInterface[] = this.interfaces): MessageData[] {
4046
+ // getConceptConstructor
4047
+ const TypeAnnotationClass = getConceptConstructor('TypeAnnotation');
4046
4048
  const errorList: MessageData[] = [];
4047
4049
  (interfaces as unknown as Interface[]).forEach((item: Interface) => {
4048
4050
  const logic = this.logics.find((logic: Logic) => logic.name === item.originLogicName);
@@ -4056,7 +4058,7 @@ export class App extends BaseNode {
4056
4058
  logicParamMap[param.name] = param.typeAnnotation;
4057
4059
  });
4058
4060
  item.params.forEach((param) => {
4059
- const logicTypeAnnotation = TypeAnnotation.from(logicParamMap[param.name]?.toJSON());
4061
+ const logicTypeAnnotation = TypeAnnotationClass.from(logicParamMap[param.name]?.toJSON());
4060
4062
  delete logicParamMap[param.name];
4061
4063
  if (!logicTypeAnnotation) {
4062
4064
  return errorList.push({
@@ -4067,7 +4069,7 @@ export class App extends BaseNode {
4067
4069
  message: `参数“${param.name}”已被删除,请确定请求类型无误后点击“重新导出”`,
4068
4070
  });
4069
4071
  }
4070
- const interfaceTypeAnnotation = TypeAnnotation.from(param.typeAnnotation.toJSON());
4072
+ const interfaceTypeAnnotation = TypeAnnotationClass.from(param.typeAnnotation.toJSON());
4071
4073
  let isSame = false;
4072
4074
  if (logicTypeAnnotation?.typeNamespace === 'app.enums') {
4073
4075
  if (interfaceTypeAnnotation.typeNamespace === 'nasl.core' && interfaceTypeAnnotation.typeName === 'String') {
@@ -4144,8 +4146,7 @@ export class App extends BaseNode {
4144
4146
  });
4145
4147
  }
4146
4148
  } else if (
4147
- JSON.stringify(logicReturns[0]?.typeAnnotation?.toJSON()) !==
4148
- JSON.stringify(interfaceReturns[0]?.typeAnnotation?.toJSON())
4149
+ !logicReturns[0]?.typeAnnotation.isSame(interfaceReturns[0]?.typeAnnotation)
4149
4150
  ) {
4150
4151
  errorList.push({
4151
4152
  logicName: logic.name,
@@ -1178,9 +1178,19 @@ export class TypeAnnotation extends BaseNode {
1178
1178
  /* 判断2个类型是否一致 */
1179
1179
  isSame(typeAnnotation: TypeAnnotation) {
1180
1180
  typeAnnotation.typeArguments;
1181
+ // 由于 序列化 出来的 TypeAnnotation 会有很多多余的属性
1182
+ // 因此增加白名单,只有这些值才会被比较,其他均会被忽略
1183
+ const whiteList = [
1184
+ 'concept', 'typeKind', 'typeNamespace', 'typeName', 'typeArguments',
1185
+ 'returnType', 'inferred', 'ruleMap', 'properties', 'name', 'label',
1186
+ 'description', 'typeAnnotation', 'required', 'defaultValue', 'jsonName'
1187
+ ]
1181
1188
  const typeAnnotation1 = this.toJSON();
1182
1189
  const typeAnnotation2 = typeAnnotation.toJSON();
1183
1190
  const ignoreNull = (key: any, value: any) => {
1191
+ if (!whiteList.includes(key)) {
1192
+ return undefined; // 忽略此属性
1193
+ }
1184
1194
  if (value === null || value === undefined) {
1185
1195
  return undefined; // 忽略此属性
1186
1196
  }
@@ -17,7 +17,7 @@ async function getNaslAnnotatedJSON(app: App, opt: InternalReleaseData) {
17
17
  let NaslAnnotatedJSON: any;
18
18
  try {
19
19
  NaslAnnotatedJSON = await (app as any).naslServer.getNaslAnnotatedJSON(app, true);
20
- opt.logPublishFunc?.('语言', '获取类型标注成功');
20
+ await opt.logPublishFunc?.('语言', '获取类型标注成功');
21
21
 
22
22
  // // 打印传给服务端的 nasl,为了服务端排查问题方便
23
23
  // if (globalThis.window) {
@@ -47,7 +47,7 @@ async function getFrontendBundleFiles(app: App, opt: InternalReleaseData) {
47
47
  let files: utils.GetPromise<ReturnType<typeof genFrontendBundleFiles>> = [];
48
48
 
49
49
  if (opt.frontends && opt.frontends.length) {
50
- opt.logPublishFunc?.('代码', '生成页面代码:开始');
50
+ await opt.logPublishFunc?.('代码', '生成页面代码:开始');
51
51
  files = await genFrontendBundleFiles(app, opt.frontends, {
52
52
  ...opt.appInfo,
53
53
  env: opt.env,
@@ -65,7 +65,7 @@ async function getFrontendBundleFiles(app: App, opt: InternalReleaseData) {
65
65
  files = replaceAssetUrl(files, opt.appInfo.USER_STATIC_URL, opt.staticUrl);
66
66
  }
67
67
 
68
- opt.logPublishFunc?.('代码', '生成页面代码:完成');
68
+ await opt.logPublishFunc?.('代码', '生成页面代码:完成');
69
69
  }
70
70
 
71
71
  return files;
@@ -75,7 +75,7 @@ async function mergeBodyData(app: App, opt: InternalReleaseData) {
75
75
  await utils.delay(500);
76
76
 
77
77
  const authReport: ReturnType<typeof getAuthReport> = getAuthReport(app, opt.frontends);
78
- opt.logPublishFunc?.('权限', '分析权限数据成功!');
78
+ await opt.logPublishFunc?.('权限', '分析权限数据成功!');
79
79
  const logicPageResourceDtoList = await genPermissionData(app);
80
80
  const allFrontends = getFrontendByTypes(app?.frontendTypes);
81
81
  const releaseFrontends = allFrontends.map((frontend: Frontend) => ({
@@ -18,9 +18,9 @@ export async function getReleaseData(app: App, data: ReleaseData, naslServer: Na
18
18
  const { http, logger: defaultLogger } = naslServer;
19
19
  const logger = inputLogger ?? defaultLogger;
20
20
  const appInfo = await getAppInfo(http, data);
21
- logger.info('构建环境', '获取环境信息成功');
21
+ await logger.info('构建环境', '获取环境信息成功');
22
22
  const { version, fullVersion, dependencies } = await getVersionDetail(http, app);
23
- logger.info('构建环境', '获取版本数据成功');
23
+ await logger.info('构建环境', '获取版本数据成功');
24
24
  const allFrontend = getFrontendByTypes(app.frontendTypes);
25
25
  const inputFrontendNames = (data.config.frontendNames ?? []).filter(Boolean);
26
26
  const releaseFrontends = inputFrontendNames.length > 0
@@ -45,13 +45,13 @@ export async function getReleaseData(app: App, data: ReleaseData, naslServer: Na
45
45
  // 设置依赖数据
46
46
  if (app.packageInfos.length === 0) {
47
47
  app.packageInfos = await getPackageInfos(http, app, dependencies, appInfo.STATIC_URL, fullVersion);
48
- logger.info('构建环境', '设置依赖库内容');
48
+ await logger.info('构建环境', '设置依赖库内容');
49
49
  }
50
50
 
51
51
  // 私有化环境,需要同步资源;内部环境暂不需要,针对使用 CDN 场景增加判断
52
52
  if (String(appInfo.isPrivatized) === 'true') {
53
53
  result.staticUrl = await staticResourceSync(http, data.appId, data.env, releaseFrontends);
54
- logger.info('构建环境', '私有化部署同步资源成功');
54
+ await logger.info('构建环境', '私有化部署同步资源成功');
55
55
  }
56
56
 
57
57
  // 服务端验证规则
@@ -62,18 +62,18 @@ export async function getReleaseData(app: App, data: ReleaseData, naslServer: Na
62
62
  throw new Error(result.validations);
63
63
  }
64
64
  else {
65
- logger.info('生成器', '服务端验证数据获取成功');
65
+ await logger.info('生成器', '服务端验证数据获取成功');
66
66
  }
67
67
  }
68
68
 
69
- logger.info('构建环境', '构建环境完成,开始拼装发布数据');
69
+ await logger.info('构建环境', '构建环境完成,开始拼装发布数据');
70
70
 
71
71
  const releaseBody = await genReleaseBody(app, {
72
72
  ...result,
73
73
  logPublishFunc: (...message: string[]) => logger.info(...message),
74
74
  });
75
75
 
76
- logger.info('前端生成器', '应用发布数据准备完成');
76
+ await logger.info('前端生成器', '应用发布数据准备完成');
77
77
 
78
78
  return releaseBody;
79
79
  }
@@ -359,13 +359,13 @@ export function transformTSCode(tsCode: string, contextLogicName: string, type?:
359
359
  }
360
360
  if (calleeName === 'nasl.oql.query') {
361
361
  if (!isPageLogic(contextLogicName)) {
362
- const _typeAnnotation = node?.typeParameters?.params?.length > 0 ? naslTypes.TypeAnnotation.createGeneric('List', {
363
- typeArguments: node?.typeParameters?.params.map((curType: any) => transformTypeAnnotation({ ...curType })),
364
- }) : null;
362
+ // const _typeAnnotation = node?.typeParameters?.params?.length > 0 ? naslTypes.TypeAnnotation.createGeneric('List', {
363
+ // typeArguments: node?.typeParameters?.params.map((curType: any) => transformTypeAnnotation({ ...curType })),
364
+ // }) : null;
365
365
  return new naslTypes.OqlQueryComponent({
366
366
  dataSource: 'app.dataSources.defaultDS',
367
367
  code: generate(node.arguments[0] as any).code.trim().slice(1, -1),
368
- typeAnnotation: _typeAnnotation,
368
+ // typeAnnotation: _typeAnnotation,
369
369
  });
370
370
  }
371
371
  }
@@ -94,6 +94,7 @@ import {
94
94
  Paginate,
95
95
  MsgTriggerLauncher,
96
96
  ConnectorTrigger,
97
+ FrontendType,
97
98
  } from '../concepts';
98
99
 
99
100
  import * as utils from '../utils';
@@ -3997,6 +3998,7 @@ class NaslServer {
3997
3998
  !(fileNode.parentNode instanceof DataSource) &&
3998
3999
  !(fileNode.parentNode instanceof Frontend) &&
3999
4000
  !(fileNode.parentNode instanceof Backend) &&
4001
+ !(fileNode.parentNode instanceof FrontendType) &&
4000
4002
  !isConnectorLogic &&
4001
4003
  !(fileNode instanceof View) &&
4002
4004
  !(fileNode instanceof BusinessComponent) &&
@@ -4915,6 +4917,22 @@ class NaslServer {
4915
4917
  */
4916
4918
  async incidentalAction(action: string, fileNode: BaseNode, targetNode: BaseNode, oldpath?: string) {
4917
4919
  if ((action === 'create' || action === 'delete' || (action === 'update' && oldpath)) && fileNode === targetNode) {
4920
+ // 删除、新增端类型
4921
+ if (fileNode instanceof FrontendType && (fileNode.frontends?.length || fileNode.businessComponents?.length)) {
4922
+ const fileNodeChildren = [...fileNode.frontends, ...fileNode.businessComponents];
4923
+ for (let i = 0; i < fileNodeChildren.length; i++) {
4924
+ const fileNodeItem = fileNodeChildren[i];
4925
+ const result = await utils.timeSlicingWithGenerator((fileNodeItem as FileNode).toEmbeddedTSFile());
4926
+ fileNodeItem.sourceMap = result.sourceMap;
4927
+ if (action === 'create') {
4928
+ await this.handleChange(fileNodeItem, fileNodeItem, result, action);
4929
+ await this.incidentalAction(action, fileNodeItem, fileNodeItem);
4930
+ } else if (action === 'delete') {
4931
+ await this.handleDelete(fileNodeItem, fileNodeItem, result);
4932
+ await this.incidentalAction(action, fileNodeItem, fileNodeItem);
4933
+ }
4934
+ }
4935
+ }
4918
4936
  // 删除、更改、新增端
4919
4937
  if (fileNode instanceof Frontend && (fileNode.views?.length || fileNode.variables?.length)) {
4920
4938
  const fileNodeChildren = [...fileNode.views, ...fileNode.variables];
@@ -30,7 +30,7 @@ export function createCompilerState(startCode: string = '', options?: Partial<Tr
30
30
  */
31
31
  export function shiftPosition(pos: Position, code: string = ''): Position {
32
32
  const res = { ...pos};
33
- if (code) {
33
+ if (code && typeof code === 'string') {
34
34
  const arr = code.split('\n');
35
35
  res.offset += code.length;
36
36
  res.line += arr.length - 1;