@nasl/cli 0.2.3 → 0.3.0

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.
Files changed (66) hide show
  1. package/dist/bin/nasl.mjs +516 -126
  2. package/dist/bin/nasl.mjs.map +1 -1
  3. package/dist/bin/naslc.mjs +311 -58
  4. package/dist/bin/naslc.mjs.map +1 -1
  5. package/dist/index.mjs +11610 -11255
  6. package/dist/index.mjs.map +1 -1
  7. package/out/apis/compileApi.d.ts.map +1 -1
  8. package/out/apis/compileApi.js +3 -2
  9. package/out/apis/compileApi.js.map +1 -1
  10. package/out/apis/dependencyApi.d.ts +29 -0
  11. package/out/apis/dependencyApi.d.ts.map +1 -0
  12. package/out/apis/dependencyApi.js +17 -0
  13. package/out/apis/dependencyApi.js.map +1 -0
  14. package/out/apis/index.d.ts +1 -0
  15. package/out/apis/index.d.ts.map +1 -1
  16. package/out/apis/index.js +1 -0
  17. package/out/apis/index.js.map +1 -1
  18. package/out/apis/openapi.d.ts +12 -0
  19. package/out/apis/openapi.d.ts.map +1 -1
  20. package/out/apis/openapi.js +15 -0
  21. package/out/apis/openapi.js.map +1 -1
  22. package/out/apis/transformApi.d.ts.map +1 -1
  23. package/out/apis/transformApi.js +2 -0
  24. package/out/apis/transformApi.js.map +1 -1
  25. package/out/bin/nasl.js +38 -2
  26. package/out/bin/nasl.js.map +1 -1
  27. package/out/commands/check.d.ts.map +1 -1
  28. package/out/commands/check.js +2 -1
  29. package/out/commands/check.js.map +1 -1
  30. package/out/commands/compile.d.ts.map +1 -1
  31. package/out/commands/compile.js +3 -2
  32. package/out/commands/compile.js.map +1 -1
  33. package/out/commands/dep.d.ts +4 -2
  34. package/out/commands/dep.d.ts.map +1 -1
  35. package/out/commands/dep.js +44 -2
  36. package/out/commands/dep.js.map +1 -1
  37. package/out/commands/index.d.ts +1 -0
  38. package/out/commands/index.d.ts.map +1 -1
  39. package/out/commands/index.js +1 -0
  40. package/out/commands/index.js.map +1 -1
  41. package/out/commands/install.d.ts +9 -0
  42. package/out/commands/install.d.ts.map +1 -0
  43. package/out/commands/install.js +123 -0
  44. package/out/commands/install.js.map +1 -0
  45. package/out/commands/transform.d.ts.map +1 -1
  46. package/out/commands/transform.js +3 -2
  47. package/out/commands/transform.js.map +1 -1
  48. package/out/constants/nasl-file-types.d.ts.map +1 -1
  49. package/out/constants/nasl-file-types.js +21 -0
  50. package/out/constants/nasl-file-types.js.map +1 -1
  51. package/out/services/compose.d.ts +8 -0
  52. package/out/services/compose.d.ts.map +1 -1
  53. package/out/services/compose.js +20 -0
  54. package/out/services/compose.js.map +1 -1
  55. package/out/services/resolve.d.ts +18 -0
  56. package/out/services/resolve.d.ts.map +1 -1
  57. package/out/services/resolve.js +208 -9
  58. package/out/services/resolve.js.map +1 -1
  59. package/out/types/config.d.ts +2 -0
  60. package/out/types/config.d.ts.map +1 -1
  61. package/out/types/config.js +1 -0
  62. package/out/types/config.js.map +1 -1
  63. package/out/utils/config.d.ts.map +1 -1
  64. package/out/utils/config.js +2 -0
  65. package/out/utils/config.js.map +1 -1
  66. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"compileApi.d.ts","sourceRoot":"","sources":["../../src/apis/compileApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,aAAa,EAAE,gBAAgB,EAA8B,eAAe,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAKvI;;;GAGG;AACH,wBAAsB,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAgCnG;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAa7F;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAmBtG"}
