updated prisma service async runner

This commit is contained in:
Berkay 2025-08-10 11:01:26 +03:00
parent c2fd263f27
commit 768f0a5daf
13637 changed files with 4688722 additions and 0 deletions

1
.gitignore vendored
View File

@ -54,3 +54,4 @@ pids
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
ServicesRunnner/AccountRecordServices/Test/venv/

3
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
"git.ignoreLimitWarning": true
}

View File

@ -0,0 +1,14 @@
__pycache__/
*.pyc
*.pyo
*.pyd
*.db
*.sqlite3
*.log
*.env
venv/
.env.*
node_modules/
.prisma/
.prisma-cache/
ServicesRunnner/AccountRecordServices/Test/venv/

View File

@ -0,0 +1,32 @@
{
"name": "prisma-binaries",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"node_modules/@prisma/engines": {
"version": "4.15.0",
"resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.15.0.tgz",
"integrity": "sha512-FTaOCGs0LL0OW68juZlGxFtYviZa4xdQj/rQEdat2txw0s3Vu/saAPKjNVXfIgUsGXmQ72HPgNr6935/P8FNAA==",
"hasInstallScript": true,
"license": "Apache-2.0"
},
"node_modules/prisma": {
"version": "4.15.0",
"resolved": "https://registry.npmjs.org/prisma/-/prisma-4.15.0.tgz",
"integrity": "sha512-iKZZpobPl48gTcSZVawLMQ3lEy6BnXwtoMj7hluoGFYu2kQ6F9LBuBrUyF95zRVnNo8/3KzLXJXJ5TEnLSJFiA==",
"hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": {
"@prisma/engines": "4.15.0"
},
"bin": {
"prisma": "build/index.js",
"prisma2": "build/index.js"
},
"engines": {
"node": ">=14.17"
}
}
}
}

View File

