├── .github
├── images
│ ├── banner-dark.svg
│ └── banner-light.svg
└── workflows
│ └── ci.yml
├── .gitignore
├── .npmignore
├── .prettierrc
├── LICENSE
├── README.md
├── examples
├── README.md
├── docker-compose.yml
├── express
│ ├── .gitignore
│ ├── index.ts
│ ├── package-lock.json
│ ├── package.json
│ ├── prisma
│ │ └── schema.prisma
│ └── tsconfig.json
├── extend-otel
│ ├── index.ts
│ ├── package-lock.json
│ ├── package.json
│ └── prisma
│ │ └── schema.prisma
└── script
│ ├── index.ts
│ ├── package-lock.json
│ ├── package.json
│ └── prisma
│ └── schema.prisma
├── jest.config.ts
├── package-lock.json
├── package.json
├── shell.nix
├── src
├── index.ts
├── otel.ts
└── shared.ts
└── tsconfig.json
/.github/images/banner-light.svg:
--------------------------------------------------------------------------------
1 |
385 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 |
3 | on:
4 | pull_request:
5 | branches:
6 | - main
7 | push:
8 | branches:
9 | - main
10 | tags:
11 | - 'v*'
12 |
13 | jobs:
14 | check-format:
15 | name: Check format
16 | runs-on: ubuntu-latest
17 | steps:
18 | - uses: actions/checkout@v3
19 | - uses: actions/setup-node@v3
20 | with:
21 | node-version: 17
22 | - run: npm install
23 | - run: npx prisma generate
24 | - run: npm run check-format
25 | build:
26 | name: Build
27 | runs-on: ubuntu-latest
28 | strategy:
29 | matrix:
30 | node:
31 | - 15.x
32 | - 16.x
33 | - 17.x
34 | steps:
35 | - uses: actions/checkout@v3
36 | - uses: actions/setup-node@v3
37 | with:
38 | node-version: ${{ matrix.node }}
39 | - run: npm install
40 | - run: npx prisma generate
41 | - run: npm run build
42 | publish:
43 | name: Publish
44 | needs:
45 | - check-format
46 | - build
47 | runs-on: ubuntu-latest
48 | if: startsWith(github.ref, 'refs/tags/')
49 | steps:
50 | - uses: actions/checkout@v3
51 | - uses: actions/setup-node@v3
52 | with:
53 | node-version: ${{ env.NODEVERSION }}
54 | cache: 'npm'
55 | registry-url: 'https://registry.npmjs.org'
56 | - run: npm install
57 | - run: npm publish --access public
58 | env:
59 | NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTOMATION_TOKEN }}
60 | - uses: softprops/action-gh-release@v1
61 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | dist/
3 | *.env*
4 | .vercel
5 | .vscode/
6 | **/*.db*
7 | **/migrations
8 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | /*.png
2 | /*.tsbuildinfo
3 | /*.nix
4 | /.prettierrc
5 | /.github
6 | /__tests__
7 | /jest.config.ts
8 | /tsconfig.json
9 | /prisma
10 | /examples
11 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "arrowParens": "always",
3 | "printWidth": 120,
4 | "singleQuote": true,
5 | "trailingComma": "es5"
6 | }
7 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Axiom, Inc.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 | 
3 |
4 |
5 |
6 | [![Workflow][workflow_badge]][workflow]
7 | [![Latest Release][release_badge]][release]
8 | [![License][license_badge]][license]
9 |
10 |
11 |
12 | [Axiom](https://axiom.co) unlocks observability at any scale.
13 |
14 | - **Ingest with ease, store without limits:** Axiom’s next-generation datastore enables ingesting petabytes of data with ultimate efficiency. Ship logs from Kubernetes, AWS, Azure, Google Cloud, DigitalOcean, Nomad, and others.
15 | - **Query everything, all the time:** Whether DevOps, SecOps, or EverythingOps, query all your data no matter its age. No provisioning, no moving data from cold/archive to “hot”, and no worrying about slow queries. All your data, all. the. time.
16 | - **Powerful dashboards, for continuous observability:** Build dashboards to collect related queries and present information that’s quick and easy to digest for you and your team. Dashboards can be kept private or shared with others, and are the perfect way to bring together data from different sources
17 |
18 | For more information check out the [official documentation](https://axiom.co/docs).
19 |
20 | ## Usage
21 |
22 | Install prisma-axiom
23 |
24 | ```shell
25 | npm install --save prisma-axiom
26 | ```
27 |
28 | If you use the [Axiom CLI](https://github.com/axiomhq/cli), run `eval $(axiom config export -f)` to configure your environment variables.
29 |
30 | Otherwise create a personal token in [the Axiom settings](https://cloud.axiom.co/settings/profile) and export it as `AXIOM_TOKEN`. Set `AXIOM_ORG_ID` to the organization ID from the settings page of the organization you want to access.
31 |
32 | Wrap your main functions in `withAxiom` to automatically set up telemetry and
33 | flush traces before exit:
34 |
35 | ```ts
36 | import withAxiom from 'prisma-axiom';
37 | const prisma = new PrismaClient();
38 |
39 | async function main() {
40 | // do something with prisma
41 | }
42 |
43 | withAxiom(main)() // wrap function
44 | ```
45 |
46 | Enable the prisma tracing preview feature in `schema.prisma` like this:
47 |
48 | ```js
49 | generator client {
50 | provider = "prisma-client-js"
51 | previewFeatures = ["tracing"]
52 | }
53 | ```
54 |
55 | For further examples, head over to the [examples](examples) directory.
56 |
57 | ## License
58 |
59 | Distributed under the [MIT License](LICENSE).
60 |
61 |
62 |
63 | [workflow]: https://github.com/axiomhq/prisma-axiom/actions/workflows/push.yml
64 | [workflow_badge]: https://img.shields.io/github/workflow/status/axiomhq/prisma-axiom/CI?ghcache=unused
65 | [release]: https://github.com/axiomhq/prisma-axiom/releases/latest
66 | [release_badge]: https://img.shields.io/github/release/axiomhq/prisma-axiom.svg?ghcache=unused
67 | [license]: https://opensource.org/licenses/MIT
68 | [license_badge]: https://img.shields.io/github/license/axiomhq/prisma-axiom.svg?color=blue&ghcache=unused
--------------------------------------------------------------------------------
/examples/README.md:
--------------------------------------------------------------------------------
1 | # Running an example
2 |
3 | 1. Run `docker-compose up` to start a local Postgres server
4 | 2. Go into the folder and run `npm run start` to start the example
5 |
--------------------------------------------------------------------------------
/examples/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: "3"
2 |
3 | services:
4 | postgres:
5 | image: postgres:alpine
6 | environment:
7 | POSTGRES_USER: axiom-prisma
8 | POSTGRES_PASSWORD: axiom-prisma
9 | POSTGRES_DB: axiom-prisma
10 | ports:
11 | - 5432:5432
--------------------------------------------------------------------------------
/examples/express/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | # Keep environment variables out of version control
3 | .env
4 |
--------------------------------------------------------------------------------
/examples/express/index.ts:
--------------------------------------------------------------------------------
1 | import withAxiom from 'prisma-axiom';
2 | import { PrismaClient } from '@prisma/client';
3 | const express = require('express')
4 | const app = express()
5 |
6 | const client = new PrismaClient();
7 | const prisma = client;
8 |
9 | app.get('/', withAxiom(async (_: any, res: any) => {
10 | await prisma.user.create({
11 | data: {
12 | name: 'Alice',
13 | email: 'alice@prisma.io',
14 | },
15 | });
16 |
17 | const user = await prisma.user.findFirst();
18 | console.log('new user created', user);
19 |
20 | await prisma.user.deleteMany();
21 |
22 | res.send('hello world')
23 | }));
24 |
25 | app.listen(3000)
--------------------------------------------------------------------------------
/examples/express/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "prisma-axiom-example-express",
3 | "version": "1.0.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "prisma-axiom-example-express",
9 | "version": "1.0.0",
10 | "dependencies": {
11 | "@prisma/client": "^4.2.1",
12 | "@types/node": "^18.7.6",
13 | "express": "^4.18.1",
14 | "prisma": "^4.2.1",
15 | "prisma-axiom": "../../dist",
16 | "ts-node": "^10.9.1",
17 | "typescript": "^4.7.4"
18 | }
19 | },
20 | "../../dist": {},
21 | "node_modules/@cspotcode/source-map-support": {
22 | "version": "0.8.1",
23 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
24 | "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
25 | "dependencies": {
26 | "@jridgewell/trace-mapping": "0.3.9"
27 | },
28 | "engines": {
29 | "node": ">=12"
30 | }
31 | },
32 | "node_modules/@jridgewell/resolve-uri": {
33 | "version": "3.1.0",
34 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
35 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
36 | "engines": {
37 | "node": ">=6.0.0"
38 | }
39 | },
40 | "node_modules/@jridgewell/sourcemap-codec": {
41 | "version": "1.4.14",
42 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
43 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
44 | },
45 | "node_modules/@jridgewell/trace-mapping": {
46 | "version": "0.3.9",
47 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
48 | "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
49 | "dependencies": {
50 | "@jridgewell/resolve-uri": "^3.0.3",
51 | "@jridgewell/sourcemap-codec": "^1.4.10"
52 | }
53 | },
54 | "node_modules/@prisma/client": {
55 | "version": "4.2.1",
56 | "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.2.1.tgz",
57 | "integrity": "sha512-PZBkY60+k5oix+e6IUfl3ub8TbRLNsPLdfWrdy2eh80WcHTaT+/UfvXf/B7gXedH7FRtbPFHZXk1hZenJiJZFQ==",
58 | "hasInstallScript": true,
59 | "dependencies": {
60 | "@prisma/engines-version": "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826"
61 | },
62 | "engines": {
63 | "node": ">=14.17"
64 | },
65 | "peerDependencies": {
66 | "prisma": "*"
67 | },
68 | "peerDependenciesMeta": {
69 | "prisma": {
70 | "optional": true
71 | }
72 | }
73 | },
74 | "node_modules/@prisma/engines": {
75 | "version": "4.2.1",
76 | "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.2.1.tgz",
77 | "integrity": "sha512-0KqBwREUOjBiHwITsQzw2DWfLHjntvbqzGRawj4sBMnIiL5CXwyDUKeHOwXzKMtNr1rEjxEsypM14g0CzLRK3g==",
78 | "hasInstallScript": true
79 | },
80 | "node_modules/@prisma/engines-version": {
81 | "version": "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826",
82 | "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826.tgz",
83 | "integrity": "sha512-tktkqdiwqE4QhmE088boPt+FwPj1Jub/zk+5F6sEfcRHzO5yz9jyMD5HFVtiwxZPLx/8Xg9ElnuTi8E5lWVQFQ=="
84 | },
85 | "node_modules/@tsconfig/node10": {
86 | "version": "1.0.9",
87 | "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
88 | "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA=="
89 | },
90 | "node_modules/@tsconfig/node12": {
91 | "version": "1.0.11",
92 | "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
93 | "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag=="
94 | },
95 | "node_modules/@tsconfig/node14": {
96 | "version": "1.0.3",
97 | "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
98 | "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow=="
99 | },
100 | "node_modules/@tsconfig/node16": {
101 | "version": "1.0.3",
102 | "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz",
103 | "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ=="
104 | },
105 | "node_modules/@types/node": {
106 | "version": "18.7.13",
107 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz",
108 | "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw=="
109 | },
110 | "node_modules/accepts": {
111 | "version": "1.3.8",
112 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
113 | "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
114 | "dependencies": {
115 | "mime-types": "~2.1.34",
116 | "negotiator": "0.6.3"
117 | },
118 | "engines": {
119 | "node": ">= 0.6"
120 | }
121 | },
122 | "node_modules/acorn": {
123 | "version": "8.8.0",
124 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
125 | "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
126 | "bin": {
127 | "acorn": "bin/acorn"
128 | },
129 | "engines": {
130 | "node": ">=0.4.0"
131 | }
132 | },
133 | "node_modules/acorn-walk": {
134 | "version": "8.2.0",
135 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
136 | "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
137 | "engines": {
138 | "node": ">=0.4.0"
139 | }
140 | },
141 | "node_modules/arg": {
142 | "version": "4.1.3",
143 | "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
144 | "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA=="
145 | },
146 | "node_modules/array-flatten": {
147 | "version": "1.1.1",
148 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
149 | "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
150 | },
151 | "node_modules/body-parser": {
152 | "version": "1.20.0",
153 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
154 | "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
155 | "dependencies": {
156 | "bytes": "3.1.2",
157 | "content-type": "~1.0.4",
158 | "debug": "2.6.9",
159 | "depd": "2.0.0",
160 | "destroy": "1.2.0",
161 | "http-errors": "2.0.0",
162 | "iconv-lite": "0.4.24",
163 | "on-finished": "2.4.1",
164 | "qs": "6.10.3",
165 | "raw-body": "2.5.1",
166 | "type-is": "~1.6.18",
167 | "unpipe": "1.0.0"
168 | },
169 | "engines": {
170 | "node": ">= 0.8",
171 | "npm": "1.2.8000 || >= 1.4.16"
172 | }
173 | },
174 | "node_modules/body-parser/node_modules/debug": {
175 | "version": "2.6.9",
176 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
177 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
178 | "dependencies": {
179 | "ms": "2.0.0"
180 | }
181 | },
182 | "node_modules/body-parser/node_modules/ms": {
183 | "version": "2.0.0",
184 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
185 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
186 | },
187 | "node_modules/bytes": {
188 | "version": "3.1.2",
189 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
190 | "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
191 | "engines": {
192 | "node": ">= 0.8"
193 | }
194 | },
195 | "node_modules/call-bind": {
196 | "version": "1.0.2",
197 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
198 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
199 | "dependencies": {
200 | "function-bind": "^1.1.1",
201 | "get-intrinsic": "^1.0.2"
202 | },
203 | "funding": {
204 | "url": "https://github.com/sponsors/ljharb"
205 | }
206 | },
207 | "node_modules/content-disposition": {
208 | "version": "0.5.4",
209 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
210 | "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
211 | "dependencies": {
212 | "safe-buffer": "5.2.1"
213 | },
214 | "engines": {
215 | "node": ">= 0.6"
216 | }
217 | },
218 | "node_modules/content-type": {
219 | "version": "1.0.4",
220 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
221 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
222 | "engines": {
223 | "node": ">= 0.6"
224 | }
225 | },
226 | "node_modules/cookie": {
227 | "version": "0.5.0",
228 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
229 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
230 | "engines": {
231 | "node": ">= 0.6"
232 | }
233 | },
234 | "node_modules/cookie-signature": {
235 | "version": "1.0.6",
236 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
237 | "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
238 | },
239 | "node_modules/create-require": {
240 | "version": "1.1.1",
241 | "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
242 | "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ=="
243 | },
244 | "node_modules/depd": {
245 | "version": "2.0.0",
246 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
247 | "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
248 | "engines": {
249 | "node": ">= 0.8"
250 | }
251 | },
252 | "node_modules/destroy": {
253 | "version": "1.2.0",
254 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
255 | "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
256 | "engines": {
257 | "node": ">= 0.8",
258 | "npm": "1.2.8000 || >= 1.4.16"
259 | }
260 | },
261 | "node_modules/diff": {
262 | "version": "4.0.2",
263 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
264 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
265 | "engines": {
266 | "node": ">=0.3.1"
267 | }
268 | },
269 | "node_modules/ee-first": {
270 | "version": "1.1.1",
271 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
272 | "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
273 | },
274 | "node_modules/encodeurl": {
275 | "version": "1.0.2",
276 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
277 | "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
278 | "engines": {
279 | "node": ">= 0.8"
280 | }
281 | },
282 | "node_modules/escape-html": {
283 | "version": "1.0.3",
284 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
285 | "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
286 | },
287 | "node_modules/etag": {
288 | "version": "1.8.1",
289 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
290 | "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
291 | "engines": {
292 | "node": ">= 0.6"
293 | }
294 | },
295 | "node_modules/express": {
296 | "version": "4.18.1",
297 | "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
298 | "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
299 | "dependencies": {
300 | "accepts": "~1.3.8",
301 | "array-flatten": "1.1.1",
302 | "body-parser": "1.20.0",
303 | "content-disposition": "0.5.4",
304 | "content-type": "~1.0.4",
305 | "cookie": "0.5.0",
306 | "cookie-signature": "1.0.6",
307 | "debug": "2.6.9",
308 | "depd": "2.0.0",
309 | "encodeurl": "~1.0.2",
310 | "escape-html": "~1.0.3",
311 | "etag": "~1.8.1",
312 | "finalhandler": "1.2.0",
313 | "fresh": "0.5.2",
314 | "http-errors": "2.0.0",
315 | "merge-descriptors": "1.0.1",
316 | "methods": "~1.1.2",
317 | "on-finished": "2.4.1",
318 | "parseurl": "~1.3.3",
319 | "path-to-regexp": "0.1.7",
320 | "proxy-addr": "~2.0.7",
321 | "qs": "6.10.3",
322 | "range-parser": "~1.2.1",
323 | "safe-buffer": "5.2.1",
324 | "send": "0.18.0",
325 | "serve-static": "1.15.0",
326 | "setprototypeof": "1.2.0",
327 | "statuses": "2.0.1",
328 | "type-is": "~1.6.18",
329 | "utils-merge": "1.0.1",
330 | "vary": "~1.1.2"
331 | },
332 | "engines": {
333 | "node": ">= 0.10.0"
334 | }
335 | },
336 | "node_modules/express/node_modules/debug": {
337 | "version": "2.6.9",
338 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
339 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
340 | "dependencies": {
341 | "ms": "2.0.0"
342 | }
343 | },
344 | "node_modules/express/node_modules/ms": {
345 | "version": "2.0.0",
346 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
347 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
348 | },
349 | "node_modules/finalhandler": {
350 | "version": "1.2.0",
351 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
352 | "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
353 | "dependencies": {
354 | "debug": "2.6.9",
355 | "encodeurl": "~1.0.2",
356 | "escape-html": "~1.0.3",
357 | "on-finished": "2.4.1",
358 | "parseurl": "~1.3.3",
359 | "statuses": "2.0.1",
360 | "unpipe": "~1.0.0"
361 | },
362 | "engines": {
363 | "node": ">= 0.8"
364 | }
365 | },
366 | "node_modules/finalhandler/node_modules/debug": {
367 | "version": "2.6.9",
368 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
369 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
370 | "dependencies": {
371 | "ms": "2.0.0"
372 | }
373 | },
374 | "node_modules/finalhandler/node_modules/ms": {
375 | "version": "2.0.0",
376 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
377 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
378 | },
379 | "node_modules/forwarded": {
380 | "version": "0.2.0",
381 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
382 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
383 | "engines": {
384 | "node": ">= 0.6"
385 | }
386 | },
387 | "node_modules/fresh": {
388 | "version": "0.5.2",
389 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
390 | "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
391 | "engines": {
392 | "node": ">= 0.6"
393 | }
394 | },
395 | "node_modules/function-bind": {
396 | "version": "1.1.1",
397 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
398 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
399 | },
400 | "node_modules/get-intrinsic": {
401 | "version": "1.1.2",
402 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz",
403 | "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==",
404 | "dependencies": {
405 | "function-bind": "^1.1.1",
406 | "has": "^1.0.3",
407 | "has-symbols": "^1.0.3"
408 | },
409 | "funding": {
410 | "url": "https://github.com/sponsors/ljharb"
411 | }
412 | },
413 | "node_modules/has": {
414 | "version": "1.0.3",
415 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
416 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
417 | "dependencies": {
418 | "function-bind": "^1.1.1"
419 | },
420 | "engines": {
421 | "node": ">= 0.4.0"
422 | }
423 | },
424 | "node_modules/has-symbols": {
425 | "version": "1.0.3",
426 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
427 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
428 | "engines": {
429 | "node": ">= 0.4"
430 | },
431 | "funding": {
432 | "url": "https://github.com/sponsors/ljharb"
433 | }
434 | },
435 | "node_modules/http-errors": {
436 | "version": "2.0.0",
437 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
438 | "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
439 | "dependencies": {
440 | "depd": "2.0.0",
441 | "inherits": "2.0.4",
442 | "setprototypeof": "1.2.0",
443 | "statuses": "2.0.1",
444 | "toidentifier": "1.0.1"
445 | },
446 | "engines": {
447 | "node": ">= 0.8"
448 | }
449 | },
450 | "node_modules/iconv-lite": {
451 | "version": "0.4.24",
452 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
453 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
454 | "dependencies": {
455 | "safer-buffer": ">= 2.1.2 < 3"
456 | },
457 | "engines": {
458 | "node": ">=0.10.0"
459 | }
460 | },
461 | "node_modules/inherits": {
462 | "version": "2.0.4",
463 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
464 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
465 | },
466 | "node_modules/ipaddr.js": {
467 | "version": "1.9.1",
468 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
469 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
470 | "engines": {
471 | "node": ">= 0.10"
472 | }
473 | },
474 | "node_modules/make-error": {
475 | "version": "1.3.6",
476 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
477 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw=="
478 | },
479 | "node_modules/media-typer": {
480 | "version": "0.3.0",
481 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
482 | "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
483 | "engines": {
484 | "node": ">= 0.6"
485 | }
486 | },
487 | "node_modules/merge-descriptors": {
488 | "version": "1.0.1",
489 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
490 | "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
491 | },
492 | "node_modules/methods": {
493 | "version": "1.1.2",
494 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
495 | "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
496 | "engines": {
497 | "node": ">= 0.6"
498 | }
499 | },
500 | "node_modules/mime": {
501 | "version": "1.6.0",
502 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
503 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
504 | "bin": {
505 | "mime": "cli.js"
506 | },
507 | "engines": {
508 | "node": ">=4"
509 | }
510 | },
511 | "node_modules/mime-db": {
512 | "version": "1.52.0",
513 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
514 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
515 | "engines": {
516 | "node": ">= 0.6"
517 | }
518 | },
519 | "node_modules/mime-types": {
520 | "version": "2.1.35",
521 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
522 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
523 | "dependencies": {
524 | "mime-db": "1.52.0"
525 | },
526 | "engines": {
527 | "node": ">= 0.6"
528 | }
529 | },
530 | "node_modules/negotiator": {
531 | "version": "0.6.3",
532 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
533 | "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
534 | "engines": {
535 | "node": ">= 0.6"
536 | }
537 | },
538 | "node_modules/object-inspect": {
539 | "version": "1.12.2",
540 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
541 | "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
542 | "funding": {
543 | "url": "https://github.com/sponsors/ljharb"
544 | }
545 | },
546 | "node_modules/on-finished": {
547 | "version": "2.4.1",
548 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
549 | "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
550 | "dependencies": {
551 | "ee-first": "1.1.1"
552 | },
553 | "engines": {
554 | "node": ">= 0.8"
555 | }
556 | },
557 | "node_modules/parseurl": {
558 | "version": "1.3.3",
559 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
560 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
561 | "engines": {
562 | "node": ">= 0.8"
563 | }
564 | },
565 | "node_modules/path-to-regexp": {
566 | "version": "0.1.7",
567 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
568 | "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
569 | },
570 | "node_modules/prisma": {
571 | "version": "4.2.1",
572 | "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.2.1.tgz",
573 | "integrity": "sha512-HuYqnTDgH8atjPGtYmY0Ql9XrrJnfW7daG1PtAJRW0E6gJxc50lY3vrIDn0yjMR3TvRlypjTcspQX8DT+xD4Sg==",
574 | "hasInstallScript": true,
575 | "dependencies": {
576 | "@prisma/engines": "4.2.1"
577 | },
578 | "bin": {
579 | "prisma": "build/index.js",
580 | "prisma2": "build/index.js"
581 | },
582 | "engines": {
583 | "node": ">=14.17"
584 | }
585 | },
586 | "node_modules/prisma-axiom": {
587 | "resolved": "../../dist",
588 | "link": true
589 | },
590 | "node_modules/proxy-addr": {
591 | "version": "2.0.7",
592 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
593 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
594 | "dependencies": {
595 | "forwarded": "0.2.0",
596 | "ipaddr.js": "1.9.1"
597 | },
598 | "engines": {
599 | "node": ">= 0.10"
600 | }
601 | },
602 | "node_modules/qs": {
603 | "version": "6.10.3",
604 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
605 | "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
606 | "dependencies": {
607 | "side-channel": "^1.0.4"
608 | },
609 | "engines": {
610 | "node": ">=0.6"
611 | },
612 | "funding": {
613 | "url": "https://github.com/sponsors/ljharb"
614 | }
615 | },
616 | "node_modules/range-parser": {
617 | "version": "1.2.1",
618 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
619 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
620 | "engines": {
621 | "node": ">= 0.6"
622 | }
623 | },
624 | "node_modules/raw-body": {
625 | "version": "2.5.1",
626 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
627 | "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
628 | "dependencies": {
629 | "bytes": "3.1.2",
630 | "http-errors": "2.0.0",
631 | "iconv-lite": "0.4.24",
632 | "unpipe": "1.0.0"
633 | },
634 | "engines": {
635 | "node": ">= 0.8"
636 | }
637 | },
638 | "node_modules/safe-buffer": {
639 | "version": "5.2.1",
640 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
641 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
642 | "funding": [
643 | {
644 | "type": "github",
645 | "url": "https://github.com/sponsors/feross"
646 | },
647 | {
648 | "type": "patreon",
649 | "url": "https://www.patreon.com/feross"
650 | },
651 | {
652 | "type": "consulting",
653 | "url": "https://feross.org/support"
654 | }
655 | ]
656 | },
657 | "node_modules/safer-buffer": {
658 | "version": "2.1.2",
659 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
660 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
661 | },
662 | "node_modules/send": {
663 | "version": "0.18.0",
664 | "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
665 | "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
666 | "dependencies": {
667 | "debug": "2.6.9",
668 | "depd": "2.0.0",
669 | "destroy": "1.2.0",
670 | "encodeurl": "~1.0.2",
671 | "escape-html": "~1.0.3",
672 | "etag": "~1.8.1",
673 | "fresh": "0.5.2",
674 | "http-errors": "2.0.0",
675 | "mime": "1.6.0",
676 | "ms": "2.1.3",
677 | "on-finished": "2.4.1",
678 | "range-parser": "~1.2.1",
679 | "statuses": "2.0.1"
680 | },
681 | "engines": {
682 | "node": ">= 0.8.0"
683 | }
684 | },
685 | "node_modules/send/node_modules/debug": {
686 | "version": "2.6.9",
687 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
688 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
689 | "dependencies": {
690 | "ms": "2.0.0"
691 | }
692 | },
693 | "node_modules/send/node_modules/debug/node_modules/ms": {
694 | "version": "2.0.0",
695 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
696 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
697 | },
698 | "node_modules/send/node_modules/ms": {
699 | "version": "2.1.3",
700 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
701 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
702 | },
703 | "node_modules/serve-static": {
704 | "version": "1.15.0",
705 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
706 | "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
707 | "dependencies": {
708 | "encodeurl": "~1.0.2",
709 | "escape-html": "~1.0.3",
710 | "parseurl": "~1.3.3",
711 | "send": "0.18.0"
712 | },
713 | "engines": {
714 | "node": ">= 0.8.0"
715 | }
716 | },
717 | "node_modules/setprototypeof": {
718 | "version": "1.2.0",
719 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
720 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
721 | },
722 | "node_modules/side-channel": {
723 | "version": "1.0.4",
724 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
725 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
726 | "dependencies": {
727 | "call-bind": "^1.0.0",
728 | "get-intrinsic": "^1.0.2",
729 | "object-inspect": "^1.9.0"
730 | },
731 | "funding": {
732 | "url": "https://github.com/sponsors/ljharb"
733 | }
734 | },
735 | "node_modules/statuses": {
736 | "version": "2.0.1",
737 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
738 | "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
739 | "engines": {
740 | "node": ">= 0.8"
741 | }
742 | },
743 | "node_modules/toidentifier": {
744 | "version": "1.0.1",
745 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
746 | "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
747 | "engines": {
748 | "node": ">=0.6"
749 | }
750 | },
751 | "node_modules/ts-node": {
752 | "version": "10.9.1",
753 | "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz",
754 | "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==",
755 | "dependencies": {
756 | "@cspotcode/source-map-support": "^0.8.0",
757 | "@tsconfig/node10": "^1.0.7",
758 | "@tsconfig/node12": "^1.0.7",
759 | "@tsconfig/node14": "^1.0.0",
760 | "@tsconfig/node16": "^1.0.2",
761 | "acorn": "^8.4.1",
762 | "acorn-walk": "^8.1.1",
763 | "arg": "^4.1.0",
764 | "create-require": "^1.1.0",
765 | "diff": "^4.0.1",
766 | "make-error": "^1.1.1",
767 | "v8-compile-cache-lib": "^3.0.1",
768 | "yn": "3.1.1"
769 | },
770 | "bin": {
771 | "ts-node": "dist/bin.js",
772 | "ts-node-cwd": "dist/bin-cwd.js",
773 | "ts-node-esm": "dist/bin-esm.js",
774 | "ts-node-script": "dist/bin-script.js",
775 | "ts-node-transpile-only": "dist/bin-transpile.js",
776 | "ts-script": "dist/bin-script-deprecated.js"
777 | },
778 | "peerDependencies": {
779 | "@swc/core": ">=1.2.50",
780 | "@swc/wasm": ">=1.2.50",
781 | "@types/node": "*",
782 | "typescript": ">=2.7"
783 | },
784 | "peerDependenciesMeta": {
785 | "@swc/core": {
786 | "optional": true
787 | },
788 | "@swc/wasm": {
789 | "optional": true
790 | }
791 | }
792 | },
793 | "node_modules/type-is": {
794 | "version": "1.6.18",
795 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
796 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
797 | "dependencies": {
798 | "media-typer": "0.3.0",
799 | "mime-types": "~2.1.24"
800 | },
801 | "engines": {
802 | "node": ">= 0.6"
803 | }
804 | },
805 | "node_modules/typescript": {
806 | "version": "4.8.2",
807 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.2.tgz",
808 | "integrity": "sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==",
809 | "bin": {
810 | "tsc": "bin/tsc",
811 | "tsserver": "bin/tsserver"
812 | },
813 | "engines": {
814 | "node": ">=4.2.0"
815 | }
816 | },
817 | "node_modules/unpipe": {
818 | "version": "1.0.0",
819 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
820 | "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
821 | "engines": {
822 | "node": ">= 0.8"
823 | }
824 | },
825 | "node_modules/utils-merge": {
826 | "version": "1.0.1",
827 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
828 | "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
829 | "engines": {
830 | "node": ">= 0.4.0"
831 | }
832 | },
833 | "node_modules/v8-compile-cache-lib": {
834 | "version": "3.0.1",
835 | "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
836 | "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg=="
837 | },
838 | "node_modules/vary": {
839 | "version": "1.1.2",
840 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
841 | "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
842 | "engines": {
843 | "node": ">= 0.8"
844 | }
845 | },
846 | "node_modules/yn": {
847 | "version": "3.1.1",
848 | "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
849 | "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
850 | "engines": {
851 | "node": ">=6"
852 | }
853 | }
854 | },
855 | "dependencies": {
856 | "@cspotcode/source-map-support": {
857 | "version": "0.8.1",
858 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
859 | "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
860 | "requires": {
861 | "@jridgewell/trace-mapping": "0.3.9"
862 | }
863 | },
864 | "@jridgewell/resolve-uri": {
865 | "version": "3.1.0",
866 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
867 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w=="
868 | },
869 | "@jridgewell/sourcemap-codec": {
870 | "version": "1.4.14",
871 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
872 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
873 | },
874 | "@jridgewell/trace-mapping": {
875 | "version": "0.3.9",
876 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
877 | "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
878 | "requires": {
879 | "@jridgewell/resolve-uri": "^3.0.3",
880 | "@jridgewell/sourcemap-codec": "^1.4.10"
881 | }
882 | },
883 | "@prisma/client": {
884 | "version": "4.2.1",
885 | "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.2.1.tgz",
886 | "integrity": "sha512-PZBkY60+k5oix+e6IUfl3ub8TbRLNsPLdfWrdy2eh80WcHTaT+/UfvXf/B7gXedH7FRtbPFHZXk1hZenJiJZFQ==",
887 | "requires": {
888 | "@prisma/engines-version": "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826"
889 | }
890 | },
891 | "@prisma/engines": {
892 | "version": "4.2.1",
893 | "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.2.1.tgz",
894 | "integrity": "sha512-0KqBwREUOjBiHwITsQzw2DWfLHjntvbqzGRawj4sBMnIiL5CXwyDUKeHOwXzKMtNr1rEjxEsypM14g0CzLRK3g=="
895 | },
896 | "@prisma/engines-version": {
897 | "version": "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826",
898 | "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826.tgz",
899 | "integrity": "sha512-tktkqdiwqE4QhmE088boPt+FwPj1Jub/zk+5F6sEfcRHzO5yz9jyMD5HFVtiwxZPLx/8Xg9ElnuTi8E5lWVQFQ=="
900 | },
901 | "@tsconfig/node10": {
902 | "version": "1.0.9",
903 | "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
904 | "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA=="
905 | },
906 | "@tsconfig/node12": {
907 | "version": "1.0.11",
908 | "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
909 | "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag=="
910 | },
911 | "@tsconfig/node14": {
912 | "version": "1.0.3",
913 | "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
914 | "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow=="
915 | },
916 | "@tsconfig/node16": {
917 | "version": "1.0.3",
918 | "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz",
919 | "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ=="
920 | },
921 | "@types/node": {
922 | "version": "18.7.13",
923 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz",
924 | "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw=="
925 | },
926 | "accepts": {
927 | "version": "1.3.8",
928 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
929 | "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
930 | "requires": {
931 | "mime-types": "~2.1.34",
932 | "negotiator": "0.6.3"
933 | }
934 | },
935 | "acorn": {
936 | "version": "8.8.0",
937 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
938 | "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w=="
939 | },
940 | "acorn-walk": {
941 | "version": "8.2.0",
942 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
943 | "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA=="
944 | },
945 | "arg": {
946 | "version": "4.1.3",
947 | "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
948 | "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA=="
949 | },
950 | "array-flatten": {
951 | "version": "1.1.1",
952 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
953 | "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
954 | },
955 | "body-parser": {
956 | "version": "1.20.0",
957 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
958 | "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
959 | "requires": {
960 | "bytes": "3.1.2",
961 | "content-type": "~1.0.4",
962 | "debug": "2.6.9",
963 | "depd": "2.0.0",
964 | "destroy": "1.2.0",
965 | "http-errors": "2.0.0",
966 | "iconv-lite": "0.4.24",
967 | "on-finished": "2.4.1",
968 | "qs": "6.10.3",
969 | "raw-body": "2.5.1",
970 | "type-is": "~1.6.18",
971 | "unpipe": "1.0.0"
972 | },
973 | "dependencies": {
974 | "debug": {
975 | "version": "2.6.9",
976 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
977 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
978 | "requires": {
979 | "ms": "2.0.0"
980 | }
981 | },
982 | "ms": {
983 | "version": "2.0.0",
984 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
985 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
986 | }
987 | }
988 | },
989 | "bytes": {
990 | "version": "3.1.2",
991 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
992 | "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="
993 | },
994 | "call-bind": {
995 | "version": "1.0.2",
996 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
997 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
998 | "requires": {
999 | "function-bind": "^1.1.1",
1000 | "get-intrinsic": "^1.0.2"
1001 | }
1002 | },
1003 | "content-disposition": {
1004 | "version": "0.5.4",
1005 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
1006 | "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
1007 | "requires": {
1008 | "safe-buffer": "5.2.1"
1009 | }
1010 | },
1011 | "content-type": {
1012 | "version": "1.0.4",
1013 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
1014 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
1015 | },
1016 | "cookie": {
1017 | "version": "0.5.0",
1018 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
1019 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw=="
1020 | },
1021 | "cookie-signature": {
1022 | "version": "1.0.6",
1023 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
1024 | "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
1025 | },
1026 | "create-require": {
1027 | "version": "1.1.1",
1028 | "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
1029 | "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ=="
1030 | },
1031 | "depd": {
1032 | "version": "2.0.0",
1033 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
1034 | "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
1035 | },
1036 | "destroy": {
1037 | "version": "1.2.0",
1038 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
1039 | "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="
1040 | },
1041 | "diff": {
1042 | "version": "4.0.2",
1043 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
1044 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A=="
1045 | },
1046 | "ee-first": {
1047 | "version": "1.1.1",
1048 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
1049 | "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
1050 | },
1051 | "encodeurl": {
1052 | "version": "1.0.2",
1053 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
1054 | "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
1055 | },
1056 | "escape-html": {
1057 | "version": "1.0.3",
1058 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
1059 | "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
1060 | },
1061 | "etag": {
1062 | "version": "1.8.1",
1063 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
1064 | "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="
1065 | },
1066 | "express": {
1067 | "version": "4.18.1",
1068 | "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
1069 | "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
1070 | "requires": {
1071 | "accepts": "~1.3.8",
1072 | "array-flatten": "1.1.1",
1073 | "body-parser": "1.20.0",
1074 | "content-disposition": "0.5.4",
1075 | "content-type": "~1.0.4",
1076 | "cookie": "0.5.0",
1077 | "cookie-signature": "1.0.6",
1078 | "debug": "2.6.9",
1079 | "depd": "2.0.0",
1080 | "encodeurl": "~1.0.2",
1081 | "escape-html": "~1.0.3",
1082 | "etag": "~1.8.1",
1083 | "finalhandler": "1.2.0",
1084 | "fresh": "0.5.2",
1085 | "http-errors": "2.0.0",
1086 | "merge-descriptors": "1.0.1",
1087 | "methods": "~1.1.2",
1088 | "on-finished": "2.4.1",
1089 | "parseurl": "~1.3.3",
1090 | "path-to-regexp": "0.1.7",
1091 | "proxy-addr": "~2.0.7",
1092 | "qs": "6.10.3",
1093 | "range-parser": "~1.2.1",
1094 | "safe-buffer": "5.2.1",
1095 | "send": "0.18.0",
1096 | "serve-static": "1.15.0",
1097 | "setprototypeof": "1.2.0",
1098 | "statuses": "2.0.1",
1099 | "type-is": "~1.6.18",
1100 | "utils-merge": "1.0.1",
1101 | "vary": "~1.1.2"
1102 | },
1103 | "dependencies": {
1104 | "debug": {
1105 | "version": "2.6.9",
1106 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1107 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1108 | "requires": {
1109 | "ms": "2.0.0"
1110 | }
1111 | },
1112 | "ms": {
1113 | "version": "2.0.0",
1114 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1115 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
1116 | }
1117 | }
1118 | },
1119 | "finalhandler": {
1120 | "version": "1.2.0",
1121 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
1122 | "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
1123 | "requires": {
1124 | "debug": "2.6.9",
1125 | "encodeurl": "~1.0.2",
1126 | "escape-html": "~1.0.3",
1127 | "on-finished": "2.4.1",
1128 | "parseurl": "~1.3.3",
1129 | "statuses": "2.0.1",
1130 | "unpipe": "~1.0.0"
1131 | },
1132 | "dependencies": {
1133 | "debug": {
1134 | "version": "2.6.9",
1135 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1136 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1137 | "requires": {
1138 | "ms": "2.0.0"
1139 | }
1140 | },
1141 | "ms": {
1142 | "version": "2.0.0",
1143 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1144 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
1145 | }
1146 | }
1147 | },
1148 | "forwarded": {
1149 | "version": "0.2.0",
1150 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
1151 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="
1152 | },
1153 | "fresh": {
1154 | "version": "0.5.2",
1155 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
1156 | "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="
1157 | },
1158 | "function-bind": {
1159 | "version": "1.1.1",
1160 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1161 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
1162 | },
1163 | "get-intrinsic": {
1164 | "version": "1.1.2",
1165 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz",
1166 | "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==",
1167 | "requires": {
1168 | "function-bind": "^1.1.1",
1169 | "has": "^1.0.3",
1170 | "has-symbols": "^1.0.3"
1171 | }
1172 | },
1173 | "has": {
1174 | "version": "1.0.3",
1175 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1176 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1177 | "requires": {
1178 | "function-bind": "^1.1.1"
1179 | }
1180 | },
1181 | "has-symbols": {
1182 | "version": "1.0.3",
1183 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
1184 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
1185 | },
1186 | "http-errors": {
1187 | "version": "2.0.0",
1188 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
1189 | "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
1190 | "requires": {
1191 | "depd": "2.0.0",
1192 | "inherits": "2.0.4",
1193 | "setprototypeof": "1.2.0",
1194 | "statuses": "2.0.1",
1195 | "toidentifier": "1.0.1"
1196 | }
1197 | },
1198 | "iconv-lite": {
1199 | "version": "0.4.24",
1200 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1201 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
1202 | "requires": {
1203 | "safer-buffer": ">= 2.1.2 < 3"
1204 | }
1205 | },
1206 | "inherits": {
1207 | "version": "2.0.4",
1208 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1209 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
1210 | },
1211 | "ipaddr.js": {
1212 | "version": "1.9.1",
1213 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
1214 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
1215 | },
1216 | "make-error": {
1217 | "version": "1.3.6",
1218 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
1219 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw=="
1220 | },
1221 | "media-typer": {
1222 | "version": "0.3.0",
1223 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
1224 | "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="
1225 | },
1226 | "merge-descriptors": {
1227 | "version": "1.0.1",
1228 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
1229 | "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
1230 | },
1231 | "methods": {
1232 | "version": "1.1.2",
1233 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
1234 | "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="
1235 | },
1236 | "mime": {
1237 | "version": "1.6.0",
1238 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
1239 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
1240 | },
1241 | "mime-db": {
1242 | "version": "1.52.0",
1243 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
1244 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
1245 | },
1246 | "mime-types": {
1247 | "version": "2.1.35",
1248 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
1249 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
1250 | "requires": {
1251 | "mime-db": "1.52.0"
1252 | }
1253 | },
1254 | "negotiator": {
1255 | "version": "0.6.3",
1256 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
1257 | "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
1258 | },
1259 | "object-inspect": {
1260 | "version": "1.12.2",
1261 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
1262 | "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ=="
1263 | },
1264 | "on-finished": {
1265 | "version": "2.4.1",
1266 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
1267 | "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
1268 | "requires": {
1269 | "ee-first": "1.1.1"
1270 | }
1271 | },
1272 | "parseurl": {
1273 | "version": "1.3.3",
1274 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
1275 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
1276 | },
1277 | "path-to-regexp": {
1278 | "version": "0.1.7",
1279 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
1280 | "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
1281 | },
1282 | "prisma": {
1283 | "version": "4.2.1",
1284 | "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.2.1.tgz",
1285 | "integrity": "sha512-HuYqnTDgH8atjPGtYmY0Ql9XrrJnfW7daG1PtAJRW0E6gJxc50lY3vrIDn0yjMR3TvRlypjTcspQX8DT+xD4Sg==",
1286 | "requires": {
1287 | "@prisma/engines": "4.2.1"
1288 | }
1289 | },
1290 | "prisma-axiom": {
1291 | "version": "file:../../dist"
1292 | },
1293 | "proxy-addr": {
1294 | "version": "2.0.7",
1295 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
1296 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
1297 | "requires": {
1298 | "forwarded": "0.2.0",
1299 | "ipaddr.js": "1.9.1"
1300 | }
1301 | },
1302 | "qs": {
1303 | "version": "6.10.3",
1304 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
1305 | "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
1306 | "requires": {
1307 | "side-channel": "^1.0.4"
1308 | }
1309 | },
1310 | "range-parser": {
1311 | "version": "1.2.1",
1312 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
1313 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
1314 | },
1315 | "raw-body": {
1316 | "version": "2.5.1",
1317 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
1318 | "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
1319 | "requires": {
1320 | "bytes": "3.1.2",
1321 | "http-errors": "2.0.0",
1322 | "iconv-lite": "0.4.24",
1323 | "unpipe": "1.0.0"
1324 | }
1325 | },
1326 | "safe-buffer": {
1327 | "version": "5.2.1",
1328 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1329 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
1330 | },
1331 | "safer-buffer": {
1332 | "version": "2.1.2",
1333 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1334 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
1335 | },
1336 | "send": {
1337 | "version": "0.18.0",
1338 | "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
1339 | "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
1340 | "requires": {
1341 | "debug": "2.6.9",
1342 | "depd": "2.0.0",
1343 | "destroy": "1.2.0",
1344 | "encodeurl": "~1.0.2",
1345 | "escape-html": "~1.0.3",
1346 | "etag": "~1.8.1",
1347 | "fresh": "0.5.2",
1348 | "http-errors": "2.0.0",
1349 | "mime": "1.6.0",
1350 | "ms": "2.1.3",
1351 | "on-finished": "2.4.1",
1352 | "range-parser": "~1.2.1",
1353 | "statuses": "2.0.1"
1354 | },
1355 | "dependencies": {
1356 | "debug": {
1357 | "version": "2.6.9",
1358 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1359 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1360 | "requires": {
1361 | "ms": "2.0.0"
1362 | },
1363 | "dependencies": {
1364 | "ms": {
1365 | "version": "2.0.0",
1366 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1367 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
1368 | }
1369 | }
1370 | },
1371 | "ms": {
1372 | "version": "2.1.3",
1373 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1374 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
1375 | }
1376 | }
1377 | },
1378 | "serve-static": {
1379 | "version": "1.15.0",
1380 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
1381 | "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
1382 | "requires": {
1383 | "encodeurl": "~1.0.2",
1384 | "escape-html": "~1.0.3",
1385 | "parseurl": "~1.3.3",
1386 | "send": "0.18.0"
1387 | }
1388 | },
1389 | "setprototypeof": {
1390 | "version": "1.2.0",
1391 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
1392 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
1393 | },
1394 | "side-channel": {
1395 | "version": "1.0.4",
1396 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
1397 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
1398 | "requires": {
1399 | "call-bind": "^1.0.0",
1400 | "get-intrinsic": "^1.0.2",
1401 | "object-inspect": "^1.9.0"
1402 | }
1403 | },
1404 | "statuses": {
1405 | "version": "2.0.1",
1406 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
1407 | "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
1408 | },
1409 | "toidentifier": {
1410 | "version": "1.0.1",
1411 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
1412 | "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
1413 | },
1414 | "ts-node": {
1415 | "version": "10.9.1",
1416 | "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz",
1417 | "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==",
1418 | "requires": {
1419 | "@cspotcode/source-map-support": "^0.8.0",
1420 | "@tsconfig/node10": "^1.0.7",
1421 | "@tsconfig/node12": "^1.0.7",
1422 | "@tsconfig/node14": "^1.0.0",
1423 | "@tsconfig/node16": "^1.0.2",
1424 | "acorn": "^8.4.1",
1425 | "acorn-walk": "^8.1.1",
1426 | "arg": "^4.1.0",
1427 | "create-require": "^1.1.0",
1428 | "diff": "^4.0.1",
1429 | "make-error": "^1.1.1",
1430 | "v8-compile-cache-lib": "^3.0.1",
1431 | "yn": "3.1.1"
1432 | }
1433 | },
1434 | "type-is": {
1435 | "version": "1.6.18",
1436 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
1437 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
1438 | "requires": {
1439 | "media-typer": "0.3.0",
1440 | "mime-types": "~2.1.24"
1441 | }
1442 | },
1443 | "typescript": {
1444 | "version": "4.8.2",
1445 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.2.tgz",
1446 | "integrity": "sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw=="
1447 | },
1448 | "unpipe": {
1449 | "version": "1.0.0",
1450 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
1451 | "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="
1452 | },
1453 | "utils-merge": {
1454 | "version": "1.0.1",
1455 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
1456 | "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="
1457 | },
1458 | "v8-compile-cache-lib": {
1459 | "version": "3.0.1",
1460 | "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
1461 | "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg=="
1462 | },
1463 | "vary": {
1464 | "version": "1.1.2",
1465 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
1466 | "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
1467 | },
1468 | "yn": {
1469 | "version": "3.1.1",
1470 | "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
1471 | "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q=="
1472 | }
1473 | }
1474 | }
1475 |
--------------------------------------------------------------------------------
/examples/express/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "prisma-axiom-example-express",
3 | "version": "1.0.0",
4 | "description": "example on using prisma-axiom",
5 | "main": "index.ts",
6 | "scripts": {
7 | "start": "cd ../.. && npm run build && cd - && prisma generate && prisma migrate dev --name init && ts-node index.ts"
8 | },
9 | "dependencies": {
10 | "prisma-axiom": "../../dist",
11 | "@prisma/client": "^4.2.1",
12 | "@types/node": "^18.7.6",
13 | "express": "^4.18.1",
14 | "prisma": "^4.2.1",
15 | "ts-node": "^10.9.1",
16 | "typescript": "^4.7.4"
17 | }
18 | }
--------------------------------------------------------------------------------
/examples/express/prisma/schema.prisma:
--------------------------------------------------------------------------------
1 | // This is your Prisma schema file,
2 | // learn more about it in the docs: https://pris.ly/d/prisma-schema
3 |
4 | generator client {
5 | provider = "prisma-client-js"
6 | previewFeatures = ["tracing"]
7 | }
8 |
9 | datasource db {
10 | provider = "postgresql"
11 | url = "postgresql://axiom-prisma:axiom-prisma@localhost:5432/axiom-prisma"
12 | }
13 |
14 | model User {
15 | id Int @id @default(autoincrement())
16 | email String @unique
17 | name String?
18 | }
19 |
--------------------------------------------------------------------------------
/examples/express/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "module": "CommonJs",
4 | "sourceMap": true,
5 | "outDir": "dist",
6 | "strict": true,
7 | "lib": ["esnext", "dom"],
8 | "esModuleInterop": true
9 | },
10 | "include": ["index.ts"]
11 | }
12 |
--------------------------------------------------------------------------------
/examples/extend-otel/index.ts:
--------------------------------------------------------------------------------
1 | import { BatchSpanProcessor, ConsoleSpanExporter } from '@opentelemetry/sdk-trace-base';
2 | import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
3 | import { Resource } from '@opentelemetry/resources';
4 | import { HttpInstrumentation } from '@opentelemetry/instrumentation-http';
5 | import { PrismaClient } from '@prisma/client';
6 | import { registerInstrumentations } from '@opentelemetry/instrumentation';
7 | import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
8 | import { PrismaInstrumentation } from '@prisma/instrumentation';
9 | import { axiomTraceExporter } from 'prisma-axiom';
10 |
11 | // create axiom exporter
12 | const exporter = axiomTraceExporter();
13 | // setup otel provider
14 | const provider = new NodeTracerProvider({
15 | resource: new Resource({
16 | [SemanticResourceAttributes.SERVICE_NAME]: process.env.npm_package_name,
17 | [SemanticResourceAttributes.SERVICE_VERSION]: process.env.npm_package_version,
18 | }),
19 | })
20 | provider.addSpanProcessor(new BatchSpanProcessor(new ConsoleSpanExporter()));
21 | // attach axiom's exporter to a new span processor
22 | provider.addSpanProcessor(new BatchSpanProcessor(exporter));
23 | provider.register()
24 |
25 | registerInstrumentations({
26 | instrumentations: [new HttpInstrumentation(), new PrismaInstrumentation()],
27 | });
28 |
29 | // create prisma client
30 | const prisma = new PrismaClient();
31 |
32 | async function main() {
33 | await prisma.user.deleteMany();
34 |
35 | await prisma.user.create({
36 | data: {
37 | name: 'Alice',
38 | email: 'alice@prisma.io',
39 | },
40 | });
41 |
42 | const user = await prisma.user.findFirst();
43 | console.log('new user created', user);
44 |
45 | await prisma.user.deleteMany();
46 | }
47 |
48 | main().finally(async () => {
49 | console.log('disconnect prisma')
50 | // shutdown the provider to ensure delivery
51 | await provider.shutdown()
52 | await prisma.$disconnect()
53 | })
54 |
--------------------------------------------------------------------------------
/examples/extend-otel/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "prisma-axiom-example-extend-otel",
3 | "version": "1.0.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "prisma-axiom-example-extend-otel",
9 | "version": "1.0.0",
10 | "dependencies": {
11 | "@prisma/client": "^4.2.1",
12 | "@types/node": "^18.7.6",
13 | "express": "^4.18.1",
14 | "prisma": "^4.2.1",
15 | "prisma-axiom": "../../dist",
16 | "ts-node": "^10.9.1",
17 | "typescript": "^4.7.4"
18 | }
19 | },
20 | "../../dist": {},
21 | "../../src": {
22 | "extraneous": true
23 | },
24 | "node_modules/@cspotcode/source-map-support": {
25 | "version": "0.8.1",
26 | "license": "MIT",
27 | "dependencies": {
28 | "@jridgewell/trace-mapping": "0.3.9"
29 | },
30 | "engines": {
31 | "node": ">=12"
32 | }
33 | },
34 | "node_modules/@jridgewell/resolve-uri": {
35 | "version": "3.1.0",
36 | "license": "MIT",
37 | "engines": {
38 | "node": ">=6.0.0"
39 | }
40 | },
41 | "node_modules/@jridgewell/sourcemap-codec": {
42 | "version": "1.4.14",
43 | "license": "MIT"
44 | },
45 | "node_modules/@jridgewell/trace-mapping": {
46 | "version": "0.3.9",
47 | "license": "MIT",
48 | "dependencies": {
49 | "@jridgewell/resolve-uri": "^3.0.3",
50 | "@jridgewell/sourcemap-codec": "^1.4.10"
51 | }
52 | },
53 | "node_modules/@prisma/client": {
54 | "version": "4.2.1",
55 | "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.2.1.tgz",
56 | "integrity": "sha512-PZBkY60+k5oix+e6IUfl3ub8TbRLNsPLdfWrdy2eh80WcHTaT+/UfvXf/B7gXedH7FRtbPFHZXk1hZenJiJZFQ==",
57 | "hasInstallScript": true,
58 | "dependencies": {
59 | "@prisma/engines-version": "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826"
60 | },
61 | "engines": {
62 | "node": ">=14.17"
63 | },
64 | "peerDependencies": {
65 | "prisma": "*"
66 | },
67 | "peerDependenciesMeta": {
68 | "prisma": {
69 | "optional": true
70 | }
71 | }
72 | },
73 | "node_modules/@prisma/engines": {
74 | "version": "4.3.1",
75 | "hasInstallScript": true,
76 | "license": "Apache-2.0"
77 | },
78 | "node_modules/@prisma/engines-version": {
79 | "version": "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826",
80 | "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826.tgz",
81 | "integrity": "sha512-tktkqdiwqE4QhmE088boPt+FwPj1Jub/zk+5F6sEfcRHzO5yz9jyMD5HFVtiwxZPLx/8Xg9ElnuTi8E5lWVQFQ=="
82 | },
83 | "node_modules/@tsconfig/node10": {
84 | "version": "1.0.9",
85 | "license": "MIT"
86 | },
87 | "node_modules/@tsconfig/node12": {
88 | "version": "1.0.11",
89 | "license": "MIT"
90 | },
91 | "node_modules/@tsconfig/node14": {
92 | "version": "1.0.3",
93 | "license": "MIT"
94 | },
95 | "node_modules/@tsconfig/node16": {
96 | "version": "1.0.3",
97 | "license": "MIT"
98 | },
99 | "node_modules/@types/node": {
100 | "version": "18.7.16",
101 | "license": "MIT"
102 | },
103 | "node_modules/accepts": {
104 | "version": "1.3.8",
105 | "license": "MIT",
106 | "dependencies": {
107 | "mime-types": "~2.1.34",
108 | "negotiator": "0.6.3"
109 | },
110 | "engines": {
111 | "node": ">= 0.6"
112 | }
113 | },
114 | "node_modules/acorn": {
115 | "version": "8.8.0",
116 | "license": "MIT",
117 | "bin": {
118 | "acorn": "bin/acorn"
119 | },
120 | "engines": {
121 | "node": ">=0.4.0"
122 | }
123 | },
124 | "node_modules/acorn-walk": {
125 | "version": "8.2.0",
126 | "license": "MIT",
127 | "engines": {
128 | "node": ">=0.4.0"
129 | }
130 | },
131 | "node_modules/arg": {
132 | "version": "4.1.3",
133 | "license": "MIT"
134 | },
135 | "node_modules/array-flatten": {
136 | "version": "1.1.1",
137 | "license": "MIT"
138 | },
139 | "node_modules/body-parser": {
140 | "version": "1.20.0",
141 | "license": "MIT",
142 | "dependencies": {
143 | "bytes": "3.1.2",
144 | "content-type": "~1.0.4",
145 | "debug": "2.6.9",
146 | "depd": "2.0.0",
147 | "destroy": "1.2.0",
148 | "http-errors": "2.0.0",
149 | "iconv-lite": "0.4.24",
150 | "on-finished": "2.4.1",
151 | "qs": "6.10.3",
152 | "raw-body": "2.5.1",
153 | "type-is": "~1.6.18",
154 | "unpipe": "1.0.0"
155 | },
156 | "engines": {
157 | "node": ">= 0.8",
158 | "npm": "1.2.8000 || >= 1.4.16"
159 | }
160 | },
161 | "node_modules/bytes": {
162 | "version": "3.1.2",
163 | "license": "MIT",
164 | "engines": {
165 | "node": ">= 0.8"
166 | }
167 | },
168 | "node_modules/call-bind": {
169 | "version": "1.0.2",
170 | "license": "MIT",
171 | "dependencies": {
172 | "function-bind": "^1.1.1",
173 | "get-intrinsic": "^1.0.2"
174 | },
175 | "funding": {
176 | "url": "https://github.com/sponsors/ljharb"
177 | }
178 | },
179 | "node_modules/content-disposition": {
180 | "version": "0.5.4",
181 | "license": "MIT",
182 | "dependencies": {
183 | "safe-buffer": "5.2.1"
184 | },
185 | "engines": {
186 | "node": ">= 0.6"
187 | }
188 | },
189 | "node_modules/content-type": {
190 | "version": "1.0.4",
191 | "license": "MIT",
192 | "engines": {
193 | "node": ">= 0.6"
194 | }
195 | },
196 | "node_modules/cookie": {
197 | "version": "0.5.0",
198 | "license": "MIT",
199 | "engines": {
200 | "node": ">= 0.6"
201 | }
202 | },
203 | "node_modules/cookie-signature": {
204 | "version": "1.0.6",
205 | "license": "MIT"
206 | },
207 | "node_modules/create-require": {
208 | "version": "1.1.1",
209 | "license": "MIT"
210 | },
211 | "node_modules/debug": {
212 | "version": "2.6.9",
213 | "license": "MIT",
214 | "dependencies": {
215 | "ms": "2.0.0"
216 | }
217 | },
218 | "node_modules/depd": {
219 | "version": "2.0.0",
220 | "license": "MIT",
221 | "engines": {
222 | "node": ">= 0.8"
223 | }
224 | },
225 | "node_modules/destroy": {
226 | "version": "1.2.0",
227 | "license": "MIT",
228 | "engines": {
229 | "node": ">= 0.8",
230 | "npm": "1.2.8000 || >= 1.4.16"
231 | }
232 | },
233 | "node_modules/diff": {
234 | "version": "4.0.2",
235 | "license": "BSD-3-Clause",
236 | "engines": {
237 | "node": ">=0.3.1"
238 | }
239 | },
240 | "node_modules/ee-first": {
241 | "version": "1.1.1",
242 | "license": "MIT"
243 | },
244 | "node_modules/encodeurl": {
245 | "version": "1.0.2",
246 | "license": "MIT",
247 | "engines": {
248 | "node": ">= 0.8"
249 | }
250 | },
251 | "node_modules/escape-html": {
252 | "version": "1.0.3",
253 | "license": "MIT"
254 | },
255 | "node_modules/etag": {
256 | "version": "1.8.1",
257 | "license": "MIT",
258 | "engines": {
259 | "node": ">= 0.6"
260 | }
261 | },
262 | "node_modules/express": {
263 | "version": "4.18.1",
264 | "license": "MIT",
265 | "dependencies": {
266 | "accepts": "~1.3.8",
267 | "array-flatten": "1.1.1",
268 | "body-parser": "1.20.0",
269 | "content-disposition": "0.5.4",
270 | "content-type": "~1.0.4",
271 | "cookie": "0.5.0",
272 | "cookie-signature": "1.0.6",
273 | "debug": "2.6.9",
274 | "depd": "2.0.0",
275 | "encodeurl": "~1.0.2",
276 | "escape-html": "~1.0.3",
277 | "etag": "~1.8.1",
278 | "finalhandler": "1.2.0",
279 | "fresh": "0.5.2",
280 | "http-errors": "2.0.0",
281 | "merge-descriptors": "1.0.1",
282 | "methods": "~1.1.2",
283 | "on-finished": "2.4.1",
284 | "parseurl": "~1.3.3",
285 | "path-to-regexp": "0.1.7",
286 | "proxy-addr": "~2.0.7",
287 | "qs": "6.10.3",
288 | "range-parser": "~1.2.1",
289 | "safe-buffer": "5.2.1",
290 | "send": "0.18.0",
291 | "serve-static": "1.15.0",
292 | "setprototypeof": "1.2.0",
293 | "statuses": "2.0.1",
294 | "type-is": "~1.6.18",
295 | "utils-merge": "1.0.1",
296 | "vary": "~1.1.2"
297 | },
298 | "engines": {
299 | "node": ">= 0.10.0"
300 | }
301 | },
302 | "node_modules/finalhandler": {
303 | "version": "1.2.0",
304 | "license": "MIT",
305 | "dependencies": {
306 | "debug": "2.6.9",
307 | "encodeurl": "~1.0.2",
308 | "escape-html": "~1.0.3",
309 | "on-finished": "2.4.1",
310 | "parseurl": "~1.3.3",
311 | "statuses": "2.0.1",
312 | "unpipe": "~1.0.0"
313 | },
314 | "engines": {
315 | "node": ">= 0.8"
316 | }
317 | },
318 | "node_modules/forwarded": {
319 | "version": "0.2.0",
320 | "license": "MIT",
321 | "engines": {
322 | "node": ">= 0.6"
323 | }
324 | },
325 | "node_modules/fresh": {
326 | "version": "0.5.2",
327 | "license": "MIT",
328 | "engines": {
329 | "node": ">= 0.6"
330 | }
331 | },
332 | "node_modules/function-bind": {
333 | "version": "1.1.1",
334 | "license": "MIT"
335 | },
336 | "node_modules/get-intrinsic": {
337 | "version": "1.1.2",
338 | "license": "MIT",
339 | "dependencies": {
340 | "function-bind": "^1.1.1",
341 | "has": "^1.0.3",
342 | "has-symbols": "^1.0.3"
343 | },
344 | "funding": {
345 | "url": "https://github.com/sponsors/ljharb"
346 | }
347 | },
348 | "node_modules/has": {
349 | "version": "1.0.3",
350 | "license": "MIT",
351 | "dependencies": {
352 | "function-bind": "^1.1.1"
353 | },
354 | "engines": {
355 | "node": ">= 0.4.0"
356 | }
357 | },
358 | "node_modules/has-symbols": {
359 | "version": "1.0.3",
360 | "license": "MIT",
361 | "engines": {
362 | "node": ">= 0.4"
363 | },
364 | "funding": {
365 | "url": "https://github.com/sponsors/ljharb"
366 | }
367 | },
368 | "node_modules/http-errors": {
369 | "version": "2.0.0",
370 | "license": "MIT",
371 | "dependencies": {
372 | "depd": "2.0.0",
373 | "inherits": "2.0.4",
374 | "setprototypeof": "1.2.0",
375 | "statuses": "2.0.1",
376 | "toidentifier": "1.0.1"
377 | },
378 | "engines": {
379 | "node": ">= 0.8"
380 | }
381 | },
382 | "node_modules/iconv-lite": {
383 | "version": "0.4.24",
384 | "license": "MIT",
385 | "dependencies": {
386 | "safer-buffer": ">= 2.1.2 < 3"
387 | },
388 | "engines": {
389 | "node": ">=0.10.0"
390 | }
391 | },
392 | "node_modules/inherits": {
393 | "version": "2.0.4",
394 | "license": "ISC"
395 | },
396 | "node_modules/ipaddr.js": {
397 | "version": "1.9.1",
398 | "license": "MIT",
399 | "engines": {
400 | "node": ">= 0.10"
401 | }
402 | },
403 | "node_modules/make-error": {
404 | "version": "1.3.6",
405 | "license": "ISC"
406 | },
407 | "node_modules/media-typer": {
408 | "version": "0.3.0",
409 | "license": "MIT",
410 | "engines": {
411 | "node": ">= 0.6"
412 | }
413 | },
414 | "node_modules/merge-descriptors": {
415 | "version": "1.0.1",
416 | "license": "MIT"
417 | },
418 | "node_modules/methods": {
419 | "version": "1.1.2",
420 | "license": "MIT",
421 | "engines": {
422 | "node": ">= 0.6"
423 | }
424 | },
425 | "node_modules/mime": {
426 | "version": "1.6.0",
427 | "license": "MIT",
428 | "bin": {
429 | "mime": "cli.js"
430 | },
431 | "engines": {
432 | "node": ">=4"
433 | }
434 | },
435 | "node_modules/mime-db": {
436 | "version": "1.52.0",
437 | "license": "MIT",
438 | "engines": {
439 | "node": ">= 0.6"
440 | }
441 | },
442 | "node_modules/mime-types": {
443 | "version": "2.1.35",
444 | "license": "MIT",
445 | "dependencies": {
446 | "mime-db": "1.52.0"
447 | },
448 | "engines": {
449 | "node": ">= 0.6"
450 | }
451 | },
452 | "node_modules/ms": {
453 | "version": "2.0.0",
454 | "license": "MIT"
455 | },
456 | "node_modules/negotiator": {
457 | "version": "0.6.3",
458 | "license": "MIT",
459 | "engines": {
460 | "node": ">= 0.6"
461 | }
462 | },
463 | "node_modules/object-inspect": {
464 | "version": "1.12.2",
465 | "license": "MIT",
466 | "funding": {
467 | "url": "https://github.com/sponsors/ljharb"
468 | }
469 | },
470 | "node_modules/on-finished": {
471 | "version": "2.4.1",
472 | "license": "MIT",
473 | "dependencies": {
474 | "ee-first": "1.1.1"
475 | },
476 | "engines": {
477 | "node": ">= 0.8"
478 | }
479 | },
480 | "node_modules/parseurl": {
481 | "version": "1.3.3",
482 | "license": "MIT",
483 | "engines": {
484 | "node": ">= 0.8"
485 | }
486 | },
487 | "node_modules/path-to-regexp": {
488 | "version": "0.1.7",
489 | "license": "MIT"
490 | },
491 | "node_modules/prisma": {
492 | "version": "4.3.1",
493 | "hasInstallScript": true,
494 | "license": "Apache-2.0",
495 | "dependencies": {
496 | "@prisma/engines": "4.3.1"
497 | },
498 | "bin": {
499 | "prisma": "build/index.js",
500 | "prisma2": "build/index.js"
501 | },
502 | "engines": {
503 | "node": ">=14.17"
504 | }
505 | },
506 | "node_modules/prisma-axiom": {
507 | "resolved": "../../dist",
508 | "link": true
509 | },
510 | "node_modules/proxy-addr": {
511 | "version": "2.0.7",
512 | "license": "MIT",
513 | "dependencies": {
514 | "forwarded": "0.2.0",
515 | "ipaddr.js": "1.9.1"
516 | },
517 | "engines": {
518 | "node": ">= 0.10"
519 | }
520 | },
521 | "node_modules/qs": {
522 | "version": "6.10.3",
523 | "license": "BSD-3-Clause",
524 | "dependencies": {
525 | "side-channel": "^1.0.4"
526 | },
527 | "engines": {
528 | "node": ">=0.6"
529 | },
530 | "funding": {
531 | "url": "https://github.com/sponsors/ljharb"
532 | }
533 | },
534 | "node_modules/range-parser": {
535 | "version": "1.2.1",
536 | "license": "MIT",
537 | "engines": {
538 | "node": ">= 0.6"
539 | }
540 | },
541 | "node_modules/raw-body": {
542 | "version": "2.5.1",
543 | "license": "MIT",
544 | "dependencies": {
545 | "bytes": "3.1.2",
546 | "http-errors": "2.0.0",
547 | "iconv-lite": "0.4.24",
548 | "unpipe": "1.0.0"
549 | },
550 | "engines": {
551 | "node": ">= 0.8"
552 | }
553 | },
554 | "node_modules/safe-buffer": {
555 | "version": "5.2.1",
556 | "funding": [
557 | {
558 | "type": "github",
559 | "url": "https://github.com/sponsors/feross"
560 | },
561 | {
562 | "type": "patreon",
563 | "url": "https://www.patreon.com/feross"
564 | },
565 | {
566 | "type": "consulting",
567 | "url": "https://feross.org/support"
568 | }
569 | ],
570 | "license": "MIT"
571 | },
572 | "node_modules/safer-buffer": {
573 | "version": "2.1.2",
574 | "license": "MIT"
575 | },
576 | "node_modules/send": {
577 | "version": "0.18.0",
578 | "license": "MIT",
579 | "dependencies": {
580 | "debug": "2.6.9",
581 | "depd": "2.0.0",
582 | "destroy": "1.2.0",
583 | "encodeurl": "~1.0.2",
584 | "escape-html": "~1.0.3",
585 | "etag": "~1.8.1",
586 | "fresh": "0.5.2",
587 | "http-errors": "2.0.0",
588 | "mime": "1.6.0",
589 | "ms": "2.1.3",
590 | "on-finished": "2.4.1",
591 | "range-parser": "~1.2.1",
592 | "statuses": "2.0.1"
593 | },
594 | "engines": {
595 | "node": ">= 0.8.0"
596 | }
597 | },
598 | "node_modules/send/node_modules/ms": {
599 | "version": "2.1.3",
600 | "license": "MIT"
601 | },
602 | "node_modules/serve-static": {
603 | "version": "1.15.0",
604 | "license": "MIT",
605 | "dependencies": {
606 | "encodeurl": "~1.0.2",
607 | "escape-html": "~1.0.3",
608 | "parseurl": "~1.3.3",
609 | "send": "0.18.0"
610 | },
611 | "engines": {
612 | "node": ">= 0.8.0"
613 | }
614 | },
615 | "node_modules/setprototypeof": {
616 | "version": "1.2.0",
617 | "license": "ISC"
618 | },
619 | "node_modules/side-channel": {
620 | "version": "1.0.4",
621 | "license": "MIT",
622 | "dependencies": {
623 | "call-bind": "^1.0.0",
624 | "get-intrinsic": "^1.0.2",
625 | "object-inspect": "^1.9.0"
626 | },
627 | "funding": {
628 | "url": "https://github.com/sponsors/ljharb"
629 | }
630 | },
631 | "node_modules/statuses": {
632 | "version": "2.0.1",
633 | "license": "MIT",
634 | "engines": {
635 | "node": ">= 0.8"
636 | }
637 | },
638 | "node_modules/toidentifier": {
639 | "version": "1.0.1",
640 | "license": "MIT",
641 | "engines": {
642 | "node": ">=0.6"
643 | }
644 | },
645 | "node_modules/ts-node": {
646 | "version": "10.9.1",
647 | "license": "MIT",
648 | "dependencies": {
649 | "@cspotcode/source-map-support": "^0.8.0",
650 | "@tsconfig/node10": "^1.0.7",
651 | "@tsconfig/node12": "^1.0.7",
652 | "@tsconfig/node14": "^1.0.0",
653 | "@tsconfig/node16": "^1.0.2",
654 | "acorn": "^8.4.1",
655 | "acorn-walk": "^8.1.1",
656 | "arg": "^4.1.0",
657 | "create-require": "^1.1.0",
658 | "diff": "^4.0.1",
659 | "make-error": "^1.1.1",
660 | "v8-compile-cache-lib": "^3.0.1",
661 | "yn": "3.1.1"
662 | },
663 | "bin": {
664 | "ts-node": "dist/bin.js",
665 | "ts-node-cwd": "dist/bin-cwd.js",
666 | "ts-node-esm": "dist/bin-esm.js",
667 | "ts-node-script": "dist/bin-script.js",
668 | "ts-node-transpile-only": "dist/bin-transpile.js",
669 | "ts-script": "dist/bin-script-deprecated.js"
670 | },
671 | "peerDependencies": {
672 | "@swc/core": ">=1.2.50",
673 | "@swc/wasm": ">=1.2.50",
674 | "@types/node": "*",
675 | "typescript": ">=2.7"
676 | },
677 | "peerDependenciesMeta": {
678 | "@swc/core": {
679 | "optional": true
680 | },
681 | "@swc/wasm": {
682 | "optional": true
683 | }
684 | }
685 | },
686 | "node_modules/type-is": {
687 | "version": "1.6.18",
688 | "license": "MIT",
689 | "dependencies": {
690 | "media-typer": "0.3.0",
691 | "mime-types": "~2.1.24"
692 | },
693 | "engines": {
694 | "node": ">= 0.6"
695 | }
696 | },
697 | "node_modules/typescript": {
698 | "version": "4.8.2",
699 | "license": "Apache-2.0",
700 | "bin": {
701 | "tsc": "bin/tsc",
702 | "tsserver": "bin/tsserver"
703 | },
704 | "engines": {
705 | "node": ">=4.2.0"
706 | }
707 | },
708 | "node_modules/unpipe": {
709 | "version": "1.0.0",
710 | "license": "MIT",
711 | "engines": {
712 | "node": ">= 0.8"
713 | }
714 | },
715 | "node_modules/utils-merge": {
716 | "version": "1.0.1",
717 | "license": "MIT",
718 | "engines": {
719 | "node": ">= 0.4.0"
720 | }
721 | },
722 | "node_modules/v8-compile-cache-lib": {
723 | "version": "3.0.1",
724 | "license": "MIT"
725 | },
726 | "node_modules/vary": {
727 | "version": "1.1.2",
728 | "license": "MIT",
729 | "engines": {
730 | "node": ">= 0.8"
731 | }
732 | },
733 | "node_modules/yn": {
734 | "version": "3.1.1",
735 | "license": "MIT",
736 | "engines": {
737 | "node": ">=6"
738 | }
739 | }
740 | },
741 | "dependencies": {
742 | "@cspotcode/source-map-support": {
743 | "version": "0.8.1",
744 | "requires": {
745 | "@jridgewell/trace-mapping": "0.3.9"
746 | }
747 | },
748 | "@jridgewell/resolve-uri": {
749 | "version": "3.1.0"
750 | },
751 | "@jridgewell/sourcemap-codec": {
752 | "version": "1.4.14"
753 | },
754 | "@jridgewell/trace-mapping": {
755 | "version": "0.3.9",
756 | "requires": {
757 | "@jridgewell/resolve-uri": "^3.0.3",
758 | "@jridgewell/sourcemap-codec": "^1.4.10"
759 | }
760 | },
761 | "@prisma/client": {
762 | "version": "4.2.1",
763 | "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.2.1.tgz",
764 | "integrity": "sha512-PZBkY60+k5oix+e6IUfl3ub8TbRLNsPLdfWrdy2eh80WcHTaT+/UfvXf/B7gXedH7FRtbPFHZXk1hZenJiJZFQ==",
765 | "requires": {
766 | "@prisma/engines-version": "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826"
767 | }
768 | },
769 | "@prisma/engines": {
770 | "version": "4.3.1"
771 | },
772 | "@prisma/engines-version": {
773 | "version": "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826",
774 | "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826.tgz",
775 | "integrity": "sha512-tktkqdiwqE4QhmE088boPt+FwPj1Jub/zk+5F6sEfcRHzO5yz9jyMD5HFVtiwxZPLx/8Xg9ElnuTi8E5lWVQFQ=="
776 | },
777 | "@tsconfig/node10": {
778 | "version": "1.0.9"
779 | },
780 | "@tsconfig/node12": {
781 | "version": "1.0.11"
782 | },
783 | "@tsconfig/node14": {
784 | "version": "1.0.3"
785 | },
786 | "@tsconfig/node16": {
787 | "version": "1.0.3"
788 | },
789 | "@types/node": {
790 | "version": "18.7.16"
791 | },
792 | "accepts": {
793 | "version": "1.3.8",
794 | "requires": {
795 | "mime-types": "~2.1.34",
796 | "negotiator": "0.6.3"
797 | }
798 | },
799 | "acorn": {
800 | "version": "8.8.0"
801 | },
802 | "acorn-walk": {
803 | "version": "8.2.0"
804 | },
805 | "arg": {
806 | "version": "4.1.3"
807 | },
808 | "array-flatten": {
809 | "version": "1.1.1"
810 | },
811 | "body-parser": {
812 | "version": "1.20.0",
813 | "requires": {
814 | "bytes": "3.1.2",
815 | "content-type": "~1.0.4",
816 | "debug": "2.6.9",
817 | "depd": "2.0.0",
818 | "destroy": "1.2.0",
819 | "http-errors": "2.0.0",
820 | "iconv-lite": "0.4.24",
821 | "on-finished": "2.4.1",
822 | "qs": "6.10.3",
823 | "raw-body": "2.5.1",
824 | "type-is": "~1.6.18",
825 | "unpipe": "1.0.0"
826 | }
827 | },
828 | "bytes": {
829 | "version": "3.1.2"
830 | },
831 | "call-bind": {
832 | "version": "1.0.2",
833 | "requires": {
834 | "function-bind": "^1.1.1",
835 | "get-intrinsic": "^1.0.2"
836 | }
837 | },
838 | "content-disposition": {
839 | "version": "0.5.4",
840 | "requires": {
841 | "safe-buffer": "5.2.1"
842 | }
843 | },
844 | "content-type": {
845 | "version": "1.0.4"
846 | },
847 | "cookie": {
848 | "version": "0.5.0"
849 | },
850 | "cookie-signature": {
851 | "version": "1.0.6"
852 | },
853 | "create-require": {
854 | "version": "1.1.1"
855 | },
856 | "debug": {
857 | "version": "2.6.9",
858 | "requires": {
859 | "ms": "2.0.0"
860 | }
861 | },
862 | "depd": {
863 | "version": "2.0.0"
864 | },
865 | "destroy": {
866 | "version": "1.2.0"
867 | },
868 | "diff": {
869 | "version": "4.0.2"
870 | },
871 | "ee-first": {
872 | "version": "1.1.1"
873 | },
874 | "encodeurl": {
875 | "version": "1.0.2"
876 | },
877 | "escape-html": {
878 | "version": "1.0.3"
879 | },
880 | "etag": {
881 | "version": "1.8.1"
882 | },
883 | "express": {
884 | "version": "4.18.1",
885 | "requires": {
886 | "accepts": "~1.3.8",
887 | "array-flatten": "1.1.1",
888 | "body-parser": "1.20.0",
889 | "content-disposition": "0.5.4",
890 | "content-type": "~1.0.4",
891 | "cookie": "0.5.0",
892 | "cookie-signature": "1.0.6",
893 | "debug": "2.6.9",
894 | "depd": "2.0.0",
895 | "encodeurl": "~1.0.2",
896 | "escape-html": "~1.0.3",
897 | "etag": "~1.8.1",
898 | "finalhandler": "1.2.0",
899 | "fresh": "0.5.2",
900 | "http-errors": "2.0.0",
901 | "merge-descriptors": "1.0.1",
902 | "methods": "~1.1.2",
903 | "on-finished": "2.4.1",
904 | "parseurl": "~1.3.3",
905 | "path-to-regexp": "0.1.7",
906 | "proxy-addr": "~2.0.7",
907 | "qs": "6.10.3",
908 | "range-parser": "~1.2.1",
909 | "safe-buffer": "5.2.1",
910 | "send": "0.18.0",
911 | "serve-static": "1.15.0",
912 | "setprototypeof": "1.2.0",
913 | "statuses": "2.0.1",
914 | "type-is": "~1.6.18",
915 | "utils-merge": "1.0.1",
916 | "vary": "~1.1.2"
917 | }
918 | },
919 | "finalhandler": {
920 | "version": "1.2.0",
921 | "requires": {
922 | "debug": "2.6.9",
923 | "encodeurl": "~1.0.2",
924 | "escape-html": "~1.0.3",
925 | "on-finished": "2.4.1",
926 | "parseurl": "~1.3.3",
927 | "statuses": "2.0.1",
928 | "unpipe": "~1.0.0"
929 | }
930 | },
931 | "forwarded": {
932 | "version": "0.2.0"
933 | },
934 | "fresh": {
935 | "version": "0.5.2"
936 | },
937 | "function-bind": {
938 | "version": "1.1.1"
939 | },
940 | "get-intrinsic": {
941 | "version": "1.1.2",
942 | "requires": {
943 | "function-bind": "^1.1.1",
944 | "has": "^1.0.3",
945 | "has-symbols": "^1.0.3"
946 | }
947 | },
948 | "has": {
949 | "version": "1.0.3",
950 | "requires": {
951 | "function-bind": "^1.1.1"
952 | }
953 | },
954 | "has-symbols": {
955 | "version": "1.0.3"
956 | },
957 | "http-errors": {
958 | "version": "2.0.0",
959 | "requires": {
960 | "depd": "2.0.0",
961 | "inherits": "2.0.4",
962 | "setprototypeof": "1.2.0",
963 | "statuses": "2.0.1",
964 | "toidentifier": "1.0.1"
965 | }
966 | },
967 | "iconv-lite": {
968 | "version": "0.4.24",
969 | "requires": {
970 | "safer-buffer": ">= 2.1.2 < 3"
971 | }
972 | },
973 | "inherits": {
974 | "version": "2.0.4"
975 | },
976 | "ipaddr.js": {
977 | "version": "1.9.1"
978 | },
979 | "make-error": {
980 | "version": "1.3.6"
981 | },
982 | "media-typer": {
983 | "version": "0.3.0"
984 | },
985 | "merge-descriptors": {
986 | "version": "1.0.1"
987 | },
988 | "methods": {
989 | "version": "1.1.2"
990 | },
991 | "mime": {
992 | "version": "1.6.0"
993 | },
994 | "mime-db": {
995 | "version": "1.52.0"
996 | },
997 | "mime-types": {
998 | "version": "2.1.35",
999 | "requires": {
1000 | "mime-db": "1.52.0"
1001 | }
1002 | },
1003 | "ms": {
1004 | "version": "2.0.0"
1005 | },
1006 | "negotiator": {
1007 | "version": "0.6.3"
1008 | },
1009 | "object-inspect": {
1010 | "version": "1.12.2"
1011 | },
1012 | "on-finished": {
1013 | "version": "2.4.1",
1014 | "requires": {
1015 | "ee-first": "1.1.1"
1016 | }
1017 | },
1018 | "parseurl": {
1019 | "version": "1.3.3"
1020 | },
1021 | "path-to-regexp": {
1022 | "version": "0.1.7"
1023 | },
1024 | "prisma": {
1025 | "version": "4.3.1",
1026 | "requires": {
1027 | "@prisma/engines": "4.3.1"
1028 | }
1029 | },
1030 | "prisma-axiom": {
1031 | "version": "file:../../dist"
1032 | },
1033 | "proxy-addr": {
1034 | "version": "2.0.7",
1035 | "requires": {
1036 | "forwarded": "0.2.0",
1037 | "ipaddr.js": "1.9.1"
1038 | }
1039 | },
1040 | "qs": {
1041 | "version": "6.10.3",
1042 | "requires": {
1043 | "side-channel": "^1.0.4"
1044 | }
1045 | },
1046 | "range-parser": {
1047 | "version": "1.2.1"
1048 | },
1049 | "raw-body": {
1050 | "version": "2.5.1",
1051 | "requires": {
1052 | "bytes": "3.1.2",
1053 | "http-errors": "2.0.0",
1054 | "iconv-lite": "0.4.24",
1055 | "unpipe": "1.0.0"
1056 | }
1057 | },
1058 | "safe-buffer": {
1059 | "version": "5.2.1"
1060 | },
1061 | "safer-buffer": {
1062 | "version": "2.1.2"
1063 | },
1064 | "send": {
1065 | "version": "0.18.0",
1066 | "requires": {
1067 | "debug": "2.6.9",
1068 | "depd": "2.0.0",
1069 | "destroy": "1.2.0",
1070 | "encodeurl": "~1.0.2",
1071 | "escape-html": "~1.0.3",
1072 | "etag": "~1.8.1",
1073 | "fresh": "0.5.2",
1074 | "http-errors": "2.0.0",
1075 | "mime": "1.6.0",
1076 | "ms": "2.1.3",
1077 | "on-finished": "2.4.1",
1078 | "range-parser": "~1.2.1",
1079 | "statuses": "2.0.1"
1080 | },
1081 | "dependencies": {
1082 | "ms": {
1083 | "version": "2.1.3"
1084 | }
1085 | }
1086 | },
1087 | "serve-static": {
1088 | "version": "1.15.0",
1089 | "requires": {
1090 | "encodeurl": "~1.0.2",
1091 | "escape-html": "~1.0.3",
1092 | "parseurl": "~1.3.3",
1093 | "send": "0.18.0"
1094 | }
1095 | },
1096 | "setprototypeof": {
1097 | "version": "1.2.0"
1098 | },
1099 | "side-channel": {
1100 | "version": "1.0.4",
1101 | "requires": {
1102 | "call-bind": "^1.0.0",
1103 | "get-intrinsic": "^1.0.2",
1104 | "object-inspect": "^1.9.0"
1105 | }
1106 | },
1107 | "statuses": {
1108 | "version": "2.0.1"
1109 | },
1110 | "toidentifier": {
1111 | "version": "1.0.1"
1112 | },
1113 | "ts-node": {
1114 | "version": "10.9.1",
1115 | "requires": {
1116 | "@cspotcode/source-map-support": "^0.8.0",
1117 | "@tsconfig/node10": "^1.0.7",
1118 | "@tsconfig/node12": "^1.0.7",
1119 | "@tsconfig/node14": "^1.0.0",
1120 | "@tsconfig/node16": "^1.0.2",
1121 | "acorn": "^8.4.1",
1122 | "acorn-walk": "^8.1.1",
1123 | "arg": "^4.1.0",
1124 | "create-require": "^1.1.0",
1125 | "diff": "^4.0.1",
1126 | "make-error": "^1.1.1",
1127 | "v8-compile-cache-lib": "^3.0.1",
1128 | "yn": "3.1.1"
1129 | }
1130 | },
1131 | "type-is": {
1132 | "version": "1.6.18",
1133 | "requires": {
1134 | "media-typer": "0.3.0",
1135 | "mime-types": "~2.1.24"
1136 | }
1137 | },
1138 | "typescript": {
1139 | "version": "4.8.2"
1140 | },
1141 | "unpipe": {
1142 | "version": "1.0.0"
1143 | },
1144 | "utils-merge": {
1145 | "version": "1.0.1"
1146 | },
1147 | "v8-compile-cache-lib": {
1148 | "version": "3.0.1"
1149 | },
1150 | "vary": {
1151 | "version": "1.1.2"
1152 | },
1153 | "yn": {
1154 | "version": "3.1.1"
1155 | }
1156 | }
1157 | }
1158 |
--------------------------------------------------------------------------------
/examples/extend-otel/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "prisma-axiom-example-extend-otel",
3 | "version": "1.0.0",
4 | "description": "example on using prisma-axiom in a script",
5 | "main": "index.ts",
6 | "scripts": {
7 | "start": "cd ../.. && npm run build && cd - && prisma generate && prisma migrate dev --name init && ts-node index.ts"
8 | },
9 | "dependencies": {
10 | "@prisma/client": "^4.2.1",
11 | "@types/node": "^18.7.6",
12 | "express": "^4.18.1",
13 | "prisma": "^4.2.1",
14 | "prisma-axiom": "../../dist",
15 | "ts-node": "^10.9.1",
16 | "typescript": "^4.7.4"
17 | }
18 | }
--------------------------------------------------------------------------------
/examples/extend-otel/prisma/schema.prisma:
--------------------------------------------------------------------------------
1 | // This is your Prisma schema file,
2 | // learn more about it in the docs: https://pris.ly/d/prisma-schema
3 |
4 | generator client {
5 | provider = "prisma-client-js"
6 | previewFeatures = ["tracing"]
7 | }
8 |
9 | datasource db {
10 | provider = "postgresql"
11 | url = "postgresql://axiom-prisma:axiom-prisma@localhost:5432/axiom-prisma"
12 | }
13 |
14 | model User {
15 | id Int @id @default(autoincrement())
16 | email String @unique
17 | name String?
18 | }
19 |
--------------------------------------------------------------------------------
/examples/script/index.ts:
--------------------------------------------------------------------------------
1 | import withAxiom from 'prisma-axiom';
2 | import { PrismaClient } from '@prisma/client';
3 |
4 | const client = new PrismaClient();
5 |
6 | async function main() {
7 | await client.user.create({
8 | data: {
9 | name: 'Alice',
10 | email: 'alice@prisma.io',
11 | },
12 | });
13 |
14 | const user = await client.user.findFirst();
15 | console.log('new user created', user);
16 |
17 | await client.user.deleteMany();
18 | }
19 |
20 | withAxiom(main)()
--------------------------------------------------------------------------------
/examples/script/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "prisma-axiom-example-script",
3 | "version": "1.0.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "prisma-axiom-example-script",
9 | "version": "1.0.0",
10 | "dependencies": {
11 | "@prisma/client": "^4.2.1",
12 | "@types/node": "^18.7.6",
13 | "express": "^4.18.1",
14 | "prisma": "^4.2.1",
15 | "prisma-axiom": "../../dist",
16 | "ts-node": "^10.9.1",
17 | "typescript": "^4.7.4"
18 | }
19 | },
20 | "../../dist": {},
21 | "../../src": {
22 | "extraneous": true
23 | },
24 | "node_modules/@cspotcode/source-map-support": {
25 | "version": "0.8.1",
26 | "license": "MIT",
27 | "dependencies": {
28 | "@jridgewell/trace-mapping": "0.3.9"
29 | },
30 | "engines": {
31 | "node": ">=12"
32 | }
33 | },
34 | "node_modules/@jridgewell/resolve-uri": {
35 | "version": "3.1.0",
36 | "license": "MIT",
37 | "engines": {
38 | "node": ">=6.0.0"
39 | }
40 | },
41 | "node_modules/@jridgewell/sourcemap-codec": {
42 | "version": "1.4.14",
43 | "license": "MIT"
44 | },
45 | "node_modules/@jridgewell/trace-mapping": {
46 | "version": "0.3.9",
47 | "license": "MIT",
48 | "dependencies": {
49 | "@jridgewell/resolve-uri": "^3.0.3",
50 | "@jridgewell/sourcemap-codec": "^1.4.10"
51 | }
52 | },
53 | "node_modules/@prisma/client": {
54 | "version": "4.2.1",
55 | "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.2.1.tgz",
56 | "integrity": "sha512-PZBkY60+k5oix+e6IUfl3ub8TbRLNsPLdfWrdy2eh80WcHTaT+/UfvXf/B7gXedH7FRtbPFHZXk1hZenJiJZFQ==",
57 | "hasInstallScript": true,
58 | "dependencies": {
59 | "@prisma/engines-version": "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826"
60 | },
61 | "engines": {
62 | "node": ">=14.17"
63 | },
64 | "peerDependencies": {
65 | "prisma": "*"
66 | },
67 | "peerDependenciesMeta": {
68 | "prisma": {
69 | "optional": true
70 | }
71 | }
72 | },
73 | "node_modules/@prisma/engines": {
74 | "version": "4.3.1",
75 | "hasInstallScript": true,
76 | "license": "Apache-2.0"
77 | },
78 | "node_modules/@prisma/engines-version": {
79 | "version": "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826",
80 | "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826.tgz",
81 | "integrity": "sha512-tktkqdiwqE4QhmE088boPt+FwPj1Jub/zk+5F6sEfcRHzO5yz9jyMD5HFVtiwxZPLx/8Xg9ElnuTi8E5lWVQFQ=="
82 | },
83 | "node_modules/@tsconfig/node10": {
84 | "version": "1.0.9",
85 | "license": "MIT"
86 | },
87 | "node_modules/@tsconfig/node12": {
88 | "version": "1.0.11",
89 | "license": "MIT"
90 | },
91 | "node_modules/@tsconfig/node14": {
92 | "version": "1.0.3",
93 | "license": "MIT"
94 | },
95 | "node_modules/@tsconfig/node16": {
96 | "version": "1.0.3",
97 | "license": "MIT"
98 | },
99 | "node_modules/@types/node": {
100 | "version": "18.7.16",
101 | "license": "MIT"
102 | },
103 | "node_modules/accepts": {
104 | "version": "1.3.8",
105 | "license": "MIT",
106 | "dependencies": {
107 | "mime-types": "~2.1.34",
108 | "negotiator": "0.6.3"
109 | },
110 | "engines": {
111 | "node": ">= 0.6"
112 | }
113 | },
114 | "node_modules/acorn": {
115 | "version": "8.8.0",
116 | "license": "MIT",
117 | "bin": {
118 | "acorn": "bin/acorn"
119 | },
120 | "engines": {
121 | "node": ">=0.4.0"
122 | }
123 | },
124 | "node_modules/acorn-walk": {
125 | "version": "8.2.0",
126 | "license": "MIT",
127 | "engines": {
128 | "node": ">=0.4.0"
129 | }
130 | },
131 | "node_modules/arg": {
132 | "version": "4.1.3",
133 | "license": "MIT"
134 | },
135 | "node_modules/array-flatten": {
136 | "version": "1.1.1",
137 | "license": "MIT"
138 | },
139 | "node_modules/body-parser": {
140 | "version": "1.20.0",
141 | "license": "MIT",
142 | "dependencies": {
143 | "bytes": "3.1.2",
144 | "content-type": "~1.0.4",
145 | "debug": "2.6.9",
146 | "depd": "2.0.0",
147 | "destroy": "1.2.0",
148 | "http-errors": "2.0.0",
149 | "iconv-lite": "0.4.24",
150 | "on-finished": "2.4.1",
151 | "qs": "6.10.3",
152 | "raw-body": "2.5.1",
153 | "type-is": "~1.6.18",
154 | "unpipe": "1.0.0"
155 | },
156 | "engines": {
157 | "node": ">= 0.8",
158 | "npm": "1.2.8000 || >= 1.4.16"
159 | }
160 | },
161 | "node_modules/bytes": {
162 | "version": "3.1.2",
163 | "license": "MIT",
164 | "engines": {
165 | "node": ">= 0.8"
166 | }
167 | },
168 | "node_modules/call-bind": {
169 | "version": "1.0.2",
170 | "license": "MIT",
171 | "dependencies": {
172 | "function-bind": "^1.1.1",
173 | "get-intrinsic": "^1.0.2"
174 | },
175 | "funding": {
176 | "url": "https://github.com/sponsors/ljharb"
177 | }
178 | },
179 | "node_modules/content-disposition": {
180 | "version": "0.5.4",
181 | "license": "MIT",
182 | "dependencies": {
183 | "safe-buffer": "5.2.1"
184 | },
185 | "engines": {
186 | "node": ">= 0.6"
187 | }
188 | },
189 | "node_modules/content-type": {
190 | "version": "1.0.4",
191 | "license": "MIT",
192 | "engines": {
193 | "node": ">= 0.6"
194 | }
195 | },
196 | "node_modules/cookie": {
197 | "version": "0.5.0",
198 | "license": "MIT",
199 | "engines": {
200 | "node": ">= 0.6"
201 | }
202 | },
203 | "node_modules/cookie-signature": {
204 | "version": "1.0.6",
205 | "license": "MIT"
206 | },
207 | "node_modules/create-require": {
208 | "version": "1.1.1",
209 | "license": "MIT"
210 | },
211 | "node_modules/debug": {
212 | "version": "2.6.9",
213 | "license": "MIT",
214 | "dependencies": {
215 | "ms": "2.0.0"
216 | }
217 | },
218 | "node_modules/depd": {
219 | "version": "2.0.0",
220 | "license": "MIT",
221 | "engines": {
222 | "node": ">= 0.8"
223 | }
224 | },
225 | "node_modules/destroy": {
226 | "version": "1.2.0",
227 | "license": "MIT",
228 | "engines": {
229 | "node": ">= 0.8",
230 | "npm": "1.2.8000 || >= 1.4.16"
231 | }
232 | },
233 | "node_modules/diff": {
234 | "version": "4.0.2",
235 | "license": "BSD-3-Clause",
236 | "engines": {
237 | "node": ">=0.3.1"
238 | }
239 | },
240 | "node_modules/ee-first": {
241 | "version": "1.1.1",
242 | "license": "MIT"
243 | },
244 | "node_modules/encodeurl": {
245 | "version": "1.0.2",
246 | "license": "MIT",
247 | "engines": {
248 | "node": ">= 0.8"
249 | }
250 | },
251 | "node_modules/escape-html": {
252 | "version": "1.0.3",
253 | "license": "MIT"
254 | },
255 | "node_modules/etag": {
256 | "version": "1.8.1",
257 | "license": "MIT",
258 | "engines": {
259 | "node": ">= 0.6"
260 | }
261 | },
262 | "node_modules/express": {
263 | "version": "4.18.1",
264 | "license": "MIT",
265 | "dependencies": {
266 | "accepts": "~1.3.8",
267 | "array-flatten": "1.1.1",
268 | "body-parser": "1.20.0",
269 | "content-disposition": "0.5.4",
270 | "content-type": "~1.0.4",
271 | "cookie": "0.5.0",
272 | "cookie-signature": "1.0.6",
273 | "debug": "2.6.9",
274 | "depd": "2.0.0",
275 | "encodeurl": "~1.0.2",
276 | "escape-html": "~1.0.3",
277 | "etag": "~1.8.1",
278 | "finalhandler": "1.2.0",
279 | "fresh": "0.5.2",
280 | "http-errors": "2.0.0",
281 | "merge-descriptors": "1.0.1",
282 | "methods": "~1.1.2",
283 | "on-finished": "2.4.1",
284 | "parseurl": "~1.3.3",
285 | "path-to-regexp": "0.1.7",
286 | "proxy-addr": "~2.0.7",
287 | "qs": "6.10.3",
288 | "range-parser": "~1.2.1",
289 | "safe-buffer": "5.2.1",
290 | "send": "0.18.0",
291 | "serve-static": "1.15.0",
292 | "setprototypeof": "1.2.0",
293 | "statuses": "2.0.1",
294 | "type-is": "~1.6.18",
295 | "utils-merge": "1.0.1",
296 | "vary": "~1.1.2"
297 | },
298 | "engines": {
299 | "node": ">= 0.10.0"
300 | }
301 | },
302 | "node_modules/finalhandler": {
303 | "version": "1.2.0",
304 | "license": "MIT",
305 | "dependencies": {
306 | "debug": "2.6.9",
307 | "encodeurl": "~1.0.2",
308 | "escape-html": "~1.0.3",
309 | "on-finished": "2.4.1",
310 | "parseurl": "~1.3.3",
311 | "statuses": "2.0.1",
312 | "unpipe": "~1.0.0"
313 | },
314 | "engines": {
315 | "node": ">= 0.8"
316 | }
317 | },
318 | "node_modules/forwarded": {
319 | "version": "0.2.0",
320 | "license": "MIT",
321 | "engines": {
322 | "node": ">= 0.6"
323 | }
324 | },
325 | "node_modules/fresh": {
326 | "version": "0.5.2",
327 | "license": "MIT",
328 | "engines": {
329 | "node": ">= 0.6"
330 | }
331 | },
332 | "node_modules/function-bind": {
333 | "version": "1.1.1",
334 | "license": "MIT"
335 | },
336 | "node_modules/get-intrinsic": {
337 | "version": "1.1.2",
338 | "license": "MIT",
339 | "dependencies": {
340 | "function-bind": "^1.1.1",
341 | "has": "^1.0.3",
342 | "has-symbols": "^1.0.3"
343 | },
344 | "funding": {
345 | "url": "https://github.com/sponsors/ljharb"
346 | }
347 | },
348 | "node_modules/has": {
349 | "version": "1.0.3",
350 | "license": "MIT",
351 | "dependencies": {
352 | "function-bind": "^1.1.1"
353 | },
354 | "engines": {
355 | "node": ">= 0.4.0"
356 | }
357 | },
358 | "node_modules/has-symbols": {
359 | "version": "1.0.3",
360 | "license": "MIT",
361 | "engines": {
362 | "node": ">= 0.4"
363 | },
364 | "funding": {
365 | "url": "https://github.com/sponsors/ljharb"
366 | }
367 | },
368 | "node_modules/http-errors": {
369 | "version": "2.0.0",
370 | "license": "MIT",
371 | "dependencies": {
372 | "depd": "2.0.0",
373 | "inherits": "2.0.4",
374 | "setprototypeof": "1.2.0",
375 | "statuses": "2.0.1",
376 | "toidentifier": "1.0.1"
377 | },
378 | "engines": {
379 | "node": ">= 0.8"
380 | }
381 | },
382 | "node_modules/iconv-lite": {
383 | "version": "0.4.24",
384 | "license": "MIT",
385 | "dependencies": {
386 | "safer-buffer": ">= 2.1.2 < 3"
387 | },
388 | "engines": {
389 | "node": ">=0.10.0"
390 | }
391 | },
392 | "node_modules/inherits": {
393 | "version": "2.0.4",
394 | "license": "ISC"
395 | },
396 | "node_modules/ipaddr.js": {
397 | "version": "1.9.1",
398 | "license": "MIT",
399 | "engines": {
400 | "node": ">= 0.10"
401 | }
402 | },
403 | "node_modules/make-error": {
404 | "version": "1.3.6",
405 | "license": "ISC"
406 | },
407 | "node_modules/media-typer": {
408 | "version": "0.3.0",
409 | "license": "MIT",
410 | "engines": {
411 | "node": ">= 0.6"
412 | }
413 | },
414 | "node_modules/merge-descriptors": {
415 | "version": "1.0.1",
416 | "license": "MIT"
417 | },
418 | "node_modules/methods": {
419 | "version": "1.1.2",
420 | "license": "MIT",
421 | "engines": {
422 | "node": ">= 0.6"
423 | }
424 | },
425 | "node_modules/mime": {
426 | "version": "1.6.0",
427 | "license": "MIT",
428 | "bin": {
429 | "mime": "cli.js"
430 | },
431 | "engines": {
432 | "node": ">=4"
433 | }
434 | },
435 | "node_modules/mime-db": {
436 | "version": "1.52.0",
437 | "license": "MIT",
438 | "engines": {
439 | "node": ">= 0.6"
440 | }
441 | },
442 | "node_modules/mime-types": {
443 | "version": "2.1.35",
444 | "license": "MIT",
445 | "dependencies": {
446 | "mime-db": "1.52.0"
447 | },
448 | "engines": {
449 | "node": ">= 0.6"
450 | }
451 | },
452 | "node_modules/ms": {
453 | "version": "2.0.0",
454 | "license": "MIT"
455 | },
456 | "node_modules/negotiator": {
457 | "version": "0.6.3",
458 | "license": "MIT",
459 | "engines": {
460 | "node": ">= 0.6"
461 | }
462 | },
463 | "node_modules/object-inspect": {
464 | "version": "1.12.2",
465 | "license": "MIT",
466 | "funding": {
467 | "url": "https://github.com/sponsors/ljharb"
468 | }
469 | },
470 | "node_modules/on-finished": {
471 | "version": "2.4.1",
472 | "license": "MIT",
473 | "dependencies": {
474 | "ee-first": "1.1.1"
475 | },
476 | "engines": {
477 | "node": ">= 0.8"
478 | }
479 | },
480 | "node_modules/parseurl": {
481 | "version": "1.3.3",
482 | "license": "MIT",
483 | "engines": {
484 | "node": ">= 0.8"
485 | }
486 | },
487 | "node_modules/path-to-regexp": {
488 | "version": "0.1.7",
489 | "license": "MIT"
490 | },
491 | "node_modules/prisma": {
492 | "version": "4.3.1",
493 | "hasInstallScript": true,
494 | "license": "Apache-2.0",
495 | "dependencies": {
496 | "@prisma/engines": "4.3.1"
497 | },
498 | "bin": {
499 | "prisma": "build/index.js",
500 | "prisma2": "build/index.js"
501 | },
502 | "engines": {
503 | "node": ">=14.17"
504 | }
505 | },
506 | "node_modules/prisma-axiom": {
507 | "resolved": "../../dist",
508 | "link": true
509 | },
510 | "node_modules/proxy-addr": {
511 | "version": "2.0.7",
512 | "license": "MIT",
513 | "dependencies": {
514 | "forwarded": "0.2.0",
515 | "ipaddr.js": "1.9.1"
516 | },
517 | "engines": {
518 | "node": ">= 0.10"
519 | }
520 | },
521 | "node_modules/qs": {
522 | "version": "6.10.3",
523 | "license": "BSD-3-Clause",
524 | "dependencies": {
525 | "side-channel": "^1.0.4"
526 | },
527 | "engines": {
528 | "node": ">=0.6"
529 | },
530 | "funding": {
531 | "url": "https://github.com/sponsors/ljharb"
532 | }
533 | },
534 | "node_modules/range-parser": {
535 | "version": "1.2.1",
536 | "license": "MIT",
537 | "engines": {
538 | "node": ">= 0.6"
539 | }
540 | },
541 | "node_modules/raw-body": {
542 | "version": "2.5.1",
543 | "license": "MIT",
544 | "dependencies": {
545 | "bytes": "3.1.2",
546 | "http-errors": "2.0.0",
547 | "iconv-lite": "0.4.24",
548 | "unpipe": "1.0.0"
549 | },
550 | "engines": {
551 | "node": ">= 0.8"
552 | }
553 | },
554 | "node_modules/safe-buffer": {
555 | "version": "5.2.1",
556 | "funding": [
557 | {
558 | "type": "github",
559 | "url": "https://github.com/sponsors/feross"
560 | },
561 | {
562 | "type": "patreon",
563 | "url": "https://www.patreon.com/feross"
564 | },
565 | {
566 | "type": "consulting",
567 | "url": "https://feross.org/support"
568 | }
569 | ],
570 | "license": "MIT"
571 | },
572 | "node_modules/safer-buffer": {
573 | "version": "2.1.2",
574 | "license": "MIT"
575 | },
576 | "node_modules/send": {
577 | "version": "0.18.0",
578 | "license": "MIT",
579 | "dependencies": {
580 | "debug": "2.6.9",
581 | "depd": "2.0.0",
582 | "destroy": "1.2.0",
583 | "encodeurl": "~1.0.2",
584 | "escape-html": "~1.0.3",
585 | "etag": "~1.8.1",
586 | "fresh": "0.5.2",
587 | "http-errors": "2.0.0",
588 | "mime": "1.6.0",
589 | "ms": "2.1.3",
590 | "on-finished": "2.4.1",
591 | "range-parser": "~1.2.1",
592 | "statuses": "2.0.1"
593 | },
594 | "engines": {
595 | "node": ">= 0.8.0"
596 | }
597 | },
598 | "node_modules/send/node_modules/ms": {
599 | "version": "2.1.3",
600 | "license": "MIT"
601 | },
602 | "node_modules/serve-static": {
603 | "version": "1.15.0",
604 | "license": "MIT",
605 | "dependencies": {
606 | "encodeurl": "~1.0.2",
607 | "escape-html": "~1.0.3",
608 | "parseurl": "~1.3.3",
609 | "send": "0.18.0"
610 | },
611 | "engines": {
612 | "node": ">= 0.8.0"
613 | }
614 | },
615 | "node_modules/setprototypeof": {
616 | "version": "1.2.0",
617 | "license": "ISC"
618 | },
619 | "node_modules/side-channel": {
620 | "version": "1.0.4",
621 | "license": "MIT",
622 | "dependencies": {
623 | "call-bind": "^1.0.0",
624 | "get-intrinsic": "^1.0.2",
625 | "object-inspect": "^1.9.0"
626 | },
627 | "funding": {
628 | "url": "https://github.com/sponsors/ljharb"
629 | }
630 | },
631 | "node_modules/statuses": {
632 | "version": "2.0.1",
633 | "license": "MIT",
634 | "engines": {
635 | "node": ">= 0.8"
636 | }
637 | },
638 | "node_modules/toidentifier": {
639 | "version": "1.0.1",
640 | "license": "MIT",
641 | "engines": {
642 | "node": ">=0.6"
643 | }
644 | },
645 | "node_modules/ts-node": {
646 | "version": "10.9.1",
647 | "license": "MIT",
648 | "dependencies": {
649 | "@cspotcode/source-map-support": "^0.8.0",
650 | "@tsconfig/node10": "^1.0.7",
651 | "@tsconfig/node12": "^1.0.7",
652 | "@tsconfig/node14": "^1.0.0",
653 | "@tsconfig/node16": "^1.0.2",
654 | "acorn": "^8.4.1",
655 | "acorn-walk": "^8.1.1",
656 | "arg": "^4.1.0",
657 | "create-require": "^1.1.0",
658 | "diff": "^4.0.1",
659 | "make-error": "^1.1.1",
660 | "v8-compile-cache-lib": "^3.0.1",
661 | "yn": "3.1.1"
662 | },
663 | "bin": {
664 | "ts-node": "dist/bin.js",
665 | "ts-node-cwd": "dist/bin-cwd.js",
666 | "ts-node-esm": "dist/bin-esm.js",
667 | "ts-node-script": "dist/bin-script.js",
668 | "ts-node-transpile-only": "dist/bin-transpile.js",
669 | "ts-script": "dist/bin-script-deprecated.js"
670 | },
671 | "peerDependencies": {
672 | "@swc/core": ">=1.2.50",
673 | "@swc/wasm": ">=1.2.50",
674 | "@types/node": "*",
675 | "typescript": ">=2.7"
676 | },
677 | "peerDependenciesMeta": {
678 | "@swc/core": {
679 | "optional": true
680 | },
681 | "@swc/wasm": {
682 | "optional": true
683 | }
684 | }
685 | },
686 | "node_modules/type-is": {
687 | "version": "1.6.18",
688 | "license": "MIT",
689 | "dependencies": {
690 | "media-typer": "0.3.0",
691 | "mime-types": "~2.1.24"
692 | },
693 | "engines": {
694 | "node": ">= 0.6"
695 | }
696 | },
697 | "node_modules/typescript": {
698 | "version": "4.8.2",
699 | "license": "Apache-2.0",
700 | "bin": {
701 | "tsc": "bin/tsc",
702 | "tsserver": "bin/tsserver"
703 | },
704 | "engines": {
705 | "node": ">=4.2.0"
706 | }
707 | },
708 | "node_modules/unpipe": {
709 | "version": "1.0.0",
710 | "license": "MIT",
711 | "engines": {
712 | "node": ">= 0.8"
713 | }
714 | },
715 | "node_modules/utils-merge": {
716 | "version": "1.0.1",
717 | "license": "MIT",
718 | "engines": {
719 | "node": ">= 0.4.0"
720 | }
721 | },
722 | "node_modules/v8-compile-cache-lib": {
723 | "version": "3.0.1",
724 | "license": "MIT"
725 | },
726 | "node_modules/vary": {
727 | "version": "1.1.2",
728 | "license": "MIT",
729 | "engines": {
730 | "node": ">= 0.8"
731 | }
732 | },
733 | "node_modules/yn": {
734 | "version": "3.1.1",
735 | "license": "MIT",
736 | "engines": {
737 | "node": ">=6"
738 | }
739 | }
740 | },
741 | "dependencies": {
742 | "@cspotcode/source-map-support": {
743 | "version": "0.8.1",
744 | "requires": {
745 | "@jridgewell/trace-mapping": "0.3.9"
746 | }
747 | },
748 | "@jridgewell/resolve-uri": {
749 | "version": "3.1.0"
750 | },
751 | "@jridgewell/sourcemap-codec": {
752 | "version": "1.4.14"
753 | },
754 | "@jridgewell/trace-mapping": {
755 | "version": "0.3.9",
756 | "requires": {
757 | "@jridgewell/resolve-uri": "^3.0.3",
758 | "@jridgewell/sourcemap-codec": "^1.4.10"
759 | }
760 | },
761 | "@prisma/client": {
762 | "version": "4.2.1",
763 | "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.2.1.tgz",
764 | "integrity": "sha512-PZBkY60+k5oix+e6IUfl3ub8TbRLNsPLdfWrdy2eh80WcHTaT+/UfvXf/B7gXedH7FRtbPFHZXk1hZenJiJZFQ==",
765 | "requires": {
766 | "@prisma/engines-version": "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826"
767 | }
768 | },
769 | "@prisma/engines": {
770 | "version": "4.3.1"
771 | },
772 | "@prisma/engines-version": {
773 | "version": "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826",
774 | "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826.tgz",
775 | "integrity": "sha512-tktkqdiwqE4QhmE088boPt+FwPj1Jub/zk+5F6sEfcRHzO5yz9jyMD5HFVtiwxZPLx/8Xg9ElnuTi8E5lWVQFQ=="
776 | },
777 | "@tsconfig/node10": {
778 | "version": "1.0.9"
779 | },
780 | "@tsconfig/node12": {
781 | "version": "1.0.11"
782 | },
783 | "@tsconfig/node14": {
784 | "version": "1.0.3"
785 | },
786 | "@tsconfig/node16": {
787 | "version": "1.0.3"
788 | },
789 | "@types/node": {
790 | "version": "18.7.16"
791 | },
792 | "accepts": {
793 | "version": "1.3.8",
794 | "requires": {
795 | "mime-types": "~2.1.34",
796 | "negotiator": "0.6.3"
797 | }
798 | },
799 | "acorn": {
800 | "version": "8.8.0"
801 | },
802 | "acorn-walk": {
803 | "version": "8.2.0"
804 | },
805 | "arg": {
806 | "version": "4.1.3"
807 | },
808 | "array-flatten": {
809 | "version": "1.1.1"
810 | },
811 | "body-parser": {
812 | "version": "1.20.0",
813 | "requires": {
814 | "bytes": "3.1.2",
815 | "content-type": "~1.0.4",
816 | "debug": "2.6.9",
817 | "depd": "2.0.0",
818 | "destroy": "1.2.0",
819 | "http-errors": "2.0.0",
820 | "iconv-lite": "0.4.24",
821 | "on-finished": "2.4.1",
822 | "qs": "6.10.3",
823 | "raw-body": "2.5.1",
824 | "type-is": "~1.6.18",
825 | "unpipe": "1.0.0"
826 | }
827 | },
828 | "bytes": {
829 | "version": "3.1.2"
830 | },
831 | "call-bind": {
832 | "version": "1.0.2",
833 | "requires": {
834 | "function-bind": "^1.1.1",
835 | "get-intrinsic": "^1.0.2"
836 | }
837 | },
838 | "content-disposition": {
839 | "version": "0.5.4",
840 | "requires": {
841 | "safe-buffer": "5.2.1"
842 | }
843 | },
844 | "content-type": {
845 | "version": "1.0.4"
846 | },
847 | "cookie": {
848 | "version": "0.5.0"
849 | },
850 | "cookie-signature": {
851 | "version": "1.0.6"
852 | },
853 | "create-require": {
854 | "version": "1.1.1"
855 | },
856 | "debug": {
857 | "version": "2.6.9",
858 | "requires": {
859 | "ms": "2.0.0"
860 | }
861 | },
862 | "depd": {
863 | "version": "2.0.0"
864 | },
865 | "destroy": {
866 | "version": "1.2.0"
867 | },
868 | "diff": {
869 | "version": "4.0.2"
870 | },
871 | "ee-first": {
872 | "version": "1.1.1"
873 | },
874 | "encodeurl": {
875 | "version": "1.0.2"
876 | },
877 | "escape-html": {
878 | "version": "1.0.3"
879 | },
880 | "etag": {
881 | "version": "1.8.1"
882 | },
883 | "express": {
884 | "version": "4.18.1",
885 | "requires": {
886 | "accepts": "~1.3.8",
887 | "array-flatten": "1.1.1",
888 | "body-parser": "1.20.0",
889 | "content-disposition": "0.5.4",
890 | "content-type": "~1.0.4",
891 | "cookie": "0.5.0",
892 | "cookie-signature": "1.0.6",
893 | "debug": "2.6.9",
894 | "depd": "2.0.0",
895 | "encodeurl": "~1.0.2",
896 | "escape-html": "~1.0.3",
897 | "etag": "~1.8.1",
898 | "finalhandler": "1.2.0",
899 | "fresh": "0.5.2",
900 | "http-errors": "2.0.0",
901 | "merge-descriptors": "1.0.1",
902 | "methods": "~1.1.2",
903 | "on-finished": "2.4.1",
904 | "parseurl": "~1.3.3",
905 | "path-to-regexp": "0.1.7",
906 | "proxy-addr": "~2.0.7",
907 | "qs": "6.10.3",
908 | "range-parser": "~1.2.1",
909 | "safe-buffer": "5.2.1",
910 | "send": "0.18.0",
911 | "serve-static": "1.15.0",
912 | "setprototypeof": "1.2.0",
913 | "statuses": "2.0.1",
914 | "type-is": "~1.6.18",
915 | "utils-merge": "1.0.1",
916 | "vary": "~1.1.2"
917 | }
918 | },
919 | "finalhandler": {
920 | "version": "1.2.0",
921 | "requires": {
922 | "debug": "2.6.9",
923 | "encodeurl": "~1.0.2",
924 | "escape-html": "~1.0.3",
925 | "on-finished": "2.4.1",
926 | "parseurl": "~1.3.3",
927 | "statuses": "2.0.1",
928 | "unpipe": "~1.0.0"
929 | }
930 | },
931 | "forwarded": {
932 | "version": "0.2.0"
933 | },
934 | "fresh": {
935 | "version": "0.5.2"
936 | },
937 | "function-bind": {
938 | "version": "1.1.1"
939 | },
940 | "get-intrinsic": {
941 | "version": "1.1.2",
942 | "requires": {
943 | "function-bind": "^1.1.1",
944 | "has": "^1.0.3",
945 | "has-symbols": "^1.0.3"
946 | }
947 | },
948 | "has": {
949 | "version": "1.0.3",
950 | "requires": {
951 | "function-bind": "^1.1.1"
952 | }
953 | },
954 | "has-symbols": {
955 | "version": "1.0.3"
956 | },
957 | "http-errors": {
958 | "version": "2.0.0",
959 | "requires": {
960 | "depd": "2.0.0",
961 | "inherits": "2.0.4",
962 | "setprototypeof": "1.2.0",
963 | "statuses": "2.0.1",
964 | "toidentifier": "1.0.1"
965 | }
966 | },
967 | "iconv-lite": {
968 | "version": "0.4.24",
969 | "requires": {
970 | "safer-buffer": ">= 2.1.2 < 3"
971 | }
972 | },
973 | "inherits": {
974 | "version": "2.0.4"
975 | },
976 | "ipaddr.js": {
977 | "version": "1.9.1"
978 | },
979 | "make-error": {
980 | "version": "1.3.6"
981 | },
982 | "media-typer": {
983 | "version": "0.3.0"
984 | },
985 | "merge-descriptors": {
986 | "version": "1.0.1"
987 | },
988 | "methods": {
989 | "version": "1.1.2"
990 | },
991 | "mime": {
992 | "version": "1.6.0"
993 | },
994 | "mime-db": {
995 | "version": "1.52.0"
996 | },
997 | "mime-types": {
998 | "version": "2.1.35",
999 | "requires": {
1000 | "mime-db": "1.52.0"
1001 | }
1002 | },
1003 | "ms": {
1004 | "version": "2.0.0"
1005 | },
1006 | "negotiator": {
1007 | "version": "0.6.3"
1008 | },
1009 | "object-inspect": {
1010 | "version": "1.12.2"
1011 | },
1012 | "on-finished": {
1013 | "version": "2.4.1",
1014 | "requires": {
1015 | "ee-first": "1.1.1"
1016 | }
1017 | },
1018 | "parseurl": {
1019 | "version": "1.3.3"
1020 | },
1021 | "path-to-regexp": {
1022 | "version": "0.1.7"
1023 | },
1024 | "prisma": {
1025 | "version": "4.3.1",
1026 | "requires": {
1027 | "@prisma/engines": "4.3.1"
1028 | }
1029 | },
1030 | "prisma-axiom": {
1031 | "version": "file:../../dist"
1032 | },
1033 | "proxy-addr": {
1034 | "version": "2.0.7",
1035 | "requires": {
1036 | "forwarded": "0.2.0",
1037 | "ipaddr.js": "1.9.1"
1038 | }
1039 | },
1040 | "qs": {
1041 | "version": "6.10.3",
1042 | "requires": {
1043 | "side-channel": "^1.0.4"
1044 | }
1045 | },
1046 | "range-parser": {
1047 | "version": "1.2.1"
1048 | },
1049 | "raw-body": {
1050 | "version": "2.5.1",
1051 | "requires": {
1052 | "bytes": "3.1.2",
1053 | "http-errors": "2.0.0",
1054 | "iconv-lite": "0.4.24",
1055 | "unpipe": "1.0.0"
1056 | }
1057 | },
1058 | "safe-buffer": {
1059 | "version": "5.2.1"
1060 | },
1061 | "safer-buffer": {
1062 | "version": "2.1.2"
1063 | },
1064 | "send": {
1065 | "version": "0.18.0",
1066 | "requires": {
1067 | "debug": "2.6.9",
1068 | "depd": "2.0.0",
1069 | "destroy": "1.2.0",
1070 | "encodeurl": "~1.0.2",
1071 | "escape-html": "~1.0.3",
1072 | "etag": "~1.8.1",
1073 | "fresh": "0.5.2",
1074 | "http-errors": "2.0.0",
1075 | "mime": "1.6.0",
1076 | "ms": "2.1.3",
1077 | "on-finished": "2.4.1",
1078 | "range-parser": "~1.2.1",
1079 | "statuses": "2.0.1"
1080 | },
1081 | "dependencies": {
1082 | "ms": {
1083 | "version": "2.1.3"
1084 | }
1085 | }
1086 | },
1087 | "serve-static": {
1088 | "version": "1.15.0",
1089 | "requires": {
1090 | "encodeurl": "~1.0.2",
1091 | "escape-html": "~1.0.3",
1092 | "parseurl": "~1.3.3",
1093 | "send": "0.18.0"
1094 | }
1095 | },
1096 | "setprototypeof": {
1097 | "version": "1.2.0"
1098 | },
1099 | "side-channel": {
1100 | "version": "1.0.4",
1101 | "requires": {
1102 | "call-bind": "^1.0.0",
1103 | "get-intrinsic": "^1.0.2",
1104 | "object-inspect": "^1.9.0"
1105 | }
1106 | },
1107 | "statuses": {
1108 | "version": "2.0.1"
1109 | },
1110 | "toidentifier": {
1111 | "version": "1.0.1"
1112 | },
1113 | "ts-node": {
1114 | "version": "10.9.1",
1115 | "requires": {
1116 | "@cspotcode/source-map-support": "^0.8.0",
1117 | "@tsconfig/node10": "^1.0.7",
1118 | "@tsconfig/node12": "^1.0.7",
1119 | "@tsconfig/node14": "^1.0.0",
1120 | "@tsconfig/node16": "^1.0.2",
1121 | "acorn": "^8.4.1",
1122 | "acorn-walk": "^8.1.1",
1123 | "arg": "^4.1.0",
1124 | "create-require": "^1.1.0",
1125 | "diff": "^4.0.1",
1126 | "make-error": "^1.1.1",
1127 | "v8-compile-cache-lib": "^3.0.1",
1128 | "yn": "3.1.1"
1129 | }
1130 | },
1131 | "type-is": {
1132 | "version": "1.6.18",
1133 | "requires": {
1134 | "media-typer": "0.3.0",
1135 | "mime-types": "~2.1.24"
1136 | }
1137 | },
1138 | "typescript": {
1139 | "version": "4.8.2"
1140 | },
1141 | "unpipe": {
1142 | "version": "1.0.0"
1143 | },
1144 | "utils-merge": {
1145 | "version": "1.0.1"
1146 | },
1147 | "v8-compile-cache-lib": {
1148 | "version": "3.0.1"
1149 | },
1150 | "vary": {
1151 | "version": "1.1.2"
1152 | },
1153 | "yn": {
1154 | "version": "3.1.1"
1155 | }
1156 | }
1157 | }
1158 |
--------------------------------------------------------------------------------
/examples/script/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "prisma-axiom-example-script",
3 | "version": "1.0.0",
4 | "description": "example on using prisma-axiom in a script",
5 | "main": "index.ts",
6 | "scripts": {
7 | "start": "cd ../.. && npm run build && cd - && prisma generate && prisma migrate dev --name init && ts-node index.ts"
8 | },
9 | "dependencies": {
10 | "prisma-axiom": "../../dist",
11 | "@prisma/client": "^4.2.1",
12 | "@types/node": "^18.7.6",
13 | "express": "^4.18.1",
14 | "prisma": "^4.2.1",
15 | "ts-node": "^10.9.1",
16 | "typescript": "^4.7.4"
17 | }
18 | }
--------------------------------------------------------------------------------
/examples/script/prisma/schema.prisma:
--------------------------------------------------------------------------------
1 | // This is your Prisma schema file,
2 | // learn more about it in the docs: https://pris.ly/d/prisma-schema
3 |
4 | generator client {
5 | provider = "prisma-client-js"
6 | previewFeatures = ["tracing"]
7 | }
8 |
9 | datasource db {
10 | provider = "postgresql"
11 | url = "postgresql://axiom-prisma:axiom-prisma@localhost:5432/axiom-prisma"
12 | }
13 |
14 | model User {
15 | id Int @id @default(autoincrement())
16 | email String @unique
17 | name String?
18 | }
19 |
--------------------------------------------------------------------------------
/jest.config.ts:
--------------------------------------------------------------------------------
1 | import { defaults } from 'jest-config';
2 | import type { Config } from '@jest/types';
3 |
4 | const config: Config.InitialOptions = {
5 | preset: 'ts-jest',
6 | testEnvironment: 'node',
7 | moduleFileExtensions: ['ts', ...defaults.moduleFileExtensions],
8 | };
9 | export default config;
10 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "prisma-axiom",
3 | "description": "Axiom observability middleware for Prisma",
4 | "license": "MIT",
5 | "main": "dist/index.js",
6 | "types": "dist/index.d.ts",
7 | "dependencies": {
8 | "@opentelemetry/exporter-trace-otlp-proto": "^0.32.0",
9 | "@opentelemetry/instrumentation": "^0.32.0",
10 | "@opentelemetry/sdk-node": "^0.33.0",
11 | "@prisma/instrumentation": "^4.2.1",
12 | "@opentelemetry/resources": "^1.6.0",
13 | "@opentelemetry/semantic-conventions": "^1.6.0"
14 | },
15 | "devDependencies": {
16 | "@types/node": "^17.0.21",
17 | "prettier": "^2.7.1",
18 | "typescript": "^4.5.5"
19 | },
20 | "version": "0.2.1",
21 | "repository": {
22 | "type": "git",
23 | "url": "git+https://github.com/axiomhq/prisma-axiom.git"
24 | },
25 | "keywords": [
26 | "axiom",
27 | "prisma",
28 | "observability",
29 | "middleware",
30 | "tracing"
31 | ],
32 | "author": "Axiom, Inc.",
33 | "contributors": [
34 | "Seif Lotfy ",
35 | "Islam Shehata ",
36 | "Arne Bahlo "
37 | ],
38 | "bugs": {
39 | "url": "https://github.com/axiomhq/prisma-axiom/issues"
40 | },
41 | "homepage": "https://github.com/axiomhq/prisma-axiom#readme",
42 | "scripts": {
43 | "build": "tsc",
44 | "prepare": "npm run build",
45 | "format": "prettier --write src/*.ts",
46 | "check-format": "prettier -c src/*.ts",
47 | "test": "jest"
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/shell.nix:
--------------------------------------------------------------------------------
1 | let pkgs = import {};
2 | in pkgs.mkShell {
3 | nativeBuildInputs = [ pkgs.nodejs-16_x ];
4 | }
5 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | import { InstrumentationOption } from '@opentelemetry/instrumentation';
2 | import { NodeSDK } from '@opentelemetry/sdk-node';
3 | import { PrismaInstrumentation } from '@prisma/instrumentation';
4 | import { Resource } from '@opentelemetry/resources';
5 | import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
6 |
7 | import { axiomTraceExporter } from './otel';
8 | import { AxiomCloudUrl, printInitializationError } from './shared';
9 |
10 | // Re-export for advanced configuration
11 | export { axiomTraceExporter } from './otel';
12 |
13 | interface AxiomConfig {
14 | axiomToken?: string;
15 | axiomUrl?: string;
16 | additionalInstrumentations?: InstrumentationOption[];
17 | }
18 |
19 | const defaultConfig: AxiomConfig = {
20 | axiomToken: process.env.AXIOM_TOKEN,
21 | axiomUrl: process.env.AXIOM_URL,
22 | additionalInstrumentations: [],
23 | };
24 |
25 | export default function withAxiom(
26 | fn: (...args: any[]) => Promise,
27 | config: AxiomConfig = defaultConfig
28 | ): (...args: any[]) => Promise {
29 | // Merge provided config with default config to fall back to environment
30 | // variables if not provided.
31 | config = { ...defaultConfig, ...config };
32 | config.axiomUrl = config.axiomUrl || AxiomCloudUrl;
33 |
34 | if (!config.axiomToken) {
35 | printInitializationError();
36 | return fn; // Return early if no token is provided.
37 | }
38 |
39 | let instrumentations: any[] = [new PrismaInstrumentation()]; // TODO: Remove any
40 | if (config.additionalInstrumentations) {
41 | instrumentations.concat(config.additionalInstrumentations);
42 | }
43 |
44 | const sdk = new NodeSDK({
45 | traceExporter: axiomTraceExporter(config.axiomToken, config.axiomUrl),
46 | instrumentations,
47 | });
48 |
49 | // Add service name + version attributes
50 | sdk.addResource(
51 | new Resource({
52 | [SemanticResourceAttributes.SERVICE_NAME]: process.env.npm_package_name,
53 | [SemanticResourceAttributes.SERVICE_VERSION]: process.env.npm_package_version,
54 | })
55 | );
56 |
57 | return async (...args: any[]) => {
58 | await sdk.start();
59 |
60 | try {
61 | const res = await fn(...args);
62 | await sdk.shutdown();
63 | return res;
64 | } catch (err) {
65 | await sdk.shutdown();
66 | throw err;
67 | }
68 | };
69 | }
70 |
--------------------------------------------------------------------------------
/src/otel.ts:
--------------------------------------------------------------------------------
1 | import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-proto';
2 | import { AxiomCloudUrl, printInitializationError } from './shared';
3 |
4 | const Version = require('../package.json').version;
5 |
6 | export function axiomTraceExporter(axiomToken?: string, axiomUrl?: string) {
7 | if (!axiomToken) {
8 | axiomToken = process.env.AXIOM_TOKEN;
9 | }
10 | if (!axiomUrl) {
11 | axiomUrl = process.env.AXIOM_URL || AxiomCloudUrl;
12 | }
13 |
14 | if (!axiomToken) {
15 | printInitializationError();
16 | return new OTLPTraceExporter();
17 | }
18 |
19 | return new OTLPTraceExporter({
20 | url: axiomUrl + '/api/v1/traces',
21 | headers: {
22 | Authorization: `Bearer ${axiomToken}`,
23 | Accept: 'application/json',
24 | 'User-Agent': 'prisma-axiom/' + Version,
25 | },
26 | concurrencyLimit: 10,
27 | });
28 | }
29 |
--------------------------------------------------------------------------------
/src/shared.ts:
--------------------------------------------------------------------------------
1 | export const AxiomCloudUrl = 'https://cloud.axiom.co';
2 |
3 | export function printInitializationError() {
4 | console.error('axiom: Failed to initialize prisma-axiom, you need to set an Axiom API token with ingest permission');
5 | }
6 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "CommonJS",
5 | "jsx": "react",
6 | "allowJs": false,
7 | "sourceMap": true,
8 | "strict": true,
9 | "moduleResolution": "node",
10 | "allowSyntheticDefaultImports": true,
11 | "esModuleInterop": true,
12 | "skipLibCheck": true,
13 | "forceConsistentCasingInFileNames": true,
14 | "declaration": true,
15 | "incremental": true,
16 | "noImplicitReturns": true,
17 | "noImplicitThis": true,
18 | "noImplicitAny": true,
19 | "strictPropertyInitialization": false,
20 | "suppressImplicitAnyIndexErrors": true,
21 | "noUnusedLocals": true,
22 | /* Debugging Options */
23 | "traceResolution": false /* Report module resolution log messages. */,
24 | "listEmittedFiles": false /* Print names of generated files part of the compilation. */,
25 | "listFiles": false /* Print names of files part of the compilation. */,
26 | "pretty": true /* Stylize errors and messages using color and context. */,
27 | "lib": [
28 | "es6",
29 | "dom",
30 | "es2016",
31 | "es2017"
32 | ],
33 | "outDir": "dist/"
34 | },
35 | "include": [
36 | "src/index.ts"
37 | ],
38 | "exclude": [
39 | "node_modules"
40 | ],
41 | "compileOnSave": false
42 | }
--------------------------------------------------------------------------------