@lark-apaas/fullstack-nestjs-core 1.1.51-beta.0 → 1.1.52-alpha.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.
- package/dist/index.cjs +87 -10
- package/dist/index.d.cts +5 -2
- package/dist/index.d.ts +5 -2
- package/dist/index.js +85 -10
- package/package.json +12 -11
package/dist/index.cjs
CHANGED
|
@@ -34423,10 +34423,24 @@ __export(index_exports, {
|
|
|
34423
34423
|
UserContextMiddleware: () => UserContextMiddleware,
|
|
34424
34424
|
ViewContextMiddleware: () => ViewContextMiddleware,
|
|
34425
34425
|
configureApp: () => configureApp,
|
|
34426
|
-
createLegacyPathRedirectMiddleware: () => createLegacyPathRedirectMiddleware
|
|
34426
|
+
createLegacyPathRedirectMiddleware: () => createLegacyPathRedirectMiddleware,
|
|
34427
|
+
createLocalDevMiddleware: () => createLocalDevMiddleware,
|
|
34428
|
+
isLocalDev: () => isLocalDev
|
|
34427
34429
|
});
|
|
34428
34430
|
module.exports = __toCommonJS(index_exports);
|
|
34429
34431
|
|
|
34432
|
+
// src/load-env.ts
|
|
34433
|
+
try {
|
|
34434
|
+
const dotenv = require("dotenv");
|
|
34435
|
+
dotenv.config({
|
|
34436
|
+
path: ".env.local"
|
|
34437
|
+
});
|
|
34438
|
+
dotenv.config({
|
|
34439
|
+
path: ".env"
|
|
34440
|
+
});
|
|
34441
|
+
} catch {
|
|
34442
|
+
}
|
|
34443
|
+
|
|
34430
34444
|
// src/modules/platform/module.ts
|
|
34431
34445
|
var import_common16 = require("@nestjs/common");
|
|
34432
34446
|
var import_core2 = require("@nestjs/core");
|
|
@@ -34445,20 +34459,41 @@ var import_nestjs_capability = require("@lark-apaas/nestjs-capability");
|
|
|
34445
34459
|
// src/middlewares/user-context/index.ts
|
|
34446
34460
|
var import_common = require("@nestjs/common");
|
|
34447
34461
|
|
|
34462
|
+
// src/utils/parse-suda-webuser.ts
|
|
34463
|
+
function parseSudaWebUserEnv(raw) {
|
|
34464
|
+
if (!raw) return null;
|
|
34465
|
+
try {
|
|
34466
|
+
return JSON.parse(raw);
|
|
34467
|
+
} catch {
|
|
34468
|
+
}
|
|
34469
|
+
try {
|
|
34470
|
+
return JSON.parse(raw.replace(/\\"/g, '"'));
|
|
34471
|
+
} catch {
|
|
34472
|
+
return null;
|
|
34473
|
+
}
|
|
34474
|
+
}
|
|
34475
|
+
__name(parseSudaWebUserEnv, "parseSudaWebUserEnv");
|
|
34476
|
+
|
|
34448
34477
|
// src/middlewares/user-context/helper.ts
|
|
34449
34478
|
var sudaWebUserHeaderKey = "x-larkgw-suda-webuser";
|
|
34450
34479
|
function getWebUserFromHeader(req) {
|
|
34451
34480
|
const sudaWebUserContent = req.headers[sudaWebUserHeaderKey];
|
|
34452
|
-
if (
|
|
34453
|
-
|
|
34481
|
+
if (sudaWebUserContent) {
|
|
34482
|
+
try {
|
|
34483
|
+
const sudaWebUserJsonStr = decodeURIComponent(sudaWebUserContent);
|
|
34484
|
+
const sudaWebUserJson = JSON.parse(sudaWebUserJsonStr);
|
|
34485
|
+
return sudaWebUserJson;
|
|
34486
|
+
} catch (err) {
|
|
34487
|
+
console.error("parse suda webuser from header failed, err=%o", err);
|
|
34488
|
+
return null;
|
|
34489
|
+
}
|
|
34454
34490
|
}
|
|
34455
|
-
|
|
34456
|
-
const
|
|
34457
|
-
|
|
34458
|
-
|
|
34459
|
-
|
|
34460
|
-
|
|
34461
|
-
return null;
|
|
34491
|
+
if (process.env.MIAODA_LOCAL_DEV === "1") {
|
|
34492
|
+
const parsed = parseSudaWebUserEnv(process.env.SUDA_WEBUSER);
|
|
34493
|
+
if (parsed) return parsed;
|
|
34494
|
+
if (process.env.SUDA_WEBUSER) {
|
|
34495
|
+
console.error("parse suda webuser from env failed, value head=%s", process.env.SUDA_WEBUSER.slice(0, 80));
|
|
34496
|
+
}
|
|
34462
34497
|
}
|
|
34463
34498
|
return null;
|
|
34464
34499
|
}
|
|
@@ -36553,6 +36588,43 @@ function createLegacyPathRedirectMiddleware() {
|
|
|
36553
36588
|
}
|
|
36554
36589
|
__name(createLegacyPathRedirectMiddleware, "createLegacyPathRedirectMiddleware");
|
|
36555
36590
|
|
|
36591
|
+
// src/middlewares/local-dev/index.ts
|
|
36592
|
+
var CSRF_COOKIE_KEY = "suda-csrf-token";
|
|
36593
|
+
var CSRF_HEADER_KEY = "x-suda-csrf-token";
|
|
36594
|
+
var WEBUSER_HEADER_KEY = "x-larkgw-suda-webuser";
|
|
36595
|
+
function isLocalDev() {
|
|
36596
|
+
if (process.env.NODE_ENV === "production") return false;
|
|
36597
|
+
const flag = process.env.MIAODA_LOCAL_DEV;
|
|
36598
|
+
return flag === "1" || flag === "true";
|
|
36599
|
+
}
|
|
36600
|
+
__name(isLocalDev, "isLocalDev");
|
|
36601
|
+
function extractCsrfFromCookie(cookieHeader) {
|
|
36602
|
+
if (!cookieHeader) return void 0;
|
|
36603
|
+
const re = new RegExp(`(?:^|;\\s*)${CSRF_COOKIE_KEY}=([^;]+)`);
|
|
36604
|
+
const m = cookieHeader.match(re);
|
|
36605
|
+
return m?.[1];
|
|
36606
|
+
}
|
|
36607
|
+
__name(extractCsrfFromCookie, "extractCsrfFromCookie");
|
|
36608
|
+
function createLocalDevMiddleware() {
|
|
36609
|
+
let webUserHeader = "";
|
|
36610
|
+
const parsed = parseSudaWebUserEnv(process.env.SUDA_WEBUSER);
|
|
36611
|
+
if (parsed) {
|
|
36612
|
+
webUserHeader = encodeURIComponent(JSON.stringify(parsed));
|
|
36613
|
+
}
|
|
36614
|
+
return /* @__PURE__ */ __name(function localDevMiddleware(req, _res, next) {
|
|
36615
|
+
const headers = req.headers;
|
|
36616
|
+
if (!headers[CSRF_HEADER_KEY]) {
|
|
36617
|
+
const token = extractCsrfFromCookie(req.headers.cookie);
|
|
36618
|
+
if (token) headers[CSRF_HEADER_KEY] = token;
|
|
36619
|
+
}
|
|
36620
|
+
if (webUserHeader && !headers[WEBUSER_HEADER_KEY]) {
|
|
36621
|
+
headers[WEBUSER_HEADER_KEY] = webUserHeader;
|
|
36622
|
+
}
|
|
36623
|
+
next();
|
|
36624
|
+
}, "localDevMiddleware");
|
|
36625
|
+
}
|
|
36626
|
+
__name(createLocalDevMiddleware, "createLocalDevMiddleware");
|
|
36627
|
+
|
|
36556
36628
|
// src/setup.ts
|
|
36557
36629
|
var DEFAULT_BODY_LIMIT = "1mb";
|
|
36558
36630
|
var defaultPerms = {
|
|
@@ -36570,6 +36642,9 @@ async function configureApp(app, perms = defaultPerms) {
|
|
|
36570
36642
|
extended: true
|
|
36571
36643
|
}));
|
|
36572
36644
|
app.use((0, import_cookie_parser.default)());
|
|
36645
|
+
if (isLocalDev()) {
|
|
36646
|
+
app.use(createLocalDevMiddleware());
|
|
36647
|
+
}
|
|
36573
36648
|
app.use(createLegacyPathRedirectMiddleware());
|
|
36574
36649
|
const globalPrefix = process.env.CLIENT_BASE_PATH ?? "";
|
|
36575
36650
|
app.setGlobalPrefix(globalPrefix);
|
|
@@ -36621,6 +36696,8 @@ var import_nestjs_authzpaas2 = require("@lark-apaas/nestjs-authzpaas");
|
|
|
36621
36696
|
ViewContextMiddleware,
|
|
36622
36697
|
configureApp,
|
|
36623
36698
|
createLegacyPathRedirectMiddleware,
|
|
36699
|
+
createLocalDevMiddleware,
|
|
36700
|
+
isLocalDev,
|
|
36624
36701
|
...require("@lark-apaas/nestjs-authnpaas"),
|
|
36625
36702
|
...require("@lark-apaas/nestjs-capability"),
|
|
36626
36703
|
...require("@lark-apaas/nestjs-datapaas"),
|
package/dist/index.d.cts
CHANGED
|
@@ -7,7 +7,7 @@ import { NestExpressApplication } from '@nestjs/platform-express';
|
|
|
7
7
|
import { PlatformHttpClient, RequestContextService, ObservableService } from '@lark-apaas/nestjs-common';
|
|
8
8
|
export { AutoTrace } from '@lark-apaas/nestjs-common';
|
|
9
9
|
export { DevToolsModule, DevToolsOptions, DevToolsV2Module, DevToolsV2Options } from '@lark-apaas/nestjs-openapi-devtools';
|
|
10
|
-
import { Request, Response, NextFunction } from 'express';
|
|
10
|
+
import { Request, Response, NextFunction, RequestHandler } from 'express';
|
|
11
11
|
import * as _lark_apaas_file_service from '@lark-apaas/file-service';
|
|
12
12
|
import { FileBody, UploadOptions, FileDownloadBuilder, SearchOptions } from '@lark-apaas/file-service';
|
|
13
13
|
export * from '@lark-apaas/file-service';
|
|
@@ -230,6 +230,9 @@ declare class ViewContextMiddleware implements NestMiddleware {
|
|
|
230
230
|
*/
|
|
231
231
|
declare function createLegacyPathRedirectMiddleware(): (req: Request, res: Response, next: NextFunction) => void;
|
|
232
232
|
|
|
233
|
+
declare function isLocalDev(): boolean;
|
|
234
|
+
declare function createLocalDevMiddleware(): RequestHandler;
|
|
235
|
+
|
|
233
236
|
/**
|
|
234
237
|
* API 404 响应格式
|
|
235
238
|
*/
|
|
@@ -411,4 +414,4 @@ declare class PlatformHttpClientService {
|
|
|
411
414
|
private registerInterceptorsForClient;
|
|
412
415
|
}
|
|
413
416
|
|
|
414
|
-
export { type ApiNotFoundResponse, CsrfMiddleware, CsrfTokenMiddleware, FileService, HtmlHotUpdateModule, HtmlHotUpdateService, type PlatformHttpClientOptions, PlatformHttpClientService, PlatformModule, type PlatformModuleOptions, StaticModule, UserContextMiddleware, ViewContextMiddleware, configureApp, createLegacyPathRedirectMiddleware };
|
|
417
|
+
export { type ApiNotFoundResponse, CsrfMiddleware, CsrfTokenMiddleware, FileService, HtmlHotUpdateModule, HtmlHotUpdateService, type PlatformHttpClientOptions, PlatformHttpClientService, PlatformModule, type PlatformModuleOptions, StaticModule, UserContextMiddleware, ViewContextMiddleware, configureApp, createLegacyPathRedirectMiddleware, createLocalDevMiddleware, isLocalDev };
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { NestExpressApplication } from '@nestjs/platform-express';
|
|
|
7
7
|
import { PlatformHttpClient, RequestContextService, ObservableService } from '@lark-apaas/nestjs-common';
|
|
8
8
|
export { AutoTrace } from '@lark-apaas/nestjs-common';
|
|
9
9
|
export { DevToolsModule, DevToolsOptions, DevToolsV2Module, DevToolsV2Options } from '@lark-apaas/nestjs-openapi-devtools';
|
|
10
|
-
import { Request, Response, NextFunction } from 'express';
|
|
10
|
+
import { Request, Response, NextFunction, RequestHandler } from 'express';
|
|
11
11
|
import * as _lark_apaas_file_service from '@lark-apaas/file-service';
|
|
12
12
|
import { FileBody, UploadOptions, FileDownloadBuilder, SearchOptions } from '@lark-apaas/file-service';
|
|
13
13
|
export * from '@lark-apaas/file-service';
|
|
@@ -230,6 +230,9 @@ declare class ViewContextMiddleware implements NestMiddleware {
|
|
|
230
230
|
*/
|
|
231
231
|
declare function createLegacyPathRedirectMiddleware(): (req: Request, res: Response, next: NextFunction) => void;
|
|
232
232
|
|
|
233
|
+
declare function isLocalDev(): boolean;
|
|
234
|
+
declare function createLocalDevMiddleware(): RequestHandler;
|
|
235
|
+
|
|
233
236
|
/**
|
|
234
237
|
* API 404 响应格式
|
|
235
238
|
*/
|
|
@@ -411,4 +414,4 @@ declare class PlatformHttpClientService {
|
|
|
411
414
|
private registerInterceptorsForClient;
|
|
412
415
|
}
|
|
413
416
|
|
|
414
|
-
export { type ApiNotFoundResponse, CsrfMiddleware, CsrfTokenMiddleware, FileService, HtmlHotUpdateModule, HtmlHotUpdateService, type PlatformHttpClientOptions, PlatformHttpClientService, PlatformModule, type PlatformModuleOptions, StaticModule, UserContextMiddleware, ViewContextMiddleware, configureApp, createLegacyPathRedirectMiddleware };
|
|
417
|
+
export { type ApiNotFoundResponse, CsrfMiddleware, CsrfTokenMiddleware, FileService, HtmlHotUpdateModule, HtmlHotUpdateService, type PlatformHttpClientOptions, PlatformHttpClientService, PlatformModule, type PlatformModuleOptions, StaticModule, UserContextMiddleware, ViewContextMiddleware, configureApp, createLegacyPathRedirectMiddleware, createLocalDevMiddleware, isLocalDev };
|
package/dist/index.js
CHANGED
|
@@ -34400,6 +34400,18 @@ var require_express2 = __commonJS({
|
|
|
34400
34400
|
}
|
|
34401
34401
|
});
|
|
34402
34402
|
|
|
34403
|
+
// src/load-env.ts
|
|
34404
|
+
try {
|
|
34405
|
+
const dotenv = __require("dotenv");
|
|
34406
|
+
dotenv.config({
|
|
34407
|
+
path: ".env.local"
|
|
34408
|
+
});
|
|
34409
|
+
dotenv.config({
|
|
34410
|
+
path: ".env"
|
|
34411
|
+
});
|
|
34412
|
+
} catch {
|
|
34413
|
+
}
|
|
34414
|
+
|
|
34403
34415
|
// src/modules/platform/module.ts
|
|
34404
34416
|
import { Global, Module as Module3, ValidationPipe } from "@nestjs/common";
|
|
34405
34417
|
import { APP_INTERCEPTOR, APP_PIPE } from "@nestjs/core";
|
|
@@ -34418,20 +34430,41 @@ import { CapabilityModule } from "@lark-apaas/nestjs-capability";
|
|
|
34418
34430
|
// src/middlewares/user-context/index.ts
|
|
34419
34431
|
import { Injectable } from "@nestjs/common";
|
|
34420
34432
|
|
|
34433
|
+
// src/utils/parse-suda-webuser.ts
|
|
34434
|
+
function parseSudaWebUserEnv(raw) {
|
|
34435
|
+
if (!raw) return null;
|
|
34436
|
+
try {
|
|
34437
|
+
return JSON.parse(raw);
|
|
34438
|
+
} catch {
|
|
34439
|
+
}
|
|
34440
|
+
try {
|
|
34441
|
+
return JSON.parse(raw.replace(/\\"/g, '"'));
|
|
34442
|
+
} catch {
|
|
34443
|
+
return null;
|
|
34444
|
+
}
|
|
34445
|
+
}
|
|
34446
|
+
__name(parseSudaWebUserEnv, "parseSudaWebUserEnv");
|
|
34447
|
+
|
|
34421
34448
|
// src/middlewares/user-context/helper.ts
|
|
34422
34449
|
var sudaWebUserHeaderKey = "x-larkgw-suda-webuser";
|
|
34423
34450
|
function getWebUserFromHeader(req) {
|
|
34424
34451
|
const sudaWebUserContent = req.headers[sudaWebUserHeaderKey];
|
|
34425
|
-
if (
|
|
34426
|
-
|
|
34452
|
+
if (sudaWebUserContent) {
|
|
34453
|
+
try {
|
|
34454
|
+
const sudaWebUserJsonStr = decodeURIComponent(sudaWebUserContent);
|
|
34455
|
+
const sudaWebUserJson = JSON.parse(sudaWebUserJsonStr);
|
|
34456
|
+
return sudaWebUserJson;
|
|
34457
|
+
} catch (err) {
|
|
34458
|
+
console.error("parse suda webuser from header failed, err=%o", err);
|
|
34459
|
+
return null;
|
|
34460
|
+
}
|
|
34427
34461
|
}
|
|
34428
|
-
|
|
34429
|
-
const
|
|
34430
|
-
|
|
34431
|
-
|
|
34432
|
-
|
|
34433
|
-
|
|
34434
|
-
return null;
|
|
34462
|
+
if (process.env.MIAODA_LOCAL_DEV === "1") {
|
|
34463
|
+
const parsed = parseSudaWebUserEnv(process.env.SUDA_WEBUSER);
|
|
34464
|
+
if (parsed) return parsed;
|
|
34465
|
+
if (process.env.SUDA_WEBUSER) {
|
|
34466
|
+
console.error("parse suda webuser from env failed, value head=%s", process.env.SUDA_WEBUSER.slice(0, 80));
|
|
34467
|
+
}
|
|
34435
34468
|
}
|
|
34436
34469
|
return null;
|
|
34437
34470
|
}
|
|
@@ -36526,6 +36559,43 @@ function createLegacyPathRedirectMiddleware() {
|
|
|
36526
36559
|
}
|
|
36527
36560
|
__name(createLegacyPathRedirectMiddleware, "createLegacyPathRedirectMiddleware");
|
|
36528
36561
|
|
|
36562
|
+
// src/middlewares/local-dev/index.ts
|
|
36563
|
+
var CSRF_COOKIE_KEY = "suda-csrf-token";
|
|
36564
|
+
var CSRF_HEADER_KEY = "x-suda-csrf-token";
|
|
36565
|
+
var WEBUSER_HEADER_KEY = "x-larkgw-suda-webuser";
|
|
36566
|
+
function isLocalDev() {
|
|
36567
|
+
if (process.env.NODE_ENV === "production") return false;
|
|
36568
|
+
const flag = process.env.MIAODA_LOCAL_DEV;
|
|
36569
|
+
return flag === "1" || flag === "true";
|
|
36570
|
+
}
|
|
36571
|
+
__name(isLocalDev, "isLocalDev");
|
|
36572
|
+
function extractCsrfFromCookie(cookieHeader) {
|
|
36573
|
+
if (!cookieHeader) return void 0;
|
|
36574
|
+
const re = new RegExp(`(?:^|;\\s*)${CSRF_COOKIE_KEY}=([^;]+)`);
|
|
36575
|
+
const m = cookieHeader.match(re);
|
|
36576
|
+
return m?.[1];
|
|
36577
|
+
}
|
|
36578
|
+
__name(extractCsrfFromCookie, "extractCsrfFromCookie");
|
|
36579
|
+
function createLocalDevMiddleware() {
|
|
36580
|
+
let webUserHeader = "";
|
|
36581
|
+
const parsed = parseSudaWebUserEnv(process.env.SUDA_WEBUSER);
|
|
36582
|
+
if (parsed) {
|
|
36583
|
+
webUserHeader = encodeURIComponent(JSON.stringify(parsed));
|
|
36584
|
+
}
|
|
36585
|
+
return /* @__PURE__ */ __name(function localDevMiddleware(req, _res, next) {
|
|
36586
|
+
const headers = req.headers;
|
|
36587
|
+
if (!headers[CSRF_HEADER_KEY]) {
|
|
36588
|
+
const token = extractCsrfFromCookie(req.headers.cookie);
|
|
36589
|
+
if (token) headers[CSRF_HEADER_KEY] = token;
|
|
36590
|
+
}
|
|
36591
|
+
if (webUserHeader && !headers[WEBUSER_HEADER_KEY]) {
|
|
36592
|
+
headers[WEBUSER_HEADER_KEY] = webUserHeader;
|
|
36593
|
+
}
|
|
36594
|
+
next();
|
|
36595
|
+
}, "localDevMiddleware");
|
|
36596
|
+
}
|
|
36597
|
+
__name(createLocalDevMiddleware, "createLocalDevMiddleware");
|
|
36598
|
+
|
|
36529
36599
|
// src/setup.ts
|
|
36530
36600
|
var DEFAULT_BODY_LIMIT = "1mb";
|
|
36531
36601
|
var defaultPerms = {
|
|
@@ -36543,6 +36613,9 @@ async function configureApp(app, perms = defaultPerms) {
|
|
|
36543
36613
|
extended: true
|
|
36544
36614
|
}));
|
|
36545
36615
|
app.use(cookieParser());
|
|
36616
|
+
if (isLocalDev()) {
|
|
36617
|
+
app.use(createLocalDevMiddleware());
|
|
36618
|
+
}
|
|
36546
36619
|
app.use(createLegacyPathRedirectMiddleware());
|
|
36547
36620
|
const globalPrefix = process.env.CLIENT_BASE_PATH ?? "";
|
|
36548
36621
|
app.setGlobalPrefix(globalPrefix);
|
|
@@ -36592,7 +36665,9 @@ export {
|
|
|
36592
36665
|
UserContextMiddleware,
|
|
36593
36666
|
ViewContextMiddleware,
|
|
36594
36667
|
configureApp,
|
|
36595
|
-
createLegacyPathRedirectMiddleware
|
|
36668
|
+
createLegacyPathRedirectMiddleware,
|
|
36669
|
+
createLocalDevMiddleware,
|
|
36670
|
+
isLocalDev
|
|
36596
36671
|
};
|
|
36597
36672
|
/*! Bundled license information:
|
|
36598
36673
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lark-apaas/fullstack-nestjs-core",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.52-alpha.0",
|
|
4
4
|
"description": "FullStack Nestjs Core",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -40,20 +40,21 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@lark-apaas/file-service": "^0.1.2",
|
|
43
|
-
"@lark-apaas/http-client": "
|
|
44
|
-
"@lark-apaas/nestjs-authnpaas": "1.0.
|
|
45
|
-
"@lark-apaas/nestjs-authzpaas": "0.1.
|
|
46
|
-
"@lark-apaas/nestjs-capability": "0.1.
|
|
47
|
-
"@lark-apaas/nestjs-common": "0.1.
|
|
48
|
-
"@lark-apaas/nestjs-datapaas": "1.0.
|
|
49
|
-
"@lark-apaas/nestjs-http-forwarder": "0.1.
|
|
50
|
-
"@lark-apaas/nestjs-logger": "1.0.
|
|
51
|
-
"@lark-apaas/nestjs-observable": "0.0.
|
|
43
|
+
"@lark-apaas/http-client": "0.1.7-alpha.7",
|
|
44
|
+
"@lark-apaas/nestjs-authnpaas": "^1.0.3",
|
|
45
|
+
"@lark-apaas/nestjs-authzpaas": "^0.1.8",
|
|
46
|
+
"@lark-apaas/nestjs-capability": "^0.1.13",
|
|
47
|
+
"@lark-apaas/nestjs-common": "^0.1.8",
|
|
48
|
+
"@lark-apaas/nestjs-datapaas": "^1.0.20",
|
|
49
|
+
"@lark-apaas/nestjs-http-forwarder": "^0.1.2",
|
|
50
|
+
"@lark-apaas/nestjs-logger": "^1.0.16",
|
|
51
|
+
"@lark-apaas/nestjs-observable": "^0.0.11",
|
|
52
52
|
"@lark-apaas/nestjs-openapi-devtools": "^1.0.10",
|
|
53
53
|
"@lark-apaas/nestjs-trigger": "^0.0.3",
|
|
54
54
|
"@nestjs/axios": "^4.0.1",
|
|
55
55
|
"axios": "^1.13.2",
|
|
56
|
-
"cookie-parser": "^1.4.7"
|
|
56
|
+
"cookie-parser": "^1.4.7",
|
|
57
|
+
"dotenv": "^16.4.5"
|
|
57
58
|
},
|
|
58
59
|
"devDependencies": {
|
|
59
60
|
"@nestjs/common": "^10.4.20",
|