1
0
mirror of synced 2026-02-04 03:01:17 -05:00

Compare commits

...

15 Commits

Author SHA1 Message Date
github-actions[bot]
6f44c2334e Version Packages (#4301)
* Version Packages

* pnpm lock

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Siddharth Suresh <siddh.suresh@gmail.com>
2024-02-17 06:33:47 +00:00
Siddharth Suresh
8a417533f6 feat: remove restriction to use secure cookies in localhost (#4300)
* feat: remove restriction to use secure cookies in localhost

* changeset

* pnpm lock fix

* Update .changeset/grumpy-deers-rest.md

* Update .changeset/grumpy-deers-rest.md

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2024-02-16 23:34:36 +00:00
Siddharth Suresh
6f54841b7a fix: getBlitzContext() can only be used in React Server Components in Nextjs 13 or higher (#4299)
* fix: remove custom errors thrown by blitz

* Create curvy-cougars-lick.md

* use require and eval rather than the await which becomes a `yield import` possibly causing the issue

* pnpm lock fix

* Update .changeset/curvy-cougars-lick.md

* add comment

* use correct error type

* Apply suggestions from code review
2024-02-16 23:27:05 +00:00
github-actions[bot]
e8f564ea66 Version Packages (#4292)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-02-06 22:30:47 +05:30
Siddharth Suresh
71b9950037 fix: ajv dependency was not installed with blitz new (#4297)
* add ajv to devDeps

* Create four-dots-retire.md
2024-02-06 22:25:55 +05:30
Siddharth Suresh
28a79040e4 feat: export BlitzServerMiddleware from blitz-next (#4296)
* feat: export `BlitzServerMiddleware` from blitz-next

* Create sixty-pants-hunt.md

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2024-02-06 22:25:36 +05:30
Siddharth Suresh
dd604c7675 perf: add filter to query only non expired sessions (#4288)
* perf: add check to make sure only non expired sessions are selected by default

* remove console.logs

* Create chatty-ants-bake.md

* remove `expiresAt` from the publicData

* remove internal from changelog

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2024-02-06 16:13:32 +00:00
Blitz.js Bot
0a8d4bfdaf (meta) added @Doc0x1 as contributor 2024-01-25 03:48:39 -05:00
Doc0x1
f25aac08c0 Added codemod support for legacy projects with a /src folder (#4290)
* Added support for legacy projects that have the pages folder located inside a /src directory

* Fixed line 687 for path.resolve(`${findPagesDirectory}/api/rpc`) not actually calling the function and added path.resolve's to findPagesDirectory

* Update for lines 56 and 1340 to add support for app and pages directories located in /src
2024-01-25 14:18:34 +05:30
github-actions[bot]
a09685a63a Version Packages (#4283)
* Version Packages

* pnpm lock fix

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Siddharth Suresh <siddh.suresh@gmail.com>
2024-01-16 16:10:03 +00:00
Siddharth Suresh
595f400e9a fix: add missing devDeps to the new app template (#4284)
* add prettier and other missing devDeps

* match the devDeps to the pages template

* Create unlucky-spoons-guess.md
2024-01-16 21:26:54 +05:30
Blitz.js Bot
6f333ee643 (meta) added @LeonMueller-OneAndOnly as contributor 2024-01-16 10:55:11 -05:00
Leonidas
956a739e83 fix<codemod-upgrade-legacy>: provide correct path to template files (#4274)
* fix<codemod-upgrade-legacy>: provide correct path to template files

* fix<codemod-upgrade-legacy>: corrected path

* fix<codemod-legacy-upgrade>: add cookiePrefix step: always errored that collection was empty => invoke it only conditionally

* Create famous-worms-grab.md

---------

Co-authored-by: Siddharth Suresh <siddh.suresh@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2024-01-16 15:55:07 +00:00
Siddharth Suresh
47722e0456 Fix: BlitzCliConfig does not work when blitz-server.ts is in /src/app directory (#4279)
* fix: search any subdirectly in `app/src` to find `blitz-server.ts`

* Create giant-knives-wonder.md

* Update packages/generator/src/generator.ts
2024-01-16 15:43:22 +00:00
Siddharth Suresh
2f5c8a3a0d fix: sodium native missing prebuilds (#4276)
* fix: copy sodium native prebuilds to `vender-chunks` and `chunks` using webpack

* Create seven-cheetahs-enjoy.md
2024-01-16 15:36:45 +00:00
65 changed files with 1121 additions and 357 deletions

View File

@@ -4014,6 +4014,26 @@
"doc",
"code"
]
},
{
"login": "LeonMueller-OneAndOnly",
"name": "Leonidas",
"avatar_url": "https://avatars.githubusercontent.com/u/77194479?v=4",
"profile": "https://flow-office.eu/",
"contributions": [
"doc",
"code"
]
},
{
"login": "Doc0x1",
"name": "Doc0x1",
"avatar_url": "https://avatars.githubusercontent.com/u/19937034?v=4",
"profile": "https://hacknex.us",
"contributions": [
"doc",
"code"
]
}
],
"contributorsPerLine": 7,

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-423-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-425-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">
@@ -747,6 +747,8 @@ Thanks to these wonderful people ([emoji key](https://allcontributors.org/docs/e
<td align="center"><a href="https://github.com/Zamfi99"><img src="https://avatars.githubusercontent.com/u/19189337?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Zamfira Costin-Andrei</b></sub></a><br /><a href="https://github.com/blitz-js/blitz/commits?author=Zamfi99" title="Documentation">📖</a> <a href="https://github.com/blitz-js/blitz/commits?author=Zamfi99" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/potikhanovsergey"><img src="https://avatars.githubusercontent.com/u/71494201?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sergey</b></sub></a><br /><a href="https://github.com/blitz-js/blitz/commits?author=potikhanovsergey" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/papsavas"><img src="https://avatars.githubusercontent.com/u/50584606?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Savvas Papageorgiadis</b></sub></a><br /><a href="https://github.com/blitz-js/blitz/commits?author=papsavas" title="Documentation">📖</a> <a href="https://github.com/blitz-js/blitz/commits?author=papsavas" title="Code">💻</a></td>
<td align="center"><a href="https://flow-office.eu/"><img src="https://avatars.githubusercontent.com/u/77194479?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Leonidas</b></sub></a><br /><a href="https://github.com/blitz-js/blitz/commits?author=LeonMueller-OneAndOnly" title="Documentation">📖</a> <a href="https://github.com/blitz-js/blitz/commits?author=LeonMueller-OneAndOnly" title="Code">💻</a></td>
<td align="center"><a href="https://hacknex.us"><img src="https://avatars.githubusercontent.com/u/19937034?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Doc0x1</b></sub></a><br /><a href="https://github.com/blitz-js/blitz/commits?author=Doc0x1" title="Documentation">📖</a> <a href="https://github.com/blitz-js/blitz/commits?author=Doc0x1" title="Code">💻</a></td>
</tr>
</table>

View File

@@ -1,5 +1,40 @@
# next-blitz-auth
## 0.1.6
### Patch Changes
- Updated dependencies [6f54841b7]
- Updated dependencies [8a417533f]
- @blitzjs/auth@2.0.5
- blitz@2.0.5
- @blitzjs/rpc@2.0.5
- @blitzjs/next@2.0.5
- @blitzjs/config@2.0.5
## 0.1.5
### Patch Changes
- Updated dependencies [dd604c767]
- Updated dependencies [28a79040e]
- @blitzjs/auth@2.0.4
- blitz@2.0.4
- @blitzjs/next@2.0.4
- @blitzjs/rpc@2.0.4
- @blitzjs/config@2.0.4
## 0.1.4
### Patch Changes
- Updated dependencies [2f5c8a3a0]
- @blitzjs/next@2.0.3
- @blitzjs/rpc@2.0.3
- blitz@2.0.3
- @blitzjs/auth@2.0.3
- @blitzjs/config@2.0.3
## 0.1.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "next-blitz-auth",
"version": "0.1.3",
"version": "0.1.6",
"private": true,
"scripts": {
"blitz:dev": "next dev",
@@ -12,15 +12,15 @@
"schema": "prisma/schema.prisma"
},
"dependencies": {
"@blitzjs/auth": "2.0.2",
"@blitzjs/config": "2.0.2",
"@blitzjs/next": "2.0.2",
"@blitzjs/rpc": "2.0.2",
"@blitzjs/auth": "2.0.5",
"@blitzjs/config": "2.0.5",
"@blitzjs/next": "2.0.5",
"@blitzjs/rpc": "2.0.5",
"@hookform/error-message": "2.0.0",
"@hookform/resolvers": "2.9.10",
"@prisma/client": "^4.5.0",
"@tanstack/react-query": "4.0.10",
"blitz": "2.0.2",
"blitz": "2.0.5",
"flatted": "3.2.7",
"next": "14.0.4",
"prisma": "^4.5.0",

View File

@@ -23,14 +23,14 @@
]
},
"dependencies": {
"@blitzjs/auth": "2.0.2",
"@blitzjs/config": "2.0.2",
"@blitzjs/next": "2.0.2",
"@blitzjs/rpc": "2.0.2",
"@blitzjs/auth": "2.0.5",
"@blitzjs/config": "2.0.5",
"@blitzjs/next": "2.0.5",
"@blitzjs/rpc": "2.0.5",
"@hookform/error-message": "2.0.0",
"@hookform/resolvers": "2.9.10",
"@prisma/client": "4.6.1",
"blitz": "2.0.2",
"blitz": "2.0.5",
"next": "14.0.4",
"openid-client": "5.2.1",
"prisma": "4.6.1",

View File

@@ -24,14 +24,14 @@
]
},
"dependencies": {
"@blitzjs/auth": "2.0.2",
"@blitzjs/config": "2.0.2",
"@blitzjs/next": "2.0.2",
"@blitzjs/rpc": "2.0.2",
"@blitzjs/auth": "2.0.5",
"@blitzjs/config": "2.0.5",
"@blitzjs/next": "2.0.5",
"@blitzjs/rpc": "2.0.5",
"@hookform/error-message": "2.0.0",
"@hookform/resolvers": "2.9.10",
"@prisma/client": "4.6.1",
"blitz": "2.0.2",
"blitz": "2.0.5",
"next": "14.0.4",
"next-auth": "4.18.7",
"prisma": "4.6.1",

View File

@@ -16,14 +16,14 @@
"schema": "./db/schema.prisma"
},
"dependencies": {
"@blitzjs/auth": "2.0.2",
"@blitzjs/config": "2.0.2",
"@blitzjs/next": "2.0.2",
"@blitzjs/rpc": "2.0.2",
"@blitzjs/auth": "2.0.5",
"@blitzjs/config": "2.0.5",
"@blitzjs/next": "2.0.5",
"@blitzjs/rpc": "2.0.5",
"@prisma/client": "4.6.1",
"@types/jest": "29.2.2",
"@types/passport-twitter": "1.0.37",
"blitz": "2.0.2",
"blitz": "2.0.5",
"jest": "29.3.0",
"jest-environment-jsdom": "29.3.0",
"next": "14.0.4",

View File

@@ -17,14 +17,14 @@
"prisma:studio": "prisma studio"
},
"dependencies": {
"@blitzjs/auth": "2.0.2",
"@blitzjs/config": "2.0.2",
"@blitzjs/next": "2.0.2",
"@blitzjs/rpc": "2.0.2",
"@blitzjs/auth": "2.0.5",
"@blitzjs/config": "2.0.5",
"@blitzjs/next": "2.0.5",
"@blitzjs/rpc": "2.0.5",
"@hookform/error-message": "2.0.0",
"@hookform/resolvers": "2.9.10",
"@prisma/client": "4.6.1",
"blitz": "2.0.2",
"blitz": "2.0.5",
"delay": "5.0.0",
"next": "14.0.4",
"prisma": "4.6.1",

View File

@@ -17,11 +17,11 @@
"prisma:studio": "prisma studio"
},
"dependencies": {
"@blitzjs/auth": "2.0.2",
"@blitzjs/config": "2.0.2",
"@blitzjs/next": "2.0.2",
"@blitzjs/auth": "2.0.5",
"@blitzjs/config": "2.0.5",
"@blitzjs/next": "2.0.5",
"@prisma/client": "4.6.1",
"blitz": "2.0.2",
"blitz": "2.0.5",
"lowdb": "3.0.0",
"next": "14.0.4",
"prisma": "4.6.1",

View File

@@ -16,11 +16,11 @@
"schema": "db/schema.prisma"
},
"dependencies": {
"@blitzjs/auth": "2.0.2",
"@blitzjs/next": "2.0.2",
"@blitzjs/rpc": "2.0.2",
"@blitzjs/auth": "2.0.5",
"@blitzjs/next": "2.0.5",
"@blitzjs/rpc": "2.0.5",
"@prisma/client": "4.6.1",
"blitz": "2.0.2",
"blitz": "2.0.5",
"lowdb": "3.0.0",
"next": "14.0.4",
"prisma": "4.6.1",
@@ -28,7 +28,7 @@
"react-dom": "18.2.0"
},
"devDependencies": {
"@blitzjs/config": "2.0.2",
"@blitzjs/config": "2.0.5",
"@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": "2.0.2",
"@blitzjs/next": "2.0.2",
"@blitzjs/rpc": "2.0.2",
"blitz": "2.0.2",
"@blitzjs/config": "2.0.5",
"@blitzjs/next": "2.0.5",
"@blitzjs/rpc": "2.0.5",
"blitz": "2.0.5",
"next": "14.0.4",
"react": "18.2.0",
"react-dom": "18.2.0"

View File

@@ -17,12 +17,12 @@
"prisma:studio": "prisma studio"
},
"dependencies": {
"@blitzjs/auth": "2.0.2",
"@blitzjs/config": "2.0.2",
"@blitzjs/next": "2.0.2",
"@blitzjs/rpc": "2.0.2",
"@blitzjs/auth": "2.0.5",
"@blitzjs/config": "2.0.5",
"@blitzjs/next": "2.0.5",
"@blitzjs/rpc": "2.0.5",
"@prisma/client": "4.6.1",
"blitz": "2.0.2",
"blitz": "2.0.5",
"lowdb": "3.0.0",
"next": "14.0.4",
"prisma": "4.6.1",

View File

@@ -16,11 +16,11 @@
"prisma:studio": "prisma studio"
},
"dependencies": {
"@blitzjs/auth": "2.0.2",
"@blitzjs/next": "2.0.2",
"@blitzjs/rpc": "2.0.2",
"@blitzjs/auth": "2.0.5",
"@blitzjs/next": "2.0.5",
"@blitzjs/rpc": "2.0.5",
"@prisma/client": "4.6.1",
"blitz": "2.0.2",
"blitz": "2.0.5",
"lowdb": "3.0.0",
"next": "14.0.4",
"prisma": "4.6.1",
@@ -28,7 +28,7 @@
"react-dom": "18.2.0"
},
"devDependencies": {
"@blitzjs/config": "2.0.2",
"@blitzjs/config": "2.0.5",
"@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": "2.0.2",
"@blitzjs/config": "2.0.2",
"@blitzjs/next": "2.0.2",
"@blitzjs/rpc": "2.0.2",
"@blitzjs/auth": "2.0.5",
"@blitzjs/config": "2.0.5",
"@blitzjs/next": "2.0.5",
"@blitzjs/rpc": "2.0.5",
"@prisma/client": "4.6.1",
"@tanstack/react-query": "4.0.10",
"blitz": "2.0.2",
"blitz": "2.0.5",
"next": "14.0.4",
"prisma": "4.6.1",
"react": "18.2.0",

View File

@@ -16,10 +16,10 @@
"schema": "db/schema.prisma"
},
"dependencies": {
"@blitzjs/next": "2.0.2",
"@blitzjs/rpc": "2.0.2",
"@blitzjs/next": "2.0.5",
"@blitzjs/rpc": "2.0.5",
"@prisma/client": "4.6.1",
"blitz": "2.0.2",
"blitz": "2.0.5",
"lowdb": "3.0.0",
"next": "14.0.4",
"prisma": "4.6.1",
@@ -27,7 +27,7 @@
"react-dom": "18.2.0"
},
"devDependencies": {
"@blitzjs/config": "2.0.2",
"@blitzjs/config": "2.0.5",
"@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": "2.0.2",
"@blitzjs/next": "2.0.2",
"@blitzjs/rpc": "2.0.2",
"blitz": "2.0.2",
"@blitzjs/config": "2.0.5",
"@blitzjs/next": "2.0.5",
"@blitzjs/rpc": "2.0.5",
"blitz": "2.0.5",
"next": "14.0.4",
"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": "2.0.2",
"@blitzjs/next": "2.0.2",
"@blitzjs/rpc": "2.0.2",
"blitz": "2.0.2",
"@blitzjs/config": "2.0.5",
"@blitzjs/next": "2.0.5",
"@blitzjs/rpc": "2.0.5",
"blitz": "2.0.5",
"next": "14.0.4",
"react": "18.2.0",
"react-dom": "18.2.0"

View File

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

View File

@@ -3,9 +3,9 @@
"version": "0.0.0",
"private": true,
"devDependencies": {
"@blitzjs/config": "workspace:2.0.2",
"@blitzjs/next": "workspace:2.0.2",
"@blitzjs/rpc": "workspace:2.0.2",
"@blitzjs/config": "workspace:2.0.5",
"@blitzjs/next": "workspace:2.0.5",
"@blitzjs/rpc": "workspace:2.0.5",
"@tanstack/react-query": "4.13.0",
"@testing-library/react": "13.4.0",
"@types/express": "4.17.13",

View File

@@ -1,5 +1,30 @@
# @blitzjs/auth
## 2.0.5
### Patch Changes
- 6f54841b7: fix: getBlitzContext() can only be used in React Server Components in Nextjs 13 or higher
- 8a417533f: fix: remove restriction to use `secure` cookies in localhost / during development following spec in [developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#restrict_access_to_cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#restrict_access_to_cookies)
- Updated dependencies [6f54841b7]
- blitz@2.0.5
## 2.0.4
### Patch Changes
- dd604c767: perf: add filter to select only non expired sessions
- Updated dependencies [dd604c767]
- Updated dependencies [28a79040e]
- blitz@2.0.4
## 2.0.3
### Patch Changes
- Updated dependencies [2f5c8a3a0]
- blitz@2.0.3
## 2.0.2
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@blitzjs/auth",
"version": "2.0.2",
"version": "2.0.5",
"homepage": "https://blitzjs.com/",
"repository": {
"type": "git",
@@ -50,7 +50,7 @@
"url": "0.11.0"
},
"peerDependencies": {
"blitz": "2.0.2",
"blitz": "2.0.5",
"next": "*",
"next-auth": "*",
"secure-password": "4.0.0"
@@ -67,7 +67,7 @@
}
},
"devDependencies": {
"@blitzjs/config": "2.0.2",
"@blitzjs/config": "2.0.5",
"@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.2",
"blitz": "2.0.5",
"next": "14.0.4",
"next-auth": "4.18.7",
"react": "18.2.0",

View File

@@ -22,7 +22,9 @@ interface IsAuthorized {
interface PrismaClientWithSession {
session: {
findFirst(args?: {where?: {handle?: SessionModel["handle"]}}): Promise<SessionModel | null>
findMany(args?: {where?: {userId?: PublicData["userId"]}}): Promise<SessionModel[]>
findMany(args?: {
where?: {userId?: PublicData["userId"]; expiresAt?: {gt?: Date}}
}): Promise<SessionModel[]>
create(args: {
data: SessionModel & {
userId?: any
@@ -42,7 +44,7 @@ export const PrismaStorage = <Client extends PrismaClientWithSession>(
): SessionConfigMethods => {
return {
getSession: (handle) => db.session.findFirst({where: {handle}}),
getSessions: (userId) => db.session.findMany({where: {userId}}),
getSessions: (userId) => db.session.findMany({where: {userId, expiresAt: {gt: new Date()}}}),
createSession: (session) => {
let user
if (session.userId) {

View File

@@ -43,7 +43,7 @@ import {Socket} from "net"
import {UrlObject} from "url"
import {formatWithValidation} from "../shared/url-utils"
export function isLocalhost(req: any): boolean {
export function isLocalhost(req: IncomingMessage): boolean {
let {host} = req.headers
let localhost = false
if (host) {
@@ -182,30 +182,36 @@ export async function getSession(
}
export async function getBlitzContext(): Promise<Ctx> {
const {headers, cookies} = await import("next/headers").catch(() => {
throw new Error(
"getBlitzContext() can only be used in React Server Components in Nextjs 13 or higher",
try {
//using eval to avoid bundling next/headers
const {headers, cookies} = eval("require('next/headers')")
const req = new IncomingMessage(new Socket()) as IncomingMessage & {
cookies: {[key: string]: string}
}
req.headers = Object.fromEntries(headers())
const csrfToken = cookies().get(COOKIE_CSRF_TOKEN())
if (csrfToken) {
req.headers[HEADER_CSRF] = csrfToken.value
}
req.cookies = Object.fromEntries(
cookies()
.getAll()
.map((c: {name: string; value: string}) => [c.name, c.value]),
)
})
const req = new IncomingMessage(new Socket()) as IncomingMessage & {
cookies: {[key: string]: string}
const res = new ServerResponse(req)
const session = await getSession(req, res, true)
const ctx: Ctx = {
session,
}
return ctx
} catch (e) {
if ((e as NodeJS.ErrnoException).code === "MODULE_NOT_FOUND") {
throw new Error(
"Usage of `useAuthenticatedBlitzContext` is supported only in next.js 13.0.0 and above. Please upgrade your next.js version.",
)
}
throw e
}
req.headers = Object.fromEntries(headers())
const csrfToken = cookies().get(COOKIE_CSRF_TOKEN())
if (csrfToken) {
req.headers[HEADER_CSRF] = csrfToken.value
}
req.cookies = Object.fromEntries(
cookies()
.getAll()
.map((c: {name: string; value: string}) => [c.name, c.value]),
)
const res = new ServerResponse(req)
const session = await getSession(req, res, true)
const ctx: Ctx = {
session,
}
return ctx
}
interface RouteUrlObject extends Pick<UrlObject, "pathname" | "query" | "href"> {
@@ -227,58 +233,64 @@ export async function useAuthenticatedBlitzContext({
})
const ctx: Ctx = await getBlitzContext()
const userId = ctx.session.userId
const {redirect} = await import("next/navigation").catch(() => {
throw new Error(
"useAuthenticatedBlitzContext() can only be used in React Server Components in Nextjs 13 or higher",
)
})
if (userId) {
debug("[useAuthenticatedBlitzContext] User is authenticated")
if (redirectAuthenticatedTo) {
if (typeof redirectAuthenticatedTo === "function") {
redirectAuthenticatedTo = redirectAuthenticatedTo(ctx)
try {
//using eval to avoid bundling next/navigation
const {redirect} = eval("require('next/navigation')")
if (userId) {
debug("[useAuthenticatedBlitzContext] User is authenticated")
if (redirectAuthenticatedTo) {
if (typeof redirectAuthenticatedTo === "function") {
redirectAuthenticatedTo = redirectAuthenticatedTo(ctx)
}
const redirectUrl =
typeof redirectAuthenticatedTo === "string"
? redirectAuthenticatedTo
: formatWithValidation(redirectAuthenticatedTo)
debug("[useAuthenticatedBlitzContext] Redirecting to", redirectUrl)
if (role) {
try {
ctx.session.$authorize(role)
} catch (e) {
log.info("Authentication Redirect: " + customChalk.dim(`Role ${role}`), redirectTo)
redirect(redirectUrl)
}
} else {
log.info("Authentication Redirect: " + customChalk.dim("(Authenticated)"), redirectUrl)
redirect(redirectUrl)
}
}
const redirectUrl =
typeof redirectAuthenticatedTo === "string"
? redirectAuthenticatedTo
: formatWithValidation(redirectAuthenticatedTo)
debug("[useAuthenticatedBlitzContext] Redirecting to", redirectUrl)
if (role) {
if (redirectTo && role) {
debug("[useAuthenticatedBlitzContext] redirectTo and role are both defined.")
try {
ctx.session.$authorize(role)
} catch (e) {
log.info("Authentication Redirect: " + customChalk.dim(`Role ${role}`), redirectTo)
redirect(redirectUrl)
log.error("Authorization Error: " + (e as Error).message)
if (typeof redirectTo !== "string") {
redirectTo = formatWithValidation(redirectTo)
}
log.info("Authorization Redirect: " + customChalk.dim(`Role ${role}`), redirectTo)
redirect(redirectTo)
}
} else {
log.info("Authentication Redirect: " + customChalk.dim("(Authenticated)"), redirectUrl)
redirect(redirectUrl)
}
}
if (redirectTo && role) {
debug("[useAuthenticatedBlitzContext] redirectTo and role are both defined.")
try {
ctx.session.$authorize(role)
} catch (e) {
log.error("Authorization Error: " + (e as Error).message)
} else {
debug("[useAuthenticatedBlitzContext] User is not authenticated")
if (redirectTo) {
if (typeof redirectTo !== "string") {
redirectTo = formatWithValidation(redirectTo)
}
log.info("Authorization Redirect: " + customChalk.dim(`Role ${role}`), redirectTo)
log.info("Authentication Redirect: " + customChalk.dim("(Not authenticated)"), redirectTo)
redirect(redirectTo)
}
}
} else {
debug("[useAuthenticatedBlitzContext] User is not authenticated")
if (redirectTo) {
if (typeof redirectTo !== "string") {
redirectTo = formatWithValidation(redirectTo)
}
log.info("Authentication Redirect: " + customChalk.dim("(Not authenticated)"), redirectTo)
redirect(redirectTo)
return ctx as AuthenticatedCtx
} catch (e) {
if ((e as NodeJS.ErrnoException).code === "MODULE_NOT_FOUND") {
throw new Error(
"Usage of `useAuthenticatedBlitzContext` is supported only in next.js 13.0.0 and above. Please upgrade your next.js version.",
)
}
throw e
}
return ctx as AuthenticatedCtx
}
const makeProxyToPublicData = <T extends SessionContextClass>(ctxClass: T): T => {
@@ -563,18 +575,13 @@ const setHeader = (res: ServerResponse, name: string, value: string) => {
}
}
const setSessionCookie = (
req: IncomingMessage,
res: ServerResponse,
sessionToken: string,
expiresAt: Date,
) => {
const setSessionCookie = (res: ServerResponse, sessionToken: string, expiresAt: Date) => {
setCookie(
res,
cookie.serialize(COOKIE_SESSION_TOKEN(), sessionToken, {
path: "/",
httpOnly: true,
secure: global.sessionConfig.secureCookies && !isLocalhost(req),
secure: global.sessionConfig.secureCookies,
sameSite: global.sessionConfig.sameSite,
domain: global.sessionConfig.domain,
expires: expiresAt,
@@ -582,18 +589,13 @@ const setSessionCookie = (
)
}
const setAnonymousSessionCookie = (
req: IncomingMessage,
res: ServerResponse,
token: string,
expiresAt: Date,
) => {
const setAnonymousSessionCookie = (res: ServerResponse, token: string, expiresAt: Date) => {
setCookie(
res,
cookie.serialize(COOKIE_ANONYMOUS_SESSION_TOKEN(), token, {
path: "/",
httpOnly: true,
secure: global.sessionConfig.secureCookies && !isLocalhost(req),
secure: global.sessionConfig.secureCookies,
sameSite: global.sessionConfig.sameSite,
domain: global.sessionConfig.domain,
expires: expiresAt,
@@ -835,11 +837,11 @@ async function createNewSession(
new Date(),
global.sessionConfig.anonSessionExpiryMinutes as number,
)
setAnonymousSessionCookie(req, res, anonymousSessionToken, expiresAt)
setAnonymousSessionCookie(res, anonymousSessionToken, expiresAt)
setCSRFCookie(req, res, antiCSRFToken, expiresAt)
setPublicDataCookie(req, res, publicDataToken, expiresAt)
// Clear the essential session cookie in case it was previously set
setSessionCookie(req, res, "", new Date(0))
setSessionCookie(res, "", new Date(0))
setHeader(res, HEADER_SESSION_CREATED, "true")
return {
@@ -891,11 +893,11 @@ async function createNewSession(
privateData: JSON.stringify(newPrivateData),
})
setSessionCookie(req, res, sessionToken, expiresAt)
setSessionCookie(res, sessionToken, expiresAt)
setCSRFCookie(req, res, antiCSRFToken, expiresAt)
setPublicDataCookie(req, res, publicDataToken, expiresAt)
// Clear the anonymous session cookie in case it was previously set
setAnonymousSessionCookie(req, res, "", new Date(0))
setAnonymousSessionCookie(res, "", new Date(0))
setHeader(res, HEADER_SESSION_CREATED, "true")
return {
@@ -943,7 +945,7 @@ async function refreshSession(
const publicDataToken = createPublicDataToken(sessionKernel.publicData)
const expiresAt = addYears(new Date(), 30)
setAnonymousSessionCookie(req, res, anonymousSessionToken, expiresAt)
setAnonymousSessionCookie(res, anonymousSessionToken, expiresAt)
setPublicDataCookie(req, res, publicDataToken, expiresAt)
} else if (global.sessionConfig.method === "essential" && "sessionToken" in sessionKernel) {
const expiresAt = addMinutes(new Date(), global.sessionConfig.sessionExpiryMinutes as number)

View File

@@ -1,5 +1,32 @@
# @blitzjs/next
## 2.0.5
### Patch Changes
- Updated dependencies [6f54841b7]
- blitz@2.0.5
- @blitzjs/rpc@2.0.5
## 2.0.4
### Patch Changes
- 28a79040e: feat: export `BlitzServerMiddleware` from blitz-next with stronger types
- Updated dependencies [dd604c767]
- Updated dependencies [28a79040e]
- blitz@2.0.4
- @blitzjs/rpc@2.0.4
## 2.0.3
### Patch Changes
- 2f5c8a3a0: Address missing sodium native prebuilds required to use secure-password during server rendering
- Updated dependencies [2f5c8a3a0]
- @blitzjs/rpc@2.0.3
- blitz@2.0.3
## 2.0.2
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@blitzjs/next",
"version": "2.0.2",
"version": "2.0.5",
"homepage": "https://blitzjs.com/",
"repository": {
"type": "git",
@@ -29,8 +29,9 @@
"eslint.js"
],
"dependencies": {
"@blitzjs/rpc": "2.0.2",
"@blitzjs/rpc": "2.0.5",
"@types/hoist-non-react-statics": "3.3.1",
"copy-webpack-plugin": "11.0.0",
"debug": "4.3.3",
"fs-extra": "10.0.1",
"hoist-non-react-statics": "3.3.2",
@@ -38,13 +39,13 @@
"supports-color": "8.1.1"
},
"peerDependencies": {
"blitz": "2.0.2",
"blitz": "2.0.5",
"next": "*",
"react": "*",
"tslog": "4.9.0"
},
"devDependencies": {
"@blitzjs/config": "2.0.2",
"@blitzjs/config": "2.0.5",
"@testing-library/dom": "8.13.0",
"@testing-library/jest-dom": "5.16.3",
"@testing-library/react": "13.4.0",
@@ -55,7 +56,7 @@
"@types/react": "18.0.25",
"@types/react-dom": "17.0.14",
"@types/testing-library__react-hooks": "4.0.0",
"blitz": "2.0.2",
"blitz": "2.0.5",
"cross-spawn": "7.0.3",
"find-up": "4.1.0",
"next": "14.0.4",

View File

@@ -22,6 +22,7 @@ import {
RouteUrlObject,
startWatcher,
stopWatcher,
RequestMiddleware,
} from "blitz"
import {
getInfiniteQueryKey,
@@ -38,6 +39,9 @@ import {withSuperJsonProps} from "./superjson"
import {ParsedUrlQuery} from "querystring"
import {PreviewData} from "next/types"
import {resolveHref} from "next/dist/client/resolve-href"
import fs from "fs"
import path from "path"
import CopyPlugin from "copy-webpack-plugin"
export * from "./index-browser"
@@ -268,6 +272,27 @@ export function withBlitz(nextConfig: BlitzConfig = {}): NextConfig {
},
})
try {
const sodiumNativePath = fs.realpathSync(path.join(require.resolve("sodium-native"), ".."))
const dotNextDirectory = `${process.cwd()}/.next`
config.plugins.push(
new CopyPlugin({
patterns: [
{
//dev
from: `${sodiumNativePath}/prebuilds/`,
to: `${dotNextDirectory}/server/vendor-chunks/prebuilds/`,
},
{
//prod
from: `${sodiumNativePath}/prebuilds/`,
to: `${dotNextDirectory}/server/chunks/prebuilds/`,
},
],
}),
)
} catch {}
if (typeof nextConfig.webpack === "function") {
return nextConfig.webpack(config, options)
}
@@ -323,3 +348,15 @@ declare module "blitz" {
prefetchInfiniteQuery: PrefetchQueryFn
}
}
export const BlitzServerMiddleware = <
TMiddleware extends RequestMiddleware<NextApiRequest, BlitzNextApiResponse> = RequestMiddleware<
NextApiRequest,
BlitzNextApiResponse
>,
>(
middleware: TMiddleware,
): BlitzServerPlugin<{}> => ({
requestMiddlewares: [middleware],
exports: () => ({}),
})

View File

@@ -1,5 +1,28 @@
# @blitzjs/rpc
## 2.0.5
### Patch Changes
- Updated dependencies [6f54841b7]
- blitz@2.0.5
## 2.0.4
### Patch Changes
- Updated dependencies [dd604c767]
- Updated dependencies [28a79040e]
- blitz@2.0.4
## 2.0.3
### Patch Changes
- 2f5c8a3a0: Address missing sodium native prebuilds required to use secure-password during server rendering
- Updated dependencies [2f5c8a3a0]
- blitz@2.0.3
## 2.0.2
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@blitzjs/rpc",
"version": "2.0.2",
"version": "2.0.5",
"homepage": "https://blitzjs.com/",
"repository": {
"type": "git",
@@ -37,18 +37,18 @@
},
"peerDependencies": {
"@tanstack/query-core": "4.24.4",
"blitz": "2.0.2",
"blitz": "2.0.5",
"next": "*",
"react": "*"
},
"devDependencies": {
"@blitzjs/auth": "2.0.2",
"@blitzjs/config": "2.0.2",
"@blitzjs/auth": "2.0.5",
"@blitzjs/config": "2.0.5",
"@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.2",
"blitz": "2.0.5",
"next": "14.0.4",
"react": "18.2.0",
"react-dom": "18.2.0",

View File

@@ -119,6 +119,7 @@ export interface InstallWebpackConfigOptions {
[key: string]: boolean | string
}
}
plugins: any[]
module: {
rules: WebpackRule[]
}

View File

@@ -1,5 +1,30 @@
# blitz
## 2.0.5
### Patch Changes
- 6f54841b7: fix: getBlitzContext() can only be used in React Server Components in Nextjs 13 or higher
- @blitzjs/generator@2.0.5
## 2.0.4
### Patch Changes
- dd604c767: perf: add filter to select only non expired sessions
- 28a79040e: feat: export `BlitzServerMiddleware` from blitz-next with stronger types
- Updated dependencies [71b995003]
- @blitzjs/generator@2.0.4
## 2.0.3
### Patch Changes
- 2f5c8a3a0: Address missing sodium native prebuilds required to use secure-password during server rendering
- Updated dependencies [47722e045]
- Updated dependencies [595f400e9]
- @blitzjs/generator@2.0.3
## 2.0.2
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "blitz",
"version": "2.0.2",
"version": "2.0.5",
"homepage": "https://blitzjs.com/",
"repository": {
"type": "git",
@@ -30,7 +30,7 @@
"blitz": "bin/blitz"
},
"dependencies": {
"@blitzjs/generator": "2.0.2",
"@blitzjs/generator": "2.0.5",
"@mrleebo/prisma-ast": "0.2.6",
"@types/global-agent": "2.1.1",
"arg": "5.0.1",
@@ -80,7 +80,7 @@
"watchpack": "2.1.1"
},
"devDependencies": {
"@blitzjs/config": "2.0.2",
"@blitzjs/config": "2.0.5",
"@types/cookie": "0.4.1",
"@types/cross-spawn": "6.0.2",
"@types/debug": "4.1.7",

View File

@@ -1,5 +1,35 @@
# @blitzjs/codemod
## 2.0.5
### Patch Changes
- Updated dependencies [6f54841b7]
- blitz@2.0.5
- @blitzjs/generator@2.0.5
## 2.0.4
### Patch Changes
- f25aac08c: Added support to codemod upgrade-legacy for projects that have their pages folder nested in a src/ folder
- Updated dependencies [dd604c767]
- Updated dependencies [71b995003]
- Updated dependencies [28a79040e]
- blitz@2.0.4
- @blitzjs/generator@2.0.4
## 2.0.3
### Patch Changes
- 956a739e8: codemod: provide correct path to new template paths
- Updated dependencies [47722e045]
- Updated dependencies [2f5c8a3a0]
- Updated dependencies [595f400e9]
- @blitzjs/generator@2.0.3
- blitz@2.0.3
## 2.0.2
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@blitzjs/codemod",
"version": "2.0.2",
"version": "2.0.5",
"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.2",
"@blitzjs/generator": "2.0.5",
"arg": "5.0.1",
"blitz": "2.0.2",
"blitz": "2.0.5",
"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": "2.0.2",
"@blitzjs/config": "2.0.5",
"@types/jscodeshift": "0.11.2",
"@types/node": "18.11.9",
"ast-types": "0.14.2",

View File

@@ -32,6 +32,12 @@ class ExpectedError extends Error {
}
}
const findPagesDirectory = () => {
const srcPagesDir = path.join("src", "pages")
const pagesDir = path.resolve("pages")
return fs.existsSync(srcPagesDir) ? path.resolve(srcPagesDir) : pagesDir
}
const isInternalBlitzMonorepoDevelopment = fs.existsSync(
path.join(__dirname, "../../../blitz-next"),
)
@@ -46,7 +52,22 @@ const upgradeLegacy = async () => {
if (blitzConfigFile === "") {
throw new ExpectedError("Could not identify Legacy Blitz Config file")
}
const appDir = path.resolve("app")
// Check if app directory exists in either app/ or src/app
const appDir = fs.existsSync(path.resolve("app"))
? path.resolve("app")
: fs.existsSync(path.resolve("src"))
? path.resolve(path.join("src", "app"))
: ""
try {
// Throw Error if appDir empty
if (appDir === "") {
throw new ExpectedError(
"Could not identify Legacy Blitz App directory in project (no app/ or src/ directory found)",
)
}
} catch (e) {
console.error(e)
}
let failedAt =
fs.existsSync(path.resolve(".migration.json")) && fs.readJSONSync("./.migration.json").failedAt
let collectedErrors: {message: string; step: number}[] = []
@@ -536,10 +557,10 @@ const upgradeLegacy = async () => {
isInternalBlitzMonorepoDevelopment ? "templates" : "dist/templates",
)
const blitzServer = fs
.readFileSync(path.join(templatePath, "app", "app", "blitz-server.ts"))
.readFileSync(path.join(templatePath, "app", "src", "app", "blitz-server.ts"))
.toString()
const blitzClient = fs
.readFileSync(path.join(templatePath, "app", "app", "blitz-client.ts"))
.readFileSync(path.join(templatePath, "app", "src", "app", "blitz-client.ts"))
.toString()
const replaceTemplateValues = (input: string) => {
@@ -584,7 +605,9 @@ const upgradeLegacy = async () => {
j.Identifier,
(node) => node.name === "cookiePrefix",
)
cookieIdentifierBlitzClient.get().parentPath.value.value.value = cookiePrefix
if (cookieIdentifierBlitzClient.length) {
cookieIdentifierBlitzClient.get().parentPath.value.value.value = cookiePrefix
}
fs.writeFileSync(
`${appDir}/blitz-client.${isTypescript ? "ts" : "js"}`,
@@ -676,7 +699,7 @@ const upgradeLegacy = async () => {
steps.push({
name: "create pages/api/rpc directory and add [[...blitz]].ts wildecard API route",
action: async () => {
const pagesDir = path.resolve("pages/api/rpc")
const pagesDir = path.resolve(`${findPagesDirectory()}/api/rpc`)
const templatePath = path.join(
require.resolve("@blitzjs/generator"),
"..",
@@ -684,7 +707,9 @@ const upgradeLegacy = async () => {
isInternalBlitzMonorepoDevelopment ? "templates" : "dist/templates",
)
const rpcRoute = fs
.readFileSync(path.join(templatePath, "app", "pages", "api", "rpc", "blitzrpcroute.ts"))
.readFileSync(
path.join(templatePath, "app", "src", "pages", "api", "rpc", "blitzrpcroute.ts"),
)
.toString()
if (!fs.existsSync(pagesDir)) {
@@ -925,7 +950,7 @@ const upgradeLegacy = async () => {
name: "convert useRouterQuery to useRouter",
action: async () => {
//First check ./pages
const pagesDir = path.resolve("pages")
const pagesDir = findPagesDirectory()
getAllFiles(pagesDir, [], [], [".ts", ".tsx", ".js", ".jsx"]).forEach((file) => {
try {
const filepath = path.resolve(pagesDir, file)
@@ -1057,7 +1082,7 @@ const upgradeLegacy = async () => {
steps.push({
name: "wrap App component with withBlitz HOC",
action: async () => {
const pagesDir = path.resolve("pages")
const pagesDir = findPagesDirectory()
const program = getCollectionFromSource(
path.join(pagesDir, `_app.${isTypescript ? "tsx" : "jsx"}`),
@@ -1107,7 +1132,7 @@ const upgradeLegacy = async () => {
steps.push({
name: "update imports in the _document file",
action: async () => {
const pagesDir = path.resolve("pages")
const pagesDir = findPagesDirectory()
if (fs.existsSync(path.join(pagesDir, `_document.${isTypescript ? "tsx" : "jsx"}`))) {
const program = getCollectionFromSource(
@@ -1187,7 +1212,7 @@ const upgradeLegacy = async () => {
steps.push({
name: "wrap getServerSideProps, getStaticProps and API handlers with gSSP, gSP, and api",
action: async () => {
const pagesDir = path.resolve("pages")
const pagesDir = findPagesDirectory()
getAllFiles(pagesDir, [], ["api"], [".ts", ".tsx", ".js", ".jsx"]).forEach((file) => {
try {
const program = getCollectionFromSource(file)
@@ -1310,7 +1335,9 @@ const upgradeLegacy = async () => {
steps.push({
name: "check for usages of invokeWithMiddleware",
action: async () => {
getAllFiles(path.resolve("pages"), [], [], [".ts", ".tsx", ".js", ".jsx"]).forEach((file) => {
const srcPagesDir = path.resolve(path.join("src/pages"))
const pagesDir = fs.existsSync(srcPagesDir) ? srcPagesDir : path.resolve("pages")
getAllFiles(pagesDir, [], [], [".ts", ".tsx", ".js", ".jsx"]).forEach((file) => {
const program = getCollectionFromSource(file)
try {
const invokeWithMiddlewarePath = findCallExpression(program, "invokeWithMiddleware")

View File

@@ -1,5 +1,11 @@
# @blitzjs/config
## 2.0.5
## 2.0.4
## 2.0.3
## 2.0.2
## 2.0.1

View File

@@ -1,7 +1,7 @@
{
"name": "@blitzjs/config",
"private": true,
"version": "2.0.2",
"version": "2.0.5",
"license": "MIT",
"dependencies": {
"@typescript-eslint/eslint-plugin": "5.42.1",

View File

@@ -1,5 +1,20 @@
# @blitzjs/generator
## 2.0.5
## 2.0.4
### Patch Changes
- 71b995003: fix: ajv dependency was not installed with blitz new
## 2.0.3
### Patch Changes
- 47722e045: Fix: search inside any subdirectory to inside `src|app` directories to find `blitz-server.ts` to use the `BlitzCliConfig` configurations.
- 595f400e9: fix: add missing `prettier`, `pretty-quick` and other missing dev dependencies in the new app template
## 2.0.2
## 2.0.1

View File

@@ -1,6 +1,6 @@
{
"name": "@blitzjs/generator",
"version": "2.0.2",
"version": "2.0.5",
"homepage": "https://blitzjs.com/",
"repository": {
"type": "git",
@@ -54,7 +54,7 @@
"zod": "3.20.2"
},
"devDependencies": {
"@blitzjs/config": "2.0.2",
"@blitzjs/config": "2.0.5",
"@juanm04/cpx": "2.0.1",
"@types/babel__core": "7.1.19",
"@types/diff": "5.0.2",

View File

@@ -35,7 +35,7 @@ export const customTemplatesBlitzConfig = async (
codemod = false,
) => {
const {globby} = await import("globby")
const blitzServer = await globby(["{app,src}/**/blitz-server.{ts,js}"], {
const blitzServer = await globby(["{app,src}/**/**/blitz-server.{ts,js}"], {
cwd: getProjectRootSync(),
})
if (blitzServer.length === 0) {

View File

@@ -39,14 +39,28 @@
"zod": "3.22.4"
},
"devDependencies": {
"@types/node": "18.11.7",
"@types/preview-email": "3.0.4",
"@types/react": "18.0.23",
"@types/react-dom": "18.0.7",
"eslint": "8.26.0",
"eslint-config-next": "13.0.0",
"@next/env": "13.4.19",
"@testing-library/jest-dom": "5.16.5",
"@testing-library/react": "13.4.0",
"@testing-library/react-hooks": "8.0.1",
"@types/node": "18.11.9",
"@types/preview-email": "2.0.1",
"@types/react": "18.0.25",
"@typescript-eslint/eslint-plugin": "5.42.1",
"@vitejs/plugin-react": "2.2.0",
"ajv": "^7.0.0",
"eslint": "8.27.0",
"eslint-config-next": "12.3.1",
"eslint-config-prettier": "8.5.0",
"husky": "8.0.2",
"jsdom": "20.0.3",
"lint-staged": "13.0.3",
"prettier": "^2.7.1",
"prettier-plugin-prisma": "4.4.0",
"pretty-quick": "3.1.3",
"preview-email": "3.0.7",
"typescript": "4.8.4"
"typescript": "^4.8.4",
"vite-tsconfig-paths": "3.6.0",
"vitest": "0.25.3"
}
}

View File

@@ -45,6 +45,7 @@
"@types/react": "18.0.25",
"@typescript-eslint/eslint-plugin": "5.42.1",
"@vitejs/plugin-react": "2.2.0",
"ajv": "^7.0.0",
"eslint": "8.27.0",
"eslint-config-next": "12.3.1",
"eslint-config-prettier": "8.5.0",

View File

@@ -25,7 +25,7 @@
"@typescript-eslint/parser": "5.9.1"
},
"devDependencies": {
"@blitzjs/config": "2.0.2",
"@blitzjs/config": "2.0.5",
"@types/react": "18.0.25",
"@types/react-dom": "17.0.14",
"react": "18.2.0",

739
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.2",
"blitz": "2.0.5",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

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

View File

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

View File

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

View File

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

View File

@@ -24,6 +24,6 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.2"
"blitz": "2.0.5"
}
}

View File

@@ -24,6 +24,6 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.2"
"blitz": "2.0.5"
}
}

View File

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

View File

@@ -22,7 +22,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.2",
"blitz": "2.0.5",
"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.2",
"blitz": "2.0.5",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

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

View File

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

View File

@@ -23,6 +23,6 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.2"
"blitz": "2.0.5"
}
}

View File

@@ -22,6 +22,6 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.2"
"blitz": "2.0.5"
}
}

View File

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

View File

@@ -22,6 +22,6 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.2"
"blitz": "2.0.5"
}
}

View File

@@ -22,7 +22,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.2",
"blitz": "2.0.5",
"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.2",
"blitz": "2.0.5",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

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

View File

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

View File

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

View File

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