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

Compare commits

...

14 Commits

Author SHA1 Message Date
github-actions[bot]
b364af7f57 Version Packages (alpha) (#3516)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-07-14 16:07:20 +02:00
Fran Zekan
20fc9f80f4 Fix SSP / SP not prefetching queries correctly (#3518)
* Fix prefetchQuery getting key for infinite wrong

* Add new webpack loader to transform resolvers server-side to have _routePath and other meta values

* Fix key error when loading dehydrated props

* Add unit-tests for loader-server-resolvers.ts
2022-07-12 14:41:26 +02:00
Aleksandra
80e1ead7cb Create jest.config.js with new app generator (#3532)
* Create jest.config.js with new app generator
2022-07-12 11:44:36 +02:00
Fran Zekan
a3bbe6ce3f Fix routes manifest showing duplicates for non queries|resolvers reso… (#3531)
* Fix routes manifest showing duplicates for non queries|resolvers resolver type

* Simplify resolverType checking
2022-07-12 11:36:59 +02:00
Fran Zekan
348fd6f5e4 Fix redirectAuthenticatedTo errors (#3529)
* Wrap BlitzProvider from next with RouterContext
2022-07-11 21:47:16 +02:00
Dawid Urbaniak
cacb65d633 fix: fix wrong import of the db module in blitz db seed command function (#3526)
* fix: fix wrong import of the db module
2022-07-11 11:35:08 +02:00
Fran Zekan
f397cc2036 Fix switch case fall-through bug in CLI (#3525)
* Fix redundant if

* Fix switch fallthrough cases

* Extract install map to top

* Create cool-horses-check.md

Co-authored-by: Dillon Raphael <dillon@creatorsneverdie.com>
2022-07-11 10:30:03 +02:00
Fran Zekan
ffa7b5ccc2 If project name argument is set to "." change it to current folder name (#3523)
* If project name argument is set to "." change it to current folder name

* Create two-carpets-rhyme.md

Co-authored-by: Dillon Raphael <dillon@creatorsneverdie.com>
2022-07-11 10:22:03 +02:00
Aleksandra
a961aff881 Add missing lint deps (#3515) 2022-07-07 16:45:02 +02:00
github-actions[bot]
ac9c4cebc8 Version Packages (alpha) (#3514)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-07-07 15:43:57 +02:00
Dillon Raphael
a7e37c58db Export BlitzProvider from blitz-next (#3513)
Co-authored-by: Aleksandra <alexsandra.sikora@gmail.com>
2022-07-07 15:36:52 +02:00
Brandon Bayer
b0d2505a85 Update CODEOWNERS 2022-07-06 23:54:29 +02:00
github-actions[bot]
024cd819e3 Version Packages (alpha) (#3512)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-07-06 19:25:31 +02:00
Dillon Raphael
12cb7a727d Upgrade Prisma to v4.0.0 (#3511)
* Upgrade Prisma to v4.0.0

* Changeset
2022-07-06 19:21:36 +02:00
47 changed files with 604 additions and 216 deletions

View File

@@ -0,0 +1,5 @@
---
"blitz": patch
---
Fixes issue when generating a new blitz app with the form flag that ends up installing the wrong form library

View File

@@ -0,0 +1,5 @@
---
"blitz": patch
---
Fixes wrong import of the db module in `blitz db seed` command function

View File

@@ -0,0 +1,6 @@
---
"@blitzjs/next": patch
"blitz": patch
---
Fix redirectAuthenticatedTo errors

View File

@@ -0,0 +1,5 @@
---
"@blitzjs/next": patch
---
Export BlitzProvider from @blitzjs/next

View File

@@ -0,0 +1,7 @@
---
"@blitzjs/next": patch
"@blitzjs/rpc": patch
"blitz": patch
---
Fix SSP / SP not prefetching queries correctly

View File

@@ -0,0 +1,5 @@
---
"@blitzjs/generator": patch
---
Add missing lint deps to the new app templates

View File

@@ -25,6 +25,7 @@
"breezy-cameras-double",
"bright-mangos-run",
"cool-doors-invent",
"cool-horses-check",
"dirty-monkeys-greet",
"eleven-humans-sort",
"empty-berries-rule",
@@ -37,6 +38,7 @@
"four-meals-fry",
"fuzzy-jars-admire",
"gentle-dogs-reply",
"good-apes-drum",
"good-insects-wink",
"great-months-train",
"green-papayas-do",
@@ -47,15 +49,19 @@
"lovely-colts-share",
"lucky-cows-try",
"modern-cameras-pull",
"moody-bags-walk",
"moody-squids-cheer",
"nervous-beds-travel",
"nervous-dolls-rule",
"new-coats-turn",
"nice-deers-dream",
"nice-starfishes-live",
"nine-birds-confess",
"nine-onions-admire",
"ninety-pets-heal",
"olive-bees-buy",
"olive-feet-rhyme",
"olive-sheep-rhyme",
"plenty-bottles-swim",
"poor-peas-lick",
"poor-penguins-look",
@@ -70,12 +76,14 @@
"sharp-falcons-begin",
"shy-olives-hang",
"silent-colts-reply",
"slimy-needles-taste",
"slow-walls-poke",
"small-socks-confess",
"smooth-planets-admire",
"strong-apes-reply",
"stupid-walls-sell",
"swift-drinks-dress",
"tall-meals-learn",
"tame-keys-reply",
"tasty-news-collect",
"ten-hairs-listen",
@@ -83,7 +91,9 @@
"tender-pianos-check",
"thick-parrots-float",
"thirty-countries-build",
"tidy-clouds-smoke",
"twenty-beans-pump",
"two-carpets-rhyme",
"two-kiwis-help",
"two-tigers-type",
"unlucky-papayas-sleep",

View File

@@ -0,0 +1,6 @@
---
"@blitzjs/next": patch
"@blitzjs/generator": patch
---
Add jest.config.js to newly generated typescript apps

View File

@@ -0,0 +1,5 @@
---
"@blitzjs/generator": patch
---
Upgrade Prisma to v4.0.0

View File

@@ -0,0 +1,5 @@
---
"blitz": patch
---
Fix routes manifest showing duplicates for non queries|resolvers reso…

View File

@@ -0,0 +1,5 @@
---
"blitz": patch
---
During `blitz new` if project name argument is set to "." change it to current folder name

View File

@@ -29,9 +29,9 @@
"@blitzjs/rpc": "workspace:*",
"@hookform/resolvers": "2.8.8",
"@prisma/client": "3.9.0",
"blitz": "workspace:2.0.0-alpha.51",
"blitz": "workspace:2.0.0-alpha.54",
"next": "12.2.0",
"prisma": "3.9.0",
"prisma": "4.0.0",
"react": "18.0.0",
"react-dom": "18.0.0",
"react-hook-form": "7.29.0",
@@ -46,7 +46,10 @@
"@types/node": "17.0.16",
"@types/preview-email": "2.0.1",
"@types/react": "18.0.1",
"@typescript-eslint/eslint-plugin": "5.9.1",
"eslint": "7.32.0",
"eslint-config-next": "12.2.0",
"eslint-config-prettier": "8.5.0",
"husky": "7.0.4",
"jest": "27.5.1",
"lint-staged": "12.1.7",

View File

@@ -28,7 +28,7 @@
"next": "12.2.0",
"passport-mock-strategy": "2.0.0",
"passport-twitter": "1.0.4",
"prisma": "3.9.0",
"prisma": "4.0.0",
"react": "18.0.0",
"react-dom": "18.0.0",
"ts-node": "10.7.0"

View File

@@ -20,7 +20,7 @@
"blitz": "workspace:*",
"lowdb": "3.0.0",
"next": "12.2.0",
"prisma": "3.9.0",
"prisma": "4.0.0",
"react": "18.0.0",
"react-dom": "18.0.0"
},

View File

@@ -20,7 +20,7 @@
"blitz": "workspace:*",
"lowdb": "3.0.0",
"next": "12.2.0",
"prisma": "3.9.0",
"prisma": "4.0.0",
"react": "18.0.0",
"react-dom": "18.0.0"
},

View File

@@ -15,7 +15,7 @@
"@prisma/client": "3.9.0",
"blitz": "workspace:*",
"next": "12.2.0",
"prisma": "3.9.0",
"prisma": "4.0.0",
"react": "18.0.0",
"react-dom": "18.0.0",
"react-query": "3.39.0"

View File

@@ -23,7 +23,7 @@
"blitz": "workspace:*",
"lowdb": "3.0.0",
"next": "12.2.0",
"prisma": "3.9.0",
"prisma": "4.0.0",
"react": "18.0.0",
"react-dom": "18.0.0"
},

View File

@@ -1,5 +1,29 @@
# @blitzjs/auth
## 2.0.0-alpha.54
### Patch Changes
- Updated dependencies [f397cc20]
- Updated dependencies [cacb65d6]
- Updated dependencies [348fd6f5]
- Updated dependencies [20fc9f80]
- Updated dependencies [a3bbe6ce]
- Updated dependencies [ffa7b5cc]
- blitz@2.0.0-alpha.54
## 2.0.0-alpha.53
### Patch Changes
- blitz@2.0.0-alpha.53
## 2.0.0-alpha.52
### Patch Changes
- blitz@2.0.0-alpha.52
## 2.0.0-alpha.51
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@blitzjs/auth",
"version": "2.0.0-alpha.51",
"version": "2.0.0-alpha.54",
"scripts": {
"build": "unbuild",
"predev": "wait-on -d 250 ../blitz/dist/index-server.d.ts",
@@ -26,7 +26,7 @@
"@types/secure-password": "3.1.1",
"b64-lite": "1.4.0",
"bad-behavior": "1.0.1",
"blitz": "2.0.0-alpha.51",
"blitz": "2.0.0-alpha.54",
"cookie": "0.4.1",
"cookie-session": "2.0.0",
"debug": "4.3.3",
@@ -39,7 +39,7 @@
"url": "0.11.0"
},
"devDependencies": {
"@blitzjs/config": "workspace:2.0.0-alpha.51",
"@blitzjs/config": "workspace:2.0.0-alpha.54",
"@testing-library/react": "13.0.0",
"@testing-library/react-hooks": "7.0.2",
"@types/cookie": "0.4.1",

View File

@@ -1,5 +1,28 @@
# @blitzjs/next
## 2.0.0-alpha.54
### Patch Changes
- 348fd6f5: Fix redirectAuthenticatedTo errors
- 20fc9f80: Fix SSP / SP not prefetching queries correctly
- 80e1ead7: Add jest.config.js to newly generated typescript apps
- Updated dependencies [20fc9f80]
- @blitzjs/rpc@2.0.0-alpha.54
## 2.0.0-alpha.53
### Patch Changes
- a7e37c58: Export BlitzProvider from @blitzjs/next
- @blitzjs/rpc@2.0.0-alpha.53
## 2.0.0-alpha.52
### Patch Changes
- @blitzjs/rpc@2.0.0-alpha.52
## 2.0.0-alpha.51
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@blitzjs/next",
"version": "2.0.0-alpha.51",
"version": "2.0.0-alpha.54",
"scripts": {
"build": "unbuild",
"dev": "pnpm predev && pnpm watch unbuild src --wait=0.2",
@@ -18,12 +18,13 @@
"sideEffects": false,
"license": "MIT",
"files": [
"jest/**",
"dist/**",
"scripts/**",
"eslint.js"
],
"dependencies": {
"@blitzjs/rpc": "2.0.0-alpha.51",
"@blitzjs/rpc": "2.0.0-alpha.54",
"@types/hoist-non-react-statics": "3.3.1",
"debug": "4.3.3",
"fs-extra": "10.0.1",
@@ -32,7 +33,7 @@
"superjson": "1.8.0"
},
"devDependencies": {
"@blitzjs/config": "workspace:2.0.0-alpha.51",
"@blitzjs/config": "workspace:2.0.0-alpha.54",
"@testing-library/dom": "8.13.0",
"@testing-library/jest-dom": "5.16.3",
"@testing-library/react": "13.0.0",
@@ -42,7 +43,7 @@
"@types/react": "18.0.1",
"@types/react-dom": "17.0.14",
"@types/testing-library__react-hooks": "4.0.0",
"blitz": "2.0.0-alpha.51",
"blitz": "2.0.0-alpha.54",
"cross-spawn": "7.0.3",
"find-up": "4.1.0",
"next": "12.2.0",

View File

@@ -13,7 +13,8 @@ import {withSuperJSONPage} from "./superjson"
import {Ctx} from "blitz"
import {UrlObject} from "url"
import {AppPropsType} from "next/dist/shared/lib/utils"
import {Router} from "next/router"
import {Router, useRouter} from "next/router"
import {RouterContext} from "./router-context"
export * from "./error-boundary"
export * from "./error-component"
@@ -67,6 +68,7 @@ export type BlitzProviderProps = {
interface RouteUrlObject extends Pick<UrlObject, "pathname" | "query"> {
pathname: string
}
type RedirectAuthenticatedTo = string | RouteUrlObject | false
type RedirectAuthenticatedToFnCtx = {
session: Ctx["session"]["$publicData"]
@@ -85,27 +87,31 @@ export type BlitzLayout<P = {}> = React.ComponentType<P> & {
export type AppProps<P = {}> = AppPropsType<Router, P> & {
Component: BlitzPage
}
const BlitzProvider = ({
client,
export const BlitzProvider = ({
client = globalThis.queryClient,
contextSharing = false,
dehydratedState,
hydrateOptions,
children,
}: BlitzProviderProps) => {
if (globalThis.queryClient) {
const router = useRouter()
if (client) {
return (
<QueryClientProvider
client={client || globalThis.queryClient}
contextSharing={contextSharing}
>
<Hydrate state={dehydratedState} options={hydrateOptions}>
{children}
</Hydrate>
</QueryClientProvider>
<RouterContext.Provider value={router}>
<QueryClientProvider
client={client || globalThis.queryClient}
contextSharing={contextSharing}
>
<Hydrate state={dehydratedState} options={hydrateOptions}>
{children}
</Hydrate>
</QueryClientProvider>
</RouterContext.Provider>
)
}
return children
return <RouterContext.Provider value={router}>{children}</RouterContext.Provider>
}
export type PluginsExports<TPlugins extends readonly ClientPlugin<object>[]> = Simplify<

View File

@@ -104,7 +104,7 @@ export const setupBlitzServer = ({plugins, onError}: SetupBlitzOptions) => {
) => {
queryClient = new QueryClient({defaultOptions})
const queryKey = infinite ? getQueryKey(fn, input) : getInfiniteQueryKey(fn, input)
const queryKey = infinite ? getInfiniteQueryKey(fn, input) : getQueryKey(fn, input)
await queryClient.prefetchQuery(queryKey, () => fn(input, ctx))
}
@@ -136,7 +136,7 @@ export const setupBlitzServer = ({plugins, onError}: SetupBlitzOptions) => {
) => {
queryClient = new QueryClient({defaultOptions})
const queryKey = infinite ? getQueryKey(fn, input) : getInfiniteQueryKey(fn, input)
const queryKey = infinite ? getInfiniteQueryKey(fn, input) : getQueryKey(fn, input)
await queryClient.prefetchQuery(queryKey, () => fn(input, ctx))
}
@@ -224,8 +224,8 @@ function withDehydratedState<T extends Result>(result: T, queryClient: QueryClie
if (!queryClient) {
return result
}
const dehydratedProps = dehydrate(queryClient)
return {...result, props: {...("props" in result ? result.props : undefined), dehydratedProps}}
const dehydratedState = dehydrate(queryClient)
return {...result, props: {...("props" in result ? result.props : undefined), dehydratedState}}
}
declare module "blitz" {

View File

@@ -1,5 +1,33 @@
# @blitzjs/rpc
## 2.0.0-alpha.54
### Patch Changes
- 20fc9f80: Fix SSP / SP not prefetching queries correctly
- Updated dependencies [f397cc20]
- Updated dependencies [cacb65d6]
- Updated dependencies [348fd6f5]
- Updated dependencies [20fc9f80]
- Updated dependencies [a3bbe6ce]
- Updated dependencies [ffa7b5cc]
- blitz@2.0.0-alpha.54
- @blitzjs/auth@2.0.0-alpha.54
## 2.0.0-alpha.53
### Patch Changes
- @blitzjs/auth@2.0.0-alpha.53
- blitz@2.0.0-alpha.53
## 2.0.0-alpha.52
### Patch Changes
- blitz@2.0.0-alpha.52
- @blitzjs/auth@2.0.0-alpha.52
## 2.0.0-alpha.51
### Patch Changes

View File

@@ -5,6 +5,7 @@ const config: BuildConfig = {
"./src/index-browser",
"./src/index-server",
"./src/loader-server",
"./src/loader-server-resolvers",
"./src/loader-client",
],
externals: [

View File

@@ -1,6 +1,6 @@
{
"name": "@blitzjs/rpc",
"version": "2.0.0-alpha.51",
"version": "2.0.0-alpha.54",
"scripts": {
"build": "unbuild",
"predev": "wait-on -d 250 ../blitz/dist/index-server.d.ts && wait-on -d 250 ../blitz-auth/dist/index-browser.d.ts",
@@ -20,7 +20,7 @@
"dist/**"
],
"dependencies": {
"@blitzjs/auth": "2.0.0-alpha.51",
"@blitzjs/auth": "2.0.0-alpha.54",
"b64-lite": "1.4.0",
"bad-behavior": "1.0.1",
"chalk": "^4.1.0",
@@ -30,11 +30,11 @@
"zod": "3.17.3"
},
"devDependencies": {
"@blitzjs/config": "workspace:2.0.0-alpha.51",
"@blitzjs/config": "workspace:2.0.0-alpha.54",
"@types/debug": "4.1.7",
"@types/react": "18.0.1",
"@types/react-dom": "17.0.14",
"blitz": "2.0.0-alpha.51",
"blitz": "2.0.0-alpha.54",
"next": "12.2.0",
"react": "18.0.0",
"react-dom": "18.0.0",
@@ -43,7 +43,7 @@
"watch": "1.0.2"
},
"peerDependencies": {
"blitz": "2.0.0-alpha.51",
"blitz": "2.0.0-alpha.54",
"next": ">=12.2.0"
},
"publishConfig": {

View File

@@ -50,8 +50,9 @@ export function __internal_addBlitzRpcResolver(
}
const dir = __dirname + (() => "")() // trick to avoid `@vercel/ncc` to glob import
const loaderServer = resolve(dir, "./loader-server.cjs")
const loaderClient = resolve(dir, "./loader-client.cjs")
const loaderServer = resolve(dir, "./loader-server.cjs")
const loaderServerResolvers = resolve(dir, "./loader-server-resolvers.cjs")
interface WebpackRuleOptions {
resolverPath: ResolverPathOptions | undefined
@@ -94,6 +95,10 @@ export function installWebpackConfig({
loader: loaderClient,
options: webpackRuleOptions,
},
{
loader: loaderServerResolvers,
options: webpackRuleOptions,
},
],
})
}

View File

@@ -0,0 +1,50 @@
import {describe, expect, it} from "vitest"
import {transformBlitzRpcResolverServer} from "./loader-server-resolvers"
const META_TAGS_AND_EXPORT = `
__internal_rpcHandler._resolverName = 'test'
__internal_rpcHandler._resolverType = 'query'
__internal_rpcHandler._routePath = '/api/rpc/test'
export default __internal_rpcHandler
`.trim()
describe("transformBlitzRpcResolverServer", () => {
it("should compile for function", async () => {
const result = await transformBlitzRpcResolverServer(
"export default function test() { return 'test' }",
"queries/test.js",
"/",
)
expect(result).toBe(
`const __internal_rpcHandler = function test() { return 'test' }\n\n${META_TAGS_AND_EXPORT}`,
)
})
it("should compile with resolver", async () => {
const result = await transformBlitzRpcResolverServer(
`const test = resolver.pipe(() => Promise.resolve('test'))
export default test`,
"queries/test.js",
"/",
)
expect(result).toBe(
`const test = resolver.pipe(() => Promise.resolve('test'))
const __internal_rpcHandler = test\n\n${META_TAGS_AND_EXPORT}`,
)
})
it("should compile for plain lambda", async () => {
const result = await transformBlitzRpcResolverServer(
"export default () => Promise.resolve('test')",
"queries/test.js",
"/",
)
expect(result).toBe(
`const __internal_rpcHandler = () => Promise.resolve('test')\n\n${META_TAGS_AND_EXPORT}`,
)
})
})

View File

@@ -0,0 +1,68 @@
import {
assertPosixPath,
convertFilePathToResolverName,
convertFilePathToResolverType,
convertPageFilePathToRoutePath,
Loader,
LoaderOptions,
toPosixPath,
} from "./loader-utils"
import {normalizeApiRoute} from "./data-client"
import {posix} from "path"
// Subset of `import type { LoaderDefinitionFunction } from 'webpack'`
export async function loader(this: Loader, input: string): Promise<string> {
const compiler = this._compiler!
const id = this.resource
const root = this._compiler!.context
const isSSR = compiler.name === "server"
if (isSSR) {
return await transformBlitzRpcResolverServer(
input,
toPosixPath(id),
toPosixPath(root),
this.query,
)
}
return input
}
module.exports = loader
export async function transformBlitzRpcResolverServer(
src: string,
id: string,
root: string,
options?: LoaderOptions,
) {
assertPosixPath(id)
assertPosixPath(root)
const resolverFilePath = "/" + posix.relative(root, id)
assertPosixPath(resolverFilePath)
const routePath = convertPageFilePathToRoutePath(resolverFilePath, options?.resolverPath)
const resolverName = convertFilePathToResolverName(resolverFilePath)
const resolverType = convertFilePathToResolverType(resolverFilePath)
const fullRoutePath = normalizeApiRoute("/api/rpc" + routePath)
const lines = src.split("\n")
const newLines = lines.map((line) => {
if (line.trim().startsWith("export default")) {
return line.replace("export default", "const __internal_rpcHandler =")
}
return line
})
return `${newLines.join("\n")}
__internal_rpcHandler._resolverName = '${resolverName}'
__internal_rpcHandler._resolverType = '${resolverType}'
__internal_rpcHandler._routePath = '${fullRoutePath}'
export default __internal_rpcHandler`
}

View File

@@ -1,5 +1,32 @@
# blitz
## 2.0.0-alpha.54
### Patch Changes
- f397cc20: Fixes issue when generating a new blitz app with the form flag that ends up installing the wrong form library
- cacb65d6: Fixes wrong import of the db module in `blitz db seed` command function
- 348fd6f5: Fix redirectAuthenticatedTo errors
- 20fc9f80: Fix SSP / SP not prefetching queries correctly
- a3bbe6ce: Fix routes manifest showing duplicates for non queries|resolvers reso…
- ffa7b5cc: During `blitz new` if project name argument is set to "." change it to current folder name
- Updated dependencies [a961aff8]
- Updated dependencies [80e1ead7]
- @blitzjs/generator@2.0.0-alpha.54
## 2.0.0-alpha.53
### Patch Changes
- @blitzjs/generator@2.0.0-alpha.53
## 2.0.0-alpha.52
### Patch Changes
- Updated dependencies [12cb7a72]
- @blitzjs/generator@2.0.0-alpha.52
## 2.0.0-alpha.51
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "blitz",
"version": "2.0.0-alpha.51",
"version": "2.0.0-alpha.54",
"scripts": {
"build": "unbuild",
"dev": "watch unbuild src --wait=0.2",
@@ -23,7 +23,7 @@
"blitz": "bin/blitz"
},
"dependencies": {
"@blitzjs/generator": "2.0.0-alpha.51",
"@blitzjs/generator": "2.0.0-alpha.54",
"arg": "5.0.1",
"chalk": "^4.1.0",
"console-table-printer": "2.10.0",
@@ -52,7 +52,7 @@
"watchpack": "2.1.1"
},
"devDependencies": {
"@blitzjs/config": "workspace:2.0.0-alpha.51",
"@blitzjs/config": "workspace:2.0.0-alpha.54",
"@types/cookie": "0.4.1",
"@types/cross-spawn": "6.0.2",
"@types/debug": "4.1.7",

View File

@@ -51,7 +51,7 @@ const runSeed = async (seedBasePath: string) => {
throw err
}
const db = require(dbPath).db
const db = require(dbPath)
await db.$disconnect()
console.log("Done Seeding")
}

View File

@@ -24,8 +24,13 @@ const language = {
type TLanguage = keyof typeof language
type TPkgManager = "npm" | "yarn" | "pnpm"
type TTemplate = "full" | "minimal"
const installCommandMap: Record<TPkgManager, string> = {
yarn: "yarn",
pnpm: "pnpm install",
npm: "npm install",
}
type TTemplate = "full" | "minimal"
const templates: {[key in TTemplate]: AppGeneratorOptions["template"]} = {
full: {
path: "app",
@@ -87,6 +92,10 @@ const determineProjectName = async () => {
projectPath = path.resolve(projectName)
} else {
projectName = args._.slice(1)[0] as string
if (projectName === ".") {
projectName = path.basename(process.cwd())
}
projectPath = path.resolve(projectName)
}
}
@@ -128,14 +137,7 @@ const determineFormLib = async () => {
projectFormLib = res.form
} else {
switch (args["--form"] as TForms) {
case "react-final-form":
projectFormLib = forms["react-final-form"]
case "react-hook-form":
projectFormLib = forms["react-hook-form"]
case "formik":
projectFormLib = forms["formik"]
}
projectFormLib = forms[args["--form"] as TForms]
}
}
@@ -202,11 +204,7 @@ const determinePkgManagerToInstallDeps = async () => {
projectPkgManger = res.pkgManager
if (res.pkgManager === "skip") {
shouldInstallDeps = false
} else {
shouldInstallDeps = true
}
shouldInstallDeps = res.pkgManager !== "skip"
} else {
const res = await prompts({
type: "confirm",
@@ -278,16 +276,7 @@ const newApp: CliCommand = async (argv) => {
await generator.run()
if (requireManualInstall) {
let cmd
switch (projectPkgManger) {
case "yarn":
cmd = "yarn"
case "npm":
cmd = "npm install"
case "pnpm":
cmd = "pnpm install"
}
postInstallSteps.push(cmd)
postInstallSteps.push(installCommandMap[projectPkgManger])
postInstallSteps.push(
"blitz prisma migrate dev (when asked, you can name the migration anything)",
)

View File

@@ -228,23 +228,39 @@ export function buildPageExtensionRegex(pageExtensions: string[]) {
type PagesMapping = {
[page: string]: string
}
export function convertPageFilePathToRoutePath(filePath: string, pageExtensions: string[]) {
return filePath
.replace(/^.*?[\\/]pages[\\/]/, "/")
.replace(/^.*?[\\/]api[\\/]/, "/api/")
.replace(/^.*?[\\/]queries[\\/]/, "/api/rpc/")
.replace(/^.*?[\\/]mutations[\\/]/, "/api/rpc/")
.replace(new RegExp(`\\.+(${pageExtensions.join("|")})$`), "")
function stripExtension(filePath: string, pageExtensions: string[]) {
return filePath.replace(new RegExp(`\\.+(${pageExtensions.join("|")})$`), "")
}
export function createPagesMapping(pagePaths: string[], pageExtensions: string[]) {
export function convertPageFilePathToRoutePath(filePath: string, pageExtensions: string[]) {
return stripExtension(
filePath
.replace(/^.*?[\\/]pages[\\/]/, "/")
.replace(/^.*?[\\/]api[\\/]/, "/api/")
.replace(/^.*?[\\/]queries[\\/]/, "/api/rpc/")
.replace(/^.*?[\\/]mutations[\\/]/, "/api/rpc/"),
pageExtensions,
)
}
export function createPagesMapping(pagePaths: string[], config: any) {
const {pageExtensions, blitz} = config
const resolverType = blitz?.resolverPath || "queries|mutations"
const previousPages: PagesMapping = {}
const pages = pagePaths.reduce((result: PagesMapping, pagePath): PagesMapping => {
const pages = pagePaths.reduce<PagesMapping>((result, pagePath) => {
let page = `${convertPageFilePathToRoutePath(pagePath, pageExtensions).replace(
/\\/g,
"/",
)}`.replace(/\/index$/, "")
let pageKey = page === "" ? "/" : page
const isResolver = pagePath.includes("/queries/") || pagePath.includes("/mutations/")
if (isResolver) {
if (typeof resolverType === "function") {
page = `/api/rpc${resolverType(pagePath)}`
} else if (resolverType === "root") {
page = `/api/rpc${stripExtension(pagePath, pageExtensions)}`
}
}
let pageKey = page === "" ? "/" : page
if (pageKey in result) {
console.warn(
`Duplicate page detected. ${previousPages[pageKey]} and ${pagePath} both resolve to ${pageKey}.`,
@@ -255,6 +271,7 @@ export function createPagesMapping(pagePaths: string[], pageExtensions: string[]
result[pageKey] = join(PAGES_DIR_ALIAS, pagePath).replace(/\\/g, "/")
return result
}, {})
pages["/_app"] = pages["/_app"] || "next/dist/pages/_app"
pages["/_error"] = pages["/_error"] || "next/dist/pages/_error"
pages["/_document"] = pages["/_document"] || "next/dist/pages/_document"
@@ -277,7 +294,7 @@ function getVerb(type: string) {
const apiPathRegex = /([\\/]api[\\/])/
export async function collectAllRoutes(directory: string, config: any) {
const routeFiles = await collectPages(directory, config.pageExtensions!)
const rawRouteMappings = createPagesMapping(routeFiles, config.pageExtensions!)
const rawRouteMappings = createPagesMapping(routeFiles, config)
const routes = []
for (const [route, filePath] of Object.entries(rawRouteMappings)) {
if (["/_app", "/_document", "/_error"].includes(route)) continue

View File

@@ -1,5 +1,35 @@
# @blitzjs/codemod
## 2.0.0-alpha.54
### Patch Changes
- Updated dependencies [f397cc20]
- Updated dependencies [cacb65d6]
- Updated dependencies [348fd6f5]
- Updated dependencies [20fc9f80]
- Updated dependencies [a961aff8]
- Updated dependencies [80e1ead7]
- Updated dependencies [a3bbe6ce]
- Updated dependencies [ffa7b5cc]
- blitz@2.0.0-alpha.54
- @blitzjs/generator@2.0.0-alpha.54
## 2.0.0-alpha.53
### Patch Changes
- @blitzjs/generator@2.0.0-alpha.53
- blitz@2.0.0-alpha.53
## 2.0.0-alpha.52
### Patch Changes
- Updated dependencies [12cb7a72]
- @blitzjs/generator@2.0.0-alpha.52
- blitz@2.0.0-alpha.52
## 2.0.0-alpha.51
### Patch Changes

View File

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

View File

@@ -1,5 +1,11 @@
# @blitzjs/config
## 2.0.0-alpha.54
## 2.0.0-alpha.53
## 2.0.0-alpha.52
## 2.0.0-alpha.51
## 2.0.0-alpha.50

View File

@@ -1,13 +1,13 @@
{
"name": "@blitzjs/config",
"private": true,
"version": "2.0.0-alpha.51",
"version": "2.0.0-alpha.54",
"license": "MIT",
"dependencies": {
"@typescript-eslint/eslint-plugin": "5.9.1",
"@typescript-eslint/parser": "5.9.1",
"eslint-config-next": "12.0.7",
"eslint-config-prettier": "8.3.0"
"eslint-config-next": "12.2.0",
"eslint-config-prettier": "8.5.0"
},
"devDependencies": {
"typescript": "^4.5.3"

View File

@@ -1,5 +1,20 @@
# @blitzjs/generator
## 2.0.0-alpha.54
### Patch Changes
- a961aff8: Add missing lint deps to the new app templates
- 80e1ead7: Add jest.config.js to newly generated typescript apps
## 2.0.0-alpha.53
## 2.0.0-alpha.52
### Patch Changes
- 12cb7a72: Upgrade Prisma to v4.0.0
## 2.0.0-alpha.51
## 2.0.0-alpha.50

View File

@@ -1,6 +1,6 @@
{
"name": "@blitzjs/generator",
"version": "2.0.0-alpha.51",
"version": "2.0.0-alpha.54",
"scripts": {
"dev": "watch unbuild src --wait=0.2",
"build": "unbuild && pnpm build:templates",
@@ -45,7 +45,7 @@
"vinyl": "2.2.1"
},
"devDependencies": {
"@blitzjs/config": "2.0.0-alpha.51",
"@blitzjs/config": "2.0.0-alpha.54",
"@juanm04/cpx": "2.0.1",
"@types/babel__core": "7.1.19",
"@types/diff": "5.0.2",

View File

@@ -49,7 +49,7 @@ export class AppGenerator extends Generator<AppGeneratorOptions> {
"types.ts",
]
}
return ["jsconfig.json", "jest.config.js", "package.js.json", "pre-push-js"]
return ["jsconfig.json", "package.js.json", "pre-push-js"]
}
async getTemplateValues() {

View File

@@ -28,7 +28,7 @@
"@prisma/client": "3.9.0",
"blitz": "alpha",
"next": "12.2.0",
"prisma": "3.9.0",
"prisma": "4.0.0",
"react": "18.0.0",
"react-dom": "18.0.0",
"zod": "3.17.3"
@@ -40,6 +40,8 @@
"@types/preview-email": "2.0.1",
"@types/react": "18.0.1",
"eslint": "7.32.0",
"eslint-config-next": "12.2.0",
"eslint-config-prettier": "8.5.0",
"husky": "7.0.4",
"jest": "27.5.1",
"lint-staged": "12.1.7",

View File

@@ -28,7 +28,7 @@
"@prisma/client": "3.9.0",
"blitz": "alpha",
"next": "12.2.0",
"prisma": "3.9.0",
"prisma": "4.0.0",
"react": "18.0.0",
"react-dom": "18.0.0",
"zod": "3.17.3"
@@ -39,7 +39,10 @@
"@types/node": "17.0.16",
"@types/preview-email": "2.0.1",
"@types/react": "18.0.1",
"@typescript-eslint/eslint-plugin": "5.30.5",
"eslint": "7.32.0",
"eslint-config-next": "12.2.0",
"eslint-config-prettier": "8.5.0",
"husky": "7.0.4",
"jest": "27.5.1",
"lint-staged": "12.1.7",

View File

@@ -31,6 +31,8 @@
"@types/node": "17.0.16",
"@types/react": "18.0.1",
"eslint": "7.32.0",
"eslint-config-next": "12.2.0",
"eslint-config-prettier": "8.5.0",
"husky": "7.0.4",
"jest": "27.5.1",
"lint-staged": "12.1.7",

View File

@@ -32,7 +32,10 @@
"@types/jest": "27.4.1",
"@types/node": "17.0.16",
"@types/react": "18.0.1",
"@typescript-eslint/eslint-plugin": "5.30.5",
"eslint": "7.32.0",
"eslint-config-prettier": "8.5.0",
"eslint-config-next": "12.2.0",
"husky": "7.0.4",
"jest": "27.5.1",
"lint-staged": "12.1.7",

View File

@@ -25,7 +25,7 @@
"@typescript-eslint/parser": "5.9.1"
},
"devDependencies": {
"@blitzjs/config": "2.0.0-alpha.51",
"@blitzjs/config": "2.0.0-alpha.54",
"@types/react": "18.0.1",
"@types/react-dom": "17.0.14",
"react": "18.0.0",

277
pnpm-lock.yaml generated
View File

@@ -48,8 +48,11 @@ importers:
"@types/node": 17.0.16
"@types/preview-email": 2.0.1
"@types/react": 18.0.1
blitz: workspace:2.0.0-alpha.50
"@typescript-eslint/eslint-plugin": 5.9.1
blitz: workspace:2.0.0-alpha.53
eslint: 7.32.0
eslint-config-next: 12.2.0
eslint-config-prettier: 8.5.0
husky: 7.0.4
jest: 27.5.1
lint-staged: 12.1.7
@@ -58,7 +61,7 @@ importers:
prettier-plugin-prisma: 3.8.0
pretty-quick: 3.1.3
preview-email: 3.x
prisma: 3.9.0
prisma: 4.0.0
react: 18.0.0
react-dom: 18.0.0
react-hook-form: 7.29.0
@@ -71,10 +74,10 @@ importers:
"@blitzjs/next": link:../../packages/blitz-next
"@blitzjs/rpc": link:../../packages/blitz-rpc
"@hookform/resolvers": 2.8.8_react-hook-form@7.29.0
"@prisma/client": 3.9.0_prisma@3.9.0
"@prisma/client": 3.9.0_prisma@4.0.0
blitz: link:../../packages/blitz
next: 12.2.0_zpnidt7m3osuk7shl3s4oenomq
prisma: 3.9.0
prisma: 4.0.0
react: 18.0.0
react-dom: 18.0.0_react@18.0.0
react-hook-form: 7.29.0_react@18.0.0
@@ -88,7 +91,10 @@ importers:
"@types/node": 17.0.16
"@types/preview-email": 2.0.1
"@types/react": 18.0.1
"@typescript-eslint/eslint-plugin": 5.9.1_hrkuebk64jiu2ut2d2sm4oylnu
eslint: 7.32.0
eslint-config-next: 12.2.0_hrkuebk64jiu2ut2d2sm4oylnu
eslint-config-prettier: 8.5.0_eslint@7.32.0
husky: 7.0.4
jest: 27.5.1_ts-node@10.7.0
lint-staged: 12.1.7
@@ -115,7 +121,7 @@ importers:
next: 12.2.0
passport-mock-strategy: 2.0.0
passport-twitter: 1.0.4
prisma: 3.9.0
prisma: 4.0.0
react: 18.0.0
react-dom: 18.0.0
ts-node: 10.7.0
@@ -125,7 +131,7 @@ importers:
"@blitzjs/config": link:../../packages/config
"@blitzjs/next": link:../../packages/blitz-next
"@blitzjs/rpc": link:../../packages/blitz-rpc
"@prisma/client": 3.9.0_prisma@3.9.0
"@prisma/client": 3.9.0_prisma@4.0.0
"@types/jest": 27.4.1
"@types/passport-twitter": 1.0.37
blitz: link:../../packages/blitz
@@ -133,7 +139,7 @@ importers:
next: 12.2.0_zpnidt7m3osuk7shl3s4oenomq
passport-mock-strategy: 2.0.0
passport-twitter: 1.0.4
prisma: 3.9.0
prisma: 4.0.0
react: 18.0.0
react-dom: 18.0.0_react@18.0.0
ts-node: 10.7.0_typescript@4.6.3
@@ -162,7 +168,7 @@ importers:
lowdb: 3.0.0
next: 12.2.0
node-fetch: 3.2.3
prisma: 3.9.0
prisma: 4.0.0
react: 18.0.0
react-dom: 18.0.0
typescript: ^4.5.3
@@ -170,11 +176,11 @@ importers:
"@blitzjs/auth": link:../../packages/blitz-auth
"@blitzjs/config": link:../../packages/config
"@blitzjs/next": link:../../packages/blitz-next
"@prisma/client": 3.9.0_prisma@3.9.0
"@prisma/client": 3.9.0_prisma@4.0.0
blitz: link:../../packages/blitz
lowdb: 3.0.0
next: 12.2.0_zpnidt7m3osuk7shl3s4oenomq
prisma: 3.9.0
prisma: 4.0.0
react: 18.0.0
react-dom: 18.0.0_react@18.0.0
devDependencies:
@@ -249,7 +255,7 @@ importers:
lowdb: 3.0.0
next: 12.2.0
node-fetch: 3.2.3
prisma: 3.9.0
prisma: 4.0.0
react: 18.0.0
react-dom: 18.0.0
typescript: ^4.5.3
@@ -257,11 +263,11 @@ importers:
"@blitzjs/auth": link:../../packages/blitz-auth
"@blitzjs/next": link:../../packages/blitz-next
"@blitzjs/rpc": link:../../packages/blitz-rpc
"@prisma/client": 3.9.0_prisma@3.9.0
"@prisma/client": 3.9.0_prisma@4.0.0
blitz: link:../../packages/blitz
lowdb: 3.0.0
next: 12.2.0_zpnidt7m3osuk7shl3s4oenomq
prisma: 3.9.0
prisma: 4.0.0
react: 18.0.0
react-dom: 18.0.0_react@18.0.0
devDependencies:
@@ -295,7 +301,7 @@ importers:
eslint-plugin-testing-library: 5.0.1
jsdom: ^19.0.0
next: 12.2.0
prisma: 3.9.0
prisma: 4.0.0
react: 18.0.0
react-dom: 18.0.0
react-query: 3.39.0
@@ -305,10 +311,10 @@ importers:
"@blitzjs/config": link:../../packages/config
"@blitzjs/next": link:../../packages/blitz-next
"@blitzjs/rpc": link:../../packages/blitz-rpc
"@prisma/client": 3.9.0_prisma@3.9.0
"@prisma/client": 3.9.0_prisma@4.0.0
blitz: link:../../packages/blitz
next: 12.2.0_zpnidt7m3osuk7shl3s4oenomq
prisma: 3.9.0
prisma: 4.0.0
react: 18.0.0
react-dom: 18.0.0_react@18.0.0
react-query: 3.39.0_zpnidt7m3osuk7shl3s4oenomq
@@ -380,7 +386,7 @@ importers:
lowdb: 3.0.0
next: 12.2.0
node-fetch: 3.2.3
prisma: 3.9.0
prisma: 4.0.0
react: 18.0.0
react-dom: 18.0.0
typescript: ^4.5.3
@@ -388,11 +394,11 @@ importers:
"@blitzjs/auth": link:../../packages/blitz-auth
"@blitzjs/next": link:../../packages/blitz-next
"@blitzjs/rpc": link:../../packages/blitz-rpc
"@prisma/client": 3.9.0_prisma@3.9.0
"@prisma/client": 3.9.0_prisma@4.0.0
blitz: link:../../packages/blitz
lowdb: 3.0.0
next: 12.2.0_zpnidt7m3osuk7shl3s4oenomq
prisma: 3.9.0
prisma: 4.0.0
react: 18.0.0
react-dom: 18.0.0_react@18.0.0
devDependencies:
@@ -469,8 +475,8 @@ importers:
packages/blitz:
specifiers:
"@blitzjs/config": workspace:2.0.0-alpha.50
"@blitzjs/generator": 2.0.0-alpha.50
"@blitzjs/config": workspace:2.0.0-alpha.53
"@blitzjs/generator": 2.0.0-alpha.53
"@types/cookie": 0.4.1
"@types/cross-spawn": 6.0.2
"@types/debug": 4.1.7
@@ -576,7 +582,7 @@ importers:
packages/blitz-auth:
specifiers:
"@blitzjs/config": workspace:2.0.0-alpha.50
"@blitzjs/config": workspace:2.0.0-alpha.53
"@testing-library/react": 13.0.0
"@testing-library/react-hooks": 7.0.2
"@types/b64-lite": 1.3.0
@@ -590,7 +596,7 @@ importers:
"@types/secure-password": 3.1.1
b64-lite: 1.4.0
bad-behavior: 1.0.1
blitz: 2.0.0-alpha.50
blitz: 2.0.0-alpha.53
cookie: 0.4.1
cookie-session: 2.0.0
debug: 4.3.3
@@ -641,8 +647,8 @@ importers:
packages/blitz-next:
specifiers:
"@blitzjs/config": workspace:2.0.0-alpha.50
"@blitzjs/rpc": 2.0.0-alpha.50
"@blitzjs/config": workspace:2.0.0-alpha.53
"@blitzjs/rpc": 2.0.0-alpha.53
"@testing-library/dom": 8.13.0
"@testing-library/jest-dom": 5.16.3
"@testing-library/react": 13.0.0
@@ -653,7 +659,7 @@ importers:
"@types/react": 18.0.1
"@types/react-dom": 17.0.14
"@types/testing-library__react-hooks": 4.0.0
blitz: 2.0.0-alpha.50
blitz: 2.0.0-alpha.53
cross-spawn: 7.0.3
debug: 4.3.3
find-up: 4.1.0
@@ -702,14 +708,14 @@ importers:
packages/blitz-rpc:
specifiers:
"@blitzjs/auth": 2.0.0-alpha.50
"@blitzjs/config": workspace:2.0.0-alpha.50
"@blitzjs/auth": 2.0.0-alpha.53
"@blitzjs/config": workspace:2.0.0-alpha.53
"@types/debug": 4.1.7
"@types/react": 18.0.1
"@types/react-dom": 17.0.14
b64-lite: 1.4.0
bad-behavior: 1.0.1
blitz: 2.0.0-alpha.50
blitz: 2.0.0-alpha.53
chalk: ^4.1.0
debug: 4.3.3
next: 12.2.0
@@ -751,12 +757,12 @@ importers:
"@babel/plugin-syntax-typescript": 7.17.12
"@babel/preset-env": 7.12.10
"@blitzjs/config": workspace:*
"@blitzjs/generator": 2.0.0-alpha.50
"@blitzjs/generator": 2.0.0-alpha.53
"@types/jscodeshift": 0.11.2
"@types/node": 17.0.16
arg: 5.0.1
ast-types: 0.14.2
blitz: 2.0.0-alpha.50
blitz: 2.0.0-alpha.53
chalk: ^4.1.0
cross-spawn: 7.0.3
debug: 4.3.3
@@ -794,14 +800,14 @@ importers:
specifiers:
"@typescript-eslint/eslint-plugin": 5.9.1
"@typescript-eslint/parser": 5.9.1
eslint-config-next: 12.0.7
eslint-config-prettier: 8.3.0
eslint-config-next: 12.2.0
eslint-config-prettier: 8.5.0
typescript: ^4.5.3
dependencies:
"@typescript-eslint/eslint-plugin": 5.9.1_z2xqbpkx26iu62rx2zdto5f5qy
"@typescript-eslint/parser": 5.9.1_typescript@4.6.3
eslint-config-next: 12.0.7_typescript@4.6.3
eslint-config-prettier: 8.3.0
eslint-config-next: 12.2.0_typescript@4.6.3
eslint-config-prettier: 8.5.0
devDependencies:
typescript: 4.6.3
@@ -811,7 +817,7 @@ importers:
"@babel/plugin-transform-typescript": 7.12.1
"@babel/preset-env": 7.12.10
"@babel/types": 7.12.10
"@blitzjs/config": 2.0.0-alpha.50
"@blitzjs/config": 2.0.0-alpha.53
"@juanm04/cpx": 2.0.1
"@mrleebo/prisma-ast": 0.2.6
"@types/babel__core": 7.1.19
@@ -902,7 +908,7 @@ importers:
packages/pkg-template:
specifiers:
"@blitzjs/config": 2.0.0-alpha.50
"@blitzjs/config": 2.0.0-alpha.53
"@types/react": 18.0.1
"@types/react-dom": 17.0.14
"@typescript-eslint/eslint-plugin": 5.9.1
@@ -3435,15 +3441,6 @@ packages:
integrity: sha512-/FCkDpL/8SodJEXvx/DYNlOD5ijTtkozf4PPulYPtkPOJaMPpBSOkzmsta4fnrnbdH6eZjbwbiXFdr6gSQCV4w==,
}
/@next/eslint-plugin-next/12.0.7:
resolution:
{
integrity: sha512-xk7eMjw4+roWWR/0ETIoToCNs2wdvCGgQUiUO390Rj33/82yxZsh+ODRSaFWkiKp8zHWQN5GCW+U5pfjt/gyQg==,
}
dependencies:
glob: 7.1.7
dev: false
/@next/eslint-plugin-next/12.2.0:
resolution:
{
@@ -3451,7 +3448,6 @@ packages:
}
dependencies:
glob: 7.1.7
dev: true
/@next/swc-android-arm-eabi/12.2.0:
resolution:
@@ -3638,7 +3634,7 @@ packages:
}
dev: true
/@prisma/client/3.9.0_prisma@3.9.0:
/@prisma/client/3.9.0_prisma@4.0.0:
resolution:
{
integrity: sha512-PByWVI7l+KYUQL/pqR81363qhUh3LhYMIYn2czz5slbt3JC6aAk+Wm7PE9nalqSE6s4xSIYdHj6N0yTNqr86sA==,
@@ -3652,7 +3648,7 @@ packages:
optional: true
dependencies:
"@prisma/engines-version": 3.9.0-58.bcc2ff906db47790ee902e7bbc76d7ffb1893009
prisma: 3.9.0
prisma: 4.0.0
dev: false
/@prisma/engines-version/3.9.0-58.bcc2ff906db47790ee902e7bbc76d7ffb1893009:
@@ -3662,10 +3658,10 @@ packages:
}
dev: false
/@prisma/engines/3.9.0-58.bcc2ff906db47790ee902e7bbc76d7ffb1893009:
/@prisma/engines/3.16.0-49.da41d2bb3406da22087b849f0e911199ba4fbf11:
resolution:
{
integrity: sha512-qM+uJbkelB21bnK44gYE049YTHIjHysOuj0mj5U2gDGyNLfmiazlggzFPCgEjgme4U5YB2tYs6Z5Hq08Kl8pjA==,
integrity: sha512-u/rG4lDHALolWBLr3yebZ+N2qImp3SDMcu7bHNJuRDaYvYEXy/MqfNRNEgd9GoPsXL3gofYf0VzJf2AmCG3YVw==,
}
requiresBuild: true
dev: false
@@ -4751,6 +4747,35 @@ packages:
dev: true
optional: true
/@typescript-eslint/eslint-plugin/5.9.1_hrkuebk64jiu2ut2d2sm4oylnu:
resolution:
{
integrity: sha512-Xv9tkFlyD4MQGpJgTo6wqDqGvHIRmRgah/2Sjz1PUnJTawjHWIwBivUE9x0QtU2WVii9baYgavo/bHjrZJkqTw==,
}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
"@typescript-eslint/parser": ^5.0.0
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
typescript: "*"
peerDependenciesMeta:
typescript:
optional: true
dependencies:
"@typescript-eslint/experimental-utils": 5.9.1_hrkuebk64jiu2ut2d2sm4oylnu
"@typescript-eslint/scope-manager": 5.9.1
"@typescript-eslint/type-utils": 5.9.1_hrkuebk64jiu2ut2d2sm4oylnu
debug: 4.3.4
eslint: 7.32.0
functional-red-black-tree: 1.0.1
ignore: 5.2.0
regexpp: 3.2.0
semver: 7.3.7
tsutils: 3.21.0_typescript@4.6.3
typescript: 4.6.3
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/eslint-plugin/5.9.1_rvfvfrvgktle2hmlnfpjw2zp4u:
resolution:
{
@@ -4890,6 +4915,27 @@ packages:
- supports-color
dev: true
/@typescript-eslint/parser/5.28.0_typescript@4.6.3:
resolution:
{
integrity: sha512-ekqoNRNK1lAcKhZESN/PdpVsWbP9jtiNqzFWkp/yAUdZvJalw2heCYuqRmM5eUJSIYEkgq5sGOjq+ZqsLMjtRA==,
}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
typescript: "*"
peerDependenciesMeta:
typescript:
optional: true
dependencies:
"@typescript-eslint/scope-manager": 5.28.0
"@typescript-eslint/types": 5.28.0
"@typescript-eslint/typescript-estree": 5.28.0_typescript@4.6.3
debug: 4.3.4
typescript: 4.6.3
transitivePeerDependencies:
- supports-color
/@typescript-eslint/parser/5.9.1_hrkuebk64jiu2ut2d2sm4oylnu:
resolution:
{
@@ -4944,7 +4990,6 @@ packages:
dependencies:
"@typescript-eslint/types": 5.28.0
"@typescript-eslint/visitor-keys": 5.28.0
dev: true
/@typescript-eslint/scope-manager/5.9.1:
resolution:
@@ -5005,7 +5050,6 @@ packages:
integrity: sha512-2OOm8ZTOQxqkPbf+DAo8oc16sDlVR5owgJfKheBkxBKg1vAfw2JsSofH9+16VPlN9PWtv8Wzhklkqw3k/zCVxA==,
}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/@typescript-eslint/types/5.9.1:
resolution:
@@ -5036,7 +5080,6 @@ packages:
typescript: 4.6.3
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/typescript-estree/5.9.1_typescript@4.6.3:
resolution:
@@ -5091,7 +5134,6 @@ packages:
dependencies:
"@typescript-eslint/types": 5.28.0
eslint-visitor-keys: 3.3.0
dev: true
/@typescript-eslint/visitor-keys/5.9.1:
resolution:
@@ -6659,6 +6701,7 @@ packages:
{
integrity: sha512-ksjJc/xVTQzT2q6trPja2qWynMEaGO36rDui2SiqLPYab9TmPgT8nIVcre/yscviPCSweUdCDGKe4MsQA9w1zQ==,
}
deprecated: core-js-pure@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js-pure.
requiresBuild: true
/core-util-is/1.0.3:
@@ -8304,34 +8347,6 @@ packages:
optionalDependencies:
source-map: 0.6.1
/eslint-config-next/12.0.7_typescript@4.6.3:
resolution:
{
integrity: sha512-kWOaym5qjyzR190zFKkZMaHetmiRORmzJiKML7Kr9CL213S6SwkrHHCEL58TRdpx0NA+HzrsFR9zgcV2pvV2Yg==,
}
peerDependencies:
eslint: ^7.23.0 || ^8.0.0
next: ">=10.2.0"
typescript: ">=3.3.1"
peerDependenciesMeta:
typescript:
optional: true
dependencies:
"@next/eslint-plugin-next": 12.0.7
"@rushstack/eslint-patch": 1.1.3
"@typescript-eslint/parser": 5.9.1_typescript@4.6.3
eslint-import-resolver-node: 0.3.6
eslint-import-resolver-typescript: 2.7.1_fkfqfehjtk7sk2efaqbgxsuasa
eslint-plugin-import: 2.26.0_oisyptfcq77gha3jnxd6iiraai
eslint-plugin-jsx-a11y: 6.5.1
eslint-plugin-react: 7.30.0
eslint-plugin-react-hooks: 4.5.0
typescript: 4.6.3
transitivePeerDependencies:
- eslint-import-resolver-webpack
- supports-color
dev: false
/eslint-config-next/12.2.0_hrkuebk64jiu2ut2d2sm4oylnu:
resolution:
{
@@ -8360,16 +8375,55 @@ packages:
- supports-color
dev: true
/eslint-config-prettier/8.3.0:
/eslint-config-next/12.2.0_typescript@4.6.3:
resolution:
{
integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==,
integrity: sha512-QWzNegadFXjQ0h3hixnLacRM9Kot85vQefyNsA8IeOnERZMz0Gvays1W6DMCjSxJbnCwuWaMXj9DCpar5IahRA==,
}
peerDependencies:
eslint: ^7.23.0 || ^8.0.0
typescript: ">=3.3.1"
peerDependenciesMeta:
typescript:
optional: true
dependencies:
"@next/eslint-plugin-next": 12.2.0
"@rushstack/eslint-patch": 1.1.3
"@typescript-eslint/parser": 5.28.0_typescript@4.6.3
eslint-import-resolver-node: 0.3.6
eslint-import-resolver-typescript: 2.7.1_fkfqfehjtk7sk2efaqbgxsuasa
eslint-plugin-import: 2.26.0_xtdmsd4adcznatktegie3poqce
eslint-plugin-jsx-a11y: 6.5.1
eslint-plugin-react: 7.30.0
eslint-plugin-react-hooks: 4.5.0
typescript: 4.6.3
transitivePeerDependencies:
- eslint-import-resolver-webpack
- supports-color
dev: false
/eslint-config-prettier/8.5.0:
resolution:
{
integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==,
}
hasBin: true
peerDependencies:
eslint: ">=7.0.0"
dev: false
/eslint-config-prettier/8.5.0_eslint@7.32.0:
resolution:
{
integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==,
}
hasBin: true
peerDependencies:
eslint: ">=7.0.0"
dependencies:
eslint: 7.32.0
dev: true
/eslint-import-resolver-node/0.3.6:
resolution:
{
@@ -8392,14 +8446,13 @@ packages:
eslint-plugin-import: "*"
dependencies:
debug: 4.3.4
eslint-plugin-import: 2.26.0_oisyptfcq77gha3jnxd6iiraai
eslint-plugin-import: 2.26.0_xtdmsd4adcznatktegie3poqce
glob: 7.2.0
is-glob: 4.0.3
resolve: 1.22.0
tsconfig-paths: 3.14.1
transitivePeerDependencies:
- supports-color
dev: false
/eslint-import-resolver-typescript/2.7.1_hpmu7kn6tcn2vnxpfzvv33bxmy:
resolution:
@@ -8422,36 +8475,6 @@ packages:
- supports-color
dev: true
/eslint-module-utils/2.7.3_dbnyosdljuntx5ukba4qoruhni:
resolution:
{
integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==,
}
engines: {node: ">=4"}
peerDependencies:
"@typescript-eslint/parser": "*"
eslint-import-resolver-node: "*"
eslint-import-resolver-typescript: "*"
eslint-import-resolver-webpack: "*"
peerDependenciesMeta:
"@typescript-eslint/parser":
optional: true
eslint-import-resolver-node:
optional: true
eslint-import-resolver-typescript:
optional: true
eslint-import-resolver-webpack:
optional: true
dependencies:
"@typescript-eslint/parser": 5.9.1_typescript@4.6.3
debug: 3.2.7
eslint-import-resolver-node: 0.3.6
eslint-import-resolver-typescript: 2.7.1_fkfqfehjtk7sk2efaqbgxsuasa
find-up: 2.1.0
transitivePeerDependencies:
- supports-color
dev: false
/eslint-module-utils/2.7.3_pbmiczca3qpqvnkfcriol7sq7u:
resolution:
{
@@ -8473,16 +8496,15 @@ packages:
eslint-import-resolver-webpack:
optional: true
dependencies:
"@typescript-eslint/parser": 5.28.0_hrkuebk64jiu2ut2d2sm4oylnu
"@typescript-eslint/parser": 5.28.0_typescript@4.6.3
debug: 3.2.7
eslint-import-resolver-node: 0.3.6
eslint-import-resolver-typescript: 2.7.1_hpmu7kn6tcn2vnxpfzvv33bxmy
eslint-import-resolver-typescript: 2.7.1_fkfqfehjtk7sk2efaqbgxsuasa
find-up: 2.1.0
transitivePeerDependencies:
- supports-color
dev: true
/eslint-plugin-import/2.26.0_oisyptfcq77gha3jnxd6iiraai:
/eslint-plugin-import/2.26.0_xtdmsd4adcznatktegie3poqce:
resolution:
{
integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==,
@@ -8495,13 +8517,13 @@ packages:
"@typescript-eslint/parser":
optional: true
dependencies:
"@typescript-eslint/parser": 5.9.1_typescript@4.6.3
"@typescript-eslint/parser": 5.28.0_typescript@4.6.3
array-includes: 3.1.5
array.prototype.flat: 1.3.0
debug: 2.6.9
doctrine: 2.1.0
eslint-import-resolver-node: 0.3.6
eslint-module-utils: 2.7.3_dbnyosdljuntx5ukba4qoruhni
eslint-module-utils: 2.7.3_pbmiczca3qpqvnkfcriol7sq7u
has: 1.0.3
is-core-module: 2.8.1
is-glob: 4.0.3
@@ -8513,7 +8535,6 @@ packages:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
dev: false
/eslint-plugin-import/2.26.0_zhtk6rij7obli3ams3sxis7j7e:
resolution:
@@ -13911,16 +13932,16 @@ packages:
- supports-color
dev: true
/prisma/3.9.0:
/prisma/4.0.0:
resolution:
{
integrity: sha512-KppIukAgJH6o4q9CRYQUqpJUFt8XOK+5eTlv9W+w/SnaSzar+zbT7RCxspCkoGGVSASAQDMYWSKm3QON/o5ENg==,
integrity: sha512-Dtsar03XpCBkcEb2ooGWO/WcgblDTLzGhPcustbehwlFXuTMliMDRzXsfygsgYwQoZnAUKRd1rhpvBNEUziOVw==,
}
engines: {node: ">=12.6"}
engines: {node: ">=14.17"}
hasBin: true
requiresBuild: true
dependencies:
"@prisma/engines": 3.9.0-58.bcc2ff906db47790ee902e7bbc76d7ffb1893009
"@prisma/engines": 3.16.0-49.da41d2bb3406da22087b849f0e911199ba4fbf11
dev: false
/process-nextick-args/2.0.1: