@mdfriday/foundry 25.8.1 → 25.8.3

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.
Files changed (30) hide show
  1. package/dist/internal/application/incremental-build-coordinator.d.ts.map +1 -1
  2. package/dist/internal/application/incremental-build-coordinator.js +4 -2
  3. package/dist/internal/application/incremental-build-coordinator.js.map +1 -1
  4. package/dist/pkg/log/logger.d.ts.map +1 -1
  5. package/dist/pkg/log/logger.js +1 -0
  6. package/dist/pkg/log/logger.js.map +1 -1
  7. package/dist/pkg/log/manager.js +1 -1
  8. package/dist/pkg/web/server/electron-livereload-server.d.ts +23 -0
  9. package/dist/pkg/web/server/electron-livereload-server.d.ts.map +1 -0
  10. package/dist/pkg/web/server/electron-livereload-server.js +408 -0
  11. package/dist/pkg/web/server/electron-livereload-server.js.map +1 -0
  12. package/dist/pkg/web/server/electron-livereload-server.test.d.ts +2 -0
  13. package/dist/pkg/web/server/electron-livereload-server.test.d.ts.map +1 -0
  14. package/dist/pkg/web/server/electron-livereload-server.test.js +174 -0
  15. package/dist/pkg/web/server/electron-livereload-server.test.js.map +1 -0
  16. package/dist/pkg/web/server/example.d.ts +2 -0
  17. package/dist/pkg/web/server/example.d.ts.map +1 -0
  18. package/dist/pkg/web/server/example.js +43 -0
  19. package/dist/pkg/web/server/example.js.map +1 -0
  20. package/dist/pkg/web/server/index.d.ts +7 -0
  21. package/dist/pkg/web/server/index.d.ts.map +1 -0
  22. package/dist/pkg/web/server/index.js +61 -0
  23. package/dist/pkg/web/server/index.js.map +1 -0
  24. package/dist/pkg/web/server/livereload-server.d.ts +7 -0
  25. package/dist/pkg/web/server/livereload-server.d.ts.map +1 -1
  26. package/dist/pkg/web/server/livereload-server.js +7 -0
  27. package/dist/pkg/web/server/livereload-server.js.map +1 -1
  28. package/dist/pkg/web/server/types.d.ts +8 -0
  29. package/dist/pkg/web/server/types.d.ts.map +1 -1
  30. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"incremental-build-coordinator.d.ts","sourceRoot":"","sources":["../../../internal/application/incremental-build-coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,mBAAmB,EAAC,MAAM,OAAO,CAAA;AAI5F,OAAO,EAAC,eAAe,EAAgB,MAAM,wBAAwB,CAAA;AAKrE,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,mBAAmB,CAAA;IAGtC,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,CAAA;CACF;AAED,qBAAa,2BAA2B;IAS1B,OAAO,CAAC,MAAM;IAR1B,OAAO,CAAC,WAAW,CAAC,CAAoB;IACxC,OAAO,CAAC,gBAAgB,CAAC,CAAyB;IAClD,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,WAAW,CAAQ;IAG3B,OAAO,CAAC,eAAe,CAAC,CAAiB;gBAErB,MAAM,EAAE,sBAAsB;IA0BlD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAWjC;;OAEG;YACW,+BAA+B;IASvC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB9B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAYnC;;;OAGG;YACW,iBAAiB;IAqB/B,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO;IAInD;;OAEG;YACW,uBAAuB;IA4BrC,kBAAkB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE;IAIvD;;OAEG;YACW,kBAAkB;IAgBhC;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;OAEG;IACH,SAAS,IAAI,sBAAsB;IAInC;;OAEG;IACH,mBAAmB,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE;CAY1D"}
