Skip to content

Commit

Permalink
test(e2e): test TypeScript 5.2, beta, latest (#21884)
Browse files Browse the repository at this point in the history
Co-authored-by: Alexey Orlenko <alex@aqrln.net>
  • Loading branch information
Jolg42 and aqrln committed Nov 15, 2023
1 parent f62f627 commit 75b5172
Show file tree
Hide file tree
Showing 30 changed files with 246 additions and 16 deletions.
3 changes: 3 additions & 0 deletions packages/client/tests/e2e/ts-version/4.7/README.md
@@ -0,0 +1,3 @@
# Readme

This is testing TypeScript version 4.7.x
3 changes: 0 additions & 3 deletions packages/client/tests/e2e/ts-version/4.7/readme.md

This file was deleted.

3 changes: 3 additions & 0 deletions packages/client/tests/e2e/ts-version/4.8/README.md
@@ -0,0 +1,3 @@
# Readme

This is testing TypeScript version 4.8.x
3 changes: 0 additions & 3 deletions packages/client/tests/e2e/ts-version/4.8/readme.md

This file was deleted.

3 changes: 3 additions & 0 deletions packages/client/tests/e2e/ts-version/4.9/README.md
@@ -0,0 +1,3 @@
# Readme

This is testing TypeScript version 4.9.x
3 changes: 0 additions & 3 deletions packages/client/tests/e2e/ts-version/4.9/readme.md

This file was deleted.

3 changes: 3 additions & 0 deletions packages/client/tests/e2e/ts-version/5.0/README.md
@@ -0,0 +1,3 @@
# Readme

This is testing TypeScript version 5.0.x
3 changes: 0 additions & 3 deletions packages/client/tests/e2e/ts-version/5.0/readme.md

This file was deleted.

3 changes: 3 additions & 0 deletions packages/client/tests/e2e/ts-version/5.1/README.md
@@ -0,0 +1,3 @@
# Readme

This is testing TypeScript version 5.1.x
3 changes: 0 additions & 3 deletions packages/client/tests/e2e/ts-version/5.1/readme.md

This file was deleted.

3 changes: 3 additions & 0 deletions packages/client/tests/e2e/ts-version/5.2/README.md
@@ -0,0 +1,3 @@
# Readme

This is testing TypeScript version 5.2.x
17 changes: 17 additions & 0 deletions packages/client/tests/e2e/ts-version/5.2/_steps.ts
@@ -0,0 +1,17 @@
import { $ } from 'zx'

import { executeSteps } from '../../_utils/executeSteps'

void executeSteps({
setup: async () => {
await $`pnpm install`
await $`pnpm exec prisma generate`
},
test: async () => {
await $`pnpm exec tsc --noEmit`
},
finish: async () => {
await $`echo "done"`
},
// keep: true, // keep docker open to debug it
})
15 changes: 15 additions & 0 deletions packages/client/tests/e2e/ts-version/5.2/package.json
@@ -0,0 +1,15 @@
{
"private": true,
"version": "0.0.0",
"main": "index.js",
"scripts": {},
"dependencies": {
"@prisma/client": "/tmp/prisma-client-0.0.0.tgz"
},
"devDependencies": {
"@types/jest": "29.5.1",
"@types/node": "16.18.11",
"prisma": "/tmp/prisma-0.0.0.tgz",
"typescript": "~5.2.2"
}
}
35 changes: 35 additions & 0 deletions packages/client/tests/e2e/ts-version/5.2/prisma/schema.prisma
@@ -0,0 +1,35 @@
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema

generator client {
provider = "prisma-client-js"
}

datasource db {
provider = "sqlite"
url = "file:./db"
}

model User {
id Int @id @default(autoincrement())
email String @unique
name String?
posts Post[]
profile Profile?
}

model Post {
id Int @id @default(autoincrement())
title String
content String?
published Boolean @default(false)
author User @relation(fields: [authorId], references: [id])
authorId Int
}

model Profile {
id Int @id @default(autoincrement())
bio String?
user User @relation(fields: [userId], references: [id])
userId Int @unique
}
1 change: 1 addition & 0 deletions packages/client/tests/e2e/ts-version/5.2/src/index.ts
@@ -0,0 +1 @@
import '@prisma/client'
4 changes: 4 additions & 0 deletions packages/client/tests/e2e/ts-version/5.2/tsconfig.json
@@ -0,0 +1,4 @@
{
"extends": "../../tsconfig.base.json",
"exclude": ["_steps.ts"]
}
5 changes: 5 additions & 0 deletions packages/client/tests/e2e/ts-version/README.md
@@ -0,0 +1,5 @@
# TypeScript versions

See https://www.prisma.io/docs/reference/system-requirements for which TS version is the minimum supported by Prisma.

See the https://www.npmjs.com/package/typescript package for available versions.
3 changes: 3 additions & 0 deletions packages/client/tests/e2e/ts-version/beta/README.md
@@ -0,0 +1,3 @@
# Readme

This is testing the beta build of TypeScript
17 changes: 17 additions & 0 deletions packages/client/tests/e2e/ts-version/beta/_steps.ts
@@ -0,0 +1,17 @@
import { $ } from 'zx'

import { executeSteps } from '../../_utils/executeSteps'

void executeSteps({
setup: async () => {
await $`pnpm install`
await $`pnpm prisma generate`
},
test: async () => {
await $`pnpm tsc --noEmit`
},
finish: async () => {
await $`echo "done"`
},
// keep: true, // keep docker open to debug it
})
15 changes: 15 additions & 0 deletions packages/client/tests/e2e/ts-version/beta/package.json
@@ -0,0 +1,15 @@
{
"private": true,
"version": "0.0.0",
"main": "index.js",
"scripts": {},
"dependencies": {
"@prisma/client": "/tmp/prisma-client-0.0.0.tgz"
},
"devDependencies": {
"@types/jest": "29.5.1",
"@types/node": "16.18.11",
"prisma": "/tmp/prisma-0.0.0.tgz",
"typescript": "beta"
}
}
35 changes: 35 additions & 0 deletions packages/client/tests/e2e/ts-version/beta/prisma/schema.prisma
@@ -0,0 +1,35 @@
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema

generator client {
provider = "prisma-client-js"
}

datasource db {
provider = "sqlite"
url = "file:./db"
}

model User {
id Int @id @default(autoincrement())
email String @unique
name String?
posts Post[]
profile Profile?
}

model Post {
id Int @id @default(autoincrement())
title String
content String?
published Boolean @default(false)
author User @relation(fields: [authorId], references: [id])
authorId Int
}

model Profile {
id Int @id @default(autoincrement())
bio String?
user User @relation(fields: [userId], references: [id])
userId Int @unique
}
1 change: 1 addition & 0 deletions packages/client/tests/e2e/ts-version/beta/src/index.ts
@@ -0,0 +1 @@
import '@prisma/client'
4 changes: 4 additions & 0 deletions packages/client/tests/e2e/ts-version/beta/tsconfig.json
@@ -0,0 +1,4 @@
{
"extends": "../../tsconfig.base.json",
"exclude": ["_steps.ts"]
}
3 changes: 3 additions & 0 deletions packages/client/tests/e2e/ts-version/latest/README.md
@@ -0,0 +1,3 @@
# Readme

This is testing the latest version of TypeScript
17 changes: 17 additions & 0 deletions packages/client/tests/e2e/ts-version/latest/_steps.ts
@@ -0,0 +1,17 @@
import { $ } from 'zx'

import { executeSteps } from '../../_utils/executeSteps'

void executeSteps({
setup: async () => {
await $`pnpm install`
await $`pnpm prisma generate`
},
test: async () => {
await $`pnpm tsc --noEmit`
},
finish: async () => {
await $`echo "done"`
},
// keep: true, // keep docker open to debug it
})
15 changes: 15 additions & 0 deletions packages/client/tests/e2e/ts-version/latest/package.json
@@ -0,0 +1,15 @@
{
"private": true,
"version": "0.0.0",
"main": "index.js",
"scripts": {},
"dependencies": {
"@prisma/client": "/tmp/prisma-client-0.0.0.tgz"
},
"devDependencies": {
"@types/jest": "29.5.1",
"@types/node": "16.18.11",
"prisma": "/tmp/prisma-0.0.0.tgz",
"typescript": "latest"
}
}
35 changes: 35 additions & 0 deletions packages/client/tests/e2e/ts-version/latest/prisma/schema.prisma
@@ -0,0 +1,35 @@
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema

generator client {
provider = "prisma-client-js"
}

datasource db {
provider = "sqlite"
url = "file:./db"
}

model User {
id Int @id @default(autoincrement())
email String @unique
name String?
posts Post[]
profile Profile?
}

model Post {
id Int @id @default(autoincrement())
title String
content String?
published Boolean @default(false)
author User @relation(fields: [authorId], references: [id])
authorId Int
}

model Profile {
id Int @id @default(autoincrement())
bio String?
user User @relation(fields: [userId], references: [id])
userId Int @unique
}
1 change: 1 addition & 0 deletions packages/client/tests/e2e/ts-version/latest/src/index.ts
@@ -0,0 +1 @@
import '@prisma/client'
4 changes: 4 additions & 0 deletions packages/client/tests/e2e/ts-version/latest/tsconfig.json
@@ -0,0 +1,4 @@
{
"extends": "../../tsconfig.base.json",
"exclude": ["_steps.ts"]
}
2 changes: 1 addition & 1 deletion packages/client/tests/e2e/ts-version/next/readme.md
@@ -1,3 +1,3 @@
# Readme

This test tests next typescript nightly build
This is testing the nightly build of TypeScript

0 comments on commit 75b5172

Please sign in to comment.