@lark-apaas/fullstack-nestjs-core 1.1.33-alpha.8 → 1.1.33
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/dist/index.cjs +44 -479
- package/dist/index.d.cts +4 -86
- package/dist/index.d.ts +4 -86
- package/dist/index.js +33 -466
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1371,8 +1371,8 @@ var require_node = __commonJS({
|
|
|
1371
1371
|
}
|
|
1372
1372
|
break;
|
|
1373
1373
|
case "FILE":
|
|
1374
|
-
var
|
|
1375
|
-
stream2 = new
|
|
1374
|
+
var fs2 = require("fs");
|
|
1375
|
+
stream2 = new fs2.SyncWriteStream(fd2, {
|
|
1376
1376
|
autoClose: false
|
|
1377
1377
|
});
|
|
1378
1378
|
stream2._type = "fs";
|
|
@@ -18069,8 +18069,8 @@ var require_node2 = __commonJS({
|
|
|
18069
18069
|
}
|
|
18070
18070
|
break;
|
|
18071
18071
|
case "FILE":
|
|
18072
|
-
var
|
|
18073
|
-
stream2 = new
|
|
18072
|
+
var fs2 = require("fs");
|
|
18073
|
+
stream2 = new fs2.SyncWriteStream(fd2, {
|
|
18074
18074
|
autoClose: false
|
|
18075
18075
|
});
|
|
18076
18076
|
stream2._type = "fs";
|
|
@@ -18839,8 +18839,8 @@ var require_node3 = __commonJS({
|
|
|
18839
18839
|
}
|
|
18840
18840
|
break;
|
|
18841
18841
|
case "FILE":
|
|
18842
|
-
var
|
|
18843
|
-
stream2 = new
|
|
18842
|
+
var fs2 = require("fs");
|
|
18843
|
+
stream2 = new fs2.SyncWriteStream(fd2, {
|
|
18844
18844
|
autoClose: false
|
|
18845
18845
|
});
|
|
18846
18846
|
stream2._type = "fs";
|
|
@@ -20634,11 +20634,11 @@ var require_view = __commonJS({
|
|
|
20634
20634
|
"use strict";
|
|
20635
20635
|
var debug = require_src3()("express:view");
|
|
20636
20636
|
var path2 = require("path");
|
|
20637
|
-
var
|
|
20638
|
-
var
|
|
20637
|
+
var fs2 = require("fs");
|
|
20638
|
+
var dirname = path2.dirname;
|
|
20639
20639
|
var basename = path2.basename;
|
|
20640
20640
|
var extname2 = path2.extname;
|
|
20641
|
-
var
|
|
20641
|
+
var join2 = path2.join;
|
|
20642
20642
|
var resolve2 = path2.resolve;
|
|
20643
20643
|
module2.exports = View;
|
|
20644
20644
|
function View(name, options) {
|
|
@@ -20675,7 +20675,7 @@ var require_view = __commonJS({
|
|
|
20675
20675
|
for (var i = 0; i < roots.length && !path3; i++) {
|
|
20676
20676
|
var root = roots[i];
|
|
20677
20677
|
var loc = resolve2(root, name);
|
|
20678
|
-
var dir =
|
|
20678
|
+
var dir = dirname(loc);
|
|
20679
20679
|
var file = basename(loc);
|
|
20680
20680
|
path3 = this.resolve(dir, file);
|
|
20681
20681
|
}
|
|
@@ -20687,12 +20687,12 @@ var require_view = __commonJS({
|
|
|
20687
20687
|
}, "render");
|
|
20688
20688
|
View.prototype.resolve = /* @__PURE__ */ __name(function resolve3(dir, file) {
|
|
20689
20689
|
var ext = this.ext;
|
|
20690
|
-
var path3 =
|
|
20690
|
+
var path3 = join2(dir, file);
|
|
20691
20691
|
var stat = tryStat(path3);
|
|
20692
20692
|
if (stat && stat.isFile()) {
|
|
20693
20693
|
return path3;
|
|
20694
20694
|
}
|
|
20695
|
-
path3 =
|
|
20695
|
+
path3 = join2(dir, basename(file, ext), "index" + ext);
|
|
20696
20696
|
stat = tryStat(path3);
|
|
20697
20697
|
if (stat && stat.isFile()) {
|
|
20698
20698
|
return path3;
|
|
@@ -20701,7 +20701,7 @@ var require_view = __commonJS({
|
|
|
20701
20701
|
function tryStat(path3) {
|
|
20702
20702
|
debug('stat "%s"', path3);
|
|
20703
20703
|
try {
|
|
20704
|
-
return
|
|
20704
|
+
return fs2.statSync(path3);
|
|
20705
20705
|
} catch (e) {
|
|
20706
20706
|
return void 0;
|
|
20707
20707
|
}
|
|
@@ -21350,8 +21350,8 @@ var require_node4 = __commonJS({
|
|
|
21350
21350
|
}
|
|
21351
21351
|
break;
|
|
21352
21352
|
case "FILE":
|
|
21353
|
-
var
|
|
21354
|
-
stream2 = new
|
|
21353
|
+
var fs2 = require("fs");
|
|
21354
|
+
stream2 = new fs2.SyncWriteStream(fd2, {
|
|
21355
21355
|
autoClose: false
|
|
21356
21356
|
});
|
|
21357
21357
|
stream2._type = "fs";
|
|
@@ -21537,7 +21537,7 @@ var require_mime = __commonJS({
|
|
|
21537
21537
|
"../../../node_modules/mime/mime.js"(exports2, module2) {
|
|
21538
21538
|
"use strict";
|
|
21539
21539
|
var path2 = require("path");
|
|
21540
|
-
var
|
|
21540
|
+
var fs2 = require("fs");
|
|
21541
21541
|
function Mime() {
|
|
21542
21542
|
this.types = /* @__PURE__ */ Object.create(null);
|
|
21543
21543
|
this.extensions = /* @__PURE__ */ Object.create(null);
|
|
@@ -21559,7 +21559,7 @@ var require_mime = __commonJS({
|
|
|
21559
21559
|
};
|
|
21560
21560
|
Mime.prototype.load = function(file) {
|
|
21561
21561
|
this._loading = file;
|
|
21562
|
-
var map = {}, content =
|
|
21562
|
+
var map = {}, content = fs2.readFileSync(file, "ascii"), lines = content.split(/[\r\n]+/);
|
|
21563
21563
|
lines.forEach(function(line) {
|
|
21564
21564
|
var fields = line.replace(/\s*#.*|^\s*|\s*$/g, "").split(/\s+/);
|
|
21565
21565
|
map[fields.shift()] = fields;
|
|
@@ -21804,7 +21804,7 @@ var require_send = __commonJS({
|
|
|
21804
21804
|
var escapeHtml = require_escape_html();
|
|
21805
21805
|
var etag = require_etag();
|
|
21806
21806
|
var fresh = require_fresh();
|
|
21807
|
-
var
|
|
21807
|
+
var fs2 = require("fs");
|
|
21808
21808
|
var mime = require_mime();
|
|
21809
21809
|
var ms = require_ms5();
|
|
21810
21810
|
var onFinished = require_on_finished();
|
|
@@ -21814,7 +21814,7 @@ var require_send = __commonJS({
|
|
|
21814
21814
|
var Stream = require("stream");
|
|
21815
21815
|
var util = require("util");
|
|
21816
21816
|
var extname2 = path2.extname;
|
|
21817
|
-
var
|
|
21817
|
+
var join2 = path2.join;
|
|
21818
21818
|
var normalize2 = path2.normalize;
|
|
21819
21819
|
var resolve2 = path2.resolve;
|
|
21820
21820
|
var sep = path2.sep;
|
|
@@ -22031,7 +22031,7 @@ var require_send = __commonJS({
|
|
|
22031
22031
|
return res;
|
|
22032
22032
|
}
|
|
22033
22033
|
parts = path3.split(sep);
|
|
22034
|
-
path3 = normalize2(
|
|
22034
|
+
path3 = normalize2(join2(root, path3));
|
|
22035
22035
|
} else {
|
|
22036
22036
|
if (UP_PATH_REGEXP.test(path3)) {
|
|
22037
22037
|
debug('malicious path "%s"', path3);
|
|
@@ -22137,7 +22137,7 @@ var require_send = __commonJS({
|
|
|
22137
22137
|
var i = 0;
|
|
22138
22138
|
var self = this;
|
|
22139
22139
|
debug('stat "%s"', path3);
|
|
22140
|
-
|
|
22140
|
+
fs2.stat(path3, /* @__PURE__ */ __name(function onstat(err, stat) {
|
|
22141
22141
|
if (err && err.code === "ENOENT" && !extname2(path3) && path3[path3.length - 1] !== sep) {
|
|
22142
22142
|
return next(err);
|
|
22143
22143
|
}
|
|
@@ -22152,7 +22152,7 @@ var require_send = __commonJS({
|
|
|
22152
22152
|
}
|
|
22153
22153
|
var p = path3 + "." + self._extensions[i++];
|
|
22154
22154
|
debug('stat "%s"', p);
|
|
22155
|
-
|
|
22155
|
+
fs2.stat(p, function(err2, stat) {
|
|
22156
22156
|
if (err2) return next(err2);
|
|
22157
22157
|
if (stat.isDirectory()) return next();
|
|
22158
22158
|
self.emit("file", p, stat);
|
|
@@ -22169,9 +22169,9 @@ var require_send = __commonJS({
|
|
|
22169
22169
|
if (err) return self.onStatError(err);
|
|
22170
22170
|
return self.error(404);
|
|
22171
22171
|
}
|
|
22172
|
-
var p =
|
|
22172
|
+
var p = join2(path3, self._index[i]);
|
|
22173
22173
|
debug('stat "%s"', p);
|
|
22174
|
-
|
|
22174
|
+
fs2.stat(p, function(err2, stat) {
|
|
22175
22175
|
if (err2) return next(err2);
|
|
22176
22176
|
if (stat.isDirectory()) return next();
|
|
22177
22177
|
self.emit("file", p, stat);
|
|
@@ -22184,7 +22184,7 @@ var require_send = __commonJS({
|
|
|
22184
22184
|
SendStream.prototype.stream = /* @__PURE__ */ __name(function stream(path3, options) {
|
|
22185
22185
|
var self = this;
|
|
22186
22186
|
var res = this.res;
|
|
22187
|
-
var stream2 =
|
|
22187
|
+
var stream2 = fs2.createReadStream(path3, options);
|
|
22188
22188
|
this.emit("stream", stream2);
|
|
22189
22189
|
stream2.pipe(res);
|
|
22190
22190
|
function cleanup() {
|
|
@@ -34404,15 +34404,13 @@ var require_express2 = __commonJS({
|
|
|
34404
34404
|
// src/index.ts
|
|
34405
34405
|
var index_exports = {};
|
|
34406
34406
|
__export(index_exports, {
|
|
34407
|
-
AutoTrace: () =>
|
|
34407
|
+
AutoTrace: () => import_nestjs_common7.AutoTrace,
|
|
34408
34408
|
CanRole: () => import_nestjs_authzpaas2.CanRole,
|
|
34409
34409
|
CsrfMiddleware: () => CsrfMiddleware,
|
|
34410
34410
|
CsrfTokenMiddleware: () => CsrfTokenMiddleware,
|
|
34411
34411
|
DevToolsModule: () => import_nestjs_openapi_devtools2.DevToolsModule,
|
|
34412
34412
|
DevToolsV2Module: () => import_nestjs_openapi_devtools2.DevToolsV2Module,
|
|
34413
34413
|
FileService: () => FileService,
|
|
34414
|
-
HtmlHotUpdateModule: () => HtmlHotUpdateModule,
|
|
34415
|
-
HtmlHotUpdateService: () => HtmlHotUpdateService,
|
|
34416
34414
|
PlatformHttpClientService: () => PlatformHttpClientService,
|
|
34417
34415
|
PlatformModule: () => PlatformModule,
|
|
34418
34416
|
StaticModule: () => StaticModule,
|
|
@@ -34424,9 +34422,9 @@ __export(index_exports, {
|
|
|
34424
34422
|
module.exports = __toCommonJS(index_exports);
|
|
34425
34423
|
|
|
34426
34424
|
// src/modules/platform/module.ts
|
|
34427
|
-
var
|
|
34425
|
+
var import_common12 = require("@nestjs/common");
|
|
34428
34426
|
var import_core2 = require("@nestjs/core");
|
|
34429
|
-
var
|
|
34427
|
+
var import_nestjs_common5 = require("@lark-apaas/nestjs-common");
|
|
34430
34428
|
var import_config2 = require("@nestjs/config");
|
|
34431
34429
|
var import_nestjs_observable = require("@lark-apaas/nestjs-observable");
|
|
34432
34430
|
var import_axios2 = require("@nestjs/axios");
|
|
@@ -34434,7 +34432,7 @@ var import_nestjs_logger2 = require("@lark-apaas/nestjs-logger");
|
|
|
34434
34432
|
var import_nestjs_datapaas = require("@lark-apaas/nestjs-datapaas");
|
|
34435
34433
|
var import_nestjs_authnpaas = require("@lark-apaas/nestjs-authnpaas");
|
|
34436
34434
|
var import_nestjs_trigger = require("@lark-apaas/nestjs-trigger");
|
|
34437
|
-
var
|
|
34435
|
+
var import_nestjs_common6 = require("@lark-apaas/nestjs-common");
|
|
34438
34436
|
var import_nestjs_capability = require("@lark-apaas/nestjs-capability");
|
|
34439
34437
|
|
|
34440
34438
|
// src/middlewares/user-context/index.ts
|
|
@@ -35821,19 +35819,7 @@ StaticModule = _ts_decorate11([
|
|
|
35821
35819
|
})
|
|
35822
35820
|
], StaticModule);
|
|
35823
35821
|
|
|
35824
|
-
// src/modules/
|
|
35825
|
-
var import_common14 = require("@nestjs/common");
|
|
35826
|
-
|
|
35827
|
-
// src/modules/html-hot-update/html-hot-update.controller.ts
|
|
35828
|
-
var import_common13 = require("@nestjs/common");
|
|
35829
|
-
var import_swagger2 = require("@nestjs/swagger");
|
|
35830
|
-
|
|
35831
|
-
// src/modules/html-hot-update/html-hot-update.service.ts
|
|
35832
|
-
var import_common12 = require("@nestjs/common");
|
|
35833
|
-
var import_node_fs = require("fs");
|
|
35834
|
-
var import_node_fs2 = require("fs");
|
|
35835
|
-
var import_node_path = require("path");
|
|
35836
|
-
var import_nestjs_common5 = require("@lark-apaas/nestjs-common");
|
|
35822
|
+
// src/modules/platform/module.ts
|
|
35837
35823
|
function _ts_decorate12(decorators, target, key, desc) {
|
|
35838
35824
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
35839
35825
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -35841,420 +35827,6 @@ function _ts_decorate12(decorators, target, key, desc) {
|
|
|
35841
35827
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
35842
35828
|
}
|
|
35843
35829
|
__name(_ts_decorate12, "_ts_decorate");
|
|
35844
|
-
function _ts_metadata8(k, v) {
|
|
35845
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
35846
|
-
}
|
|
35847
|
-
__name(_ts_metadata8, "_ts_metadata");
|
|
35848
|
-
function _ts_param4(paramIndex, decorator) {
|
|
35849
|
-
return function(target, key) {
|
|
35850
|
-
decorator(target, key, paramIndex);
|
|
35851
|
-
};
|
|
35852
|
-
}
|
|
35853
|
-
__name(_ts_param4, "_ts_param");
|
|
35854
|
-
var Mutex = class Mutex2 {
|
|
35855
|
-
static {
|
|
35856
|
-
__name(this, "Mutex");
|
|
35857
|
-
}
|
|
35858
|
-
locked = false;
|
|
35859
|
-
waiting = [];
|
|
35860
|
-
async acquire() {
|
|
35861
|
-
if (!this.locked) {
|
|
35862
|
-
this.locked = true;
|
|
35863
|
-
return;
|
|
35864
|
-
}
|
|
35865
|
-
return new Promise((resolve2) => {
|
|
35866
|
-
this.waiting.push(() => {
|
|
35867
|
-
this.locked = true;
|
|
35868
|
-
resolve2();
|
|
35869
|
-
});
|
|
35870
|
-
});
|
|
35871
|
-
}
|
|
35872
|
-
release() {
|
|
35873
|
-
if (this.waiting.length > 0) {
|
|
35874
|
-
const next = this.waiting.shift();
|
|
35875
|
-
next();
|
|
35876
|
-
} else {
|
|
35877
|
-
this.locked = false;
|
|
35878
|
-
}
|
|
35879
|
-
}
|
|
35880
|
-
};
|
|
35881
|
-
var HOT_UPDATE_HTML_DIR = "/tmp/html-hot-update";
|
|
35882
|
-
var HtmlHotUpdateService = class _HtmlHotUpdateService {
|
|
35883
|
-
static {
|
|
35884
|
-
__name(this, "HtmlHotUpdateService");
|
|
35885
|
-
}
|
|
35886
|
-
httpClient;
|
|
35887
|
-
logger = new import_common12.Logger(_HtmlHotUpdateService.name);
|
|
35888
|
-
/** 文件锁:冷启动更新和 innerapi 主动更新共用 */
|
|
35889
|
-
fileLock = new Mutex();
|
|
35890
|
-
/** 热更新 HTML 目录(可写) */
|
|
35891
|
-
hotUpdateDir = HOT_UPDATE_HTML_DIR;
|
|
35892
|
-
/** 原始 HTML 产物目录(只读,部署时打包的) */
|
|
35893
|
-
originalHtmlDir = (0, import_node_path.join)(process.cwd(), "dist", "client");
|
|
35894
|
-
constructor(httpClient) {
|
|
35895
|
-
this.httpClient = httpClient;
|
|
35896
|
-
}
|
|
35897
|
-
/**
|
|
35898
|
-
* 任务一:冷启动时尝试更新 HTML 文件列表
|
|
35899
|
-
*
|
|
35900
|
-
* - 生产环境默认启用(模块仅在生产环境加载)
|
|
35901
|
-
* - 失败则降级,使用部署时打包的 HTML 正常启动
|
|
35902
|
-
* - 超时 3s,避免拉长冷启动耗时
|
|
35903
|
-
*/
|
|
35904
|
-
async onModuleInit() {
|
|
35905
|
-
const appID = this.getAppID();
|
|
35906
|
-
this.logger.log(`[DEBUG] onModuleInit env: CLIENT_BASE_PATH=${process.env.CLIENT_BASE_PATH || "(empty)"}, NODE_ENV=${process.env.NODE_ENV || "(empty)"}, cwd=${process.cwd()}, hotUpdateDir=${this.hotUpdateDir}, originalHtmlDir=${this.originalHtmlDir}, appID=${appID || "(empty)"}`);
|
|
35907
|
-
if (!appID) {
|
|
35908
|
-
this.logger.warn("Skip HTML hot update on startup: appID not found");
|
|
35909
|
-
return;
|
|
35910
|
-
}
|
|
35911
|
-
try {
|
|
35912
|
-
this.logger.log(`Startup HTML update: appID=${appID}`);
|
|
35913
|
-
const result = await this.updateFromRemote(appID);
|
|
35914
|
-
this.logger.log(`Startup HTML update complete: ${result.updatedFiles.length} updated, ${result.failedFiles.length} failed`);
|
|
35915
|
-
if (result.updatedFiles.length > 0) {
|
|
35916
|
-
this.logger.log(`[DEBUG] updatedFiles: ${result.updatedFiles.join(", ")}`);
|
|
35917
|
-
}
|
|
35918
|
-
if (result.failedFiles.length > 0) {
|
|
35919
|
-
this.logger.warn(`[DEBUG] failedFiles: ${JSON.stringify(result.failedFiles)}`);
|
|
35920
|
-
}
|
|
35921
|
-
} catch (error) {
|
|
35922
|
-
this.logger.warn(`Startup HTML update failed (degraded to bundled HTML): ${error instanceof Error ? error.stack || error.message : String(error)}, appID=${appID}`);
|
|
35923
|
-
}
|
|
35924
|
-
}
|
|
35925
|
-
/**
|
|
35926
|
-
* 解析 HTML 文件路径(带 fallback)
|
|
35927
|
-
*
|
|
35928
|
-
* 优先返回热更新目录中的文件,不存在则 fallback 到原始产物目录。
|
|
35929
|
-
* 供 NestJS 视图渲染使用。
|
|
35930
|
-
*
|
|
35931
|
-
* @example
|
|
35932
|
-
* const htmlPath = htmlHotUpdateService.resolveHtmlPath('index.html');
|
|
35933
|
-
* // 热更新存在: /tmp/html-hot-update/index.html
|
|
35934
|
-
* // 热更新不存在: /opt/bytefaas/dist/client/index.html(原始产物)
|
|
35935
|
-
*/
|
|
35936
|
-
resolveHtmlPath(fileName) {
|
|
35937
|
-
const hotPath = (0, import_node_path.join)(this.hotUpdateDir, fileName);
|
|
35938
|
-
if ((0, import_node_fs2.existsSync)(hotPath)) {
|
|
35939
|
-
return hotPath;
|
|
35940
|
-
}
|
|
35941
|
-
return (0, import_node_path.join)(this.originalHtmlDir, fileName);
|
|
35942
|
-
}
|
|
35943
|
-
/**
|
|
35944
|
-
* 获取 HTML views 目录列表(热更新目录优先)
|
|
35945
|
-
*
|
|
35946
|
-
* 供 NestJS setBaseViewsDir 使用:
|
|
35947
|
-
* app.setBaseViewsDir(htmlHotUpdateService.getViewsDirs());
|
|
35948
|
-
*/
|
|
35949
|
-
getViewsDirs() {
|
|
35950
|
-
return [
|
|
35951
|
-
this.hotUpdateDir,
|
|
35952
|
-
this.originalHtmlDir
|
|
35953
|
-
];
|
|
35954
|
-
}
|
|
35955
|
-
/**
|
|
35956
|
-
* 从远端获取最新 HTML 文件并更新本地
|
|
35957
|
-
*
|
|
35958
|
-
* 调用方:
|
|
35959
|
-
* 1) 冷启动更新(onModuleInit)
|
|
35960
|
-
* 2) innerapi 主动更新(controller 调用)
|
|
35961
|
-
*/
|
|
35962
|
-
async updateFromRemote(appID, commitID) {
|
|
35963
|
-
this.logger.log(`[DEBUG] updateFromRemote called: appID=${appID}, commitID=${commitID || "(empty)"}`);
|
|
35964
|
-
const fileMap = await this.fetchLatestHtmlFiles(appID, commitID);
|
|
35965
|
-
const fileNames = Object.keys(fileMap);
|
|
35966
|
-
const fileSizes = fileNames.map((name) => `${name}(${fileMap[name].length}bytes)`);
|
|
35967
|
-
this.logger.log(`[DEBUG] fetched fileMap: ${fileSizes.join(", ")}`);
|
|
35968
|
-
return this.writeHtmlFiles(fileMap);
|
|
35969
|
-
}
|
|
35970
|
-
/**
|
|
35971
|
-
* 将文件内容写入热更新目录(带文件锁)
|
|
35972
|
-
*/
|
|
35973
|
-
async writeHtmlFiles(fileMap) {
|
|
35974
|
-
const result = {
|
|
35975
|
-
updatedFiles: [],
|
|
35976
|
-
failedFiles: []
|
|
35977
|
-
};
|
|
35978
|
-
const entries = Object.entries(fileMap);
|
|
35979
|
-
if (entries.length === 0) {
|
|
35980
|
-
return result;
|
|
35981
|
-
}
|
|
35982
|
-
this.logger.log(`[DEBUG] writeHtmlFiles: acquiring lock, ${entries.length} files to write, dir=${this.hotUpdateDir}`);
|
|
35983
|
-
await this.fileLock.acquire();
|
|
35984
|
-
try {
|
|
35985
|
-
for (const [filePath, content] of entries) {
|
|
35986
|
-
try {
|
|
35987
|
-
const localPath = (0, import_node_path.join)(this.hotUpdateDir, filePath);
|
|
35988
|
-
await import_node_fs.promises.mkdir((0, import_node_path.dirname)(localPath), {
|
|
35989
|
-
recursive: true
|
|
35990
|
-
});
|
|
35991
|
-
await import_node_fs.promises.writeFile(localPath, content, "utf-8");
|
|
35992
|
-
result.updatedFiles.push(filePath);
|
|
35993
|
-
this.logger.log(`[DEBUG] wrote ${localPath} (${content.length} bytes)`);
|
|
35994
|
-
} catch (error) {
|
|
35995
|
-
const reason = error instanceof Error ? error.message : String(error);
|
|
35996
|
-
result.failedFiles.push({
|
|
35997
|
-
filePath,
|
|
35998
|
-
reason
|
|
35999
|
-
});
|
|
36000
|
-
this.logger.warn(`Failed to write HTML file ${filePath}: ${reason}`);
|
|
36001
|
-
}
|
|
36002
|
-
}
|
|
36003
|
-
} finally {
|
|
36004
|
-
this.fileLock.release();
|
|
36005
|
-
this.logger.log(`[DEBUG] writeHtmlFiles: lock released`);
|
|
36006
|
-
}
|
|
36007
|
-
return result;
|
|
36008
|
-
}
|
|
36009
|
-
/**
|
|
36010
|
-
* 调用后端 GetLatestArtifactHtmlFiles 接口
|
|
36011
|
-
*/
|
|
36012
|
-
async fetchLatestHtmlFiles(appID, commitID) {
|
|
36013
|
-
const url = `/v1/app/${appID}/pipeline/frontend/latest_artifact/html_files`;
|
|
36014
|
-
const body = {};
|
|
36015
|
-
if (commitID) {
|
|
36016
|
-
body.commitID = commitID;
|
|
36017
|
-
}
|
|
36018
|
-
this.logger.log(`[DEBUG] fetchLatestHtmlFiles: POST ${url}, body=${JSON.stringify(body)}`);
|
|
36019
|
-
const response = await this.httpClient.post(url, body, {
|
|
36020
|
-
timeout: 3e3
|
|
36021
|
-
});
|
|
36022
|
-
this.logger.log(`[DEBUG] fetchLatestHtmlFiles: response status=${response.status}`);
|
|
36023
|
-
if (!response.ok) {
|
|
36024
|
-
let errorBody = "";
|
|
36025
|
-
try {
|
|
36026
|
-
errorBody = await response.text();
|
|
36027
|
-
} catch {
|
|
36028
|
-
}
|
|
36029
|
-
this.logger.error(`[DEBUG] fetchLatestHtmlFiles failed: status=${response.status}, body=${errorBody}`);
|
|
36030
|
-
throw new Error(`GetLatestArtifactHtmlFiles failed: ${response.status} ${response.statusText}`);
|
|
36031
|
-
}
|
|
36032
|
-
const rawText = await response.text();
|
|
36033
|
-
const truncated = rawText.length > 500 ? rawText.slice(0, 500) + `...(${rawText.length} chars total)` : rawText;
|
|
36034
|
-
this.logger.log(`[DEBUG] fetchLatestHtmlFiles: rawResponse=${truncated}`);
|
|
36035
|
-
let resp;
|
|
36036
|
-
try {
|
|
36037
|
-
resp = JSON.parse(rawText);
|
|
36038
|
-
} catch (parseError) {
|
|
36039
|
-
this.logger.error(`[DEBUG] JSON parse failed: ${rawText.slice(0, 200)}`);
|
|
36040
|
-
throw new Error(`GetLatestArtifactHtmlFiles: invalid JSON response`);
|
|
36041
|
-
}
|
|
36042
|
-
if (resp.status_code !== "0") {
|
|
36043
|
-
this.logger.error(`[DEBUG] bad status_code: ${JSON.stringify(resp).slice(0, 300)}`);
|
|
36044
|
-
throw new Error(`GetLatestArtifactHtmlFiles error: status_code=${resp.status_code}`);
|
|
36045
|
-
}
|
|
36046
|
-
const fileMap = resp.data?.fileMap;
|
|
36047
|
-
if (!fileMap || Object.keys(fileMap).length === 0) {
|
|
36048
|
-
this.logger.error(`[DEBUG] empty fileMap, full resp keys: ${JSON.stringify({
|
|
36049
|
-
hasData: !!resp.data,
|
|
36050
|
-
dataKeys: resp.data ? Object.keys(resp.data) : [],
|
|
36051
|
-
status_code: resp.status_code
|
|
36052
|
-
})}`);
|
|
36053
|
-
throw new Error("GetLatestArtifactHtmlFiles returned empty fileMap");
|
|
36054
|
-
}
|
|
36055
|
-
return fileMap;
|
|
36056
|
-
}
|
|
36057
|
-
/**
|
|
36058
|
-
* 从 CLIENT_BASE_PATH 提取 appID
|
|
36059
|
-
* CLIENT_BASE_PATH 格式: /app/{appId}
|
|
36060
|
-
*/
|
|
36061
|
-
getAppID() {
|
|
36062
|
-
const basePath = process.env.CLIENT_BASE_PATH || "";
|
|
36063
|
-
const match = basePath.match(/\/app\/([^/]+)/);
|
|
36064
|
-
return match?.[1] ?? "";
|
|
36065
|
-
}
|
|
36066
|
-
};
|
|
36067
|
-
HtmlHotUpdateService = _ts_decorate12([
|
|
36068
|
-
(0, import_common12.Injectable)(),
|
|
36069
|
-
_ts_param4(0, (0, import_common12.Inject)(import_nestjs_common5.PLATFORM_HTTP_CLIENT)),
|
|
36070
|
-
_ts_metadata8("design:type", Function),
|
|
36071
|
-
_ts_metadata8("design:paramtypes", [
|
|
36072
|
-
typeof PlatformHttpClient === "undefined" ? Object : PlatformHttpClient
|
|
36073
|
-
])
|
|
36074
|
-
], HtmlHotUpdateService);
|
|
36075
|
-
|
|
36076
|
-
// src/modules/html-hot-update/html-hot-update.controller.ts
|
|
36077
|
-
function _ts_decorate13(decorators, target, key, desc) {
|
|
36078
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
36079
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
36080
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
36081
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
36082
|
-
}
|
|
36083
|
-
__name(_ts_decorate13, "_ts_decorate");
|
|
36084
|
-
function _ts_metadata9(k, v) {
|
|
36085
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
36086
|
-
}
|
|
36087
|
-
__name(_ts_metadata9, "_ts_metadata");
|
|
36088
|
-
function _ts_param5(paramIndex, decorator) {
|
|
36089
|
-
return function(target, key) {
|
|
36090
|
-
decorator(target, key, paramIndex);
|
|
36091
|
-
};
|
|
36092
|
-
}
|
|
36093
|
-
__name(_ts_param5, "_ts_param");
|
|
36094
|
-
var UpdateHtmlFilesDto = class UpdateHtmlFilesDto2 {
|
|
36095
|
-
static {
|
|
36096
|
-
__name(this, "UpdateHtmlFilesDto");
|
|
36097
|
-
}
|
|
36098
|
-
commitID;
|
|
36099
|
-
appID;
|
|
36100
|
-
};
|
|
36101
|
-
var HtmlHotUpdateController = class _HtmlHotUpdateController {
|
|
36102
|
-
static {
|
|
36103
|
-
__name(this, "HtmlHotUpdateController");
|
|
36104
|
-
}
|
|
36105
|
-
htmlHotUpdateService;
|
|
36106
|
-
logger = new import_common13.Logger(_HtmlHotUpdateController.name);
|
|
36107
|
-
constructor(htmlHotUpdateService) {
|
|
36108
|
-
this.htmlHotUpdateService = htmlHotUpdateService;
|
|
36109
|
-
}
|
|
36110
|
-
/**
|
|
36111
|
-
* POST /__innerapi__/update_html_files
|
|
36112
|
-
*
|
|
36113
|
-
* 请求体: { commitID: string, appID: string }
|
|
36114
|
-
* 响应:
|
|
36115
|
-
* 成功: { code: 0, msg: "success" }
|
|
36116
|
-
* 失败: { code: -1, msg: "update html failed: <error>" }
|
|
36117
|
-
*/
|
|
36118
|
-
async updateHtmlFiles(body) {
|
|
36119
|
-
this.logger.log(`[DEBUG] received request: ${JSON.stringify(body)}`);
|
|
36120
|
-
const { commitID, appID } = body;
|
|
36121
|
-
if (!commitID || !appID) {
|
|
36122
|
-
this.logger.warn(`[DEBUG] missing params: commitID=${commitID}, appID=${appID}`);
|
|
36123
|
-
return {
|
|
36124
|
-
code: -1,
|
|
36125
|
-
msg: "commitID and appID are required"
|
|
36126
|
-
};
|
|
36127
|
-
}
|
|
36128
|
-
try {
|
|
36129
|
-
const startTime = Date.now();
|
|
36130
|
-
const result = await this.htmlHotUpdateService.updateFromRemote(appID, commitID);
|
|
36131
|
-
const elapsed = Date.now() - startTime;
|
|
36132
|
-
this.logger.log(`[DEBUG] update complete in ${elapsed}ms: updated=${result.updatedFiles.length}, failed=${result.failedFiles.length}`);
|
|
36133
|
-
if (result.updatedFiles.length === 0 && result.failedFiles.length > 0) {
|
|
36134
|
-
const resp = {
|
|
36135
|
-
code: -1,
|
|
36136
|
-
msg: `update html failed: all ${result.failedFiles.length} files failed to write`
|
|
36137
|
-
};
|
|
36138
|
-
this.logger.error(`[DEBUG] response: ${JSON.stringify(resp)}`);
|
|
36139
|
-
return resp;
|
|
36140
|
-
}
|
|
36141
|
-
return {
|
|
36142
|
-
code: 0,
|
|
36143
|
-
msg: "success"
|
|
36144
|
-
};
|
|
36145
|
-
} catch (error) {
|
|
36146
|
-
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
36147
|
-
this.logger.error(`[DEBUG] update failed: ${error instanceof Error ? error.stack || error.message : String(error)}`);
|
|
36148
|
-
return {
|
|
36149
|
-
code: -1,
|
|
36150
|
-
msg: `update html failed: ${errorMsg}`
|
|
36151
|
-
};
|
|
36152
|
-
}
|
|
36153
|
-
}
|
|
36154
|
-
};
|
|
36155
|
-
_ts_decorate13([
|
|
36156
|
-
(0, import_common13.Post)("update_html_files"),
|
|
36157
|
-
(0, import_common13.HttpCode)(import_common13.HttpStatus.OK),
|
|
36158
|
-
_ts_param5(0, (0, import_common13.Body)()),
|
|
36159
|
-
_ts_metadata9("design:type", Function),
|
|
36160
|
-
_ts_metadata9("design:paramtypes", [
|
|
36161
|
-
typeof UpdateHtmlFilesDto === "undefined" ? Object : UpdateHtmlFilesDto
|
|
36162
|
-
]),
|
|
36163
|
-
_ts_metadata9("design:returntype", Promise)
|
|
36164
|
-
], HtmlHotUpdateController.prototype, "updateHtmlFiles", null);
|
|
36165
|
-
HtmlHotUpdateController = _ts_decorate13([
|
|
36166
|
-
(0, import_swagger2.ApiExcludeController)(),
|
|
36167
|
-
(0, import_common13.Controller)("__innerapi__"),
|
|
36168
|
-
_ts_metadata9("design:type", Function),
|
|
36169
|
-
_ts_metadata9("design:paramtypes", [
|
|
36170
|
-
typeof HtmlHotUpdateService === "undefined" ? Object : HtmlHotUpdateService
|
|
36171
|
-
])
|
|
36172
|
-
], HtmlHotUpdateController);
|
|
36173
|
-
|
|
36174
|
-
// src/modules/html-hot-update/html-hot-update.module.ts
|
|
36175
|
-
function _ts_decorate14(decorators, target, key, desc) {
|
|
36176
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
36177
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
36178
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
36179
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
36180
|
-
}
|
|
36181
|
-
__name(_ts_decorate14, "_ts_decorate");
|
|
36182
|
-
var HtmlHotUpdateModule = class {
|
|
36183
|
-
static {
|
|
36184
|
-
__name(this, "HtmlHotUpdateModule");
|
|
36185
|
-
}
|
|
36186
|
-
};
|
|
36187
|
-
HtmlHotUpdateModule = _ts_decorate14([
|
|
36188
|
-
(0, import_common14.Module)({
|
|
36189
|
-
controllers: [
|
|
36190
|
-
HtmlHotUpdateController
|
|
36191
|
-
],
|
|
36192
|
-
providers: [
|
|
36193
|
-
HtmlHotUpdateService
|
|
36194
|
-
],
|
|
36195
|
-
exports: [
|
|
36196
|
-
HtmlHotUpdateService
|
|
36197
|
-
]
|
|
36198
|
-
})
|
|
36199
|
-
], HtmlHotUpdateModule);
|
|
36200
|
-
|
|
36201
|
-
// src/middlewares/html-hot-update-view/index.ts
|
|
36202
|
-
var import_common15 = require("@nestjs/common");
|
|
36203
|
-
var import_node_fs3 = require("fs");
|
|
36204
|
-
var import_node_path2 = require("path");
|
|
36205
|
-
function _ts_decorate15(decorators, target, key, desc) {
|
|
36206
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
36207
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
36208
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
36209
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
36210
|
-
}
|
|
36211
|
-
__name(_ts_decorate15, "_ts_decorate");
|
|
36212
|
-
var HOT_UPDATE_DIR = "/tmp/html-hot-update";
|
|
36213
|
-
var HtmlHotUpdateViewMiddleware = class _HtmlHotUpdateViewMiddleware {
|
|
36214
|
-
static {
|
|
36215
|
-
__name(this, "HtmlHotUpdateViewMiddleware");
|
|
36216
|
-
}
|
|
36217
|
-
logger = new import_common15.Logger(_HtmlHotUpdateViewMiddleware.name);
|
|
36218
|
-
use(req, res, next) {
|
|
36219
|
-
if (process.env.NODE_ENV !== "production") {
|
|
36220
|
-
return next();
|
|
36221
|
-
}
|
|
36222
|
-
const originalRender = res.render.bind(res);
|
|
36223
|
-
res.render = (view, options, callback) => {
|
|
36224
|
-
let renderOptions = options;
|
|
36225
|
-
let renderCallback = callback;
|
|
36226
|
-
if (typeof renderOptions === "function") {
|
|
36227
|
-
renderCallback = renderOptions;
|
|
36228
|
-
renderOptions = void 0;
|
|
36229
|
-
}
|
|
36230
|
-
const hotPath = (0, import_node_path2.join)(HOT_UPDATE_DIR, `${view}.html`);
|
|
36231
|
-
if ((0, import_node_fs3.existsSync)(hotPath)) {
|
|
36232
|
-
this.logger.log(`Render hot-updated HTML: ${hotPath}`);
|
|
36233
|
-
if (res.app?.cache) {
|
|
36234
|
-
delete res.app.cache[hotPath];
|
|
36235
|
-
}
|
|
36236
|
-
return originalRender(hotPath, {
|
|
36237
|
-
...renderOptions ?? {},
|
|
36238
|
-
cache: false
|
|
36239
|
-
}, renderCallback);
|
|
36240
|
-
}
|
|
36241
|
-
return originalRender(view, renderOptions, renderCallback);
|
|
36242
|
-
};
|
|
36243
|
-
next();
|
|
36244
|
-
}
|
|
36245
|
-
};
|
|
36246
|
-
HtmlHotUpdateViewMiddleware = _ts_decorate15([
|
|
36247
|
-
(0, import_common15.Injectable)()
|
|
36248
|
-
], HtmlHotUpdateViewMiddleware);
|
|
36249
|
-
|
|
36250
|
-
// src/modules/platform/module.ts
|
|
36251
|
-
function _ts_decorate16(decorators, target, key, desc) {
|
|
36252
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
36253
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
36254
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
36255
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
36256
|
-
}
|
|
36257
|
-
__name(_ts_decorate16, "_ts_decorate");
|
|
36258
35830
|
var PLATFORM_MODULE_OPTIONS = /* @__PURE__ */ Symbol("PLATFORM_MODULE_OPTIONS");
|
|
36259
35831
|
var PlatformModule = class _PlatformModule {
|
|
36260
35832
|
static {
|
|
@@ -36276,7 +35848,7 @@ var PlatformModule = class _PlatformModule {
|
|
|
36276
35848
|
app_config_default
|
|
36277
35849
|
]
|
|
36278
35850
|
}),
|
|
36279
|
-
|
|
35851
|
+
import_nestjs_common5.CommonModule,
|
|
36280
35852
|
import_nestjs_observable.NestjsObservableModule,
|
|
36281
35853
|
import_nestjs_logger2.LoggerModule,
|
|
36282
35854
|
import_axios2.HttpModule.register({
|
|
@@ -36325,11 +35897,6 @@ var PlatformModule = class _PlatformModule {
|
|
|
36325
35897
|
// 开发环境由 Vite/Rspack dev server 的中间件处理 /static/* 请求
|
|
36326
35898
|
...process.env.NODE_ENV === "development" ? [] : [
|
|
36327
35899
|
StaticModule
|
|
36328
|
-
],
|
|
36329
|
-
// HTML 热更新模块(仅生产环境启用)
|
|
36330
|
-
// 提供 innerapi 供 tce 服务触发 HTML 热更新,冷启动时也会尝试拉取最新 HTML
|
|
36331
|
-
...process.env.NODE_ENV === "development" ? [] : [
|
|
36332
|
-
HtmlHotUpdateModule
|
|
36333
35900
|
]
|
|
36334
35901
|
],
|
|
36335
35902
|
providers: [
|
|
@@ -36339,7 +35906,7 @@ var PlatformModule = class _PlatformModule {
|
|
|
36339
35906
|
},
|
|
36340
35907
|
{
|
|
36341
35908
|
provide: import_core2.APP_PIPE,
|
|
36342
|
-
useValue: new
|
|
35909
|
+
useValue: new import_common12.ValidationPipe({
|
|
36343
35910
|
transform: true,
|
|
36344
35911
|
transformOptions: {
|
|
36345
35912
|
enableImplicitConversion: true
|
|
@@ -36347,19 +35914,19 @@ var PlatformModule = class _PlatformModule {
|
|
|
36347
35914
|
})
|
|
36348
35915
|
},
|
|
36349
35916
|
{
|
|
36350
|
-
provide:
|
|
35917
|
+
provide: import_nestjs_common5.OBSERVABLE_SERVICE,
|
|
36351
35918
|
useClass: import_nestjs_observable.Observable
|
|
36352
35919
|
},
|
|
36353
35920
|
PlatformHttpClientService,
|
|
36354
35921
|
{
|
|
36355
|
-
provide:
|
|
35922
|
+
provide: import_nestjs_common6.PLATFORM_HTTP_CLIENT,
|
|
36356
35923
|
useFactory: /* @__PURE__ */ __name((svc) => svc.instance, "useFactory"),
|
|
36357
35924
|
inject: [
|
|
36358
35925
|
PlatformHttpClientService
|
|
36359
35926
|
]
|
|
36360
35927
|
},
|
|
36361
35928
|
{
|
|
36362
|
-
provide:
|
|
35929
|
+
provide: import_nestjs_common5.HTTP_CLIENT_FACTORY,
|
|
36363
35930
|
useFactory: /* @__PURE__ */ __name((svc) => ({
|
|
36364
35931
|
create: /* @__PURE__ */ __name((options2) => svc.createWithGlobalInterceptors(options2), "create")
|
|
36365
35932
|
}), "useFactory"),
|
|
@@ -36377,10 +35944,10 @@ var PlatformModule = class _PlatformModule {
|
|
|
36377
35944
|
exports: [
|
|
36378
35945
|
import_config2.ConfigModule,
|
|
36379
35946
|
import_nestjs_logger2.LoggerModule,
|
|
36380
|
-
|
|
36381
|
-
|
|
36382
|
-
|
|
36383
|
-
|
|
35947
|
+
import_nestjs_common5.CommonModule,
|
|
35948
|
+
import_nestjs_common5.OBSERVABLE_SERVICE,
|
|
35949
|
+
import_nestjs_common6.PLATFORM_HTTP_CLIENT,
|
|
35950
|
+
import_nestjs_common5.HTTP_CLIENT_FACTORY,
|
|
36384
35951
|
PlatformHttpClientService,
|
|
36385
35952
|
import_nestjs_capability.CapabilityModule,
|
|
36386
35953
|
FileService
|
|
@@ -36399,7 +35966,7 @@ var PlatformModule = class _PlatformModule {
|
|
|
36399
35966
|
consumer.apply(UserContextMiddleware, RequestContextMiddleware, import_nestjs_logger2.LoggerContextMiddleware, import_nestjs_observable.ObservableTraceMiddleware, ...DISABLE_DATAPASS ? [] : [
|
|
36400
35967
|
import_nestjs_datapaas.SqlExecutionContextMiddleware
|
|
36401
35968
|
]).forRoutes("/*");
|
|
36402
|
-
consumer.apply(CsrfTokenMiddleware, ViewContextMiddleware
|
|
35969
|
+
consumer.apply(CsrfTokenMiddleware, ViewContextMiddleware).exclude("/api/(.*)", "/static/(.*)").forRoutes("*");
|
|
36403
35970
|
if (options.enableCsrf !== false) {
|
|
36404
35971
|
const csrfRoutes = options.csrfRoutes || "/api/*";
|
|
36405
35972
|
if (Array.isArray(csrfRoutes)) {
|
|
@@ -36412,9 +35979,9 @@ var PlatformModule = class _PlatformModule {
|
|
|
36412
35979
|
}
|
|
36413
35980
|
}
|
|
36414
35981
|
};
|
|
36415
|
-
PlatformModule =
|
|
36416
|
-
(0,
|
|
36417
|
-
(0,
|
|
35982
|
+
PlatformModule = _ts_decorate12([
|
|
35983
|
+
(0, import_common12.Global)(),
|
|
35984
|
+
(0, import_common12.Module)({})
|
|
36418
35985
|
], PlatformModule);
|
|
36419
35986
|
|
|
36420
35987
|
// src/setup.ts
|
|
@@ -36502,7 +36069,7 @@ __reExport(index_exports, require("@lark-apaas/nestjs-datapaas"), module.exports
|
|
|
36502
36069
|
__reExport(index_exports, require("@lark-apaas/nestjs-observable"), module.exports);
|
|
36503
36070
|
__reExport(index_exports, require("@lark-apaas/nestjs-trigger"), module.exports);
|
|
36504
36071
|
__reExport(index_exports, require("@lark-apaas/file-service"), module.exports);
|
|
36505
|
-
var
|
|
36072
|
+
var import_nestjs_common7 = require("@lark-apaas/nestjs-common");
|
|
36506
36073
|
var import_nestjs_authzpaas2 = require("@lark-apaas/nestjs-authzpaas");
|
|
36507
36074
|
// Annotate the CommonJS export names for ESM import in node:
|
|
36508
36075
|
0 && (module.exports = {
|
|
@@ -36513,8 +36080,6 @@ var import_nestjs_authzpaas2 = require("@lark-apaas/nestjs-authzpaas");
|
|
|
36513
36080
|
DevToolsModule,
|
|
36514
36081
|
DevToolsV2Module,
|
|
36515
36082
|
FileService,
|
|
36516
|
-
HtmlHotUpdateModule,
|
|
36517
|
-
HtmlHotUpdateService,
|
|
36518
36083
|
PlatformHttpClientService,
|
|
36519
36084
|
PlatformModule,
|
|
36520
36085
|
StaticModule,
|