@life-and-dev/mdsite 0.5.3 → 0.7.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.
Files changed (70) hide show
  1. package/README.md +29 -37
  2. package/dist/commands/clean.d.ts +1 -0
  3. package/dist/commands/clean.js +70 -0
  4. package/dist/commands/clean.js.map +1 -0
  5. package/dist/commands/commands.test.js +157 -75
  6. package/dist/commands/commands.test.js.map +1 -1
  7. package/dist/commands/generate.js +5 -4
  8. package/dist/commands/generate.js.map +1 -1
  9. package/dist/commands/init.js +5 -64
  10. package/dist/commands/init.js.map +1 -1
  11. package/dist/commands/prepare.js +2 -14
  12. package/dist/commands/prepare.js.map +1 -1
  13. package/dist/commands/prepare.test.js +26 -24
  14. package/dist/commands/prepare.test.js.map +1 -1
  15. package/dist/commands/preview.js +21 -21
  16. package/dist/commands/preview.js.map +1 -1
  17. package/dist/commands/start.js +13 -11
  18. package/dist/commands/start.js.map +1 -1
  19. package/dist/commands/stop.js +7 -4
  20. package/dist/commands/stop.js.map +1 -1
  21. package/dist/commands/workflows.test.js +42 -56
  22. package/dist/commands/workflows.test.js.map +1 -1
  23. package/dist/config/default-mdsite-config.js +7 -8
  24. package/dist/config/default-mdsite-config.js.map +1 -1
  25. package/dist/config/default-mdsite-config.test.js +7 -8
  26. package/dist/config/default-mdsite-config.test.js.map +1 -1
  27. package/dist/config/mdsite-config.d.ts +46 -10
  28. package/dist/config/mdsite-config.js +46 -24
  29. package/dist/config/mdsite-config.js.map +1 -1
  30. package/dist/config/mdsite-config.test.js +55 -50
  31. package/dist/config/mdsite-config.test.js.map +1 -1
  32. package/dist/index.js +8 -2
  33. package/dist/index.js.map +1 -1
  34. package/dist/index.test.js +13 -0
  35. package/dist/index.test.js.map +1 -1
  36. package/dist/process/child-process.d.ts +4 -0
  37. package/dist/process/child-process.js +33 -1
  38. package/dist/process/child-process.js.map +1 -1
  39. package/dist/process/child-process.test.js +41 -5
  40. package/dist/process/child-process.test.js.map +1 -1
  41. package/dist/process/runtime-state.d.ts +13 -5
  42. package/dist/process/runtime-state.js +25 -13
  43. package/dist/process/runtime-state.js.map +1 -1
  44. package/dist/process/runtime-state.test.js +10 -10
  45. package/dist/process/runtime-state.test.js.map +1 -1
  46. package/dist/renderer/mdsite-nuxt.d.ts +28 -3
  47. package/dist/renderer/mdsite-nuxt.js +32 -27
  48. package/dist/renderer/mdsite-nuxt.js.map +1 -1
  49. package/dist/renderer/mdsite-nuxt.test.js +40 -39
  50. package/dist/renderer/mdsite-nuxt.test.js.map +1 -1
  51. package/mdsite-nuxt/app/components/AppFooter.vue +84 -22
  52. package/mdsite-nuxt/app/composables/useFooter.test.ts +54 -0
  53. package/mdsite-nuxt/app/composables/useFooter.ts +48 -31
  54. package/mdsite-nuxt/app/composables/useSiteConfig.test.ts +13 -87
  55. package/mdsite-nuxt/app/composables/useSiteConfig.ts +7 -26
  56. package/mdsite-nuxt/app/composables/useSourceEdit.test.ts +103 -0
  57. package/mdsite-nuxt/app/composables/useSourceEdit.ts +39 -51
  58. package/mdsite-nuxt/app/layouts/default.vue +10 -3
  59. package/mdsite-nuxt/nuxt.config.ts +22 -15
  60. package/mdsite-nuxt/scripts/generate-favicons.test.ts +3 -3
  61. package/mdsite-nuxt/scripts/generate-favicons.ts +4 -4
  62. package/mdsite-nuxt/scripts/generate-indices.test.ts +71 -10
  63. package/mdsite-nuxt/scripts/generate-indices.ts +161 -27
  64. package/mdsite-nuxt/scripts/renderer-hooks.test.ts +0 -91
  65. package/mdsite-nuxt/scripts/renderer-hooks.ts +1 -50
  66. package/mdsite-nuxt/scripts/start.test.ts +0 -1
  67. package/mdsite-nuxt/scripts/start.ts +0 -1
  68. package/mdsite-nuxt/utils/mdsite-config.ts +86 -41
  69. package/package.json +1 -1
  70. package/mdsite-nuxt/example.config.yml +0 -67
