BrowserFile.ts•1.14 kB
import { getClientEngineType } from '@prisma/internals'
import { GenerateContext } from '../GenerateContext'
import { modelExports } from '../ModelExports'
import { TSClientOptions } from '../TSClient'
const jsDocHeader = `/*
* This file should be your main import to use Prisma-related types and utilities in a browser.
* Use it to get access to models, enums, and input types.
*
* This file does not contain a \`PrismaClient\` class, nor several other helpers that are intended as server-side only.
* See \`client.ts\` for the standard, server-side entry point.
*
* 🟢 You can import this file directly.
*/
`
export function createBrowserFile(context: GenerateContext, options: TSClientOptions): string {
const clientEngineType = getClientEngineType(options.generator)
options.generator.config.engineType = clientEngineType
return `${jsDocHeader}
import * as Prisma from '${context.importFileName('./internal/prismaNamespaceBrowser')}'
export { Prisma }
export * as $Enums from '${context.importFileName('./enums')}'
export * from '${context.importFileName('./enums')}';
${modelExports(context).join('\n')}
`
}