Skip to content

Commit fb3c6c4

Browse files
authored
chore: upgrade to prisma 4.0.0 (#15)(@CJEnright)
BREAKING CHANGE: Prisma has been upgraded to v4. Please check README.md for setup changes or simply rename `._dmmf` to `._baseDmmf` in your AdminJS Prisma setup.
1 parent f92f552 commit fb3c6c4

File tree

11 files changed

+33
-33
lines changed

11 files changed

+33
-33
lines changed

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ AdminJS.registerAdapter({ Database, Resource })
4040
const run = async () => {
4141
const app = express()
4242

43-
// `_dmmf` contains necessary Model metadata. `PrismaClient` type doesn't have it included
44-
const dmmf = ((prisma as any)._dmmf as DMMFClass)
43+
// `_baseDmmf` contains necessary Model metadata. `PrismaClient` type doesn't have it included
44+
const dmmf = ((prisma as any)._baseDmmf as DMMFClass)
4545

4646
const admin = new AdminJS({
4747
resources: [{

example-app/src/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ AdminJS.registerAdapter({ Database, Resource });
1515
const run = async () => {
1616
const app = express();
1717

18-
const dmmf = ((prisma as any)._dmmf as DMMFClass);
18+
const dmmf = ((prisma as any)._baseDmmf as DMMFClass);
1919

2020
const admin = new AdminJS({
2121
resources: [{

package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
"devDependencies": {
4545
"@commitlint/cli": "^8.3.5",
4646
"@commitlint/config-conventional": "^8.3.4",
47-
"@prisma/client": "^3.2.1",
47+
"@prisma/client": "^4.0.0",
4848
"@semantic-release/git": "^9.0.0",
4949
"@types/jest": "^27.0.2",
5050
"@types/node": "12.0.10",
@@ -61,12 +61,12 @@
6161
"husky": "^4.2.5",
6262
"jest": "^27.2.5",
6363
"pg": "^7.12.1",
64-
"prisma": "^3.2.1",
64+
"prisma": "^4.0.0",
6565
"semantic-release": "^17.0.7",
6666
"semantic-release-slack-bot": "^1.6.2",
6767
"ts-jest": "^27.0.5",
6868
"ts-node": "^8.4.1",
6969
"tsconfig-paths": "^3.9.0",
7070
"typescript": "^4.0.3"
7171
}
72-
}
72+
}

spec/Property.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ describe('Property', () => {
1616

1717
beforeAll(async () => {
1818
prisma = new PrismaClient();
19-
const dmmf = ((prisma as any)._dmmf as DMMFClass);
19+
const dmmf = ((prisma as any)._baseDmmf as DMMFClass);
2020
resource = new Resource({ model: dmmf.modelMap.Post, client: prisma });
2121
properties = resource.properties();
2222
});

spec/Resource.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ describe('Resource', () => {
1616

1717
beforeAll(async () => {
1818
prisma = new PrismaClient();
19-
dmmf = ((prisma as any)._dmmf as DMMFClass);
19+
dmmf = ((prisma as any)._baseDmmf as DMMFClass);
2020
});
2121

2222
beforeEach(async () => {

src/Database.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export class Database extends BaseDatabase {
1414
}
1515

1616
public resources(): Array<Resource> {
17-
const dmmf = (this.client as any)._dmmf as DMMFClass;
17+
const dmmf = (this.client as any)._baseDmmf as DMMFClass;
1818
const { modelMap } = dmmf;
1919

2020
if (!modelMap) return [];
@@ -26,7 +26,7 @@ export class Database extends BaseDatabase {
2626
}
2727

2828
public static isAdapterFor(prisma: PrismaClient): boolean {
29-
const dmmf = ((prisma as any)._dmmf as DMMFClass);
29+
const dmmf = ((prisma as any)._baseDmmf as DMMFClass);
3030

3131
return !!dmmf?.modelMap && !!Object.values(dmmf?.modelMap ?? {}).length;
3232
}

src/Property.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ export class Property extends BaseProperty {
6868

6969
if (!enumSchema) return null;
7070

71-
return enumSchema.values.map((value) => String(value)) ?? [];
71+
return enumSchema.values.map((value) => String(value.name)) ?? [];
7272
}
7373

7474
public position(): number {

src/Resource.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export class Resource extends BaseResource {
2727
const { model, client } = args;
2828
this.model = model;
2929
this.client = client;
30-
this.enums = (this.client as any)._dmmf.enumMap;
30+
this.enums = (this.client as any)._baseDmmf.datamodelEnumMap;
3131
this.manager = this.client[lowerCase(model.name)];
3232
this.propertiesObject = this.prepareProperties();
3333
}

src/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@
4747
* const run = async () => {
4848
* const app = express()
4949
*
50-
* // `_dmmf` contains necessary Model metadata. `PrismaClient` type doesn't have it included
51-
* const dmmf = ((prisma as any)._dmmf as DMMFClass)
50+
* // `_baseDmmf` contains necessary Model metadata. `PrismaClient` type doesn't have it included
51+
* const dmmf = ((prisma as any)._baseDmmf as DMMFClass)
5252
*
5353
* const admin = new AdminJS({
5454
* resources: [{

src/types.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ export type ModelManager = {
44
[action in DMMF.ModelAction]: (...args: any[]) => Promise<any>;
55
};
66

7-
export type Enums = { [key: string]: DMMF.SchemaEnum };
7+
export type Enums = { [key: string]: DMMF.DatamodelEnum };

yarn.lock

+18-18
Original file line numberDiff line numberDiff line change
@@ -2118,22 +2118,22 @@
21182118
resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.5.tgz#db5a11bf66bdab39569719555b0f76e138d7bd64"
21192119
integrity sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==
21202120

2121-
"@prisma/client@^3.2.1":
2122-
version "3.2.1"
2123-
resolved "https://registry.yarnpkg.com/@prisma/client/-/client-3.2.1.tgz#b0c60b4c42ec5b701a271380780c70de55bc3311"
2124-
integrity sha512-nakt9YoDFD4cgTkRTSVbzG40AKmmbVEtXE3csVqBdDXsm0/L4PQdtbtzILNzq28xv8HH8oHgFKWnsItM23mSDw==
2121+
"@prisma/client@^4.0.0":
2122+
version "4.0.0"
2123+
resolved "https://registry.yarnpkg.com/@prisma/client/-/client-4.0.0.tgz#ed2f46930a1da0d8ae88d7965485973576b04270"
2124+
integrity sha512-g1h2OGoRo7anBVQ9Cw3gsbjwPtvf7i0pkGxKeZICtwkvE5CZXW+xZF4FZdmrViYkKaAShbISL0teNpu9ecpf4g==
21252125
dependencies:
2126-
"@prisma/engines-version" "3.2.1-1.b71d8cb16c4ddc7e3e9821f42fd09b0f82d7934c"
2126+
"@prisma/engines-version" "3.16.0-49.da41d2bb3406da22087b849f0e911199ba4fbf11"
21272127

2128-
"@prisma/engines-version@3.2.1-1.b71d8cb16c4ddc7e3e9821f42fd09b0f82d7934c":
2129-
version "3.2.1-1.b71d8cb16c4ddc7e3e9821f42fd09b0f82d7934c"
2130-
resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-3.2.1-1.b71d8cb16c4ddc7e3e9821f42fd09b0f82d7934c.tgz#63032b40ee09f56ec423eb47617c26de125ffb1e"
2131-
integrity sha512-O4dHSbqfX7yAjFMawIEzv6wefv3LRMDK4J20Y70NvE3otbE3CnChlmghkCvMsQ1CGF1QuGlrqfw20aI2JfZcaw==
2128+
"@prisma/engines-version@3.16.0-49.da41d2bb3406da22087b849f0e911199ba4fbf11":
2129+
version "3.16.0-49.da41d2bb3406da22087b849f0e911199ba4fbf11"
2130+
resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-3.16.0-49.da41d2bb3406da22087b849f0e911199ba4fbf11.tgz#4b5efe5eee2feef12910e4627a572cd96ed83236"
2131+
integrity sha512-PiZhdD624SrYEjyLboI0X7OugNbxUzDJx9v/6ldTKuqNDVUCmRH/Z00XwDi/dgM4FlqOSO+YiUsSiSKjxxG8cw==
21322132

2133-
"@prisma/engines@3.2.1-1.b71d8cb16c4ddc7e3e9821f42fd09b0f82d7934c":
2134-
version "3.2.1-1.b71d8cb16c4ddc7e3e9821f42fd09b0f82d7934c"
2135-
resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-3.2.1-1.b71d8cb16c4ddc7e3e9821f42fd09b0f82d7934c.tgz#d2a41a76a89548ea411043c3198eee4a75475dbb"
2136-
integrity sha512-wnHODKLQGKkE2ZCHxHQEf/4Anq/EP0ZCvX++D5w34033mwZ94iZiOsEKZZ31fgki7MTh28F1VNF5ZSFdnRjgvQ==
2133+
"@prisma/engines@3.16.0-49.da41d2bb3406da22087b849f0e911199ba4fbf11":
2134+
version "3.16.0-49.da41d2bb3406da22087b849f0e911199ba4fbf11"
2135+
resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-3.16.0-49.da41d2bb3406da22087b849f0e911199ba4fbf11.tgz#82f0018153cffa05d61422f9c0c7b0479b180f75"
2136+
integrity sha512-u/rG4lDHALolWBLr3yebZ+N2qImp3SDMcu7bHNJuRDaYvYEXy/MqfNRNEgd9GoPsXL3gofYf0VzJf2AmCG3YVw==
21372137

21382138
"@rollup/plugin-babel@^5.2.1":
21392139
version "5.3.0"
@@ -8067,12 +8067,12 @@ pretty-format@^27.0.0, pretty-format@^27.2.5:
80678067
ansi-styles "^5.0.0"
80688068
react-is "^17.0.1"
80698069

8070-
prisma@^3.2.1:
8071-
version "3.2.1"
8072-
resolved "https://registry.yarnpkg.com/prisma/-/prisma-3.2.1.tgz#696871f6d0e374df2de96297df4c04756ee6e3b5"
8073-
integrity sha512-nXhldcFYemNSMqdTAEziggVWBNbCHTrr0amkCJruP3G2AFpzxrKtksPRLYNetxdKMJAt7aRRumusbtmTTDgyzw==
8070+
prisma@^4.0.0:
8071+
version "4.0.0"
8072+
resolved "https://registry.yarnpkg.com/prisma/-/prisma-4.0.0.tgz#4ddb8fcd4f64d33aff8c198a6986dcce66dc8152"
8073+
integrity sha512-Dtsar03XpCBkcEb2ooGWO/WcgblDTLzGhPcustbehwlFXuTMliMDRzXsfygsgYwQoZnAUKRd1rhpvBNEUziOVw==
80748074
dependencies:
8075-
"@prisma/engines" "3.2.1-1.b71d8cb16c4ddc7e3e9821f42fd09b0f82d7934c"
8075+
"@prisma/engines" "3.16.0-49.da41d2bb3406da22087b849f0e911199ba4fbf11"
80768076

80778077
proc-log@^1.0.0:
80788078
version "1.0.0"

0 commit comments

Comments
 (0)