@nasl/cli 0.1.0 → 0.1.2

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 (46) hide show
  1. package/README.md +41 -5
  2. package/build/index.html +23 -0
  3. package/build/index.js +109 -0
  4. package/build/nasl.bundle.js +8 -0
  5. package/build/platformConfig.js +41 -0
  6. package/build/webpack.config.js +59 -0
  7. package/out/bin/nasl.js +21 -1
  8. package/out/bin/nasl.js.map +1 -1
  9. package/out/commands/check copy.d.ts +5 -0
  10. package/out/commands/check copy.d.ts.map +1 -0
  11. package/out/commands/check copy.js +30 -0
  12. package/out/commands/check copy.js.map +1 -0
  13. package/out/commands/check.d.ts.map +1 -1
  14. package/out/commands/check.js +3 -1
  15. package/out/commands/check.js.map +1 -1
  16. package/out/commands/compile.d.ts.map +1 -1
  17. package/out/commands/compile.js +3 -1
  18. package/out/commands/compile.js.map +1 -1
  19. package/out/commands/dep.d.ts +5 -0
  20. package/out/commands/dep.d.ts.map +1 -0
  21. package/out/commands/dep.js +13 -0
  22. package/out/commands/dep.js.map +1 -0
  23. package/out/commands/dev.d.ts.map +1 -1
  24. package/out/commands/dev.js +36 -1
  25. package/out/commands/dev.js.map +1 -1
  26. package/out/services/compose.d.ts +2 -0
  27. package/out/services/compose.d.ts.map +1 -1
  28. package/out/services/compose.js +4 -2
  29. package/out/services/compose.js.map +1 -1
  30. package/out/services/resolve.d.ts +3 -2
  31. package/out/services/resolve.d.ts.map +1 -1
  32. package/out/services/resolve.js +169 -13
  33. package/out/services/resolve.js.map +1 -1
  34. package/package.json +16 -3
  35. package/out/bin/nasl-compile.d.ts +0 -3
  36. package/out/bin/nasl-compile.d.ts.map +0 -1
  37. package/out/bin/nasl-compile.js +0 -22
  38. package/out/bin/nasl-compile.js.map +0 -1
  39. package/out/commands/transpile.d.ts +0 -5
  40. package/out/commands/transpile.d.ts.map +0 -1
  41. package/out/commands/transpile.js +0 -123
  42. package/out/commands/transpile.js.map +0 -1
  43. package/out/services/resolveFiles.d.ts +0 -18
  44. package/out/services/resolveFiles.d.ts.map +0 -1
  45. package/out/services/resolveFiles.js +0 -103
  46. package/out/services/resolveFiles.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/services/resolve.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,sCAaC;AAcD,4CAkDC;AArFD,2CAA6B;AAC7B,iCAAkC;AAClC,oCAA+E;AAG/E;;GAEG;AACI,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,cAAkC;IAClF,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;QAC/E,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE;YAChC,GAAG,EAAE,MAAM;YACX,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;SAClB,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,cAAM,CAAC,KAAK,CAAC,WAAY,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC;AASD;;;;GAIG;AACI,KAAK,UAAU,gBAAgB,CAAC,KAAc;IACjD,OAAO;IACP,MAAM,MAAM,GAAG,IAAA,kBAAU,GAAE,CAAC;IAC5B,MAAM,WAAW,GAAG,IAAA,sBAAc,GAAE,CAAC;IAErC,cAAM,CAAC,IAAI,CAAC,UAAU,WAAW,EAAE,CAAC,CAAC;IACrC,cAAM,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAErD,YAAY;IACZ,IAAI,UAAU,GAAe,EAAE,CAAC;IAEhC,IAAI,KAAK,EAAE,CAAC;QACR,eAAe;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACnD,cAAM,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;QAE9B,4BAA4B;QAC5B,iBAAiB;QACjB,MAAM,OAAO,GAAG,IAAA,uBAAe,EAAC,SAAS,CAAC,CAAC;QAC3C,UAAU,GAAG,CAAC;gBACV,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;gBAC3C,OAAO;aACV,CAAC,CAAC;IACP,CAAC;SAAM,CAAC;QACJ,cAAc;QACd,cAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;QACrE,cAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAExB,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAA,uBAAe,EAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;SACxD,CAAC,CAAC,CAAC;QAEJ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,cAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,cAAM,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,YAAY,CAAC,CAAC;IACrD,CAAC;IAED,OAAO;QACH,UAAU;QACV,MAAM;QACN,WAAW;QACX,MAAM;KACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/services/resolve.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nasl/cli",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "NASL (Next Application Specific Language) CLI tool for checking, compiling and developing NASL code",
