Skip to content

Commit d936436

Browse files
committed
Refactor code structure for improved readability and maintainability
1 parent 78f1317 commit d936436

File tree

19 files changed

+253
-423
lines changed

19 files changed

+253
-423
lines changed

.storybook/msw-browser.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,16 @@ export async function startMockServer() {
2828
}
2929

3030
const driver = new InMemoryDriver();
31-
kernel = new ObjectKernel();
31+
kernel = new ObjectKernel({
32+
skipSystemValidation: true
33+
});
3234

3335
try {
34-
kernel
35-
.use(new ObjectQLPlugin())
36-
.use(new DriverPlugin(driver, 'memory'));
36+
await kernel.use(new ObjectQLPlugin());
37+
await kernel.use(new DriverPlugin(driver, 'memory'));
3738

3839
if (crmConfig) {
39-
kernel.use(new AppPlugin(crmConfig));
40+
await kernel.use(new AppPlugin(crmConfig));
4041
} else {
4142
console.error('❌ CRM Config is missing! Skipping AppPlugin.');
4243
}
@@ -47,7 +48,7 @@ export async function startMockServer() {
4748
logRequests: true
4849
});
4950

50-
kernel.use(mswPlugin);
51+
await kernel.use(mswPlugin);
5152

5253
console.log('[Storybook MSW] Bootstrapping kernel...');
5354
await kernel.bootstrap();

apps/console/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@
4242
"@object-ui/plugin-timeline": "workspace:*",
4343
"@object-ui/react": "workspace:*",
4444
"@object-ui/types": "workspace:*",
45-
"@objectstack/client": "^0.9.0",
46-
"@objectstack/driver-memory": "^0.9.0",
47-
"@objectstack/objectql": "^0.9.0",
48-
"@objectstack/plugin-msw": "^0.9.0",
49-
"@objectstack/runtime": "^0.9.0",
50-
"@objectstack/spec": "^0.9.0",
45+
"@objectstack/client": "^1.0.1",
46+
"@objectstack/driver-memory": "^1.0.1",
47+
"@objectstack/objectql": "^1.0.1",
48+
"@objectstack/plugin-msw": "^1.0.1",
49+
"@objectstack/runtime": "^1.0.1",
50+
"@objectstack/spec": "^1.0.1",
5151
"lucide-react": "^0.563.0",
5252
"react": "^19.2.4",
5353
"react-dom": "^19.2.4",