1
+ {"version":3,"file":"incremental-build-coordinator.d.ts","sourceRoot":"","sources":["../../../internal/application/incremental-build-coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,mBAAmB,EAAC,MAAM,OAAO,CAAA;AAI5F,OAAO,EAAC,eAAe,EAAgB,MAAM,wBAAwB,CAAA;AAKrE,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,mBAAmB,CAAA;IAGtC,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,CAAA;CACF;AAED,qBAAa,2BAA2B;IAS1B,OAAO,CAAC,MAAM;IAR1B,OAAO,CAAC,WAAW,CAAC,CAAoB;IACxC,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,WAAW,CAAQ;IAG3B,OAAO,CAAC,eAAe,CAAC,CAAiB;gBAErB,MAAM,EAAE,sBAAsB;IA0BlD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAWjC;;OAEG;YACW,+BAA+B;IASvC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB9B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAYnC;;;OAGG;YACW,iBAAiB;IAuB/B,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO;IAInD;;OAEG;YACW,uBAAuB;IA4BrC,kBAAkB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE;IAIvD;;OAEG;YACW,kBAAkB;IAgBhC;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;OAEG;IACH,SAAS,IAAI,sBAAsB;IAInC;;OAEG;IACH,mBAAmB,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE;CAY1D"}
@@ -4,7 +4,7 @@ exports.IncrementalBuildCoordinator = void 0;
4
4
  const ssg_1 = require("./ssg");
5
5
  const log_1 = require("../../pkg/log");
6
6
  const content_file_watcher_1 = require("../../pkg/web/watcher/content-file-watcher");
7
- const livereload_server_1 = require("../../pkg/web/server/livereload-server");
7
+ const server_1 = require("../../pkg/web/server");
8
8
  const log = (0, log_1.getDomainLogger)('build', { component: 'incremental-coordinator' });
9
9
  class IncrementalBuildCoordinator {
10
10
  constructor(config) {
@@ -29,7 +29,7 @@ class IncrementalBuildCoordinator {
29
29
  publicDir: config.publicDir,
30
30
  enableLiveReload: true
31
31
  };
32
- this.liveReloadServer = new livereload_server_1.FoundryLiveReloadServer(liveReloadConfig);
32
+ this.liveReloadServer = (0, server_1.createLiveReloadServer)(liveReloadConfig);
33
33
  }
34
34
  }
35
35
  /**
@@ -90,11 +90,13 @@ class IncrementalBuildCoordinator {
90
90
  try {
91
91
  this.buildInProgress = true;
92
92
  if (this.needFullRebuild(events)) {
93
+ log.info("Detected changes requiring full rebuild, executing full build");
93
94
  await this.performFullRebuild(events);
94
95
  return;
95
96
  }
96
97
  // 执行完整的增量构建流程
97
98
  await this.performIncrementalBuild(events);
99
+ log.info("Incremental build completed successfully");
98
100
  }
99
101
  finally {
100
102
  this.buildInProgress = false;
@@ -1 +1 @@
1
- {"version":3,"file":"incremental-build-coordinator.js","sourceRoot":"","sources":["../../../internal/application/incremental-build-coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"incremental-build-coordinator.js","sourceRoot":"","sources":["../../../internal/application/incremental-build-coordinator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../pkg/log/logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAY,YAAY,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,SAAS,CAAC;AAE9E,qBAAa,MAAO,YAAW,OAAO;IAClC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,EAAE,YAAY;IAShC,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,SAAS;IAgCjB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,QAAQ;IAkChB,OAAO,CAAC,eAAe;IAuBvB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI3C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI5C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAK5C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI9C,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI7C,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI7C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI9C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAK9C,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;CAK5C;AAGD,wBAAgB,GAAG,CAAC,KAAK,GAAE,QAAwB,GAAG,MAAM,CAE3D;AAGD,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE1D"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../pkg/log/logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAY,YAAY,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,SAAS,CAAC;AAE9E,qBAAa,MAAO,YAAW,OAAO;IAClC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,EAAE,YAAY;IAShC,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,SAAS;IAgCjB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,QAAQ;IAoChB,OAAO,CAAC,eAAe;IAuBvB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI3C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI5C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAK5C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI9C,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI7C,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI7C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI9C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAK9C,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;CAK5C;AAGD,wBAAgB,GAAG,CAAC,KAAK,GAAE,QAAwB,GAAG,MAAM,CAE3D;AAGD,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE1D"}
@@ -111,6 +111,7 @@ class Logger {
111
111
  else {
112
112
  process.stdout.write(output + '\n');
113
113
  }
114
+ console.log(output);
114
115
  // Exit on fatal error
115
116
  if (level === types_1.LogLevel.FATAL) {
116
117
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../pkg/log/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../pkg/log/logger.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ class LoggerManager {
17
17
  constructor() {
18
18
  // Default global configuration
19
19
  this.globalConfig = {
20
- level: types_1.LogLevel.ERROR,
20
+ level: types_1.LogLevel.DEBUG,
21
21
  enableCaller: true,
22
22
  jsonFormat: true
23
23
  };
@@ -0,0 +1,23 @@
1
+ import { LiveReloadConfig, LiveReloadServer } from './types';
2
+ export declare class ElectronLiveReloadServer implements LiveReloadServer {
3
+ private httpServer;
4
+ private running;
5
+ private config;
6
+ private stateFilePath;
7
+ constructor(config: LiveReloadConfig);
8
+ start(): Promise<void>;
9
+ stop(): Promise<void>;
10
+ notifyReload(changedFiles?: string[]): void;
11
+ getUrl(): string;
12
+ isServerRunning(): boolean;
13
+ private initStateFile;
14
+ private writeStateFile;
15
+ private startHttpServer;
16
+ private handleHttpRequest;
17
+ private resolveFilePath;
18
+ private getContentType;
19
+ private getLiveReloadScript;
20
+ private shouldLiveReloadCSS;
21
+ private shouldLiveReloadImages;
22
+ }
23
+ //# sourceMappingURL=electron-livereload-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electron-livereload-server.d.ts","sourceRoot":"","sources":["../../../../pkg/web/server/electron-livereload-server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAmB,MAAM,SAAS,CAAA;AAK7E,qBAAa,wBAAyB,YAAW,gBAAgB;IAC/D,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,aAAa,CAAQ;gBAEjB,MAAM,EAAE,gBAAgB;IAa9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B3B,YAAY,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI;IA6B3C,MAAM,IAAI,MAAM;IAIhB,eAAe,IAAI,OAAO;YAIZ,aAAa;YAQb,cAAc;YAQd,eAAe;YA+Bf,iBAAiB;IAoF/B,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,mBAAmB;IAkG3B,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,sBAAsB;CAK/B"}
@@ -0,0 +1,408 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ElectronLiveReloadServer = void 0;
37
+ const http = __importStar(require("http"));
38
+ const path = __importStar(require("path"));
39
+ const fs = __importStar(require("fs/promises"));
40
+ const log_1 = require("../../log");
41
+ const log = (0, log_1.getDomainLogger)('web', { component: 'electron-livereload-server' });
42
+ class ElectronLiveReloadServer {
43
+ constructor(config) {
44
+ this.httpServer = null;
45
+ this.running = false;
46
+ this.config = {
47
+ port: config.port || 8091,
48
+ host: config.host || 'localhost',
49
+ livereloadPort: config.livereloadPort || 35729,
50
+ enableLiveReload: config.enableLiveReload !== false,
51
+ publicDir: config.publicDir
52
+ };
53
+ // 状态文件放在 publicDir 中
54
+ this.stateFilePath = path.join(this.config.publicDir, '.foundry-livereload-state.json');
55
+ }
56
+ async start() {
57
+ if (this.running) {
58
+ log.warn('ElectronLiveReloadServer already running');
59
+ return;
60
+ }
61
+ try {
62
+ // 启动 HTTP 服务器
63
+ await this.startHttpServer();
64
+ // 初始化状态文件
65
+ if (this.config.enableLiveReload) {
66
+ await this.initStateFile();
67
+ }
68
+ this.running = true;
69
+ log.info(`ElectronLiveReloadServer started at ${this.getUrl()}`);
70
+ }
71
+ catch (error) {
72
+ log.error('Failed to start ElectronLiveReloadServer:', error);
73
+ throw error;
74
+ }
75
+ }
76
+ async stop() {
77
+ if (!this.running) {
78
+ return;
79
+ }
80
+ try {
81
+ // 关闭 HTTP 服务器
82
+ if (this.httpServer) {
83
+ await new Promise((resolve) => {
84
+ this.httpServer.close(() => resolve());
85
+ });
86
+ this.httpServer = null;
87
+ }
88
+ // 清理状态文件
89
+ try {
90
+ await fs.unlink(this.stateFilePath);
91
+ }
92
+ catch (error) {
93
+ // 忽略文件不存在的错误
94
+ }
95
+ this.running = false;
96
+ log.info('ElectronLiveReloadServer stopped');
97
+ }
98
+ catch (error) {
99
+ log.error('Error stopping ElectronLiveReloadServer:', error);
100
+ }
101
+ }
102
+ notifyReload(changedFiles) {
103
+ if (!this.config.enableLiveReload) {
104
+ return;
105
+ }
106
+ const state = {
107
+ timestamp: Date.now(),
108
+ command: 'reload',
109
+ liveCSS: this.shouldLiveReloadCSS(changedFiles),
110
+ liveImg: this.shouldLiveReloadImages(changedFiles),
111
+ ...(changedFiles && { changedFiles })
112
+ };
113
+ // 如果只是单个文件变化,设置具体路径
114
+ if (changedFiles && changedFiles.length === 1) {
115
+ const file = changedFiles[0];
116
+ const ext = path.extname(file).toLowerCase();
117
+ if (ext === '.css' || ['.jpg', '.jpeg', '.png', '.gif', '.svg', '.webp'].includes(ext)) {
118
+ state.path = file;
119
+ }
120
+ }
121
+ // 写入状态文件
122
+ this.writeStateFile(state).catch(error => {
123
+ log.error('Failed to write state file:', error);
124
+ });
125
+ }
126
+ getUrl() {
127
+ return `http://${this.config.host}:${this.config.port}`;
128
+ }
129
+ isServerRunning() {
130
+ return this.running;
131
+ }
132
+ async initStateFile() {
133
+ const initialState = {
134
+ timestamp: Date.now(),
135
+ command: 'hello'
136
+ };
137
+ await this.writeStateFile(initialState);
138
+ }
139
+ async writeStateFile(state) {
140
+ try {
141
+ await fs.writeFile(this.stateFilePath, JSON.stringify(state), 'utf8');
142
+ }
143
+ catch (error) {
144
+ log.error('Failed to write LiveReload state file:', error);
145
+ }
146
+ }
147
+ async startHttpServer() {
148
+ this.httpServer = http.createServer(async (req, res) => {
149
+ try {
150
+ await this.handleHttpRequest(req, res);
151
+ }
152
+ catch (error) {
153
+ log.error('HTTP request error:', error);
154
+ res.statusCode = 500;
155
+ res.end('Internal Server Error');
156
+ }
157
+ });
158
+ await new Promise((resolve, reject) => {
159
+ this.httpServer.listen(this.config.port, this.config.host, () => {
160
+ resolve();
161
+ });
162
+ this.httpServer.on('error', (error) => {
163
+ if (error.code === 'EADDRINUSE') {
164
+ // 端口被占用,尝试下一个端口
165
+ this.config.port++;
166
+ if (this.config.port < 8099) {
167
+ this.httpServer.listen(this.config.port, this.config.host);
168
+ }
169
+ else {
170
+ reject(new Error('No available ports'));
171
+ }
172
+ }
173
+ else {
174
+ reject(error);
175
+ }
176
+ });
177
+ });
178
+ }
179
+ async handleHttpRequest(req, res) {
180
+ const url = req.url || '/';
181
+ // 特殊处理状态文件请求
182
+ if (url.startsWith('/.foundry-livereload-state.json')) {
183
+ try {
184
+ const content = await fs.readFile(this.stateFilePath, 'utf8');
185
+ res.setHeader('Content-Type', 'application/json; charset=utf-8');
186
+ res.setHeader('Cache-Control', 'no-cache, no-store, must-revalidate');
187
+ res.setHeader('Pragma', 'no-cache');
188
+ res.setHeader('Expires', '0');
189
+ res.statusCode = 200;
190
+ res.end(content);
191
+ return;
192
+ }
193
+ catch (error) {
194
+ if (error.code === 'ENOENT') {
195
+ res.statusCode = 404;
196
+ res.end('State file not found');
197
+ }
198
+ else {
199
+ res.statusCode = 500;
200
+ res.end('Internal Server Error');
201
+ }
202
+ return;
203
+ }
204
+ }
205
+ let filePath = this.resolveFilePath(url);
206
+ try {
207
+ // 检查文件是否存在
208
+ const stats = await fs.stat(filePath);
209
+ if (stats.isDirectory()) {
210
+ // 尝试查找 index.html
211
+ const indexPath = path.join(filePath, 'index.html');
212
+ try {
213
+ await fs.stat(indexPath);
214
+ filePath = indexPath;
215
+ }
216
+ catch {
217
+ // 如果没有 index.html,返回 404
218
+ res.statusCode = 404;
219
+ res.end('Not Found');
220
+ return;
221
+ }
222
+ }
223
+ // 读取文件内容
224
+ let content = await fs.readFile(filePath);
225
+ // 设置 Content-Type
226
+ const contentType = this.getContentType(filePath);
227
+ res.setHeader('Content-Type', contentType);
228
+ // 如果是 HTML 文件且启用了 LiveReload,注入 LiveReload 脚本
229
+ if (contentType.includes('text/html') && this.config.enableLiveReload) {
230
+ const htmlContent = content.toString();
231
+ const liveReloadScript = this.getLiveReloadScript();
232
+ // 在 </body> 标签前插入 LiveReload 脚本
233
+ const modifiedHtml = htmlContent.replace(/<\/body>/i, `${liveReloadScript}\n</body>`);
234
+ content = Buffer.from(modifiedHtml, 'utf8');
235
+ }
236
+ // 设置缓存头(开发环境不缓存)
237
+ res.setHeader('Cache-Control', 'no-cache, no-store, must-revalidate');
238
+ res.setHeader('Pragma', 'no-cache');
239
+ res.setHeader('Expires', '0');
240
+ res.statusCode = 200;
241
+ res.end(content);
242
+ }
243
+ catch (error) {
244
+ if (error.code === 'ENOENT') {
245
+ res.statusCode = 404;
246
+ res.end('Not Found');
247
+ }
248
+ else {
249
+ throw error;
250
+ }
251
+ }
252
+ }
253
+ resolveFilePath(url) {
254
+ // 移除查询参数和哈希
255
+ const cleanUrl = url.split('?')[0].split('#')[0];
256
+ // 解码 URL - 添加错误处理
257
+ let decodedUrl;
258
+ try {
259
+ decodedUrl = decodeURIComponent(cleanUrl);
260
+ }
261
+ catch (error) {
262
+ log.warn('Failed to decode URL:', cleanUrl, error);
263
+ decodedUrl = cleanUrl;
264
+ }
265
+ // 规范化路径,防止目录遍历攻击
266
+ const normalizedPath = path.normalize(decodedUrl).replace(/^(\.\.[\/\\])+/, '');
267
+ // 移除前导斜杠
268
+ const relativePath = normalizedPath.startsWith('/')
269
+ ? normalizedPath.slice(1)
270
+ : normalizedPath;
271
+ // 使用 path.join 确保跨平台兼容性
272
+ const resolvedPath = path.join(this.config.publicDir, relativePath);
273
+ return resolvedPath;
274
+ }
275
+ getContentType(filePath) {
276
+ const ext = path.extname(filePath).toLowerCase();
277
+ const mimeTypes = {
278
+ '.html': 'text/html; charset=utf-8',
279
+ '.css': 'text/css; charset=utf-8',
280
+ '.js': 'application/javascript; charset=utf-8',
281
+ '.json': 'application/json; charset=utf-8',
282
+ '.png': 'image/png',
283
+ '.jpg': 'image/jpeg',
284
+ '.jpeg': 'image/jpeg',
285
+ '.gif': 'image/gif',
286
+ '.svg': 'image/svg+xml',
287
+ '.webp': 'image/webp',
288
+ '.ico': 'image/x-icon',
289
+ '.woff': 'font/woff',
290
+ '.woff2': 'font/woff2',
291
+ '.ttf': 'font/ttf',
292
+ '.eot': 'application/vnd.ms-fontobject',
293
+ '.xml': 'application/xml; charset=utf-8',
294
+ '.txt': 'text/plain; charset=utf-8'
295
+ };
296
+ return mimeTypes[ext] || 'application/octet-stream';
297
+ }
298
+ getLiveReloadScript() {
299
+ return `
300
+ <script>
301
+ (function() {
302
+ 'use strict';
303
+
304
+ var stateFilePath = '/.foundry-livereload-state.json';
305
+ var storageKey = 'foundry-livereload-last-timestamp';
306
+ var lastTimestamp = 0;
307
+ var pollInterval = 500; // 500ms 轮询间隔
308
+
309
+ // 从 localStorage 恢复上次的时间戳,避免页面刷新后重复触发
310
+ try {
311
+ var stored = localStorage.getItem(storageKey);
312
+ if (stored) {
313
+ lastTimestamp = parseInt(stored, 10) || 0;
314
+ }
315
+ } catch (error) {
316
+ // localStorage 可能不可用,使用默认值
317
+ console.warn('LiveReload: localStorage not available, may cause duplicate reloads');
318
+ }
319
+
320
+ function checkForReload() {
321
+ fetch(stateFilePath + '?_t=' + Date.now(), { cache: 'no-cache' })
322
+ .then(function(response) {
323
+ if (!response.ok) {
324
+ throw new Error('Failed to fetch state file');
325
+ }
326
+ return response.json();
327
+ })
328
+ .then(function(state) {
329
+ if (state.timestamp > lastTimestamp) {
330
+ // 更新时间戳并保存到 localStorage
331
+ lastTimestamp = state.timestamp;
332
+ try {
333
+ localStorage.setItem(storageKey, lastTimestamp.toString());
334
+ } catch (error) {
335
+ // localStorage 写入失败,忽略
336
+ }
337
+
338
+ if (state.command === 'reload') {
339
+ if (state.liveCSS) {
340
+ // 热更新 CSS
341
+ reloadCSS();
342
+ } else if (state.liveImg) {
343
+ // 热更新图片
344
+ reloadImages();
345
+ } else {
346
+ // 完整页面刷新
347
+ window.location.reload();
348
+ }
349
+ }
350
+ }
351
+ })
352
+ .catch(function(error) {
353
+ // 静默处理错误,避免控制台噪音
354
+ });
355
+ }
356
+
357
+ function reloadCSS() {
358
+ var links = document.querySelectorAll('link[rel="stylesheet"]');
359
+ for (var i = 0; i < links.length; i++) {
360
+ var link = links[i];
361
+ var href = link.href;
362
+ if (href) {
363
+ var url = new URL(href);
364
+ url.searchParams.set('_t', Date.now().toString());
365
+ link.href = url.toString();
366
+ }
367
+ }
368
+ console.log('CSS reloaded');
369
+ }
370
+
371
+ function reloadImages() {
372
+ var images = document.querySelectorAll('img');
373
+ for (var i = 0; i < images.length; i++) {
374
+ var img = images[i];
375
+ var src = img.src;
376
+ if (src) {
377
+ var url = new URL(src);
378
+ url.searchParams.set('_t', Date.now().toString());
379
+ img.src = url.toString();
380
+ }
381
+ }
382
+ console.log('Images reloaded');
383
+ }
384
+
385
+ // 开始轮询
386
+ console.log('LiveReload (Electron mode) connected');
387
+ console.log('Last timestamp:', lastTimestamp);
388
+ setInterval(checkForReload, pollInterval);
389
+
390
+ // 初始检查
391
+ checkForReload();
392
+ })();
393
+ </script>`;
394
+ }
395
+ shouldLiveReloadCSS(changedFiles) {
396
+ if (!changedFiles)
397
+ return false;
398
+ return changedFiles.some(file => path.extname(file).toLowerCase() === '.css');
399
+ }
400
+ shouldLiveReloadImages(changedFiles) {
401
+ if (!changedFiles)
402
+ return false;
403
+ const imageExts = ['.jpg', '.jpeg', '.png', '.gif', '.svg', '.webp'];
404
+ return changedFiles.some(file => imageExts.includes(path.extname(file).toLowerCase()));
405
+ }
406
+ }
407
+ exports.ElectronLiveReloadServer = ElectronLiveReloadServer;
408
+ //# sourceMappingURL=electron-livereload-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electron-livereload-server.js","sourceRoot":"","sources":["../../../../pkg/web/server/electron-livereload-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=electron-livereload-server.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electron-livereload-server.test.d.ts","sourceRoot":"","sources":["../../../../pkg/web/server/electron-livereload-server.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const fs = __importStar(require("fs/promises"));
37
+ const path = __importStar(require("path"));
38
+ const os = __importStar(require("os"));
39
+ const http = __importStar(require("http"));
40
+ const electron_livereload_server_1 = require("./electron-livereload-server");
41
+ describe('ElectronLiveReloadServer', () => {
42
+ let server;
43
+ let tempDir;
44
+ let stateFilePath;
45
+ beforeEach(async () => {
46
+ // 创建临时目录
47
+ tempDir = await fs.mkdtemp(path.join(os.tmpdir(), 'electron-livereload-test-'));
48
+ stateFilePath = path.join(tempDir, '.foundry-livereload-state.json');
49
+ server = new electron_livereload_server_1.ElectronLiveReloadServer({
50
+ port: 8092,
51
+ host: 'localhost',
52
+ publicDir: tempDir,
53
+ enableLiveReload: true
54
+ });
55
+ });
56
+ afterEach(async () => {
57
+ if (server.isServerRunning()) {
58
+ await server.stop();
59
+ }
60
+ // 清理临时目录
61
+ try {
62
+ await fs.rm(tempDir, { recursive: true, force: true });
63
+ }
64
+ catch (error) {
65
+ // 忽略清理错误
66
+ }
67
+ });
68
+ test('should create state file on start', async () => {
69
+ await server.start();
70
+ // 检查状态文件是否存在
71
+ const exists = await fs.access(stateFilePath).then(() => true).catch(() => false);
72
+ expect(exists).toBe(true);
73
+ // 检查状态文件内容
74
+ const content = await fs.readFile(stateFilePath, 'utf8');
75
+ const state = JSON.parse(content);
76
+ expect(state.command).toBe('hello');
77
+ expect(state.timestamp).toBeGreaterThan(0);
78
+ });
79
+ test('should serve state file via HTTP with absolute path', async () => {
80
+ await server.start();
81
+ // 等待服务器启动和状态文件创建
82
+ await new Promise(resolve => setTimeout(resolve, 100));
83
+ // 通过 HTTP 请求状态文件
84
+ const response = await new Promise((resolve, reject) => {
85
+ const req = http.request({
86
+ hostname: 'localhost',
87
+ port: server.getUrl().split(':')[2], // 提取端口号
88
+ path: '/.foundry-livereload-state.json',
89
+ method: 'GET'
90
+ }, resolve);
91
+ req.on('error', reject);
92
+ req.end();
93
+ });
94
+ expect(response.statusCode).toBe(200);
95
+ expect(response.headers['content-type']).toBe('application/json; charset=utf-8');
96
+ // 读取响应内容
97
+ let body = '';
98
+ response.on('data', chunk => body += chunk);
99
+ await new Promise(resolve => response.on('end', resolve));
100
+ const state = JSON.parse(body);
101
+ expect(state.command).toBe('hello');
102
+ expect(state.timestamp).toBeGreaterThan(0);
103
+ });
104
+ test('should update state file on reload notification', async () => {
105
+ await server.start();
106
+ // 等待初始状态文件创建
107
+ await new Promise(resolve => setTimeout(resolve, 100));
108
+ const initialContent = await fs.readFile(stateFilePath, 'utf8');
109
+ const initialState = JSON.parse(initialContent);
110
+ // 触发重载通知
111
+ server.notifyReload(['test.css']);
112
+ // 等待状态文件更新
113
+ await new Promise(resolve => setTimeout(resolve, 100));
114
+ const updatedContent = await fs.readFile(stateFilePath, 'utf8');
115
+ const updatedState = JSON.parse(updatedContent);
116
+ expect(updatedState.command).toBe('reload');
117
+ expect(updatedState.timestamp).toBeGreaterThan(initialState.timestamp);
118
+ expect(updatedState.liveCSS).toBe(true);
119
+ expect(updatedState.changedFiles).toEqual(['test.css']);
120
+ });
121
+ test('should clean up state file on stop', async () => {
122
+ await server.start();
123
+ // 确认状态文件存在
124
+ let exists = await fs.access(stateFilePath).then(() => true).catch(() => false);
125
+ expect(exists).toBe(true);
126
+ await server.stop();
127
+ // 确认状态文件被删除
128
+ exists = await fs.access(stateFilePath).then(() => true).catch(() => false);
129
+ expect(exists).toBe(false);
130
+ });
131
+ test('should not trigger infinite reloads with same timestamp', async () => {
132
+ await server.start();
133
+ // 等待初始状态文件创建
134
+ await new Promise(resolve => setTimeout(resolve, 100));
135
+ // 触发重载通知
136
+ server.notifyReload(['test.js']);
137
+ // 等待状态文件更新
138
+ await new Promise(resolve => setTimeout(resolve, 100));
139
+ const content = await fs.readFile(stateFilePath, 'utf8');
140
+ const state = JSON.parse(content);
141
+ expect(state.command).toBe('reload');
142
+ expect(state.timestamp).toBeGreaterThan(0);
143
+ // 再次读取相同的状态文件,时间戳应该保持不变
144
+ const content2 = await fs.readFile(stateFilePath, 'utf8');
145
+ const state2 = JSON.parse(content2);
146
+ expect(state2.timestamp).toBe(state.timestamp);
147
+ expect(state2.command).toBe('reload');
148
+ });
149
+ test('should detect CSS and image files correctly', async () => {
150
+ await server.start();
151
+ // 测试 CSS 文件
152
+ server.notifyReload(['styles.css']);
153
+ await new Promise(resolve => setTimeout(resolve, 100));
154
+ let content = await fs.readFile(stateFilePath, 'utf8');
155
+ let state = JSON.parse(content);
156
+ expect(state.liveCSS).toBe(true);
157
+ expect(state.liveImg).toBe(false);
158
+ // 测试图片文件
159
+ server.notifyReload(['image.png']);
160
+ await new Promise(resolve => setTimeout(resolve, 100));
161
+ content = await fs.readFile(stateFilePath, 'utf8');
162
+ state = JSON.parse(content);
163
+ expect(state.liveCSS).toBe(false);
164
+ expect(state.liveImg).toBe(true);
165
+ // 测试 JS 文件
166
+ server.notifyReload(['script.js']);
167
+ await new Promise(resolve => setTimeout(resolve, 100));
168
+ content = await fs.readFile(stateFilePath, 'utf8');
169
+ state = JSON.parse(content);
170
+ expect(state.liveCSS).toBe(false);
171
+ expect(state.liveImg).toBe(false);
172
+ });
173
+ });
174
+ //# sourceMappingURL=electron-livereload-server.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electron-livereload-server.test.js","sourceRoot":"","sources":["../../../../pkg/web/server/electron-livereload-server.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=example.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../../../pkg/web/server/example.ts"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const index_1 = require("./index");
4
+ // 使用示例
5
+ async function main() {
6
+ const config = {
7
+ port: 8091,
8
+ host: 'localhost',
9
+ publicDir: './dist',
10
+ enableLiveReload: true
11
+ };
12
+ // 自动检测环境并创建合适的服务器
13
+ const server = (0, index_1.createLiveReloadServer)(config);
14
+ console.log(`Environment: ${(0, index_1.isElectronEnvironment)() ? 'Electron' : 'Node.js'}`);
15
+ console.log(`Using: ${server.constructor.name}`);
16
+ try {
17
+ await server.start();
18
+ console.log(`LiveReload server started at: ${server.getUrl()}`);
19
+ // 模拟文件变化通知
20
+ setTimeout(() => {
21
+ console.log('Simulating CSS file change...');
22
+ server.notifyReload(['styles.css']);
23
+ }, 2000);
24
+ setTimeout(() => {
25
+ console.log('Simulating JS file change...');
26
+ server.notifyReload(['app.js']);
27
+ }, 4000);
28
+ // 10秒后停止服务器
29
+ setTimeout(async () => {
30
+ console.log('Stopping server...');
31
+ await server.stop();
32
+ console.log('Server stopped');
33
+ }, 10000);
34
+ }
35
+ catch (error) {
36
+ console.error('Error starting server:', error);
37
+ }
38
+ }
39
+ // 如果直接运行此文件,执行示例
40
+ if (require.main === module) {
41
+ main().catch(console.error);
42
+ }
43
+ //# sourceMappingURL=example.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example.js","sourceRoot":"","sources":["../../../../pkg/web/server/example.ts"],"names":[],"mappings":";;AAAA,mCAAuE;AAEvE,OAAO;AACP,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,QAAQ;QACnB,gBAAgB,EAAE,IAAI;KACvB,CAAA;IAED,kBAAkB;IAClB,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,MAAM,CAAC,CAAA;IAE7C,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAA,6BAAqB,GAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAA;IAC/E,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;IAEhD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QACpB,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAE/D,WAAW;QACX,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;YAC5C,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAA;QACrC,CAAC,EAAE,IAAI,CAAC,CAAA;QAER,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;YAC3C,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;QACjC,CAAC,EAAE,IAAI,CAAC,CAAA;QAER,YAAY;QACZ,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;YACjC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAC/B,CAAC,EAAE,KAAK,CAAC,CAAA;IAEX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAA;IAChD,CAAC;AACH,CAAC;AAED,iBAAiB;AACjB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7B,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { LiveReloadConfig, LiveReloadServer } from './types';
2
+ export declare function isElectronEnvironment(): boolean;
3
+ export declare function createLiveReloadServer(config: LiveReloadConfig): LiveReloadServer;
4
+ export * from './types';
5
+ export { FoundryLiveReloadServer } from './livereload-server';
6
+ export { ElectronLiveReloadServer } from './electron-livereload-server';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../pkg/web/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAK5D,wBAAgB,qBAAqB,IAAI,OAAO,CAyB/C;AAGD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAMjF;AAGD,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.ElectronLiveReloadServer = exports.FoundryLiveReloadServer = void 0;
18
+ exports.isElectronEnvironment = isElectronEnvironment;
19
+ exports.createLiveReloadServer = createLiveReloadServer;
20
+ const livereload_server_1 = require("./livereload-server");
21
+ const electron_livereload_server_1 = require("./electron-livereload-server");
22
+ // 环境检测函数
23
+ function isElectronEnvironment() {
24
+ // 检查是否在 Electron 环境中
25
+ if (typeof globalThis !== 'undefined' && globalThis.window && globalThis.window.process && globalThis.window.process.type) {
26
+ return true;
27
+ }
28
+ // 检查是否有 electron 模块
29
+ try {
30
+ require('electron');
31
+ return true;
32
+ }
33
+ catch {
34
+ // electron 模块不存在
35
+ }
36
+ // 检查环境变量
37
+ if (process.env.ELECTRON_RUN_AS_NODE || process.env.ELECTRON_NO_ATTACH_CONSOLE) {
38
+ return true;
39
+ }
40
+ // 检查 process.versions.electron
41
+ if (process.versions && process.versions.electron) {
42
+ return true;
43
+ }
44
+ return false;
45
+ }
46
+ // 工厂函数:根据环境自动选择合适的 LiveReload 实现
47
+ function createLiveReloadServer(config) {
48
+ if (isElectronEnvironment()) {
49
+ return new electron_livereload_server_1.ElectronLiveReloadServer(config);
50
+ }
51
+ else {
52
+ return new livereload_server_1.FoundryLiveReloadServer(config);
53
+ }
54
+ }
55
+ // 导出所有类型和实现
56
+ __exportStar(require("./types"), exports);
57
+ var livereload_server_2 = require("./livereload-server");
58
+ Object.defineProperty(exports, "FoundryLiveReloadServer", { enumerable: true, get: function () { return livereload_server_2.FoundryLiveReloadServer; } });
59
+ var electron_livereload_server_2 = require("./electron-livereload-server");
60
+ Object.defineProperty(exports, "ElectronLiveReloadServer", { enumerable: true, get: function () { return electron_livereload_server_2.ElectronLiveReloadServer; } });
61
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../pkg/web/server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAKA,sDAyBC;AAGD,wDAMC;AAtCD,2DAA6D;AAC7D,6EAAuE;AAEvE,SAAS;AACT,SAAgB,qBAAqB;IACnC,qBAAqB;IACrB,IAAI,OAAO,UAAU,KAAK,WAAW,IAAK,UAAkB,CAAC,MAAM,IAAK,UAAkB,CAAC,MAAM,CAAC,OAAO,IAAK,UAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACrJ,OAAO,IAAI,CAAA;IACb,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC;QACH,OAAO,CAAC,UAAU,CAAC,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB;IACnB,CAAC;IAED,SAAS;IACT,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC;QAC/E,OAAO,IAAI,CAAA;IACb,CAAC;IAED,+BAA+B;IAC/B,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAClD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,iCAAiC;AACjC,SAAgB,sBAAsB,CAAC,MAAwB;IAC7D,IAAI,qBAAqB,EAAE,EAAE,CAAC;QAC5B,OAAO,IAAI,qDAAwB,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,2CAAuB,CAAC,MAAM,CAAC,CAAA;IAC5C,CAAC;AACH,CAAC;AAED,YAAY;AACZ,0CAAuB;AACvB,yDAA6D;AAApD,4HAAA,uBAAuB,OAAA;AAChC,2EAAuE;AAA9D,sIAAA,wBAAwB,OAAA"}
@@ -1,4 +1,11 @@
1
1
  import { LiveReloadConfig, LiveReloadServer } from './types';
2
+ /**
3
+ * Node.js 环境下的 LiveReload 服务器实现
4
+ * 使用 WebSocket 进行实时通信
5
+ *
6
+ * 对于 Electron 环境,请使用 ElectronLiveReloadServer
7
+ * 或通过 createLiveReloadServer() 工厂函数自动选择合适的实现
8
+ */
2
9
  export declare class FoundryLiveReloadServer implements LiveReloadServer {
3
10
  private httpServer;
4
11
  private wsServer;
@@ -1 +1 @@
1
- {"version":3,"file":"livereload-server.d.ts","sourceRoot":"","sources":["../../../../pkg/web/server/livereload-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAe,MAAM,SAAS,CAAA;AAKzE,qBAAa,uBAAwB,YAAW,gBAAgB;IAC9D,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,MAAM,CAA4B;gBAE9B,MAAM,EAAE,gBAAgB;IAU9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgC3B,YAAY,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI;IAmC3C,MAAM,IAAI,MAAM;IAIhB,eAAe,IAAI,OAAO;YAIZ,eAAe;YA+Bf,qBAAqB;YAmCrB,iBAAiB;IA4D/B,OAAO,CAAC,eAAe;IA0CvB,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,mBAAmB;IAsE3B,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,sBAAsB;CAK/B"}
1
+ {"version":3,"file":"livereload-server.d.ts","sourceRoot":"","sources":["../../../../pkg/web/server/livereload-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAe,MAAM,SAAS,CAAA;AAKzE;;;;;;GAMG;AACH,qBAAa,uBAAwB,YAAW,gBAAgB;IAC9D,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,MAAM,CAA4B;gBAE9B,MAAM,EAAE,gBAAgB;IAU9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgC3B,YAAY,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI;IAmC3C,MAAM,IAAI,MAAM;IAIhB,eAAe,IAAI,OAAO;YAIZ,eAAe;YA+Bf,qBAAqB;YAmCrB,iBAAiB;IA4D/B,OAAO,CAAC,eAAe;IA0CvB,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,mBAAmB;IAsE3B,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,sBAAsB;CAK/B"}
@@ -40,6 +40,13 @@ const fs = __importStar(require("fs/promises"));
40
40
  const ws_1 = require("ws");
41
41
  const log_1 = require("../../log");
42
42
  const log = (0, log_1.getDomainLogger)('web', { component: 'livereload-server' });
43
+ /**
44
+ * Node.js 环境下的 LiveReload 服务器实现
45
+ * 使用 WebSocket 进行实时通信
46
+ *
47
+ * 对于 Electron 环境,请使用 ElectronLiveReloadServer
48
+ * 或通过 createLiveReloadServer() 工厂函数自动选择合适的实现
49
+ */
43
50
  class FoundryLiveReloadServer {
44
51
  constructor(config) {
45
52
  this.httpServer = null;
@@ -1 +1 @@
1
- {"version":3,"file":"livereload-server.js","sourceRoot":"","sources":["../../../../pkg/web/server/livereload-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"livereload-server.js","sourceRoot":"","sources":["../../../../pkg/web/server/livereload-server.ts"],"names":[],"mappings":"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"}
@@ -22,4 +22,12 @@ export interface ReloadEvent {
22
22
  protocols?: string[];
23
23
  serverName?: string;
24
24
  }
25
+ export interface LiveReloadState {
26
+ timestamp: number;
27
+ command: 'reload' | 'hello';
28
+ changedFiles?: string[];
29
+ liveCSS?: boolean;
30
+ liveImg?: boolean;
31
+ path?: string;
32
+ }
25
33
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../pkg/web/server/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB,YAAY,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAC3C,MAAM,IAAI,MAAM,CAAA;IAChB,eAAe,IAAI,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAA;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../pkg/web/server/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB,YAAY,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAC3C,MAAM,IAAI,MAAM,CAAA;IAChB,eAAe,IAAI,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAA;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAGD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mdfriday/foundry",
3
- "version": "25.8.1",
3
+ "version": "25.8.3",
4
4
  "description": "The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",