@lark-apaas/fullstack-nestjs-core 1.1.50-alpha.6 → 1.1.50-alpha.8
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 +47 -1
- package/dist/index.d.cts +5 -2
- package/dist/index.d.ts +5 -2
- package/dist/index.js +45 -1
- package/package.json +8 -8
package/dist/index.cjs
CHANGED
|
@@ -34423,7 +34423,9 @@ __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
|
|
|
@@ -36546,6 +36548,45 @@ function createLegacyPathRedirectMiddleware() {
|
|
|
36546
36548
|
}
|
|
36547
36549
|
__name(createLegacyPathRedirectMiddleware, "createLegacyPathRedirectMiddleware");
|
|
36548
36550
|
|
|
36551
|
+
// src/middlewares/local-dev/index.ts
|
|
36552
|
+
var CSRF_COOKIE_KEY = "suda-csrf-token";
|
|
36553
|
+
var CSRF_HEADER_KEY = "x-suda-csrf-token";
|
|
36554
|
+
var WEBUSER_HEADER_KEY = "x-larkgw-suda-webuser";
|
|
36555
|
+
function isLocalDev() {
|
|
36556
|
+
if (process.env.NODE_ENV === "production") return false;
|
|
36557
|
+
const flag = process.env.MIAODA_LOCAL_DEV;
|
|
36558
|
+
return flag === "1" || flag === "true";
|
|
36559
|
+
}
|
|
36560
|
+
__name(isLocalDev, "isLocalDev");
|
|
36561
|
+
function extractCsrfFromCookie(cookieHeader) {
|
|
36562
|
+
if (!cookieHeader) return void 0;
|
|
36563
|
+
const re = new RegExp(`(?:^|;\\s*)${CSRF_COOKIE_KEY}=([^;]+)`);
|
|
36564
|
+
const m = cookieHeader.match(re);
|
|
36565
|
+
return m?.[1];
|
|
36566
|
+
}
|
|
36567
|
+
__name(extractCsrfFromCookie, "extractCsrfFromCookie");
|
|
36568
|
+
function createLocalDevMiddleware() {
|
|
36569
|
+
let webUserHeader = "";
|
|
36570
|
+
if (process.env.SUDA_WEBUSER) {
|
|
36571
|
+
try {
|
|
36572
|
+
webUserHeader = encodeURIComponent(JSON.stringify(JSON.parse(process.env.SUDA_WEBUSER)));
|
|
36573
|
+
} catch {
|
|
36574
|
+
}
|
|
36575
|
+
}
|
|
36576
|
+
return /* @__PURE__ */ __name(function localDevMiddleware(req, _res, next) {
|
|
36577
|
+
const headers = req.headers;
|
|
36578
|
+
if (!headers[CSRF_HEADER_KEY]) {
|
|
36579
|
+
const token = extractCsrfFromCookie(req.headers.cookie);
|
|
36580
|
+
if (token) headers[CSRF_HEADER_KEY] = token;
|
|
36581
|
+
}
|
|
36582
|
+
if (webUserHeader && !headers[WEBUSER_HEADER_KEY]) {
|
|
36583
|
+
headers[WEBUSER_HEADER_KEY] = webUserHeader;
|
|
36584
|
+
}
|
|
36585
|
+
next();
|
|
36586
|
+
}, "localDevMiddleware");
|
|
36587
|
+
}
|
|
36588
|
+
__name(createLocalDevMiddleware, "createLocalDevMiddleware");
|
|
36589
|
+
|
|
36549
36590
|
// src/setup.ts
|
|
36550
36591
|
var DEFAULT_BODY_LIMIT = "1mb";
|
|
36551
36592
|
var defaultPerms = {
|
|
@@ -36563,6 +36604,9 @@ async function configureApp(app, perms = defaultPerms) {
|
|
|
36563
36604
|
extended: true
|
|
36564
36605
|
}));
|
|
36565
36606
|
app.use((0, import_cookie_parser.default)());
|
|
36607
|
+
if (isLocalDev()) {
|
|
36608
|
+
app.use(createLocalDevMiddleware());
|
|
36609
|
+
}
|
|
36566
36610
|
app.use(createLegacyPathRedirectMiddleware());
|
|
36567
36611
|
const globalPrefix = process.env.CLIENT_BASE_PATH ?? "";
|
|
36568
36612
|
app.setGlobalPrefix(globalPrefix);
|
|
@@ -36614,6 +36658,8 @@ var import_nestjs_authzpaas2 = require("@lark-apaas/nestjs-authzpaas");
|
|
|
36614
36658
|
ViewContextMiddleware,
|
|
36615
36659
|
configureApp,
|
|
36616
36660
|
createLegacyPathRedirectMiddleware,
|
|
36661
|
+
createLocalDevMiddleware,
|
|
36662
|
+
isLocalDev,
|
|
36617
36663
|
...require("@lark-apaas/nestjs-authnpaas"),
|
|
36618
36664
|
...require("@lark-apaas/nestjs-capability"),
|
|
36619
36665
|
...require("@lark-apaas/nestjs-datapaas"),
|
package/dist/index.d.cts
CHANGED
|
@@ -6,7 +6,7 @@ import { NestExpressApplication } from '@nestjs/platform-express';
|
|
|
6
6
|
import { PlatformHttpClient, RequestContextService, ObservableService } from '@lark-apaas/nestjs-common';
|
|
7
7
|
export { AutoTrace } from '@lark-apaas/nestjs-common';
|
|
8
8
|
export { DevToolsModule, DevToolsOptions, DevToolsV2Module, DevToolsV2Options } from '@lark-apaas/nestjs-openapi-devtools';
|
|
9
|
-
import { Request, Response, NextFunction } from 'express';
|
|
9
|
+
import { Request, Response, NextFunction, RequestHandler } from 'express';
|
|
10
10
|
import * as _lark_apaas_file_service from '@lark-apaas/file-service';
|
|
11
11
|
import { FileBody, UploadOptions, FileDownloadBuilder, SearchOptions } from '@lark-apaas/file-service';
|
|
12
12
|
export * from '@lark-apaas/file-service';
|
|
@@ -221,6 +221,9 @@ declare class ViewContextMiddleware implements NestMiddleware {
|
|
|
221
221
|
*/
|
|
222
222
|
declare function createLegacyPathRedirectMiddleware(): (req: Request, res: Response, next: NextFunction) => void;
|
|
223
223
|
|
|
224
|
+
declare function isLocalDev(): boolean;
|
|
225
|
+
declare function createLocalDevMiddleware(): RequestHandler;
|
|
226
|
+
|
|
224
227
|
/**
|
|
225
228
|
* API 404 响应格式
|
|
226
229
|
*/
|
|
@@ -402,4 +405,4 @@ declare class PlatformHttpClientService {
|
|
|
402
405
|
private registerInterceptorsForClient;
|
|
403
406
|
}
|
|
404
407
|
|
|
405
|
-
export { type ApiNotFoundResponse, CsrfMiddleware, CsrfTokenMiddleware, FileService, HtmlHotUpdateModule, HtmlHotUpdateService, type PlatformHttpClientOptions, PlatformHttpClientService, PlatformModule, type PlatformModuleOptions, StaticModule, UserContextMiddleware, ViewContextMiddleware, configureApp, createLegacyPathRedirectMiddleware };
|
|
408
|
+
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
|
@@ -6,7 +6,7 @@ import { NestExpressApplication } from '@nestjs/platform-express';
|
|
|
6
6
|
import { PlatformHttpClient, RequestContextService, ObservableService } from '@lark-apaas/nestjs-common';
|
|
7
7
|
export { AutoTrace } from '@lark-apaas/nestjs-common';
|
|
8
8
|
export { DevToolsModule, DevToolsOptions, DevToolsV2Module, DevToolsV2Options } from '@lark-apaas/nestjs-openapi-devtools';
|
|
9
|
-
import { Request, Response, NextFunction } from 'express';
|
|
9
|
+
import { Request, Response, NextFunction, RequestHandler } from 'express';
|
|
10
10
|
import * as _lark_apaas_file_service from '@lark-apaas/file-service';
|
|
11
11
|
import { FileBody, UploadOptions, FileDownloadBuilder, SearchOptions } from '@lark-apaas/file-service';
|
|
12
12
|
export * from '@lark-apaas/file-service';
|
|
@@ -221,6 +221,9 @@ declare class ViewContextMiddleware implements NestMiddleware {
|
|
|
221
221
|
*/
|
|
222
222
|
declare function createLegacyPathRedirectMiddleware(): (req: Request, res: Response, next: NextFunction) => void;
|
|
223
223
|
|
|
224
|
+
declare function isLocalDev(): boolean;
|
|
225
|
+
declare function createLocalDevMiddleware(): RequestHandler;
|
|
226
|
+
|
|
224
227
|
/**
|
|
225
228
|
* API 404 响应格式
|
|
226
229
|
*/
|
|
@@ -402,4 +405,4 @@ declare class PlatformHttpClientService {
|
|
|
402
405
|
private registerInterceptorsForClient;
|
|
403
406
|
}
|
|
404
407
|
|
|
405
|
-
export { type ApiNotFoundResponse, CsrfMiddleware, CsrfTokenMiddleware, FileService, HtmlHotUpdateModule, HtmlHotUpdateService, type PlatformHttpClientOptions, PlatformHttpClientService, PlatformModule, type PlatformModuleOptions, StaticModule, UserContextMiddleware, ViewContextMiddleware, configureApp, createLegacyPathRedirectMiddleware };
|
|
408
|
+
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
|
@@ -36519,6 +36519,45 @@ function createLegacyPathRedirectMiddleware() {
|
|
|
36519
36519
|
}
|
|
36520
36520
|
__name(createLegacyPathRedirectMiddleware, "createLegacyPathRedirectMiddleware");
|
|
36521
36521
|
|
|
36522
|
+
// src/middlewares/local-dev/index.ts
|
|
36523
|
+
var CSRF_COOKIE_KEY = "suda-csrf-token";
|
|
36524
|
+
var CSRF_HEADER_KEY = "x-suda-csrf-token";
|
|
36525
|
+
var WEBUSER_HEADER_KEY = "x-larkgw-suda-webuser";
|
|
36526
|
+
function isLocalDev() {
|
|
36527
|
+
if (process.env.NODE_ENV === "production") return false;
|
|
36528
|
+
const flag = process.env.MIAODA_LOCAL_DEV;
|
|
36529
|
+
return flag === "1" || flag === "true";
|
|
36530
|
+
}
|
|
36531
|
+
__name(isLocalDev, "isLocalDev");
|
|
36532
|
+
function extractCsrfFromCookie(cookieHeader) {
|
|
36533
|
+
if (!cookieHeader) return void 0;
|
|
36534
|
+
const re = new RegExp(`(?:^|;\\s*)${CSRF_COOKIE_KEY}=([^;]+)`);
|
|
36535
|
+
const m = cookieHeader.match(re);
|
|
36536
|
+
return m?.[1];
|
|
36537
|
+
}
|
|
36538
|
+
__name(extractCsrfFromCookie, "extractCsrfFromCookie");
|
|
36539
|
+
function createLocalDevMiddleware() {
|
|
36540
|
+
let webUserHeader = "";
|
|
36541
|
+
if (process.env.SUDA_WEBUSER) {
|
|
36542
|
+
try {
|
|
36543
|
+
webUserHeader = encodeURIComponent(JSON.stringify(JSON.parse(process.env.SUDA_WEBUSER)));
|
|
36544
|
+
} catch {
|
|
36545
|
+
}
|
|
36546
|
+
}
|
|
36547
|
+
return /* @__PURE__ */ __name(function localDevMiddleware(req, _res, next) {
|
|
36548
|
+
const headers = req.headers;
|
|
36549
|
+
if (!headers[CSRF_HEADER_KEY]) {
|
|
36550
|
+
const token = extractCsrfFromCookie(req.headers.cookie);
|
|
36551
|
+
if (token) headers[CSRF_HEADER_KEY] = token;
|
|
36552
|
+
}
|
|
36553
|
+
if (webUserHeader && !headers[WEBUSER_HEADER_KEY]) {
|
|
36554
|
+
headers[WEBUSER_HEADER_KEY] = webUserHeader;
|
|
36555
|
+
}
|
|
36556
|
+
next();
|
|
36557
|
+
}, "localDevMiddleware");
|
|
36558
|
+
}
|
|
36559
|
+
__name(createLocalDevMiddleware, "createLocalDevMiddleware");
|
|
36560
|
+
|
|
36522
36561
|
// src/setup.ts
|
|
36523
36562
|
var DEFAULT_BODY_LIMIT = "1mb";
|
|
36524
36563
|
var defaultPerms = {
|
|
@@ -36536,6 +36575,9 @@ async function configureApp(app, perms = defaultPerms) {
|
|
|
36536
36575
|
extended: true
|
|
36537
36576
|
}));
|
|
36538
36577
|
app.use(cookieParser());
|
|
36578
|
+
if (isLocalDev()) {
|
|
36579
|
+
app.use(createLocalDevMiddleware());
|
|
36580
|
+
}
|
|
36539
36581
|
app.use(createLegacyPathRedirectMiddleware());
|
|
36540
36582
|
const globalPrefix = process.env.CLIENT_BASE_PATH ?? "";
|
|
36541
36583
|
app.setGlobalPrefix(globalPrefix);
|
|
@@ -36585,7 +36627,9 @@ export {
|
|
|
36585
36627
|
UserContextMiddleware,
|
|
36586
36628
|
ViewContextMiddleware,
|
|
36587
36629
|
configureApp,
|
|
36588
|
-
createLegacyPathRedirectMiddleware
|
|
36630
|
+
createLegacyPathRedirectMiddleware,
|
|
36631
|
+
createLocalDevMiddleware,
|
|
36632
|
+
isLocalDev
|
|
36589
36633
|
};
|
|
36590
36634
|
/*! Bundled license information:
|
|
36591
36635
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lark-apaas/fullstack-nestjs-core",
|
|
3
|
-
"version": "1.1.50-alpha.
|
|
3
|
+
"version": "1.1.50-alpha.8",
|
|
4
4
|
"description": "FullStack Nestjs Core",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -41,13 +41,13 @@
|
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@lark-apaas/file-service": "^0.1.2",
|
|
43
43
|
"@lark-apaas/http-client": "^0.1.6",
|
|
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-logger": "1.0.
|
|
50
|
-
"@lark-apaas/nestjs-observable": "0.0.
|
|
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-logger": "^1.0.16",
|
|
50
|
+
"@lark-apaas/nestjs-observable": "^0.0.11",
|
|
51
51
|
"@lark-apaas/nestjs-openapi-devtools": "^1.0.10",
|
|
52
52
|
"@lark-apaas/nestjs-trigger": "^0.0.3",
|
|
53
53
|
"@nestjs/axios": "^4.0.1",
|