apps/console/src/mocks/browser.ts

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,24 +25,25 @@ export async function startMockServer() {
2525
driver = new InMemoryDriver();
2626

2727
// Create kernel with MiniKernel architecture
28-
kernel = new ObjectKernel();
28+
kernel = new ObjectKernel({
29+
skipSystemValidation: true
30+
});
2931

30-
kernel
31-
// Register ObjectQL engine
32-
.use(new ObjectQLPlugin())
32+
// Register ObjectQL engine
33+
await kernel.use(new ObjectQLPlugin())
3334

34-
// Register the driver
35-
.use(new DriverPlugin(driver, 'memory'))
35+
// Register the driver
36+
await kernel.use(new DriverPlugin(driver, 'memory'))
3637

37-
// Load app config as a plugin
38-
.use(new AppPlugin(appConfig))
38+
// Load app config as a plugin
39+
await kernel.use(new AppPlugin(appConfig))
3940

40-
// MSW Plugin (intercepts network requests)
41-
.use(new MSWPlugin({
42-
enableBrowser: true,
43-
baseUrl: '/api/v1',
44-
logRequests: true
45-
}));
41+
// MSW Plugin (intercepts network requests)
42+
await kernel.use(new MSWPlugin({
43+
enableBrowser: true,
44+
baseUrl: '/api/v1',
45+
logRequests: true
46+
}));
4647

4748
await kernel.bootstrap();
4849

apps/console/src/mocks/server.ts

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,13 @@ export async function startMockServer() {
2727
driver = new InMemoryDriver();
2828

2929
// Create kernel
30-
kernel = new ObjectKernel();
30+
kernel = new ObjectKernel({
31+
skipSystemValidation: true
32+
});
3133

32-
kernel
33-
.use(new ObjectQLPlugin())
34-
.use(new DriverPlugin(driver, 'memory'))
35-
.use(new AppPlugin(appConfig));
34+
await kernel.use(new ObjectQLPlugin());
35+
await kernel.use(new DriverPlugin(driver, 'memory'));
36+
await kernel.use(new AppPlugin(appConfig));
3637

3738
// Bootstrap kernel WITHOUT MSW plugin (we'll handle MSW separately for tests)
3839
await kernel.bootstrap();
@@ -51,9 +52,10 @@ export async function startMockServer() {
5152
}
5253
}
5354

54-
// Create MSW handlers manually
55-
const baseUrl = 'http://localhost:3000/api/v1';
56-
const handlers = createHandlers(baseUrl, kernel, driver!);
55+
// Create MSW handlers manually for both paths to ensure compatibility with client defaults
56+
const v1Handlers = createHandlers('http://localhost:3000/api/v1', kernel, driver!);
57+
const legacyHandlers = createHandlers('http://localhost:3000/api', kernel, driver!);
58+
const handlers = [...v1Handlers, ...legacyHandlers];
5759

5860
// Setup MSW server for Node.js environment
5961
server = setupServer(...handlers);
@@ -179,14 +181,17 @@ function createHandlers(baseUrl: string, kernel: ObjectKernel, driver: InMemoryD
179181
http.get(`${baseUrl}/data/:objectName/:id`, async ({ params }) => {
180182
try {
181183
console.log('MSW: getData', params.objectName, params.id);
182-
// Use driver directly
183-
// Try simple find first
184-
const records = await driver.find(params.objectName as string, {
185-
object: params.objectName as string,
186-
where: [['_id', '=', params.id]]
184+
185+
// Fetch ALL records for the object to ensure we find it regardless of driver query syntax quirks
186+
const allRecords = await driver.find(params.objectName as string, {
187+
object: params.objectName as string
187188
});
188-
// Manual filter to ensure we get the correct record if driver ignores filters
189-
const record = records ? records.find((r: any) => r.id === params.id || r._id === params.id) : null;
189+
190+
// Manual filter
191+
const record = allRecords ? allRecords.find((r: any) =>
192+
String(r.id) === String(params.id) ||
193+
String(r._id) === String(params.id)
194+
) : null;
190195

191196
console.log('MSW: getData result', JSON.stringify(record));
192197
return HttpResponse.json(record, { status: record ? 200 : 404 });

examples/crm/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515
"start": "tsx server.ts"
1616
},
1717
"dependencies": {
18-
"@objectstack/core": "^0.9.0",
19-
"@objectstack/runtime": "^0.9.0",
20-
"@objectstack/spec": "^0.9.0",
18+
"@objectstack/core": "^1.0.1",
19+
"@objectstack/runtime": "^1.0.1",
20+
"@objectstack/spec": "^1.0.1",
2121
"pino": "^8.21.0"
2222
},
2323
"devDependencies": {
24-
"@objectstack/cli": "^0.9.0",
24+
"@objectstack/cli": "^1.0.1",
2525
"typescript": "^5.0.0"
2626
}
2727
}

examples/crm/server.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,25 +25,26 @@ async function startServer() {
2525
// Initialize Kernel
2626
const kernel = new ObjectKernel({
2727
logger,
28+
skipSystemValidation: true
2829
});
2930

3031
// 1. Core Engine (ObjectQL)
3132
const qlPlugin = new ObjectQLPlugin();
32-
kernel.use(qlPlugin);
33+
await kernel.use(qlPlugin);
3334

3435
// 2. Data Driver (Memory)
3536
const memoryDriver = new InMemoryDriver();
3637
const driverPlugin = new DriverPlugin(memoryDriver);
37-
kernel.use(driverPlugin);
38+
await kernel.use(driverPlugin);
3839

3940
// 3. Application (crm_app from config)
4041
// The config export from defineStack is treated as an App Bundle or Manifest
4142
const appPlugin = new AppPlugin(config);
42-
kernel.use(appPlugin);
43+
await kernel.use(appPlugin);
4344

4445
// 4. HTTP Server
4546
const serverPlugin = new HonoServerPlugin({ port: 3000 });
46-
kernel.use(serverPlugin);
47+
await kernel.use(serverPlugin);
4748

4849
// 5. Console Plugin
4950
const consolePlugin = new ConsolePlugin();

examples/kitchen-sink/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
"build": "objectstack compile objectstack.config.ts dist/objectstack.json"
1414
},
1515
"dependencies": {
16-
"@objectstack/spec": "^0.9.0"
16+
"@objectstack/spec": "^1.0.1"
1717
},
1818
"devDependencies": {
19-
"@objectstack/cli": "^0.9.0",
19+
"@objectstack/cli": "^1.0.1",
2020
"typescript": "^5.0.0"
2121
}
2222
}

examples/msw-todo/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@
1111
},
1212
"dependencies": {
1313
"@object-ui/example-todo": "workspace:*",
14-
"@objectstack/client": "^0.9.0",
15-
"@objectstack/driver-memory": "^0.9.0",
16-
"@objectstack/objectql": "^0.9.0",
17-
"@objectstack/plugin-msw": "^0.9.0",
18-
"@objectstack/runtime": "^0.9.0",
19-
"@objectstack/spec": "^0.9.0",
14+
"@objectstack/client": "^1.0.1",
15+
"@objectstack/driver-memory": "^1.0.1",
16+
"@objectstack/objectql": "^1.0.1",
17+
"@objectstack/plugin-msw": "^1.0.1",
18+
"@objectstack/runtime": "^1.0.1",
19+
"@objectstack/spec": "^1.0.1",
2020
"react": "^18.3.1",
2121
"react-dom": "^18.3.1"
2222
},

examples/msw-todo/src/mocks/browser.ts

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,24 +22,25 @@ export async function startMockServer() {
2222
const driver = new InMemoryDriver();
2323

2424
// Create kernel with MiniKernel architecture
25-
kernel = new ObjectKernel();
26-
27-
kernel
28-
// Register ObjectQL engine
29-
.use(new ObjectQLPlugin())
25+
kernel = new ObjectKernel({
26+
skipSystemValidation: true
27+
});
28+
29+
// Register ObjectQL engine
30+
await kernel.use(new ObjectQLPlugin())
3031

31-
// Register the driver
32-
.use(new DriverPlugin(driver, 'memory'))
32+
// Register the driver
33+
await kernel.use(new DriverPlugin(driver, 'memory'))
3334

34-
// Load todo app config as a plugin
35-
.use(new AppPlugin(todoConfig))
35+
// Load todo app config as a plugin
36+
await kernel.use(new AppPlugin(todoConfig))
3637

37-
// MSW Plugin (intercepts network requests)
38-
.use(new MSWPlugin({
39-
enableBrowser: true,
40-
baseUrl: '/api/v1',
41-
logRequests: true
42-
}));
38+
// MSW Plugin (intercepts network requests)
39+
await kernel.use(new MSWPlugin({
40+
enableBrowser: true,
41+
baseUrl: '/api/v1',
42+
logRequests: true
43+
}));
4344

4445
await kernel.bootstrap();
4546

examples/todo/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@
1111
"build": "objectstack compile objectstack.config.ts dist/objectstack.json"
1212
},
1313
"dependencies": {
14-
"@objectstack/client": "^0.9.0",
15-
"@objectstack/spec": "^0.9.0"
14+
"@objectstack/client": "^1.0.1",
15+
"@objectstack/spec": "^1.0.1"
1616
},
1717
"devDependencies": {
18-
"@objectstack/cli": "^0.9.0",
18+
"@objectstack/cli": "^1.0.1",
1919
"typescript": "^5.0.0"
2020
}
2121
}

0 commit comments

Comments
 (0)