1
0
mirror of synced 2026-02-04 12:08:33 -05:00

Compare commits

...

16 Commits

Author SHA1 Message Date
github-actions[bot]
e1bffdf3d6 Version Packages (beta) (#4197)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Siddharth Suresh <siddh.suresh@gmail.com>
2023-08-17 23:41:49 +05:30
Siddharth Suresh
8b01175b47 blitz-auth: useAuthenticatedBlitzContext returns AuthenticatedCtx (#4198)
Co-authored-by: Brandon Bayer <b@bayer.ws>
2023-08-17 13:29:31 +05:30
Blitz.js Bot
0f1beb55b7 (meta) added @justinsmid as contributor 2023-08-14 12:35:36 -04:00
Justin Smid
82649f3415 Upgrade tslog dependency from 4.8.2 to 4.9.0 (#4180)
Co-authored-by: Siddharth Suresh <siddh.suresh@gmail.com>
2023-08-14 22:05:31 +05:30
Blitz.js Bot
231c2ff5ab (meta) added @maciej-ka as contributor 2023-08-14 12:26:03 -04:00
Maciej Kasprzyk
47c6b62dcb docs: add a name column to generate all examples (#4181)
Co-authored-by: Siddharth Suresh <siddh.suresh@gmail.com>
2023-08-14 21:55:58 +05:30
Siddharth Suresh
cf393786c0 Fix CI: remove workspace from package.json (#4196) 2023-08-14 21:35:52 +05:30
Siddharth Suresh
8d29b8afa9 sponser: add Byteflow as a bronze sponsor 2023-08-04 00:53:41 +05:30
Siddharth Suresh
f8bf8af28f sponser: add Byteflow logo 2023-08-04 00:43:40 +05:30
github-actions[bot]
8255172940 Version Packages (beta) (#4177)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Siddharth Suresh <siddh.suresh@gmail.com>
2023-07-21 01:52:20 +05:30
Siddharth Suresh
90f1741dac blitz-auth: Update Prisma Adapter for v5 (#4174)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-07-20 22:16:28 +05:30
Siddharth Suresh
df3265b854 blitz-rpc: Cleanup Method for Event Listeners (#4173)
* feat: logic to cleanup potential memory leak

* styling: add space

* Create poor-crabs-drum.md
2023-07-20 16:36:08 +00:00
Datner
0ba2f4e77a update monorepo tooling (#4169)
* chore: add nix

This could help contributers... contribute!

* build: use turborepo pipelines for coordination

instead of hacking it with sleeps and such....

* chore: update dev script

now we're cooking with gas! no more hacks, no more awkward flags

* chore: update pnpm version requirement

you want to support v6?? then use a v6-compatible pnpm version

* chore: update pnpm-lock
2023-07-12 13:13:51 +00:00
github-actions[bot]
da76acc90a Version Packages (beta) (#4167)
* Version Packages (beta)

* pnpm lock

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Siddharth Suresh <siddh.suresh@gmail.com>
2023-07-05 20:46:08 +05:30
Siddharth Suresh
c5572bec6e blitz-auth: Fix webpack from following next-auth (#4160)
* fix webpack from following next-auth

* redo

* Create curvy-drinks-perform.md

* wrap with try catch

* fix build issue

* upgrade ci to pnpm 8

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-07-03 17:36:46 +00:00
Siddharth Suresh
727734955a Configure the Verbosity of Blitz RPC Logging (#4162)
* improve blitz rpc logging

* implement improved setup with jsdoc comments

* make it verbose by default

* change routePath to resolverName for easier use

* Update packages/blitz-rpc/src/index-server.ts

* rename to make language more inclusive

* set output as debug

* Create sixty-rockets-count.md

* Update sixty-rockets-count.md

* Update sixty-rockets-count.md

* fix verbose bug

* Apply suggestions from code review

Co-authored-by: Brandon Bayer <b@bayer.ws>

---------

Co-authored-by: Brandon Bayer <b@bayer.ws>
2023-07-03 22:57:34 +05:30
89 changed files with 2561 additions and 2419 deletions

View File

@@ -3955,6 +3955,26 @@
"doc",
"code"
]
},
{
"login": "maciej-ka",
"name": "Maciej Kasprzyk",
"avatar_url": "https://avatars.githubusercontent.com/u/5403694?v=4",
"profile": "https://github.com/maciej-ka",
"contributions": [
"doc",
"code"
]
},
{
"login": "justinsmid",
"name": "Justin Smid",
"avatar_url": "https://avatars.githubusercontent.com/u/34271675?v=4",
"profile": "https://github.com/justinsmid",
"contributions": [
"doc",
"code"
]
}
],
"contributorsPerLine": 7,

View File

@@ -0,0 +1,5 @@
---
"@blitzjs/generator": patch
---
Update examples of generate all in docs to include one column in model.

View File

@@ -0,0 +1,9 @@
---
"blitz": patch
"@blitzjs/next": patch
"@blitzjs/generator": patch
---
Upgrade tslog to `4.9.0`.
This due a [tslog issue](https://github.com/fullstack-build/tslog/issues/227) that causes tslog to crash when attempting to log an error whose constructor expects more than one argument.

View File

@@ -0,0 +1,6 @@
---
"@blitzjs/auth": patch
"blitz": patch
---
blitz-auth: Fix webpack from following next-auth

View File

@@ -0,0 +1,8 @@
---
"@blitzjs/auth": patch
"blitz": patch
---
blitz-auth: Support for Prisma v5
Internal: Make `handle` a required paramter while updating the `session` modal.

View File

@@ -0,0 +1,5 @@
---
"@blitzjs/auth": patch
---
Updated `useAuthenticatedBlitzContext` to now return `AuthenticatedCtx`

View File

@@ -0,0 +1,5 @@
---
"blitz": patch
---
blitz-rpc: Cleanup Event Listeners - Fix potential memory leak by cleaning up any residual event listeners set by blitz.

View File

@@ -74,10 +74,12 @@
"chatty-gifts-whisper",
"chilled-carrots-own",
"chilly-candles-care",
"chilly-jeans-fix",
"chilly-nails-nail",
"clean-hats-pump",
"clean-hounds-laugh",
"clean-walls-wink",
"clever-hornets-talk",
"clever-radios-lie",
"cool-doors-invent",
"cool-horses-check",
@@ -86,6 +88,7 @@
"curly-rules-speak",
"curly-seas-serve",
"curvy-days-attend",
"curvy-drinks-perform",
"cyan-bulldogs-heal",
"cyan-cars-greet",
"dirty-monkeys-greet",
@@ -113,6 +116,7 @@
"few-elephants-approve",
"few-hounds-worry",
"few-shrimps-leave",
"fifty-drinks-cry",
"flat-bees-approve",
"fluffy-coats-flow",
"fluffy-mangos-begin",
@@ -122,6 +126,7 @@
"four-meals-fry",
"four-radios-tickle",
"four-sheep-judge",
"fresh-camels-return",
"fresh-crews-chew",
"funny-cups-pay",
"fuzzy-bees-warn",
@@ -224,6 +229,7 @@
"plenty-gifts-provide",
"plenty-kiwis-greet",
"polite-lizards-love",
"poor-crabs-drum",
"poor-peas-lick",
"poor-penguins-look",
"poor-shrimps-think",
@@ -259,6 +265,7 @@
"silly-peas-work",
"silly-shoes-agree",
"six-apricots-kick",
"sixty-rockets-count",
"slimy-humans-impress",
"slimy-needles-taste",
"slow-impalas-tap",

View File

@@ -0,0 +1,68 @@
---
"@blitzjs/rpc": patch
"blitz": patch
---
### Now we can configure Blitz RPC in the following way,
In your `[[...blitz]].ts` api file you can see the following settings
```ts
logging?: {
/**
* allowList Represents the list of routes for which logging should be enabled
* If whiteList is defined then only those routes will be logged
*/
allowList?: string[]
/**
* blockList Represents the list of routes for which logging should be disabled
* If blockList is defined then all routes except those will be logged
*/
blockList?: string[]
/**
* verbose Represents the flag to enable/disable logging
* If verbose is true then Blitz RPC will log the input and output of each resolver
*/
verbose?: boolean
/**
* disablelevel Represents the flag to enable/disable logging for a particular level
*/
disablelevel?: "debug" | "info"
}
```
```ts
import { rpcHandler } from "@blitzjs/rpc"
import { api } from "src/blitz-server"
export default api(
rpcHandler({
onError: console.log,
formatError: (error) => {
error.message = `FormatError handler: ${error.message}`
return error
},
logging: {
...
}
})
)
```
Example:
```ts
export default api(
rpcHandler({
onError: console.log,
formatError: (error) => {
error.message = `FormatError handler: ${error.message}`
return error
},
logging: {
verbose: true,
blockList: ["getCurrentUser", ...], //just write the resolver name [which is the resolver file name]
},
})
)
```
This is enable verbose blitz rpc logging for all resolvers except the resolvers `getCurrentUser` and others mentioned in the `blockList`

View File

@@ -19,7 +19,7 @@ jobs:
- uses: actions/checkout@v2
- uses: pnpm/action-setup@v2.2.4
with:
version: 7.33.0
version: 8.6.5
- name: Setup node
uses: actions/setup-node@v2
with:
@@ -40,7 +40,7 @@ jobs:
- uses: actions/checkout@v2
- uses: pnpm/action-setup@v2.2.4
with:
version: 7.33.0
version: 8.6.5
- name: Setup node
uses: actions/setup-node@v2
with:
@@ -70,7 +70,7 @@ jobs:
- name: Setup PNPM
uses: pnpm/action-setup@v2.2.4
with:
version: 7.33.0
version: 8.6.5
- name: Setup node@16
uses: actions/setup-node@v2
@@ -129,12 +129,12 @@ jobs:
- name: Setup PNPM
uses: pnpm/action-setup@v2.2.4
with:
version: 7.33.0
version: 8.6.5
- name: Setup node@${{ matrix.NODE_VERSION }}
- name: Setup node@18
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.NODE_VERSION }}
node-version: 18
cache: "pnpm"
- name: Install dependencies

1
.npmrc
View File

@@ -1,4 +1,5 @@
save-exact=true
dedupe-peer-dependents=true
strict-peer-dependencies=false
public-hoist-pattern[]=secure-password

View File

@@ -6,7 +6,7 @@
<img alt="" src="https://img.shields.io/badge/Join%20our%20community-6700EB.svg?style=for-the-badge&labelColor=000000&logoWidth=20&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAQ9SURBVHgB7d3dVdtAEIbhcSpICUoH0IEogQqSVBBSAU4FSSpIOoAORAfQgSghHXzZ1U/YcMD4R9rZmf2ec3y448LyiNf27iLiGIAmPLrweC9Un3DhrzG6EarLNP09nlwJ1SOZ/lQr5N80/S/p2QMVCBf5N17XCfm1Y/rBHqjAG9PPHvBsz+mf9WAP+HLA9M/YA14cOP2payH7jpj+VCtk1wnTP+vj7xCy6cTpn7EHLMLp059iD1iD8eveJbVCNsSLheX1YA/YgOWnf8YeKB3Wmf7Ud6Fy4f/FHmtpxbl3YlC4MJ/Cj0bWdwPnPbARg+L0S54XQHS32WwuxClzd4CM0z9rPfeAuTtA5ulPXYQ7wZ04Y+oOoDD9KZc9YOoOoDj9s4dwFzgXR6w1wIPoOvPWA9buAHEJ173o3gWiy3AnuBUHLEbgmYwvAk1/wuM8vAgexThzbwPDkx7/DHwVXfFOxP2GmsKd4Ab6zPeAyU8CI7AHFmH2BRCBPXAyk18GzUrqAXCTiR4ssyj0VFw/oCU8+e+RZ33AWz6KMaYbIIWxB+JSLs1bsbkeMN0AqakHvoku9oA2sAfqBvbAQdw0QArsgb25aYBUQT3QgT2gB+yBuqGcHij2UCqXDZACe2Anlw2QYg/QAOyBuoE98CL3DZDCuK4/rh/Q7oGL6U+TOvcNkJoijN8X1C48+T+g75eQDrAH/qmqAVJgDwyqaoAUe4AGYA/UDZX3QLUNkEIZPRCd5+6BahsgVUgPROwBTSijB7jpVAvGHriHvmw9wAZ4BpX1ABvgmakHtPcbRuwBTWAPULgAV9D/jKDY9YRvwvgEaurD44uQHvAol7qBW7WKluVtIHiUS7GyvA0s6CiXDnxrpQfsgbqBS7GKk/2jYHCrVlGyfxTMrVo0ALdq1Q3sgSKofh0M9oA61a+D2QM0AHugbmAPqClmSRjK2apVVQ8UsySsoK1aHdgDesCtWnUDeyCrIpeFg1u3sylyWTi3btMA7IG6gT2wuuK3hoE9sKrit4YVslWLPaAN7IG6ocKt2zmY2h4O9sDiTG0PZw/QANy6XTewBxZj9ogYVHy025LMHhEz9cBn0We6B0yfERReBLfhx0/R1YQHPx/QBPbA0VwcEwf2wNFcHBPHHjiem3MC2QPHcXdSaJjA+KfgTPQ8hhfjBzHC40mhlzJ+Xq9lK4a4PCs43AVaGTed5mZq+iOXZwWHi3AnOj2wFWNcnxYe7gTxLtBKHuamP/J+Wnh8a5irB7ZC5Yk9gPX1QuXC+usHWqGyhYvUYR0a7zboUOFCNVhnk0krZAOW7wFOvzXhom2xnEbIHizTA1wEYhWW6YFGyC6c1gOcfg9wfA80Qj7g8B7g9HuCww+haIR8wf49wOn3Cvv9k8tGyC/s7gFOv3fY3QONkH+v9MBWqB7PeqDn9FcIT//kcitUn6kHOu/T/xfWzlQy3dEHhwAAAABJRU5ErkJggg==">
</a>
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
<a aria-label="All Contributors" href="#contributors-"><img alt="" src="https://img.shields.io/badge/all_contributors-417-17BB8A.svg?style=for-the-badge&labelColor=000000"></a>
<a aria-label="All Contributors" href="#contributors-"><img alt="" src="https://img.shields.io/badge/all_contributors-419-17BB8A.svg?style=for-the-badge&labelColor=000000"></a>
<!-- ALL-CONTRIBUTORS-BADGE:END -->
<a aria-label="License" href="https://github.com/blitz-js/blitz/blob/main/LICENSE">
<img alt="" src="https://img.shields.io/npm/l/blitz.svg?style=for-the-badge&labelColor=000000&color=blue">
@@ -94,6 +94,11 @@ Your financial contributions help ensure Blitz continues to be developed and mai
<td><a aria-label="Boostry" href="https://boostry.co.jp/?utm_source=BlitzJS&utm_medium=sponsorship&utm_campaign=BlitzJS_Sponsorship_2021">
<img alt="" src="https://raw.githubusercontent.com/blitz-js/blitz/main/assets/boostry.svg" width="200px">
</a></td>
<td>
<a aria-label="Byteflow" href="https://byteflow.app/?ref=blitzjs">
<img alt="" src="https://raw.githubusercontent.com/blitz-js/blitz/main/assets/Byteflow.png" width="70px">
</a>
</td>
</tr>
</table>
@@ -732,6 +737,8 @@ Thanks to these wonderful people ([emoji key](https://allcontributors.org/docs/e
<td align="center"><a href="https://github.com/nerixim"><img src="https://avatars.githubusercontent.com/u/26106502?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nikita Kamaev</b></sub></a><br /><a href="https://github.com/blitz-js/blitz/commits?author=nerixim" title="Documentation">📖</a></td>
<td align="center"><a href="https://webredone.com/"><img src="https://avatars.githubusercontent.com/u/11588823?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nikola Ivanov</b></sub></a><br /><a href="https://github.com/blitz-js/blitz/commits?author=nikola-wd" title="Documentation">📖</a></td>
<td align="center"><a href="jayu.dev"><img src="https://avatars.githubusercontent.com/u/11561585?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jakub Mazurek</b></sub></a><br /><a href="https://github.com/blitz-js/blitz/commits?author=jayu" title="Documentation">📖</a> <a href="https://github.com/blitz-js/blitz/commits?author=jayu" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/maciej-ka"><img src="https://avatars.githubusercontent.com/u/5403694?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Maciej Kasprzyk</b></sub></a><br /><a href="https://github.com/blitz-js/blitz/commits?author=maciej-ka" title="Documentation">📖</a> <a href="https://github.com/blitz-js/blitz/commits?author=maciej-ka" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/justinsmid"><img src="https://avatars.githubusercontent.com/u/34271675?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Justin Smid</b></sub></a><br /><a href="https://github.com/blitz-js/blitz/commits?author=justinsmid" title="Documentation">📖</a> <a href="https://github.com/blitz-js/blitz/commits?author=justinsmid" title="Code">💻</a></td>
</tr>
</table>

View File

@@ -1,5 +1,41 @@
# next-blitz-auth
## 0.1.1-beta.8
### Patch Changes
- Updated dependencies [82649f341]
- Updated dependencies [8b01175b4]
- blitz@2.0.0-beta.32
- @blitzjs/next@2.0.0-beta.32
- @blitzjs/auth@2.0.0-beta.32
- @blitzjs/rpc@2.0.0-beta.32
- @blitzjs/config@2.0.0-beta.32
## 0.1.1-beta.7
### Patch Changes
- Updated dependencies [90f1741da]
- Updated dependencies [df3265b85]
- @blitzjs/auth@2.0.0-beta.31
- blitz@2.0.0-beta.31
- @blitzjs/rpc@2.0.0-beta.31
- @blitzjs/next@2.0.0-beta.31
- @blitzjs/config@2.0.0-beta.31
## 0.1.1-beta.6
### Patch Changes
- Updated dependencies [c5572bec6]
- Updated dependencies [727734955]
- @blitzjs/auth@2.0.0-beta.30
- blitz@2.0.0-beta.30
- @blitzjs/rpc@2.0.0-beta.30
- @blitzjs/next@2.0.0-beta.30
- @blitzjs/config@2.0.0-beta.30
## 0.1.1-beta.5
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "next-blitz-auth",
"version": "0.1.1-beta.5",
"version": "0.1.1-beta.8",
"private": true,
"scripts": {
"blitz:dev": "next dev",
@@ -9,15 +9,15 @@
"lint": "next lint"
},
"dependencies": {
"@blitzjs/auth": "workspace:*",
"@blitzjs/config": "workspace:*",
"@blitzjs/next": "workspace:*",
"@blitzjs/rpc": "workspace:*",
"@blitzjs/auth": "2.0.0-beta.32",
"@blitzjs/config": "2.0.0-beta.32",
"@blitzjs/next": "2.0.0-beta.32",
"@blitzjs/rpc": "2.0.0-beta.32",
"@hookform/error-message": "2.0.0",
"@hookform/resolvers": "2.9.10",
"@prisma/client": "^4.5.0",
"@tanstack/react-query": "4.0.10",
"blitz": "workspace:*",
"blitz": "2.0.0-beta.32",
"flatted": "3.2.7",
"next": "13.3.0",
"prisma": "^4.5.0",

View File

@@ -23,14 +23,14 @@
]
},
"dependencies": {
"@blitzjs/auth": "workspace:*",
"@blitzjs/config": "workspace:*",
"@blitzjs/next": "workspace:*",
"@blitzjs/rpc": "workspace:*",
"@blitzjs/auth": "2.0.0-beta.32",
"@blitzjs/config": "2.0.0-beta.32",
"@blitzjs/next": "2.0.0-beta.32",
"@blitzjs/rpc": "2.0.0-beta.32",
"@hookform/error-message": "2.0.0",
"@hookform/resolvers": "2.9.10",
"@prisma/client": "4.6.1",
"blitz": "workspace:2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"next": "13.3.0",
"openid-client": "5.2.1",
"prisma": "4.6.1",

View File

@@ -24,14 +24,14 @@
]
},
"dependencies": {
"@blitzjs/auth": "workspace:*",
"@blitzjs/config": "workspace:*",
"@blitzjs/next": "workspace:*",
"@blitzjs/rpc": "workspace:*",
"@blitzjs/auth": "2.0.0-beta.32",
"@blitzjs/config": "2.0.0-beta.32",
"@blitzjs/next": "2.0.0-beta.32",
"@blitzjs/rpc": "2.0.0-beta.32",
"@hookform/error-message": "2.0.0",
"@hookform/resolvers": "2.9.10",
"@prisma/client": "4.6.1",
"blitz": "workspace:2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"next": "13.3.0",
"next-auth": "4.18.7",
"prisma": "4.6.1",

View File

@@ -8,5 +8,9 @@ export default api(
error.message = `FormatError handler: ${error.message}`
return error
},
// logging: {
// verbose: true,
// blockList: ["/getCurrentUser"],
// },
})
)

View File

@@ -99,7 +99,7 @@ const Home: BlitzPage = () => {
<div className={styles.code}>
<span>1</span>
<pre>
<code>blitz generate all project</code>
<code>blitz generate all project name:string</code>
</pre>
</div>

View File

@@ -16,14 +16,14 @@
"schema": "./db/schema.prisma"
},
"dependencies": {
"@blitzjs/auth": "workspace:*",
"@blitzjs/config": "workspace:*",
"@blitzjs/next": "workspace:*",
"@blitzjs/rpc": "workspace:*",
"@blitzjs/auth": "2.0.0-beta.32",
"@blitzjs/config": "2.0.0-beta.32",
"@blitzjs/next": "2.0.0-beta.32",
"@blitzjs/rpc": "2.0.0-beta.32",
"@prisma/client": "4.6.1",
"@types/jest": "29.2.2",
"@types/passport-twitter": "1.0.37",
"blitz": "workspace:*",
"blitz": "2.0.0-beta.32",
"jest": "29.3.0",
"jest-environment-jsdom": "29.3.0",
"next": "13.3.0",

BIN
assets/Byteflow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

61
flake.lock generated Normal file
View File

@@ -0,0 +1,61 @@
{
"nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1687709756,
"narHash": "sha256-Y5wKlQSkgEK2weWdOu4J3riRd+kV/VCgHsqLNTTWQ/0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1688221086,
"narHash": "sha256-cdW6qUL71cNWhHCpMPOJjlw0wzSRP0pVlRn2vqX/VVg=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "cd99c2b3c9f160cd004318e0697f90bbd5960825",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

39
flake.nix Normal file
View File

@@ -0,0 +1,39 @@
{
description = "The Blitzjs Monorepo";
nixConfig.bash-prompt = "\[nix:blitz\]$ ";
inputs = {
nixpkgs = {
url = "github:nixos/nixpkgs/nixpkgs-unstable";
};
flake-utils = {
url = "github:numtide/flake-utils";
};
};
outputs = {
nixpkgs,
flake-utils,
...
}:
flake-utils.lib.eachDefaultSystem (system: let
pkgs = nixpkgs.legacyPackages.${system};
in {
formatter = pkgs.alejandra;
devShells = {
default = pkgs.mkShell {
buildInputs = with pkgs; [
nodejs-18_x
];
shellHook = ''
mkdir -p $out/bin
${pkgs.nodejs-18_x}/bin/corepack enable --install-directory $out/bin
export PATH="$out/bin:$PATH"
'';
};
};
});
}

View File

@@ -17,14 +17,14 @@
"prisma:studio": "prisma studio"
},
"dependencies": {
"@blitzjs/auth": "workspace:2.0.0-beta.29",
"@blitzjs/config": "workspace:2.0.0-beta.29",
"@blitzjs/next": "workspace:2.0.0-beta.29",
"@blitzjs/rpc": "workspace:2.0.0-beta.29",
"@blitzjs/auth": "2.0.0-beta.32",
"@blitzjs/config": "2.0.0-beta.32",
"@blitzjs/next": "2.0.0-beta.32",
"@blitzjs/rpc": "2.0.0-beta.32",
"@hookform/error-message": "2.0.0",
"@hookform/resolvers": "2.9.10",
"@prisma/client": "4.6.1",
"blitz": "workspace:2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"delay": "5.0.0",
"next": "13.3.0",
"prisma": "4.6.1",

View File

@@ -17,11 +17,11 @@
"prisma:studio": "prisma studio"
},
"dependencies": {
"@blitzjs/auth": "workspace:2.0.0-beta.29",
"@blitzjs/config": "workspace:2.0.0-beta.29",
"@blitzjs/next": "workspace:2.0.0-beta.29",
"@blitzjs/auth": "2.0.0-beta.32",
"@blitzjs/config": "2.0.0-beta.32",
"@blitzjs/next": "2.0.0-beta.32",
"@prisma/client": "4.6.1",
"blitz": "workspace:2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"lowdb": "3.0.0",
"next": "13.3.0",
"prisma": "4.6.1",

View File

@@ -43,7 +43,7 @@ const runTests = (mode?: string) => {
const browser = await webdriver(appPort, "/authenticated-page")
let errorMsg = await browser.elementById(`error`).text()
expect(errorMsg).toMatch(/Error: You are not authenticated/)
if (browser) browser.close()
if (browser) void browser.close()
},
5000 * 60 * 2,
)

View File

@@ -16,11 +16,11 @@
"schema": "db/schema.prisma"
},
"dependencies": {
"@blitzjs/auth": "workspace:2.0.0-beta.29",
"@blitzjs/next": "workspace:2.0.0-beta.29",
"@blitzjs/rpc": "workspace:2.0.0-beta.29",
"@blitzjs/auth": "2.0.0-beta.32",
"@blitzjs/next": "2.0.0-beta.32",
"@blitzjs/rpc": "2.0.0-beta.32",
"@prisma/client": "4.6.1",
"blitz": "workspace:2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"lowdb": "3.0.0",
"next": "13.3.0",
"prisma": "4.6.1",
@@ -28,7 +28,7 @@
"react-dom": "18.2.0"
},
"devDependencies": {
"@blitzjs/config": "workspace:2.0.0-beta.29",
"@blitzjs/config": "2.0.0-beta.32",
"@next/bundle-analyzer": "12.0.8",
"@types/express": "4.17.13",
"@types/fs-extra": "9.0.13",

View File

@@ -11,10 +11,10 @@
"clean": "rm -rf .turbo && rm -rf node_modules && rm -rf .next"
},
"dependencies": {
"@blitzjs/config": "workspace:2.0.0-beta.29",
"@blitzjs/next": "workspace:2.0.0-beta.29",
"@blitzjs/rpc": "workspace:2.0.0-beta.29",
"blitz": "workspace:2.0.0-beta.29",
"@blitzjs/config": "2.0.0-beta.32",
"@blitzjs/next": "2.0.0-beta.32",
"@blitzjs/rpc": "2.0.0-beta.32",
"blitz": "2.0.0-beta.32",
"next": "13.3.0",
"react": "18.2.0",
"react-dom": "18.2.0"

View File

@@ -17,12 +17,12 @@
"prisma:studio": "prisma studio"
},
"dependencies": {
"@blitzjs/auth": "workspace:2.0.0-beta.29",
"@blitzjs/config": "workspace:2.0.0-beta.29",
"@blitzjs/next": "workspace:2.0.0-beta.29",
"@blitzjs/rpc": "workspace:2.0.0-beta.29",
"@blitzjs/auth": "2.0.0-beta.32",
"@blitzjs/config": "2.0.0-beta.32",
"@blitzjs/next": "2.0.0-beta.32",
"@blitzjs/rpc": "2.0.0-beta.32",
"@prisma/client": "4.6.1",
"blitz": "workspace:2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"lowdb": "3.0.0",
"next": "13.3.0",
"prisma": "4.6.1",

View File

@@ -16,11 +16,11 @@
"prisma:studio": "prisma studio"
},
"dependencies": {
"@blitzjs/auth": "workspace:2.0.0-beta.29",
"@blitzjs/next": "workspace:2.0.0-beta.29",
"@blitzjs/rpc": "workspace:2.0.0-beta.29",
"@blitzjs/auth": "2.0.0-beta.32",
"@blitzjs/next": "2.0.0-beta.32",
"@blitzjs/rpc": "2.0.0-beta.32",
"@prisma/client": "4.6.1",
"blitz": "workspace:2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"lowdb": "3.0.0",
"next": "13.3.0",
"prisma": "4.6.1",
@@ -28,7 +28,7 @@
"react-dom": "18.2.0"
},
"devDependencies": {
"@blitzjs/config": "workspace:2.0.0-beta.29",
"@blitzjs/config": "2.0.0-beta.32",
"@next/bundle-analyzer": "12.0.8",
"@types/express": "4.17.13",
"@types/fs-extra": "9.0.13",

View File

@@ -8,13 +8,13 @@
"clean": "rm -rf .turbo && rm -rf node_modules"
},
"dependencies": {
"@blitzjs/auth": "workspace:2.0.0-beta.29",
"@blitzjs/config": "workspace:2.0.0-beta.29",
"@blitzjs/next": "workspace:2.0.0-beta.29",
"@blitzjs/rpc": "workspace:2.0.0-beta.29",
"@blitzjs/auth": "2.0.0-beta.32",
"@blitzjs/config": "2.0.0-beta.32",
"@blitzjs/next": "2.0.0-beta.32",
"@blitzjs/rpc": "2.0.0-beta.32",
"@prisma/client": "4.6.1",
"@tanstack/react-query": "4.0.10",
"blitz": "workspace:2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"next": "13.3.0",
"prisma": "4.6.1",
"react": "18.2.0",

View File

@@ -16,10 +16,10 @@
"schema": "db/schema.prisma"
},
"dependencies": {
"@blitzjs/next": "workspace:2.0.0-beta.29",
"@blitzjs/rpc": "workspace:2.0.0-beta.29",
"@blitzjs/next": "2.0.0-beta.32",
"@blitzjs/rpc": "2.0.0-beta.32",
"@prisma/client": "4.6.1",
"blitz": "workspace:2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"lowdb": "3.0.0",
"next": "13.3.0",
"prisma": "4.6.1",
@@ -27,7 +27,7 @@
"react-dom": "18.2.0"
},
"devDependencies": {
"@blitzjs/config": "workspace:2.0.0-beta.29",
"@blitzjs/config": "2.0.0-beta.32",
"@next/bundle-analyzer": "12.0.8",
"@types/express": "4.17.13",
"@types/fs-extra": "9.0.13",

View File

@@ -7,10 +7,10 @@
"clean": "rm -rf .turbo && rm -rf node_modules && rm -rf .next"
},
"dependencies": {
"@blitzjs/config": "workspace:2.0.0-beta.29",
"@blitzjs/next": "workspace:2.0.0-beta.29",
"@blitzjs/rpc": "workspace:2.0.0-beta.29",
"blitz": "workspace:2.0.0-beta.29",
"@blitzjs/config": "2.0.0-beta.32",
"@blitzjs/next": "2.0.0-beta.32",
"@blitzjs/rpc": "2.0.0-beta.32",
"blitz": "2.0.0-beta.32",
"next": "13.3.0",
"react": "18.2.0",
"react-dom": "18.2.0"

View File

@@ -7,10 +7,10 @@
"clean": "rm -rf .turbo && rm -rf node_modules && rm -rf .next"
},
"dependencies": {
"@blitzjs/config": "workspace:2.0.0-beta.29",
"@blitzjs/next": "workspace:2.0.0-beta.29",
"@blitzjs/rpc": "workspace:2.0.0-beta.29",
"blitz": "workspace:2.0.0-beta.29",
"@blitzjs/config": "2.0.0-beta.32",
"@blitzjs/next": "2.0.0-beta.32",
"@blitzjs/rpc": "2.0.0-beta.32",
"blitz": "2.0.0-beta.32",
"next": "13.3.0",
"react": "18.2.0",
"react-dom": "18.2.0"

View File

@@ -16,11 +16,11 @@
"schema": "db/schema.prisma"
},
"dependencies": {
"@blitzjs/auth": "workspace:2.0.0-beta.29",
"@blitzjs/next": "workspace:2.0.0-beta.29",
"@blitzjs/rpc": "workspace:2.0.0-beta.29",
"@blitzjs/auth": "2.0.0-beta.32",
"@blitzjs/next": "2.0.0-beta.32",
"@blitzjs/rpc": "2.0.0-beta.32",
"@prisma/client": "4.6.1",
"blitz": "workspace:2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"lowdb": "3.0.0",
"next": "13.3.0",
"prisma": "4.6.1",
@@ -28,7 +28,7 @@
"react-dom": "18.2.0"
},
"devDependencies": {
"@blitzjs/config": "workspace:2.0.0-beta.29",
"@blitzjs/config": "2.0.0-beta.32",
"@next/bundle-analyzer": "12.0.8",
"@types/express": "4.17.13",
"@types/fs-extra": "9.0.13",

View File

@@ -13,7 +13,7 @@
"prepare": "husky install",
"build": "turbo run build",
"build:apps": "turbo run buildapp --concurrency=1",
"dev": "turbo run dev --no-cache --parallel",
"dev": "turbo run dev --filter='./packages/*'",
"lint": "turbo run lint",
"test": "turbo run test",
"clean": "turbo run clean && rm -rf node_modules",
@@ -34,12 +34,12 @@
"prettier": "^2.7.1",
"prettier-plugin-prisma": "4.4.0",
"pretty-quick": "3.1.3",
"turbo": "1.4.2",
"turbo": "1.10.7",
"vitest": "0.25.3",
"wait-on": "6.0.1"
},
"npmClient": "pnpm",
"packageManager": "pnpm@7.11.0",
"packageManager": "pnpm@8.6.6",
"manypkg": {
"ignoredRules": [
"EXTERNAL_MISMATCH"

View File

@@ -1,5 +1,34 @@
# @blitzjs/auth
## 2.0.0-beta.32
### Patch Changes
- 8b01175b4: Updated `useAuthenticatedBlitzContext` to now return `AuthenticatedCtx`
- Updated dependencies [82649f341]
- blitz@2.0.0-beta.32
## 2.0.0-beta.31
### Patch Changes
- 90f1741da: blitz-auth: Support for Prisma v5
Internal: Make `handle` a required paramter while updating the `session` modal.
- Updated dependencies [90f1741da]
- Updated dependencies [df3265b85]
- blitz@2.0.0-beta.31
## 2.0.0-beta.30
### Patch Changes
- c5572bec6: blitz-auth: Fix webpack from following next-auth
- Updated dependencies [c5572bec6]
- Updated dependencies [727734955]
- blitz@2.0.0-beta.30
## 2.0.0-beta.29
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@blitzjs/auth",
"version": "2.0.0-beta.29",
"version": "2.0.0-beta.32",
"homepage": "https://blitzjs.com/",
"repository": {
"type": "git",
@@ -50,7 +50,7 @@
"url": "0.11.0"
},
"peerDependencies": {
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"next": "*",
"next-auth": "*",
"secure-password": "4.0.0"
@@ -67,7 +67,7 @@
}
},
"devDependencies": {
"@blitzjs/config": "workspace:2.0.0-beta.29",
"@blitzjs/config": "2.0.0-beta.32",
"@testing-library/react": "13.4.0",
"@testing-library/react-hooks": "8.0.1",
"@types/cookie": "0.4.1",
@@ -75,7 +75,7 @@
"@types/jsonwebtoken": "8.5.8",
"@types/react": "18.0.25",
"@types/react-dom": "17.0.14",
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"next": "13.3.0",
"next-auth": "4.18.7",
"react": "18.2.0",

View File

@@ -1,27 +1,30 @@
//@ts-nocheck
import fs from "fs-extra"
import path from "path"
export function withNextAuthAdapter(nextConfig) {
const config = Object.assign({}, nextConfig)
const nextAuthPath = path.dirname(require.resolve("next-auth"))
const webpack = (config) => {
config.resolve.alias = {
...config.resolve.alias,
"next-auth/core/lib/oauth/callback": path.join(nextAuthPath, "core/lib/oauth/callback.js"),
"next-auth/core/lib/oauth/authorization-url": path.join(
nextAuthPath,
"core/lib/oauth/authorization-url.js",
),
"next-auth/core/init": path.join(nextAuthPath, "core/init.js"),
try {
const nextAuthPath = path.dirname(require.resolve("next-auth"))
const webpack = (config) => {
config.resolve.alias = {
...config.resolve.alias,
"next-auth/core/lib/oauth/callback": path.join(nextAuthPath, "core/lib/oauth/callback.js"),
"next-auth/core/lib/oauth/authorization-url": path.join(
nextAuthPath,
"core/lib/oauth/authorization-url.js",
),
"next-auth/core/init": path.join(nextAuthPath, "core/init.js"),
}
return config
}
if (typeof nextConfig.webpack === "function") {
config.webpack = (config, options) => {
return nextConfig.webpack(webpack(config), options)
}
}
config.webpack = webpack
return config
} catch (e) {
return config
}
if (typeof nextConfig.webpack === "function") {
config.webpack = (config, options) => {
return nextConfig.webpack(webpack(config), options)
}
}
config.webpack = webpack
return config
}

View File

@@ -31,7 +31,7 @@ interface PrismaClientWithSession {
}): Promise<SessionModel>
update(args: {
data: Partial<SessionModel>
where: {handle?: SessionModel["handle"]}
where: {handle: SessionModel["handle"]}
}): Promise<SessionModel>
delete(args: {where: {handle?: SessionModel["handle"]}}): Promise<SessionModel>
}

View File

@@ -15,6 +15,7 @@ import {
log,
baseLogger,
chalk,
AuthenticatedCtx,
} from "blitz"
import {
EmptyPublicData,
@@ -219,7 +220,7 @@ export async function useAuthenticatedBlitzContext({
redirectTo?: string | RouteUrlObject
redirectAuthenticatedTo?: string | RouteUrlObject | ((ctx: Ctx) => string | RouteUrlObject)
role?: string | string[]
}): Promise<void> {
}): Promise<AuthenticatedCtx> {
const log = baseLogger().getSubLogger({name: "useAuthenticatedBlitzContext"})
const customChalk = new chalk.Instance({
level: log.settings.type === "json" ? 0 : chalk.level,
@@ -268,6 +269,7 @@ export async function useAuthenticatedBlitzContext({
redirect(redirectTo)
}
}
return ctx as AuthenticatedCtx
}
const makeProxyToPublicData = <T extends SessionContextClass>(ctxClass: T): T => {

View File

@@ -82,7 +82,7 @@ declare module "blitz" {
export interface Ctx {
session: SessionContext
}
export interface AuthenticatedMiddlewareCtx extends Omit<Ctx, "session"> {
export interface AuthenticatedCtx extends Omit<Ctx, "session"> {
session: AuthenticatedSessionContext
}
}

View File

@@ -0,0 +1,11 @@
{
"$schema": "https://turbo.build/schema.json",
"extends": ["//"],
"pipeline": {
"dev": {
"dependsOn": ["blitz#build"],
"persistent": true,
"cache": false
}
}
}

View File

@@ -1,5 +1,35 @@
# @blitzjs/next
## 2.0.0-beta.32
### Patch Changes
- 82649f341: Upgrade tslog to `4.9.0`.
This due a [tslog issue](https://github.com/fullstack-build/tslog/issues/227) that causes tslog to crash when attempting to log an error whose constructor expects more than one argument.
- Updated dependencies [82649f341]
- blitz@2.0.0-beta.32
- @blitzjs/rpc@2.0.0-beta.32
## 2.0.0-beta.31
### Patch Changes
- Updated dependencies [90f1741da]
- Updated dependencies [df3265b85]
- blitz@2.0.0-beta.31
- @blitzjs/rpc@2.0.0-beta.31
## 2.0.0-beta.30
### Patch Changes
- Updated dependencies [c5572bec6]
- Updated dependencies [727734955]
- blitz@2.0.0-beta.30
- @blitzjs/rpc@2.0.0-beta.30
## 2.0.0-beta.29
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@blitzjs/next",
"version": "2.0.0-beta.29",
"version": "2.0.0-beta.32",
"homepage": "https://blitzjs.com/",
"repository": {
"type": "git",
@@ -29,7 +29,7 @@
"eslint.js"
],
"dependencies": {
"@blitzjs/rpc": "2.0.0-beta.29",
"@blitzjs/rpc": "2.0.0-beta.32",
"@types/hoist-non-react-statics": "3.3.1",
"debug": "4.3.3",
"fs-extra": "10.0.1",
@@ -38,13 +38,13 @@
"supports-color": "8.1.1"
},
"peerDependencies": {
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"next": "*",
"react": "*",
"tslog": "*"
},
"devDependencies": {
"@blitzjs/config": "workspace:2.0.0-beta.29",
"@blitzjs/config": "2.0.0-beta.32",
"@testing-library/dom": "8.13.0",
"@testing-library/jest-dom": "5.16.3",
"@testing-library/react": "13.4.0",
@@ -55,7 +55,7 @@
"@types/react": "18.0.25",
"@types/react-dom": "17.0.14",
"@types/testing-library__react-hooks": "4.0.0",
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"cross-spawn": "7.0.3",
"find-up": "4.1.0",
"next": "13.3.0",
@@ -64,7 +64,7 @@
"react-dom": "18.2.0",
"resolve-from": "5.0.0",
"ts-jest": "27.1.4",
"tslog": "4.8.2",
"tslog": "4.9.0",
"typescript": "^4.8.4",
"unbuild": "0.7.6",
"watch": "1.0.2"

View File

@@ -0,0 +1,11 @@
{
"$schema": "https://turbo.build/schema.json",
"extends": ["//"],
"pipeline": {
"dev": {
"dependsOn": ["@blitzjs/rpc#build", "blitz#build"],
"persistent": true,
"cache": false
}
}
}

View File

@@ -1,5 +1,94 @@
# @blitzjs/rpc
## 2.0.0-beta.32
### Patch Changes
- Updated dependencies [82649f341]
- blitz@2.0.0-beta.32
## 2.0.0-beta.31
### Patch Changes
- Updated dependencies [90f1741da]
- Updated dependencies [df3265b85]
- blitz@2.0.0-beta.31
## 2.0.0-beta.30
### Patch Changes
- 727734955: ### Now we can configure Blitz RPC in the following way,
In your `[[...blitz]].ts` api file you can see the following settings
```ts
logging?: {
/**
* allowList Represents the list of routes for which logging should be enabled
* If whiteList is defined then only those routes will be logged
*/
allowList?: string[]
/**
* blockList Represents the list of routes for which logging should be disabled
* If blockList is defined then all routes except those will be logged
*/
blockList?: string[]
/**
* verbose Represents the flag to enable/disable logging
* If verbose is true then Blitz RPC will log the input and output of each resolver
*/
verbose?: boolean
/**
* disablelevel Represents the flag to enable/disable logging for a particular level
*/
disablelevel?: "debug" | "info"
}
```
```ts
import { rpcHandler } from "@blitzjs/rpc"
import { api } from "src/blitz-server"
export default api(
rpcHandler({
onError: console.log,
formatError: (error) => {
error.message = `FormatError handler: ${error.message}`
return error
},
logging: {
...
}
})
)
```
Example:
```ts
export default api(
rpcHandler({
onError: console.log,
formatError: (error) => {
error.message = `FormatError handler: ${error.message}`
return error
},
logging: {
verbose: true,
blockList: ["getCurrentUser", ...], //just write the resolver name [which is the resolver file name]
},
})
)
```
This is enable verbose blitz rpc logging for all resolvers except the resolvers `getCurrentUser` and others mentioned in the `blockList`
- Updated dependencies [c5572bec6]
- Updated dependencies [727734955]
- blitz@2.0.0-beta.30
## 2.0.0-beta.29
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@blitzjs/rpc",
"version": "2.0.0-beta.29",
"version": "2.0.0-beta.32",
"homepage": "https://blitzjs.com/",
"repository": {
"type": "git",
@@ -37,18 +37,18 @@
},
"peerDependencies": {
"@tanstack/query-core": "4.24.4",
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"next": "*",
"react": "*"
},
"devDependencies": {
"@blitzjs/auth": "2.0.0-beta.29",
"@blitzjs/config": "workspace:2.0.0-beta.29",
"@blitzjs/auth": "2.0.0-beta.32",
"@blitzjs/config": "2.0.0-beta.32",
"@tanstack/query-core": "4.24.4",
"@types/debug": "4.1.7",
"@types/react": "18.0.25",
"@types/react-dom": "17.0.14",
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"next": "13.3.0",
"react": "18.2.0",
"react-dom": "18.2.0",

View File

@@ -146,6 +146,59 @@ async function getResolverMap(): Promise<ResolverFiles | null | undefined> {
interface RpcConfig {
onError?: (error: Error) => void
formatError?: (error: Error) => Error
logging?: {
/**
* allowList Represents the list of routes for which logging should be enabled
* If allowList is defined then only those routes will be logged
*/
allowList?: string[]
/**
* blockList Represents the list of routes for which logging should be disabled
* If blockList is defined then all routes except those will be logged
*/
blockList?: string[]
/**
* verbose Represents the flag to enable/disable logging
* If verbose is true then Blitz RPC will log the input and output of each resolver
*/
verbose?: boolean
/**
* disablelevel Represents the flag to enable/disable logging for a particular level
*/
disablelevel?: "debug" | "info"
}
}
function isBlitzRPCVerbose(resolverName: string, config: RpcConfig, level: string) {
// blitz rpc is by default verbose - to keep current behaviour
if (!config.logging) {
return true
}
//if logging exists and verbose is not defined then default to true
if (config.logging && !("verbose" in config.logging)) {
return true
}
const isLevelDisabled = config.logging?.disablelevel === level
if (config.logging?.verbose) {
// If allowList array is defined then allow only those routes in allowList
if (config.logging?.allowList) {
if (config.logging?.allowList?.includes(resolverName) && !isLevelDisabled) {
return true
}
}
// If blockList array is defined then allow all routes except those in blockList
if (config.logging?.blockList) {
if (!config.logging?.blockList?.includes(resolverName) && !isLevelDisabled) {
return true
}
}
// if both allowList and blockList are not defined, then allow all routes
if (!config.logging?.allowList && !config.logging?.blockList && !isLevelDisabled) {
return true
}
return false
}
return false
}
export function rpcHandler(config: RpcConfig) {
@@ -159,10 +212,11 @@ export function rpcHandler(config: RpcConfig) {
const relativeRoutePath = (req.query.blitz as string[])?.join("/")
const routePath = "/" + relativeRoutePath
const resolverName = routePath.replace(/(\/api\/rpc)?\//, "")
const log = baseLogger().getSubLogger({
name: "blitz-rpc",
prefix: [routePath.replace(/(\/api\/rpc)?\//, "") + "()"],
prefix: [resolverName + "()"],
})
const customChalk = new chalk.Instance({
level: log.settings.type === "json" ? 0 : chalk.level,
@@ -213,11 +267,16 @@ export function rpcHandler(config: RpcConfig) {
? parse(`${req.query.meta}`)
: undefined,
})
log.info(customChalk.dim("Starting with input:"), data ? data : JSON.stringify(data))
if (isBlitzRPCVerbose(resolverName, config, "info")) {
log.info(customChalk.dim("Starting with input:"), data ? data : JSON.stringify(data))
}
const startTime = Date.now()
const result = await resolver(data, (res as any).blitzCtx)
const resolverDuration = Date.now() - startTime
log.info(customChalk.dim("Result:"), result ? result : JSON.stringify(result))
if (isBlitzRPCVerbose(resolverName, config, "debug")) {
log.debug(customChalk.dim("Result:"), result ? result : JSON.stringify(result))
}
const serializerStartTime = Date.now()
const serializedResult = superjsonSerialize(result)
@@ -231,21 +290,26 @@ export function rpcHandler(config: RpcConfig) {
result: serializedResult.meta,
},
})
log.debug(
customChalk.dim(
`Next.js serialization:${prettyMs(Date.now() - nextSerializerStartTime)}`,
),
)
if (isBlitzRPCVerbose(resolverName, config, "debug")) {
log.debug(
customChalk.dim(
`Next.js serialization:${prettyMs(Date.now() - nextSerializerStartTime)}`,
),
)
}
const serializerDuration = Date.now() - serializerStartTime
const duration = Date.now() - startTime
log.debug(
customChalk.dim(
`Finished: resolver:${prettyMs(resolverDuration)} serializer:${prettyMs(
serializerDuration,
)} total:${prettyMs(duration)}`,
),
)
if (isBlitzRPCVerbose(resolverName, config, "info")) {
log.info(
customChalk.dim(
`Finished: resolver:${prettyMs(resolverDuration)} serializer:${prettyMs(
serializerDuration,
)} total:${prettyMs(duration)}`,
),
)
}
newLine()
return

View File

@@ -1,5 +1,5 @@
import type {SessionContext, SessionContextBase} from "@blitzjs/auth"
import {Await, Ctx, EnsurePromise, AuthenticatedMiddlewareCtx} from "blitz"
import {Await, Ctx, EnsurePromise, AuthenticatedCtx} from "blitz"
import type {input as zInput, output as zOutput, ZodTypeAny} from "zod"
export type ParserType = "sync" | "async"
@@ -271,7 +271,7 @@ interface ResolverAuthorize {
<T, C = Ctx>(...args: Parameters<SessionContextBase["$authorize"]>): (
input: T,
ctx: C,
) => ResultWithContext<T, AuthenticatedMiddlewareCtx>
) => ResultWithContext<T, AuthenticatedCtx>
}
const authorize: ResolverAuthorize = (...args) => {

View File

@@ -0,0 +1,11 @@
{
"$schema": "https://turbo.build/schema.json",
"extends": ["//"],
"pipeline": {
"dev": {
"dependsOn": ["@blitzjs/auth#build", "blitz#build"],
"persistent": true,
"cache": false
}
}
}

View File

@@ -1,5 +1,101 @@
# blitz
## 2.0.0-beta.32
### Patch Changes
- 82649f341: Upgrade tslog to `4.9.0`.
This due a [tslog issue](https://github.com/fullstack-build/tslog/issues/227) that causes tslog to crash when attempting to log an error whose constructor expects more than one argument.
- Updated dependencies [47c6b62dc]
- Updated dependencies [82649f341]
- @blitzjs/generator@2.0.0-beta.32
## 2.0.0-beta.31
### Patch Changes
- 90f1741da: blitz-auth: Support for Prisma v5
Internal: Make `handle` a required paramter while updating the `session` modal.
- df3265b85: blitz-rpc: Cleanup Event Listeners - Fix potential memory leak by cleaning up any residual event listeners set by blitz.
- @blitzjs/generator@2.0.0-beta.31
## 2.0.0-beta.30
### Patch Changes
- c5572bec6: blitz-auth: Fix webpack from following next-auth
- 727734955: ### Now we can configure Blitz RPC in the following way,
In your `[[...blitz]].ts` api file you can see the following settings
```ts
logging?: {
/**
* allowList Represents the list of routes for which logging should be enabled
* If whiteList is defined then only those routes will be logged
*/
allowList?: string[]
/**
* blockList Represents the list of routes for which logging should be disabled
* If blockList is defined then all routes except those will be logged
*/
blockList?: string[]
/**
* verbose Represents the flag to enable/disable logging
* If verbose is true then Blitz RPC will log the input and output of each resolver
*/
verbose?: boolean
/**
* disablelevel Represents the flag to enable/disable logging for a particular level
*/
disablelevel?: "debug" | "info"
}
```
```ts
import { rpcHandler } from "@blitzjs/rpc"
import { api } from "src/blitz-server"
export default api(
rpcHandler({
onError: console.log,
formatError: (error) => {
error.message = `FormatError handler: ${error.message}`
return error
},
logging: {
...
}
})
)
```
Example:
```ts
export default api(
rpcHandler({
onError: console.log,
formatError: (error) => {
error.message = `FormatError handler: ${error.message}`
return error
},
logging: {
verbose: true,
blockList: ["getCurrentUser", ...], //just write the resolver name [which is the resolver file name]
},
})
)
```
This is enable verbose blitz rpc logging for all resolvers except the resolvers `getCurrentUser` and others mentioned in the `blockList`
- @blitzjs/generator@2.0.0-beta.30
## 2.0.0-beta.29
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "blitz",
"version": "2.0.0-beta.29",
"version": "2.0.0-beta.32",
"homepage": "https://blitzjs.com/",
"repository": {
"type": "git",
@@ -30,7 +30,7 @@
"blitz": "bin/blitz"
},
"dependencies": {
"@blitzjs/generator": "2.0.0-beta.29",
"@blitzjs/generator": "2.0.0-beta.32",
"@mrleebo/prisma-ast": "0.2.6",
"@types/global-agent": "2.1.1",
"arg": "5.0.1",
@@ -76,11 +76,11 @@
"tar": "6.1.11",
"ts-node": "10.9.1",
"tsconfig-paths": "4.0.0",
"tslog": "4.8.2",
"tslog": "4.9.0",
"watchpack": "2.1.1"
},
"devDependencies": {
"@blitzjs/config": "workspace:2.0.0-beta.29",
"@blitzjs/config": "2.0.0-beta.32",
"@types/cookie": "0.4.1",
"@types/cross-spawn": "6.0.2",
"@types/debug": "4.1.7",

View File

@@ -5,4 +5,5 @@ declare global {
beforeHttpRequest: BeforeHttpRequest
beforeHttpResponse: BeforeHttpResponse
}
var __BLITZ_CLEAN_UP_LISTENERS: () => void
}

View File

@@ -1,4 +1,4 @@
import {ILogObj, ISettingsParam, Logger, IMeta} from "tslog"
import {ILogObj, ISettingsParam, Logger} from "tslog"
import c from "chalk"
import {Table} from "console-table-printer"
import ora from "ora"

View File

@@ -89,13 +89,23 @@ export function reduceBlitzClientPlugins<TPlugins extends readonly ClientPlugin<
globalThis.__BLITZ_MIDDLEWARE_HOOKS = middleware
if (isClient) {
document.addEventListener("blitz:session-created", async () => {
if (globalThis.__BLITZ_CLEAN_UP_LISTENERS) {
globalThis.__BLITZ_CLEAN_UP_LISTENERS()
}
const onSessionCreated = async () => {
await Promise.all(events.onSessionCreated())
})
document.addEventListener("blitz:rpc-error", async (e) => {
}
const onRpcError = async (e: Event): Promise<void> => {
const customEvent = e as CustomEvent<Error>
await Promise.all(events.onRpcError(customEvent.detail))
})
}
document.addEventListener("blitz:session-created", onSessionCreated)
document.addEventListener("blitz:rpc-error", onRpcError)
globalThis.__BLITZ_CLEAN_UP_LISTENERS = () => {
document.removeEventListener("blitz:session-created", onSessionCreated)
document.removeEventListener("blitz:rpc-error", onRpcError)
}
}
const withPlugins = compose(...providers)

View File

@@ -2,7 +2,7 @@ import {UrlObject} from "url"
// Context for plugins to declaration merge stuff into
export interface Ctx {}
export interface AuthenticatedMiddlewareCtx {}
export interface AuthenticatedCtx {}
export type CodegenField = {
component: string
@@ -17,7 +17,7 @@ export interface RouteUrlObject extends Pick<UrlObject, "pathname" | "query" | "
href: string
}
export interface AuthenticatedMiddlewareCtx {}
export interface AuthenticatedCtx {}
export type EventHooks = {
onSessionCreated?: OnSessionCreated

11
packages/blitz/turbo.json Normal file
View File

@@ -0,0 +1,11 @@
{
"$schema": "https://turbo.build/schema.json",
"extends": ["//"],
"pipeline": {
"dev": {
"dependsOn": ["@blitzjs/generator#build"],
"persistent": true,
"cache": false
}
}
}

View File

@@ -1,5 +1,32 @@
# @blitzjs/codemod
## 2.0.0-beta.32
### Patch Changes
- Updated dependencies [47c6b62dc]
- Updated dependencies [82649f341]
- @blitzjs/generator@2.0.0-beta.32
- blitz@2.0.0-beta.32
## 2.0.0-beta.31
### Patch Changes
- Updated dependencies [90f1741da]
- Updated dependencies [df3265b85]
- blitz@2.0.0-beta.31
- @blitzjs/generator@2.0.0-beta.31
## 2.0.0-beta.30
### Patch Changes
- Updated dependencies [c5572bec6]
- Updated dependencies [727734955]
- blitz@2.0.0-beta.30
- @blitzjs/generator@2.0.0-beta.30
## 2.0.0-beta.29
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@blitzjs/codemod",
"version": "2.0.0-beta.29",
"version": "2.0.0-beta.32",
"scripts": {
"build": "unbuild",
"dev": "watch unbuild src --wait=0.2",
@@ -25,9 +25,9 @@
"@babel/plugin-proposal-class-properties": "7.17.12",
"@babel/plugin-syntax-jsx": "7.17.12",
"@babel/plugin-syntax-typescript": "7.17.12",
"@blitzjs/generator": "2.0.0-beta.29",
"@blitzjs/generator": "2.0.0-beta.32",
"arg": "5.0.1",
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"chalk": "^4.1.0",
"cross-spawn": "7.0.3",
"debug": "4.3.3",
@@ -38,7 +38,7 @@
},
"devDependencies": {
"@babel/preset-env": "7.12.10",
"@blitzjs/config": "workspace:*",
"@blitzjs/config": "2.0.0-beta.32",
"@types/jscodeshift": "0.11.2",
"@types/node": "18.11.9",
"ast-types": "0.14.2",

View File

@@ -1,5 +1,11 @@
# @blitzjs/config
## 2.0.0-beta.32
## 2.0.0-beta.31
## 2.0.0-beta.30
## 2.0.0-beta.29
## 2.0.0-beta.28

View File

@@ -1,7 +1,7 @@
{
"name": "@blitzjs/config",
"private": true,
"version": "2.0.0-beta.29",
"version": "2.0.0-beta.32",
"license": "MIT",
"dependencies": {
"@typescript-eslint/eslint-plugin": "5.42.1",

View File

@@ -1,5 +1,18 @@
# @blitzjs/generator
## 2.0.0-beta.32
### Patch Changes
- 47c6b62dc: Update examples of generate all in docs to include one column in model.
- 82649f341: Upgrade tslog to `4.9.0`.
This due a [tslog issue](https://github.com/fullstack-build/tslog/issues/227) that causes tslog to crash when attempting to log an error whose constructor expects more than one argument.
## 2.0.0-beta.31
## 2.0.0-beta.30
## 2.0.0-beta.29
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@blitzjs/generator",
"version": "2.0.0-beta.29",
"version": "2.0.0-beta.32",
"homepage": "https://blitzjs.com/",
"repository": {
"type": "git",
@@ -48,13 +48,13 @@
"prettier": "^2.7.1",
"recast": "0.20.5",
"supports-color": "8.1.1",
"tslog": "4.8.2",
"tslog": "4.9.0",
"username": "5.1.0",
"vinyl": "2.2.1",
"zod": "3.20.2"
},
"devDependencies": {
"@blitzjs/config": "2.0.0-beta.29",
"@blitzjs/config": "2.0.0-beta.32",
"@juanm04/cpx": "2.0.1",
"@types/babel__core": "7.1.19",
"@types/diff": "5.0.2",

View File

@@ -95,7 +95,7 @@ const Home: BlitzPage = () => {
<div className={styles.code}>
<span>1</span>
<pre>
<code>blitz generate all project</code>
<code>blitz generate all project name:string</code>
</pre>
</div>

View File

@@ -25,7 +25,7 @@
"@typescript-eslint/parser": "5.9.1"
},
"devDependencies": {
"@blitzjs/config": "2.0.0-beta.29",
"@blitzjs/config": "2.0.0-beta.32",
"@types/react": "18.0.25",
"@types/react-dom": "17.0.14",
"react": "18.2.0",

3923
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -23,7 +23,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

@@ -22,7 +22,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

@@ -24,7 +24,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

@@ -24,7 +24,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

@@ -22,7 +22,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

@@ -24,6 +24,6 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29"
"blitz": "2.0.0-beta.32"
}
}

View File

@@ -24,6 +24,6 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29"
"blitz": "2.0.0-beta.32"
}
}

View File

@@ -23,7 +23,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

@@ -22,7 +22,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"jscodeshift": "0.13.0",
"uuid": "^8.3.1"
},

View File

@@ -23,7 +23,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

@@ -23,7 +23,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

@@ -23,7 +23,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

@@ -23,6 +23,6 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29"
"blitz": "2.0.0-beta.32"
}
}

View File

@@ -22,6 +22,6 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29"
"blitz": "2.0.0-beta.32"
}
}

View File

@@ -23,7 +23,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

@@ -22,6 +22,6 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29"
"blitz": "2.0.0-beta.32"
}
}

View File

@@ -22,7 +22,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"jscodeshift": "0.13.0",
"uuid": "^8.3.1"
},

View File

@@ -24,7 +24,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

@@ -24,7 +24,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

@@ -22,7 +22,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

@@ -23,7 +23,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

@@ -25,7 +25,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.29",
"blitz": "2.0.0-beta.32",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

@@ -1,4 +1,5 @@
{
"$schema": "https://turbo.build/schema.json",
"pipeline": {
"buildapp": {
"dependsOn": ["^build"],
@@ -16,6 +17,7 @@
"outputs": []
},
"dev": {
"persistent": true,
"cache": false
},
"clean": {