prisma-kysely 1.0.10 → 1.1.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/README.md +1 -1
- package/dist/__test__/e2e.test.js +44 -0
- package/dist/__test__/e2e.test.js.map +1 -0
- package/dist/dialectTests/common.js +59 -0
- package/dist/dialectTests/common.js.map +1 -0
- package/dist/dialectTests/mysql.js +37 -0
- package/dist/dialectTests/mysql.js.map +1 -0
- package/dist/dialectTests/postgresql.js +33 -0
- package/dist/dialectTests/postgresql.js.map +1 -0
- package/dist/dialectTests/sqlite.js +34 -0
- package/dist/dialectTests/sqlite.js.map +1 -0
- package/dist/generator.js +2 -2
- package/dist/generator.js.map +1 -1
- package/dist/helpers/generateDatabaseType.js +1 -1
- package/dist/helpers/generateDatabaseType.js.map +1 -1
- package/dist/helpers/generateDatabaseType.test.js +57 -0
- package/dist/helpers/generateDatabaseType.test.js.map +1 -0
- package/dist/helpers/{generateField.test copy.js → generateField.test.js} +14 -13
- package/dist/helpers/generateField.test.js.map +1 -0
- package/dist/helpers/generateFieldType.js +7 -7
- package/dist/helpers/generateFieldType.js.map +1 -1
- package/dist/helpers/{generateFieldType.test copy.js → generateFieldType.test.js} +18 -11
- package/dist/helpers/generateFieldType.test.js.map +1 -0
- package/dist/helpers/generateFile.test.js +10 -0
- package/dist/helpers/generateFile.test.js.map +1 -0
- package/dist/helpers/generateImplicitManyToManyModels.js.map +1 -1
- package/dist/helpers/{generateImplicitManyToManyModels.test copy.js → generateImplicitManyToManyModels.test.js} +4 -3
- package/dist/helpers/generateImplicitManyToManyModels.test.js.map +1 -0
- package/dist/helpers/generateModel.js +2 -2
- package/dist/helpers/generateModel.js.map +1 -1
- package/dist/helpers/{generateModel.test copy.js → generateModel.test.js} +55 -6
- package/dist/helpers/generateModel.test.js.map +1 -0
- package/dist/helpers/{generateStringLiteralUnion.test copy.js → generateStringLiteralUnion.test.js} +10 -9
- package/dist/helpers/generateStringLiteralUnion.test.js.map +1 -0
- package/dist/helpers/generateTypedAliasDeclaration.test.js +15 -0
- package/dist/helpers/generateTypedAliasDeclaration.test.js.map +1 -0
- package/dist/utils/formatFile.test.js +13 -0
- package/dist/utils/formatFile.test.js.map +1 -0
- package/dist/utils/normalizeCase.js.map +1 -1
- package/dist/utils/normalizeCase.test.js +23 -0
- package/dist/utils/normalizeCase.test.js.map +1 -0
- package/dist/utils/validateConfig.test.js +20 -0
- package/dist/utils/validateConfig.test.js.map +1 -0
- package/dist/utils/writeFileSafely.js +1 -1
- package/dist/utils/writeFileSafely.js.map +1 -1
- package/package.json +30 -12
- package/dist/helpers/generateDatabaseType.test copy.js +0 -31
- package/dist/helpers/generateDatabaseType.test copy.js.map +0 -1
- package/dist/helpers/generateField.test copy.js.map +0 -1
- package/dist/helpers/generateFieldType.test copy.js.map +0 -1
- package/dist/helpers/generateImplicitManyToManyModels copy.js +0 -86
- package/dist/helpers/generateImplicitManyToManyModels copy.js.map +0 -1
- package/dist/helpers/generateImplicitManyToManyModels.test copy.js.map +0 -1
- package/dist/helpers/generateModel.test copy.js.map +0 -1
- package/dist/helpers/generateStringLiteralUnion.test copy.js.map +0 -1
- package/dist/utils/ensureCasing.js +0 -12
- package/dist/utils/ensureCasing.js.map +0 -1
- package/dist/utils/formatFile.test copy.js +0 -12
- package/dist/utils/formatFile.test copy.js.map +0 -1
- package/dist/utils/isValidIdentifier.js +0 -5
- package/dist/utils/isValidIdentifier.js.map +0 -1
- package/dist/utils/validateConfig copy.js +0 -44
- package/dist/utils/validateConfig copy.js.map +0 -1
- package/dist/utils/validateConfig.test copy.js +0 -19
- package/dist/utils/validateConfig.test copy.js.map +0 -1
package/README.md
CHANGED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const child_process_1 = require("child_process");
|
|
7
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
|
8
|
+
const util_1 = require("util");
|
|
9
|
+
const vitest_1 = require("vitest");
|
|
10
|
+
const exec = (0, util_1.promisify)(child_process_1.exec);
|
|
11
|
+
(0, vitest_1.beforeEach)(async () => {
|
|
12
|
+
await promises_1.default.rename("./prisma", "./prisma-old").catch(() => { });
|
|
13
|
+
});
|
|
14
|
+
(0, vitest_1.afterEach)(async () => {
|
|
15
|
+
await promises_1.default
|
|
16
|
+
.rm("./prisma", {
|
|
17
|
+
force: true,
|
|
18
|
+
recursive: true,
|
|
19
|
+
})
|
|
20
|
+
.catch(() => { });
|
|
21
|
+
await promises_1.default.rename("./prisma-old", "./prisma").catch(() => { });
|
|
22
|
+
});
|
|
23
|
+
(0, vitest_1.test)("End to end test", async () => {
|
|
24
|
+
await exec("yarn prisma init --datasource-provider sqlite");
|
|
25
|
+
await promises_1.default.writeFile("./prisma/schema.prisma", `datasource db {
|
|
26
|
+
provider = "sqlite"
|
|
27
|
+
url = "file:./dev.db"
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
generator kysely {
|
|
31
|
+
provider = "node ./dist/bin.js"
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
model TestUser {
|
|
35
|
+
id String @id
|
|
36
|
+
name String
|
|
37
|
+
age Int
|
|
38
|
+
rating Float
|
|
39
|
+
updatedAt DateTime
|
|
40
|
+
}`);
|
|
41
|
+
await exec("yarn prisma db push");
|
|
42
|
+
await exec("yarn prisma generate");
|
|
43
|
+
}, { timeout: 20000 });
|
|
44
|
+
//# sourceMappingURL=e2e.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e2e.test.js","sourceRoot":"","sources":["../../src/__test__/e2e.test.ts"],"names":[],"mappings":";;;;;AAAA,iDAA+C;AAC/C,2DAA6B;AAC7B,+BAAiC;AACjC,mCAAwE;AAExE,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,oBAAM,CAAC,CAAC;AAE/B,IAAA,mBAAU,EAAC,KAAK,IAAI,EAAE;IACpB,MAAM,kBAAE,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;AAEH,IAAA,kBAAS,EAAC,KAAK,IAAI,EAAE;IACnB,MAAM,kBAAE;SACL,EAAE,CAAC,UAAU,EAAE;QACd,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;KAChB,CAAC;SACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACnB,MAAM,kBAAE,CAAC,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EACF,iBAAiB,EACjB,KAAK,IAAI,EAAE;IAET,MAAM,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAG5D,MAAM,kBAAE,CAAC,SAAS,CAChB,wBAAwB,EACxB;;;;;;;;;;;;;;;MAeA,CACD,CAAC;IAGF,MAAM,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC;AACrC,CAAC,EACD,EAAE,OAAO,EAAE,KAAK,EAAE,CACnB,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.preparePrisma = exports.generateSchema = exports.MYSQL_URL = exports.POSTGRES_URL = void 0;
|
|
7
|
+
const child_process_1 = require("child_process");
|
|
8
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
|
9
|
+
const util_1 = require("util");
|
|
10
|
+
const exec = (0, util_1.promisify)(child_process_1.exec);
|
|
11
|
+
exports.POSTGRES_URL = "postgres://postgres:postgres@localhost:22331/postgres";
|
|
12
|
+
exports.MYSQL_URL = "mysql://root:mysql@localhost:22332/test";
|
|
13
|
+
function generateDatasource(dialect) {
|
|
14
|
+
switch (dialect) {
|
|
15
|
+
case "sqlite":
|
|
16
|
+
return 'provider = "sqlite"\nurl = "file:./dev.db"';
|
|
17
|
+
case "postgresql":
|
|
18
|
+
return `provider = "postgresql"\nurl = "${exports.POSTGRES_URL}"`;
|
|
19
|
+
case "mysql":
|
|
20
|
+
return `provider = "mysql"\nurl = "${exports.MYSQL_URL}"`;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const generateSchema = (dialect) => {
|
|
24
|
+
return `datasource db {
|
|
25
|
+
${generateDatasource(dialect)}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
generator kysely {
|
|
29
|
+
provider = "node ./dist/bin.js"
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
model Widget {
|
|
33
|
+
int Int @id @default(autoincrement())
|
|
34
|
+
dateTime DateTime @default(now())
|
|
35
|
+
string String @default("hello")
|
|
36
|
+
boolean Boolean @default(true)
|
|
37
|
+
bytes Bytes
|
|
38
|
+
decimal Decimal @default(1.0)
|
|
39
|
+
bigInt BigInt @default(1)
|
|
40
|
+
float Float @default(1.0)
|
|
41
|
+
}`;
|
|
42
|
+
};
|
|
43
|
+
exports.generateSchema = generateSchema;
|
|
44
|
+
const preparePrisma = async (dialect) => {
|
|
45
|
+
console.log("🪄 Deleting old prisma directory");
|
|
46
|
+
await promises_1.default.rm("./prisma", { recursive: true, force: true });
|
|
47
|
+
console.log("🪄 Recreating prisma directory");
|
|
48
|
+
await promises_1.default.mkdir("./prisma");
|
|
49
|
+
console.log("🪄 Writing new schema");
|
|
50
|
+
await promises_1.default.writeFile("./prisma/schema.prisma", (0, exports.generateSchema)(dialect), {
|
|
51
|
+
encoding: "utf-8",
|
|
52
|
+
});
|
|
53
|
+
console.log("🪄 Pushing schema to db");
|
|
54
|
+
await exec("yarn prisma db push --force-reset");
|
|
55
|
+
console.log("🪄 Generating new types");
|
|
56
|
+
await exec("yarn prisma generate");
|
|
57
|
+
};
|
|
58
|
+
exports.preparePrisma = preparePrisma;
|
|
59
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/dialectTests/common.ts"],"names":[],"mappings":";;;;;;AAAA,iDAA+C;AAC/C,2DAA6B;AAC7B,+BAAiC;AAEjC,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,oBAAM,CAAC,CAAC;AAIlB,QAAA,YAAY,GACvB,uDAAuD,CAAC;AAC7C,QAAA,SAAS,GAAG,yCAAyC,CAAC;AAEnE,SAAS,kBAAkB,CAAC,OAAgB;IAC1C,QAAQ,OAAO,EAAE;QACf,KAAK,QAAQ;YACX,OAAO,4CAA4C,CAAC;QACtD,KAAK,YAAY;YACf,OAAO,mCAAmC,oBAAY,GAAG,CAAC;QAC5D,KAAK,OAAO;YACV,OAAO,8BAA8B,iBAAS,GAAG,CAAC;KACrD;AACH,CAAC;AAEM,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAE,EAAE;IACjD,OAAO;UACC,kBAAkB,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;MAgB/B,CAAC;AACP,CAAC,CAAC;AAnBW,QAAA,cAAc,kBAmBzB;AAEK,MAAM,aAAa,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAE;IACtD,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,MAAM,kBAAE,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1D,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,MAAM,kBAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAE3B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,MAAM,kBAAE,CAAC,SAAS,CAAC,wBAAwB,EAAE,IAAA,sBAAc,EAAC,OAAO,CAAC,EAAE;QACpE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,MAAM,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAEhD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC;AACrC,CAAC,CAAC;AAhBW,QAAA,aAAa,iBAgBxB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const kysely_1 = require("kysely");
|
|
4
|
+
const mysql2_1 = require("mysql2");
|
|
5
|
+
const common_1 = require("./common");
|
|
6
|
+
const main = async () => {
|
|
7
|
+
await (0, common_1.preparePrisma)("mysql");
|
|
8
|
+
const db = new kysely_1.Kysely({
|
|
9
|
+
dialect: new kysely_1.MysqlDialect({
|
|
10
|
+
pool: (0, mysql2_1.createPool)({
|
|
11
|
+
user: "root",
|
|
12
|
+
password: "mysql",
|
|
13
|
+
host: "localhost",
|
|
14
|
+
database: "test",
|
|
15
|
+
port: 22332,
|
|
16
|
+
}),
|
|
17
|
+
}),
|
|
18
|
+
});
|
|
19
|
+
await db
|
|
20
|
+
.insertInto("Widget")
|
|
21
|
+
.values({ bytes: Buffer.from([]) })
|
|
22
|
+
.execute();
|
|
23
|
+
const result = await db
|
|
24
|
+
.selectFrom("Widget")
|
|
25
|
+
.selectAll()
|
|
26
|
+
.executeTakeFirstOrThrow();
|
|
27
|
+
const entries = Object.entries(result).map(([key, value]) => ({
|
|
28
|
+
key,
|
|
29
|
+
value,
|
|
30
|
+
typeOf: typeof value,
|
|
31
|
+
}));
|
|
32
|
+
entries.sort((a, b) => a.key.localeCompare(b.key));
|
|
33
|
+
console.table(entries);
|
|
34
|
+
await db.destroy();
|
|
35
|
+
};
|
|
36
|
+
main();
|
|
37
|
+
//# sourceMappingURL=mysql.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mysql.js","sourceRoot":"","sources":["../../src/dialectTests/mysql.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,mCAAoC;AAEpC,qCAAsD;AAEtD,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,IAAA,sBAAa,EAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,IAAI,eAAM,CAAM;QACzB,OAAO,EAAE,IAAI,qBAAY,CAAC;YACxB,IAAI,EAAE,IAAA,mBAAU,EAAC;gBACf,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,KAAK;aACZ,CAAC;SACH,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,EAAE;SACL,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;SAClC,OAAO,EAAE,CAAC;IAEb,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,UAAU,CAAC,QAAQ,CAAC;SACpB,SAAS,EAAE;SACX,uBAAuB,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,GAAG;QACH,KAAK;QACL,MAAM,EAAE,OAAO,KAAK;KACrB,CAAC,CAAC,CAAC;IACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAEnD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;AACrB,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const kysely_1 = require("kysely");
|
|
4
|
+
const pg_1 = require("pg");
|
|
5
|
+
const common_1 = require("./common");
|
|
6
|
+
const main = async () => {
|
|
7
|
+
await (0, common_1.preparePrisma)("postgresql");
|
|
8
|
+
const db = new kysely_1.Kysely({
|
|
9
|
+
dialect: new kysely_1.PostgresDialect({
|
|
10
|
+
pool: new pg_1.Pool({
|
|
11
|
+
connectionString: common_1.POSTGRES_URL,
|
|
12
|
+
}),
|
|
13
|
+
}),
|
|
14
|
+
});
|
|
15
|
+
await db
|
|
16
|
+
.insertInto("Widget")
|
|
17
|
+
.values({ bytes: Buffer.from([]) })
|
|
18
|
+
.execute();
|
|
19
|
+
const result = await db
|
|
20
|
+
.selectFrom("Widget")
|
|
21
|
+
.selectAll()
|
|
22
|
+
.executeTakeFirstOrThrow();
|
|
23
|
+
const entries = Object.entries(result).map(([key, value]) => ({
|
|
24
|
+
key,
|
|
25
|
+
value,
|
|
26
|
+
typeOf: typeof value,
|
|
27
|
+
}));
|
|
28
|
+
entries.sort((a, b) => a.key.localeCompare(b.key));
|
|
29
|
+
console.table(entries);
|
|
30
|
+
await db.destroy();
|
|
31
|
+
};
|
|
32
|
+
main();
|
|
33
|
+
//# sourceMappingURL=postgresql.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgresql.js","sourceRoot":"","sources":["../../src/dialectTests/postgresql.ts"],"names":[],"mappings":";;AAAA,mCAAiD;AACjD,2BAA0B;AAE1B,qCAAoE;AAEpE,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,IAAA,sBAAa,EAAC,YAAY,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,IAAI,eAAM,CAAM;QACzB,OAAO,EAAE,IAAI,wBAAe,CAAC;YAC3B,IAAI,EAAE,IAAI,SAAI,CAAC;gBACb,gBAAgB,EAAE,qBAAY;aAC/B,CAAC;SACH,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,EAAE;SACL,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;SAClC,OAAO,EAAE,CAAC;IAEb,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,UAAU,CAAC,QAAQ,CAAC;SACpB,SAAS,EAAE;SACX,uBAAuB,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,GAAG;QACH,KAAK;QACL,MAAM,EAAE,OAAO,KAAK;KACrB,CAAC,CAAC,CAAC;IACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;AACrB,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
|
|
7
|
+
const kysely_1 = require("kysely");
|
|
8
|
+
const common_1 = require("./common");
|
|
9
|
+
const main = async () => {
|
|
10
|
+
await (0, common_1.preparePrisma)("sqlite");
|
|
11
|
+
const db = new kysely_1.Kysely({
|
|
12
|
+
dialect: new kysely_1.SqliteDialect({
|
|
13
|
+
database: new better_sqlite3_1.default("./prisma/dev.db"),
|
|
14
|
+
}),
|
|
15
|
+
});
|
|
16
|
+
await db
|
|
17
|
+
.insertInto("Widget")
|
|
18
|
+
.values({ bytes: Buffer.from([]) })
|
|
19
|
+
.execute();
|
|
20
|
+
const result = await db
|
|
21
|
+
.selectFrom("Widget")
|
|
22
|
+
.selectAll()
|
|
23
|
+
.executeTakeFirstOrThrow();
|
|
24
|
+
const entries = Object.entries(result).map(([key, value]) => ({
|
|
25
|
+
key,
|
|
26
|
+
value,
|
|
27
|
+
typeOf: typeof value,
|
|
28
|
+
}));
|
|
29
|
+
entries.sort((a, b) => a.key.localeCompare(b.key));
|
|
30
|
+
console.table(entries);
|
|
31
|
+
await db.destroy();
|
|
32
|
+
};
|
|
33
|
+
main();
|
|
34
|
+
//# sourceMappingURL=sqlite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/dialectTests/sqlite.ts"],"names":[],"mappings":";;;;;AAAA,oEAAsC;AACtC,mCAA+C;AAE/C,qCAAoE;AAEpE,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,IAAA,sBAAa,EAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,IAAI,eAAM,CAAM;QACzB,OAAO,EAAE,IAAI,sBAAa,CAAC;YACzB,QAAQ,EAAE,IAAI,wBAAQ,CAAC,iBAAiB,CAAC;SAC1C,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,EAAE;SACL,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;SAClC,OAAO,EAAE,CAAC;IAEb,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,UAAU,CAAC,QAAQ,CAAC;SACpB,SAAS,EAAE;SACX,uBAAuB,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,GAAG;QACH,KAAK;QACL,MAAM,EAAE,OAAO,KAAK;KACrB,CAAC,CAAC,CAAC;IACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;AACrB,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC"}
|
package/dist/generator.js
CHANGED
|
@@ -3,6 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const generator_helper_1 = require("@prisma/generator-helper");
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
6
8
|
const constants_1 = require("./constants");
|
|
7
9
|
const generateDatabaseType_1 = require("./helpers/generateDatabaseType");
|
|
8
10
|
const generateFile_1 = require("./helpers/generateFile");
|
|
@@ -13,8 +15,6 @@ const generateTypedAliasDeclaration_1 = require("./helpers/generateTypedAliasDec
|
|
|
13
15
|
const sorted_1 = require("./utils/sorted");
|
|
14
16
|
const validateConfig_1 = require("./utils/validateConfig");
|
|
15
17
|
const writeFileSafely_1 = require("./utils/writeFileSafely");
|
|
16
|
-
const generator_helper_1 = require("@prisma/generator-helper");
|
|
17
|
-
const path_1 = __importDefault(require("path"));
|
|
18
18
|
const { version } = require("../package.json");
|
|
19
19
|
(0, generator_helper_1.generatorHandler)({
|
|
20
20
|
onManifest() {
|
package/dist/generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":";;;;;AACA,+DAA4D;AAC5D,gDAAwB;AAExB,2CAA6C;AAC7C,yEAAsE;AACtE,yDAAsD;AACtD,iGAA8F;AAC9F,2DAAwD;AACxD,qFAAkF;AAClF,2FAAwF;AACxF,2CAAwC;AACxC,2DAAwD;AACxD,6DAA0D;AAG1D,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE/C,IAAA,mCAAgB,EAAC;IACf,UAAU;QACR,OAAO;YACL,OAAO;YACP,aAAa,EAAE,aAAa;YAC5B,UAAU,EAAE,0BAAc;SAC3B,CAAC;IACJ,CAAC;IACD,UAAU,EAAE,KAAK,EAAE,OAAyB,EAAE,EAAE;;QAE9C,MAAM,MAAM,GAAG,IAAA,+BAAc,EAAC;YAC5B,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM;YAC3B,gBAAgB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ;SAClD,CAAC,CAAC;QAGH,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;YACtE,MAAM,IAAI,GAAG,IAAA,uDAA0B,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAC;YAErB,MAAM,WAAW,GAAG,IAAA,6DAA6B,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9D,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC,CAAC;QAMH,MAAM,wBAAwB,GAAG,IAAA,mEAAgC,EAC/D,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAC9B,CAAC;QAGF,MAAM,MAAM,GAAG,IAAA,eAAM,EACnB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,wBAAwB,CAAC,EAC/D,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CACvC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,6BAAa,EAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAGvC,MAAM,YAAY,GAAG,IAAA,2CAAoB,EACvC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EACrE,MAAM,CACP,CAAC;QAGF,MAAM,IAAI,GAAG,IAAA,2BAAY,EAAC;YACxB,GAAG,KAAK;YACR,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YAClC,YAAY;SACb,CAAC,CAAC;QAGH,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAC7B,CAAA,MAAA,OAAO,CAAC,SAAS,CAAC,MAAM,0CAAE,KAAK,KAAI,EAAE,EACrC,MAAM,CAAC,QAAQ,CAChB,CAAC;QACF,MAAM,IAAA,iCAAe,EAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -4,9 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.generateDatabaseType = void 0;
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
7
8
|
const isValidTSIdentifier_1 = __importDefault(require("../utils/isValidTSIdentifier"));
|
|
8
9
|
const normalizeCase_1 = require("../utils/normalizeCase");
|
|
9
|
-
const typescript_1 = __importDefault(require("typescript"));
|
|
10
10
|
const generateDatabaseType = (models, config) => {
|
|
11
11
|
const properties = models.map((field) => {
|
|
12
12
|
const caseNormalizedTableName = (0, normalizeCase_1.normalizeCase)(field.tableName, config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateDatabaseType.js","sourceRoot":"","sources":["../../src/helpers/generateDatabaseType.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"generateDatabaseType.js","sourceRoot":"","sources":["../../src/helpers/generateDatabaseType.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAE5B,uFAA8D;AAC9D,0DAAsD;AAG/C,MAAM,oBAAoB,GAAG,CAClC,MAAiD,EACjD,MAAc,EACd,EAAE;IACF,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACtC,MAAM,uBAAuB,GAAG,IAAA,6BAAa,EAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAMvE,MAAM,cAAc,GAAG,IAAA,6BAAmB,EAAC,uBAAuB,CAAC;YACjE,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,uBAAuB,CAAC;YACtD,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;QAE5D,OAAO,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CACvC,SAAS,EACT,cAAc,EACd,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAC3C,SAAS,CACV,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,oBAAE,CAAC,OAAO,CAAC,0BAA0B,CAC1C,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EACxD,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAC7C,CAAC;AACJ,CAAC,CAAC;AAjCW,QAAA,oBAAoB,wBAiC/B"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const generateDatabaseType_1 = require("./generateDatabaseType");
|
|
5
|
+
const testUtils_1 = require("../utils/testUtils");
|
|
6
|
+
(0, vitest_1.test)("it works for plain vanilla type names", () => {
|
|
7
|
+
const node = (0, generateDatabaseType_1.generateDatabaseType)([
|
|
8
|
+
{ tableName: "Bookmark", typeName: "Bookmark" },
|
|
9
|
+
{ tableName: "Session", typeName: "Session" },
|
|
10
|
+
{ tableName: "User", typeName: "User" },
|
|
11
|
+
], {
|
|
12
|
+
databaseProvider: "postgresql",
|
|
13
|
+
fileName: "",
|
|
14
|
+
camelCase: false,
|
|
15
|
+
});
|
|
16
|
+
const result = (0, testUtils_1.stringifyTsNode)(node);
|
|
17
|
+
(0, vitest_1.expect)(result).toEqual(`export type DB = {
|
|
18
|
+
Bookmark: Bookmark;
|
|
19
|
+
Session: Session;
|
|
20
|
+
User: User;
|
|
21
|
+
};`);
|
|
22
|
+
});
|
|
23
|
+
(0, vitest_1.test)("it respects camelCase option names", () => {
|
|
24
|
+
const node = (0, generateDatabaseType_1.generateDatabaseType)([
|
|
25
|
+
{ tableName: "book_mark", typeName: "Bookmark" },
|
|
26
|
+
{ tableName: "session", typeName: "Session" },
|
|
27
|
+
{ tableName: "user_table", typeName: "User" },
|
|
28
|
+
], {
|
|
29
|
+
databaseProvider: "postgresql",
|
|
30
|
+
fileName: "",
|
|
31
|
+
camelCase: true,
|
|
32
|
+
});
|
|
33
|
+
const result = (0, testUtils_1.stringifyTsNode)(node);
|
|
34
|
+
(0, vitest_1.expect)(result).toEqual(`export type DB = {
|
|
35
|
+
bookMark: Bookmark;
|
|
36
|
+
session: Session;
|
|
37
|
+
userTable: User;
|
|
38
|
+
};`);
|
|
39
|
+
});
|
|
40
|
+
(0, vitest_1.test)("it works for table names with spaces and weird symbols", () => {
|
|
41
|
+
const node = (0, generateDatabaseType_1.generateDatabaseType)([
|
|
42
|
+
{ tableName: "Bookmark", typeName: "Bookmark" },
|
|
43
|
+
{ tableName: "user session_*table ;D", typeName: "Session" },
|
|
44
|
+
{ tableName: "User", typeName: "User" },
|
|
45
|
+
], {
|
|
46
|
+
databaseProvider: "postgresql",
|
|
47
|
+
fileName: "",
|
|
48
|
+
camelCase: false,
|
|
49
|
+
});
|
|
50
|
+
const result = (0, testUtils_1.stringifyTsNode)(node);
|
|
51
|
+
(0, vitest_1.expect)(result).toEqual(`export type DB = {
|
|
52
|
+
Bookmark: Bookmark;
|
|
53
|
+
"user session_*table ;D": Session;
|
|
54
|
+
User: User;
|
|
55
|
+
};`);
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=generateDatabaseType.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateDatabaseType.test.js","sourceRoot":"","sources":["../../src/helpers/generateDatabaseType.test.ts"],"names":[],"mappings":";;AAAA,mCAAsC;AAEtC,iEAAsE;AACtE,kDAAoD;AAEpD,IAAA,aAAI,EAAC,uCAAuC,EAAE,GAAG,EAAE;IACjD,MAAM,IAAI,GAAG,IAAA,2CAAoB,EAC/B;QACE,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE;QAC/C,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE;QAC7C,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;KACxC,EACD;QACE,gBAAgB,EAAE,YAAY;QAC9B,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,KAAK;KACjB,CACF,CAAC;IACF,MAAM,MAAM,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,CAAC;IAErC,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC;;;;GAItB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,oCAAoC,EAAE,GAAG,EAAE;IAC9C,MAAM,IAAI,GAAG,IAAA,2CAAoB,EAC/B;QACE,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE;QAChD,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE;QAC7C,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE;KAC9C,EACD;QACE,gBAAgB,EAAE,YAAY;QAC9B,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB,CACF,CAAC;IACF,MAAM,MAAM,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,CAAC;IAErC,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC;;;;GAItB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,wDAAwD,EAAE,GAAG,EAAE;IAClE,MAAM,IAAI,GAAG,IAAA,2CAAoB,EAC/B;QACE,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE;QAC/C,EAAE,SAAS,EAAE,wBAAwB,EAAE,QAAQ,EAAE,SAAS,EAAE;QAC5D,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;KACxC,EACD;QACE,gBAAgB,EAAE,YAAY;QAC9B,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,KAAK;KACjB,CACF,CAAC;IACF,MAAM,MAAM,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,CAAC;IAErC,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC;;;;GAItB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -3,33 +3,34 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const testUtils_1 = require("../utils/testUtils");
|
|
7
|
-
const generateField_1 = require("./generateField");
|
|
8
6
|
const typescript_1 = __importDefault(require("typescript"));
|
|
7
|
+
const vitest_1 = require("vitest");
|
|
8
|
+
const generateField_1 = require("./generateField");
|
|
9
|
+
const testUtils_1 = require("../utils/testUtils");
|
|
9
10
|
const stringTypeNode = typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("string"), undefined);
|
|
10
|
-
test("it creates correct annotation for non-nullable types", () => {
|
|
11
|
+
(0, vitest_1.test)("it creates correct annotation for non-nullable types", () => {
|
|
11
12
|
const node = (0, generateField_1.generateField)("name", stringTypeNode, false, false, false);
|
|
12
13
|
const result = (0, testUtils_1.stringifyTsNode)(node);
|
|
13
|
-
expect(result).toEqual("name: string;");
|
|
14
|
+
(0, vitest_1.expect)(result).toEqual("name: string;");
|
|
14
15
|
});
|
|
15
|
-
test("it creates correct annotation for nullable types", () => {
|
|
16
|
+
(0, vitest_1.test)("it creates correct annotation for nullable types", () => {
|
|
16
17
|
const node = (0, generateField_1.generateField)("name", stringTypeNode, true, false, false);
|
|
17
18
|
const result = (0, testUtils_1.stringifyTsNode)(node);
|
|
18
|
-
expect(result).toEqual("name: string | null;");
|
|
19
|
+
(0, vitest_1.expect)(result).toEqual("name: string | null;");
|
|
19
20
|
});
|
|
20
|
-
test("it creates correct annotation for generated types", () => {
|
|
21
|
+
(0, vitest_1.test)("it creates correct annotation for generated types", () => {
|
|
21
22
|
const node = (0, generateField_1.generateField)("name", stringTypeNode, false, true, false);
|
|
22
23
|
const result = (0, testUtils_1.stringifyTsNode)(node);
|
|
23
|
-
expect(result).toEqual("name: Generated<string>;");
|
|
24
|
+
(0, vitest_1.expect)(result).toEqual("name: Generated<string>;");
|
|
24
25
|
});
|
|
25
|
-
test("it creates correct annotation for list types", () => {
|
|
26
|
+
(0, vitest_1.test)("it creates correct annotation for list types", () => {
|
|
26
27
|
const node = (0, generateField_1.generateField)("name", stringTypeNode, false, false, true);
|
|
27
28
|
const result = (0, testUtils_1.stringifyTsNode)(node);
|
|
28
|
-
expect(result).toEqual("name: string[];");
|
|
29
|
+
(0, vitest_1.expect)(result).toEqual("name: string[];");
|
|
29
30
|
});
|
|
30
|
-
test("it creates correct annotation for generated nullable list types (do these exist?)", () => {
|
|
31
|
+
(0, vitest_1.test)("it creates correct annotation for generated nullable list types (do these exist?)", () => {
|
|
31
32
|
const node = (0, generateField_1.generateField)("name", stringTypeNode, true, true, true);
|
|
32
33
|
const result = (0, testUtils_1.stringifyTsNode)(node);
|
|
33
|
-
expect(result).toEqual("name: Generated<string | null>[];");
|
|
34
|
+
(0, vitest_1.expect)(result).toEqual("name: Generated<string | null>[];");
|
|
34
35
|
});
|
|
35
|
-
//# sourceMappingURL=generateField.test
|
|
36
|
+
//# sourceMappingURL=generateField.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateField.test.js","sourceRoot":"","sources":["../../src/helpers/generateField.test.ts"],"names":[],"mappings":";;;;;AAAA,4DAA4B;AAC5B,mCAAsC;AAEtC,mDAAwD;AACxD,kDAAoD;AAEpD,MAAM,cAAc,GAAG,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CACvD,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,SAAS,CACV,CAAC;AAEF,IAAA,aAAI,EAAC,sDAAsD,EAAE,GAAG,EAAE;IAChE,MAAM,IAAI,GAAG,IAAA,6BAAa,EAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,CAAC;IAErC,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,kDAAkD,EAAE,GAAG,EAAE;IAC5D,MAAM,IAAI,GAAG,IAAA,6BAAa,EAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,CAAC;IAErC,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,mDAAmD,EAAE,GAAG,EAAE;IAC7D,MAAM,IAAI,GAAG,IAAA,6BAAa,EAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,CAAC;IAErC,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,8CAA8C,EAAE,GAAG,EAAE;IACxD,MAAM,IAAI,GAAG,IAAA,6BAAa,EAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,CAAC;IAErC,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,mFAAmF,EAAE,GAAG,EAAE;IAI7F,MAAM,IAAI,GAAG,IAAA,6BAAa,EAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,CAAC;IAErC,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC"}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateFieldType = exports.generateFieldTypeInner = exports.overrideType = exports.postgresqlTypeMap = exports.mysqlTypeMap = exports.sqliteTypeMap = void 0;
|
|
4
4
|
exports.sqliteTypeMap = {
|
|
5
|
-
BigInt: "
|
|
5
|
+
BigInt: "number",
|
|
6
6
|
Boolean: "number",
|
|
7
7
|
Bytes: "Buffer",
|
|
8
|
-
DateTime: "
|
|
8
|
+
DateTime: "string",
|
|
9
9
|
Decimal: "number",
|
|
10
10
|
Float: "number",
|
|
11
11
|
Int: "number",
|
|
@@ -13,11 +13,11 @@ exports.sqliteTypeMap = {
|
|
|
13
13
|
Unsupported: "unknown",
|
|
14
14
|
};
|
|
15
15
|
exports.mysqlTypeMap = {
|
|
16
|
-
BigInt: "
|
|
17
|
-
Boolean: "
|
|
16
|
+
BigInt: "number",
|
|
17
|
+
Boolean: "number",
|
|
18
18
|
Bytes: "Buffer",
|
|
19
19
|
DateTime: "Timestamp",
|
|
20
|
-
Decimal: "
|
|
20
|
+
Decimal: "string",
|
|
21
21
|
Float: "number",
|
|
22
22
|
Int: "number",
|
|
23
23
|
Json: "unknown",
|
|
@@ -25,11 +25,11 @@ exports.mysqlTypeMap = {
|
|
|
25
25
|
Unsupported: "unknown",
|
|
26
26
|
};
|
|
27
27
|
exports.postgresqlTypeMap = {
|
|
28
|
-
BigInt: "
|
|
28
|
+
BigInt: "string",
|
|
29
29
|
Boolean: "boolean",
|
|
30
30
|
Bytes: "Buffer",
|
|
31
31
|
DateTime: "Timestamp",
|
|
32
|
-
Decimal: "
|
|
32
|
+
Decimal: "string",
|
|
33
33
|
Float: "number",
|
|
34
34
|
Int: "number",
|
|
35
35
|
Json: "unknown",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateFieldType.js","sourceRoot":"","sources":["../../src/helpers/generateFieldType.ts"],"names":[],"mappings":";;;AAgBa,QAAA,aAAa,GAAY;IACpC,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"generateFieldType.js","sourceRoot":"","sources":["../../src/helpers/generateFieldType.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
3
4
|
const generateFieldType_1 = require("./generateFieldType");
|
|
4
|
-
test("it respects overrides when generating field types", () => {
|
|
5
|
+
(0, vitest_1.test)("it respects overrides when generating field types", () => {
|
|
5
6
|
const overrides = {
|
|
6
7
|
stringTypeOverride: "stringOverride",
|
|
7
8
|
bigIntTypeOverride: "smallInt",
|
|
@@ -18,6 +19,7 @@ test("it respects overrides when generating field types", () => {
|
|
|
18
19
|
...overrides,
|
|
19
20
|
databaseProvider: "postgresql",
|
|
20
21
|
fileName: "types.ts",
|
|
22
|
+
camelCase: false,
|
|
21
23
|
};
|
|
22
24
|
const sourceTypes = [
|
|
23
25
|
"String",
|
|
@@ -31,37 +33,42 @@ test("it respects overrides when generating field types", () => {
|
|
|
31
33
|
"Json",
|
|
32
34
|
"Unsupported",
|
|
33
35
|
];
|
|
34
|
-
expect(sourceTypes.map((source) => (0, generateFieldType_1.generateFieldType)(source, config))).toEqual(Object.values(overrides));
|
|
36
|
+
(0, vitest_1.expect)(sourceTypes.map((source) => (0, generateFieldType_1.generateFieldType)(source, config))).toEqual(Object.values(overrides));
|
|
35
37
|
});
|
|
36
|
-
test("it respects overrides when generating field types", () => {
|
|
38
|
+
(0, vitest_1.test)("it respects overrides when generating field types", () => {
|
|
37
39
|
const node = (0, generateFieldType_1.generateFieldType)("String", {
|
|
38
40
|
databaseProvider: "mysql",
|
|
39
41
|
fileName: "types.ts",
|
|
40
42
|
stringTypeOverride: "cheese",
|
|
43
|
+
camelCase: false,
|
|
41
44
|
});
|
|
42
|
-
expect(node).toEqual("cheese");
|
|
45
|
+
(0, vitest_1.expect)(node).toEqual("cheese");
|
|
43
46
|
});
|
|
44
|
-
test("it respects differences between database engines", () => {
|
|
47
|
+
(0, vitest_1.test)("it respects differences between database engines", () => {
|
|
45
48
|
const postgresBooleanType = (0, generateFieldType_1.generateFieldType)("Boolean", {
|
|
46
49
|
databaseProvider: "postgresql",
|
|
47
50
|
fileName: "types.ts",
|
|
51
|
+
camelCase: false,
|
|
48
52
|
});
|
|
49
53
|
const mysqlBooleanType = (0, generateFieldType_1.generateFieldType)("Boolean", {
|
|
50
54
|
databaseProvider: "mysql",
|
|
51
55
|
fileName: "types.ts",
|
|
56
|
+
camelCase: false,
|
|
52
57
|
});
|
|
53
58
|
const sqliteBooleanType = (0, generateFieldType_1.generateFieldType)("Boolean", {
|
|
54
59
|
databaseProvider: "sqlite",
|
|
55
60
|
fileName: "types.ts",
|
|
61
|
+
camelCase: false,
|
|
56
62
|
});
|
|
57
|
-
expect(postgresBooleanType).toEqual("boolean");
|
|
58
|
-
expect(mysqlBooleanType).toEqual("
|
|
59
|
-
expect(sqliteBooleanType).toEqual("number");
|
|
63
|
+
(0, vitest_1.expect)(postgresBooleanType).toEqual("boolean");
|
|
64
|
+
(0, vitest_1.expect)(mysqlBooleanType).toEqual("number");
|
|
65
|
+
(0, vitest_1.expect)(sqliteBooleanType).toEqual("number");
|
|
60
66
|
});
|
|
61
|
-
test("it throws an error when unsupported type is encountered", () => {
|
|
62
|
-
expect(() => (0, generateFieldType_1.generateFieldType)("Json", {
|
|
67
|
+
(0, vitest_1.test)("it throws an error when unsupported type is encountered", () => {
|
|
68
|
+
(0, vitest_1.expect)(() => (0, generateFieldType_1.generateFieldType)("Json", {
|
|
63
69
|
databaseProvider: "sqlite",
|
|
64
70
|
fileName: "types.ts",
|
|
71
|
+
camelCase: false,
|
|
65
72
|
})).toThrowError(new Error("Unsupported type Json for database sqlite"));
|
|
66
73
|
});
|
|
67
|
-
//# sourceMappingURL=generateFieldType.test
|
|
74
|
+
//# sourceMappingURL=generateFieldType.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateFieldType.test.js","sourceRoot":"","sources":["../../src/helpers/generateFieldType.test.ts"],"names":[],"mappings":";;AAAA,mCAAsC;AAEtC,2DAAgE;AAEhE,IAAA,aAAI,EAAC,mDAAmD,EAAE,GAAG,EAAE;IAC7D,MAAM,SAAS,GAAG;QAChB,kBAAkB,EAAE,gBAAgB;QACpC,kBAAkB,EAAE,UAAU;QAC9B,mBAAmB,EAAE,SAAS;QAC9B,iBAAiB,EAAE,MAAM;QACzB,oBAAoB,EAAE,WAAW;QACjC,mBAAmB,EAAE,OAAO;QAC5B,iBAAiB,EAAE,MAAM;QACzB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,QAAQ;QAC1B,uBAAuB,EAAE,OAAO;KACjC,CAAC;IAEF,MAAM,MAAM,GAAG;QACb,GAAG,SAAS;QACZ,gBAAgB,EAAE,YAAqB;QACvC,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,KAAK;KACjB,CAAC;IAEF,MAAM,WAAW,GAAG;QAClB,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,OAAO;QACP,UAAU;QACV,SAAS;QACT,OAAO;QACP,KAAK;QACL,MAAM;QACN,aAAa;KACd,CAAC;IAEF,IAAA,eAAM,EACJ,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,qCAAiB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAC/D,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,mDAAmD,EAAE,GAAG,EAAE;IAC7D,MAAM,IAAI,GAAG,IAAA,qCAAiB,EAAC,QAAQ,EAAE;QACvC,gBAAgB,EAAE,OAAO;QACzB,QAAQ,EAAE,UAAU;QACpB,kBAAkB,EAAE,QAAQ;QAC5B,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;IAEH,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,kDAAkD,EAAE,GAAG,EAAE;IAC5D,MAAM,mBAAmB,GAAG,IAAA,qCAAiB,EAAC,SAAS,EAAE;QACvD,gBAAgB,EAAE,YAAY;QAC9B,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,IAAA,qCAAiB,EAAC,SAAS,EAAE;QACpD,gBAAgB,EAAE,OAAO;QACzB,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,IAAA,qCAAiB,EAAC,SAAS,EAAE;QACrD,gBAAgB,EAAE,QAAQ;QAC1B,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;IAEH,IAAA,eAAM,EAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAA,eAAM,EAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAA,eAAM,EAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,yDAAyD,EAAE,GAAG,EAAE;IACnE,IAAA,eAAM,EAAC,GAAG,EAAE,CACV,IAAA,qCAAiB,EAAC,MAAM,EAAE;QACxB,gBAAgB,EAAE,QAAQ;QAC1B,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,KAAK;KACjB,CAAC,CACH,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const generateFile_1 = require("./generateFile");
|
|
5
|
+
(0, vitest_1.test)("generates a file!", () => {
|
|
6
|
+
(0, vitest_1.expect)(() => {
|
|
7
|
+
(0, generateFile_1.generateFile)([]);
|
|
8
|
+
}).not.toThrow();
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=generateFile.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateFile.test.js","sourceRoot":"","sources":["../../src/helpers/generateFile.test.ts"],"names":[],"mappings":";;AAAA,mCAAsC;AAEtC,iDAAsD;AAEtD,IAAA,aAAI,EAAC,mBAAmB,EAAE,GAAG,EAAE;IAC7B,IAAA,eAAM,EAAC,GAAG,EAAE;QACV,IAAA,2BAAY,EAAC,EAAE,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;AACnB,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateImplicitManyToManyModels.js","sourceRoot":"","sources":["../../src/helpers/generateImplicitManyToManyModels.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"generateImplicitManyToManyModels.js","sourceRoot":"","sources":["../../src/helpers/generateImplicitManyToManyModels.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
3
4
|
const generateImplicitManyToManyModels_1 = require("./generateImplicitManyToManyModels");
|
|
4
|
-
test("it respects overrides when generating field types", () => {
|
|
5
|
+
(0, vitest_1.test)("it respects overrides when generating field types", () => {
|
|
5
6
|
const newModels = (0, generateImplicitManyToManyModels_1.generateImplicitManyToManyModels)([
|
|
6
7
|
{
|
|
7
8
|
name: "Category",
|
|
@@ -76,7 +77,7 @@ test("it respects overrides when generating field types", () => {
|
|
|
76
77
|
uniqueIndexes: [],
|
|
77
78
|
},
|
|
78
79
|
]);
|
|
79
|
-
expect(newModels).toEqual([
|
|
80
|
+
(0, vitest_1.expect)(newModels).toEqual([
|
|
80
81
|
{
|
|
81
82
|
name: "CategoryToPost",
|
|
82
83
|
dbName: null,
|
|
@@ -110,4 +111,4 @@ test("it respects overrides when generating field types", () => {
|
|
|
110
111
|
},
|
|
111
112
|
]);
|
|
112
113
|
});
|
|
113
|
-
//# sourceMappingURL=generateImplicitManyToManyModels.test
|
|
114
|
+
//# sourceMappingURL=generateImplicitManyToManyModels.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateImplicitManyToManyModels.test.js","sourceRoot":"","sources":["../../src/helpers/generateImplicitManyToManyModels.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.generateModel = void 0;
|
|
7
|
-
const
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
8
|
const generateField_1 = require("./generateField");
|
|
9
9
|
const generateFieldType_1 = require("./generateFieldType");
|
|
10
|
-
const
|
|
10
|
+
const normalizeCase_1 = require("../utils/normalizeCase");
|
|
11
11
|
const defaultTypesImplementedInJS = ["cuid", "uuid"];
|
|
12
12
|
const generateModel = (model, config) => {
|
|
13
13
|
const properties = model.fields.flatMap((field) => {
|