Compare commits
9 Commits
@blitzjs/a
...
@blitzjs/c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
30bb474abb | ||
|
|
135b30efde | ||
|
|
527e48ac3e | ||
|
|
b905270875 | ||
|
|
96ea5291e4 | ||
|
|
9c2e7d372c | ||
|
|
493d505b24 | ||
|
|
09da992bef | ||
|
|
bbac7906e8 |
5
.changeset/empty-turkeys-wave.md
Normal file
5
.changeset/empty-turkeys-wave.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@blitzjs/next": patch
|
||||
---
|
||||
|
||||
Use `useRouter` from next/router in useParams function
|
||||
5
.changeset/fuzzy-jars-admire.md
Normal file
5
.changeset/fuzzy-jars-admire.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@blitzjs/codemod": patch
|
||||
---
|
||||
|
||||
fix codemod for wrapping \_app arrow function & fix codemod for nested pages directory
|
||||
@@ -27,11 +27,13 @@
|
||||
"dirty-monkeys-greet",
|
||||
"eleven-humans-sort",
|
||||
"empty-berries-rule",
|
||||
"empty-turkeys-wave",
|
||||
"fair-wombats-sneeze",
|
||||
"famous-kings-explain",
|
||||
"fast-trainers-kneel",
|
||||
"flat-bees-approve",
|
||||
"four-meals-fry",
|
||||
"fuzzy-jars-admire",
|
||||
"gentle-dogs-reply",
|
||||
"great-months-train",
|
||||
"green-papayas-do",
|
||||
@@ -68,6 +70,7 @@
|
||||
"thirty-countries-build",
|
||||
"twenty-beans-pump",
|
||||
"two-kiwis-help",
|
||||
"two-tigers-type",
|
||||
"unlucky-papayas-sleep",
|
||||
"violet-bags-leave",
|
||||
"violet-lions-help",
|
||||
|
||||
5
.changeset/two-tigers-type.md
Normal file
5
.changeset/two-tigers-type.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"blitz": patch
|
||||
---
|
||||
|
||||
Fix running bin commands with Blitz CLI
|
||||
@@ -29,7 +29,7 @@
|
||||
"@blitzjs/rpc": "workspace:*",
|
||||
"@hookform/resolvers": "2.8.8",
|
||||
"@prisma/client": "3.9.0",
|
||||
"blitz": "workspace:2.0.0-alpha.40",
|
||||
"blitz": "workspace:2.0.0-alpha.43",
|
||||
"next": "12.1.6-canary.17",
|
||||
"prisma": "3.9.0",
|
||||
"react": "18.0.0",
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# @blitzjs/auth
|
||||
|
||||
## 2.0.0-alpha.43
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [527e48ac]
|
||||
- blitz@2.0.0-alpha.43
|
||||
|
||||
## 2.0.0-alpha.42
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- blitz@2.0.0-alpha.42
|
||||
|
||||
## 2.0.0-alpha.41
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- blitz@2.0.0-alpha.41
|
||||
|
||||
## 2.0.0-alpha.40
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@blitzjs/auth",
|
||||
"version": "2.0.0-alpha.40",
|
||||
"version": "2.0.0-alpha.43",
|
||||
"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.40",
|
||||
"blitz": "2.0.0-alpha.43",
|
||||
"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.40",
|
||||
"@blitzjs/config": "workspace:2.0.0-alpha.43",
|
||||
"@testing-library/react": "13.0.0",
|
||||
"@testing-library/react-hooks": "7.0.2",
|
||||
"@types/cookie": "0.4.1",
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# @blitzjs/next
|
||||
|
||||
## 2.0.0-alpha.43
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @blitzjs/rpc@2.0.0-alpha.43
|
||||
|
||||
## 2.0.0-alpha.42
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 9c2e7d37: Use `useRouter` from next/router in useParams function
|
||||
- @blitzjs/rpc@2.0.0-alpha.42
|
||||
|
||||
## 2.0.0-alpha.41
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @blitzjs/rpc@2.0.0-alpha.41
|
||||
|
||||
## 2.0.0-alpha.40
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@blitzjs/next",
|
||||
"version": "2.0.0-alpha.40",
|
||||
"version": "2.0.0-alpha.43",
|
||||
"scripts": {
|
||||
"build": "unbuild",
|
||||
"dev": "pnpm predev && pnpm watch unbuild src --wait=0.2",
|
||||
@@ -23,7 +23,7 @@
|
||||
"eslint.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@blitzjs/rpc": "2.0.0-alpha.40",
|
||||
"@blitzjs/rpc": "2.0.0-alpha.43",
|
||||
"@types/hoist-non-react-statics": "3.3.1",
|
||||
"debug": "4.3.3",
|
||||
"fs-extra": "10.0.1",
|
||||
@@ -32,7 +32,7 @@
|
||||
"superjson": "1.8.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@blitzjs/config": "workspace:2.0.0-alpha.40",
|
||||
"@blitzjs/config": "workspace:2.0.0-alpha.43",
|
||||
"@testing-library/dom": "8.13.0",
|
||||
"@testing-library/jest-dom": "5.16.3",
|
||||
"@testing-library/react": "13.0.0",
|
||||
@@ -42,7 +42,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.40",
|
||||
"blitz": "2.0.0-alpha.43",
|
||||
"cross-spawn": "7.0.3",
|
||||
"find-up": "4.1.0",
|
||||
"next": "12.1.6-canary.17",
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
/**
|
||||
* @vitest-environment jsdom
|
||||
*/
|
||||
|
||||
import React from "react"
|
||||
import {describe, it, expect, vi} from "vitest"
|
||||
import {describe, it, expect, vi, afterEach} from "vitest"
|
||||
import {extractRouterParams, useParam, useParams} from "./use-params"
|
||||
import {renderHook as defaultRenderHook} from "@testing-library/react-hooks"
|
||||
import {NextRouter} from "next/router"
|
||||
@@ -16,6 +15,14 @@ type RenderHookOptions = DefaultHookParams[1] & {
|
||||
dehydratedState?: unknown
|
||||
}
|
||||
|
||||
// This is the router query object which includes route params
|
||||
const query = {
|
||||
id: "1",
|
||||
cat: "category",
|
||||
slug: ["example", "multiple", "slugs"],
|
||||
empty: "",
|
||||
}
|
||||
|
||||
const mockRouter: NextRouter = {
|
||||
basePath: "",
|
||||
pathname: "/",
|
||||
@@ -54,6 +61,10 @@ export function renderHook(
|
||||
}
|
||||
|
||||
describe("extractRouterParams", () => {
|
||||
afterEach(() => {
|
||||
vi.clearAllMocks()
|
||||
})
|
||||
|
||||
it("returns proper params", () => {
|
||||
const routerQuery = {
|
||||
id: "1",
|
||||
@@ -81,92 +92,99 @@ describe("extractRouterParams", () => {
|
||||
})
|
||||
|
||||
describe("useParams", () => {
|
||||
afterEach(() => {
|
||||
vi.clearAllMocks()
|
||||
})
|
||||
|
||||
it("works without parameter", () => {
|
||||
// This is the router query object which includes route params
|
||||
const query = {
|
||||
id: "1",
|
||||
cat: "category",
|
||||
slug: ["example", "multiple", "slugs"],
|
||||
empty: "",
|
||||
}
|
||||
|
||||
const {result} = renderHook(() => useParams(), {router: {query}})
|
||||
expect(result.current).toEqual({
|
||||
id: "1",
|
||||
cat: "category",
|
||||
slug: ["example", "multiple", "slugs"],
|
||||
empty: "",
|
||||
vi.mock("next/router", () => {
|
||||
return {
|
||||
useRouter: vi.fn(() => ({...mockRouter, query})),
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
it("works with string", () => {
|
||||
// This is the router query object which includes route params
|
||||
const query = {
|
||||
id: "1",
|
||||
cat: "category",
|
||||
slug: ["example", "multiple", "slugs"],
|
||||
empty: "",
|
||||
}
|
||||
it("works with string", () => {
|
||||
vi.mock("next/router", () => {
|
||||
return {
|
||||
useRouter: vi.fn(() => ({...mockRouter, query})),
|
||||
}
|
||||
})
|
||||
|
||||
const {result} = renderHook(() => useParams("string"), {
|
||||
router: {query},
|
||||
const {result} = renderHook(() => useParams("string"), {
|
||||
router: {query},
|
||||
})
|
||||
expect(result.current).toEqual({
|
||||
id: "1",
|
||||
cat: "category",
|
||||
empty: "",
|
||||
})
|
||||
})
|
||||
expect(result.current).toEqual({
|
||||
id: "1",
|
||||
cat: "category",
|
||||
empty: "",
|
||||
})
|
||||
})
|
||||
|
||||
it("works with number", () => {
|
||||
// This is the router query object which includes route params
|
||||
const query = {
|
||||
id: "1",
|
||||
cat: "category",
|
||||
slug: ["example", "multiple", "slugs"],
|
||||
empty: "",
|
||||
}
|
||||
it("works with string", () => {
|
||||
vi.mock("next/router", () => {
|
||||
return {
|
||||
useRouter: vi.fn(() => ({...mockRouter, query})),
|
||||
}
|
||||
})
|
||||
|
||||
const {result} = renderHook(() => useParams("number"), {
|
||||
router: {query},
|
||||
const {result} = renderHook(() => useParams("string"), {
|
||||
router: {query},
|
||||
})
|
||||
expect(result.current).toEqual({
|
||||
id: "1",
|
||||
cat: "category",
|
||||
empty: "",
|
||||
})
|
||||
})
|
||||
expect(result.current).toEqual({
|
||||
id: 1,
|
||||
cat: undefined,
|
||||
slug: undefined,
|
||||
})
|
||||
})
|
||||
|
||||
it("works with array", () => {
|
||||
// This is the router query object which includes route params
|
||||
const query = {
|
||||
id: "1",
|
||||
cat: "category",
|
||||
slug: ["example", "multiple", "slugs"],
|
||||
empty: "",
|
||||
}
|
||||
it("works with number", () => {
|
||||
vi.mock("next/router", () => {
|
||||
return {
|
||||
useRouter: vi.fn(() => ({...mockRouter, query})),
|
||||
}
|
||||
})
|
||||
|
||||
const {result} = renderHook(() => useParams("array"), {
|
||||
router: {query},
|
||||
const {result} = renderHook(() => useParams("number"), {
|
||||
router: {query},
|
||||
})
|
||||
expect(result.current).toEqual({
|
||||
id: 1,
|
||||
cat: undefined,
|
||||
slug: undefined,
|
||||
})
|
||||
})
|
||||
expect(result.current).toEqual({
|
||||
id: ["1"],
|
||||
cat: ["category"],
|
||||
slug: ["example", "multiple", "slugs"],
|
||||
empty: [""],
|
||||
|
||||
it("works with array", () => {
|
||||
vi.mock("next/router", () => {
|
||||
return {
|
||||
useRouter: vi.fn(() => ({...mockRouter, query})),
|
||||
}
|
||||
})
|
||||
|
||||
const {result} = renderHook(() => useParams("array"), {
|
||||
router: {query},
|
||||
})
|
||||
expect(result.current).toEqual({
|
||||
id: ["1"],
|
||||
cat: ["category"],
|
||||
slug: ["example", "multiple", "slugs"],
|
||||
empty: [""],
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
describe("useParam", () => {
|
||||
afterEach(() => {
|
||||
vi.clearAllMocks()
|
||||
})
|
||||
|
||||
it("works without parameter", () => {
|
||||
// This is the router query object which includes route params
|
||||
const query = {
|
||||
id: "1",
|
||||
cat: "category",
|
||||
slug: ["example", "multiple", "slugs"],
|
||||
empty: "",
|
||||
}
|
||||
vi.mock("next/router", () => {
|
||||
return {
|
||||
useRouter: vi.fn(() => ({...mockRouter, query})),
|
||||
}
|
||||
})
|
||||
|
||||
let {result} = renderHook(() => useParam("id"), {router: {query}})
|
||||
expect(result.current).toEqual("1")
|
||||
@@ -183,13 +201,11 @@ describe("useParam", () => {
|
||||
})
|
||||
|
||||
it("works with string", () => {
|
||||
// This is the router query object which includes route params
|
||||
const query = {
|
||||
id: "1",
|
||||
cat: "category",
|
||||
slug: ["example", "multiple", "slugs"],
|
||||
empty: "",
|
||||
}
|
||||
vi.mock("next/router", () => {
|
||||
return {
|
||||
useRouter: vi.fn(() => ({...mockRouter, query})),
|
||||
}
|
||||
})
|
||||
|
||||
let {result} = renderHook(() => useParam("id", "string"), {
|
||||
router: {query},
|
||||
|
||||
@@ -1,21 +1,10 @@
|
||||
import {NextRouter} from "next/router"
|
||||
import {useRouter} from "next/router"
|
||||
import {ParsedUrlQuery} from "querystring"
|
||||
import React from "react"
|
||||
import {RouterContext} from "./router-context"
|
||||
|
||||
type Dict<T> = Record<string, T | undefined>
|
||||
type ReturnTypes = "string" | "number" | "array"
|
||||
|
||||
/**
|
||||
* `useRouter` is a React hook used to access `router` object within components
|
||||
*
|
||||
* @returns `router` object
|
||||
* @see Docs {@link https://blitzjs.com/docs/router#router-object | router}
|
||||
*/
|
||||
export function useRouter(): NextRouter {
|
||||
return React.useContext(RouterContext)
|
||||
}
|
||||
|
||||
/*
|
||||
* Based on the code of https://github.com/lukeed/qss
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,27 @@
|
||||
# @blitzjs/rpc
|
||||
|
||||
## 2.0.0-alpha.43
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [527e48ac]
|
||||
- blitz@2.0.0-alpha.43
|
||||
- @blitzjs/auth@2.0.0-alpha.43
|
||||
|
||||
## 2.0.0-alpha.42
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @blitzjs/auth@2.0.0-alpha.42
|
||||
- blitz@2.0.0-alpha.42
|
||||
|
||||
## 2.0.0-alpha.41
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @blitzjs/auth@2.0.0-alpha.41
|
||||
- blitz@2.0.0-alpha.41
|
||||
|
||||
## 2.0.0-alpha.40
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@blitzjs/rpc",
|
||||
"version": "2.0.0-alpha.40",
|
||||
"version": "2.0.0-alpha.43",
|
||||
"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.40",
|
||||
"@blitzjs/auth": "2.0.0-alpha.43",
|
||||
"b64-lite": "1.4.0",
|
||||
"bad-behavior": "1.0.1",
|
||||
"chalk": "^4.1.0",
|
||||
@@ -30,11 +30,11 @@
|
||||
"zod": "3.10.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@blitzjs/config": "workspace:2.0.0-alpha.40",
|
||||
"@blitzjs/config": "workspace:2.0.0-alpha.43",
|
||||
"@types/debug": "4.1.7",
|
||||
"@types/react": "18.0.1",
|
||||
"@types/react-dom": "17.0.14",
|
||||
"blitz": "2.0.0-alpha.40",
|
||||
"blitz": "2.0.0-alpha.43",
|
||||
"next": "12.1.6-canary.17",
|
||||
"react": "18.0.0",
|
||||
"react-dom": "18.0.0",
|
||||
@@ -43,7 +43,7 @@
|
||||
"watch": "1.0.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"blitz": "2.0.0-alpha.40",
|
||||
"blitz": "2.0.0-alpha.43",
|
||||
"next": "*"
|
||||
},
|
||||
"publishConfig": {
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# blitz
|
||||
|
||||
## 2.0.0-alpha.43
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 527e48ac: Fix running bin commands with Blitz CLI
|
||||
- @blitzjs/generator@2.0.0-alpha.43
|
||||
|
||||
## 2.0.0-alpha.42
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @blitzjs/generator@2.0.0-alpha.42
|
||||
|
||||
## 2.0.0-alpha.41
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @blitzjs/generator@2.0.0-alpha.41
|
||||
|
||||
## 2.0.0-alpha.40
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "blitz",
|
||||
"version": "2.0.0-alpha.40",
|
||||
"version": "2.0.0-alpha.43",
|
||||
"scripts": {
|
||||
"build": "unbuild",
|
||||
"dev": "watch unbuild src --wait=0.2",
|
||||
@@ -23,7 +23,7 @@
|
||||
"blitz": "bin/blitz"
|
||||
},
|
||||
"dependencies": {
|
||||
"@blitzjs/generator": "2.0.0-alpha.40",
|
||||
"@blitzjs/generator": "2.0.0-alpha.43",
|
||||
"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.40",
|
||||
"@blitzjs/config": "workspace:2.0.0-alpha.43",
|
||||
"@types/cookie": "0.4.1",
|
||||
"@types/cross-spawn": "6.0.2",
|
||||
"@types/debug": "4.1.7",
|
||||
|
||||
@@ -46,26 +46,28 @@ const aliases: Record<string, keyof typeof commands> = {
|
||||
|
||||
type Command = keyof typeof commands
|
||||
type Alias = keyof typeof aliases
|
||||
const defaultCommand: Command = "dev"
|
||||
|
||||
const foundCommand = Boolean(commands[args._[0] as Command])
|
||||
const foundAlias = Boolean(aliases[args._[0] as Alias])
|
||||
let command: Command = defaultCommand
|
||||
if (foundCommand) {
|
||||
command = args._[0] as Command
|
||||
let blitzCommand: Command | undefined
|
||||
if (commands[args._[0] as Command]) {
|
||||
blitzCommand = args._[0] as Command
|
||||
}
|
||||
if (foundAlias) {
|
||||
command = aliases[args._[0] as Alias] as Command
|
||||
if (aliases[args._[0] as Alias]) {
|
||||
blitzCommand = aliases[args._[0] as Alias]
|
||||
}
|
||||
const forwardedArgs = foundCommand || foundAlias ? args._.slice(1) : args._
|
||||
|
||||
const forwardedArgs = blitzCommand ? args._.slice(1) : args._
|
||||
|
||||
const globalBlitzPath = resolveFrom(__dirname, "blitz")
|
||||
const localBlitzPath = resolveFrom.silent(process.cwd(), "blitz")
|
||||
|
||||
async function runCommandFromBin() {
|
||||
if (!args._[0]) {
|
||||
console.log("No command specified")
|
||||
process.exit(1)
|
||||
}
|
||||
let commandBin: string | null = null
|
||||
try {
|
||||
commandBin = await getCommandBin(command)
|
||||
commandBin = await getCommandBin(args._[0])
|
||||
} catch (e: any) {
|
||||
console.error(`Error: ${e.message}`)
|
||||
}
|
||||
@@ -143,7 +145,8 @@ async function main() {
|
||||
}
|
||||
|
||||
// env variable should default to dev unless the command is build or start
|
||||
const defaultEnv = command === "build" || command === "start" ? "production" : "development"
|
||||
const defaultEnv =
|
||||
blitzCommand === "build" || blitzCommand === "start" ? "production" : "development"
|
||||
|
||||
const standardEnv = ["production", "development", "test"]
|
||||
if (process.env.NODE_ENV && !standardEnv.includes(process.env.NODE_ENV)) {
|
||||
@@ -156,12 +159,12 @@ async function main() {
|
||||
process.on("SIGTERM", () => process.exit(0))
|
||||
process.on("SIGINT", () => process.exit(0))
|
||||
|
||||
if (foundCommand || foundAlias) {
|
||||
const commandFn = commands[command] || aliases[command]
|
||||
if (blitzCommand) {
|
||||
const commandFn = commands[blitzCommand]
|
||||
commandFn?.()
|
||||
.then((exec: any) => exec(forwardedArgs))
|
||||
.then(() => {
|
||||
if (command === "build") {
|
||||
if (blitzCommand === "build") {
|
||||
// ensure process exits after build completes so open handles/connections
|
||||
// don't cause process to hang
|
||||
process.exit(0)
|
||||
|
||||
@@ -1,5 +1,28 @@
|
||||
# @blitzjs/codemod
|
||||
|
||||
## 2.0.0-alpha.43
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [527e48ac]
|
||||
- blitz@2.0.0-alpha.43
|
||||
- @blitzjs/generator@2.0.0-alpha.43
|
||||
|
||||
## 2.0.0-alpha.42
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @blitzjs/generator@2.0.0-alpha.42
|
||||
- blitz@2.0.0-alpha.42
|
||||
|
||||
## 2.0.0-alpha.41
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- bbac7906: fix codemod for wrapping \_app arrow function & fix codemod for nested pages directory
|
||||
- @blitzjs/generator@2.0.0-alpha.41
|
||||
- blitz@2.0.0-alpha.41
|
||||
|
||||
## 2.0.0-alpha.40
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@blitzjs/codemod",
|
||||
"version": "2.0.0-alpha.40",
|
||||
"version": "2.0.0-alpha.43",
|
||||
"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.40",
|
||||
"@blitzjs/generator": "2.0.0-alpha.43",
|
||||
"arg": "5.0.1",
|
||||
"blitz": "2.0.0-alpha.40",
|
||||
"blitz": "2.0.0-alpha.43",
|
||||
"chalk": "^4.1.0",
|
||||
"cross-spawn": "7.0.3",
|
||||
"debug": "4.3.3",
|
||||
|
||||
@@ -374,6 +374,35 @@ const upgradeLegacy = async () => {
|
||||
},
|
||||
})
|
||||
|
||||
steps.push({
|
||||
name: "Add cookiePrefix to blitz server",
|
||||
action: async () => {
|
||||
const blitzConfigProgram = getCollectionFromSource(blitzConfigFile)
|
||||
const cookieIdentifier = blitzConfigProgram.find(
|
||||
j.Identifier,
|
||||
(node) => node.name === "cookiePrefix",
|
||||
)
|
||||
if (cookieIdentifier.length) {
|
||||
const cookiePrefix = cookieIdentifier.get().parentPath.value.value.value
|
||||
const blitzClientProgram = getCollectionFromSource(
|
||||
path.join(appDir, `blitz-client.${isTypescript ? "ts" : "js"}`),
|
||||
)
|
||||
const cookieIdentifierBlitzClient = blitzClientProgram.find(
|
||||
j.Identifier,
|
||||
(node) => node.name === "cookiePrefix",
|
||||
)
|
||||
cookieIdentifierBlitzClient.get().parentPath.value.value.value = cookiePrefix
|
||||
|
||||
fs.writeFileSync(
|
||||
`${appDir}/blitz-client.${isTypescript ? "ts" : "js"}`,
|
||||
blitzClientProgram.toSource(),
|
||||
)
|
||||
} else {
|
||||
log.error("Cookie Prefix not found in blitz config file")
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
steps.push({
|
||||
name: "create pages/api/rpc directory and add [[...blitz]].ts wildecard API route",
|
||||
action: async () => {
|
||||
@@ -479,22 +508,41 @@ const upgradeLegacy = async () => {
|
||||
return pageDir
|
||||
}
|
||||
|
||||
getAllPagesDirs(appDir).forEach((pages, index) => {
|
||||
getAllPagesDirs(appDir).forEach((pages) => {
|
||||
if (pages.subModel) {
|
||||
fs.moveSync(pages.path, path.join(path.resolve("pages"), pages.model, pages.subModel))
|
||||
// If the directory exists with a sub model (sub page directory), loop through the directory manually move each file/directory
|
||||
if (fs.existsSync(path.join(path.resolve("pages"), pages.model))) {
|
||||
let subs = fs.readdirSync(pages.path)
|
||||
subs.forEach((sub) => {
|
||||
fs.moveSync(
|
||||
path.join(pages.path, sub),
|
||||
path.join(path.resolve("pages"), pages.model, pages.subModel!, sub),
|
||||
)
|
||||
})
|
||||
} else {
|
||||
fs.moveSync(pages.path, path.join(path.resolve("pages"), pages.model, pages.subModel))
|
||||
}
|
||||
} else {
|
||||
fs.moveSync(pages.path, path.join(path.resolve("pages"), pages.model))
|
||||
// If the directory exists without a sub model (sub page directory), loop through the directory manually move each file/directory
|
||||
if (fs.existsSync(path.join(path.resolve("pages"), pages.model))) {
|
||||
let subs = fs.readdirSync(pages.path)
|
||||
subs.forEach((sub) => {
|
||||
fs.moveSync(
|
||||
path.join(pages.path, sub),
|
||||
path.join(path.resolve("pages"), pages.model, sub),
|
||||
)
|
||||
})
|
||||
} else {
|
||||
fs.moveSync(pages.path, path.join(path.resolve("pages"), pages.model))
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
// Delete left over pages directory
|
||||
let subs = fs.readdirSync(path.join(appDir, pages.model))
|
||||
// We can only delete a directory once 😅
|
||||
if (
|
||||
getAllPagesDirs(appDir)[index - 1]?.model !== getAllPagesDirs(appDir)[index]?.model &&
|
||||
index === getAllPagesDirs(appDir).length &&
|
||||
subs.includes("pages")
|
||||
) {
|
||||
fs.removeSync(path.join(appDir, pages.model, "pages"))
|
||||
//Clean up
|
||||
getAllPagesDirs(appDir).forEach((page) => {
|
||||
let subs = fs.readdirSync(path.join(appDir, page.model))
|
||||
if (subs.includes("pages")) {
|
||||
fs.removeSync(path.join(appDir, page.model, "pages"))
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -710,19 +758,38 @@ const upgradeLegacy = async () => {
|
||||
const program = getCollectionFromSource(
|
||||
path.join(pagesDir, `_app.${isTypescript ? "tsx" : "jsx"}`),
|
||||
)
|
||||
|
||||
const appFunction = program.find(j.FunctionDeclaration, (node) => {
|
||||
return node.id.name === "App"
|
||||
})
|
||||
|
||||
// Store the App function
|
||||
const storeFunction = {...appFunction.get().value}
|
||||
const appIdentifier = program.find(j.Identifier, (node) => {
|
||||
return node.name === "App"
|
||||
})
|
||||
|
||||
// Create a new withBlitz call expresion with an empty argument
|
||||
const withBlitzFunction = (appFunction.get().parentPath.value.declaration =
|
||||
j.expressionStatement(j.callExpression(j.identifier("withBlitz"), []))) as any
|
||||
// Push stored function above into the argument
|
||||
withBlitzFunction.expression.arguments.push(storeFunction)
|
||||
if (appFunction.length) {
|
||||
// Store the App function
|
||||
const storeFunction = {...appFunction.get().value}
|
||||
// Create a new withBlitz call expresion with an empty argument
|
||||
const withBlitzFunction = (appFunction.get().parentPath.value.declaration =
|
||||
j.expressionStatement(j.callExpression(j.identifier("withBlitz"), []))) as any
|
||||
// Push stored function above into the argument
|
||||
withBlitzFunction.expression.arguments.push(storeFunction)
|
||||
} else if (appIdentifier.length) {
|
||||
appIdentifier.forEach((a) => {
|
||||
switch (a.name) {
|
||||
case "declaration":
|
||||
const storeFunction = {...a.get().value}
|
||||
// Create a new withBlitz call expresion with an empty argument
|
||||
const withBlitzFunction = (a.get().parentPath.value.declaration =
|
||||
j.expressionStatement(j.callExpression(j.identifier("withBlitz"), []))) as any
|
||||
// Push stored function above into the argument
|
||||
withBlitzFunction.expression.arguments.push(storeFunction)
|
||||
break
|
||||
}
|
||||
})
|
||||
} else {
|
||||
log.error("App function not found")
|
||||
}
|
||||
|
||||
addNamedImport(program, "withBlitz", "app/blitz-client")
|
||||
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# @blitzjs/config
|
||||
|
||||
## 2.0.0-alpha.43
|
||||
|
||||
## 2.0.0-alpha.42
|
||||
|
||||
## 2.0.0-alpha.41
|
||||
|
||||
## 2.0.0-alpha.40
|
||||
|
||||
## 2.0.0-alpha.39
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@blitzjs/config",
|
||||
"private": true,
|
||||
"version": "2.0.0-alpha.40",
|
||||
"version": "2.0.0-alpha.43",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/eslint-plugin": "5.9.1",
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# @blitzjs/generator
|
||||
|
||||
## 2.0.0-alpha.43
|
||||
|
||||
## 2.0.0-alpha.42
|
||||
|
||||
## 2.0.0-alpha.41
|
||||
|
||||
## 2.0.0-alpha.40
|
||||
|
||||
## 2.0.0-alpha.39
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@blitzjs/generator",
|
||||
"version": "2.0.0-alpha.40",
|
||||
"version": "2.0.0-alpha.43",
|
||||
"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.40",
|
||||
"@blitzjs/config": "2.0.0-alpha.43",
|
||||
"@juanm04/cpx": "2.0.1",
|
||||
"@types/babel__core": "7.1.19",
|
||||
"@types/diff": "5.0.2",
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
"@typescript-eslint/parser": "5.9.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@blitzjs/config": "2.0.0-alpha.40",
|
||||
"@blitzjs/config": "2.0.0-alpha.43",
|
||||
"@types/react": "18.0.1",
|
||||
"@types/react-dom": "17.0.14",
|
||||
"react": "18.0.0",
|
||||
|
||||
940
pnpm-lock.yaml
generated
940
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user