@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@ -0,0 +1,13 @@
# `@prisma/engines`
⚠️ **Warning**: This package is intended for Prisma's internal use.
Its release cycle does not follow SemVer, which means we might release breaking changes (change APIs, remove functionality) without any prior warning.
The postinstall hook of this package downloads all Prisma engines available for the current platform, namely the Query Engine and the Migration Engine from the Prisma CDN.
The engines version to be downloaded are directly determined by the version of its `@prisma/engines-version` dependency.
You should probably not use this package directly, but instead use one of these:
- [`prisma` CLI](https://www.npmjs.com/package/prisma)
- [`@prisma/client`](https://www.npmjs.com/package/@prisma/client)

View File

@ -0,0 +1,18 @@
import { BinaryType as BinaryType_2 } from '@prisma/fetch-engine';
import { enginesVersion } from '@prisma/engines-version';
export declare const DEFAULT_CLI_QUERY_ENGINE_BINARY_TYPE = BinaryType.QueryEngineLibrary;
export { enginesVersion }
export declare function ensureBinariesExist(): Promise<void>;
/**
* Checks if the env override `PRISMA_CLI_QUERY_ENGINE_TYPE` is set to `library` or `binary`
* Otherwise returns the default
*/
export declare function getCliQueryEngineBinaryType(): BinaryType_2.QueryEngineLibrary | BinaryType_2.QueryEngineBinary;
export declare function getEnginesPath(): string;
export { }

View File

@ -0,0 +1,39 @@
{
"name": "@prisma/engines",
"version": "4.15.0",
"description": "This package is intended for Prisma's internal use",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"license": "Apache-2.0",
"author": "Tim Suchanek <suchanek@prisma.io>",
"devDependencies": {
"@prisma/engines-version": "4.15.0-28.8fbc245156db7124f997f4cecdd8d1219e360944",
"@swc/core": "1.3.32",
"@swc/jest": "0.2.26",
"@types/jest": "29.5.1",
"@types/node": "18.16.14",
"execa": "5.1.1",
"jest": "29.5.0",
"typescript": "4.9.5",
"@prisma/debug": "4.15.0",
"@prisma/fetch-engine": "4.15.0",
"@prisma/get-platform": "4.15.0"
},
"repository": {
"type": "git",
"url": "https://github.com/prisma/prisma.git",
"directory": "packages/engines"
},
"files": [
"dist",
"download",
"scripts"
],
"sideEffects": false,
"scripts": {
"dev": "DEV=true node -r esbuild-register helpers/build.ts",
"build": "node -r esbuild-register helpers/build.ts",
"test": "jest --passWithNoTests",
"postinstall": "node scripts/postinstall.js"
}
}

View File

@ -0,0 +1,26 @@
const path = require('path')
const postInstallScriptPath = path.join(__dirname, '..', 'dist', 'scripts', 'postinstall.js')
const localInstallScriptPath = path.join(__dirname, '..', 'dist', 'scripts', 'localinstall.js')
try {
// that's when we develop in the monorepo, `dist` does not exist yet
// so we compile postinstall script and trigger it immediately after
if (require('../package.json').version === '0.0.0') {
const execa = require('execa')
const buildScriptPath = path.join(__dirname, '..', 'helpers', 'build.ts')
execa.sync('node', ['-r', 'esbuild-register', buildScriptPath], {
env: { DEV: true },
stdio: 'inherit',
})
// if enabled, it will install engine overrides into the cache dir
execa.sync('node', [localInstallScriptPath], {
stdio: 'inherit',
})
}
} catch {}
// that's the normal path, when users get this package ready/installed
require(postInstallScriptPath)

View File

@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@ -0,0 +1,88 @@
<div align="center">
<h1>Prisma</h1>
<a href="https://www.npmjs.com/package/prisma"><img src="https://img.shields.io/npm/v/prisma.svg?style=flat" /></a>
<a href="https://github.com/prisma/prisma/blob/main/CONTRIBUTING.md"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" /></a>
<a href="https://github.com/prisma/prisma/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-Apache%202-blue" /></a>
<a href="https://slack.prisma.io/"><img src="https://img.shields.io/badge/chat-on%20slack-blue.svg" /></a>
<br />
<br />
<a href="https://www.prisma.io/docs/getting-started/quickstart">Quickstart</a>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>
<a href="https://www.prisma.io/">Website</a>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>
<a href="https://www.prisma.io/docs/">Docs</a>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>
<a href="https://github.com/prisma/prisma-examples/">Examples</a>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>
<a href="https://www.prisma.io/blog">Blog</a>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>
<a href="https://slack.prisma.io/">Slack</a>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>
<a href="https://twitter.com/prisma">Twitter</a>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>
<a href="https://github.com/prisma/prisma1">Prisma 1</a>
<br />
<hr />
</div>
## What is Prisma?
Prisma is a **next-generation ORM** that consists of these tools:
- [**Prisma Client**](https://www.prisma.io/docs/concepts/components/prisma-client): Auto-generated and type-safe query builder for Node.js & TypeScript
- [**Prisma Migrate**](https://www.prisma.io/docs/concepts/components/prisma-migrate): Declarative data modeling & migration system
- [**Prisma Studio**](https://github.com/prisma/studio): GUI to view and edit data in your database
Prisma Client can be used in _any_ Node.js or TypeScript backend application (including serverless applications and microservices). This can be a [REST API](https://www.prisma.io/docs/understand-prisma/prisma-in-your-stack/rest), a [GraphQL API](https://www.prisma.io/docs/understand-prisma/prisma-in-your-stack/graphql) a gRPC API, or anything else that needs a database.
> **Are you looking for Prisma 1? The Prisma 1 repository has been renamed to [`prisma/prisma1`](https://github.com/prisma/prisma1)**.
## Getting started
The fastest way to get started with Prisma is by following the [**Quickstart (5 min)**](https://www.prisma.io/docs/getting-started/quickstart-typescript).
The Quickstart is based on a preconfigured SQLite database. You can also get started with your own database (PostgreSQL and MySQL) by following one of these guides:
- [Add Prisma to an existing project](https://www.prisma.io/docs/getting-started/setup-prisma/add-to-existing-project-typescript-postgres)
- [Set up a new project with Prisma from scratch](https://www.prisma.io/docs/getting-started/setup-prisma/start-from-scratch-typescript-postgres)
## Community
Prisma has a large and supportive [community](https://www.prisma.io/community) of enthusiastic application developers. You can join us on [Slack](https://slack.prisma.io) and here on [GitHub](https://github.com/prisma/prisma/discussions).
## Security
If you have a security issue to report, please contact us at [security@prisma.io](mailto:security@prisma.io?subject=[GitHub]%20Prisma%202%20Security%20Report%20).
## Support
### Ask a question about Prisma
You can ask questions and initiate [discussions](https://github.com/prisma/prisma/discussions/) about Prisma-related topics in the `prisma` repository on GitHub.
👉 [**Ask a question**](https://github.com/prisma/prisma/discussions/new)
### Create a bug report for Prisma
If you see an error message or run into an issue, please make sure to create a bug report! You can find [best practices for creating bug reports](https://www.prisma.io/docs/support/creating-bug-reports) (like including additional debugging output) in the docs.
👉 [**Create bug report**](https://github.com/prisma/prisma/issues/new?assignees=&labels=&template=bug_report.md&title=)
### Submit a feature request
If Prisma currently doesn't have a certain feature, be sure to check out the [roadmap](https://www.prisma.io/docs/more/roadmap) to see if this is already planned for the future.
If the feature on the roadmap is linked to a GitHub issue, please make sure to leave a +1 on the issue and ideally a comment with your thoughts about the feature!
👉 [**Submit feature request**](https://github.com/prisma/prisma/issues/new?assignees=&labels=&template=feature_request.md&title=)
## Contributing
Refer to our [contribution guidelines](https://github.com/prisma/prisma/blob/main/CONTRIBUTING.md) and [Code of Conduct for contributors](https://github.com/prisma/prisma/blob/main/CODE_OF_CONDUCT.md).
## Build Status
- Prisma Tests Status:
[![Build status](https://badge.buildkite.com/590e1981074b70961362481ad8319a831b44a38c5d468d6408.svg?branch=main)](https://buildkite.com/prisma/prisma2-test)
- Ecosystem Tests Status:
[![Actions Status](https://github.com/prisma/ecosystem-tests/workflows/test/badge.svg)](https://github.com/prisma/ecosystem-tests/actions)

View File

@ -0,0 +1,5 @@
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 9V13" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 17H12.01" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 510 B

View File

@ -0,0 +1,4 @@
<svg viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.99999 0H0V24H7.99999V21H4.00001V3H7.99999V0ZM16 0V3H19.9999V21H16V24H24V0H16Z" />
</svg>

After

Width:  |  Height:  |  Size: 207 B

View File

@ -0,0 +1,4 @@
<svg viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.85714 5C3.07006 5 0 8.13402 0 12C0 15.866 3.07006 19 6.85714 19H17.143C20.9299 19 24 15.866 24 12C24 8.13402 20.9299 5 17.143 5H6.85714ZM6.85714 17.25C9.69746 17.25 12 14.8995 12 12C12 9.10051 9.69746 6.75 6.85714 6.75C4.01683 6.75 1.7143 9.10051 1.7143 12C1.7143 14.8995 4.01683 17.25 6.85714 17.25Z" />
</svg>

After

Width:  |  Height:  |  Size: 430 B

View File

@ -0,0 +1,3 @@
<svg viewBox="0 0 9 7" xmlns="http://www.w3.org/2000/svg">
<path d="M4.5 7L8.39711 0.25H0.602886L4.5 7Z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 136 B

View File

@ -0,0 +1,11 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M8.70711 7.29289C8.31658 6.90237 7.68342 6.90237 7.29289 7.29289C6.90237 7.68342 6.90237 8.31658 7.29289 8.70711L8.70711 7.29289ZM15.7782 17.1924C16.1687 17.5829 16.8019 17.5829 17.1924 17.1924C17.5829 16.8019 17.5829 16.1687 17.1924 15.7782L15.7782 17.1924ZM7.29289 15.7782C6.90237 16.1687 6.90237 16.8019 7.29289 17.1924C7.68342 17.5829 8.31658 17.5829 8.70711 17.1924L7.29289 15.7782ZM17.1924 8.70711C17.5829 8.31658 17.5829 7.68342 17.1924 7.29289C16.8019 6.90237 16.1687 6.90237 15.7782 7.29289L17.1924 8.70711ZM7.29289 8.70711L15.7782 17.1924L17.1924 15.7782L8.70711 7.29289L7.29289 8.70711ZM8.70711 17.1924L17.1924 8.70711L15.7782 7.29289L7.29289 15.7782L8.70711 17.1924Z"
fill="currentColor"
/>
</svg>

After

Width:  |  Height:  |  Size: 823 B

View File

@ -0,0 +1,4 @@
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd"
d="M4 10V18C4 19.1046 4.89543 20 6 20H18C19.1046 20 20 19.1046 20 18V10H4ZM0 6C0 2.68629 2.68629 0 6 0H18C21.3137 0 24 2.68629 24 6V18C24 21.3137 21.3137 24 18 24H6C2.68629 24 0 21.3137 0 18V6Z" />
</svg>

After

Width:  |  Height:  |  Size: 329 B

View File

@ -0,0 +1,4 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M7.875 16.9722L12 21.25M12 21.25L16.125 16.9722M12 21.25V11.625" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M20.8773 17.125C21.7462 16.5127 22.3978 15.6389 22.7375 14.6303C23.0773 13.6217 23.0874 12.5309 22.7666 11.5162C22.4458 10.5014 21.8107 9.6155 20.9534 8.987C20.0961 8.3585 19.0612 8.02011 17.999 8.02095H16.7398C16.4392 6.84701 15.8767 5.7567 15.0948 4.8321C14.3129 3.90751 13.3319 3.17272 12.2256 2.68306C11.1193 2.1934 9.91659 1.96162 8.70798 2.00518C7.49937 2.04873 6.31637 2.36649 5.24803 2.93452C4.1797 3.50255 3.25387 4.30606 2.54025 5.28455C1.82663 6.26304 1.34382 7.39102 1.12815 8.58356C0.912487 9.77611 0.969594 11.0021 1.29517 12.1694C1.62075 13.3366 2.20632 14.4146 3.00779 15.3222" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 945 B

View File

@ -0,0 +1,10 @@
<svg
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<g>
<circle cx="6" cy="12" r="2" />
<circle cx="12" cy="12" r="2" />
<circle cx="18" cy="12" r="2" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 195 B

View File

@ -0,0 +1,6 @@
<svg viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M24 4.8H0V0H24V4.8Z" />
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.8 14.4H0V9.60001H16.8V14.4Z" />
<path fill-rule="evenodd" clip-rule="evenodd" d="M24 24H0V19.2H24V24Z" />
</svg>

After

Width:  |  Height:  |  Size: 309 B

View File

@ -0,0 +1,6 @@
<svg
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path d="m23.968743,20.378119c0,0.634822 -0.252181,1.243672 -0.701129,1.69262c-0.448948,0.448948 -1.057797,0.701129 -1.69262,0.701129l-19.149988,0c-0.634858,0 -1.24372,-0.252181 -1.692632,-0.701129c-0.448924,-0.448948 -0.701117,-1.057797 -0.701117,-1.69262l0,-16.75624c0,-0.634858 0.252193,-1.24372 0.701117,-1.692632c0.448912,-0.448924 1.057774,-0.701117 1.692632,-0.701117l5.984371,0l2.393749,3.590623l10.771868,0c0.634822,0 1.243672,0.252193 1.69262,0.701117c0.448948,0.448912 0.701129,1.057774 0.701129,1.692632l0,13.165617z"/>
</svg>

After

Width:  |  Height:  |  Size: 606 B

View File

@ -0,0 +1,4 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.5" fill-rule="evenodd" clip-rule="evenodd" d="M24 10H0V6H24V10Z" fill="currentColor" />
<path opacity="0.5" fill-rule="evenodd" clip-rule="evenodd" d="M24 18H0V14H24V18Z" fill="currentColor" />
</svg>

After

Width:  |  Height:  |  Size: 286 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,7 @@
<svg viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 8.0001C0 6.89554 0.89544 6.00015 1.99999 6.00015H22.0001C23.1046 6.00015 24 6.89554 24 8.0001C24 9.10465 23.1046 10.0001 22.0001 10.0001H1.99999C0.89544 10.0001 0 9.10465 0 8.0001Z" />
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 15.9999C0 14.8954 0.89544 14 1.99999 14H22.0001C23.1046 14 24 14.8954 24 15.9999C24 17.1046 23.1046 17.9998 22.0001 17.9998H1.99999C0.89544 17.9998 0 17.1046 0 15.9999Z" />
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.29671 0.0223986C10.389 0.186247 11.1418 1.20459 10.9779 2.2969L7.97789 22.2965C7.81404 23.3887 6.7957 24.1414 5.70334 23.9777C4.611 23.8138 3.85829 22.7954 4.02216 21.7032L7.02216 1.70355C7.18601 0.611239 8.20435 -0.141449 9.29671 0.0223986Z" />
<path fill-rule="evenodd" clip-rule="evenodd" d="M18.2967 0.0223986C19.3891 0.186247 20.1418 1.20459 19.9779 2.2969L16.9779 22.2965C16.8139 23.3887 15.7957 24.1414 14.7033 23.9777C13.611 23.8138 12.8583 22.7954 13.0222 21.7032L16.0222 1.70355C16.186 0.611239 17.2044 -0.141449 18.2967 0.0223986Z" />
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,5 @@
<svg viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path d="M9.5452 24V21.1961H8.44912C6.82779 21.1961 6.50809 20.7754 6.50809 18.6723V15.1291C6.50809 13.3829 5.38916 12.2613 3.32256 12.1211V11.8917C5.38916 11.7515 6.50809 10.6171 6.50809 8.88371V5.32767C6.50809 3.22464 6.82779 2.80404 8.44912 2.80404H9.5452V0H7.70696C4.40725 0 3.33397 1.15985 3.33397 4.72863V7.54542C3.33397 9.55924 2.51189 10.3367 0 10.222V13.778C2.51189 13.6761 3.33397 14.4535 3.33397 16.4674V19.2713C3.33397 22.8401 4.40725 24 7.70696 24H9.5452Z" />
<path d="M16.293 24C19.5929 24 20.6659 22.8401 20.6659 19.2713V16.4674C20.6659 14.4535 21.4882 13.6761 24 13.778V10.222C21.4882 10.3367 20.6659 9.55924 20.6659 7.54542V4.72863C20.6659 1.15985 19.5929 0 16.293 0H14.4548V2.80404H15.5509C17.1722 2.80404 17.4919 3.22464 17.4919 5.32767V8.88371C17.4919 10.6171 18.6108 11.7515 20.6774 11.8917V12.1211C18.6108 12.2613 17.4919 13.3829 17.4919 15.1291V18.6723C17.4919 20.7754 17.1722 21.1961 15.5509 21.1961H14.4548V24H16.293Z" />
</svg>

After

Width:  |  Height:  |  Size: 1022 B

View File

@ -0,0 +1,6 @@
<svg
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path d="m2.314892,2.715466c0,-2.097726 2.320696,-3.364698 4.085258,-2.230334l13.864359,8.912782c1.89413,1.21769 1.89413,3.986482 0,5.204172l-13.864359,8.912782c-1.764597,1.134364 -4.085258,-0.132608 -4.085258,-2.230334l0,-18.569068z"/>
</svg>

After

Width:  |  Height:  |  Size: 311 B

View File

@ -0,0 +1,4 @@
<svg viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M14 1.71429C14 0.767512 13.1046 0 12 0C10.8954 0 10 0.767512 10 1.71429V10L1.71429 10C0.767512 10 0 10.8954 0 12C0 13.1046 0.767512 14 1.71429 14L10 14V22.2857C10 23.2325 10.8954 24 12 24C13.1046 24 14 23.2325 14 22.2857V14L22.2857 14C23.2325 14 24 13.1046 24 12C24 10.8954 23.2325 10 22.2857 10L14 10V1.71429Z" />
</svg>

After

Width:  |  Height:  |  Size: 437 B

View File

@ -0,0 +1,4 @@
<svg viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor"
d="M8.53033 1.46948C7.62352 0.563232 6.37899 0.000732422 4.99687 0.000732422C2.23265 0.000732422 0 2.23823 0 5.00073C0 7.76323 2.23265 10.0007 4.99687 10.0007C7.32958 10.0007 9.27455 8.40698 9.83115 6.25073H8.53033C8.01751 7.70698 6.62914 8.75073 4.99687 8.75073C2.92683 8.75073 1.24453 7.06948 1.24453 5.00073C1.24453 2.93198 2.92683 1.25073 4.99687 1.25073C6.03502 1.25073 6.9606 1.68198 7.63602 2.36323L5.62226 4.37573H10V0.000732422L8.53033 1.46948Z" />
</svg>

After

Width:  |  Height:  |  Size: 557 B

View File

@ -0,0 +1,7 @@
<svg
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path fill="none" d="m10.7143,14.96883c2.6036,0 4.7143,-2.1106 4.7143,-4.7143c0,-2.60358 -2.1107,-4.71424 -4.7143,-4.71424c-2.60364,0 -4.7143,2.11066 -4.7143,4.71424c0,2.6037 2.11066,4.7143 4.7143,4.7143z"/>
<path fill="none" d="m18,17.54023l-3.4286,-3.4285" stroke-linecap="round" />
</svg>

After

Width:  |  Height:  |  Size: 363 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -0,0 +1,4 @@
<svg viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path d="M18.327 24L16.5266 18.3105H7.4735L5.67304 24H0L8.76437 0H15.2018L24 24H18.327ZM15.2697 14.06C13.6051 8.90463 12.6653 5.98911 12.4502 5.31336C12.2463 4.63761 12.0991 4.10355 12.0085 3.71118C11.6349 5.10627 10.5648 8.55585 8.79833 14.06H15.2697Z" />
</svg>

After

Width:  |  Height:  |  Size: 330 B

View File

@ -0,0 +1,3 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<rect fill-rule="evenodd" clip-rule="evenodd" y="10" width="24" height="4" rx="2"/>
</svg>

After

Width:  |  Height:  |  Size: 152 B

View File

@ -0,0 +1,4 @@
<svg viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.3327 2.54004C24.1705 3.30678 24.227 4.60642 23.4591 5.44287L9.78844 20.3338C9.3987 20.7583 8.8484 21 8.27163 21C7.69485 21 7.14456 20.7583 6.75481 20.3338L0.540861 13.5652C-0.227044 12.7287 -0.170453 11.4291 0.667261 10.6624C1.50497 9.89561 2.80659 9.95212 3.57449 10.7886L8.27163 15.9049L20.4255 2.66625C21.1934 1.82981 22.495 1.7733 23.3327 2.54004Z"/>
</svg>

After

Width:  |  Height:  |  Size: 481 B

View File

@ -0,0 +1,5 @@
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M18 22.3488C18 19.3948 20.3948 17 23.3488 17H58.6512C61.6052 17 64 19.3948 64 22.3488V57.6512C64 60.6052 61.6052 63 58.6512 63H23.3488C20.3948 63 18 60.6052 18 57.6512V22.3488Z" fill="#9F6BF4"/>
<path d="M0 6.34884C0 3.39476 2.39476 1 5.34884 1H40.6512C43.6052 1 46 3.39476 46 6.34884V41.6512C46 44.6052 43.6052 47 40.6512 47H5.34884C2.39476 47 0 44.6052 0 41.6512V6.34884Z" fill="#C9D3DB"/>
<path d="M46 17V41.7059C46 44.6297 43.5892 47 40.6154 47H18V22.2941C18 19.3703 20.4108 17 23.3846 17H46Z" fill="#8044E2"/>
</svg>

After

Width:  |  Height:  |  Size: 627 B

View File

@ -0,0 +1 @@
import"../assets/index.js";import"../assets/vendor.js";window.databrowser({transport:{type:"http",url:`${window.location.origin}/api`}});

View File

@ -0,0 +1 @@
import"../assets/index.js";import"../assets/vendor.js";window.splash({transport:{type:"http",url:`${window.location.origin}/api`}});

View File

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Prisma Studio</title>
<link rel="icon" href="./favicon.svg" />
<script type="module" crossorigin src="./http/databrowser.js"></script>
<link rel="modulepreload" href="./assets/index.js">
<link rel="modulepreload" href="./assets/vendor.js">
<link rel="stylesheet" href="./index.css">
</head>
<body>
</body>
</html>

View File

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Prisma Studio</title>
<link rel="icon" href="./favicon.svg" />
<script type="module" crossorigin src="./http/splash.js"></script>
<link rel="modulepreload" href="./assets/index.js">
<link rel="modulepreload" href="./assets/vendor.js">
<link rel="stylesheet" href="./index.css">
</head>
<body>
</body>
</html>

View File

@ -0,0 +1,116 @@
{
"version": "4.15.0",
"name": "prisma",
"description": "Prisma is an open-source database toolkit. It includes a JavaScript/TypeScript ORM for Node.js, migrations and a modern GUI to view and edit the data in your database. You can use Prisma in new projects or add it to an existing one.",
"keywords": [
"orm",
"prisma2",
"prisma",
"cli",
"database",
"sql",
"postgresql",
"mysql",
"sqlite",
"mariadb",
"mssql",
"typescript",
"query-builder"
],
"main": "build/index.js",
"repository": {
"type": "git",
"url": "https://github.com/prisma/prisma.git",
"directory": "packages/cli"
},
"homepage": "https://www.prisma.io",
"author": "Tim Suchanek <suchanek@prisma.io>",
"bugs": "https://github.com/prisma/prisma/issues",
"license": "Apache-2.0",
"engines": {
"node": ">=14.17"
},
"prisma": {
"prismaCommit": "ab8d4e3d012c67a84f95584330871bac4a7971fa"
},
"files": [
"README.md",
"build",
"install",
"runtime/*.js",
"runtime/*.d.ts",
"runtime/utils",
"runtime/dist",
"runtime/llhttp",
"prisma-client",
"preinstall",
"scripts/preinstall-entry.js"
],
"pkg": {
"assets": [
"build/**/*",
"runtime/**/*",
"prisma-client/**/*",
"node_modules/@prisma/engines/**/*",
"node_modules/@prisma/engines/*"
]
},
"bin": {
"prisma": "build/index.js",
"prisma2": "build/index.js"
},
"devDependencies": {
"@prisma/studio": "0.484.0",
"@prisma/studio-server": "0.484.0",
"@swc/core": "1.3.32",
"@swc/jest": "0.2.26",
"@types/debug": "4.1.8",
"@types/fs-extra": "9.0.13",
"@types/jest": "29.5.1",
"@types/rimraf": "3.0.2",
"checkpoint-client": "1.1.23",
"debug": "4.3.4",
"dotenv": "16.0.3",
"esbuild": "0.15.13",
"execa": "5.1.1",
"fast-deep-equal": "3.1.3",
"fast-glob": "3.2.12",
"fs-extra": "11.1.0",
"fs-jetpack": "5.1.0",
"get-port": "5.1.1",
"global-dirs": "3.0.1",
"is-installed-globally": "0.4.0",
"jest": "29.5.0",
"jest-junit": "16.0.0",
"kleur": "4.1.5",
"line-replace": "2.0.1",
"log-update": "4.0.0",
"node-fetch": "2.6.11",
"npm-packlist": "5.1.3",
"open": "7.4.2",
"pkg-up": "3.1.0",
"resolve-pkg": "2.0.0",
"rimraf": "3.0.2",
"strip-ansi": "6.0.1",
"ts-pattern": "4.3.0",
"typescript": "4.9.5",
"@prisma/client": "4.15.0",
"@prisma/debug": "4.15.0",
"@prisma/fetch-engine": "4.15.0",
"@prisma/generator-helper": "4.15.0",
"@prisma/internals": "4.15.0",
"@prisma/get-platform": "4.15.0",
"@prisma/migrate": "4.15.0"
},
"dependencies": {
"@prisma/engines": "4.15.0"
},
"sideEffects": false,
"scripts": {
"dev": "DEV=true node -r esbuild-register helpers/build.ts",
"build": "node -r esbuild-register helpers/build.ts",
"test": "jest --maxConcurrency=1 --silent",
"tsc": "tsc -d -p tsconfig.build.json",
"preinstall": "node scripts/preinstall-entry.js"
}
}

View File

@ -0,0 +1,27 @@
# Prisma Client &middot; [![npm version](https://img.shields.io/npm/v/@prisma/client.svg?style=flat)](https://www.npmjs.com/package/@prisma/client) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/prisma/prisma/blob/main/CONTRIBUTING.md) [![GitHub license](https://img.shields.io/badge/license-Apache%202-blue)](https://github.com/prisma/prisma/blob/main/LICENSE) [![Slack](https://img.shields.io/badge/chat-on%20slack-blue.svg)](https://slack.prisma.io/)
Prisma Client JS is an **auto-generated query builder** that enables **type-safe** database access and **reduces boilerplate**. You can use it as an alternative to traditional ORMs such as Sequelize, TypeORM or SQL query builders like knex.js.
It is part of the [Prisma](https://www.prisma.io/) ecosystem. Prisma provides database tools for data access, declarative data modeling, schema migrations and visual data management. Learn more in the main [`prisma`](https://github.com/prisma/prisma/) repository or read the [documentation](https://www.prisma.io/docs/).
## Getting started
Follow one of these guides to get started with Prisma Client JS:
- [Quickstart](https://www.prisma.io/docs/getting-started/quickstart) (5 min)
- [Set up a new project with Prisma (SQL migrations)](https://www.prisma.io/docs/getting-started/setup-prisma/start-from-scratch-sql) (15 min)
- [Set up a new project with Prisma (Prisma Migrate)](https://www.prisma.io/docs/getting-started/setup-prisma/start-from-scratch-prisma-migrate) (15 min)
- [Add Prisma to an existing project](https://www.prisma.io/docs/getting-started/setup-prisma/add-to-existing-project) (15 min)
Alternatively you can explore the ready-to-run [examples](https://github.com/prisma/prisma-examples/) (REST, GraphQL, gRPC, plain JavaScript and TypeScript demos, ...) or watch the [demo videos](https://www.youtube.com/watch?v=0RhtQgIs-TE&list=PLn2e1F9Rfr6k9PnR_figWOcSHgc_erDr5&index=1) (1-2 min per video).
## Contributing
Refer to our [contribution guidelines](https://github.com/prisma/prisma/blob/main/CONTRIBUTING.md) and [Code of Conduct for contributors](https://github.com/prisma/prisma/blob/main/CODE_OF_CONDUCT.md).
## Build Status
- Prisma Tests Status:
[![Build status](https://badge.buildkite.com/590e1981074b70961362481ad8319a831b44a38c5d468d6408.svg?branch=master)](https://buildkite.com/prisma/prisma2-test)
- Ecosystem Tests Status:
[![Actions Status](https://github.com/prisma/ecosystem-tests/workflows/test/badge.svg)](https://github.com/prisma/ecosystem-tests/actions)

View File

@ -0,0 +1,3 @@
module.exports = {
...require('.prisma/client/edge'),
}

View File

@ -0,0 +1,3 @@
const prisma = require('.prisma/client/index-browser')
module.exports = prisma

View File

@ -0,0 +1,3 @@
module.exports = {
...require('.prisma/client/index'),
}

View File

@ -0,0 +1,161 @@
{
"name": "@prisma/client",
"version": "4.15.0",
"description": "Prisma Client is an auto-generated, type-safe and modern JavaScript/TypeScript ORM for Node.js that's tailored to your data. Supports MySQL, PostgreSQL, MariaDB, SQLite databases.",
"keywords": [
"orm",
"prisma2",
"prisma",
"client",
"query",
"database",
"sql",
"postgres",
"postgresql",
"mysql",
"sqlite",
"mariadb",
"mssql",
"typescript",
"query-builder"
],
"main": "index.js",
"browser": "index-browser.js",
"types": "index.d.ts",
"license": "Apache-2.0",
"engines": {
"node": ">=14.17"
},
"homepage": "https://www.prisma.io",
"repository": {
"type": "git",
"url": "https://github.com/prisma/prisma.git",
"directory": "packages/client"
},
"author": "Tim Suchanek <suchanek@prisma.io>",
"bugs": "https://github.com/prisma/prisma/issues",
"scripts": {
"dev": "DEV=true node -r esbuild-register helpers/build.ts",
"build": "node -r esbuild-register helpers/build.ts",
"test": "jest --silent",
"test:e2e": "node -r esbuild-register tests/e2e/_utils/run.ts",
"test:functional": "node -r esbuild-register helpers/functional-test/run-tests.ts",
"test:memory": "node -r esbuild-register helpers/memory-tests.ts",
"test:functional:code": "node -r esbuild-register helpers/functional-test/run-tests.ts --no-types",
"test:functional:types": "node -r esbuild-register helpers/functional-test/run-tests.ts --types-only",
"test-notypes": "jest --silent --testPathIgnorePatterns src/__tests__/types/types.test.ts",
"generate": "node scripts/postinstall.js",
"postinstall": "node scripts/postinstall.js",
"prepublishOnly": "pnpm run build",
"new-test": "NODE_OPTIONS='-r ts-node/register' yo ./helpers/generator-test/index.ts"
},
"files": [
"README.md",
"runtime",
"!runtime/*.map",
"scripts",
"generator-build",
"edge.js",
"edge.d.ts",
"index.js",
"index.d.ts",
"index-browser.js"
],
"devDependencies": {
"@codspeed/benchmark.js-plugin": "1.1.0",
"@faker-js/faker": "8.0.1",
"@fast-check/jest": "1.6.2",
"@jest/create-cache-key-function": "29.5.0",
"@jest/globals": "29.5.0",
"@jest/test-sequencer": "29.5.0",
"@opentelemetry/api": "1.4.1",
"@opentelemetry/context-async-hooks": "1.13.0",
"@opentelemetry/instrumentation": "0.39.1",
"@opentelemetry/resources": "1.13.0",
"@opentelemetry/sdk-trace-base": "1.13.0",
"@opentelemetry/semantic-conventions": "1.13.0",
"@prisma/debug": "workspace:*",
"@prisma/engines": "workspace:*",
"@prisma/fetch-engine": "workspace:*",
"@prisma/generator-helper": "workspace:*",
"@prisma/get-platform": "workspace:*",
"@prisma/instrumentation": "workspace:*",
"@prisma/internals": "workspace:*",
"@prisma/migrate": "workspace:*",
"@prisma/mini-proxy": "0.7.0",
"@swc-node/register": "1.6.5",
"@swc/core": "1.3.32",
"@swc/jest": "0.2.26",
"@timsuchanek/copy": "1.4.5",
"@types/debug": "4.1.8",
"@types/fs-extra": "9.0.13",
"@types/jest": "29.5.1",
"@types/js-levenshtein": "1.1.1",
"@types/mssql": "8.1.2",
"@types/node": "18.16.14",
"@types/pg": "8.10.1",
"@types/yeoman-generator": "5.2.11",
"arg": "5.0.2",
"benchmark": "2.1.4",
"ci-info": "3.8.0",
"decimal.js": "10.4.3",
"env-paths": "2.2.1",
"esbuild": "0.15.13",
"execa": "5.1.1",
"expect-type": "0.15.0",
"flat-map-polyfill": "0.3.8",
"fs-extra": "11.1.0",
"get-own-enumerable-property-symbols": "3.0.2",
"get-stream": "6.0.1",
"globby": "11.1.0",
"indent-string": "4.0.0",
"is-obj": "2.0.0",
"is-regexp": "2.1.0",
"jest": "29.5.0",
"jest-junit": "16.0.0",
"jest-serializer-ansi-escapes": "2.0.1",
"jest-snapshot": "29.5.0",
"js-levenshtein": "1.1.6",
"kleur": "4.1.5",
"klona": "2.0.6",
"lz-string": "1.5.0",
"mariadb": "3.0.2",
"memfs": "3.5.1",
"mssql": "9.1.1",
"new-github-issue-url": "0.2.1",
"node-fetch": "2.6.11",
"p-retry": "4.6.2",
"pg": "8.9.0",
"pkg-up": "3.1.0",
"pluralize": "8.0.0",
"resolve": "1.22.1",
"rimraf": "3.0.2",
"simple-statistics": "7.8.2",
"sort-keys": "4.2.0",
"source-map-support": "0.5.21",
"sql-template-tag": "5.0.3",
"stacktrace-parser": "0.1.10",
"strip-ansi": "6.0.1",
"strip-indent": "3.0.0",
"ts-node": "10.9.1",
"ts-pattern": "4.3.0",
"tsd": "0.28.1",
"typescript": "4.9.5",
"undici": "5.22.0",
"yeoman-generator": "5.9.0",
"yo": "4.3.1",
"zx": "7.2.2"
},
"peerDependencies": {
"prisma": "*"
},
"peerDependenciesMeta": {
"prisma": {
"optional": true
}
},
"dependencies": {
"@prisma/engines-version": "4.15.0-28.8fbc245156db7124f997f4cecdd8d1219e360944"
},
"sideEffects": false
}

View File

@ -0,0 +1,322 @@
declare class AnyNull extends NullTypesEnumValue {
}
declare class DbNull extends NullTypesEnumValue {
}
export declare namespace Decimal {
export type Constructor = typeof Decimal;
export type Instance = Decimal;
export type Rounding = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
export type Modulo = Rounding | 9;
export type Value = string | number | Decimal;
// http://mikemcl.github.io/decimal.js/#constructor-properties
export interface Config {
precision?: number;
rounding?: Rounding;
toExpNeg?: number;
toExpPos?: number;
minE?: number;
maxE?: number;
crypto?: boolean;
modulo?: Modulo;
defaults?: boolean;
}
}
export declare class Decimal {
readonly d: number[];
readonly e: number;
readonly s: number;
constructor(n: Decimal.Value);
absoluteValue(): Decimal;
abs(): Decimal;
ceil(): Decimal;
clampedTo(min: Decimal.Value, max: Decimal.Value): Decimal;
clamp(min: Decimal.Value, max: Decimal.Value): Decimal;
comparedTo(n: Decimal.Value): number;
cmp(n: Decimal.Value): number;
cosine(): Decimal;
cos(): Decimal;
cubeRoot(): Decimal;
cbrt(): Decimal;
decimalPlaces(): number;
dp(): number;
dividedBy(n: Decimal.Value): Decimal;
div(n: Decimal.Value): Decimal;
dividedToIntegerBy(n: Decimal.Value): Decimal;
divToInt(n: Decimal.Value): Decimal;
equals(n: Decimal.Value): boolean;
eq(n: Decimal.Value): boolean;
floor(): Decimal;
greaterThan(n: Decimal.Value): boolean;
gt(n: Decimal.Value): boolean;
greaterThanOrEqualTo(n: Decimal.Value): boolean;
gte(n: Decimal.Value): boolean;
hyperbolicCosine(): Decimal;
cosh(): Decimal;
hyperbolicSine(): Decimal;
sinh(): Decimal;
hyperbolicTangent(): Decimal;
tanh(): Decimal;
inverseCosine(): Decimal;
acos(): Decimal;
inverseHyperbolicCosine(): Decimal;
acosh(): Decimal;
inverseHyperbolicSine(): Decimal;
asinh(): Decimal;
inverseHyperbolicTangent(): Decimal;
atanh(): Decimal;
inverseSine(): Decimal;
asin(): Decimal;
inverseTangent(): Decimal;
atan(): Decimal;
isFinite(): boolean;
isInteger(): boolean;
isInt(): boolean;
isNaN(): boolean;
isNegative(): boolean;
isNeg(): boolean;
isPositive(): boolean;
isPos(): boolean;
isZero(): boolean;
lessThan(n: Decimal.Value): boolean;
lt(n: Decimal.Value): boolean;
lessThanOrEqualTo(n: Decimal.Value): boolean;
lte(n: Decimal.Value): boolean;
logarithm(n?: Decimal.Value): Decimal;
log(n?: Decimal.Value): Decimal;
minus(n: Decimal.Value): Decimal;
sub(n: Decimal.Value): Decimal;
modulo(n: Decimal.Value): Decimal;
mod(n: Decimal.Value): Decimal;
naturalExponential(): Decimal;
exp(): Decimal;
naturalLogarithm(): Decimal;
ln(): Decimal;
negated(): Decimal;
neg(): Decimal;
plus(n: Decimal.Value): Decimal;
add(n: Decimal.Value): Decimal;
precision(includeZeros?: boolean): number;
sd(includeZeros?: boolean): number;
round(): Decimal;
sine() : Decimal;
sin() : Decimal;
squareRoot(): Decimal;
sqrt(): Decimal;
tangent() : Decimal;
tan() : Decimal;
times(n: Decimal.Value): Decimal;
mul(n: Decimal.Value) : Decimal;
toBinary(significantDigits?: number): string;
toBinary(significantDigits: number, rounding: Decimal.Rounding): string;
toDecimalPlaces(decimalPlaces?: number): Decimal;
toDecimalPlaces(decimalPlaces: number, rounding: Decimal.Rounding): Decimal;
toDP(decimalPlaces?: number): Decimal;
toDP(decimalPlaces: number, rounding: Decimal.Rounding): Decimal;
toExponential(decimalPlaces?: number): string;
toExponential(decimalPlaces: number, rounding: Decimal.Rounding): string;
toFixed(decimalPlaces?: number): string;
toFixed(decimalPlaces: number, rounding: Decimal.Rounding): string;
toFraction(max_denominator?: Decimal.Value): Decimal[];
toHexadecimal(significantDigits?: number): string;
toHexadecimal(significantDigits: number, rounding: Decimal.Rounding): string;
toHex(significantDigits?: number): string;
toHex(significantDigits: number, rounding?: Decimal.Rounding): string;
toJSON(): string;
toNearest(n: Decimal.Value, rounding?: Decimal.Rounding): Decimal;
toNumber(): number;
toOctal(significantDigits?: number): string;
toOctal(significantDigits: number, rounding: Decimal.Rounding): string;
toPower(n: Decimal.Value): Decimal;
pow(n: Decimal.Value): Decimal;
toPrecision(significantDigits?: number): string;
toPrecision(significantDigits: number, rounding: Decimal.Rounding): string;
toSignificantDigits(significantDigits?: number): Decimal;
toSignificantDigits(significantDigits: number, rounding: Decimal.Rounding): Decimal;
toSD(significantDigits?: number): Decimal;
toSD(significantDigits: number, rounding: Decimal.Rounding): Decimal;
toString(): string;
truncated(): Decimal;
trunc(): Decimal;
valueOf(): string;
static abs(n: Decimal.Value): Decimal;
static acos(n: Decimal.Value): Decimal;
static acosh(n: Decimal.Value): Decimal;
static add(x: Decimal.Value, y: Decimal.Value): Decimal;
static asin(n: Decimal.Value): Decimal;
static asinh(n: Decimal.Value): Decimal;
static atan(n: Decimal.Value): Decimal;
static atanh(n: Decimal.Value): Decimal;
static atan2(y: Decimal.Value, x: Decimal.Value): Decimal;
static cbrt(n: Decimal.Value): Decimal;
static ceil(n: Decimal.Value): Decimal;
static clamp(n: Decimal.Value, min: Decimal.Value, max: Decimal.Value): Decimal;
static clone(object?: Decimal.Config): Decimal.Constructor;
static config(object: Decimal.Config): Decimal.Constructor;
static cos(n: Decimal.Value): Decimal;
static cosh(n: Decimal.Value): Decimal;
static div(x: Decimal.Value, y: Decimal.Value): Decimal;
static exp(n: Decimal.Value): Decimal;
static floor(n: Decimal.Value): Decimal;
static hypot(...n: Decimal.Value[]): Decimal;
static isDecimal(object: any): object is Decimal;
static ln(n: Decimal.Value): Decimal;
static log(n: Decimal.Value, base?: Decimal.Value): Decimal;
static log2(n: Decimal.Value): Decimal;
static log10(n: Decimal.Value): Decimal;
static max(...n: Decimal.Value[]): Decimal;
static min(...n: Decimal.Value[]): Decimal;
static mod(x: Decimal.Value, y: Decimal.Value): Decimal;
static mul(x: Decimal.Value, y: Decimal.Value): Decimal;
static noConflict(): Decimal.Constructor; // Browser only
static pow(base: Decimal.Value, exponent: Decimal.Value): Decimal;
static random(significantDigits?: number): Decimal;
static round(n: Decimal.Value): Decimal;
static set(object: Decimal.Config): Decimal.Constructor;
static sign(n: Decimal.Value): number;
static sin(n: Decimal.Value): Decimal;
static sinh(n: Decimal.Value): Decimal;
static sqrt(n: Decimal.Value): Decimal;
static sub(x: Decimal.Value, y: Decimal.Value): Decimal;
static sum(...n: Decimal.Value[]): Decimal;
static tan(n: Decimal.Value): Decimal;
static tanh(n: Decimal.Value): Decimal;
static trunc(n: Decimal.Value): Decimal;
static readonly default?: Decimal.Constructor;
static readonly Decimal?: Decimal.Constructor;
static readonly precision: number;
static readonly rounding: Decimal.Rounding;
static readonly toExpNeg: number;
static readonly toExpPos: number;
static readonly minE: number;
static readonly maxE: number;
static readonly crypto: boolean;
static readonly modulo: Decimal.Modulo;
static readonly ROUND_UP: 0;
static readonly ROUND_DOWN: 1;
static readonly ROUND_CEIL: 2;
static readonly ROUND_FLOOR: 3;
static readonly ROUND_HALF_UP: 4;
static readonly ROUND_HALF_DOWN: 5;
static readonly ROUND_HALF_EVEN: 6;
static readonly ROUND_HALF_CEIL: 7;
static readonly ROUND_HALF_FLOOR: 8;
static readonly EUCLID: 9;
}
declare class JsonNull extends NullTypesEnumValue {
}
/**
* Generates more strict variant of an enum which, unlike regular enum,
* throws on non-existing property access. This can be useful in following situations:
* - we have an API, that accepts both `undefined` and `SomeEnumType` as an input
* - enum values are generated dynamically from DMMF.
*
* In that case, if using normal enums and no compile-time typechecking, using non-existing property
* will result in `undefined` value being used, which will be accepted. Using strict enum
* in this case will help to have a runtime exception, telling you that you are probably doing something wrong.
*
* Note: if you need to check for existence of a value in the enum you can still use either
* `in` operator or `hasOwnProperty` function.
*
* @param definition
* @returns
*/
export declare function makeStrictEnum<T extends Record<PropertyKey, string | number>>(definition: T): T;
declare class NullTypesEnumValue extends ObjectEnumValue {
_getNamespace(): string;
}
/**
* Base class for unique values of object-valued enums.
*/
declare abstract class ObjectEnumValue {
constructor(arg?: symbol);
abstract _getNamespace(): string;
_getName(): string;
toString(): string;
}
export declare const objectEnumValues: {
classes: {
DbNull: typeof DbNull;
JsonNull: typeof JsonNull;
AnyNull: typeof AnyNull;
};
instances: {
DbNull: DbNull;
JsonNull: JsonNull;
AnyNull: AnyNull;
};
};
export { }

View File

@ -0,0 +1,176 @@
'use strict'
const isObject = (val) => val !== null && typeof val === 'object' && !Array.isArray(val)
// this is a modified version of https://github.com/chalk/ansi-regex (MIT License)
const ANSI_REGEX =
/* eslint-disable-next-line no-control-regex */
/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g
const create = () => {
const colors = { enabled: true, visible: true, styles: {}, keys: {} }
if ('FORCE_COLOR' in process.env) {
colors.enabled = process.env.FORCE_COLOR !== '0'
}
const ansi = (style) => {
let open = (style.open = `\u001b[${style.codes[0]}m`)
let close = (style.close = `\u001b[${style.codes[1]}m`)
let regex = (style.regex = new RegExp(`\\u001b\\[${style.codes[1]}m`, 'g'))
style.wrap = (input, newline) => {
if (input.includes(close)) input = input.replace(regex, close + open)
let output = open + input + close
// see https://github.com/chalk/chalk/pull/92, thanks to the
// chalk contributors for this fix. However, we've confirmed that
// this issue is also present in Windows terminals
return newline ? output.replace(/\r*\n/g, `${close}$&${open}`) : output
}
return style
}
const wrap = (style, input, newline) => {
return typeof style === 'function' ? style(input) : style.wrap(input, newline)
}
const style = (input, stack) => {
if (input === '' || input == null) return ''
if (colors.enabled === false) return input
if (colors.visible === false) return ''
let str = '' + input
let nl = str.includes('\n')
let n = stack.length
if (n > 0 && stack.includes('unstyle')) {
stack = [...new Set(['unstyle', ...stack])].reverse()
}
while (n-- > 0) str = wrap(colors.styles[stack[n]], str, nl)
return str
}
const define = (name, codes, type) => {
colors.styles[name] = ansi({ name, codes })
let keys = colors.keys[type] || (colors.keys[type] = [])
keys.push(name)
Reflect.defineProperty(colors, name, {
configurable: true,
enumerable: true,
set(value) {
colors.alias(name, value)
},
get() {
let color = (input) => style(input, color.stack)
Reflect.setPrototypeOf(color, colors)
color.stack = this.stack ? this.stack.concat(name) : [name]
return color
},
})
}
define('reset', [0, 0], 'modifier')
define('bold', [1, 22], 'modifier')
define('dim', [2, 22], 'modifier')
define('italic', [3, 23], 'modifier')
define('underline', [4, 24], 'modifier')
define('inverse', [7, 27], 'modifier')
define('hidden', [8, 28], 'modifier')
define('strikethrough', [9, 29], 'modifier')
define('black', [30, 39], 'color')
define('red', [31, 39], 'color')
define('green', [32, 39], 'color')
define('yellow', [33, 39], 'color')
define('blue', [34, 39], 'color')
define('magenta', [35, 39], 'color')
define('cyan', [36, 39], 'color')
define('white', [37, 39], 'color')
define('gray', [90, 39], 'color')
define('grey', [90, 39], 'color')
define('bgBlack', [40, 49], 'bg')
define('bgRed', [41, 49], 'bg')
define('bgGreen', [42, 49], 'bg')
define('bgYellow', [43, 49], 'bg')
define('bgBlue', [44, 49], 'bg')
define('bgMagenta', [45, 49], 'bg')
define('bgCyan', [46, 49], 'bg')
define('bgWhite', [47, 49], 'bg')
define('blackBright', [90, 39], 'bright')
define('redBright', [91, 39], 'bright')
define('greenBright', [92, 39], 'bright')
define('yellowBright', [93, 39], 'bright')
define('blueBright', [94, 39], 'bright')
define('magentaBright', [95, 39], 'bright')
define('cyanBright', [96, 39], 'bright')
define('whiteBright', [97, 39], 'bright')
define('bgBlackBright', [100, 49], 'bgBright')
define('bgRedBright', [101, 49], 'bgBright')
define('bgGreenBright', [102, 49], 'bgBright')
define('bgYellowBright', [103, 49], 'bgBright')
define('bgBlueBright', [104, 49], 'bgBright')
define('bgMagentaBright', [105, 49], 'bgBright')
define('bgCyanBright', [106, 49], 'bgBright')
define('bgWhiteBright', [107, 49], 'bgBright')
colors.ansiRegex = ANSI_REGEX
colors.hasColor = colors.hasAnsi = (str) => {
colors.ansiRegex.lastIndex = 0
return typeof str === 'string' && str !== '' && colors.ansiRegex.test(str)
}
colors.alias = (name, color) => {
let fn = typeof color === 'string' ? colors[color] : color
if (typeof fn !== 'function') {
throw new TypeError('Expected alias to be the name of an existing color (string) or a function')
}
if (!fn.stack) {
Reflect.defineProperty(fn, 'name', { value: name })
colors.styles[name] = fn
fn.stack = [name]
}
Reflect.defineProperty(colors, name, {
configurable: true,
enumerable: true,
set(value) {
colors.alias(name, value)
},
get() {
let color = (input) => style(input, color.stack)
Reflect.setPrototypeOf(color, colors)
color.stack = this.stack ? this.stack.concat(fn.stack) : fn.stack
return color
},
})
}
colors.theme = (custom) => {
if (!isObject(custom)) throw new TypeError('Expected theme to be an object')
for (let name of Object.keys(custom)) {
colors.alias(name, custom[name])
}
return colors
}
colors.alias('unstyle', (str) => {
if (typeof str === 'string' && str !== '') {
colors.ansiRegex.lastIndex = 0
return str.replace(colors.ansiRegex, '')
}
return ''
})
colors.alias('noop', (str) => str)
colors.none = colors.clear = colors.noop
colors.stripColor = colors.unstyle
colors.define = define
return colors
}
module.exports = create()
module.exports.create = create

View File

@ -0,0 +1,10 @@
class PrismaClient {
constructor() {
throw new Error(
`@prisma/client/deno/edge did not initialize yet. Please run "prisma generate --data-proxy" and try to import it again.
In case this error is unexpected for you, please report it in https://github.com/prisma/prisma/issues`,
)
}
}
export { PrismaClient }

View File

@ -0,0 +1,12 @@
class PrismaClient {
constructor() {
throw new Error(
`@prisma/client/edge did not initialize yet. Please run "prisma generate --data-proxy" and try to import it again.
In case this error is unexpected for you, please report it in https://github.com/prisma/prisma/issues`,
)
}
}
module.exports = {
PrismaClient,
}

Some files were not shown because too many files have changed in this diff Show More