@@ -1,13 +1,15 @@
1
1
  import { beforeEach, describe, expect, it, vi } from 'vitest';
2
- const { mkdirMock, openMock, spawnMock, connectMock } = vi.hoisted(() => ({
2
+ const { mkdirMock, openMock, readFileMock, spawnMock, connectMock } = vi.hoisted(() => ({
3
3
  mkdirMock: vi.fn(),
4
4
  openMock: vi.fn(),
5
+ readFileMock: vi.fn(),
5
6
  spawnMock: vi.fn(),
6
7
  connectMock: vi.fn()
7
8
  }));
8
9
  vi.mock('node:fs/promises', () => ({
9
10
  mkdir: mkdirMock,
10
- open: openMock
11
+ open: openMock,
12
+ readFile: readFileMock
11
13
  }));
12
14
  vi.mock('node:child_process', () => ({
13
15
  spawn: spawnMock
@@ -17,7 +19,7 @@ vi.mock('node:net', () => ({
17
19
  connect: connectMock
18
20
  }
19
21
  }));
20
- import { openUrlInBrowser, runBackground, waitForTcpPort } from './child-process.js';
22
+ import { openUrlInBrowser, runBackground, waitForRendererPort, waitForTcpPort } from './child-process.js';
21
23
  describe('child-process helpers', () => {
22
24
  beforeEach(() => {
23
25
  vi.clearAllMocks();
@@ -40,9 +42,9 @@ describe('child-process helpers', () => {
40
42
  expect(mkdirMock.mock.invocationCallOrder[0]).toBeLessThan(openMock.mock.invocationCallOrder[0] ?? Number.POSITIVE_INFINITY);
41
43
  });
42
44
  it('uses the same parent-directory log setup for start background processes', async () => {
43
- await expect(runBackground('npm', ['run', 'dev'], '/renderer', { TEST: '1' }, '/content/.renderer/start.log')).resolves.toBe(1234);
45
+ await expect(runBackground('npm', ['run', 'dev'], '/renderer', { TEST: '1' }, '/content/.renderer/live.log')).resolves.toBe(1234);
44
46
  expect(mkdirMock).toHaveBeenCalledWith('/content/.renderer', { recursive: true });
45
- expect(openMock).toHaveBeenCalledWith('/content/.renderer/start.log', 'a');
47
+ expect(openMock).toHaveBeenCalledWith('/content/.renderer/live.log', 'a');
46
48
  });
47
49
  it('opens preview URLs in the default browser on supported platforms', async () => {
48
50
  const onceMock = vi.fn((event, handler) => {
@@ -127,5 +129,39 @@ describe('child-process helpers', () => {
127
129
  await expect(waitPromise).resolves.toBe(false);
128
130
  expect(connectMock).toHaveBeenCalledTimes(3);
129
131
  });
132
+ it('waitForRendererPort detects the Nuxt dev fallback port from the Local URL', async () => {
133
+ vi.useFakeTimers();
134
+ readFileMock
135
+ .mockRejectedValueOnce(new Error('ENOENT'))
136
+ .mockResolvedValueOnce(' ➜ Local: http://localhost:3001/\n ➜ Network: http://10.0.0.5:3001/\n');
137
+ const waitPromise = waitForRendererPort('/content/.mdsite/live.log', 3000, { retryIntervalMs: 25, timeoutMs: 200 });
138
+ await vi.advanceTimersByTimeAsync(50);
139
+ await expect(waitPromise).resolves.toBe(3001);
140
+ expect(readFileMock).toHaveBeenCalledWith('/content/.mdsite/live.log', 'utf8');
141
+ });
142
+ it('waitForRendererPort detects the Nitro preview fallback port from the Listening URL', async () => {
143
+ vi.useFakeTimers();
144
+ readFileMock.mockResolvedValueOnce('Listening on http://[::]:4173\n');
145
+ const waitPromise = waitForRendererPort('/content/.mdsite/static.log', 4173, { retryIntervalMs: 25, timeoutMs: 200 });
146
+ await vi.advanceTimersByTimeAsync(50);
147
+ await expect(waitPromise).resolves.toBe(4173);
148
+ });
149
+ it('waitForRendererPort returns the fallback port when no listening URL is logged before the timeout', async () => {
150
+ vi.useFakeTimers();
151
+ readFileMock.mockRejectedValue(new Error('ENOENT'));
152
+ const waitPromise = waitForRendererPort('/content/.mdsite/live.log', 3000, { retryIntervalMs: 25, timeoutMs: 60 });
153
+ await vi.advanceTimersByTimeAsync(100);
154
+ await expect(waitPromise).resolves.toBe(3000);
155
+ });
156
+ it('waitForRendererPort keeps polling across partial log writes until the URL appears', async () => {
157
+ vi.useFakeTimers();
158
+ readFileMock
159
+ .mockResolvedValueOnce('Nuxt 4 starting...\n')
160
+ .mockResolvedValueOnce('Nuxt 4 starting...\n ➜ Local: http://localhost:3002/\n');
161
+ const waitPromise = waitForRendererPort('/content/.mdsite/live.log', 3000, { retryIntervalMs: 25, timeoutMs: 200 });
162
+ await vi.advanceTimersByTimeAsync(75);
163
+ await expect(waitPromise).resolves.toBe(3002);
164
+ expect(readFileMock.mock.calls.length).toBeGreaterThanOrEqual(2);
165
+ });
130
166
  });
131
167
  //# sourceMappingURL=child-process.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"child-process.test.js","sourceRoot":"","sources":["../../src/process/child-process.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"child-process.test.js","sourceRoot":"","sources":["../../src/process/child-process.test.ts"],"names":[],"mappings":"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"}
@@ -9,9 +9,17 @@ export interface RuntimeProcessState {
9
9
  command: string[];
10
10
  startedAt: string;
11
11
  }
12
- export declare function getRuntimeDir(configDir: string, config: MdsiteConfig): string;
13
- export declare function getRuntimeLogPath(configDir: string, config: MdsiteConfig, kind: RuntimeProcessKind): string;
14
- export declare function readRuntimeState(configDir: string, config: MdsiteConfig, kind: RuntimeProcessKind): Promise<RuntimeProcessState | null>;
15
- export declare function writeRuntimeState(configDir: string, config: MdsiteConfig, state: RuntimeProcessState): Promise<void>;
16
- export declare function clearRuntimeState(configDir: string, config: MdsiteConfig, kind: RuntimeProcessKind): Promise<void>;
12
+ /**
13
+ * Working directory for tracked detached processes.
14
+ *
15
+ * Anchored on the content directory (not the config directory) so that
16
+ * `<paths.build>` and `<paths.output>` resolve relative to the project the
17
+ * user is building, even when `paths.input` points the CLI at a sub-folder
18
+ * of the config directory.
19
+ */
20
+ export declare function getRuntimeDir(contentDir: string, config: MdsiteConfig): string;
21
+ export declare function getRuntimeLogPath(contentDir: string, config: MdsiteConfig, kind: RuntimeProcessKind): string;
22
+ export declare function readRuntimeState(contentDir: string, config: MdsiteConfig, kind: RuntimeProcessKind): Promise<RuntimeProcessState | null>;
23
+ export declare function writeRuntimeState(contentDir: string, config: MdsiteConfig, state: RuntimeProcessState): Promise<void>;
24
+ export declare function clearRuntimeState(contentDir: string, config: MdsiteConfig, kind: RuntimeProcessKind): Promise<void>;
17
25
  export declare function isProcessRunning(pid: number): boolean;
@@ -1,13 +1,25 @@
1
1
  import { mkdir, readFile, rm, writeFile } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
- export function getRuntimeDir(configDir, config) {
4
- return path.resolve(configDir, config.server.path);
3
+ const RUNTIME_BASENAME = {
4
+ start: 'live',
5
+ preview: 'static'
6
+ };
7
+ /**
8
+ * Working directory for tracked detached processes.
9
+ *
10
+ * Anchored on the content directory (not the config directory) so that
11
+ * `<paths.build>` and `<paths.output>` resolve relative to the project the
12
+ * user is building, even when `paths.input` points the CLI at a sub-folder
13
+ * of the config directory.
14
+ */
15
+ export function getRuntimeDir(contentDir, config) {
16
+ return path.resolve(contentDir, config.paths.build);
5
17
  }
6
- export function getRuntimeLogPath(configDir, config, kind) {
7
- return path.join(getRuntimeDir(configDir, config), `${kind}.log`);
18
+ export function getRuntimeLogPath(contentDir, config, kind) {
19
+ return path.join(getRuntimeDir(contentDir, config), `${RUNTIME_BASENAME[kind]}.log`);
8
20
  }
9
- export async function readRuntimeState(configDir, config, kind) {
10
- const statePath = getStatePath(configDir, config, kind);
21
+ export async function readRuntimeState(contentDir, config, kind) {
22
+ const statePath = getStatePath(contentDir, config, kind);
11
23
  try {
12
24
  const content = await readFile(statePath, 'utf8');
13
25
  return JSON.parse(content);
@@ -16,12 +28,12 @@ export async function readRuntimeState(configDir, config, kind) {
16
28
  return null;
17
29
  }
18
30
  }
19
- export async function writeRuntimeState(configDir, config, state) {
20
- await mkdir(getRuntimeDir(configDir, config), { recursive: true });
21
- await writeFile(getStatePath(configDir, config, state.kind), `${JSON.stringify(state, null, 2)}\n`, 'utf8');
31
+ export async function writeRuntimeState(contentDir, config, state) {
32
+ await mkdir(getRuntimeDir(contentDir, config), { recursive: true });
33
+ await writeFile(getStatePath(contentDir, config, state.kind), `${JSON.stringify(state, null, 2)}\n`, 'utf8');
22
34
  }
23
- export async function clearRuntimeState(configDir, config, kind) {
24
- await rm(getStatePath(configDir, config, kind), { force: true });
35
+ export async function clearRuntimeState(contentDir, config, kind) {
36
+ await rm(getStatePath(contentDir, config, kind), { force: true });
25
37
  }
26
38
  export function isProcessRunning(pid) {
27
39
  try {
@@ -32,7 +44,7 @@ export function isProcessRunning(pid) {
32
44
  return false;
33
45
  }
34
46
  }
35
- function getStatePath(configDir, config, kind) {
36
- return path.join(getRuntimeDir(configDir, config), `${kind}.json`);
47
+ function getStatePath(contentDir, config, kind) {
48
+ return path.join(getRuntimeDir(contentDir, config), `${RUNTIME_BASENAME[kind]}.json`);
37
49
  }
38
50
  //# sourceMappingURL=runtime-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-state.js","sourceRoot":"","sources":["../../src/process/runtime-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,IAAI,MAAM,WAAW,CAAA;AAe5B,MAAM,UAAU,aAAa,CAAC,SAAiB,EAAE,MAAoB;IACnE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,MAAoB,EAAE,IAAwB;IACjG,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,MAAM,CAAC,CAAA;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAiB,EAAE,MAAoB,EAAE,IAAwB;IACtG,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACvD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QACjD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAwB,CAAA;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,SAAiB,EAAE,MAAoB,EAAE,KAA0B;IACzG,MAAM,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAClE,MAAM,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAC7G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,SAAiB,EAAE,MAAoB,EAAE,IAAwB;IACvG,MAAM,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AAClE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB,EAAE,MAAoB,EAAE,IAAwB;IACrF,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,OAAO,CAAC,CAAA;AACpE,CAAC"}
1
+ {"version":3,"file":"runtime-state.js","sourceRoot":"","sources":["../../src/process/runtime-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,IAAI,MAAM,WAAW,CAAA;AAK5B,MAAM,gBAAgB,GAAuC;IAC3D,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,QAAQ;CAClB,CAAA;AAYD;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,UAAkB,EAAE,MAAoB;IACpE,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAAkB,EAAE,MAAoB,EAAE,IAAwB;IAClG,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACtF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAkB,EAAE,MAAoB,EAAE,IAAwB;IACvG,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACxD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QACjD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAwB,CAAA;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB,EAAE,MAAoB,EAAE,KAA0B;IAC1G,MAAM,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACnE,MAAM,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAC9G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB,EAAE,MAAoB,EAAE,IAAwB;IACxG,MAAM,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AACnE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,UAAkB,EAAE,MAAoB,EAAE,IAAwB;IACtF,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACvF,CAAC"}
@@ -4,12 +4,10 @@ import path from 'node:path';
4
4
  import { afterEach, describe, expect, it, vi } from 'vitest';
5
5
  import { clearRuntimeState, getRuntimeDir, getRuntimeLogPath, isProcessRunning, readRuntimeState, writeRuntimeState } from './runtime-state.js';
6
6
  const config = {
7
- favicon: '',
8
- features: { bibleTooltips: true, sourceEdit: true },
7
+ features: { bibleTooltips: true, sourceEdit: '', footer: [] },
9
8
  menu: [],
10
- footer: [],
11
- server: { output: '.output', path: '.renderer', repo: 'repo', gitBranch: 'main' },
12
- site: { canonical: '', name: 'Docs' },
9
+ paths: { input: '', build: '.renderer', output: '.output' },
10
+ site: { canonical: '', favicon: '', name: 'Docs' },
13
11
  themes: { light: { colors: {} }, dark: { colors: {} } }
14
12
  };
15
13
  const tempDirs = [];
@@ -25,15 +23,17 @@ afterEach(async () => {
25
23
  describe('runtime-state helpers', () => {
26
24
  it('builds runtime and log paths under the configured server path', () => {
27
25
  expect(getRuntimeDir('/content', config)).toBe(path.join('/content', '.renderer'));
28
- expect(getRuntimeLogPath('/content', config, 'preview')).toBe(path.join('/content', '.renderer', 'preview.log'));
29
- expect(getRuntimeLogPath('/content', config, 'start')).toBe(path.join('/content', '.renderer', 'start.log'));
26
+ expect(getRuntimeLogPath('/content', config, 'preview')).toBe(path.join('/content', '.renderer', 'static.log'));
27
+ expect(getRuntimeLogPath('/content', config, 'start')).toBe(path.join('/content', '.renderer', 'live.log'));
28
+ expect(getRuntimeLogPath('/content', config, 'preview')).not.toBe(path.join('/content', '.renderer', 'preview.log'));
29
+ expect(getRuntimeLogPath('/content', config, 'start')).not.toBe(path.join('/content', '.renderer', 'start.log'));
30
30
  });
31
31
  it('writes, reads, and clears runtime state', async () => {
32
32
  const contentDir = await makeTempDir();
33
33
  const state = {
34
34
  kind: 'start',
35
35
  pid: 321,
36
- logPath: '/tmp/start.log',
36
+ logPath: '/tmp/live.log',
37
37
  rendererDir: '/renderer',
38
38
  contentDir,
39
39
  command: ['npm', 'run', 'dev'],
@@ -41,7 +41,7 @@ describe('runtime-state helpers', () => {
41
41
  };
42
42
  await writeRuntimeState(contentDir, config, state);
43
43
  expect(await readRuntimeState(contentDir, config, 'start')).toEqual(state);
44
- const raw = await readFile(path.join(getRuntimeDir(contentDir, config), 'start.json'), 'utf8');
44
+ const raw = await readFile(path.join(getRuntimeDir(contentDir, config), 'live.json'), 'utf8');
45
45
  expect(raw.endsWith('\n')).toBe(true);
46
46
  await clearRuntimeState(contentDir, config, 'start');
47
47
  await expect(readRuntimeState(contentDir, config, 'start')).resolves.toBeNull();
@@ -50,7 +50,7 @@ describe('runtime-state helpers', () => {
50
50
  const contentDir = await makeTempDir();
51
51
  expect(await readRuntimeState(contentDir, config, 'preview')).toBeNull();
52
52
  const runtimeDir = getRuntimeDir(contentDir, config);
53
- await import('node:fs/promises').then(({ mkdir, writeFile }) => mkdir(runtimeDir, { recursive: true }).then(() => writeFile(path.join(runtimeDir, 'preview.json'), '{oops', 'utf8')));
53
+ await import('node:fs/promises').then(({ mkdir, writeFile }) => mkdir(runtimeDir, { recursive: true }).then(() => writeFile(path.join(runtimeDir, 'static.json'), '{oops', 'utf8')));
54
54
  await expect(readRuntimeState(contentDir, config, 'preview')).resolves.toBeNull();
55
55
  });
56
56
  it('detects running processes by probing process.kill', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-state.test.js","sourceRoot":"","sources":["../../src/process/runtime-state.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-state.test.js","sourceRoot":"","sources":["../../src/process/runtime-state.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAI5D,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,oBAAoB,CAAA;AAE3B,MAAM,MAAM,GAAiB;IAC3B,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IAC7D,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE;IAC3D,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IAClD,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;CACxD,CAAA;AAED,MAAM,QAAQ,GAAa,EAAE,CAAA;AAE7B,KAAK,UAAU,WAAW;IACxB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAA;IAClE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClB,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,EAAE,CAAC,eAAe,EAAE,CAAA;IACpB,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAC/F,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;QAClF,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;QAC/G,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAA;QAC3G,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAA;QACpH,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAA;IAClH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,UAAU,GAAG,MAAM,WAAW,EAAE,CAAA;QACtC,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,OAAgB;YACtB,GAAG,EAAE,GAAG;YACR,OAAO,EAAE,eAAe;YACxB,WAAW,EAAE,WAAW;YACxB,UAAU;YACV,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAC9B,SAAS,EAAE,0BAA0B;SACtC,CAAA;QAED,MAAM,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QAElD,MAAM,CAAC,MAAM,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAE1E,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAA;QAC7F,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAErC,MAAM,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QACpD,MAAM,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAA;IACjF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,UAAU,GAAG,MAAM,WAAW,EAAE,CAAA;QACtC,MAAM,CAAC,MAAM,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;QAExE,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACpD,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;QAEpL,MAAM,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAA;IACnF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACzC,OAAO,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,IAAa,CAAC,CAAA;QACnD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAExC,OAAO,CAAC,sBAAsB,CAAC,GAAG,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -2,8 +2,34 @@ import type { MdsiteConfig } from '../config/mdsite-config.js';
2
2
  export declare function getBundledRendererDir(): string;
3
3
  export declare function isInsideNodeModules(targetDir: string): boolean;
4
4
  interface PreparedRenderer {
5
+ /**
6
+ * Where the renderer scripts run (`npm run dev` / `generate` / `preview`).
7
+ * In production this is `<configDir>/<paths.build>` (a materialized copy of
8
+ * the bundled renderer). In dev, when the CLI is run from this repo, it is
9
+ * the checked-in `mdsite-nuxt/` submodule.
10
+ */
5
11
  rendererDir: string;
12
+ /**
13
+ * Environment to pass to renderer scripts. Includes the bridge vars
14
+ * (`NUXT_CONTENT_PATH`, `CONTENT_DIR`, `MDSITE_CONFIG_PATH`) and, in dev
15
+ * mode, `MDSITE_NITRO_OUTPUT_DIR` pointing the build output at
16
+ * `<configDir>/<paths.build>/.output/` instead of inside the submodule.
17
+ */
6
18
  rendererEnv: NodeJS.ProcessEnv;
19
+ /**
20
+ * Absolute path of the renderer's Nitro build output directory (the
21
+ * directory that contains `public/` after a successful `npm run generate`).
22
+ *
23
+ * - Production: `<configDir>/<paths.build>/.output` (Nitro's default inside
24
+ * the materialized copy).
25
+ * - Dev: `<configDir>/<paths.build>/.output` (set via `MDSITE_NITRO_OUTPUT_DIR`
26
+ * so the build lands alongside the rest of the CLI's working state rather
27
+ * than inside the `mdsite-nuxt/` submodule).
28
+ *
29
+ * `mdsite clean` removes `<configDir>/<paths.build>` entirely, which
30
+ * covers this path in both modes.
31
+ */
32
+ rendererOutputDir: string;
7
33
  }
8
34
  interface PrepareRendererOptions {
9
35
  configDir?: string;
@@ -19,7 +45,6 @@ export declare function previewRendererInBackground(rendererDir: string, env: No
19
45
  export declare function previewRendererForeground(rendererDir: string, env: NodeJS.ProcessEnv): Promise<void>;
20
46
  export declare function generateRenderer(rendererDir: string, env: NodeJS.ProcessEnv): Promise<void>;
21
47
  export declare function prepareRendererBackend(rendererDir: string, env: NodeJS.ProcessEnv): Promise<void>;
22
- export declare function hasPreviewArtifacts(rendererDir: string): Promise<boolean>;
23
- export declare function ensurePreviewArtifacts(rendererDir: string): Promise<void>;
24
- export declare function getRendererGeneratedOutputPath(rendererDir: string): string;
48
+ export declare function hasPreviewArtifacts(rendererOutputDir: string): Promise<boolean>;
49
+ export declare function ensurePreviewArtifacts(rendererOutputDir: string): Promise<void>;
25
50
  export {};
@@ -24,35 +24,44 @@ export async function prepareConfiguredRenderer(contentDir, config, options = {}
24
24
  }
25
25
  export async function ensureConfiguredRendererInstalled(contentDir, config, options = {}) {
26
26
  const rendererBaseDir = options.configDir ?? contentDir;
27
- const rendererDir = path.resolve(rendererBaseDir, config.server.path);
27
+ const rendererDir = path.resolve(rendererBaseDir, config.paths.build);
28
28
  await ensureDirectoryIsAvailable(rendererDir);
29
- const preserveFiles = new Set();
30
- for (const name of ['package.json', 'package-lock.json']) {
31
- if (await pathExists(path.join(rendererDir, name))) {
32
- preserveFiles.add(name);
33
- }
34
- }
35
29
  if (rendererDir !== checkedInRendererDir) {
36
30
  await cp(checkedInRendererDir, rendererDir, {
37
31
  recursive: true,
38
32
  force: true,
39
- filter: (sourcePath) => shouldCopyRendererPath(sourcePath, preserveFiles)
33
+ filter: shouldCopyRendererPath
40
34
  });
41
35
  }
42
36
  return rendererDir;
43
37
  }
44
38
  async function prepareRendererEnvironment(contentDir, config, rendererDir, configPath) {
45
39
  await writeCompatibilityConfigFile(rendererDir, contentDir, config);
40
+ // In dev mode, the renderer IS the checked-in submodule. Redirect Nitro's
41
+ // output to `<configDir>/<paths.build>/.output` so the build artifact lives
42
+ // alongside the rest of the CLI's working state (covered by `mdsite clean`)
43
+ // instead of inside the submodule source tree.
44
+ const isDevRenderer = !isInsideNodeModules(checkedInRendererDir) && path.resolve(rendererDir) === path.resolve(checkedInRendererDir);
45
+ const rendererOutputDir = isDevRenderer
46
+ ? path.resolve(contentDir, config.paths.build, '.output')
47
+ : path.join(rendererDir, '.output');
48
+ if (isDevRenderer) {
49
+ await mkdir(rendererOutputDir, { recursive: true });
50
+ }
46
51
  const rendererEnv = {
47
52
  ...process.env,
48
53
  NUXT_CONTENT_PATH: contentDir,
49
54
  CONTENT_DIR: contentDir,
50
55
  MDSITE_CONFIG_PATH: configPath ?? path.join(contentDir, 'mdsite.yml')
51
56
  };
57
+ if (isDevRenderer) {
58
+ rendererEnv.MDSITE_NITRO_OUTPUT_DIR = rendererOutputDir;
59
+ }
52
60
  await writeEnvFile(rendererDir, rendererEnv);
53
61
  return {
54
62
  rendererDir,
55
- rendererEnv
63
+ rendererEnv,
64
+ rendererOutputDir
56
65
  };
57
66
  }
58
67
  export async function ensureRendererDependencies(rendererDir) {
@@ -83,9 +92,9 @@ export async function generateRenderer(rendererDir, env) {
83
92
  export async function prepareRendererBackend(rendererDir, env) {
84
93
  await runRendererScript(rendererDir, env, 'prepare:renderer');
85
94
  }
86
- export async function hasPreviewArtifacts(rendererDir) {
95
+ export async function hasPreviewArtifacts(rendererOutputDir) {
87
96
  const previewArtifacts = [
88
- path.join(rendererDir, '.output', 'public')
97
+ path.join(rendererOutputDir, 'public')
89
98
  ];
90
99
  for (const artifactPath of previewArtifacts) {
91
100
  try {
@@ -97,14 +106,11 @@ export async function hasPreviewArtifacts(rendererDir) {
97
106
  }
98
107
  return true;
99
108
  }
100
- export async function ensurePreviewArtifacts(rendererDir) {
101
- if (!(await hasPreviewArtifacts(rendererDir))) {
109
+ export async function ensurePreviewArtifacts(rendererOutputDir) {
110
+ if (!(await hasPreviewArtifacts(rendererOutputDir))) {
102
111
  throw new Error('Preview is unavailable. Run `mdsite generate` before `mdsite static`.');
103
112
  }
104
113
  }
105
- export function getRendererGeneratedOutputPath(rendererDir) {
106
- return path.join(rendererDir, '.output', 'public');
107
- }
108
114
  async function resolveRendererDir(rendererBaseDir, config, options = {}) {
109
115
  if (isInsideNodeModules(checkedInRendererDir)) {
110
116
  return ensureConfiguredRendererInstalled(rendererBaseDir, config, options);
@@ -115,7 +121,7 @@ async function resolveRendererDir(rendererBaseDir, config, options = {}) {
115
121
  return checkedInRendererDir;
116
122
  }
117
123
  async function resolveConfiguredRendererDir(contentDir, config) {
118
- const rendererDir = path.resolve(contentDir, config.server.path);
124
+ const rendererDir = path.resolve(contentDir, config.paths.build);
119
125
  let rendererStats;
120
126
  try {
121
127
  rendererStats = await stat(rendererDir);
@@ -141,15 +147,9 @@ async function ensureDirectoryIsAvailable(directoryPath) {
141
147
  throw new Error(`Configured renderer path is not a directory: ${directoryPath}`);
142
148
  }
143
149
  }
144
- function shouldCopyRendererPath(sourcePath, preserveFiles) {
150
+ function shouldCopyRendererPath(sourcePath) {
145
151
  const baseName = path.basename(sourcePath);
146
- if (rendererCopyIgnoredNames.has(baseName)) {
147
- return false;
148
- }
149
- if ((baseName === 'package.json' || baseName === 'package-lock.json') && preserveFiles.has(baseName)) {
150
- return false;
151
- }
152
- return true;
152
+ return !rendererCopyIgnoredNames.has(baseName);
153
153
  }
154
154
  async function writeEnvFile(rendererDir, env) {
155
155
  const envLines = [
@@ -157,6 +157,9 @@ async function writeEnvFile(rendererDir, env) {
157
157
  `CONTENT_DIR=${serializeEnvValue(env.CONTENT_DIR)}`,
158
158
  `MDSITE_CONFIG_PATH=${serializeEnvValue(env.MDSITE_CONFIG_PATH)}`
159
159
  ];
160
+ if (env.MDSITE_NITRO_OUTPUT_DIR) {
161
+ envLines.push(`MDSITE_NITRO_OUTPUT_DIR=${serializeEnvValue(env.MDSITE_NITRO_OUTPUT_DIR)}`);
162
+ }
160
163
  await writeFile(path.join(rendererDir, '.env'), `${envLines.join('\n')}\n`, 'utf8');
161
164
  }
162
165
  async function writeCompatibilityConfigFile(rendererDir, contentDir, config) {
@@ -164,8 +167,10 @@ async function writeCompatibilityConfigFile(rendererDir, contentDir, config) {
164
167
  siteName: config.site.name,
165
168
  siteCanonical: config.site.canonical,
166
169
  contentPath: contentDir,
167
- contentGitRepo: config.server.repo,
168
- features: config.features,
170
+ features: {
171
+ 'bible-tooltips': config.features.bibleTooltips,
172
+ 'source-edit': config.features.sourceEdit
173
+ },
169
174
  themes: config.themes
170
175
  };
171
176
  await writeFile(path.join(rendererDir, 'content.config.yml'), YAML.stringify(compatibilityConfig), 'utf8');
@@ -1 +1 @@
1
- {"version":3,"file":"mdsite-nuxt.js","sourceRoot":"","sources":["../../src/renderer/mdsite-nuxt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mdsite-nuxt.js","sourceRoot":"","sources":["../../src/renderer/mdsite-nuxt.ts"],"names":[],"mappings":"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"}