runlify 0.0.783 → 0.0.786
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/build/projectsGeneration/builders/SystemMetaBuilder.js +7 -1
- package/build/projectsGeneration/commonEntities/addCommonCommands.js +22 -4
- package/build/projectsGeneration/generateProject/generateEnvironment.js +33 -16
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/createPgPrismaClient.js +43 -0
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/getPrisma.js +139 -20
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/init/prisma/writeClientPackageStubs.js +39 -0
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/class.js +7 -3
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaConfig.js +34 -0
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaConfig.spec.js +28 -0
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.js +28 -11
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.spec.js +99 -0
- package/build/projectsGeneration/utils/buildPrismaCommands.js +80 -0
- package/build/projectsGeneration/utils/buildPrismaCommands.spec.js +58 -0
- package/build/projectsGeneration/utils/detectPrismaMajorVersion.js +62 -0
- package/build/projectsGeneration/utils/detectPrismaMajorVersion.spec.js +51 -0
- package/build/types/projectsGeneration/builders/SystemMetaBuilder.d.ts +1 -0
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/clients/createPgPrismaClient.d.ts +1 -0
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/clients/getPrisma.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/init/prisma/writeClientPackageStubs.d.ts +2 -0
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/class.d.ts +1 -1
- package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaConfig.d.ts +13 -0
- package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaConfig.spec.d.ts +1 -0
- package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.d.ts +3 -1
- package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.spec.d.ts +1 -0
- package/build/types/projectsGeneration/utils/buildPrismaCommands.d.ts +11 -0
- package/build/types/projectsGeneration/utils/buildPrismaCommands.spec.d.ts +1 -0
- package/build/types/projectsGeneration/utils/detectPrismaMajorVersion.d.ts +2 -0
- package/build/types/projectsGeneration/utils/detectPrismaMajorVersion.spec.d.ts +1 -0
- package/package.json +9 -1
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildMigrationsListCommand = exports.buildPrismaDeployCommand = exports.buildShardsNewMigrationCommand = exports.buildPrismaNewMigrationCommand = exports.buildShardsGenCommand = exports.buildPrismaGenCommand = void 0;
|
|
4
|
+
const joinSteps = (steps) => steps.join(' && ');
|
|
5
|
+
const extraDatabases = (databaseNames) => databaseNames.filter((d) => d !== 'main');
|
|
6
|
+
const buildPrismaGenCommand = ({ databaseNames, sharding, prismaMajor, }) => {
|
|
7
|
+
const extras = extraDatabases(databaseNames);
|
|
8
|
+
if (prismaMajor >= 7) {
|
|
9
|
+
const steps = [
|
|
10
|
+
'prisma generate --config prisma/prisma.config.ts',
|
|
11
|
+
...extras.map((db) => `prisma generate --config prisma/databases/${db}/prisma.config.ts`),
|
|
12
|
+
'tsx src/init/prisma/writeClientPackageStubs.ts',
|
|
13
|
+
];
|
|
14
|
+
return joinSteps(steps);
|
|
15
|
+
}
|
|
16
|
+
return joinSteps([
|
|
17
|
+
'prisma generate --schema prisma/schema.prisma',
|
|
18
|
+
...extras.map((db) => `prisma generate --schema prisma/databases/${db}/schema.prisma`),
|
|
19
|
+
]);
|
|
20
|
+
};
|
|
21
|
+
exports.buildPrismaGenCommand = buildPrismaGenCommand;
|
|
22
|
+
const buildShardsGenCommand = ({ sharding, prismaMajor, }) => {
|
|
23
|
+
if (!sharding) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
if (prismaMajor >= 7) {
|
|
27
|
+
return joinSteps([
|
|
28
|
+
'prisma generate --config prisma/shards/prisma.config.ts',
|
|
29
|
+
'tsx src/init/prisma/writeClientPackageStubs.ts --shards-only',
|
|
30
|
+
]);
|
|
31
|
+
}
|
|
32
|
+
return 'prisma generate --schema prisma/shards/schema.prisma';
|
|
33
|
+
};
|
|
34
|
+
exports.buildShardsGenCommand = buildShardsGenCommand;
|
|
35
|
+
const buildPrismaNewMigrationCommand = ({ databaseNames, prismaMajor, }) => {
|
|
36
|
+
const extras = extraDatabases(databaseNames);
|
|
37
|
+
const migratePrefix = 'runlify start env=local prisma migrate dev';
|
|
38
|
+
if (prismaMajor >= 7) {
|
|
39
|
+
return joinSteps([
|
|
40
|
+
`${migratePrefix} --config prisma/prisma.config.ts`,
|
|
41
|
+
...extras.map((db) => `${migratePrefix} --config prisma/databases/${db}/prisma.config.ts`),
|
|
42
|
+
]);
|
|
43
|
+
}
|
|
44
|
+
return joinSteps([
|
|
45
|
+
`${migratePrefix} --schema=prisma/schema.prisma --preview-feature`,
|
|
46
|
+
...extras.map((db) => `${migratePrefix} --schema=prisma/databases/${db}/schema.prisma --preview-feature`),
|
|
47
|
+
]);
|
|
48
|
+
};
|
|
49
|
+
exports.buildPrismaNewMigrationCommand = buildPrismaNewMigrationCommand;
|
|
50
|
+
const buildShardsNewMigrationCommand = ({ sharding, prismaMajor, }) => {
|
|
51
|
+
if (!sharding) {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
const migratePrefix = 'runlify start env=local prisma migrate dev';
|
|
55
|
+
if (prismaMajor >= 7) {
|
|
56
|
+
return `${migratePrefix} --config prisma/shards/prisma.config.ts`;
|
|
57
|
+
}
|
|
58
|
+
return `${migratePrefix} --schema=prisma/shards/schema.prisma --preview-feature`;
|
|
59
|
+
};
|
|
60
|
+
exports.buildShardsNewMigrationCommand = buildShardsNewMigrationCommand;
|
|
61
|
+
const buildPrismaDeployCommand = ({ databaseNames, prismaMajor, }) => {
|
|
62
|
+
const extras = extraDatabases(databaseNames);
|
|
63
|
+
const deployPrefix = 'runlify start env=local prisma migrate deploy';
|
|
64
|
+
if (prismaMajor >= 7) {
|
|
65
|
+
return joinSteps([
|
|
66
|
+
`${deployPrefix} --config prisma/deploy.prisma.config.ts`,
|
|
67
|
+
...extras.map((db) => `${deployPrefix} --config prisma/databases/${db}/deploy.prisma.config.ts`),
|
|
68
|
+
]);
|
|
69
|
+
}
|
|
70
|
+
return joinSteps([
|
|
71
|
+
`${deployPrefix} --schema=prisma/deployConnection.prisma`,
|
|
72
|
+
...extras.map((db) => `${deployPrefix} --schema=prisma/databases/${db}/deployConnection.prisma`),
|
|
73
|
+
]);
|
|
74
|
+
};
|
|
75
|
+
exports.buildPrismaDeployCommand = buildPrismaDeployCommand;
|
|
76
|
+
const buildMigrationsListCommand = ({ prismaMajor }) => prismaMajor >= 7
|
|
77
|
+
? 'prisma migrate status --config prisma/deploy.prisma.config.ts'
|
|
78
|
+
: 'prisma migrate status --schema prisma/deployConnection.prisma';
|
|
79
|
+
exports.buildMigrationsListCommand = buildMigrationsListCommand;
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRQcmlzbWFDb21tYW5kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vdXRpbHMvYnVpbGRQcmlzbWFDb21tYW5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQWUsRUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUVqRSxNQUFNLGNBQWMsR0FBRyxDQUFDLGFBQXVCLEVBQVksRUFBRSxDQUMzRCxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUE7QUFFcEMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEVBQ3BDLGFBQWEsRUFDYixRQUFRLEVBQ1IsV0FBVyxHQUNnQixFQUFVLEVBQUU7SUFDdkMsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBRTVDLElBQUksV0FBVyxJQUFJLENBQUMsRUFBRTtRQUNwQixNQUFNLEtBQUssR0FBRztZQUNaLGtEQUFrRDtZQUNsRCxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQ1gsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLDZDQUE2QyxFQUFFLG1CQUFtQixDQUMzRTtZQUNELGdEQUFnRDtTQUNqRCxDQUFBO1FBQ0QsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUE7S0FDeEI7SUFFRCxPQUFPLFNBQVMsQ0FBQztRQUNmLCtDQUErQztRQUMvQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQ1gsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLDZDQUE2QyxFQUFFLGdCQUFnQixDQUN4RTtLQUNGLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQXhCWSxRQUFBLHFCQUFxQix5QkF3QmpDO0FBRU0sTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEVBQ3BDLFFBQVEsRUFD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
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const buildPrismaCommands_1 = require("./buildPrismaCommands");
|
|
4
|
+
describe('buildPrismaCommands', () => {
|
|
5
|
+
it('builds legacy P6 prisma:gen with per-db schemas', () => {
|
|
6
|
+
const cmd = (0, buildPrismaCommands_1.buildPrismaGenCommand)({
|
|
7
|
+
databaseNames: ['main', 'bsDocuments'],
|
|
8
|
+
sharding: false,
|
|
9
|
+
prismaMajor: 6,
|
|
10
|
+
});
|
|
11
|
+
expect(cmd).toBe('prisma generate --schema prisma/schema.prisma && prisma generate --schema prisma/databases/bsDocuments/schema.prisma');
|
|
12
|
+
});
|
|
13
|
+
it('builds P7 prisma:gen with configs and stubs', () => {
|
|
14
|
+
const cmd = (0, buildPrismaCommands_1.buildPrismaGenCommand)({
|
|
15
|
+
databaseNames: ['main', 'bsDocuments'],
|
|
16
|
+
sharding: false,
|
|
17
|
+
prismaMajor: 7,
|
|
18
|
+
});
|
|
19
|
+
expect(cmd).toContain('prisma generate --config prisma/prisma.config.ts');
|
|
20
|
+
expect(cmd).toContain('prisma/databases/bsDocuments/prisma.config.ts');
|
|
21
|
+
expect(cmd).toContain('tsx src/init/prisma/writeClientPackageStubs.ts');
|
|
22
|
+
});
|
|
23
|
+
it('builds legacy shards:gen', () => {
|
|
24
|
+
const cmd = (0, buildPrismaCommands_1.buildShardsGenCommand)({
|
|
25
|
+
databaseNames: ['main'],
|
|
26
|
+
sharding: true,
|
|
27
|
+
prismaMajor: 6,
|
|
28
|
+
});
|
|
29
|
+
expect(cmd).toBe('prisma generate --schema prisma/shards/schema.prisma');
|
|
30
|
+
});
|
|
31
|
+
it('builds P7 shards:gen', () => {
|
|
32
|
+
const cmd = (0, buildPrismaCommands_1.buildShardsGenCommand)({
|
|
33
|
+
databaseNames: ['main'],
|
|
34
|
+
sharding: true,
|
|
35
|
+
prismaMajor: 7,
|
|
36
|
+
});
|
|
37
|
+
expect(cmd).toContain('prisma/shards/prisma.config.ts');
|
|
38
|
+
expect(cmd).toContain('--shards-only');
|
|
39
|
+
});
|
|
40
|
+
it('builds legacy prisma:deploy chain', () => {
|
|
41
|
+
const cmd = (0, buildPrismaCommands_1.buildPrismaDeployCommand)({
|
|
42
|
+
databaseNames: ['main', 'bsDocuments'],
|
|
43
|
+
sharding: false,
|
|
44
|
+
prismaMajor: 6,
|
|
45
|
+
});
|
|
46
|
+
expect(cmd).toContain('--schema=prisma/deployConnection.prisma');
|
|
47
|
+
expect(cmd).toContain('prisma/databases/bsDocuments/deployConnection.prisma');
|
|
48
|
+
});
|
|
49
|
+
it('builds migrations:list for P7', () => {
|
|
50
|
+
const cmd = (0, buildPrismaCommands_1.buildMigrationsListCommand)({
|
|
51
|
+
databaseNames: ['main'],
|
|
52
|
+
sharding: false,
|
|
53
|
+
prismaMajor: 7,
|
|
54
|
+
});
|
|
55
|
+
expect(cmd).toBe('prisma migrate status --config prisma/deploy.prisma.config.ts');
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRQcmlzbWFDb21tYW5kcy5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi91dGlscy9idWlsZFByaXNtYUNvbW1hbmRzLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrREFLOEI7QUFFOUIsUUFBUSxDQUFDLHFCQUFxQixFQUFFLEdBQUcsRUFBRTtJQUNuQyxFQUFFLENBQUMsaURBQWlELEVBQUUsR0FBRyxFQUFFO1FBQ3pELE1BQU0sR0FBRyxHQUFHLElBQUEsMkNBQXFCLEVBQUM7WUFDaEMsYUFBYSxFQUFFLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQztZQUN0QyxRQUFRLEVBQUUsS0FBSztZQUNmLFdBQVcsRUFBRSxDQUFDO1NBQ2YsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDZCxzSEFBc0gsQ0FDdkgsQ0FBQTtJQUNILENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLDZDQUE2QyxFQUFFLEdBQUcsRUFBRTtRQUNyRCxNQUFNLEdBQUcsR0FBRyxJQUFBLDJDQUFxQixFQUFDO1lBQ2hDLGFBQWEsRUFBRSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUM7WUFDdEMsUUFBUSxFQUFFLEtBQUs7WUFDZixXQUFXLEVBQUUsQ0FBQztTQUNmLENBQUMsQ0FBQTtRQUNGLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsa0RBQWtELENBQUMsQ0FBQTtRQUN6RSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLCtDQUErQyxDQUFDLENBQUE7UUFDdEUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFBO0lBQ3pFLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLDBCQUEwQixFQUFFLEdBQUcsRUFBRTtRQUNsQyxNQUFNLEdBQUcsR0FBRyxJQUFBLDJDQUFxQixFQUFDO1lBQ2hDLGFBQWEsRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUN2QixRQUFRLEVBQUUsSUFBSTtZQUNkLFdBQVcsRUFBRSxDQUFDO1NBQ2YsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxzREFBc0QsQ0FBQyxDQUFBO0lBQzFFLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRTtRQUM5QixNQUFNLEdBQUcsR0FBRyxJQUFBLDJDQUFxQixFQUFDO1lBQ2hDLGFBQWEsRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUN2QixRQUFRLEVBQUUsSUFBSTtZQUNkLFdBQVcsRUFBRSxDQUFDO1NBQ2YsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO1FBQ3ZELE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDeEMsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsbUNBQW1DLEVBQUUsR0FBRyxFQUFFO1FBQzNDLE1BQU0sR0FBRyxHQUFHLElBQUEsOENBQXdCLEVBQUM7WUFDbkMsYUFBYSxFQUFFLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQztZQUN0QyxRQUFRLEVBQUUsS0FBSztZQUNmLFdBQVcsRUFBRSxDQUFDO1NBQ2YsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFBO1FBQ2hFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsc0RBQXNELENBQUMsQ0FBQTtJQUMvRSxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQywrQkFBK0IsRUFBRSxHQUFHLEVBQUU7UUFDdkMsTUFBTSxHQUFHLEdBQUcsSUFBQSxnREFBMEIsRUFBQztZQUNyQyxhQUFhLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDdkIsUUFBUSxFQUFFLEtBQUs7WUFDZixXQUFXLEVBQUUsQ0FBQztTQUNmLENBQUMsQ0FBQTtRQUNGLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsK0RBQStELENBQUMsQ0FBQTtJQUNuRixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQyxDQUFBIn0=
|
|
@@ -0,0 +1,62 @@
|
|
|
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.isPrisma7OrLater = exports.detectPrismaMajorVersion = void 0;
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const path_1 = require("path");
|
|
9
|
+
const log_1 = __importDefault(require("../../log"));
|
|
10
|
+
const parseMajor = (version) => {
|
|
11
|
+
const match = /^(\d+)/u.exec(version.trim());
|
|
12
|
+
return match ? Number.parseInt(match[1], 10) : null;
|
|
13
|
+
};
|
|
14
|
+
const readPackageJson = (projectRoot) => {
|
|
15
|
+
try {
|
|
16
|
+
const raw = (0, fs_1.readFileSync)((0, path_1.join)(projectRoot, 'package.json'), 'utf8');
|
|
17
|
+
return JSON.parse(raw);
|
|
18
|
+
}
|
|
19
|
+
catch (_a) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const getDepVersion = (pkg, name) => {
|
|
24
|
+
for (const section of ['dependencies', 'devDependencies']) {
|
|
25
|
+
const deps = pkg[section];
|
|
26
|
+
const version = deps === null || deps === void 0 ? void 0 : deps[name];
|
|
27
|
+
if (version) {
|
|
28
|
+
return version.replace(/^[\^~>=<]+/u, '');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return undefined;
|
|
32
|
+
};
|
|
33
|
+
const detectPrismaMajorVersion = (projectRoot) => {
|
|
34
|
+
const pkg = readPackageJson(projectRoot);
|
|
35
|
+
if (!pkg) {
|
|
36
|
+
log_1.default.warn('detectPrismaMajorVersion: package.json not found, using legacy Prisma mode');
|
|
37
|
+
return 6;
|
|
38
|
+
}
|
|
39
|
+
const cliVersion = getDepVersion(pkg, 'prisma');
|
|
40
|
+
const clientVersion = getDepVersion(pkg, '@prisma/client');
|
|
41
|
+
if (!cliVersion && !clientVersion) {
|
|
42
|
+
log_1.default.warn('detectPrismaMajorVersion: neither prisma nor @prisma/client found in package.json, using legacy Prisma mode');
|
|
43
|
+
return 6;
|
|
44
|
+
}
|
|
45
|
+
const cliMajor = cliVersion ? parseMajor(cliVersion) : null;
|
|
46
|
+
const clientMajor = clientVersion ? parseMajor(clientVersion) : null;
|
|
47
|
+
if (cliMajor !== null && clientMajor !== null && cliMajor !== clientMajor) {
|
|
48
|
+
log_1.default.warn(`detectPrismaMajorVersion: prisma (${cliVersion}) and @prisma/client (${clientVersion}) differ in major version; using prisma CLI major ${cliMajor}`);
|
|
49
|
+
}
|
|
50
|
+
if (cliMajor !== null) {
|
|
51
|
+
return cliMajor;
|
|
52
|
+
}
|
|
53
|
+
if (clientMajor !== null) {
|
|
54
|
+
return clientMajor;
|
|
55
|
+
}
|
|
56
|
+
log_1.default.warn('detectPrismaMajorVersion: could not parse Prisma version, using legacy Prisma mode');
|
|
57
|
+
return 6;
|
|
58
|
+
};
|
|
59
|
+
exports.detectPrismaMajorVersion = detectPrismaMajorVersion;
|
|
60
|
+
const isPrisma7OrLater = (projectRoot) => (0, exports.detectPrismaMajorVersion)(projectRoot) >= 7;
|
|
61
|
+
exports.isPrisma7OrLater = isPrisma7OrLater;
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0ZWN0UHJpc21hTWFqb3JWZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi91dGlscy9kZXRlY3RQcmlzbWFNYWpvclZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMkJBQStCO0FBQy9CLCtCQUF5QjtBQUN6QixvREFBMkI7QUFFM0IsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFlLEVBQWlCLEVBQUU7SUFDcEQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUM1QyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtBQUNyRCxDQUFDLENBQUE7QUFFRCxNQUFNLGVBQWUsR0FBRyxDQUFDLFdBQW1CLEVBQWtDLEVBQUU7SUFDOUUsSUFBSTtRQUNGLE1BQU0sR0FBRyxHQUFHLElBQUEsaUJBQVksRUFBQyxJQUFBLFdBQUksRUFBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDbkUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBNEIsQ0FBQTtLQUNsRDtJQUFDLFdBQU07UUFDTixPQUFPLElBQUksQ0FBQTtLQUNaO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxhQUFhLEdBQUcsQ0FDcEIsR0FBNEIsRUFDNUIsSUFBWSxFQUNRLEVBQUU7SUFDdEIsS0FBSyxNQUFNLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsQ0FBVSxFQUFFO1FBQ2xFLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQXVDLENBQUE7UUFDL0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFHLElBQUksQ0FBQyxDQUFBO1FBQzVCLElBQUksT0FBTyxFQUFFO1lBQ1gsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQTtTQUMxQztLQUNGO0lBQ0QsT0FBTyxTQUFTLENBQUE7QUFDbEIsQ0FBQyxDQUFBO0FBRU0sTUFBTSx3QkFBd0IsR0FBRyxDQUFDLFdBQW1CLEVBQVUsRUFBRTtJQUN0RSxNQUFNLEdBQUcsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDeEMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNSLGFBQUcsQ0FBQyxJQUFJLENBQUMsNEVBQTRFLENBQUMsQ0FBQTtRQUN0RixPQUFPLENBQUMsQ0FBQTtLQUNUO0lBRUQsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUMvQyxNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDLENBQUE7SUFFMUQsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLGFBQWEsRUFBRTtRQUNqQyxhQUFHLENBQUMsSUFBSSxDQUNOLDZHQUE2RyxDQUM5RyxDQUFBO1FBQ0QsT0FBTyxDQUFDLENBQUE7S0FDVDtJQUVELE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFDM0QsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtJQUVwRSxJQUFJLFFBQVEsS0FBSyxJQUFJLElBQUksV0FBVyxLQUFLLElBQUksSUFBSSxRQUFRLEtBQUssV0FBVyxFQUFFO1FBQ3pFLGFBQUcsQ0FBQyxJQUFJLENBQ04scUNBQXFDLFVBQVUseUJBQXlCLGFBQWEscURBQXFELFFBQVEsRUFBRSxDQUNySixDQUFBO0tBQ0Y7SUFFRCxJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUU7UUFDckIsT0FBTyxRQUFRLENBQUE7S0FDaEI7SUFFRCxJQUFJLFdBQVcsS0FBSyxJQUFJLEVBQUU7UUFDeEIsT0FBTyxXQUFXLENBQUE7S0FDbkI7SUFFRCxhQUFHLENBQUMsSUFBSSxDQUFDLG9GQUFvRixDQUFDLENBQUE7SUFDOUYsT0FBTyxDQUFDLENBQUE7QUFDVixDQUFDLENBQUE7QUFwQ1ksUUFBQSx3QkFBd0IsNEJBb0NwQztBQUVNLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxXQUFtQixFQUFXLEVBQUUsQ0FDL0QsSUFBQSxnQ0FBd0IsRUFBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7QUFEL0IsUUFBQSxnQkFBZ0Isb0JBQ2UifQ==
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const fs_1 = require("fs");
|
|
4
|
+
const path_1 = require("path");
|
|
5
|
+
const os_1 = require("os");
|
|
6
|
+
const fs_jetpack_1 = require("fs-jetpack");
|
|
7
|
+
const detectPrismaMajorVersion_1 = require("./detectPrismaMajorVersion");
|
|
8
|
+
const mkPkg = (deps) => {
|
|
9
|
+
const dir = (0, path_1.join)((0, os_1.tmpdir)(), `runlify-prisma-detect-${Date.now()}-${Math.random()}`);
|
|
10
|
+
(0, fs_1.mkdirSync)(dir, { recursive: true });
|
|
11
|
+
(0, fs_1.writeFileSync)((0, path_1.join)(dir, 'package.json'), JSON.stringify({
|
|
12
|
+
dependencies: deps,
|
|
13
|
+
}));
|
|
14
|
+
return dir;
|
|
15
|
+
};
|
|
16
|
+
describe('detectPrismaMajorVersion', () => {
|
|
17
|
+
const dirs = [];
|
|
18
|
+
afterEach(() => {
|
|
19
|
+
for (const dir of dirs) {
|
|
20
|
+
(0, fs_jetpack_1.remove)(dir);
|
|
21
|
+
}
|
|
22
|
+
dirs.length = 0;
|
|
23
|
+
});
|
|
24
|
+
it('returns 7 for prisma 7.x', () => {
|
|
25
|
+
dirs.push(mkPkg({ prisma: '7.8.0', '@prisma/client': '7.8.0' }));
|
|
26
|
+
expect((0, detectPrismaMajorVersion_1.detectPrismaMajorVersion)(dirs[0])).toBe(7);
|
|
27
|
+
});
|
|
28
|
+
it('returns 6 for prisma 6.x', () => {
|
|
29
|
+
dirs.push(mkPkg({ prisma: '6.19.0', '@prisma/client': '6.19.0' }));
|
|
30
|
+
expect((0, detectPrismaMajorVersion_1.detectPrismaMajorVersion)(dirs[0])).toBe(6);
|
|
31
|
+
});
|
|
32
|
+
it('prefers prisma CLI over @prisma/client on mismatch', () => {
|
|
33
|
+
dirs.push(mkPkg({ prisma: '7.0.0', '@prisma/client': '6.19.0' }));
|
|
34
|
+
expect((0, detectPrismaMajorVersion_1.detectPrismaMajorVersion)(dirs[0])).toBe(7);
|
|
35
|
+
});
|
|
36
|
+
it('falls back to @prisma/client when prisma CLI is absent', () => {
|
|
37
|
+
dirs.push(mkPkg({ '@prisma/client': '6.19.0' }));
|
|
38
|
+
expect((0, detectPrismaMajorVersion_1.detectPrismaMajorVersion)(dirs[0])).toBe(6);
|
|
39
|
+
});
|
|
40
|
+
it('returns legacy default when no prisma packages found', () => {
|
|
41
|
+
dirs.push(mkPkg({ lodash: '4.17.21' }));
|
|
42
|
+
expect((0, detectPrismaMajorVersion_1.detectPrismaMajorVersion)(dirs[0])).toBe(6);
|
|
43
|
+
});
|
|
44
|
+
it('returns legacy default when package.json is missing', () => {
|
|
45
|
+
const dir = (0, path_1.join)((0, os_1.tmpdir)(), `runlify-prisma-detect-missing-${Date.now()}`);
|
|
46
|
+
(0, fs_1.mkdirSync)(dir, { recursive: true });
|
|
47
|
+
dirs.push(dir);
|
|
48
|
+
expect((0, detectPrismaMajorVersion_1.detectPrismaMajorVersion)(dir)).toBe(6);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0ZWN0UHJpc21hTWFqb3JWZXJzaW9uLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL3V0aWxzL2RldGVjdFByaXNtYU1ham9yVmVyc2lvbi5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkJBQTJDO0FBQzNDLCtCQUF5QjtBQUN6QiwyQkFBeUI7QUFDekIsMkNBQWlDO0FBQ2pDLHlFQUFtRTtBQUVuRSxNQUFNLEtBQUssR0FBRyxDQUFDLElBQTRCLEVBQVUsRUFBRTtJQUNyRCxNQUFNLEdBQUcsR0FBRyxJQUFBLFdBQUksRUFBQyxJQUFBLFdBQU0sR0FBRSxFQUFFLHlCQUF5QixJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUNsRixJQUFBLGNBQVMsRUFBQyxHQUFHLEVBQUUsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtJQUNqQyxJQUFBLGtCQUFhLEVBQ1gsSUFBQSxXQUFJLEVBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxFQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2IsWUFBWSxFQUFFLElBQUk7S0FDbkIsQ0FBQyxDQUNILENBQUE7SUFDRCxPQUFPLEdBQUcsQ0FBQTtBQUNaLENBQUMsQ0FBQTtBQUVELFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLEVBQUU7SUFDeEMsTUFBTSxJQUFJLEdBQWEsRUFBRSxDQUFBO0lBRXpCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRTtZQUN0QixJQUFBLG1CQUFNLEVBQUMsR0FBRyxDQUFDLENBQUE7U0FDWjtRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO0lBQ2pCLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLDBCQUEwQixFQUFFLEdBQUcsRUFBRTtR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
|
|
@@ -96,6 +96,7 @@ declare class SystemMetaBuilder implements MethodsModelsHolder {
|
|
|
96
96
|
addExternalEnvMenuItem(label: string, env: string): ExternalEnvMenuItemBuilder;
|
|
97
97
|
getBack(): DeploymentBuilder;
|
|
98
98
|
addDatabase(name: string): this;
|
|
99
|
+
getRegisteredDatabaseNames(): string[];
|
|
99
100
|
getDocuments(): EntityBuilderWithOptions<DocumentBuilder>[];
|
|
100
101
|
addDocument(name: string, title?: {
|
|
101
102
|
singular?: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const createPgPrismaClientTmpl: () => string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ProjectWideGenerationArgs } from '../../../../../../args';
|
|
2
|
-
export declare const prismaGetterTmpl: (args: ProjectWideGenerationArgs) => string;
|
|
2
|
+
export declare const prismaGetterTmpl: (args: ProjectWideGenerationArgs, prismaMajor?: number) => string;
|
package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/class.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { EntityWideGenerationArgs } from '../../../../../args';
|
|
2
|
-
export declare const prismaServiceBaseClassTmpl: ({ entity, }: EntityWideGenerationArgs) => string;
|
|
2
|
+
export declare const prismaServiceBaseClassTmpl: ({ entity, options, }: EntityWideGenerationArgs) => string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type GenPrismaConfigOptions = {
|
|
2
|
+
schema: string;
|
|
3
|
+
database: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const genPrismaConfig: ({ schema, database }: GenPrismaConfigOptions) => string;
|
|
6
|
+
export declare const genMainPrismaConfig: () => string;
|
|
7
|
+
export declare const genMainDeployPrismaConfig: () => string;
|
|
8
|
+
export declare const genExtraDbPrismaConfig: (database: string) => string;
|
|
9
|
+
export declare const genExtraDbDeployPrismaConfig: (database: string) => string;
|
|
10
|
+
export declare const genShardsPrismaConfig: () => string;
|
|
11
|
+
export declare const genShardsDeployPrismaConfig: () => string;
|
|
12
|
+
/** Used in tests to assert env var naming for extra DBs. */
|
|
13
|
+
export declare const extraDbMigrationEnvVar: (database: string) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -7,7 +7,9 @@ export type GenPrismaSchemaDbOptions = {
|
|
|
7
7
|
* For `database !== 'main'`, callers must pass `false` (sharding ignored).
|
|
8
8
|
*/
|
|
9
9
|
forShards: boolean;
|
|
10
|
+
/** Prisma major version from package.json; >= 7 enables P7 schema format. */
|
|
11
|
+
prismaMajor?: number;
|
|
10
12
|
};
|
|
11
13
|
export declare const genPrismaSchemaForEntitiesWithClientAdnDb: (args: ProjectWideGenerationArgs, opts: GenPrismaSchemaDbOptions) => string;
|
|
12
14
|
/** Minimal deploy schema (migrate URL only). */
|
|
13
|
-
export declare const genDeployConnectionPrisma: (database: string) => string;
|
|
15
|
+
export declare const genDeployConnectionPrisma: (database: string, prismaMajor?: number) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type BuildPrismaCommandsOptions = {
|
|
2
|
+
databaseNames: string[];
|
|
3
|
+
sharding: boolean;
|
|
4
|
+
prismaMajor: number;
|
|
5
|
+
};
|
|
6
|
+
export declare const buildPrismaGenCommand: ({ databaseNames, sharding, prismaMajor, }: BuildPrismaCommandsOptions) => string;
|
|
7
|
+
export declare const buildShardsGenCommand: ({ sharding, prismaMajor, }: BuildPrismaCommandsOptions) => string | null;
|
|
8
|
+
export declare const buildPrismaNewMigrationCommand: ({ databaseNames, prismaMajor, }: BuildPrismaCommandsOptions) => string;
|
|
9
|
+
export declare const buildShardsNewMigrationCommand: ({ sharding, prismaMajor, }: BuildPrismaCommandsOptions) => string | null;
|
|
10
|
+
export declare const buildPrismaDeployCommand: ({ databaseNames, prismaMajor, }: BuildPrismaCommandsOptions) => string;
|
|
11
|
+
export declare const buildMigrationsListCommand: ({ prismaMajor }: BuildPrismaCommandsOptions) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "runlify",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.786",
|
|
4
4
|
"description": "runlify CLI",
|
|
5
5
|
"private": false,
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/making-ventures/runlify.git"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/making-ventures/runlify#readme",
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/making-ventures/runlify/issues"
|
|
13
|
+
},
|
|
6
14
|
"main": "build/index.js",
|
|
7
15
|
"types": "build/types/types.d.ts",
|
|
8
16
|
"bin": {
|