diff --git a/packages/client/src/runtime/getPrismaClient.ts b/packages/client/src/runtime/getPrismaClient.ts index eddc9b8b36b5..5257012a3fcc 100644 --- a/packages/client/src/runtime/getPrismaClient.ts +++ b/packages/client/src/runtime/getPrismaClient.ts @@ -1,5 +1,5 @@ import { Context, context } from '@opentelemetry/api' -import Debug from '@prisma/debug' +import Debug, { clearLogs } from '@prisma/debug' import { BatchTransactionOptions, BinaryEngine, @@ -591,6 +591,7 @@ export function getPrismaClient(config: GetPrismaClientConfig) { e.clientVersion = this._clientVersion throw e } finally { + clearLogs() if (!this._dataProxy) { this._dmmf = undefined } diff --git a/packages/client/tests/functional/jest.config.js b/packages/client/tests/functional/jest.config.js index 11f3bdc5fd9a..64eb154a7b41 100644 --- a/packages/client/tests/functional/jest.config.js +++ b/packages/client/tests/functional/jest.config.js @@ -1,10 +1,18 @@ 'use strict' const os = require('os') +const path = require('path') + +const runtimeDir = path.dirname(require.resolve('../../runtime')) +const packagesDir = path.resolve('..', '..', '..') module.exports = () => { const configCommon = { testMatch: ['**/*.ts', '!(**/*.d.ts)', '!(**/_utils/**)', '!(**/_*.ts)', '!(**/.generated/**)'], - transformIgnorePatterns: [], + transformIgnorePatterns: [ + '[\\/]node_modules[\\/]', + escapeRegex(runtimeDir), + `${escapeRegex(packagesDir)}[\\/][^\\/]+[\\/]dist[\\/]`, + ], reporters: [ 'default', [ @@ -47,3 +55,12 @@ module.exports = () => { }, } } + +/** + * https://stackoverflow.com/a/6969486 + * @param {string} str + * @returns {string} + */ +function escapeRegex(str) { + return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') +} diff --git a/packages/debug/src/index.ts b/packages/debug/src/index.ts index 1b02e99b1154..4b5137c12b1d 100644 --- a/packages/debug/src/index.ts +++ b/packages/debug/src/index.ts @@ -81,5 +81,9 @@ export function getLogs(numChars = 7500): string { return output.slice(-numChars) } +export function clearLogs() { + debugArgsHistory.length = 0 +} + export { Debug } export default Debug