@meadmin/core 1.0.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.
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ import { run } from 'mwtsc';
3
+ import { check } from 'mwtsc/lib/version/check.js';
4
+ import { rmSync } from 'node:fs';
5
+ import { resolve } from 'node:path';
6
+ const tempCache = resolve(process.cwd(), 'node_modules/.meadmin/temp/');
7
+ rmSync(tempCache, { force: true, recursive: true });
8
+ check(run);
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env node
2
+ import { spawn } from 'child_process';
3
+ // eslint-disable-next-line node/no-unpublished-import
4
+ import { run } from 'mwtsc';
5
+ import { check } from 'mwtsc/lib/version/check.js';
6
+ check(() => {
7
+ const isWin = process.platform === 'win32';
8
+ const cwd = process.cwd();
9
+ // eslint-disable-next-line prefer-const
10
+ let runMidway;
11
+ const watchPackageChild = spawn(
12
+ 'lerna',
13
+ [
14
+ 'watch',
15
+ '--',
16
+ '"lerna run build --scope=%LERNA_PACKAGE_NAME% && echo package build success"',
17
+ ],
18
+ {
19
+ stdio: ['pipe', 'pipe', 'inherit'],
20
+ cwd: cwd,
21
+ shell: isWin,
22
+ }
23
+ );
24
+ // watchPackageChild.stdout.pipe(process.stdout);
25
+ watchPackageChild.stdout.on('data', data => {
26
+ const dataStr = data.toString('utf8');
27
+ const now = new Date();
28
+ console.log(
29
+ `[${now.getHours()}:${now.getMinutes()}:${now.getSeconds()}] ${dataStr}`
30
+ );
31
+ if (dataStr.trim() === 'package build success') {
32
+ runMidway.restart();
33
+ }
34
+ });
35
+ runMidway = run();
36
+ });
@@ -0,0 +1,7 @@
1
+ import { RouterService } from './service/router.service.js';
2
+ import * as koa from '@midwayjs/koa';
3
+ export declare class MeadminConfiguration {
4
+ routerService: RouterService;
5
+ app: koa.Application;
6
+ onReady(): Promise<void>;
7
+ }
@@ -0,0 +1,42 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { App, Configuration, Inject } from '@midwayjs/core';
11
+ import { RouterService } from './service/router.service.js';
12
+ import * as koa from '@midwayjs/koa';
13
+ import { GlobaleMiddleware } from './middleware/globale.middleware.js';
14
+ import { setApp } from './index.js';
15
+ let MeadminConfiguration = class MeadminConfiguration {
16
+ routerService;
17
+ app;
18
+ // onConfigLoad(){
19
+ // this.routerService.initControllerOption();
20
+ // }
21
+ async onReady() {
22
+ // TODO something1
23
+ setApp(this.app);
24
+ this.routerService.initControllerOption();
25
+ this.app.useMiddleware(GlobaleMiddleware);
26
+ }
27
+ };
28
+ __decorate([
29
+ Inject(),
30
+ __metadata("design:type", RouterService)
31
+ ], MeadminConfiguration.prototype, "routerService", void 0);
32
+ __decorate([
33
+ App(),
34
+ __metadata("design:type", Object)
35
+ ], MeadminConfiguration.prototype, "app", void 0);
36
+ MeadminConfiguration = __decorate([
37
+ Configuration({
38
+ namespace: 'meadmin',
39
+ })
40
+ ], MeadminConfiguration);
41
+ export { MeadminConfiguration };
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEtBQUssR0FBRyxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBSzdCLElBQU0sb0JBQW9CLEdBQTFCLE1BQU0sb0JBQW9CO0lBRS9CLGFBQWEsQ0FBZ0I7SUFHN0IsR0FBRyxDQUFrQjtJQUVyQixrQkFBa0I7SUFDbEIsK0NBQStDO0lBQy9DLElBQUk7SUFDSixLQUFLLENBQUMsT0FBTztRQUNYLGtCQUFrQjtRQUNsQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTVDLENBQUM7Q0FDRixDQUFBO0FBZkM7SUFEQyxNQUFNLEVBQUU7OEJBQ00sYUFBYTsyREFBQztBQUc3QjtJQURDLEdBQUcsRUFBRTs7aURBQ2U7QUFMVixvQkFBb0I7SUFIaEMsYUFBYSxDQUFDO1FBQ2IsU0FBUyxFQUFFLFNBQVM7S0FDckIsQ0FBQztHQUNXLG9CQUFvQixDQWlCaEMifQ==
@@ -0,0 +1,8 @@
1
+ import { Context, Application } from '@midwayjs/koa';
2
+ export { MeadminConfiguration as Configuration } from './configuration.js';
3
+ export * from './service/router.service.js';
4
+ export * from './middleware/globale.middleware.js';
5
+ export declare let ctx: null | Context;
6
+ export declare const setCtx: (context: Context) => void;
7
+ export declare let app: null | Application;
8
+ export declare const setApp: (application: Application) => void;
package/dist/index.js ADDED
@@ -0,0 +1,13 @@
1
+ export { MeadminConfiguration as Configuration } from './configuration.js';
2
+ 0;
3
+ export * from './service/router.service.js';
4
+ export * from './middleware/globale.middleware.js';
5
+ export let ctx = null;
6
+ export const setCtx = (context) => {
7
+ ctx = context;
8
+ };
9
+ export let app = null;
10
+ export const setApp = (application) => {
11
+ app = application;
12
+ };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG9CQUFvQixJQUFJLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQUEsQ0FBQyxDQUFBO0FBRTVFLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQW1CLElBQUksQ0FBQztBQUN0QyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxPQUFnQixFQUFFLEVBQUU7SUFDekMsR0FBRyxHQUFHLE9BQU8sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFDRixNQUFNLENBQUMsSUFBSSxHQUFHLEdBQXVCLElBQUksQ0FBQztBQUMxQyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxXQUF3QixFQUFFLEVBQUU7SUFDakQsR0FBRyxHQUFHLFdBQVcsQ0FBQztBQUNwQixDQUFDLENBQUMifQ==
@@ -0,0 +1,5 @@
1
+ import { IMiddleware, NextFunction } from '@midwayjs/core';
2
+ import { Context } from '@midwayjs/koa';
3
+ export declare class GlobaleMiddleware implements IMiddleware<Context, NextFunction> {
4
+ resolve(): (ctx: Context, next: NextFunction) => Promise<void>;
5
+ }
@@ -0,0 +1,23 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { setCtx } from '../index.js';
8
+ import { Middleware } from '@midwayjs/core';
9
+ //设置全局 ctx
10
+ let GlobaleMiddleware = class GlobaleMiddleware {
11
+ resolve() {
12
+ return async (ctx, next) => {
13
+ setCtx(ctx);
14
+ await next();
15
+ setCtx(null);
16
+ };
17
+ }
18
+ };
19
+ GlobaleMiddleware = __decorate([
20
+ Middleware()
21
+ ], GlobaleMiddleware);
22
+ export { GlobaleMiddleware };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsZS5taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21pZGRsZXdhcmUvZ2xvYmFsZS5taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckMsT0FBTyxFQUFlLFVBQVUsRUFBZ0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxVQUFVO0FBRUgsSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBaUI7SUFDNUIsT0FBTztRQUNMLE9BQU8sS0FBSyxFQUFFLEdBQVksRUFBRSxJQUFrQixFQUFFLEVBQUU7WUFDaEQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ1osTUFBTSxJQUFJLEVBQUUsQ0FBQztZQUNiLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNmLENBQUMsQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFBO0FBUlksaUJBQWlCO0lBRDdCLFVBQVUsRUFBRTtHQUNBLGlCQUFpQixDQVE3QiJ9
@@ -0,0 +1,6 @@
1
+ import { ControllerOption } from '@midwayjs/core';
2
+ export declare class RouterService {
3
+ protected routerOptionsMerged: Map<ControllerOption, boolean>;
4
+ protected mergeControllerOption(controllerOption: ControllerOption, controllerClz: Record<string, unknown>): any;
5
+ initControllerOption(): void;
6
+ }
@@ -0,0 +1,48 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ /**
8
+ * 根据 controller 继承关系 递归合成Controller装饰器的path
9
+ * 从第一个prefix以/开头的祖级开始合并controller的prefix和routerOptions,如果prefix 以/开头,则不合并prefix和routerOptions。
10
+ */
11
+ import { merge } from '../util/index.js';
12
+ import { CONTROLLER_KEY, getClassMetadata, listModule, Provide, Scope, ScopeEnum, } from '@midwayjs/core';
13
+ let RouterService = class RouterService {
14
+ routerOptionsMerged = new Map();
15
+ //递归合并@Controller装饰器的父类参数到子类
16
+ mergeControllerOption(controllerOption, controllerClz) {
17
+ if (this.routerOptionsMerged.get(controllerOption) !== true) {
18
+ const prototype = Object.getPrototypeOf(controllerClz);
19
+ const parentOption = getClassMetadata(CONTROLLER_KEY, prototype);
20
+ if (parentOption) {
21
+ if (!controllerOption.prefix.startsWith('/')) {
22
+ controllerOption.prefix = (parentOption.prefix +
23
+ '/' +
24
+ controllerOption.prefix).replace(/\/\//g, '/');
25
+ if (controllerOption.routerOptions && parentOption.routerOptions) {
26
+ controllerOption.routerOptions = merge(parentOption.routerOptions, controllerOption.routerOptions);
27
+ }
28
+ }
29
+ return this.mergeControllerOption(controllerOption, prototype);
30
+ }
31
+ this.routerOptionsMerged.set(controllerOption, true);
32
+ }
33
+ return controllerOption;
34
+ }
35
+ //批量设置@controller装饰器参数
36
+ initControllerOption() {
37
+ const controllerModules = listModule(CONTROLLER_KEY);
38
+ for (const module of controllerModules) {
39
+ this.mergeControllerOption(getClassMetadata(CONTROLLER_KEY, module), module);
40
+ }
41
+ }
42
+ };
43
+ RouterService = __decorate([
44
+ Provide(),
45
+ Scope(ScopeEnum.Singleton)
46
+ ], RouterService);
47
+ export { RouterService };
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZS9yb3V0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7O0dBR0c7QUFDSCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxFQUNMLGNBQWMsRUFFZCxnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLE9BQU8sRUFDUCxLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFJakIsSUFBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYTtJQUNkLG1CQUFtQixHQUFHLElBQUksR0FBRyxFQUE2QixDQUFDO0lBRXJFLDRCQUE0QjtJQUNsQixxQkFBcUIsQ0FDN0IsZ0JBQWtDLEVBQ2xDLGFBQXNDO1FBRXRDLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzVELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdkQsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ2pFLElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQzdDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUN4QixZQUFZLENBQUMsTUFBTTt3QkFDbkIsR0FBRzt3QkFDSCxnQkFBZ0IsQ0FBQyxNQUFNLENBQ3hCLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDeEIsSUFBSSxnQkFBZ0IsQ0FBQyxhQUFhLElBQUksWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDO3dCQUNqRSxnQkFBZ0IsQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUNwQyxZQUFZLENBQUMsYUFBYSxFQUMxQixnQkFBZ0IsQ0FBQyxhQUFhLENBQy9CLENBQUM7b0JBQ0osQ0FBQztnQkFDSCxDQUFDO2dCQUNELE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ2pFLENBQUM7WUFDRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7SUFFRCxzQkFBc0I7SUFDZixvQkFBb0I7UUFDekIsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckQsS0FBSyxNQUFNLE1BQU0sSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxxQkFBcUIsQ0FDeEIsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxFQUN4QyxNQUFNLENBQ1AsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQTFDWSxhQUFhO0lBRnpCLE9BQU8sRUFBRTtJQUNULEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO0dBQ2QsYUFBYSxDQTBDekIifQ==
@@ -0,0 +1 @@
1
+ export declare function merge(target: any, src: any): any;
@@ -0,0 +1,23 @@
1
+ import { mergeWith, cloneDeep } from 'lodash-es';
2
+ export function merge(target, src) {
3
+ if (!target) {
4
+ target = src;
5
+ src = null;
6
+ }
7
+ if (!target) {
8
+ return null;
9
+ }
10
+ if (Array.isArray(target)) {
11
+ return target.concat(src || []);
12
+ }
13
+ if (typeof target === 'object') {
14
+ const customizer = function (objValue, srcValue) {
15
+ if (Array.isArray(objValue)) {
16
+ return objValue.concat(srcValue);
17
+ }
18
+ };
19
+ return mergeWith(cloneDeep(target), cloneDeep(src), customizer);
20
+ }
21
+ throw new Error('can not merge meta that type of ' + typeof target);
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqRCxNQUFNLFVBQVUsS0FBSyxDQUFDLE1BQVcsRUFBRSxHQUFRO0lBQ3pDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDYixHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzFCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDL0IsTUFBTSxVQUFVLEdBQUcsVUFBVSxRQUFhLEVBQUUsUUFBYTtZQUN2RCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLENBQUM7UUFDSCxDQUFDLENBQUM7UUFDRixPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxHQUFHLE9BQU8sTUFBTSxDQUFDLENBQUM7QUFDdEUsQ0FBQyJ9
package/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export type * from './dist/index.d.ts';
2
+ export * from './dist/index.js';
package/package.json ADDED
@@ -0,0 +1,64 @@
1
+ {
2
+ "name": "@meadmin/core",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "typings": "index.d.ts",
8
+ "bin": {
9
+ "me-watchBootstrap": "bin/watchBootstrap.js",
10
+ "me-devBootstrap": "bin/devBootstrap.js"
11
+ },
12
+ "files": [
13
+ "dist/**/*.js",
14
+ "dist/**/*.d.ts",
15
+ "index.d.ts"
16
+ ],
17
+ "bugs": {
18
+ "url": "https://github.com/meadmin-cn/meadmin"
19
+ },
20
+ "author": "yuntian001",
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "https://github.com/meadmin-cn/meadmin"
24
+ },
25
+ "dependencies": {
26
+ "tsx": "^4.20.5"
27
+ },
28
+ "devDependencies": {
29
+ "@midwayjs/mock": "^3.20.11",
30
+ "@types/mocha": "^10.0.10",
31
+ "@types/node": "^16.18.126",
32
+ "c8": "^8.0.1",
33
+ "cross-env": "^7.0.3",
34
+ "lerna": "^8.2.3",
35
+ "lodash-es": "^4.17.21",
36
+ "mocha": "^10.8.2",
37
+ "prettier": "2.8.8",
38
+ "typescript": "^5.9.2"
39
+ },
40
+ "peerDependencies": {
41
+ "@midwayjs/bootstrap": ">=3.20.11 3.x",
42
+ "@midwayjs/core": ">=3.20.11 3.x",
43
+ "@midwayjs/info": ">=3.20.12 3.x",
44
+ "@midwayjs/koa": ">=3.20.12 3.x",
45
+ "@midwayjs/logger": ">=3.4.2 3.x",
46
+ "@midwayjs/validate": ">=3.20.12 3.x",
47
+ "mwts": ">=1.3.0 1.x",
48
+ "mwtsc": ">=1.15.2 1.x"
49
+ },
50
+ "engines": {
51
+ "node": ">=20.0.0"
52
+ },
53
+ "scripts": {
54
+ "start": "cross-env NODE_ENV=production node ./bootstrap.js",
55
+ "dev": "cross-env NODE_ENV=local mwtsc --watch --run @midwayjs/mock/app",
56
+ "test": "cross-env NODE_ENV=unittest TSX_TSCONFIG_PATH=./test/tsconfig.json mocha",
57
+ "cov": "cross-env c8 --all --reporter=text --reporter=lcovonly npm run test",
58
+ "lint": "mwts check",
59
+ "lint:fix": "mwts fix",
60
+ "ci": "npm run cov",
61
+ "build": "mwtsc --cleanOutDir"
62
+ },
63
+ "license": "MIT"
64
+ }