@deessejs/cli 0.1.0 → 0.3.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.
- package/dist/commands/db-generate.d.ts +17 -0
- package/dist/commands/db-generate.d.ts.map +1 -0
- package/dist/commands/db-generate.js +67 -0
- package/dist/commands/db-generate.js.map +1 -0
- package/dist/commands/db-introspect.d.ts +16 -0
- package/dist/commands/db-introspect.d.ts.map +1 -0
- package/dist/commands/db-introspect.js +82 -0
- package/dist/commands/db-introspect.js.map +1 -0
- package/dist/commands/db-migrate.d.ts +16 -0
- package/dist/commands/db-migrate.d.ts.map +1 -0
- package/dist/commands/db-migrate.js +77 -0
- package/dist/commands/db-migrate.js.map +1 -0
- package/dist/commands/db-push.d.ts +18 -0
- package/dist/commands/db-push.d.ts.map +1 -0
- package/dist/commands/db-push.js +69 -0
- package/dist/commands/db-push.js.map +1 -0
- package/dist/commands/db-studio.d.ts +16 -0
- package/dist/commands/db-studio.d.ts.map +1 -0
- package/dist/commands/db-studio.js +72 -0
- package/dist/commands/db-studio.js.map +1 -0
- package/dist/commands/db.d.ts +17 -0
- package/dist/commands/db.d.ts.map +1 -0
- package/dist/commands/db.js +153 -0
- package/dist/commands/db.js.map +1 -0
- package/dist/index.js +45 -18
- package/dist/index.js.map +1 -1
- package/dist/utils/config.d.ts +15 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +47 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/dialect.d.ts +23 -0
- package/dist/utils/dialect.d.ts.map +1 -0
- package/dist/utils/dialect.js +82 -0
- package/dist/utils/dialect.js.map +1 -0
- package/dist/utils/schema-generator.d.ts +25 -0
- package/dist/utils/schema-generator.d.ts.map +1 -0
- package/dist/utils/schema-generator.js +157 -0
- package/dist/utils/schema-generator.js.map +1 -0
- package/dist/utils/schema-loader.d.ts +16 -0
- package/dist/utils/schema-loader.d.ts.map +1 -0
- package/dist/utils/schema-loader.js +46 -0
- package/dist/utils/schema-loader.js.map +1 -0
- package/package.json +9 -2
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema loader utility
|
|
3
|
+
*
|
|
4
|
+
* Dynamically imports the user's schema from ./src/db/schema.ts
|
|
5
|
+
* This is required because drizzle-kit's programmatic API takes schema objects,
|
|
6
|
+
* not file paths.
|
|
7
|
+
*/
|
|
8
|
+
declare const SCHEMA_PATH = "./src/db/schema.ts";
|
|
9
|
+
export { SCHEMA_PATH };
|
|
10
|
+
export interface SchemaLoaderResult {
|
|
11
|
+
schema: Record<string, unknown>;
|
|
12
|
+
schemaPath: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function loadSchema(): Promise<SchemaLoaderResult>;
|
|
15
|
+
export declare function verifySchemaPath(): Promise<string>;
|
|
16
|
+
//# sourceMappingURL=schema-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-loader.d.ts","sourceRoot":"","sources":["../../src/utils/schema-loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,QAAA,MAAM,WAAW,uBAAuB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,kBAAkB,CAAC,CA2B9D;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAaxD"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema loader utility
|
|
3
|
+
*
|
|
4
|
+
* Dynamically imports the user's schema from ./src/db/schema.ts
|
|
5
|
+
* This is required because drizzle-kit's programmatic API takes schema objects,
|
|
6
|
+
* not file paths.
|
|
7
|
+
*/
|
|
8
|
+
import * as path from 'node:path';
|
|
9
|
+
import * as url from 'node:url';
|
|
10
|
+
const SCHEMA_PATH = './src/db/schema.ts';
|
|
11
|
+
export { SCHEMA_PATH };
|
|
12
|
+
export async function loadSchema() {
|
|
13
|
+
const schemaPath = path.resolve(process.cwd(), SCHEMA_PATH);
|
|
14
|
+
// Dynamic import of the schema file
|
|
15
|
+
// This works because the user's tsconfig.json has @deesse-config alias
|
|
16
|
+
// and schema is at ./src/db/schema.ts
|
|
17
|
+
const schemaModule = await import(url.pathToFileURL(schemaPath).href);
|
|
18
|
+
// Extract all exports that are schema objects (tables, etc.)
|
|
19
|
+
const schema = {};
|
|
20
|
+
for (const [key, value] of Object.entries(schemaModule)) {
|
|
21
|
+
// Skip non-schema exports (like imports, types, etc.)
|
|
22
|
+
if (key === '__esModule' || key === 'default')
|
|
23
|
+
continue;
|
|
24
|
+
if (typeof value !== 'object' && typeof value !== 'function')
|
|
25
|
+
continue;
|
|
26
|
+
schema[key] = value;
|
|
27
|
+
}
|
|
28
|
+
if (Object.keys(schema).length === 0) {
|
|
29
|
+
throw new Error(`No schema objects found in ${SCHEMA_PATH}. ` +
|
|
30
|
+
`Please export your Drizzle tables from this file.`);
|
|
31
|
+
}
|
|
32
|
+
return { schema, schemaPath };
|
|
33
|
+
}
|
|
34
|
+
export async function verifySchemaPath() {
|
|
35
|
+
const { stat } = await import('node:fs/promises');
|
|
36
|
+
const schemaPath = path.resolve(process.cwd(), SCHEMA_PATH);
|
|
37
|
+
try {
|
|
38
|
+
await stat(schemaPath);
|
|
39
|
+
return schemaPath;
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
throw new Error(`Schema file not found: ${SCHEMA_PATH}\n` +
|
|
43
|
+
`Please create this file and export your Drizzle tables.`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=schema-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-loader.js","sourceRoot":"","sources":["../../src/utils/schema-loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAEhC,MAAM,WAAW,GAAG,oBAAoB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,CAAC;AAOvB,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;IAE5D,oCAAoC;IACpC,uEAAuE;IACvE,sCAAsC;IACtC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;IAEtE,6DAA6D;IAC7D,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACxD,sDAAsD;QACtD,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,SAAS;YAAE,SAAS;QACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU;YAAE,SAAS;QAEvE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,8BAA8B,WAAW,IAAI;YAC7C,mDAAmD,CACpD,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;IAE5D,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,0BAA0B,WAAW,IAAI;YACzC,yDAAyD,CAC1D,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deessejs/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "DeesseJS CLI for managing DeesseJS projects",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"deesse": "./bin/deesse.js"
|
|
8
8
|
},
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"types": "./dist/index.d.ts"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
9
15
|
"files": [
|
|
10
16
|
"bin",
|
|
11
17
|
"dist"
|
|
@@ -18,7 +24,8 @@
|
|
|
18
24
|
"author": "DeesseJS",
|
|
19
25
|
"license": "MIT",
|
|
20
26
|
"dependencies": {
|
|
21
|
-
"@clack/prompts": "^0.8.2"
|
|
27
|
+
"@clack/prompts": "^0.8.2",
|
|
28
|
+
"drizzle-kit": "^0.30.0"
|
|
22
29
|
},
|
|
23
30
|
"devDependencies": {
|
|
24
31
|
"@types/node": "^22.10.6",
|