vimd 0.1.12 → 0.2.1

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 (39) hide show
  1. package/README.md +111 -193
  2. package/dist/cli/commands/build.d.ts +1 -0
  3. package/dist/cli/commands/build.d.ts.map +1 -1
  4. package/dist/cli/commands/build.js +19 -10
  5. package/dist/cli/commands/dev.d.ts +1 -0
  6. package/dist/cli/commands/dev.d.ts.map +1 -1
  7. package/dist/cli/commands/dev.js +27 -14
  8. package/dist/cli/commands/kill.d.ts +7 -0
  9. package/dist/cli/commands/kill.d.ts.map +1 -0
  10. package/dist/cli/commands/kill.js +110 -0
  11. package/dist/cli/index.js +11 -1
  12. package/dist/config/defaults.d.ts.map +1 -1
  13. package/dist/config/defaults.js +3 -1
  14. package/dist/config/types.d.ts +7 -0
  15. package/dist/config/types.d.ts.map +1 -1
  16. package/dist/core/converter.d.ts +18 -0
  17. package/dist/core/converter.d.ts.map +1 -1
  18. package/dist/core/converter.js +30 -1
  19. package/dist/core/pandoc-detector.d.ts.map +1 -1
  20. package/dist/core/pandoc-detector.js +7 -2
  21. package/dist/core/parser/index.d.ts +5 -0
  22. package/dist/core/parser/index.d.ts.map +1 -0
  23. package/dist/core/parser/index.js +4 -0
  24. package/dist/core/parser/markdown-it-parser.d.ts +23 -0
  25. package/dist/core/parser/markdown-it-parser.d.ts.map +1 -0
  26. package/dist/core/parser/markdown-it-parser.js +49 -0
  27. package/dist/core/parser/pandoc-parser.d.ts +27 -0
  28. package/dist/core/parser/pandoc-parser.d.ts.map +1 -0
  29. package/dist/core/parser/pandoc-parser.js +83 -0
  30. package/dist/core/parser/parser-factory.d.ts +36 -0
  31. package/dist/core/parser/parser-factory.d.ts.map +1 -0
  32. package/dist/core/parser/parser-factory.js +63 -0
  33. package/dist/core/parser/types.d.ts +26 -0
  34. package/dist/core/parser/types.d.ts.map +1 -0
  35. package/dist/core/parser/types.js +2 -0
  36. package/dist/core/server.d.ts +8 -1
  37. package/dist/core/server.d.ts.map +1 -1
  38. package/dist/core/server.js +32 -3
  39. package/package.json +6 -1
@@ -1,11 +1,18 @@
1
1
  import { ServerConfig } from '../config/types.js';
2
+ export interface ServerStartResult {
3
+ actualPort: number;
4
+ requestedPort: number;
5
+ portChanged: boolean;
6
+ }
2
7
  export declare class LiveServer {
3
8
  private config;
4
9
  private running;
10
+ private actualPort;
5
11
  constructor(config: ServerConfig);
6
- start(htmlPath: string): Promise<void>;
12
+ start(htmlPath: string): Promise<ServerStartResult>;
7
13
  stop(): Promise<void>;
8
14
  openBrowser(url: string): Promise<void>;
9
15
  getURL(): string;
16
+ getActualPort(): number;
10
17
  }
11
18
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKlD,qBAAa,UAAU;IAGT,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,OAAO,CAAS;gBAEJ,MAAM,EAAE,YAAY;IAElC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BtC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7C,MAAM,IAAI,MAAM;CAGjB"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,UAAU;IAIT,OAAO,CAAC,MAAM;IAH1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;gBAEP,MAAM,EAAE,YAAY;IAIlC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8DnD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7C,MAAM,IAAI,MAAM;IAIhB,aAAa,IAAI,MAAM;CAGxB"}
@@ -7,6 +7,7 @@ export class LiveServer {
7
7
  constructor(config) {
8
8
  this.config = config;
9
9
  this.running = false;
10
+ this.actualPort = config.port;
10
11
  }
11
12
  async start(htmlPath) {
12
13
  const root = path.dirname(htmlPath);
@@ -22,13 +23,38 @@ export class LiveServer {
22
23
  watch: [root], // explicitly watch the root directory
23
24
  };
24
25
  try {
25
- liveServer.start(params);
26
+ const server = liveServer.start(params);
27
+ // Wait for server to start and get actual port
28
+ const actualPort = await new Promise((resolve, reject) => {
29
+ const timeout = setTimeout(() => {
30
+ reject(new Error('Server start timeout'));
31
+ }, 10000);
32
+ server.addListener('listening', () => {
33
+ clearTimeout(timeout);
34
+ const address = server.address();
35
+ resolve(address.port);
36
+ });
37
+ server.addListener('error', (err) => {
38
+ clearTimeout(timeout);
39
+ reject(err);
40
+ });
41
+ });
42
+ this.actualPort = actualPort;
26
43
  this.running = true;
27
- const url = `http://${this.config.host}:${this.config.port}`;
44
+ const portChanged = actualPort !== this.config.port;
45
+ const url = `http://${this.config.host}:${actualPort}`;
46
+ if (portChanged) {
47
+ Logger.warn(`Port ${this.config.port} was unavailable, using port ${actualPort}`);
48
+ }
28
49
  Logger.success(`Server started at ${url}`);
29
50
  if (this.config.open) {
30
51
  await this.openBrowser(url);
31
52
  }
53
+ return {
54
+ actualPort,
55
+ requestedPort: this.config.port,
56
+ portChanged,
57
+ };
32
58
  }
33
59
  catch (error) {
34
60
  const errorMessage = error instanceof Error ? error.message : String(error);
@@ -53,6 +79,9 @@ export class LiveServer {
53
79
  }
54
80
  }
55
81
  getURL() {
56
- return `http://${this.config.host}:${this.config.port}`;
82
+ return `http://${this.config.host}:${this.actualPort}`;
83
+ }
84
+ getActualPort() {
85
+ return this.actualPort;
57
86
  }
58
87
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vimd",
3
- "version": "0.1.12",
3
+ "version": "0.2.1",
4
4
  "description": "Real-time Markdown preview tool with pandoc (view markdown)",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -51,6 +51,7 @@
51
51
  "devDependencies": {
52
52
  "@types/fs-extra": "^11.0.4",
53
53
  "@types/inquirer": "^9.0.9",
54
+ "@types/markdown-it": "^14.1.2",
54
55
  "@types/node": "^20.19.25",
55
56
  "@typescript-eslint/eslint-plugin": "^6.21.0",
56
57
  "@typescript-eslint/parser": "^6.21.0",
@@ -67,8 +68,12 @@
67
68
  "commander": "^12.1.0",
68
69
  "fs-extra": "^11.3.2",
69
70
  "github-markdown-css": "^5.8.1",
71
+ "highlight.js": "^11.11.1",
70
72
  "inquirer": "^9.3.8",
71
73
  "live-server": "^1.2.2",
74
+ "markdown-it": "^14.1.0",
75
+ "markdown-it-strikethrough-alt": "^1.0.0",
76
+ "markdown-it-task-lists": "^2.1.1",
72
77
  "open": "^9.1.0"
73
78
  }
74
79
  }