Merge pull request #130 from misenhower/codex/fix-node-preview-startup

Fix backend startup without Vite environment
This commit is contained in:
Matt Isenhower
2026-09-27 17:16:56 -07:00
committed by GitHub
3 changed files with 23 additions and 3 deletions

View File

@@ -6,8 +6,8 @@ import { getEmptyPreviewData, usePagePreviewStore } from './pagePreview.mjs';
function defineEndpointStore(id, endpoint, transform = null) {
return defineStore(`data/${id}`, () => {
const loadedData = shallowRef(null);
const preview = import.meta.env.DEV ? usePagePreviewStore() : null;
const data = import.meta.env.DEV
const preview = import.meta.env?.DEV ? usePagePreviewStore() : null;
const data = import.meta.env?.DEV
? computed(() => preview.mode === 'empty' ? getEmptyPreviewData(id) : loadedData.value)
: loadedData;
const isUpdating = ref(false);

View File

@@ -0,0 +1,20 @@
import { execFileSync } from 'node:child_process';
import { describe, expect, it } from 'vitest';
describe('data stores in Node', () => {
it('initializes shared stores without Vite', () => {
const script = `
import { createPinia, setActivePinia } from 'pinia';
import { useDataStore } from './src/stores/data.mjs';
setActivePinia(createPinia());
useDataStore();
`;
expect(() => execFileSync(process.execPath, [
'--input-type=module',
'--eval',
script,
], { cwd: process.cwd(), stdio: 'pipe' })).not.toThrow();
});
});

View File

@@ -1,6 +1,6 @@
import { defineStore } from 'pinia';
export const usePagePreviewStore = import.meta.env.DEV
export const usePagePreviewStore = import.meta.env?.DEV
? defineStore('debug/pagePreview', {
state: () => ({ mode: 'live' }),
})