5
5
  "main": "out/index.js",
6
6
  "bin": {
@@ -14,7 +14,10 @@
14
14
  "lint:fix": "eslint src --ext .ts --fix",
15
15
  "format": "prettier --write \"src/**/*.ts\"",
16
16
  "prepublishOnly": "pnpm run build",
17
- "release": "npm publish --access public"
17
+ "release": "npm publish --access public",
18
+ "nasl:dev": "webpack serve --mode development",
19
+ "nasl:build": "webpack --mode production",
20
+ "nasl:preview": "webpack serve --mode production"
18
21
  },
19
22
  "keywords": [
20
23
  "nasl",
@@ -39,7 +42,17 @@
39
42
  "eslint-config-alloy": "^5.1.2",
40
43
  "fs-extra": "^11.3.2",
41
44
  "globby": "^11.1.0",
42
- "prettier": "^3.6.2"
45
+ "prettier": "^3.6.2",
46
+ "css-loader": "^6.8.1",
47
+ "html-webpack-plugin": "^5.5.3",
48
+ "lodash": "^4.17.21",
49
+ "vue": "^3.4.0",
50
+ "vue-router": "^4.0.0",
51
+ "style-loader": "^3.3.3",
52
+ "vue-loader": "^17.3.0",
53
+ "webpack": "^5.89.0",
54
+ "webpack-cli": "^5.1.4",
55
+ "webpack-dev-server": "^4.15.1"
43
56
  },
