Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const datasourceString = printDatasources([
{
config: {},
connectorType,
name: 'db',
url,
},
])
introspectionSchema = datasourceString + '\n' + introspectionSchema
debug('introspectionSchema:')
debug(introspectionSchema)
try {
const dmmf = await getDMMF({ datamodel: introspectionSchema })
// add the datasource itself to the schema in case no schema.prisma exists yet
const datasources: DataSource[] = [
{
name: 'db',
config: {},
connectorType,
url: {
value: url,
fromEnvVar: null,
},
},
]
const schema = await dmmfToDml({
config: config || {
datasources,
export async function replaceGenerator(datamodel: string, generator: GeneratorConfig): Promise {
const [dmmf, config] = await Promise.all([getDMMF({ datamodel }), getConfig({ datamodel })])
config.generators = [generator]
return dmmfToDml({
config,
dmmf: dmmf.datamodel,
})
}
export async function replaceDatasource(datamodel: string, datasource: DataSource): Promise {
const [dmmf, config] = await Promise.all([getDMMF({ datamodel }), getConfig({ datamodel })])
config.datasources = [datasource]
return dmmfToDml({
config,
dmmf: dmmf.datamodel,
})
}
useLocalRuntime = false,
transpile = true,
}: GenerateInFolderOptions): Promise {
const before = performance.now()
if (!projectDir) {
throw new Error(
`Project dir missing. Usage: ts-node examples/generate.ts examples/accounts`,
)
}
if (!fs.existsSync(projectDir)) {
throw new Error(`Path ${projectDir} does not exist`)
}
const schemaPath = getSchemaPath(projectDir)
const datamodel = fs.readFileSync(schemaPath, 'utf-8')
const dmmf = await getDMMF({ datamodel })
const config = await getConfig({ datamodel })
const outputDir = path.join(projectDir, 'node_modules/@prisma/photon')
await getPackedPackage('@prisma/photon', outputDir)
const platform = await getPlatform()
await generateClient({
binaryPaths: {
queryEngine: {
[platform]: path.join(
__dirname,
`../../query-engine-${platform}${
platform === 'windows' ? '.exe' : ''
}`,
),
export async function getDMMF(
options: GetDMMFOptions,
): Promise {
const dmmf = await getRawDMMF(options)
return getPhotonDMMF(dmmf)
}