@eggjs/tegg-dal-plugin 3.37.1 → 3.38.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/app.d.ts +1 -0
- package/app.js +7 -1
- package/lib/TransactionPrototypeHook.d.ts +8 -0
- package/lib/TransactionPrototypeHook.js +60 -0
- package/lib/TransactionalAOP.d.ts +11 -0
- package/lib/TransactionalAOP.js +32 -0
- package/package.json +6 -5
package/app.d.ts
CHANGED
package/app.js
CHANGED
|
@@ -6,6 +6,7 @@ const MysqlDataSourceManager_1 = require("./lib/MysqlDataSourceManager");
|
|
|
6
6
|
const SqlMapManager_1 = require("./lib/SqlMapManager");
|
|
7
7
|
const TableModelManager_1 = require("./lib/TableModelManager");
|
|
8
8
|
const DalModuleLoadUnitHook_1 = require("./lib/DalModuleLoadUnitHook");
|
|
9
|
+
const TransactionPrototypeHook_1 = require("./lib/TransactionPrototypeHook");
|
|
9
10
|
class ControllerAppBootHook {
|
|
10
11
|
constructor(app) {
|
|
11
12
|
this.app = app;
|
|
@@ -13,7 +14,9 @@ class ControllerAppBootHook {
|
|
|
13
14
|
configWillLoad() {
|
|
14
15
|
this.dalModuleLoadUnitHook = new DalModuleLoadUnitHook_1.DalModuleLoadUnitHook(this.app.config.env, this.app.moduleConfigs);
|
|
15
16
|
this.dalTableEggPrototypeHook = new DalTableEggPrototypeHook_1.DalTableEggPrototypeHook(this.app.logger);
|
|
17
|
+
this.transactionPrototypeHook = new TransactionPrototypeHook_1.TransactionPrototypeHook(this.app.moduleConfigs, this.app.logger);
|
|
16
18
|
this.app.eggPrototypeLifecycleUtil.registerLifecycle(this.dalTableEggPrototypeHook);
|
|
19
|
+
this.app.eggPrototypeLifecycleUtil.registerLifecycle(this.transactionPrototypeHook);
|
|
17
20
|
this.app.loadUnitLifecycleUtil.registerLifecycle(this.dalModuleLoadUnitHook);
|
|
18
21
|
}
|
|
19
22
|
async beforeClose() {
|
|
@@ -23,10 +26,13 @@ class ControllerAppBootHook {
|
|
|
23
26
|
if (this.dalModuleLoadUnitHook) {
|
|
24
27
|
this.app.loadUnitLifecycleUtil.deleteLifecycle(this.dalModuleLoadUnitHook);
|
|
25
28
|
}
|
|
29
|
+
if (this.transactionPrototypeHook) {
|
|
30
|
+
this.app.eggPrototypeLifecycleUtil.deleteLifecycle(this.transactionPrototypeHook);
|
|
31
|
+
}
|
|
26
32
|
MysqlDataSourceManager_1.MysqlDataSourceManager.instance.clear();
|
|
27
33
|
SqlMapManager_1.SqlMapManager.instance.clear();
|
|
28
34
|
TableModelManager_1.TableModelManager.instance.clear();
|
|
29
35
|
}
|
|
30
36
|
}
|
|
31
37
|
exports.default = ControllerAppBootHook;
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw0Q0FBNEM7O0FBRzVDLDZFQUEwRTtBQUMxRSx5RUFBc0U7QUFDdEUsdURBQW9EO0FBQ3BELCtEQUE0RDtBQUM1RCx1RUFBb0U7QUFDcEUsNkVBQTBFO0FBRTFFLE1BQXFCLHFCQUFxQjtJQU14QyxZQUFZLEdBQWdCO1FBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksNkNBQXFCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEcsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksbURBQXdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxtREFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RHLElBQUksQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVztRQUNmLElBQUksSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDcEYsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDcEYsQ0FBQztRQUNELCtDQUFzQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4Qyw2QkFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMvQixxQ0FBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQztDQUNGO0FBakNELHdDQWlDQyJ9
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { LifecycleHook, ModuleConfigHolder, Logger } from '@eggjs/tegg';
|
|
2
|
+
import { EggPrototype, EggPrototypeLifecycleContext } from '@eggjs/tegg-metadata';
|
|
3
|
+
export declare class TransactionPrototypeHook implements LifecycleHook<EggPrototypeLifecycleContext, EggPrototype> {
|
|
4
|
+
private readonly moduleConfigs;
|
|
5
|
+
private readonly logger;
|
|
6
|
+
constructor(moduleConfigs: Record<string, ModuleConfigHolder>, logger: Logger);
|
|
7
|
+
preCreate(ctx: EggPrototypeLifecycleContext): Promise<void>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.TransactionPrototypeHook = void 0;
|
|
7
|
+
const assert_1 = __importDefault(require("assert"));
|
|
8
|
+
const transaction_1 = require("@eggjs/tegg/transaction");
|
|
9
|
+
const aop_1 = require("@eggjs/tegg/aop");
|
|
10
|
+
const TransactionalAOP_1 = require("./TransactionalAOP");
|
|
11
|
+
const MysqlDataSourceManager_1 = require("./MysqlDataSourceManager");
|
|
12
|
+
class TransactionPrototypeHook {
|
|
13
|
+
constructor(moduleConfigs, logger) {
|
|
14
|
+
this.moduleConfigs = moduleConfigs;
|
|
15
|
+
this.logger = logger;
|
|
16
|
+
}
|
|
17
|
+
async preCreate(ctx) {
|
|
18
|
+
var _a, _b;
|
|
19
|
+
const builder = new transaction_1.TransactionMetaBuilder(ctx.clazz);
|
|
20
|
+
const transactionMetadataList = builder.build();
|
|
21
|
+
if (transactionMetadataList.length < 1) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const moduleName = ctx.loadUnit.name;
|
|
25
|
+
for (const transactionMetadata of transactionMetadataList) {
|
|
26
|
+
const clazzName = `${moduleName}.${ctx.clazz.name}.${String(transactionMetadata.method)}`;
|
|
27
|
+
const datasourceConfigs = ((_b = (_a = this.moduleConfigs[moduleName]) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.dataSource) || {};
|
|
28
|
+
let datasourceName;
|
|
29
|
+
if (transactionMetadata.datasourceName) {
|
|
30
|
+
(0, assert_1.default)(datasourceConfigs[transactionMetadata.datasourceName], `method ${clazzName} specified datasource ${transactionMetadata.datasourceName} not exists`);
|
|
31
|
+
datasourceName = transactionMetadata.datasourceName;
|
|
32
|
+
this.logger.info(`use datasource [${transactionMetadata.datasourceName}] for class ${clazzName}`);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
const dataSources = Object.keys(datasourceConfigs);
|
|
36
|
+
if (dataSources.length === 1) {
|
|
37
|
+
datasourceName = dataSources[0];
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
throw new Error(`method ${clazzName} not specified datasource, module ${moduleName} has multi datasource, should specify datasource name`);
|
|
41
|
+
}
|
|
42
|
+
this.logger.info(`use default datasource ${dataSources[0]} for class ${clazzName}`);
|
|
43
|
+
}
|
|
44
|
+
const adviceParams = {
|
|
45
|
+
propagation: transactionMetadata.propagation,
|
|
46
|
+
dataSourceGetter: () => {
|
|
47
|
+
const mysqlDataSource = MysqlDataSourceManager_1.MysqlDataSourceManager.instance.get(moduleName, datasourceName);
|
|
48
|
+
if (!mysqlDataSource) {
|
|
49
|
+
throw new Error(`method ${clazzName} not found datasource ${datasourceName}`);
|
|
50
|
+
}
|
|
51
|
+
return mysqlDataSource;
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
(0, assert_1.default)(adviceParams.propagation === transaction_1.PropagationType.REQUIRED, 'Transactional propagation only support required for now');
|
|
55
|
+
(0, aop_1.Pointcut)(TransactionalAOP_1.TransactionalAOP, { adviceParams })(ctx.clazz.prototype, transactionMetadata.method);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.TransactionPrototypeHook = TransactionPrototypeHook;
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25Qcm90b3R5cGVIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiVHJhbnNhY3Rpb25Qcm90b3R5cGVIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUc1Qix5REFBa0Y7QUFDbEYseUNBQTJDO0FBQzNDLHlEQUEyRTtBQUMzRSxxRUFBa0U7QUFFbEUsTUFBYSx3QkFBd0I7SUFJbkMsWUFBWSxhQUFpRCxFQUFFLE1BQWM7UUFDM0UsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVNLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBaUM7O1FBQ3RELE1BQU0sT0FBTyxHQUFHLElBQUksb0NBQXNCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELE1BQU0sdUJBQXVCLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hELElBQUksdUJBQXVCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDckMsS0FBSyxNQUFNLG1CQUFtQixJQUFJLHVCQUF1QixFQUFFLENBQUM7WUFDMUQsTUFBTSxTQUFTLEdBQUcsR0FBRyxVQUFVLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUYsTUFBTSxpQkFBaUIsR0FBRyxDQUFBLE1BQUMsTUFBQSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQywwQ0FBRSxNQUFjLDBDQUFFLFVBQVUsS0FBSSxFQUFFLENBQUM7WUFFNUYsSUFBSSxjQUFzQixDQUFDO1lBQzNCLElBQUksbUJBQW1CLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZDLElBQUEsZ0JBQU0sRUFBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsRUFBRSxVQUFVLFNBQVMseUJBQXlCLG1CQUFtQixDQUFDLGNBQWMsYUFBYSxDQUFDLENBQUM7Z0JBQzNKLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQyxjQUFjLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixtQkFBbUIsQ0FBQyxjQUFjLGVBQWUsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUNwRyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2dCQUNuRCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQzdCLGNBQWMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7cUJBQU0sQ0FBQztvQkFDTixNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsU0FBUyxxQ0FBcUMsVUFBVSx1REFBdUQsQ0FBQyxDQUFDO2dCQUM3SSxDQUFDO2dCQUNELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDBCQUEwQixXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUN0RixDQUFDO1lBQ0QsTUFBTSxZQUFZLEdBQXdCO2dCQUN4QyxXQUFXLEVBQUUsbUJBQW1CLENBQUMsV0FBVztnQkFDNUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO29CQUNyQixNQUFNLGVBQWUsR0FBRywrQ0FBc0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztvQkFDeEYsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO3dCQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsU0FBUyx5QkFBeUIsY0FBYyxFQUFFLENBQUMsQ0FBQztvQkFDaEYsQ0FBQztvQkFDRCxPQUFPLGVBQWUsQ0FBQztnQkFDekIsQ0FBQzthQUNGLENBQUM7WUFDRixJQUFBLGdCQUFNLEVBQUMsWUFBWSxDQUFDLFdBQVcsS0FBSyw2QkFBZSxDQUFDLFFBQVEsRUFBRSx5REFBeUQsQ0FBQyxDQUFDO1lBQ3pILElBQUEsY0FBUSxFQUFDLG1DQUFnQixFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBRSxHQUFHLENBQUMsS0FBYSxDQUFDLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RyxDQUFDO0lBQ0gsQ0FBQztDQUVGO0FBakRELDREQWlEQyJ9
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AdviceContext, IAdvice } from '@eggjs/tegg/aop';
|
|
2
|
+
import { EggProtoImplClass } from '@eggjs/tegg';
|
|
3
|
+
import { PropagationType } from '@eggjs/tegg/transaction';
|
|
4
|
+
import { MysqlDataSource } from '@eggjs/dal-runtime';
|
|
5
|
+
export interface TransactionalParams {
|
|
6
|
+
propagation: PropagationType;
|
|
7
|
+
dataSourceGetter: () => MysqlDataSource;
|
|
8
|
+
}
|
|
9
|
+
export declare class TransactionalAOP implements IAdvice<EggProtoImplClass, TransactionalParams> {
|
|
10
|
+
around(ctx: AdviceContext<EggProtoImplClass, TransactionalParams>, next: () => Promise<any>): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.TransactionalAOP = void 0;
|
|
13
|
+
const aop_1 = require("@eggjs/tegg/aop");
|
|
14
|
+
const tegg_1 = require("@eggjs/tegg");
|
|
15
|
+
const transaction_1 = require("@eggjs/tegg/transaction");
|
|
16
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
17
|
+
let TransactionalAOP = class TransactionalAOP {
|
|
18
|
+
async around(ctx, next) {
|
|
19
|
+
const { propagation, dataSourceGetter } = ctx.adviceParams;
|
|
20
|
+
const dataSource = dataSourceGetter();
|
|
21
|
+
(0, node_assert_1.default)(propagation === transaction_1.PropagationType.REQUIRED, '事务注解目前只支持 REQUIRED 机制');
|
|
22
|
+
return await dataSource.beginTransactionScope(next);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.TransactionalAOP = TransactionalAOP;
|
|
26
|
+
exports.TransactionalAOP = TransactionalAOP = __decorate([
|
|
27
|
+
(0, aop_1.Advice)({
|
|
28
|
+
accessLevel: tegg_1.AccessLevel.PUBLIC,
|
|
29
|
+
initType: tegg_1.ObjectInitType.SINGLETON,
|
|
30
|
+
})
|
|
31
|
+
], TransactionalAOP);
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25hbEFPUC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlRyYW5zYWN0aW9uYWxBT1AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEseUNBQWlFO0FBQ2pFLHNDQUE2RTtBQUM3RSx5REFBMEQ7QUFDMUQsOERBQWlDO0FBWTFCLElBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWdCO0lBQ3BCLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBMEQsRUFBRSxJQUF3QjtRQUN0RyxNQUFNLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLEdBQUcsR0FBRyxDQUFDLFlBQWEsQ0FBQztRQUM1RCxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3RDLElBQUEscUJBQU0sRUFBQyxXQUFXLEtBQUssNkJBQWUsQ0FBQyxRQUFRLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQUMxRSxPQUFPLE1BQU0sVUFBVSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRixDQUFBO0FBUFksNENBQWdCOzJCQUFoQixnQkFBZ0I7SUFKNUIsSUFBQSxZQUFNLEVBQUM7UUFDTixXQUFXLEVBQUUsa0JBQVcsQ0FBQyxNQUFNO1FBQy9CLFFBQVEsRUFBRSxxQkFBYyxDQUFDLFNBQVM7S0FDbkMsQ0FBQztHQUNXLGdCQUFnQixDQU81QiJ9
|
package/package.json
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"eggModule": {
|
|
11
11
|
"name": "teggDal"
|
|
12
12
|
},
|
|
13
|
-
"version": "3.
|
|
13
|
+
"version": "3.38.0",
|
|
14
14
|
"description": "dal plugin for egg",
|
|
15
15
|
"keywords": [
|
|
16
16
|
"egg",
|
|
@@ -50,11 +50,12 @@
|
|
|
50
50
|
"node": ">=14.0.0"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@eggjs/dal-runtime": "^3.
|
|
53
|
+
"@eggjs/dal-runtime": "^3.38.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@eggjs/tegg-
|
|
57
|
-
"@eggjs/tegg-
|
|
56
|
+
"@eggjs/tegg-aop-plugin": "^3.38.0",
|
|
57
|
+
"@eggjs/tegg-config": "^3.38.0",
|
|
58
|
+
"@eggjs/tegg-plugin": "^3.38.0",
|
|
58
59
|
"@types/mocha": "^10.0.1",
|
|
59
60
|
"@types/node": "^20.2.4",
|
|
60
61
|
"cross-env": "^7.0.3",
|
|
@@ -69,5 +70,5 @@
|
|
|
69
70
|
"publishConfig": {
|
|
70
71
|
"access": "public"
|
|
71
72
|
},
|
|
72
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "8411e0707b00e732b94cfbf181a25b728a3b81fc"
|
|
73
74
|
}
|