Skip to content

Commit d94fdf3

Browse files
authored
chore: update test schema generation (#105)
* chore: update test schema generation * break down large test suite into smaller ones
1 parent a61eb0c commit d94fdf3

27 files changed

+1608
-1362
lines changed

packages/runtime/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"watch": "tsup-node --watch",
99
"lint": "eslint src --ext ts",
1010
"test": "vitest run && pnpm test:generate && pnpm test:typecheck",
11-
"test:generate": "tsx test/typing/generate.ts",
11+
"test:generate": "tsx test/scripts/generate.ts",
1212
"test:typecheck": "tsc --project tsconfig.test.json",
1313
"pack": "pnpm pack"
1414
},
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { glob } from 'glob';
2+
import { TsSchemaGenerator } from '@zenstackhq/sdk';
3+
import path from 'node:path';
4+
import fs from 'node:fs';
5+
import { fileURLToPath } from 'node:url';
6+
7+
const dir = path.dirname(fileURLToPath(import.meta.url));
8+
9+
async function main() {
10+
await generate(path.resolve(dir, '../typing/typing-test.zmodel'));
11+
await generate(path.resolve(dir, '../test-schema/schema.zmodel'));
12+
}
13+
14+
async function generate(schemaPath: string) {
15+
const generator = new TsSchemaGenerator();
16+
const outputDir = path.dirname(schemaPath);
17+
const tsPath = path.join(outputDir, 'schema.ts');
18+
const pluginModelFiles = glob.sync(path.resolve(dir, '../../dist/**/plugin.zmodel'));
19+
await generator.generate(schemaPath, pluginModelFiles, outputDir);
20+
const content = fs.readFileSync(tsPath, 'utf-8');
21+
fs.writeFileSync(tsPath, content.replace(/@zenstackhq\/runtime/g, '../../dist'));
22+
console.log('TS schema generated at:', outputDir);
23+
}
24+
25+
main();

packages/runtime/test/test-schema.ts

Lines changed: 0 additions & 319 deletions
This file was deleted.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import type { DataSourceProviderType } from '@zenstackhq/sdk/schema';
2+
import { schema } from './schema';
3+
4+
export function getSchema<ProviderType extends DataSourceProviderType>(type: ProviderType) {
5+
return {
6+
...schema,
7+
provider: {
8+
type,
9+
},
10+
};
11+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export { getSchema } from './helper';
2+
export { schema } from './schema';

0 commit comments

Comments
 (0)