1
+ {"version":3,"file":"compileApi.d.ts","sourceRoot":"","sources":["../../src/apis/compileApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,aAAa,EAAE,gBAAgB,EAA8B,eAAe,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMvI;;;GAGG;AACH,wBAAsB,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAgCnG;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAa7F;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAmBtG"}
@@ -6,6 +6,7 @@ exports.transpile = transpile;
6
6
  const createAxios_1 = require("./createAxios");
7
7
  const logger_1 = require("../utils/logger");
8
8
  const string_1 = require("../utils/string");
9
+ const openapi_1 = require("./openapi");
9
10
  /**
10
11
  * 编译 NASL 代码
11
12
  * TODO: 实现具体的 API 调用逻辑
@@ -15,7 +16,7 @@ async function compileApi(fullNaturalTS, options) {
15
16
  // 示例实现:
16
17
  const axios = await (0, createAxios_1.createAxios)(options);
17
18
  const res = await axios.post(`/compile/tsx?ideVersion=${options.ideVersion}&needAnnotation=true`, fullNaturalTS, {
18
- headers: { 'Content-Type': 'text/plain' },
19
+ headers: (0, openapi_1.buildNaslHeaders)(options),
19
20
  });
20
21
  const data = res.data;
21
22
  const { bundle } = data.result;
@@ -47,7 +48,7 @@ window.backendApp = app;
47
48
  async function checkApi(fullNaturalTS, options) {
48
49
  const axios = await (0, createAxios_1.createAxios)(options);
49
50
  const res = await axios.post(`/check/tsx?ideVersion=${options.ideVersion}`, fullNaturalTS, {
50
- headers: { 'Content-Type': 'text/plain' },
51
+ headers: (0, openapi_1.buildNaslHeaders)(options),
51
52
  });
52
53
  const result = res.data.result;
53
54
  const errors = (result.errors || []);
@@ -1 +1 @@
1
- {"version":3,"file":"compileApi.js","sourceRoot":"","sources":["../../src/apis/compileApi.ts"],"names":[],"mappings":";;AASA,gCAgCC;AAMD,4BAaC;AAMD,8BAmBC;AApFD,+CAA4C;AAC5C,4CAAgD;AAChD,4CAA2C;AAE3C;;;GAGG;AACI,KAAK,UAAU,UAAU,CAAC,aAAqB,EAAE,OAAsB;IAC1E,kBAAkB;IAClB,QAAQ;IACR,MAAM,KAAK,GAAG,MAAM,IAAA,yBAAW,EAAC,OAAO,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAC,UAAU,sBAAsB,EAAE,aAAa,EAAE;QAC7G,OAAO,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE;KAC5C,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAEtB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;IAE/B,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAG;YACb,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE;SACnC,CAAC;QACF,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvC,sBAAa,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC;QACP,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE;EACf,MAAM,CAAC,aAAa;;;CAGrB;KACI,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,QAAQ,CAAC,aAAqB,EAAE,OAAsB;IACxE,MAAM,KAAK,GAAG,MAAM,IAAA,yBAAW,EAAC,OAAO,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,yBAAyB,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE;QACvF,OAAO,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE;KAC5C,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;IAC/B,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAuD,CAAC;IAC3F,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,QAAQ,GAAG,aAAa,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACvE,OAAO,IAAA,iBAAQ,EAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,SAAS,CAAC,KAAiB,EAAE,OAAyB;IACxE,kBAAkB;IAClB,QAAQ;IACR,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAEtC,WAAW;IACX,YAAY;IACZ,aAAa;IACb,oBAAoB;IAEpB,WAAW;IACX,mBAAmB;IACnB,aAAa;IACb,QAAQ;IACR,6BAA6B;IAC7B,6CAA6C;IAC7C,SAAS;IACT,OAAO;IACP,KAAK;AACT,CAAC"}
1
+ {"version":3,"file":"compileApi.js","sourceRoot":"","sources":["../../src/apis/compileApi.ts"],"names":[],"mappings":";;AAUA,gCAgCC;AAMD,4BAaC;AAMD,8BAmBC;AArFD,+CAA4C;AAC5C,4CAAgD;AAChD,4CAA2C;AAC3C,uCAA6C;AAE7C;;;GAGG;AACI,KAAK,UAAU,UAAU,CAAC,aAAqB,EAAE,OAAsB;IAC1E,kBAAkB;IAClB,QAAQ;IACR,MAAM,KAAK,GAAG,MAAM,IAAA,yBAAW,EAAC,OAAO,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAC,UAAU,sBAAsB,EAAE,aAAa,EAAE;QAC7G,OAAO,EAAE,IAAA,0BAAgB,EAAC,OAAO,CAAC;KACrC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAEtB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;IAE/B,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAG;YACb,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE;SACnC,CAAC;QACF,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvC,sBAAa,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC;QACP,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE;EACf,MAAM,CAAC,aAAa;;;CAGrB;KACI,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,QAAQ,CAAC,aAAqB,EAAE,OAAsB;IACxE,MAAM,KAAK,GAAG,MAAM,IAAA,yBAAW,EAAC,OAAO,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,yBAAyB,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE;QACvF,OAAO,EAAE,IAAA,0BAAgB,EAAC,OAAO,CAAC;KACrC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;IAC/B,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAuD,CAAC;IAC3F,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,QAAQ,GAAG,aAAa,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACvE,OAAO,IAAA,iBAAQ,EAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,SAAS,CAAC,KAAiB,EAAE,OAAyB;IACxE,kBAAkB;IAClB,QAAQ;IACR,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAEtC,WAAW;IACX,YAAY;IACZ,aAAa;IACb,oBAAoB;IAEpB,WAAW;IACX,mBAAmB;IACnB,aAAa;IACb,QAAQ;IACR,6BAA6B;IAC7B,6CAA6C;IAC7C,SAAS;IACT,OAAO;IACP,KAAK;AACT,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { ServerOptions } from '../types';
2
+ export type DependencyKind = 'uilib' | 'extension' | 'api' | 'connector';
3
+ export type DependencyCategory = `${DependencyKind}s`;
4
+ /**
5
+ * 依赖信息 JSON
6
+ */
7
+ export interface DependenciesJSON {
8
+ extensions?: Record<string, string>;
9
+ uilibs?: Record<string, string>;
10
+ connectors?: Record<string, string>;
11
+ apis?: Record<string, string[]>;
12
+ }
13
+ export interface InstallDependenciesRequest {
14
+ ideVersion: string;
15
+ type: DependencyCategory;
16
+ dependencies: string[];
17
+ }
18
+ interface GeneratedFile {
19
+ path: string;
20
+ content: string;
21
+ }
22
+ export interface InstallDependenciesResponse {
23
+ files: GeneratedFile[];
24
+ dependencies: any[];
25
+ errors: any[];
26
+ }
27
+ export declare function installDependenciesApi(dependenciesJSON: DependenciesJSON, options: ServerOptions): Promise<InstallDependenciesResponse>;
28
+ export {};
29
+ //# sourceMappingURL=dependencyApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencyApi.d.ts","sourceRoot":"","sources":["../../src/apis/dependencyApi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,WAAW,GAAG,KAAK,GAAG,WAAW,CAAC;AACzE,MAAM,MAAM,kBAAkB,GAAG,GAAG,cAAc,GAAG,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,0BAA0B;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,kBAAkB,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,UAAU,aAAa;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAAG,KAAK,EAAE,aAAa,EAAE,CAAC;IAAC,YAAY,EAAE,GAAG,EAAE,CAAC;IAAC,MAAM,EAAE,GAAG,EAAE,CAAA;CAAE;AAE3G,wBAAsB,sBAAsB,CACxC,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,aAAa,GACvB,OAAO,CAAC,2BAA2B,CAAC,CAUtC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.installDependenciesApi = installDependenciesApi;
4
+ const createAxios_1 = require("./createAxios");
5
+ const openapi_1 = require("./openapi");
6
+ ;
7
+ async function installDependenciesApi(dependenciesJSON, options) {
8
+ const axios = await (0, createAxios_1.createAxios)(options);
9
+ const res = await axios.post(`/load/dependencies?ideVersion=${options.ideVersion}`, dependenciesJSON, {
10
+ headers: (0, openapi_1.buildNaslHeaders)(options),
11
+ });
12
+ const data = res.data;
13
+ if (data.code !== 200)
14
+ throw new Error(data.message);
15
+ return data.result;
16
+ }
17
+ //# sourceMappingURL=dependencyApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencyApi.js","sourceRoot":"","sources":["../../src/apis/dependencyApi.ts"],"names":[],"mappings":";;AA8BA,wDAaC;AA3CD,+CAA4C;AAE5C,uCAA6C;AAa5C,CAAC;AAeK,KAAK,UAAU,sBAAsB,CACxC,gBAAkC,EAClC,OAAsB;IAEtB,MAAM,KAAK,GAAG,MAAM,IAAA,yBAAW,EAAC,OAAO,CAAC,CAAC;IAEzC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,iCAAiC,OAAO,CAAC,UAAU,EAAE,EAAE,gBAAgB,EAAE;QAClG,OAAO,EAAE,IAAA,0BAAgB,EAAC,OAAO,CAAC;KACrC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,GAAG,CAAC,IAAW,CAAC;IAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAErD,OAAO,IAAI,CAAC,MAAqC,CAAC;AACtD,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './compileApi';
2
2
  export * from './createAppApi';
3
+ export * from './dependencyApi';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/apis/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/apis/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
package/out/apis/index.js CHANGED
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./compileApi"), exports);
18
18
  __exportStar(require("./createAppApi"), exports);
19
+ __exportStar(require("./dependencyApi"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/apis/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/apis/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,iDAA+B;AAC/B,kDAAgC"}
@@ -34,4 +34,16 @@ export declare const fetchSignInfo: (params: {
34
34
  * @returns 完整的认证头
35
35
  */
36
36
  export declare function generateCompleteHeaders(options: ServerOptions): Promise<Record<string, string>>;
37
+ /**
38
+ * 构建请求 headers
39
+ * 如果 ServerOptions.useOPENAPI 为 true, 意味着接口内部是走的集群,反之则需要走 openapi 调用(本地或者server的场景,透传options相关配置)
40
+ */
41
+ export declare function buildNaslHeaders(options: ServerOptions): {
42
+ 'X-Use-OPENAPI'?: string | undefined;
43
+ 'X-Tenant-Name'?: string | undefined;
44
+ 'X-OPENAPI-SK'?: string | undefined;
45
+ 'X-OPENAPI-AK'?: string | undefined;
46
+ 'Content-Type': string;
47
+ 'X-Server-Base-URL': string;
48
+ };
37
49
  //# sourceMappingURL=openapi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/apis/openapi.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;EAYxE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUlF;AAkCD;;;;;GAKG;AACH,eAAO,MAAM,aAAa;aAhCyC,aAAa;iBAAe,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;mDAoCpH,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAyBrG"}
1
+ {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/apis/openapi.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;EAYxE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUlF;AAkCD;;;;;GAKG;AACH,eAAO,MAAM,aAAa;aAhCyC,aAAa;iBAAe,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;mDAoCpH,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAyBrG;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa;;;;;;;EAStD"}
@@ -7,6 +7,7 @@ exports.fetchSignInfo = void 0;
7
7
  exports.generateClientSignature = generateClientSignature;
8
8
  exports.generateBaseHeaders = generateBaseHeaders;
9
9
  exports.generateCompleteHeaders = generateCompleteHeaders;
10
+ exports.buildNaslHeaders = buildNaslHeaders;
10
11
  const axios_fixed_1 = __importDefault(require("@lcap/axios-fixed"));
11
12
  const crypto_1 = __importDefault(require("crypto"));
12
13
  const uuid_1 = require("uuid");
@@ -107,4 +108,18 @@ async function generateCompleteHeaders(options) {
107
108
  }
108
109
  return headers;
109
110
  }
111
+ /**
112
+ * 构建请求 headers
113
+ * 如果 ServerOptions.useOPENAPI 为 true, 意味着接口内部是走的集群,反之则需要走 openapi 调用(本地或者server的场景,透传options相关配置)
114
+ */
115
+ function buildNaslHeaders(options) {
116
+ return {
117
+ 'Content-Type': 'text/plain',
118
+ 'X-Server-Base-URL': options.serverBaseURL,
119
+ ...(options.OPENAPI_AK && { 'X-OPENAPI-AK': options.OPENAPI_AK }),
120
+ ...(options.OPENAPI_SK && { 'X-OPENAPI-SK': options.OPENAPI_SK }),
121
+ ...(options.tenantName && { 'X-Tenant-Name': options.tenantName }),
122
+ ...(options.useOPENAPI !== undefined && { 'X-Use-OPENAPI': String(!options.useOPENAPI) }),
123
+ };
124
+ }
110
125
  //# sourceMappingURL=openapi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/apis/openapi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/apis/openapi.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transformApi.d.ts","sourceRoot":"","sources":["../../src/apis/transformApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,aAAa,EAAiE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGvI;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAQnG"}
1
+ {"version":3,"file":"transformApi.d.ts","sourceRoot":"","sources":["../../src/apis/transformApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGxD;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAUnG"}
@@ -13,6 +13,8 @@ async function transformJson2FilesApi(json, options) {
13
13
  headers: { 'Content-Type': 'application/json' },
14
14
  });
15
15
  const data = res.data;
16
+ if (data.code !== 200)
17
+ throw new Error(data.message);
16
18
  return data.result;
17
19
  }
18
20
  //# sourceMappingURL=transformApi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformApi.js","sourceRoot":"","sources":["../../src/apis/transformApi.ts"],"names":[],"mappings":";;AAOA,wDAQC;AAdD,+CAA4C;AAE5C;;;GAGG;AACI,KAAK,UAAU,sBAAsB,CAAC,IAAS,EAAE,OAAsB;IAC1E,QAAQ;IACR,MAAM,KAAK,GAAG,MAAM,IAAA,yBAAW,EAAC,OAAO,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,oCAAoC,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE;QACzF,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAClD,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,OAAO,IAAI,CAAC,MAAM,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"transformApi.js","sourceRoot":"","sources":["../../src/apis/transformApi.ts"],"names":[],"mappings":";;AAOA,wDAUC;AAhBD,+CAA4C;AAE5C;;;GAGG;AACI,KAAK,UAAU,sBAAsB,CAAC,IAAS,EAAE,OAAsB;IAC1E,QAAQ;IACR,MAAM,KAAK,GAAG,MAAM,IAAA,yBAAW,EAAC,OAAO,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,oCAAoC,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE;QACzF,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAClD,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAEtB,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC,MAAM,CAAC;AACvB,CAAC"}
package/out/bin/nasl.js CHANGED
@@ -99,15 +99,51 @@ program
99
99
  program
100
100
  .command('dep [entry]')
101
101
  .description('从入口文件开始进行依赖分析')
102
- .action(async (entry) => {
102
+ .option('--save', '将计算出的 externalDependencies 补充到 src/app.dependencies.json')
103
+ .action(async (entry, options) => {
103
104
  try {
104
- await (0, dep_1.dep)(entry);
105
+ await (0, dep_1.dep)(entry, options);
105
106
  }
106
107
  catch (error) {
107
108
  logger_1.defaultLogger.error(`查找依赖过程发生错误:${error.message}`);
108
109
  process.exit(1);
109
110
  }
110
111
  });
112
+ program
113
+ .command('install [kind|by-json] [deps...]')
114
+ .option('--save-potential', '将 app.dependencies.json 写入 potential.dependencies.json')
115
+ .description(`安装一个或多个 uilib, extension, api 或 connector 依赖,例如:
116
+ - nasl install uilib some_component@0.1.0 some_component@0.2.0
117
+ - nasl install extension some_encryption@0.1.0 some_interceptor@0.2.0
118
+ - nasl install api some_service:api1,api2 some_service:api3,api4
119
+ - nasl install connector some_connector@0.1.0 some_connector@0.2.0
120
+ - nasl install by-json '{"uilibs": {"some_component": "0.1.0"}, "extensions": {"some_encryption": "0.1.0", "some_interceptor": "0.2.0"}}'
121
+ `)
122
+ .action(async (kind, deps, options) => {
123
+ try {
124
+ if (kind === 'by-json') {
125
+ if (deps.length < 1)
126
+ throw new Error('请提供一个 JSON 字符串');
127
+ else if (deps.length > 1)
128
+ throw new Error('参数过多,JSON 字符串只能有一个');
129
+ const jsonStr = deps[0];
130
+ await (0, commands_1.installByJSON)(JSON.parse(jsonStr), options);
131
+ }
132
+ else if (kind) {
133
+ if (!['uilib', 'extension', 'api', 'connector'].includes(kind)) {
134
+ throw new Error(`无效的依赖类型: ${kind}。\n支持的类型有: uilib, extension, api, connector`);
135
+ }
136
+ await (0, commands_1.installByKind)(kind, deps, options);
137
+ }
138
+ else {
139
+ await (0, commands_1.installAuto)(options);
140
+ }
141
+ }
142
+ catch (error) {
143
+ logger_1.defaultLogger.error(`安装过程发生错误:${error.message}`);
144
+ process.exit(1);
145
+ }
146
+ });
111
147
  program
112
148
  .command('dev [entry]')
113
149
  .description('启动开发服务')
@@ -1 +1 @@
1
- {"version":3,"file":"nasl.js","sourceRoot":"","sources":["../../src/bin/nasl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nasl.js","sourceRoot":"","sources":["../../src/bin/nasl.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C;;GAEG;AACH,wBAAsB,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc;;;;GA4C9E"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C;;GAEG;AACH,wBAAsB,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc;;;;GA6C9E"}
@@ -14,7 +14,7 @@ async function check(entry, options) {
14
14
  const logger = options?.logger || utils_1.defaultLogger;
15
15
  logger.info('开始检查 NASL 代码...');
16
16
  // 收集需要检查的文件
17
- const { collectedFiles, config } = await (0, resolve_1.resolveNASLFiles)(entry, logger, false, options?.verbose);
17
+ const { collectedFiles, config, mergedDependencies } = await (0, resolve_1.resolveNASLFiles)(entry, logger, false, options?.verbose);
18
18
  // 调用检查 API
19
19
  logger.newLine();
20
20
  logger.info('正在调用检查服务,对语法和语义进行检查...');
@@ -22,6 +22,7 @@ async function check(entry, options) {
22
22
  let result = '';
23
23
  try {
24
24
  fullNaturalTS = (0, compose_1.composeToString)(collectedFiles);
25
+ fullNaturalTS = (0, compose_1.prependDependencies)(fullNaturalTS, mergedDependencies);
25
26
  }
26
27
  catch (error) {
27
28
  result = error.message.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":";;AAWA,sBA4CC;AAvDD,oCAAyC;AACzC,kCAAmC;AACnC,iDAAsD;AACtD,sDAA4D;AAC5D,iDAAuD;AAEvD,4CAAgD;AAEhD;;GAEG;AACI,KAAK,UAAU,KAAK,CAAC,KAAyB,EAAE,OAAwB;IAC3E,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,qBAAa,CAAC;IAChD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAE/B,YAAY;IACZ,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,0BAAgB,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAElG,WAAW;IACX,MAAM,CAAC,OAAO,EAAE,CAAC;IACjB,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAEtC,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC;QACD,aAAa,GAAG,IAAA,yBAAe,EAAC,cAAc,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,MAAM,GAAI,KAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;QAC3B,MAAM,GAAG,CAAC,MAAM,IAAA,eAAQ,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,kBAAkB;QAClB,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,GAAG,IAAA,kCAAoB,EAAC;gBAC1B,YAAY,EAAE,MAAM;gBACpB,cAAc;aACjB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG;QAChB,OAAO,EAAE,CAAC,MAAM;QAChB,MAAM;QACN,aAAa;KAChB,CAAC;IAEF,IAAA,sBAAa,EAAC,KAAK,IAAI,GAAG,EAAE,SAAS,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,MAAM,EAAE,MAAM,GAAG,0GAA0G,GAAG,aAAa,CAAC,CAAC;IAE3N,IAAI,CAAC,WAAW,CAAC,OAAO;QACpB,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;;QAExC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAErC,OAAO,WAAW,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":";;AAWA,sBA6CC;AAxDD,oCAAyC;AACzC,kCAAmC;AACnC,iDAA2E;AAC3E,sDAA4D;AAC5D,iDAAuD;AAEvD,4CAAgD;AAEhD;;GAEG;AACI,KAAK,UAAU,KAAK,CAAC,KAAyB,EAAE,OAAwB;IAC3E,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,qBAAa,CAAC;IAChD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAE/B,YAAY;IACZ,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,IAAA,0BAAgB,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAEtH,WAAW;IACX,MAAM,CAAC,OAAO,EAAE,CAAC;IACjB,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAEtC,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC;QACD,aAAa,GAAG,IAAA,yBAAe,EAAC,cAAc,CAAC,CAAC;QAChD,aAAa,GAAG,IAAA,6BAAmB,EAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,MAAM,GAAI,KAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;QAC3B,MAAM,GAAG,CAAC,MAAM,IAAA,eAAQ,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,kBAAkB;QAClB,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,GAAG,IAAA,kCAAoB,EAAC;gBAC1B,YAAY,EAAE,MAAM;gBACpB,cAAc;aACjB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG;QAChB,OAAO,EAAE,CAAC,MAAM;QAChB,MAAM;QACN,aAAa;KAChB,CAAC;IAEF,IAAA,sBAAa,EAAC,KAAK,IAAI,GAAG,EAAE,SAAS,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,MAAM,EAAE,MAAM,GAAG,0GAA0G,GAAG,aAAa,CAAC,CAAC;IAE3N,IAAI,CAAC,WAAW,CAAC,OAAO;QACpB,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;;QAExC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAErC,OAAO,WAAW,CAAC;AACvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;GAEG;AACH,wBAAsB,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;;;GAgCrE;AAED,wBAAsB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,iBAQxE"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;GAEG;AACH,wBAAsB,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;;;GAiCrE;AAED,wBAAsB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,iBAQxE"}
@@ -47,14 +47,15 @@ async function compile(entry, options) {
47
47
  const logger = options?.logger || utils_1.defaultLogger;
48
48
  logger.info('开始编译 NASL 代码...');
49
49
  // 收集需要编译的文件
50
- const { collectedFiles, config, projectRoot } = await (0, resolve_1.resolveNASLFiles)(entry, logger, false, options?.verbose);
50
+ const { collectedFiles, config, projectRoot, mergedDependencies } = await (0, resolve_1.resolveNASLFiles)(entry, logger, false, options?.verbose);
51
51
  logger.info(`输出目录: ${config.outDir}`);
52
52
  const outDir = path.join(projectRoot, config.outDir);
53
53
  // 调用编译 API
54
54
  logger.newLine();
55
55
  logger.info('正在调用编译服务...');
56
56
  try {
57
- const fullNaturalTS = (0, compose_1.composeToString)(collectedFiles);
57
+ let fullNaturalTS = (0, compose_1.composeToString)(collectedFiles);
58
+ fullNaturalTS = (0, compose_1.prependDependencies)(fullNaturalTS, mergedDependencies);
58
59
  const outputFiles = await (0, apis_1.compileApi)(fullNaturalTS, config);
59
60
  logger.success('编译成功!');
60
61
  // 写入输出文件
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,0BAgCC;AAED,gCAQC;AApDD,2CAA6B;AAC7B,oCAA2D;AAC3D,kCAAqC;AACrC,iDAAsD;AACtD,iDAAuD;AAGvD;;GAEG;AACI,KAAK,UAAU,OAAO,CAAC,KAAc,EAAE,OAAwB;IAClE,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,qBAAa,CAAC;IAChD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAE/B,YAAY;IACZ,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,0BAAgB,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE/G,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAErD,WAAW;IACX,MAAM,CAAC,OAAO,EAAE,CAAC;IACjB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3B,IAAI,CAAC;QACD,MAAM,aAAa,GAAG,IAAA,yBAAe,EAAC,cAAc,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,MAAM,IAAA,iBAAU,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAExB,SAAS;QACT,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,IAAA,wBAAgB,EAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,MAAM,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,cAAe,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,KAAc,EAAE,OAAwB;IACrE,IAAI,CAAC;QACD,MAAM,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,qBAAa,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,YAAa,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,0BAiCC;AAED,gCAQC;AArDD,2CAA6B;AAC7B,oCAA2D;AAC3D,kCAAqC;AACrC,iDAA2E;AAC3E,iDAAuD;AAGvD;;GAEG;AACI,KAAK,UAAU,OAAO,CAAC,KAAc,EAAE,OAAwB;IAClE,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,qBAAa,CAAC;IAChD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAE/B,YAAY;IACZ,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,MAAM,IAAA,0BAAgB,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAEnI,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAErD,WAAW;IACX,MAAM,CAAC,OAAO,EAAE,CAAC;IACjB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3B,IAAI,CAAC;QACD,IAAI,aAAa,GAAG,IAAA,yBAAe,EAAC,cAAc,CAAC,CAAC;QACpD,aAAa,GAAG,IAAA,6BAAmB,EAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,MAAM,IAAA,iBAAU,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAExB,SAAS;QACT,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,IAAA,wBAAgB,EAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,MAAM,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,cAAe,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,KAAc,EAAE,OAAwB;IACrE,IAAI,CAAC;QACD,MAAM,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,qBAAa,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,YAAa,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;AACL,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import type { CommandOptions } from '../types';
2
2
  /**
3
- * 检查命令 - 检查 NASL 代码的语法和语义
3
+ * 依赖分析命令 - 从入口文件开始进行依赖分析
4
4
  */
5
- export declare function dep(entry?: string | string[], options?: CommandOptions): Promise<import("../services/resolve").ResolveFilesResult>;
5
+ export declare function dep(entry?: string | string[], options?: CommandOptions & {
6
+ save?: boolean;
7
+ }): Promise<import("../services/resolve").ResolveFilesResult>;
6
8
  //# sourceMappingURL=dep.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dep.d.ts","sourceRoot":"","sources":["../../src/commands/dep.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;GAEG;AACH,wBAAsB,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,6DAK5E"}
1
+ {"version":3,"file":"dep.d.ts","sourceRoot":"","sources":["../../src/commands/dep.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;GAEG;AACH,wBAAsB,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,6DAejG"}
@@ -1,14 +1,56 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.dep = dep;
37
+ const path = __importStar(require("path"));
38
+ const fs = __importStar(require("fs-extra"));
4
39
  const utils_1 = require("../utils");
5
40
  const resolve_1 = require("../services/resolve");
6
41
  /**
7
- * 检查命令 - 检查 NASL 代码的语法和语义
42
+ * 依赖分析命令 - 从入口文件开始进行依赖分析
8
43
  */
9
44
  async function dep(entry, options) {
10
45
  const logger = options?.logger || utils_1.defaultLogger;
11
46
  logger.info('开始进行依赖分析...');
12
- return (0, resolve_1.resolveNASLFiles)(entry, logger, true, true);
47
+ const result = await (0, resolve_1.resolveNASLFiles)(entry, logger, true, options?.verbose ?? true);
48
+ if (options?.save && result.mergedDependencies) {
49
+ const srcDir = path.join(result.projectRoot, result.config.srcDir);
50
+ const appDepsPath = path.join(srcDir, 'app.dependencies.json');
51
+ await fs.writeJson(appDepsPath, result.mergedDependencies, { spaces: 2 });
52
+ logger.success(`已将 externalDependencies 补充到 ${appDepsPath}`);
53
+ }
54
+ return result;
13
55
  }
14
56
  //# sourceMappingURL=dep.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dep.js","sourceRoot":"","sources":["../../src/commands/dep.ts"],"names":[],"mappings":";;AAOA,kBAKC;AAZD,oCAAyC;AACzC,iDAAuD;AAGvD;;GAEG;AACI,KAAK,UAAU,GAAG,CAAC,KAAyB,EAAE,OAAwB;IACzE,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,qBAAa,CAAC;IAChD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE3B,OAAO,IAAA,0BAAgB,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"dep.js","sourceRoot":"","sources":["../../src/commands/dep.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,kBAeC;AAxBD,2CAA6B;AAC7B,6CAA+B;AAC/B,oCAAyC;AACzC,iDAAuD;AAGvD;;GAEG;AACI,KAAK,UAAU,GAAG,CAAC,KAAyB,EAAE,OAA6C;IAC9F,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,qBAAa,CAAC;IAChD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE3B,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAgB,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC;IAErF,IAAI,OAAO,EAAE,IAAI,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;QAE/D,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1E,MAAM,CAAC,OAAO,CAAC,+BAA+B,WAAW,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -6,4 +6,5 @@ export * from './dev';
6
6
  export * from './build';
7
7
  export * from './createAppInIde';
8
8
  export * from './transform';
9
+ export * from './install';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -22,4 +22,5 @@ __exportStar(require("./dev"), exports);
22
22
  __exportStar(require("./build"), exports);
23
23
  __exportStar(require("./createAppInIde"), exports);
24
24
  __exportStar(require("./transform"), exports);
25
+ __exportStar(require("./install"), exports);
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,4CAA0B;AAC1B,0CAAwB;AACxB,wCAAsB;AACtB,wCAAsB;AACtB,0CAAwB;AACxB,mDAAiC;AACjC,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,4CAA0B;AAC1B,0CAAwB;AACxB,wCAAsB;AACtB,wCAAsB;AACtB,0CAAwB;AACxB,mDAAiC;AACjC,8CAA4B;AAC5B,4CAA0B"}
@@ -0,0 +1,9 @@
1
+ import type { DependenciesJSON } from '../apis';
2
+ import { type DependencyKind } from '../apis';
3
+ import type { CommandOptions } from '../types';
4
+ export declare function installAuto(options?: CommandOptions): Promise<void>;
5
+ export declare function installByKind(kind: DependencyKind, deps: string[], options?: CommandOptions): Promise<void>;
6
+ export declare function installByJSON(json: DependenciesJSON, options?: CommandOptions & {
7
+ savePotential?: boolean;
8
+ }): Promise<void>;
9
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAmD,MAAM,SAAS,CAAC;AACjG,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE,cAAc,iBAWzD;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,iBA2BjG;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,iBA+CjH"}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.installAuto = installAuto;
37
+ exports.installByKind = installByKind;
38
+ exports.installByJSON = installByJSON;
39
+ const path = __importStar(require("path"));
40
+ const fs = __importStar(require("fs-extra"));
41
+ const utils_1 = require("../utils");
42
+ const config_1 = require("../utils/config");
43
+ const apis_1 = require("../apis");
44
+ async function installAuto(options) {
45
+ const logger = options?.logger || utils_1.defaultLogger;
46
+ const config = (0, config_1.loadConfig)();
47
+ const projectRoot = (0, config_1.getProjectRoot)();
48
+ const srcDir = path.join(projectRoot, config.srcDir);
49
+ const appDependenciesJsonPath = path.join(srcDir, 'app.dependencies.json');
50
+ const appDependenciesJson = fs.readJsonSync(appDependenciesJsonPath);
51
+ logger.info(`开始按照 ${appDependenciesJsonPath} 安装依赖`);
52
+ return installByJSON(appDependenciesJson, options);
53
+ }
54
+ async function installByKind(kind, deps, options) {
55
+ const logger = options?.logger || utils_1.defaultLogger;
56
+ if (!deps || deps.length === 0) {
57
+ logger.error(`请至少指定一个要安装的 ${kind},例如:nasl install ${kind} aaa@0.1.0`);
58
+ return logger.exit(1);
59
+ }
60
+ const dependencyMap = {};
61
+ for (const dep of deps) {
62
+ if (kind === 'api') {
63
+ const [service, interfaces] = dep.split(':');
64
+ if (!service || !interfaces) {
65
+ logger.error(`无效的依赖格式:${dep},请使用 service:api1,api2 格式,例如:some_service:api1,api2`);
66
+ return logger.exit(1);
67
+ }
68
+ dependencyMap[service] = interfaces.split(',');
69
+ }
70
+ else {
71
+ const [name, version] = dep.split('@');
72
+ if (!name || !version) {
73
+ logger.error(`无效的依赖格式:${dep},请使用 name@version 格式,例如:aaa@0.1.0`);
74
+ return logger.exit(1);
75
+ }
76
+ dependencyMap[name] = version;
77
+ }
78
+ }
79
+ return installByJSON({ [kind + 's']: dependencyMap }, options);
80
+ }
81
+ async function installByJSON(json, options) {
82
+ const logger = options?.logger || utils_1.defaultLogger;
83
+ if (!Object.keys(json).length) {
84
+ logger.error('没有需要安装的依赖');
85
+ return;
86
+ }
87
+ const config = (0, config_1.loadConfig)();
88
+ const projectRoot = (0, config_1.getProjectRoot)();
89
+ const srcDir = path.join(projectRoot, config.srcDir);
90
+ const result = await (0, apis_1.installDependenciesApi)(json, config);
91
+ if (!result.files || result.files.length <= 1)
92
+ throw new Error(`安装依赖失败,没有生成任何文件:\n${JSON.stringify(result)}`);
93
+ if (result.errors.length > 0) {
94
+ logger.error(`某些依赖安装失败:`);
95
+ for (const error of result.errors)
96
+ logger.error(error);
97
+ }
98
+ // const appDepsFile = result.files.find((f) => f.path === 'app.dependencies.json');
99
+ const otherFiles = result.files.filter((f) => f.path !== 'app.dependencies.json');
100
+ const jsonToSave = JSON.parse(JSON.stringify(json));
101
+ for (const err of result.errors) {
102
+ const { name, category } = err;
103
+ const record = jsonToSave[category];
104
+ if (record && typeof record === 'object') {
105
+ delete record[name];
106
+ if (Object.keys(record).length === 0)
107
+ delete jsonToSave[category];
108
+ }
109
+ }
110
+ if (options?.savePotential) {
111
+ const potentialPath = path.join(srcDir, 'potential.dependencies.json');
112
+ await fs.writeJson(potentialPath, jsonToSave, { spaces: 2 });
113
+ logger.success(`依赖信息已写入: ${path.relative(projectRoot, potentialPath)}`);
114
+ }
115
+ await Promise.all(otherFiles.map(async (file) => {
116
+ const filePath = path.join(srcDir, file.path);
117
+ await fs.outputFile(filePath, file.content, 'utf-8');
118
+ logger.success(`依赖文件已写入: ${path.relative(projectRoot, filePath)}`);
119
+ }));
120
+ const writtenCount = otherFiles.length;
121
+ logger.success(`成功写入 ${writtenCount} 个依赖文件到 ${config.srcDir} 目录`);
122
+ }
123
+ //# sourceMappingURL=install.js.map