44
57
  "engines": {
45
58
  "node": ">=16.0.0"
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=nasl-compile.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nasl-compile.d.ts","sourceRoot":"","sources":["../../src/bin/nasl-compile.ts"],"names":[],"mappings":""}
@@ -1,22 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- const commander_1 = require("commander");
5
- const commands_1 = require("../commands");
6
- const logger_1 = require("../utils/logger");
7
- const program = new commander_1.Command();
8
- program
9
- .name('nasl-compile')
10
- .description('编译 NASL 代码为 JavaScript')
11
- .argument('[entry]', '入口文件路径(可选,不填则编译整个 src 目录)')
12
- .action(async (entry) => {
13
- try {
14
- await (0, commands_1.compileCommand)(entry);
15
- }
16
- catch (error) {
17
- logger_1.Logger.error(`编译过程发生错误:${error.message}`);
18
- process.exit(1);
19
- }
20
- });
21
- program.parse(process.argv);
22
- //# sourceMappingURL=nasl-compile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nasl-compile.js","sourceRoot":"","sources":["../../src/bin/nasl-compile.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,0CAA6C;AAC7C,4CAAyC;AAEzC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACF,IAAI,CAAC,cAAc,CAAC;KACpB,WAAW,CAAC,wBAAwB,CAAC;KACrC,QAAQ,CAAC,SAAS,EAAE,2BAA2B,CAAC;KAChD,MAAM,CAAC,KAAK,EAAE,KAAc,EAAE,EAAE;IAC7B,IAAI,CAAC;QACD,MAAM,IAAA,yBAAc,EAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,eAAM,CAAC,KAAK,CAAC,YAAa,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC,CAAC,CAAC;AAEP,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -1,5 +0,0 @@
1
- /**
2
- * 转换命令 - 将 NASL 转换为 AST JSON
3
- */
4
- export declare function transpileCommand(entry?: string): Promise<void>;
5
- //# sourceMappingURL=transpile.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transpile.d.ts","sourceRoot":"","sources":["../../src/commands/transpile.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyFpE"}
@@ -1,123 +0,0 @@
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.transpileCommand = transpileCommand;
37
- const path = __importStar(require("path"));
38
- const utils_1 = require("../utils");
39
- const apis_1 = require("../apis");
40
- /**
41
- * 转换命令 - 将 NASL 转换为 AST JSON
42
- */
43
- async function transpileCommand(entry) {
44
- try {
45
- // 加载配置
46
- const config = (0, utils_1.loadConfig)();
47
- const projectRoot = (0, utils_1.getProjectRoot)();
48
- utils_1.Logger.info('开始转换 NASL 代码...');
49
- utils_1.Logger.info(`项目根目录: ${projectRoot}`);
50
- utils_1.Logger.info(`源代码目录: ${config.srcDir}`);
51
- utils_1.Logger.info(`输出目录: ${config.outDir}`);
52
- const srcDir = path.join(projectRoot, config.srcDir);
53
- const outDir = path.join(projectRoot, config.outDir);
54
- // 收集需要转换的文件
55
- let files = [];
56
- if (entry) {
57
- // 转换指定入口文件及其依赖
58
- const entryPath = path.resolve(projectRoot, entry);
59
- utils_1.Logger.info(`入口文件: ${entry}`);
60
- // TODO: 这里需要实现依赖分析,收集所有依赖文件
61
- // 目前简单实现:只读取入口文件
62
- const content = (0, utils_1.readFileWithLog)(entryPath);
63
- files = [
64
- {
65
- path: path.relative(projectRoot, entryPath),
66
- content,
67
- },
68
- ];
69
- }
70
- else {
71
- // 转换整个 src 目录
72
- utils_1.Logger.info('转换整个源代码目录...');
73
- const filePaths = await (0, utils_1.scanNASLFiles)(srcDir, config.representation);
74
- files = filePaths.map((filePath) => ({
75
- path: filePath,
76
- content: (0, utils_1.readFileWithLog)(path.join(projectRoot, filePath)),
77
- }));
78
- utils_1.Logger.info(`找到 ${files.length} 个 NASL 文件`);
79
- }
80
- if (files.length === 0) {
81
- utils_1.Logger.warn('未找到需要转换的文件');
82
- return;
83
- }
84
- // 调用转换 API
85
- utils_1.Logger.info('正在调用转换服务...');
86
- const result = await (0, apis_1.transpile)(files, {
87
- entry,
88
- srcDir: config.srcDir,
89
- outDir: config.outDir,
90
- serverBaseURL: config.serverBaseURL,
91
- ideVersion: config.ideVersion,
92
- });
93
- // 处理转换结果
94
- if (result.success && result.files) {
95
- utils_1.Logger.success('转换成功!');
96
- utils_1.Logger.info(`生成 ${result.files.length} 个 AST JSON 文件`);
97
- // 写入输出文件
98
- for (const file of result.files) {
99
- const outputPath = path.join(outDir, file.path);
100
- (0, utils_1.writeFileWithLog)(outputPath, file.content);
101
- utils_1.Logger.debug(`写入文件: ${outputPath}`);
102
- }
103
- utils_1.Logger.success(`所有文件已输出到: ${outDir}`);
104
- }
105
- else if (result.errors && result.errors.length > 0) {
106
- utils_1.Logger.error('转换失败!');
107
- utils_1.Logger.error('\n错误信息:');
108
- for (const error of result.errors) {
109
- console.error(` ${error.file}:${error.line}:${error.column} - [${error.type}] ${error.message}`);
110
- }
111
- process.exit(1);
112
- }
113
- else {
114
- utils_1.Logger.error('转换失败:未知错误');
115
- process.exit(1);
116
- }
117
- }
118
- catch (error) {
119
- utils_1.Logger.error(`转换过程发生错误: ${error.message}`);
120
- process.exit(1);
121
- }
122
- }
123
- //# sourceMappingURL=transpile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transpile.js","sourceRoot":"","sources":["../../src/commands/transpile.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import type { FileInfo, NASLRepresentation, NASLConfig } from '../types';
2
- /**
3
- * 扫描目录下的所有 NASL 文件
4
- */
5
- export declare function scanNASLFiles(srcDir: string, representation: NASLRepresentation): Promise<string[]>;
6
- export interface ResolveFilesResult {
7
- inputFiles: FileInfo[];
8
- config: NASLConfig;
9
- projectRoot: string;
10
- srcDir: string;
11
- }
12
- /**
13
- * 解析需要处理的文件(包含配置加载和目录设置)
14
- * @param entry 入口文件路径(可选)
15
- * @returns 文件信息、配置和目录信息
16
- */
17
- export declare function resolveFiles(entry?: string): Promise<ResolveFilesResult>;
18
- //# sourceMappingURL=resolveFiles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveFiles.d.ts","sourceRoot":"","sources":["../../src/services/resolveFiles.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEzE;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAazG;AAED,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,QAAQ,EAAE,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA6C9E"}
@@ -1,103 +0,0 @@
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.scanNASLFiles = scanNASLFiles;
37
- exports.resolveFiles = resolveFiles;
38
- const path = __importStar(require("path"));
39
- const globby = require("globby");
40
- const utils_1 = require("../utils");
41
- /**
42
- * 扫描目录下的所有 NASL 文件
43
- */
44
- async function scanNASLFiles(srcDir, representation) {
45
- try {
46
- const pattern = representation === 'NaturalTS' ? '**/*.{ts,tsx}' : '**/*.nasl';
47
- const files = await globby(pattern, {
48
- cwd: srcDir,
49
- onlyFiles: true,
50
- absolute: false,
51
- });
52
- return files;
53
- }
54
- catch (error) {
55
- utils_1.Logger.error(`扫描文件失败: ${error.message}`);
56
- throw error;
57
- }
58
- }
59
- /**
60
- * 解析需要处理的文件(包含配置加载和目录设置)
61
- * @param entry 入口文件路径(可选)
62
- * @returns 文件信息、配置和目录信息
63
- */
64
- async function resolveFiles(entry) {
65
- // 加载配置
66
- const config = (0, utils_1.loadConfig)();
67
- const projectRoot = (0, utils_1.getProjectRoot)();
68
- utils_1.Logger.info(`项目根目录: ${projectRoot}`);
69
- utils_1.Logger.info(`源代码目录: ${config.srcDir}`);
70
- const srcDir = path.join(projectRoot, config.srcDir);
71
- // 收集需要处理的文件
72
- let inputFiles = [];
73
- if (entry) {
74
- // 处理指定入口文件及其依赖
75
- const entryPath = path.resolve(projectRoot, entry);
76
- utils_1.Logger.info(`入口文件: ${entry}`);
77
- // TODO: 这里需要实现依赖分析,收集所有依赖文件
78
- // 目前简单实现:只读取入口文件
79
- const content = (0, utils_1.readFileWithLog)(entryPath);
80
- inputFiles = [{
81
- path: path.relative(projectRoot, entryPath),
82
- content,
83
- }];
84
- }
85
- else {
86
- // 扫描整个 src 目录
87
- utils_1.Logger.info('扫描整个源代码目录...');
88
- const filePaths = await scanNASLFiles(srcDir, config.representation);
89
- utils_1.Logger.debug(filePaths);
90
- inputFiles = filePaths.map((filePath) => ({
91
- path: filePath,
92
- content: (0, utils_1.readFileWithLog)(path.join(srcDir, filePath)),
93
- }));
94
- utils_1.Logger.info(`找到 ${inputFiles.length} 个 NASL 文件`);
95
- }
96
- return {
97
- inputFiles,
98
- config,
99
- projectRoot,
100
- srcDir,
101
- };
102
- }
103
- //# sourceMappingURL=resolveFiles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveFiles.js","sourceRoot":"","sources":["../../src/services/resolveFiles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,sCAaC;AAcD,oCA6CC;AAhFD,2CAA6B;AAC7B,iCAAkC;AAClC,oCAA+E;AAG/E;;GAEG;AACI,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,cAAkC;IAClF,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;QAC/E,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE;YAChC,GAAG,EAAE,MAAM;YACX,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;SAClB,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,cAAM,CAAC,KAAK,CAAC,WAAY,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC;AASD;;;;GAIG;AACI,KAAK,UAAU,YAAY,CAAC,KAAc;IAC7C,OAAO;IACP,MAAM,MAAM,GAAG,IAAA,kBAAU,GAAE,CAAC;IAC5B,MAAM,WAAW,GAAG,IAAA,sBAAc,GAAE,CAAC;IAErC,cAAM,CAAC,IAAI,CAAC,UAAU,WAAW,EAAE,CAAC,CAAC;IACrC,cAAM,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAErD,YAAY;IACZ,IAAI,UAAU,GAAe,EAAE,CAAC;IAEhC,IAAI,KAAK,EAAE,CAAC;QACR,eAAe;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACnD,cAAM,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;QAE9B,4BAA4B;QAC5B,iBAAiB;QACjB,MAAM,OAAO,GAAG,IAAA,uBAAe,EAAC,SAAS,CAAC,CAAC;QAC3C,UAAU,GAAG,CAAC;gBACV,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;gBAC3C,OAAO;aACV,CAAC,CAAC;IACP,CAAC;SAAM,CAAC;QACJ,cAAc;QACd,cAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;QACrE,cAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAExB,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAA,uBAAe,EAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;SACxD,CAAC,CAAC,CAAC;QAEJ,cAAM,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,YAAY,CAAC,CAAC;IACrD,CAAC;IAED,OAAO;QACH,UAAU;QACV,MAAM;QACN,WAAW;QACX,MAAM;KACT,CAAC;AACN,CAAC"}