@eggjs/development 5.0.0-beta.20 → 5.0.0-beta.21

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/agent.d.ts CHANGED
@@ -1,11 +1,7 @@
1
- import { Agent, ILifecycleBoot } from "egg";
2
-
3
- //#region src/agent.d.ts
4
- declare class AgentBoot implements ILifecycleBoot {
5
- #private;
6
- constructor(agent: Agent);
7
- didLoad(): Promise<void>;
8
- serverDidReady(): Promise<void>;
1
+ import type { ILifecycleBoot, Agent } from 'egg';
2
+ export default class AgentBoot implements ILifecycleBoot {
3
+ #private;
4
+ constructor(agent: Agent);
5
+ didLoad(): Promise<void>;
6
+ serverDidReady(): Promise<void>;
9
7
  }
10
- //#endregion
11
- export { AgentBoot as default };
package/dist/agent.js CHANGED
@@ -1,80 +1,82 @@
1
- import { isTimingFile } from "./utils-QMNrER5x.js";
2
- import path from "node:path";
3
- import fs from "node:fs/promises";
4
- import debounce from "debounce";
5
- import multimatch from "multimatch";
6
- import { exists } from "utility";
7
-
8
- //#region src/agent.ts
9
- var AgentBoot = class {
10
- #agent;
11
- constructor(agent) {
12
- this.#agent = agent;
13
- }
14
- async didLoad() {
15
- const rundir = this.#agent.config.rundir;
16
- if (!await exists(rundir)) return;
17
- const files = await fs.readdir(rundir);
18
- for (const file of files) {
19
- if (!isTimingFile(file)) continue;
20
- await fs.rm(path.join(rundir, file), {
21
- force: true,
22
- recursive: true
23
- });
24
- }
25
- }
26
- async serverDidReady() {
27
- const agent = this.#agent;
28
- if (agent.options && Reflect.get(agent.options, "mode") === "single") return;
29
- const logger = agent.logger;
30
- const baseDir = agent.config.baseDir;
31
- const config = agent.config.development;
32
- let watchDirs = config.overrideDefault ? [] : [
33
- "app",
34
- "config",
35
- "mocks",
36
- "mocks_proxy",
37
- "app.js"
38
- ];
39
- watchDirs = watchDirs.concat(config.watchDirs).map((dir) => path.resolve(baseDir, dir));
40
- let ignoreReloadFileDirs = config.overrideIgnore ? [] : [
41
- "app/views",
42
- "app/view",
43
- "app/assets",
44
- "app/public",
45
- "app/web"
46
- ];
47
- ignoreReloadFileDirs = ignoreReloadFileDirs.concat(config.ignoreDirs).map((dir) => path.resolve(baseDir, dir));
48
- const reloadFile = debounce(function(info) {
49
- logger.warn(`[agent:development] reload worker because ${info.path} ${info.event}`);
50
- process.send({
51
- to: "master",
52
- action: "reload-worker"
53
- });
54
- }, 200);
55
- /**
56
- * reload app worker:
57
- * [AgentWorker] - on file change
58
- * |-> emit reload-worker
59
- * [Master] - receive reload-worker event
60
- * |-> TODO: Mark worker will die
61
- * |-> Fork new worker
62
- * |-> kill old worker
63
- *
64
- * @param {Object} info - changed fileInfo
65
- */
66
- agent.watcher.watch(watchDirs, (info) => {
67
- if (!config.reloadOnDebug) return;
68
- if (isAssetsDir(info.path) || info.isDirectory) return;
69
- if (config.reloadPattern && multimatch(info.path, config.reloadPattern).length === 0) return;
70
- reloadFile(info);
71
- });
72
- function isAssetsDir(filepath) {
73
- for (const ignorePath of ignoreReloadFileDirs) if (filepath.startsWith(ignorePath)) return true;
74
- return false;
75
- }
76
- }
77
- };
78
-
79
- //#endregion
80
- export { AgentBoot as default };
1
+ import path from 'node:path';
2
+ import fs from 'node:fs/promises';
3
+ import debounce from 'debounce';
4
+ import multimatch from 'multimatch';
5
+ import { exists } from 'utility';
6
+ import { isTimingFile } from "./utils.js";
7
+ export default class AgentBoot {
8
+ #agent;
9
+ constructor(agent) {
10
+ this.#agent = agent;
11
+ }
12
+ async didLoad() {
13
+ // clean all timing json
14
+ const rundir = this.#agent.config.rundir;
15
+ const stat = await exists(rundir);
16
+ if (!stat)
17
+ return;
18
+ const files = await fs.readdir(rundir);
19
+ for (const file of files) {
20
+ if (!isTimingFile(file))
21
+ continue;
22
+ await fs.rm(path.join(rundir, file), { force: true, recursive: true });
23
+ }
24
+ }
25
+ async serverDidReady() {
26
+ const agent = this.#agent;
27
+ // single process mode don't watch and reload
28
+ if (agent.options && Reflect.get(agent.options, 'mode') === 'single') {
29
+ return;
30
+ }
31
+ const logger = agent.logger;
32
+ const baseDir = agent.config.baseDir;
33
+ const config = agent.config.development;
34
+ let watchDirs = config.overrideDefault ? [] : ['app', 'config', 'mocks', 'mocks_proxy', 'app.js'];
35
+ watchDirs = watchDirs.concat(config.watchDirs).map(dir => path.resolve(baseDir, dir));
36
+ let ignoreReloadFileDirs = config.overrideIgnore
37
+ ? []
38
+ : ['app/views', 'app/view', 'app/assets', 'app/public', 'app/web'];
39
+ ignoreReloadFileDirs = ignoreReloadFileDirs.concat(config.ignoreDirs).map(dir => path.resolve(baseDir, dir));
40
+ const reloadFile = debounce(function (info) {
41
+ logger.warn(`[agent:development] reload worker because ${info.path} ${info.event}`);
42
+ process.send({
43
+ to: 'master',
44
+ action: 'reload-worker',
45
+ });
46
+ }, 200);
47
+ // watch dirs to reload worker, will debounce 200ms
48
+ /**
49
+ * reload app worker:
50
+ * [AgentWorker] - on file change
51
+ * |-> emit reload-worker
52
+ * [Master] - receive reload-worker event
53
+ * |-> TODO: Mark worker will die
54
+ * |-> Fork new worker
55
+ * |-> kill old worker
56
+ *
57
+ * @param {Object} info - changed fileInfo
58
+ */
59
+ agent.watcher.watch(watchDirs, (info) => {
60
+ if (!config.reloadOnDebug) {
61
+ return;
62
+ }
63
+ if (isAssetsDir(info.path) || info.isDirectory) {
64
+ return;
65
+ }
66
+ // don't reload if don't match
67
+ if (config.reloadPattern && multimatch(info.path, config.reloadPattern).length === 0) {
68
+ return;
69
+ }
70
+ reloadFile(info);
71
+ });
72
+ function isAssetsDir(filepath) {
73
+ for (const ignorePath of ignoreReloadFileDirs) {
74
+ if (filepath.startsWith(ignorePath)) {
75
+ return true;
76
+ }
77
+ }
78
+ return false;
79
+ }
80
+ }
81
+ }
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWxDLE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQztBQUNoQyxPQUFPLFVBQVUsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUdqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTFDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sU0FBUztJQUM1QixNQUFNLENBQVE7SUFFZCxZQUFZLEtBQVk7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsd0JBQXdCO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUN6QyxNQUFNLElBQUksR0FBRyxNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDbEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQUUsU0FBUztZQUNsQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FB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
@@ -1,6 +1,2 @@
1
- import { Application, MiddlewareFunc } from "egg";
2
-
3
- //#region src/app/middleware/egg_loader_trace.d.ts
4
- declare function createEggLoaderTraceMiddleware(_options: unknown, app: Application): MiddlewareFunc;
5
- //#endregion
6
- export { createEggLoaderTraceMiddleware as default };
1
+ import type { Application, MiddlewareFunc } from 'egg';
2
+ export default function createEggLoaderTraceMiddleware(_options: unknown, app: Application): MiddlewareFunc;
@@ -1,37 +1,40 @@
1
- import { isTimingFile } from "../../utils-QMNrER5x.js";
2
- import path from "node:path";
3
- import fs from "node:fs/promises";
4
- import { readJSON } from "utility";
5
-
6
- //#region src/app/middleware/egg_loader_trace.ts
7
- function createEggLoaderTraceMiddleware(_options, app) {
8
- return async (ctx, next) => {
9
- if (ctx.path !== "/__loader_trace__") return await next();
10
- const templatePath = path.join(import.meta.dirname, "loader_trace.html");
11
- const template = await fs.readFile(templatePath, "utf8");
12
- const data = await loadTimingData(app);
13
- ctx.body = template.replace("{{placeholder}}", JSON.stringify(data));
14
- };
1
+ import path from 'node:path';
2
+ import fs from 'node:fs/promises';
3
+ import { readJSON } from 'utility';
4
+ import { isTimingFile } from "../../utils.js";
5
+ export default function createEggLoaderTraceMiddleware(_options, app) {
6
+ return async (ctx, next) => {
7
+ if (ctx.path !== '/__loader_trace__') {
8
+ return await next();
9
+ }
10
+ const templatePath = path.join(import.meta.dirname, 'loader_trace.html');
11
+ const template = await fs.readFile(templatePath, 'utf8');
12
+ const data = await loadTimingData(app);
13
+ ctx.body = template.replace('{{placeholder}}', JSON.stringify(data));
14
+ };
15
15
  }
16
16
  async function loadTimingData(app) {
17
- const rundir = app.config.rundir;
18
- const files = await fs.readdir(rundir);
19
- const data = [];
20
- for (const file of files) {
21
- if (!isTimingFile(file)) continue;
22
- const json = await readJSON(path.join(rundir, file));
23
- const isAgent = file.startsWith("agent");
24
- for (const item of json) {
25
- if (isAgent) item.type = "agent";
26
- else item.type = `app_${item.pid}`;
27
- item.pid = String(item.pid);
28
- item.range = [item.start, item.end];
29
- item.title = `${item.type}(${item.index})`;
30
- data.push(item);
31
- }
32
- }
33
- return data;
17
+ const rundir = app.config.rundir;
18
+ const files = await fs.readdir(rundir);
19
+ const data = [];
20
+ for (const file of files) {
21
+ if (!isTimingFile(file))
22
+ continue;
23
+ const json = await readJSON(path.join(rundir, file));
24
+ const isAgent = file.startsWith('agent');
25
+ for (const item of json) {
26
+ if (isAgent) {
27
+ item.type = 'agent';
28
+ }
29
+ else {
30
+ item.type = `app_${item.pid}`;
31
+ }
32
+ item.pid = String(item.pid);
33
+ item.range = [item.start, item.end];
34
+ item.title = `${item.type}(${item.index})`;
35
+ data.push(item);
36
+ }
37
+ }
38
+ return data;
34
39
  }
35
-
36
- //#endregion
37
- export { createEggLoaderTraceMiddleware as default };
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWdnX2xvYWRlcl90cmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvbWlkZGxld2FyZS9lZ2dfbG9hZGVyX3RyYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVsQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBR25DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxNQUFNLENBQUMsT0FBTyxVQUFVLDhCQUE4QixDQUFDLFFBQWlCLEVBQUUsR0FBZ0I7SUFDeEYsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ3pCLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUN0QixDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sUUFBUSxHQUFHLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekQsTUFBTSxJQUFJLEdBQUcsTUFBTSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsR0FBRyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsS0FBSyxVQUFVLGNBQWMsQ0FBQyxHQUFnQjtJQUM1QyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNqQyxNQUFNLEtBQUssR0FBRyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsTUFBTSxJQUFJLEdBQWMsRUFBRSxDQUFDO0lBQzNCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFBRSxTQUFTO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDckQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3hCLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7WUFDdEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDaEMsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDO1lBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMifQ==
package/dist/app.d.ts CHANGED
@@ -1,10 +1,6 @@
1
- import { Application, ILifecycleBoot } from "egg";
2
-
3
- //#region src/app.d.ts
4
- declare class AppBoot implements ILifecycleBoot {
5
- #private;
6
- constructor(app: Application);
7
- configWillLoad(): Promise<void>;
1
+ import type { ILifecycleBoot, Application } from 'egg';
2
+ export default class AppBoot implements ILifecycleBoot {
3
+ #private;
4
+ constructor(app: Application);
5
+ configWillLoad(): Promise<void>;
8
6
  }
9
- //#endregion
10
- export { AppBoot as default };
package/dist/app.js CHANGED
@@ -1,14 +1,14 @@
1
- //#region src/app.ts
2
- var AppBoot = class {
3
- #app;
4
- constructor(app) {
5
- this.#app = app;
6
- if (app.config.development.fastReady) process.nextTick(() => this.#app.ready(true));
7
- }
8
- async configWillLoad() {
9
- this.#app.config.coreMiddleware.push("eggLoaderTrace");
10
- }
11
- };
12
-
13
- //#endregion
14
- export { AppBoot as default };
1
+ export default class AppBoot {
2
+ #app;
3
+ constructor(app) {
4
+ this.#app = app;
5
+ // if true, then don't need to wait at local development mode
6
+ if (app.config.development.fastReady) {
7
+ process.nextTick(() => this.#app.ready(true));
8
+ }
9
+ }
10
+ async configWillLoad() {
11
+ this.#app.config.coreMiddleware.push('eggLoaderTrace');
12
+ }
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsT0FBTyxPQUFPLE9BQU87SUFDMUIsSUFBSSxDQUFjO0lBRWxCLFlBQVksR0FBZ0I7UUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDaEIsNkRBQTZEO1FBQzdELElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDckMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDRiJ9
@@ -1,2 +1,34 @@
1
- import { DevelopmentConfig, _default } from "../config.default-Dd9dm297.js";
2
- export { DevelopmentConfig, _default as default };
1
+ export interface DevelopmentConfig {
2
+ /**
3
+ * dirs needed watch, when files under these change, application will reload, use relative path
4
+ */
5
+ watchDirs: string[];
6
+ /**
7
+ * dirs don't need watch, including subdirectories, use relative path
8
+ */
9
+ ignoreDirs: string[];
10
+ /**
11
+ * don't wait all plugins ready, default is false.
12
+ */
13
+ fastReady: boolean;
14
+ /**
15
+ * whether reload on debug, default is true.
16
+ */
17
+ reloadOnDebug: boolean;
18
+ /**
19
+ * whether override default watchDirs, default is false.
20
+ */
21
+ overrideDefault: boolean;
22
+ /**
23
+ * whether override default ignoreDirs, default is false.
24
+ */
25
+ overrideIgnore: boolean;
26
+ /**
27
+ * whether to reload, use https://github.com/sindresorhus/multimatch
28
+ */
29
+ reloadPattern?: string[] | string;
30
+ }
31
+ declare const _default: {
32
+ development: DevelopmentConfig;
33
+ };
34
+ export default _default;
@@ -1,13 +1,12 @@
1
- //#region src/config/config.default.ts
2
- var config_default_default = { development: {
3
- watchDirs: [],
4
- ignoreDirs: [],
5
- fastReady: false,
6
- reloadOnDebug: true,
7
- overrideDefault: false,
8
- overrideIgnore: false,
9
- reloadPattern: void 0
10
- } };
11
-
12
- //#endregion
13
- export { config_default_default as default };
1
+ export default {
2
+ development: {
3
+ watchDirs: [],
4
+ ignoreDirs: [],
5
+ fastReady: false,
6
+ reloadOnDebug: true,
7
+ overrideDefault: false,
8
+ overrideIgnore: false,
9
+ reloadPattern: undefined,
10
+ },
11
+ };
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStCQSxlQUFlO0lBQ2IsV0FBVyxFQUFFO1FBQ1gsU0FBUyxFQUFFLEVBQUU7UUFDYixVQUFVLEVBQUUsRUFBRTtRQUNkLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGFBQWEsRUFBRSxTQUFTO0tBQ0o7Q0FDdkIsQ0FBQyJ9
package/dist/index.d.ts CHANGED
@@ -1,2 +1 @@
1
- import "./config.default-Dd9dm297.js";
2
- import "./types-CceUfA3j.js";
1
+ import './types.ts';
package/dist/index.js CHANGED
@@ -1,3 +1,2 @@
1
- import "./types-CxAOQAAb.js";
2
-
3
- export { };
1
+ import "./types.js";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxZQUFZLENBQUMifQ==
package/dist/types.d.ts CHANGED
@@ -1,2 +1,16 @@
1
- import "./config.default-Dd9dm297.js";
2
- import "./types-CceUfA3j.js";
1
+ import type { DevelopmentConfig } from './config/config.default.ts';
2
+ declare module 'egg' {
3
+ interface EggAppConfig {
4
+ /**
5
+ * @member Config#development
6
+ * @property {Array} watchDirs - dirs needed watch, when files under these change, application will reload, use relative path
7
+ * @property {Array} ignoreDirs - dirs don't need watch, including subdirectories, use relative path
8
+ * @property {Boolean} fastReady - don't wait all plugins ready, default is false.
9
+ * @property {Boolean} reloadOnDebug - whether reload on debug, default is true.
10
+ * @property {Boolean} overrideDefault - whether override default watchDirs, default is false.
11
+ * @property {Boolean} overrideIgnore - whether override default ignoreDirs, default is false.
12
+ * @property {Array|String} reloadPattern - whether to reload, use https://github.com/sindresorhus/multimatch
13
+ */
14
+ development: DevelopmentConfig;
15
+ }
16
+ }
package/dist/types.js CHANGED
@@ -1,3 +1,2 @@
1
- import "./types-CxAOQAAb.js";
2
-
3
- export { };
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
package/dist/utils.d.ts CHANGED
@@ -1,4 +1 @@
1
- //#region src/utils.d.ts
2
- declare function isTimingFile(file: string): boolean;
3
- //#endregion
4
- export { isTimingFile };
1
+ export declare function isTimingFile(file: string): boolean;
package/dist/utils.js CHANGED
@@ -1,3 +1,4 @@
1
- import { isTimingFile } from "./utils-QMNrER5x.js";
2
-
3
- export { isTimingFile };
1
+ export function isTimingFile(file) {
2
+ return /^(agent|application)_timing/.test(file);
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUFZO0lBQ3ZDLE9BQU8sNkJBQTZCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2xELENBQUMifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eggjs/development",
3
- "version": "5.0.0-beta.20",
3
+ "version": "5.0.0-beta.21",
4
4
  "description": "development tool for egg",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -43,14 +43,14 @@
43
43
  "utility": "^2.5.0"
44
44
  },
45
45
  "peerDependencies": {
46
- "egg": "4.1.0-beta.20"
46
+ "egg": "4.1.0-beta.21"
47
47
  },
48
48
  "devDependencies": {
49
49
  "tsdown": "^0.15.4",
50
50
  "typescript": "^5.9.3",
51
- "@eggjs/supertest": "9.0.0-beta.20",
52
- "@eggjs/tsconfig": "3.1.0-beta.20",
53
- "@eggjs/mock": "7.0.0-beta.20"
51
+ "@eggjs/mock": "7.0.0-beta.21",
52
+ "@eggjs/supertest": "9.0.0-beta.21",
53
+ "@eggjs/tsconfig": "3.1.0-beta.21"
54
54
  },
55
55
  "engines": {
56
56
  "node": ">=22.18.0"
@@ -68,6 +68,6 @@
68
68
  "lint": "oxlint --type-aware",
69
69
  "typecheck": "tsc --noEmit",
70
70
  "test": "vitest run",
71
- "build": "tsdown"
71
+ "build": "tsdown && rimraf dist && tsc -b --clean && tsc"
72
72
  }
73
73
  }
@@ -1,36 +0,0 @@
1
- //#region src/config/config.default.d.ts
2
- interface DevelopmentConfig {
3
- /**
4
- * dirs needed watch, when files under these change, application will reload, use relative path
5
- */
6
- watchDirs: string[];
7
- /**
8
- * dirs don't need watch, including subdirectories, use relative path
9
- */
10
- ignoreDirs: string[];
11
- /**
12
- * don't wait all plugins ready, default is false.
13
- */
14
- fastReady: boolean;
15
- /**
16
- * whether reload on debug, default is true.
17
- */
18
- reloadOnDebug: boolean;
19
- /**
20
- * whether override default watchDirs, default is false.
21
- */
22
- overrideDefault: boolean;
23
- /**
24
- * whether override default ignoreDirs, default is false.
25
- */
26
- overrideIgnore: boolean;
27
- /**
28
- * whether to reload, use https://github.com/sindresorhus/multimatch
29
- */
30
- reloadPattern?: string[] | string;
31
- }
32
- declare const _default: {
33
- development: DevelopmentConfig;
34
- };
35
- //#endregion
36
- export { DevelopmentConfig, _default };
@@ -1,18 +0,0 @@
1
- import { DevelopmentConfig } from "./config.default-Dd9dm297.js";
2
-
3
- //#region src/types.d.ts
4
- declare module 'egg' {
5
- interface EggAppConfig {
6
- /**
7
- * @member Config#development
8
- * @property {Array} watchDirs - dirs needed watch, when files under these change, application will reload, use relative path
9
- * @property {Array} ignoreDirs - dirs don't need watch, including subdirectories, use relative path
10
- * @property {Boolean} fastReady - don't wait all plugins ready, default is false.
11
- * @property {Boolean} reloadOnDebug - whether reload on debug, default is true.
12
- * @property {Boolean} overrideDefault - whether override default watchDirs, default is false.
13
- * @property {Boolean} overrideIgnore - whether override default ignoreDirs, default is false.
14
- * @property {Array|String} reloadPattern - whether to reload, use https://github.com/sindresorhus/multimatch
15
- */
16
- development: DevelopmentConfig;
17
- }
18
- }
@@ -1 +0,0 @@
1
- export { };
@@ -1,7 +0,0 @@
1
- //#region src/utils.ts
2
- function isTimingFile(file) {
3
- return /^(agent|application)_timing/.test(file);
4
- }
5
-
6
- //#endregion
7
- export { isTimingFile };