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

Compare commits

...

15 Commits

Author SHA1 Message Date
github-actions[bot]
5a64f1c39c Version Packages (beta) (#4135)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Siddharth Suresh <siddh.suresh@gmail.com>
2023-05-01 23:33:32 +05:30
Blitz.js Bot
fa30de4599 (meta) added @gjmoed as contributor 2023-05-01 13:39:26 -04:00
G.J. Moed
3d004dc415 Adjust codegen logic for suspense patch (#4138)
Co-authored-by: Brandon Bayer <b@bayer.ws>
Co-authored-by: Siddharth Suresh <siddh.suresh@gmail.com>
2023-05-01 23:09:20 +05:30
Blitz.js Bot
08fbede75e (meta) added @dbrxnds as contributor 2023-05-01 12:30:21 -04:00
David
eda14fa8aa Add formatError property to Blitz server- & rpchandler setup (#4124)
Co-authored-by: Siddharth Suresh <siddh.suresh@gmail.com>
2023-05-01 22:00:15 +05:30
Blitz.js Bot
7e0e0f984c (meta) added @nelsonmestevao as contributor 2023-04-19 14:27:42 -04:00
Nelson Estevão
d814c2d2d8 fix: add missing key prop to LabelSelectField (#4122)
Co-authored-by: Siddharth Suresh <siddh.suresh@gmail.com>
2023-04-19 23:57:37 +05:30
Siddharth Suresh
29c2b029ac Fix: Add missing entry to expose next-auth adapter (#4133) 2023-04-19 23:45:39 +05:30
Siddharth Suresh
ed22706e5f fix (minor): Replace console.log with debug (#4132) 2023-04-19 23:44:46 +05:30
github-actions[bot]
3e8f04ed03 Version Packages (beta) (#4121)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Siddharth Suresh <siddh.suresh@gmail.com>
2023-04-10 19:24:42 +05:30
Siddharth Suresh
e82a79be50 Update the version of next in the new template from 13.2 to 13.3.0 (#4120)
Co-authored-by: Brandon Bayer <b@bayer.ws>
2023-04-10 18:45:54 +05:30
Blitz.js Bot
b1fdb63470 (meta) added @vitaliemiron as contributor 2023-04-07 12:46:27 -04:00
Vitalie
38d945a3fb fix: new app generated by blitz new causes Error: DYNAMIC_SERVER_USAGE (#4113)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-04-07 16:46:22 +00:00
Blitz.js Bot
ac587b6ac3 (meta) added @maotora as contributor 2023-04-07 12:38:51 -04:00
Maotora ᕙ(⇀‸↼‶)ᕗ
c07a13eefb Fix blitz recipe paths (#3997)
Co-authored-by: Tobias <t@tobiasjordans.de>
Co-authored-by: Siddharth Suresh <siddh.suresh@gmail.com>
2023-04-07 12:38:46 -04:00
91 changed files with 846 additions and 524 deletions

View File

@@ -3866,6 +3866,57 @@
"doc",
"code"
]
},
{
"login": "maotora",
"name": "Maotora ᕙ(⇀‸↼‶)ᕗ",
"avatar_url": "https://avatars.githubusercontent.com/u/5174884?v=4",
"profile": "https://maotoramm.com",
"contributions": [
"doc",
"code"
]
},
{
"login": "vitaliemiron",
"name": "Vitalie",
"avatar_url": "https://avatars.githubusercontent.com/u/45145592?v=4",
"profile": "https://github.com/vitaliemiron",
"contributions": [
"doc",
"code"
]
},
{
"login": "nelsonmestevao",
"name": "Nelson Estevão",
"avatar_url": "https://avatars.githubusercontent.com/u/19409687?v=4",
"profile": "https://estevao.org",
"contributions": [
"doc",
"code"
]
},
{
"login": "dbrxnds",
"name": "David",
"avatar_url": "https://avatars.githubusercontent.com/u/32268383?v=4",
"profile": "https://github.com/dbrxnds",
"contributions": [
"doc",
"code",
"test"
]
},
{
"login": "gjmoed",
"name": "G.J. Moed",
"avatar_url": "https://avatars.githubusercontent.com/u/4458993?v=4",
"profile": "https://github.com/gjmoed",
"contributions": [
"doc",
"code"
]
}
],
"contributorsPerLine": 7,

View File

@@ -0,0 +1,6 @@
---
"@blitzjs/next": minor
"@blitzjs/rpc": minor
---
Add ability to format the error on the server before returning it to the client.

View File

@@ -0,0 +1,5 @@
---
"@blitzjs/next": minor
---
Fix the DYNAMIC_SERVER_USAGE error for Next.js 13.3.1+

View File

@@ -0,0 +1,7 @@
---
"@blitzjs/recipe-chakra-ui": patch
"@blitzjs/recipe-next-ui": patch
"@blitzjs/recipe-tailwind": patch
---
This change reflects the directory change from app/pages to src/pages for the receipts chakra-ui, next-ui, tailwind. It checks for which directories exists and is compatible with either versions.

View File

@@ -0,0 +1,5 @@
---
"@blitzjs/generator": patch
---
fix: add missing key prop to LabelSelectField

View File

@@ -0,0 +1,9 @@
---
"@blitzjs/auth": patch
"@blitzjs/next": patch
"@blitzjs/rpc": patch
"blitz": patch
"@blitzjs/generator": patch
---
Update the version of next in the new template from 13.2 to 13.3.0

View File

@@ -0,0 +1,5 @@
---
"blitz": patch
---
The issue is that the version provided, "13.2", is not a valid SemVer version. A valid SemVer version must have three components: major, minor, and patch (e.g., "13.2.0").

View File

@@ -70,6 +70,7 @@
"calm-papayas-protect",
"calm-tomatoes-drive",
"chatty-fireants-leave",
"chatty-gifts-whisper",
"chilled-carrots-own",
"chilly-candles-care",
"chilly-nails-nail",
@@ -119,6 +120,7 @@
"four-meals-fry",
"four-radios-tickle",
"four-sheep-judge",
"fresh-crews-chew",
"funny-cups-pay",
"fuzzy-bees-warn",
"fuzzy-dots-cross",
@@ -178,6 +180,7 @@
"lucky-cows-try",
"lucky-months-guess",
"lucky-years-turn",
"many-fans-fetch",
"mean-ears-speak",
"mean-gorillas-reply",
"modern-cameras-pull",
@@ -194,10 +197,12 @@
"nice-boxes-travel",
"nice-deers-dream",
"nice-starfishes-live",
"nine-bags-rhyme",
"nine-birds-confess",
"nine-onions-admire",
"ninety-lies-press",
"ninety-pets-heal",
"ninety-pots-learn",
"ninety-rice-tickle",
"odd-bears-run",
"olive-bees-buy",
@@ -211,6 +216,7 @@
"perfect-eyes-repeat",
"perfect-trains-double",
"plenty-bottles-swim",
"plenty-gifts-provide",
"plenty-kiwis-greet",
"polite-lizards-love",
"poor-peas-lick",
@@ -319,6 +325,7 @@
"wicked-rings-walk",
"wise-eels-visit",
"wise-frogs-give",
"wise-lies-relate",
"wise-rabbits-complain",
"young-birds-talk"
]

View File

@@ -0,0 +1,5 @@
---
"@blitzjs/auth": patch
---
Fix: Add missing entry to expose next-auth adapter in Blitz Auth

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-408-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-413-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">
@@ -721,6 +721,11 @@ Thanks to these wonderful people ([emoji key](https://allcontributors.org/docs/e
<tr>
<td align="center"><a href="https://github.com/jeliasson"><img src="https://avatars.githubusercontent.com/u/865493?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Johan Eliasson</b></sub></a><br /><a href="https://github.com/blitz-js/blitz/commits?author=jeliasson" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/jafarlihi"><img src="https://avatars.githubusercontent.com/u/43515211?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Hikmat Jafarli</b></sub></a><br /><a href="https://github.com/blitz-js/blitz/commits?author=jafarlihi" title="Documentation">📖</a> <a href="https://github.com/blitz-js/blitz/commits?author=jafarlihi" title="Code">💻</a></td>
<td align="center"><a href="https://maotoramm.com"><img src="https://avatars.githubusercontent.com/u/5174884?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Maotora ᕙ(⇀‸↼‶)ᕗ</b></sub></a><br /><a href="https://github.com/blitz-js/blitz/commits?author=maotora" title="Documentation">📖</a> <a href="https://github.com/blitz-js/blitz/commits?author=maotora" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/vitaliemiron"><img src="https://avatars.githubusercontent.com/u/45145592?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Vitalie</b></sub></a><br /><a href="https://github.com/blitz-js/blitz/commits?author=vitaliemiron" title="Documentation">📖</a> <a href="https://github.com/blitz-js/blitz/commits?author=vitaliemiron" title="Code">💻</a></td>
<td align="center"><a href="https://estevao.org"><img src="https://avatars.githubusercontent.com/u/19409687?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nelson Estevão</b></sub></a><br /><a href="https://github.com/blitz-js/blitz/commits?author=nelsonmestevao" title="Documentation">📖</a> <a href="https://github.com/blitz-js/blitz/commits?author=nelsonmestevao" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/dbrxnds"><img src="https://avatars.githubusercontent.com/u/32268383?v=4?s=100" width="100px;" alt=""/><br /><sub><b>David</b></sub></a><br /><a href="https://github.com/blitz-js/blitz/commits?author=dbrxnds" title="Documentation">📖</a> <a href="https://github.com/blitz-js/blitz/commits?author=dbrxnds" title="Code">💻</a> <a href="https://github.com/blitz-js/blitz/commits?author=dbrxnds" title="Tests">⚠️</a></td>
<td align="center"><a href="https://github.com/gjmoed"><img src="https://avatars.githubusercontent.com/u/4458993?v=4?s=100" width="100px;" alt=""/><br /><sub><b>G.J. Moed</b></sub></a><br /><a href="https://github.com/blitz-js/blitz/commits?author=gjmoed" title="Documentation">📖</a> <a href="https://github.com/blitz-js/blitz/commits?author=gjmoed" title="Code">💻</a></td>
</tr>
</table>

View File

@@ -1,5 +1,30 @@
# next-blitz-auth
## 0.1.1-beta.3
### Patch Changes
- Updated dependencies [eda14fa8a]
- Updated dependencies [3d004dc41]
- Updated dependencies [29c2b029a]
- @blitzjs/next@2.0.0-beta.27
- @blitzjs/rpc@2.0.0-beta.27
- @blitzjs/auth@2.0.0-beta.27
- blitz@2.0.0-beta.27
- @blitzjs/config@2.0.0-beta.27
## 0.1.1-beta.2
### Patch Changes
- Updated dependencies [e82a79be5]
- Updated dependencies [38d945a3f]
- @blitzjs/auth@2.0.0-beta.26
- @blitzjs/next@2.0.0-beta.26
- @blitzjs/rpc@2.0.0-beta.26
- blitz@2.0.0-beta.26
- @blitzjs/config@2.0.0-beta.26
## 0.1.1-beta.1
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "next-blitz-auth",
"version": "0.1.1-beta.1",
"version": "0.1.1-beta.3",
"private": true,
"scripts": {
"blitz:dev": "next dev",
@@ -19,7 +19,7 @@
"@tanstack/react-query": "4.0.10",
"blitz": "workspace:*",
"flatted": "3.2.7",
"next": "13.2.4",
"next": "13.3.0",
"prisma": "^4.5.0",
"react": "18.2.0",
"react-dom": "18.2.0",

View File

@@ -30,8 +30,8 @@
"@hookform/error-message": "2.0.0",
"@hookform/resolvers": "2.9.10",
"@prisma/client": "4.6.1",
"blitz": "workspace:2.0.0-beta.25",
"next": "13.2.4",
"blitz": "workspace:2.0.0-beta.27",
"next": "13.3.0",
"openid-client": "5.2.1",
"prisma": "4.6.1",
"react": "18.2.0",

View File

@@ -31,8 +31,8 @@
"@hookform/error-message": "2.0.0",
"@hookform/resolvers": "2.9.10",
"@prisma/client": "4.6.1",
"blitz": "workspace:2.0.0-beta.25",
"next": "13.2.4",
"blitz": "workspace:2.0.0-beta.27",
"next": "13.3.0",
"next-auth": "4.18.7",
"prisma": "4.6.1",
"react": "18.2.0",

View File

@@ -10,6 +10,7 @@ type SignupFormProps = {
export const SignupForm = (props: SignupFormProps) => {
const [signupMutation] = useMutation(signup)
return (
<div>
<h1>Create an Account</h1>

View File

@@ -1,5 +1,4 @@
import db from "db"
import { SecurePassword } from "@blitzjs/auth/secure-password"
import { Role } from "types"
export default async function signup(input, ctx) {

View File

@@ -1,9 +1,8 @@
import type { BlitzCliConfig } from "blitz"
import { setupBlitzServer } from "@blitzjs/next"
import { AuthServerPlugin, PrismaStorage } from "@blitzjs/auth"
import db from "db"
import { simpleRolesIsAuthorized } from "@blitzjs/auth"
import { BlitzLogger } from "blitz"
import { setupBlitzServer } from "@blitzjs/next"
import { AuthServerPlugin, PrismaStorage, simpleRolesIsAuthorized } from "@blitzjs/auth"
import db from "db"
export const cliConfig: BlitzCliConfig = {
customTemplates: "src/templates",
@@ -27,6 +26,9 @@ const { gSSP, gSP, api } = setupBlitzServer({
isAuthorized: simpleRolesIsAuthorized,
}),
],
formatError: (error) => {
return new Error("Formatted error" + error.message)
},
logger: BlitzLogger({}),
})

View File

@@ -1,4 +1,12 @@
import { rpcHandler } from "@blitzjs/rpc"
import { api } from "src/blitz-server"
export default api(rpcHandler({ onError: console.log }))
export default api(
rpcHandler({
onError: console.log,
formatError: (error) => {
error.message = `FormatError handler: ${error.message}`
return error
},
})
)

View File

@@ -44,7 +44,7 @@ const UserInfo = () => {
<Link href={Routes.LoginPage()} className={styles.loginButton}>
<strong>Login</strong>
</Link>
<Link href="/api/auth/github/login" passHref>
<Link href="/api/auth/github/login" passHref legacyBehavior>
<a className="button small">
<strong>Sign in with GitHub</strong>
</a>

View File

@@ -26,7 +26,7 @@
"blitz": "workspace:*",
"jest": "29.3.0",
"jest-environment-jsdom": "29.3.0",
"next": "13.2.4",
"next": "13.3.0",
"passport-mock-strategy": "2.0.0",
"passport-twitter": "1.0.4",
"prisma": "4.6.1",

View File

@@ -17,16 +17,16 @@
"prisma:studio": "prisma studio"
},
"dependencies": {
"@blitzjs/auth": "workspace:2.0.0-beta.25",
"@blitzjs/config": "workspace:2.0.0-beta.25",
"@blitzjs/next": "workspace:2.0.0-beta.25",
"@blitzjs/rpc": "workspace:2.0.0-beta.25",
"@blitzjs/auth": "workspace:2.0.0-beta.27",
"@blitzjs/config": "workspace:2.0.0-beta.27",
"@blitzjs/next": "workspace:2.0.0-beta.27",
"@blitzjs/rpc": "workspace:2.0.0-beta.27",
"@hookform/error-message": "2.0.0",
"@hookform/resolvers": "2.9.10",
"@prisma/client": "4.6.1",
"blitz": "workspace:2.0.0-beta.25",
"blitz": "workspace:2.0.0-beta.27",
"delay": "5.0.0",
"next": "13.2.4",
"next": "13.3.0",
"prisma": "4.6.1",
"react": "18.2.0",
"react-dom": "18.2.0",

View File

@@ -1,11 +1,11 @@
import {describe, it, expect, beforeAll, afterAll} from "vitest"
import {afterAll, beforeAll, describe, expect, it} from "vitest"
import {
killApp,
findPort,
runBlitzCommand,
blitzLaunchApp,
blitzBuild,
blitzLaunchApp,
blitzStart,
findPort,
killApp,
runBlitzCommand,
waitFor,
} from "../../utils/next-test-utils"
import webdriver from "../../utils/next-webdriver"
@@ -15,7 +15,8 @@ let appPort: number
const runTests = () => {
describe("Auth", () => {
describe("custom plugin", () => {
/* TODO - Add a non flaky Integration Test for custom plugin
describe("custom plugin", () => {
it("custom plugin - events", async () => {
const browser = await webdriver(appPort, "/custom-plugin")
let text = await browser.elementByCss("#page").text()
@@ -34,7 +35,7 @@ const runTests = () => {
await waitFor(100)
let text = await browser.elementByCss("#before-req").text()
expect(text).toBe("customHeaderValue")
await waitFor(1000)
await waitFor(2000)
text = await browser.elementByCss("#before-res").text()
expect(text).toBe("55")
if (browser) {
@@ -42,6 +43,7 @@ const runTests = () => {
}
})
})
*/
describe("unauthenticated", () => {
it("should render result for open query", async () => {
const browser = await webdriver(appPort, "/noauth-query")

View File

@@ -17,13 +17,13 @@
"prisma:studio": "prisma studio"
},
"dependencies": {
"@blitzjs/auth": "workspace:2.0.0-beta.25",
"@blitzjs/config": "workspace:2.0.0-beta.25",
"@blitzjs/next": "workspace:2.0.0-beta.25",
"@blitzjs/auth": "workspace:2.0.0-beta.27",
"@blitzjs/config": "workspace:2.0.0-beta.27",
"@blitzjs/next": "workspace:2.0.0-beta.27",
"@prisma/client": "4.6.1",
"blitz": "workspace:2.0.0-beta.25",
"blitz": "workspace:2.0.0-beta.27",
"lowdb": "3.0.0",
"next": "13.2.4",
"next": "13.3.0",
"prisma": "4.6.1",
"react": "18.2.0",
"react-dom": "18.2.0",

View File

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

View File

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

View File

@@ -1,5 +1,6 @@
/// <reference types="next" />
/// <reference types="next/image-types/global" />
/// <reference types="next/navigation-types/compat/navigation" />
// NOTE: This file should not be edited
// see https://nextjs.org/docs/basic-features/typescript for more information.

View File

@@ -17,14 +17,14 @@
"prisma:studio": "prisma studio"
},
"dependencies": {
"@blitzjs/auth": "workspace:2.0.0-beta.25",
"@blitzjs/config": "workspace:2.0.0-beta.25",
"@blitzjs/next": "workspace:2.0.0-beta.25",
"@blitzjs/rpc": "workspace:2.0.0-beta.25",
"@blitzjs/auth": "workspace:2.0.0-beta.27",
"@blitzjs/config": "workspace:2.0.0-beta.27",
"@blitzjs/next": "workspace:2.0.0-beta.27",
"@blitzjs/rpc": "workspace:2.0.0-beta.27",
"@prisma/client": "4.6.1",
"blitz": "workspace:2.0.0-beta.25",
"blitz": "workspace:2.0.0-beta.27",
"lowdb": "3.0.0",
"next": "13.2.4",
"next": "13.3.0",
"prisma": "4.6.1",
"react": "18.2.0",
"react-dom": "18.2.0",

View File

@@ -1,13 +1,6 @@
import {describe, it, expect, beforeAll, afterAll} from "vitest"
import {afterAll, beforeAll, describe, expect, it} from "vitest"
import waitPort from "wait-port"
import {
killApp,
findPort,
runBlitzCommand,
blitzLaunchApp,
blitzBuild,
blitzStart,
} from "../../utils/next-test-utils"
import {blitzLaunchApp, findPort, killApp, runBlitzCommand} from "../../utils/next-test-utils"
import webdriver from "../../utils/next-webdriver"
import fetch from "node-fetch"
@@ -43,7 +36,7 @@ const runTests = (mode?: string) => {
const browser = await webdriver(appPort, "/authenticated-client")
let errorMsg = await browser.elementById(`error`).text()
expect(errorMsg).toMatch(/Error: You are not authenticated/)
if (browser) browser.close()
if (browser) await browser.close()
},
5000 * 60 * 2,
)
@@ -55,7 +48,7 @@ const runTests = (mode?: string) => {
const browser = await webdriver(appPort, "/authenticated-server")
let errorMsg = await browser.elementById(`error`).text()
expect(errorMsg).toMatch(/Error: You are not authenticated/)
if (browser) browser.close()
if (browser) await browser.close()
},
5000 * 60 * 2,
)

View File

@@ -9,7 +9,8 @@
{
"name": "next"
}
]
],
"strictNullChecks": true
},
"exclude": ["node_modules"],
"baseUrl": "."

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,12 @@
class ErrorWithStatusCode extends Error {
statusCode
constructor(message, statusCode) {
super(message)
this.statusCode = statusCode
}
}
export default async function getCustomStatusCodeFailure() {
throw new ErrorWithStatusCode("Error with custom status code for test", 418)
}

View File

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

View File

@@ -1,14 +1,13 @@
import {describe, it, expect, beforeAll, afterAll} from "vitest"
import fs from "fs-extra"
import {afterAll, beforeAll, describe, expect, it} from "vitest"
import {join} from "path"
import {
killApp,
findPort,
launchApp,
fetchViaHTTP,
findPort,
killApp,
launchApp,
nextBuild,
nextStart,
nextExport,
nextStart,
} from "../../utils/next-test-utils"
// jest.setTimeout(1000 * 60 * 2)

View File

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

View File

@@ -29,7 +29,7 @@
"husky": "8.0.2",
"jsdom": "^19.0.0",
"lint-staged": "13.0.3",
"next": "13.2.4",
"next": "13.3.0",
"only-allow": "1.1.0",
"prettier": "^2.7.1",
"prettier-plugin-prisma": "4.4.0",

View File

@@ -1,5 +1,21 @@
# @blitzjs/auth
## 2.0.0-beta.27
### Patch Changes
- 29c2b029a: Fix: Add missing entry to expose next-auth adapter in Blitz Auth
- blitz@2.0.0-beta.27
## 2.0.0-beta.26
### Patch Changes
- e82a79be5: Update the version of next in the new template from 13.2 to 13.3.0
- Updated dependencies [e82a79be5]
- Updated dependencies [38d945a3f]
- blitz@2.0.0-beta.26
## 2.0.0-beta.25
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@blitzjs/auth",
"version": "2.0.0-beta.25",
"version": "2.0.0-beta.27",
"homepage": "https://blitzjs.com/",
"repository": {
"type": "git",
@@ -23,7 +23,8 @@
"license": "MIT",
"files": [
"dist/**",
"secure-password.*"
"secure-password.*",
"next-auth.*"
],
"dependencies": {
"@types/b64-lite": "1.3.0",
@@ -47,7 +48,7 @@
"url": "0.11.0"
},
"peerDependencies": {
"blitz": "2.0.0-beta.25",
"blitz": "2.0.0-beta.27",
"next": "*",
"next-auth": "*",
"secure-password": "4.0.0"
@@ -64,7 +65,7 @@
}
},
"devDependencies": {
"@blitzjs/config": "workspace:2.0.0-beta.25",
"@blitzjs/config": "workspace:2.0.0-beta.27",
"@testing-library/react": "13.4.0",
"@testing-library/react-hooks": "8.0.1",
"@types/cookie": "0.4.1",
@@ -72,8 +73,8 @@
"@types/jsonwebtoken": "8.5.8",
"@types/react": "18.0.25",
"@types/react-dom": "17.0.14",
"blitz": "2.0.0-beta.25",
"next": "13.2.4",
"blitz": "2.0.0-beta.27",
"next": "13.3.0",
"next-auth": "4.18.7",
"react": "18.2.0",
"react-dom": "18.2.0",

View File

@@ -1,5 +1,28 @@
# @blitzjs/next
## 2.0.0-beta.27
### Minor Changes
- eda14fa8a: Add ability to format the error on the server before returning it to the client.
- 3d004dc41: Fix the DYNAMIC_SERVER_USAGE error for Next.js 13.3.1+
### Patch Changes
- Updated dependencies [eda14fa8a]
- @blitzjs/rpc@2.0.0-beta.27
- blitz@2.0.0-beta.27
## 2.0.0-beta.26
### Patch Changes
- e82a79be5: Update the version of next in the new template from 13.2 to 13.3.0
- Updated dependencies [e82a79be5]
- Updated dependencies [38d945a3f]
- @blitzjs/rpc@2.0.0-beta.26
- blitz@2.0.0-beta.26
## 2.0.0-beta.25
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@blitzjs/next",
"version": "2.0.0-beta.25",
"version": "2.0.0-beta.27",
"homepage": "https://blitzjs.com/",
"repository": {
"type": "git",
@@ -29,7 +29,7 @@
"eslint.js"
],
"dependencies": {
"@blitzjs/rpc": "2.0.0-beta.25",
"@blitzjs/rpc": "2.0.0-beta.27",
"@types/hoist-non-react-statics": "3.3.1",
"debug": "4.3.3",
"fs-extra": "10.0.1",
@@ -38,12 +38,12 @@
"supports-color": "8.1.1"
},
"peerDependencies": {
"blitz": "2.0.0-beta.25",
"blitz": "2.0.0-beta.27",
"next": "*",
"react": "*"
},
"devDependencies": {
"@blitzjs/config": "workspace:2.0.0-beta.25",
"@blitzjs/config": "workspace:2.0.0-beta.27",
"@testing-library/dom": "8.13.0",
"@testing-library/jest-dom": "5.16.3",
"@testing-library/react": "13.4.0",
@@ -53,10 +53,10 @@
"@types/react": "18.0.25",
"@types/react-dom": "17.0.14",
"@types/testing-library__react-hooks": "4.0.0",
"blitz": "2.0.0-beta.25",
"blitz": "2.0.0-beta.27",
"cross-spawn": "7.0.3",
"find-up": "4.1.0",
"next": "13.2.4",
"next": "13.3.0",
"next-router-mock": "0.9.1",
"react": "18.2.0",
"react-dom": "18.2.0",

View File

@@ -1,41 +1,43 @@
import type {
NextConfig,
GetServerSideProps,
GetServerSidePropsResult,
GetStaticProps,
GetStaticPropsResult,
NextApiRequest,
NextApiResponse,
NextConfig,
} from "next"
import {
AddParameters,
AsyncFunc,
BlitzLogger,
BlitzServerPlugin,
Ctx as BlitzCtx,
FirstParam,
RequestMiddleware,
MiddlewareResponse,
BlitzLogger,
handleRequestWithMiddleware,
initializeLogger,
Simplify,
UnionToIntersection,
isRouteUrlObject,
MiddlewareResponse,
reduceBlitzServerPlugins,
RouteUrlObject,
startWatcher,
stopWatcher,
} from "blitz"
import {handleRequestWithMiddleware, startWatcher, stopWatcher} from "blitz"
import {installWebpackConfig, InstallWebpackConfigOptions, ResolverPathOptions} from "@blitzjs/rpc"
import {
DefaultOptions,
QueryClient,
getQueryKey,
getInfiniteQueryKey,
dehydrate,
getInfiniteQueryKey,
getQueryKey,
installWebpackConfig,
InstallWebpackConfigOptions,
QueryClient,
ResolverPathOptions,
} from "@blitzjs/rpc"
import {IncomingMessage, ServerResponse} from "http"
import {withSuperJsonProps} from "./superjson"
import {ParsedUrlQuery} from "querystring"
import {PreviewData} from "next/types"
import {resolveHref} from "next/dist/shared/lib/router/utils/resolve-href"
import {RouteUrlObject, isRouteUrlObject} from "blitz"
export * from "./index-browser"
@@ -130,10 +132,12 @@ export const setupBlitzServer = <TPlugins extends readonly BlitzServerPlugin<obj
plugins,
onError,
logger,
formatError,
}: {
plugins: TPlugins
onError?: (err: Error) => void
logger?: ReturnType<typeof BlitzLogger>
formatError?: (err: Error) => Error
}) => {
initializeLogger(logger ?? BlitzLogger())
@@ -168,9 +172,9 @@ export const setupBlitzServer = <TPlugins extends readonly BlitzServerPlugin<obj
getClient(),
),
)
} catch (err: any) {
onError?.(err)
throw err
} catch (error: any) {
onError?.(error)
throw formatError?.(error) ?? error
}
}
@@ -197,9 +201,9 @@ export const setupBlitzServer = <TPlugins extends readonly BlitzServerPlugin<obj
getClient(),
),
)
} catch (err: any) {
onError?.(err)
throw err
} catch (error: any) {
onError?.(error)
throw formatError?.(error) ?? error
}
}
@@ -215,7 +219,8 @@ export const setupBlitzServer = <TPlugins extends readonly BlitzServerPlugin<obj
])
} catch (error: any) {
onError?.(error)
return res.status(400).send(error)
const formattedError = formatError?.(error) ?? error
return res.status(400).send(formattedError)
}
}

View File

@@ -1,5 +1,24 @@
# @blitzjs/rpc
## 2.0.0-beta.27
### Minor Changes
- eda14fa8a: Add ability to format the error on the server before returning it to the client.
### Patch Changes
- blitz@2.0.0-beta.27
## 2.0.0-beta.26
### Patch Changes
- e82a79be5: Update the version of next in the new template from 13.2 to 13.3.0
- Updated dependencies [e82a79be5]
- Updated dependencies [38d945a3f]
- blitz@2.0.0-beta.26
## 2.0.0-beta.25
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@blitzjs/rpc",
"version": "2.0.0-beta.25",
"version": "2.0.0-beta.27",
"homepage": "https://blitzjs.com/",
"repository": {
"type": "git",
@@ -37,19 +37,19 @@
},
"peerDependencies": {
"@tanstack/query-core": "4.24.4",
"blitz": "2.0.0-beta.25",
"blitz": "2.0.0-beta.27",
"next": "*",
"react": "*"
},
"devDependencies": {
"@blitzjs/auth": "2.0.0-beta.25",
"@blitzjs/config": "workspace:2.0.0-beta.25",
"@blitzjs/auth": "2.0.0-beta.27",
"@blitzjs/config": "workspace:2.0.0-beta.27",
"@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.25",
"next": "13.2.4",
"blitz": "2.0.0-beta.27",
"next": "13.3.0",
"react": "18.2.0",
"react-dom": "18.2.0",
"typescript": "^4.8.4",

View File

@@ -1,6 +1,6 @@
import {assert, baseLogger, Ctx, newLine, prettyMs, ResolverConfig} from "blitz"
import {NextApiRequest, NextApiResponse} from "next"
import {deserialize, serialize as superjsonSerialize, parse} from "superjson"
import {deserialize, parse, serialize as superjsonSerialize} from "superjson"
import {resolve} from "path"
import chalk from "chalk"
@@ -149,6 +149,7 @@ async function getResolverMap(): Promise<ResolverFiles | null | undefined> {
interface RpcConfig {
onError?: (error: Error) => void
formatError?: (error: Error) => Error
}
export function rpcHandler(config: RpcConfig) {
@@ -265,7 +266,8 @@ export function rpcHandler(config: RpcConfig) {
error.statusCode = 500
}
const serializedError = superjsonSerialize(error)
const formattedError = config.formatError?.(error) ?? error
const serializedError = superjsonSerialize(formattedError)
res.json({
result: null,

View File

@@ -1,5 +1,21 @@
# blitz
## 2.0.0-beta.27
### Patch Changes
- Updated dependencies [d814c2d2d]
- @blitzjs/generator@2.0.0-beta.27
## 2.0.0-beta.26
### Patch Changes
- e82a79be5: Update the version of next in the new template from 13.2 to 13.3.0
- 38d945a3f: The issue is that the version provided, "13.2", is not a valid SemVer version. A valid SemVer version must have three components: major, minor, and patch (e.g., "13.2.0").
- Updated dependencies [e82a79be5]
- @blitzjs/generator@2.0.0-beta.26
## 2.0.0-beta.25
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "blitz",
"version": "2.0.0-beta.25",
"version": "2.0.0-beta.27",
"homepage": "https://blitzjs.com/",
"repository": {
"type": "git",
@@ -30,7 +30,7 @@
"blitz": "bin/blitz"
},
"dependencies": {
"@blitzjs/generator": "2.0.0-beta.25",
"@blitzjs/generator": "2.0.0-beta.27",
"@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": "workspace:2.0.0-beta.25",
"@blitzjs/config": "workspace:2.0.0-beta.27",
"@types/cookie": "0.4.1",
"@types/cross-spawn": "6.0.2",
"@types/debug": "4.1.7",

View File

@@ -16,9 +16,11 @@ export const codegenTasks = async () => {
*/
const nextDir = await resolveCwd("next")
const nextClientIndex = join(nextDir, "../..", "client", "index.js")
console.log(nextClientIndex)
const readFile = await fs.readFile(nextClientIndex)
const packageJson = await getPackageJson()
const nextVersion = packageJson.dependencies.next
const version = packageJson.dependencies.next
const nextVersion = semver.clean(version, {loose: true}) || semver.valid(semver.coerce(version))
if (nextVersion && /^([~^])?12/.test(nextVersion)) {
const updatedFile = readFile
@@ -38,15 +40,24 @@ export const codegenTasks = async () => {
)
await fs.writeFile(nextClientIndex, updatedFile)
log.success("Next.js was successfully patched with a React Suspense fix")
} else if (nextVersion && semver.satisfies(nextVersion, ">=13.2")) {
} else if (nextVersion && semver.satisfies(nextVersion, "13.1 - 13.3.0")) {
const updatedFile = readFile
.toString()
.replace(
/_onRecoverableError\.default/,
/_onRecoverableError\.default$/gm,
`(err) => (err.toString().includes("DYNAMIC_SERVER_USAGE") || err.toString().includes("could not finish this Suspense boundary") || err.toString().includes("Minified React error #419")) ? null : _onRecoverableError.default(err)`,
)
await fs.writeFile(nextClientIndex, updatedFile)
log.success("Next.js was successfully patched with a React Suspense fix")
} else if (nextVersion && semver.satisfies(nextVersion, ">=13.3.1")) {
const updatedFile = readFile
.toString()
.replace(
/_onrecoverableerror\.default$/gm,
`(err) => (err.toString().includes("DYNAMIC_SERVER_USAGE") || err.toString().includes("could not finish this Suspense boundary") || err.toString().includes("Minified React error #419")) ? null : _onrecoverableerror.default(err)`,
)
await fs.writeFile(nextClientIndex, updatedFile)
log.success("Next.js was successfully patched with a React Suspense fix")
}
} catch (err) {
log.error(JSON.stringify(err, null, 2))

View File

@@ -1,13 +1,11 @@
import {join, dirname} from "path"
import {join} from "path"
import os from "os"
import {promises} from "fs"
const readFile = promises.readFile
import {outputFile, readdir} from "fs-extra"
import findUp from "find-up"
import resolveFrom from "resolve-from"
import {outputFile, readdir, readFile} from "fs-extra"
import Watchpack from "watchpack"
import {isInternalBlitzMonorepoDevelopment} from "./helpers"
import {findNodeModulesRoot} from "./find-node-modules"
const debug = require("debug")("blitz")
export const CONFIG_FILE = ".blitz.config.compiled.js"
export const NEXT_CONFIG_FILE = "next.config.js"
export const PHASE_PRODUCTION_SERVER = "phase-production-server"
@@ -160,7 +158,7 @@ export const loadConfig = (pagesDir: string) => {
// eslint-disable-next-line no-eval -- block webpack from following this module path
userConfigModule = eval("require")(path)
} catch {
console.log("Did not find custom config file")
debug("Did not find custom config file")
// In case user does not have custom config
userConfigModule = {}
}

View File

@@ -18,14 +18,28 @@ function getBlitzPath(type: string) {
}
}
function getAppSourceDir() {
const srcPath = "src/pages"
const srcDir = fs.existsSync(path.resolve(srcPath))
if (srcDir) {
return "src"
} else {
return "app"
}
}
function findPageDir() {
const srcPagePath = `src/pages`
const srcPage = fs.existsSync(path.resolve(srcPagePath))
const srcPage = getAppSourceDir()
if (srcPage) {
return srcPagePath
} else {
return `pages`
switch (srcPage) {
case "src": {
return srcPagePath
}
default: {
return `pages`
}
}
}
@@ -36,6 +50,9 @@ export const paths = {
app() {
return `${findPageDir()}/_app${ext(true)}`
},
appSrcDirectory() {
return getAppSourceDir()
},
blitzServer() {
return getBlitzPath("server")
},

View File

@@ -1,5 +1,5 @@
import {IncomingMessage, ServerResponse} from "http"
import {compose, Ctx, RequestMiddleware, MiddlewareNext, MiddlewareResponse} from "./index-server"
import {compose, Ctx, MiddlewareNext, MiddlewareResponse, RequestMiddleware} from "./index-server"
export async function handleRequestWithMiddleware<
Req extends IncomingMessage = IncomingMessage,

View File

@@ -1,5 +1,22 @@
# @blitzjs/codemod
## 2.0.0-beta.27
### Patch Changes
- Updated dependencies [d814c2d2d]
- @blitzjs/generator@2.0.0-beta.27
- blitz@2.0.0-beta.27
## 2.0.0-beta.26
### Patch Changes
- Updated dependencies [e82a79be5]
- Updated dependencies [38d945a3f]
- blitz@2.0.0-beta.26
- @blitzjs/generator@2.0.0-beta.26
## 2.0.0-beta.25
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@blitzjs/codemod",
"version": "2.0.0-beta.25",
"version": "2.0.0-beta.27",
"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.25",
"@blitzjs/generator": "2.0.0-beta.27",
"arg": "5.0.1",
"blitz": "2.0.0-beta.25",
"blitz": "2.0.0-beta.27",
"chalk": "^4.1.0",
"cross-spawn": "7.0.3",
"debug": "4.3.3",

View File

@@ -1,5 +1,9 @@
# @blitzjs/config
## 2.0.0-beta.27
## 2.0.0-beta.26
## 2.0.0-beta.25
## 2.0.0-beta.24

View File

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

View File

@@ -1,5 +1,17 @@
# @blitzjs/generator
## 2.0.0-beta.27
### Patch Changes
- d814c2d2d: fix: add missing key prop to LabelSelectField
## 2.0.0-beta.26
### Patch Changes
- e82a79be5: Update the version of next in the new template from 13.2 to 13.3.0
## 2.0.0-beta.25
## 2.0.0-beta.24

View File

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

View File

@@ -27,7 +27,7 @@ export const LabeledSelectField = forwardRef<HTMLSelectElement, LabeledSelectFie
<label>
{label}
<select {...input} disabled={submitting} {...props} ref={ref}>
{options && options.map((value) => <option value={value.id}>{value[name]}</option>)}
{options && options.map((value) => <option key={value.id} value={value.id}>{value[name]}</option>)}
</select>
</label>
@@ -57,4 +57,4 @@ export const LabeledSelectField = forwardRef<HTMLSelectElement, LabeledSelectFie
}
)
export default LabeledSelectField
export default LabeledSelectField

View File

@@ -27,7 +27,7 @@
"@blitzjs/rpc": "latest",
"@prisma/client": "4.6.1",
"blitz": "latest",
"next": "13.2",
"next": "^13.3.0",
"prisma": "4.6.1",
"react": "18.2.0",
"react-dom": "18.2.0",

View File

@@ -27,7 +27,7 @@
"@blitzjs/rpc": "latest",
"@prisma/client": "4.6.1",
"blitz": "latest",
"next": "13.2",
"next": "^13.3.0",
"prisma": "4.6.1",
"react": "18.2.0",
"react-dom": "18.2.0",

View File

@@ -20,7 +20,7 @@
"dependencies": {
"@blitzjs/next": "latest",
"blitz": "latest",
"next": "13.2",
"next": "^13.3.0",
"react": "18.2.0",
"react-dom": "18.2.0",
"ts-node": "10.9.1"

View File

@@ -20,7 +20,7 @@
"dependencies": {
"@blitzjs/next": "latest",
"blitz": "latest",
"next": "13.2",
"next": "^13.3.0",
"react": "18.2.0",
"react-dom": "18.2.0",
"ts-node": "10.9.1"

View File

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

684
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.25",
"blitz": "2.0.0-beta.27",
"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.25",
"blitz": "2.0.0-beta.27",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

@@ -1,5 +1,4 @@
import {addImport, paths, Program, RecipeBuilder} from "blitz/installer"
import type {NodePath} from "ast-types/lib/node-path"
import j from "jscodeshift"
function wrapComponentWithBumbagProvider(program: Program) {

View File

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

View File

@@ -139,7 +139,7 @@ export default RecipeBuilder()
stepId: "updateLabeledTextField",
stepName: "Update the `LabeledTextField` with Chakra UI's `Input` component",
explanation: `The LabeledTextField component uses Chakra UI's input component`,
singleFileSearch: "src/core/components/LabeledTextField.tsx",
singleFileSearch: `${paths.appSrcDirectory()}/core/components/LabeledTextField.tsx`,
transform(program) {
// Add ComponentPropsWithoutRef import
program.find(j.ImportDeclaration, {source: {value: "react"}}).forEach((path) => {

View File

@@ -24,7 +24,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.25",
"blitz": "2.0.0-beta.27",
"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.25",
"blitz": "2.0.0-beta.27",
"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.25"
"blitz": "2.0.0-beta.27"
}
}

View File

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

View File

@@ -23,7 +23,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.25",
"blitz": "2.0.0-beta.27",
"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.25",
"blitz": "2.0.0-beta.27",
"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.25",
"blitz": "2.0.0-beta.27",
"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.25",
"blitz": "2.0.0-beta.27",
"jscodeshift": "0.13.0"
},
"devDependencies": {

View File

@@ -111,7 +111,7 @@ export default RecipeBuilder()
stepId: "updateLabeledTextField",
stepName: "Update the `LabeledTextField` with Next UI's `Input` component",
explanation: `The LabeledTextField component uses Next UI's input component`,
singleFileSearch: "src/core/components/LabeledTextField.tsx",
singleFileSearch: `${paths.appSrcDirectory()}/core/components/LabeledTextField.tsx`,
transform(program) {
// Add ComponentPropsWithoutRef import
program.find(j.ImportDeclaration, {source: {value: "react"}}).forEach((path) => {

View File

@@ -23,7 +23,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.25",
"blitz": "2.0.0-beta.27",
"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.25"
"blitz": "2.0.0-beta.27"
}
}

View File

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

View File

@@ -23,7 +23,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.25",
"blitz": "2.0.0-beta.27",
"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.25"
"blitz": "2.0.0-beta.27"
}
}

View File

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

View File

@@ -1,6 +1,6 @@
// tailwind.config.js
module.exports = {
content: ["{pages,app}/**/*.{js,ts,jsx,tsx}"],
content: ["./{src,app,pages}/**/*.{js,ts,jsx,tsx}"],
theme: {
extend: {},
},

View File

@@ -23,7 +23,7 @@
},
"homepage": "https://github.com/blitz-js/blitz#readme",
"dependencies": {
"blitz": "2.0.0-beta.25",
"blitz": "2.0.0-beta.27",
"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.25",
"blitz": "2.0.0-beta.27",
"jscodeshift": "0.13.0"
},
"devDependencies": {