@nasl/cli 0.1.1 → 0.1.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.
- package/README.md +5 -5
- package/build/index.html +23 -0
- package/build/index.js +113 -0
- package/build/nasl.bundle.js +59104 -0
- package/build/platformConfig.js +41 -0
- package/build/webpack.config.js +88 -0
- package/out/apis/index.js +1 -1
- package/out/bin/nasl.js +23 -4
- package/out/bin/nasl.js.map +1 -1
- package/out/bin/naslc.js +0 -0
- package/out/commands/build.d.ts +8 -0
- package/out/commands/build.d.ts.map +1 -0
- package/out/commands/build.js +54 -0
- package/out/commands/build.js.map +1 -0
- package/out/commands/check.d.ts +2 -1
- package/out/commands/check.d.ts.map +1 -1
- package/out/commands/check.js +19 -11
- package/out/commands/check.js.map +1 -1
- package/out/commands/compile.d.ts +4 -3
- package/out/commands/compile.d.ts.map +1 -1
- package/out/commands/compile.js +4 -6
- package/out/commands/compile.js.map +1 -1
- package/out/commands/dep.js +1 -1
- package/out/commands/dep.js.map +1 -1
- package/out/commands/dev.d.ts +7 -1
- package/out/commands/dev.d.ts.map +1 -1
- package/out/commands/dev.js +12 -2
- package/out/commands/dev.js.map +1 -1
- package/out/commands/index.d.ts +1 -0
- package/out/commands/index.d.ts.map +1 -1
- package/out/commands/index.js +1 -0
- package/out/commands/index.js.map +1 -1
- package/out/services/compose.d.ts.map +1 -1
- package/out/services/compose.js +29 -2
- package/out/services/compose.js.map +1 -1
- package/out/services/resolve.d.ts +1 -1
- package/out/services/resolve.d.ts.map +1 -1
- package/out/services/resolve.js +23 -21
- package/out/services/resolve.js.map +1 -1
- package/out/types/command.d.ts +4 -0
- package/out/types/command.d.ts.map +1 -0
- package/out/types/command.js +3 -0
- package/out/types/command.js.map +1 -0
- package/out/types/config.js +1 -1
- package/out/types/index.d.ts +1 -0
- package/out/types/index.d.ts.map +1 -1
- package/out/types/index.js +1 -0
- package/out/types/index.js.map +1 -1
- package/out/utils/logger.d.ts +1 -0
- package/out/utils/logger.d.ts.map +1 -1
- package/out/utils/logger.js +51 -0
- package/out/utils/logger.js.map +1 -1
- package/package.json +11 -9
package/out/services/resolve.js
CHANGED
|
@@ -118,42 +118,41 @@ function processFileDeps(pathRelativeToSrc, srcDir, matchedFileSet, processedFil
|
|
|
118
118
|
fileInfo.content = (0, utils_1.readFileWithLog)(absoluteFilePath);
|
|
119
119
|
}
|
|
120
120
|
catch (error) {
|
|
121
|
-
|
|
122
|
-
throw
|
|
121
|
+
// Logger.warn(`找不到依赖文件 ${pathRelativeToSrc},跳过分析`);
|
|
122
|
+
throw new Error(`找不到依赖文件 ${pathRelativeToSrc},尝试先实现依赖文件或创建占位文件。建议用 MultiEdit 工具快速创建多个文件`);
|
|
123
123
|
}
|
|
124
124
|
const isView = pathRelativeToSrc.endsWith('.tsx');
|
|
125
125
|
const isEntryFile = matchedFileSet.has(pathRelativeToSrc);
|
|
126
126
|
// 如果是页面文件且不是入口文件,只保留签名,但要继续分析依赖
|
|
127
127
|
if (isView && !isEntryFile) {
|
|
128
|
-
|
|
129
|
-
|
|
128
|
+
const pathWithoutExt = pathRelativeToSrc.slice(0, -4);
|
|
129
|
+
const isEntryParent = Array.from(matchedFileSet).some((filePath) => filePath.startsWith(pathWithoutExt));
|
|
130
|
+
if (!isEntryParent) {
|
|
131
|
+
fileInfo.content = replaceViewAsSignature(fileInfo.content);
|
|
132
|
+
}
|
|
130
133
|
}
|
|
131
134
|
processedFileMap.set(pathRelativeToSrc, fileInfo);
|
|
132
135
|
// 提取依赖
|
|
133
136
|
const deps = extractDeps(fileInfo.content);
|
|
134
|
-
if (verbose || process.env.DEBUG) {
|
|
135
|
-
console.log(`${isEntryFile ? chalk.magenta('[Entry]') : chalk.green('[ Dep ]')} ${pathRelativeToSrc}${deps.map((dep) => `\n├── ${dep}`).join('')}`);
|
|
136
|
-
}
|
|
137
137
|
// 查找依赖文件
|
|
138
|
-
if (isView
|
|
138
|
+
if (isView) {
|
|
139
139
|
const pathArr = pathRelativeToSrc.split('.');
|
|
140
140
|
pathArr.pop(); // 移除 .tsx
|
|
141
141
|
do {
|
|
142
142
|
pathArr.pop();
|
|
143
143
|
pathArr.pop();
|
|
144
|
+
if (!(pathArr.length > 0 && pathArr[pathArr.length - 1] !== 'pc' && pathArr.includes('views')))
|
|
145
|
+
break;
|
|
144
146
|
const namespace = pathArr.join('.') + '.tsx';
|
|
145
147
|
deps.push(namespace);
|
|
146
|
-
} while (
|
|
148
|
+
} while (true);
|
|
147
149
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
if (processedFileMap.has(dep))
|
|
151
|
-
continue;
|
|
152
|
-
newDeps.push(dep);
|
|
150
|
+
if (verbose || process.env.DEBUG) {
|
|
151
|
+
console.log(`${isEntryFile ? chalk.magenta('[Entry]') : chalk.green('[ Dep ]')} ${pathRelativeToSrc}${deps.map((dep) => `\n├── ${dep}`).join('')}`);
|
|
153
152
|
}
|
|
154
153
|
return {
|
|
155
154
|
fileInfo,
|
|
156
|
-
newDeps,
|
|
155
|
+
newDeps: deps.filter((dep) => !processedFileMap.has(dep)),
|
|
157
156
|
};
|
|
158
157
|
}
|
|
159
158
|
/**
|
|
@@ -163,7 +162,7 @@ function processFileDeps(pathRelativeToSrc, srcDir, matchedFileSet, processedFil
|
|
|
163
162
|
* @param representation NASL 表示形式
|
|
164
163
|
* @returns 文件信息列表
|
|
165
164
|
*/
|
|
166
|
-
async function collectDeps(patterns, projectRoot, srcDir,
|
|
165
|
+
async function collectDeps(patterns, projectRoot, srcDir, verbose) {
|
|
167
166
|
const processedFileMap = new Map(); // 已处理的文件(相对路径)
|
|
168
167
|
const filesToProcess = []; // 待处理的文件队列
|
|
169
168
|
const result = [];
|
|
@@ -189,6 +188,7 @@ async function collectDeps(patterns, projectRoot, srcDir, representation, verbos
|
|
|
189
188
|
matchedFileSet.add(pathRelativeToSrc);
|
|
190
189
|
});
|
|
191
190
|
filesToProcess.sort(compose_1.sorter);
|
|
191
|
+
let errors = [];
|
|
192
192
|
// 2. 广度优先遍历依赖
|
|
193
193
|
while (filesToProcess.length > 0) {
|
|
194
194
|
const pathRelativeToSrc = filesToProcess.shift();
|
|
@@ -201,10 +201,13 @@ async function collectDeps(patterns, projectRoot, srcDir, representation, verbos
|
|
|
201
201
|
}
|
|
202
202
|
catch (error) {
|
|
203
203
|
// 文件读取失败,已经在 processFileDeps 中记录日志
|
|
204
|
+
errors.push(error.message);
|
|
204
205
|
continue;
|
|
205
206
|
}
|
|
206
207
|
}
|
|
207
208
|
utils_1.Logger.info(`依赖分析完成,共收集到 ${result.length} 个文件`);
|
|
209
|
+
if (errors.length > 0)
|
|
210
|
+
throw new Error(errors.join('\n============\n'));
|
|
208
211
|
return result;
|
|
209
212
|
}
|
|
210
213
|
/**
|
|
@@ -212,7 +215,7 @@ async function collectDeps(patterns, projectRoot, srcDir, representation, verbos
|
|
|
212
215
|
* @param entry 入口文件路径或 glob 模式(可选,相对于 src 目录)
|
|
213
216
|
* @returns 文件信息、配置和目录信息
|
|
214
217
|
*/
|
|
215
|
-
async function resolveNASLFiles(entry, depMode) {
|
|
218
|
+
async function resolveNASLFiles(entry, depMode, verbose) {
|
|
216
219
|
// 加载配置
|
|
217
220
|
const config = (0, utils_1.loadConfig)();
|
|
218
221
|
const projectRoot = (0, utils_1.getProjectRoot)();
|
|
@@ -230,11 +233,11 @@ async function resolveNASLFiles(entry, depMode) {
|
|
|
230
233
|
// 具体路径也转换为 glob 模式统一处理
|
|
231
234
|
// 使用依赖分析收集文件
|
|
232
235
|
try {
|
|
233
|
-
inputFiles = await collectDeps([entry], projectRoot, srcDir,
|
|
236
|
+
inputFiles = await collectDeps([entry], projectRoot, srcDir, depMode || verbose);
|
|
234
237
|
}
|
|
235
238
|
catch (error) {
|
|
236
|
-
utils_1.Logger.error(
|
|
237
|
-
|
|
239
|
+
utils_1.Logger.error(`依赖分析失败:\n${error.message}`);
|
|
240
|
+
process.exit(1);
|
|
238
241
|
}
|
|
239
242
|
}
|
|
240
243
|
else {
|
|
@@ -242,7 +245,6 @@ async function resolveNASLFiles(entry, depMode) {
|
|
|
242
245
|
utils_1.Logger.info('扫描整个源代码目录...');
|
|
243
246
|
const filePaths = await scanNASLFiles(srcDir, config.representation);
|
|
244
247
|
filePaths.sort(compose_1.sorter);
|
|
245
|
-
utils_1.Logger.debug(filePaths);
|
|
246
248
|
inputFiles = filePaths.map((filePath) => ({
|
|
247
249
|
path: filePath,
|
|
248
250
|
content: (0, utils_1.readFileWithLog)(path.join(srcDir, filePath)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/services/resolve.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,sCAaC;AAED,wCAaC;
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/services/resolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/types/command.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/types/command.ts"],"names":[],"mappings":""}
|
package/out/types/config.js
CHANGED
package/out/types/index.d.ts
CHANGED
package/out/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC"}
|
package/out/types/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("./config"), exports);
|
|
18
18
|
__exportStar(require("./api"), exports);
|
|
19
|
+
__exportStar(require("./command"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
package/out/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,wCAAsB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,wCAAsB;AACtB,4CAA0B"}
|
package/out/utils/logger.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,qBAAa,MAAM;IACf,MAAM,CAAC,OAAO,IAAI,IAAI;IAItB;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjC;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAIpC;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjC;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAIlC;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAMlC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;CAgB1D"}
|
package/out/utils/logger.js
CHANGED
|
@@ -1,10 +1,46 @@
|
|
|
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
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
37
|
};
|
|
5
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
39
|
exports.Logger = void 0;
|
|
7
40
|
const chalk_1 = __importDefault(require("chalk"));
|
|
41
|
+
const fs = __importStar(require("fs-extra"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
8
44
|
/**
|
|
9
45
|
* 日志工具类
|
|
10
46
|
*/
|
|
@@ -44,6 +80,21 @@ class Logger {
|
|
|
44
80
|
console.log(chalk_1.default.gray('[DEBUG]'), ...args);
|
|
45
81
|
}
|
|
46
82
|
}
|
|
83
|
+
static debugToFile(topic, ...args) {
|
|
84
|
+
if (process.env.DEBUG_TO_FILE) {
|
|
85
|
+
const baseDir = path.join(process.cwd(), '.nasl');
|
|
86
|
+
const currentHour = (0, dayjs_1.default)().format('YYYYMMDD_HH');
|
|
87
|
+
const prevHour = (0, dayjs_1.default)().subtract(1, 'hour').format('YYYYMMDD_HH');
|
|
88
|
+
let subdir = `${topic}_${currentHour}`;
|
|
89
|
+
const prevSubdir = `${topic}_${prevHour}`;
|
|
90
|
+
// 判断如果有上一个小时的 subdir,则自己汇聚到上一个小时的 subdir 中
|
|
91
|
+
if (fs.existsSync(path.join(baseDir, prevSubdir)))
|
|
92
|
+
subdir = prevSubdir;
|
|
93
|
+
const fileName = `${topic}_${(0, dayjs_1.default)().format('YYYYMMDD_HHmmss')}.log`;
|
|
94
|
+
const filePath = path.join(baseDir, subdir, fileName);
|
|
95
|
+
fs.outputFileSync(filePath, args.join(' '));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
47
98
|
}
|
|
48
99
|
exports.Logger = Logger;
|
|
49
100
|
//# sourceMappingURL=logger.js.map
|
package/out/utils/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,6CAA+B;AAC/B,2CAA6B;AAC7B,kDAA0B;AAE1B;;GAEG;AACH,MAAa,MAAM;IACf,MAAM,CAAC,OAAO;QACV,OAAO,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,IAAW;QACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,IAAW;QACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,IAAW;QACtB,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,IAAW;QACvB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,IAAW;QACvB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,KAAa,EAAE,GAAG,IAAW;QAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;YAElD,MAAM,WAAW,GAAG,IAAA,eAAK,GAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,IAAA,eAAK,GAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACnE,IAAI,MAAM,GAAG,GAAG,KAAK,IAAI,WAAW,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,GAAG,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC1C,2CAA2C;YAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAAE,MAAM,GAAG,UAAU,CAAC;YAEvE,MAAM,QAAQ,GAAG,GAAG,KAAK,IAAI,IAAA,eAAK,GAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACtD,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;CACJ;AA1DD,wBA0DC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nasl/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
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": {
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
"format": "prettier --write \"src/**/*.ts\"",
|
|
16
16
|
"prepublishOnly": "pnpm run build",
|
|
17
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
|
+
"nasl:dev": "webpack-cli serve --mode development",
|
|
19
|
+
"nasl:build": "webpack-cli --mode production",
|
|
20
|
+
"nasl:preview": "webpack-cli serve --mode production"
|
|
21
21
|
},
|
|
22
22
|
"keywords": [
|
|
23
23
|
"nasl",
|
|
@@ -39,20 +39,22 @@
|
|
|
39
39
|
"axios": "^1.13.2",
|
|
40
40
|
"chalk": "^4.1.2",
|
|
41
41
|
"commander": "^11.0.0",
|
|
42
|
+
"copy-webpack-plugin": "^13.0.1",
|
|
43
|
+
"css-loader": "^6.8.1",
|
|
44
|
+
"dayjs": "^1.11.19",
|
|
42
45
|
"eslint-config-alloy": "^5.1.2",
|
|
43
46
|
"fs-extra": "^11.3.2",
|
|
44
47
|
"globby": "^11.1.0",
|
|
45
|
-
"prettier": "^3.6.2",
|
|
46
|
-
"css-loader": "^6.8.1",
|
|
47
48
|
"html-webpack-plugin": "^5.5.3",
|
|
48
49
|
"lodash": "^4.17.21",
|
|
49
|
-
"
|
|
50
|
-
"vue-router": "^4.0.0",
|
|
50
|
+
"prettier": "^3.6.2",
|
|
51
51
|
"style-loader": "^3.3.3",
|
|
52
|
+
"vue": "^3.4.0",
|
|
52
53
|
"vue-loader": "^17.3.0",
|
|
54
|
+
"vue-router": "^4.0.0",
|
|
53
55
|
"webpack": "^5.89.0",
|
|
54
56
|
"webpack-cli": "^5.1.4",
|
|
55
|
-
"webpack-dev-server": "^4.15.
|
|
57
|
+
"webpack-dev-server": "^4.15.2"
|
|
56
58
|
},
|
|
57
59
|
"engines": {
|
|
58
60
|
"node": ">=16.0.0"
|