diff --git a/package-lock.json b/package-lock.json index c2db3c81a0..ad0175c132 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "express": "^4.17.1", "fs-extra": "^9.1.0", "less-api": "^1.3.5", + "lodash": "^4.17.21", "log4js": "^6.3.0", "moment": "^2.29.1", "mongodb": "^3.6.3", @@ -2018,8 +2019,7 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash.clonedeep": { "version": "4.5.0", @@ -5224,8 +5224,7 @@ "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lodash.clonedeep": { "version": "4.5.0", diff --git a/package.json b/package.json index 8e1e603127..544d9432d9 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "express": "^4.17.1", "fs-extra": "^9.1.0", "less-api": "^1.3.5", + "lodash": "^4.17.21", "log4js": "^6.3.0", "moment": "^2.29.1", "mongodb": "^3.6.3", diff --git a/src/router/function/index.ts b/src/router/function/index.ts index ec1da1cdba..0d4640a31b 100644 --- a/src/router/function/index.ts +++ b/src/router/function/index.ts @@ -61,11 +61,7 @@ async function invokeFunction(req: Request, res: Response) { query: req.query, body: req.body, auth: req['auth'], - less: { - database: () => db, - storage: (namespace: string) => new LocalFileStorage(Config.LOCAL_STORAGE_ROOT_PATH, namespace), - fetch: request - } + less: createLessSdk() }) // 函数执行耗时 @@ -110,4 +106,21 @@ async function invokeFunction(req: Request, res: Response) { time_usage: debug ? time_usage : undefined, logs: debug ? result.logs : undefined }) +} + +function createLessSdk() { + const less = { + database: () => db, + storage: (namespace: string) => new LocalFileStorage(Config.LOCAL_STORAGE_ROOT_PATH, namespace), + fetch: request, + crypto: require('crypto'), + path: require('path'), + qs: require('querystring'), + url: require('url'), + Buffer: Buffer, + assert: require('assert'), + lodash: require('lodash') + } + + return less } \ No newline at end of file