create-nifra 1.12.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/agents.js CHANGED
@@ -18,7 +18,7 @@ const FRAMEWORK_LABEL = {
18
18
  const API_RULES = `## The backend: \`server()\`
19
19
 
20
20
  \`\`\`ts
21
- import { server } from "@nifrajs/core"
21
+ import { server } from "@nifrajs/core/server"
22
22
  import { t } from "@nifrajs/schema"
23
23
 
24
24
  export const app = server()
@@ -122,7 +122,7 @@ singleton \`PrismaClient\`).
122
122
 
123
123
  - **Wire it into the backend once**, then read \`c.db\` in handlers:
124
124
  \`\`\`ts
125
- import { server } from "@nifrajs/core"
125
+ import { server } from "@nifrajs/core/server"
126
126
  import { t } from "@nifrajs/schema"
127
127
  import { db } from "./db"
128
128
 
@@ -143,7 +143,7 @@ run by \`db/migrate.ts\`).
143
143
 
144
144
  - **Wire it into the backend once**, then read \`c.db\` in handlers:
145
145
  \`\`\`ts
146
- import { server } from "@nifrajs/core"
146
+ import { server } from "@nifrajs/core/server"
147
147
  import { t } from "@nifrajs/schema"
148
148
  import { db } from "./db"
149
149
 
@@ -162,7 +162,7 @@ typed client).
162
162
 
163
163
  - **Wire it into the backend once**, then read \`c.db\` in handlers:
164
164
  \`\`\`ts
165
- import { server } from "@nifrajs/core"
165
+ import { server } from "@nifrajs/core/server"
166
166
  import { t } from "@nifrajs/schema"
167
167
  import { db, notes } from "./db"
168
168
 
@@ -196,7 +196,7 @@ its ORM adapter). nifra mounts it and gives you typed session guards via \`@nifr
196
196
 
197
197
  - **Mount it once** on the backend — it serves every auth endpoint under \`/api/auth/*\`:
198
198
  \`\`\`ts
199
- import { server } from "@nifrajs/core"
199
+ import { server } from "@nifrajs/core/server"
200
200
  import { betterAuth } from "@nifrajs/better-auth"
201
201
  import { auth } from "./auth"
202
202
  export const app = server().use(betterAuth(auth))
@@ -237,8 +237,8 @@ const COMMANDS = {
237
237
  - \`nifra check\` — typecheck + typed-client lint (run before you call work done)`,
238
238
  site: `- \`bun install\` — install dependencies
239
239
  - \`nifra dev\` — true-HMR dev server
240
- - \`nifra build\` — content-hashed client bundle + manifest (local build)
241
- - \`nifra start\` — serve the built app (SSR) — pairs with \`nifra build\`
240
+ - \`nifra build\` — complete Bun deploy (server + content-hashed client assets)
241
+ - \`nifra start\` — run the generated Bun server — pairs with \`nifra build\`
242
242
  - \`nifra check\` — typecheck + typed-client lint (run before you call work done)
243
243
 
244
244
  For a local production run use \`nifra build && nifra start\` (or \`bun run build:bun && bun run start\`). NOTE:
@@ -246,8 +246,8 @@ const COMMANDS = {
246
246
  — it does NOT pair with \`nifra start\`/\`bun run start\` (which serve \`dist-bun/\`). Don't mix the two.`,
247
247
  isr: `- \`bun install\` — install dependencies
248
248
  - \`nifra dev\` — true-HMR dev server
249
- - \`nifra build\` — content-hashed client bundle + manifest (local build)
250
- - \`nifra start\` — serve the built app (SSR + ISR cache) — pairs with \`nifra build\`
249
+ - \`nifra build\` — complete Bun deploy (server + content-hashed client assets)
250
+ - \`nifra start\` — run the generated Bun server (SSR + ISR cache) — pairs with \`nifra build\`
251
251
  - \`nifra check\` — typecheck + typed-client lint (run before you call work done)
252
252
 
253
253
  For a local production run use \`nifra build && nifra start\`. NOTE: the bare \`bun run build\` script targets
package/dist/auth.js CHANGED
@@ -33,7 +33,7 @@ export const AUTH_PRESETS = {
33
33
  label: "better-auth",
34
34
  note: "email/password + sessions, mounted at /api/auth/* — add OAuth providers in auth.ts.",
35
35
  // @nifrajs/better-auth mounts it; better-auth is the implementation (peer-installed alongside).
36
- deps: { "@nifrajs/better-auth": "^1.12.0", "better-auth": "^1.2.0" },
36
+ deps: { "@nifrajs/better-auth": "^2.0.0", "better-auth": "^1.2.0" },
37
37
  },
38
38
  };
39
39
  /** The better-auth `database` adapter expression + its import line, for the scaffolded DB's ORM. */
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,UAAU,EAA2B,MAAM,SAAS,CAAA;AAE7D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,aAAa,CAAU,CAAA;AAGpD,uGAAuG;AACvG,MAAM,aAAa,GAAqB,IAAI,GAAG,CAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;AAE3E;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAY;IAC3C,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;IAC9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,gDAAgD,EAAE,KAAK,GAAG,wCAAwC;YAChG,iGAAiG,CACpG,CAAA;IACH,CAAC;AACH,CAAC;AAQD,MAAM,CAAC,MAAM,YAAY,GAA6C;IACpE,aAAa,EAAE;QACb,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,qFAAqF;QAC3F,gGAAgG;QAChG,IAAI,EAAE,EAAE,sBAAsB,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;KACrE;CACF,CAAA;AAED,oGAAoG;AACpG,SAAS,UAAU,CAAC,EAAY;IAC9B,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;IACvC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,yFAAyF;QACzF,MAAM,QAAQ,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAA;QACjE,OAAO;YACL,UAAU,EAAE,6DAA6D;YACzE,QAAQ,EAAE,kCAAkC,QAAQ,MAAM;SAC3D,CAAA;IACH,CAAC;IACD,0FAA0F;IAC1F,MAAM,QAAQ,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;IACzD,OAAO;QACL,UAAU,EAAE,+DAA+D;QAC3E,QAAQ,EAAE,mCAAmC,QAAQ,MAAM;KAC5D,CAAA;AACH,CAAC;AAED,2FAA2F;AAC3F,SAAS,UAAU,CAAC,EAAY;IAC9B,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;IAC/C,OAAO;EACP,UAAU;;;;;;;cAOE,QAAQ;;;;;;;;CAQrB,CAAA;AACD,CAAC;AAED,MAAM,GAAG,GAAG;;;;CAIX,CAAA;AAED,8FAA8F;AAC9F,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAc,EACd,KAAiB,EACjB,EAAY;IAEZ,gBAAgB,CAAC,EAAE,CAAC,CAAA,CAAC,4EAA4E;IACjG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;IACxD,yGAAyG;IACzG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,CAAA;AACrD,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,UAAU,EAA2B,MAAM,SAAS,CAAA;AAE7D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,aAAa,CAAU,CAAA;AAGpD,uGAAuG;AACvG,MAAM,aAAa,GAAqB,IAAI,GAAG,CAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;AAE3E;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAY;IAC3C,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;IAC9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,gDAAgD,EAAE,KAAK,GAAG,wCAAwC;YAChG,iGAAiG,CACpG,CAAA;IACH,CAAC;AACH,CAAC;AAQD,MAAM,CAAC,MAAM,YAAY,GAA6C;IACpE,aAAa,EAAE;QACb,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,qFAAqF;QAC3F,gGAAgG;QAChG,IAAI,EAAE,EAAE,sBAAsB,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;KACpE;CACF,CAAA;AAED,oGAAoG;AACpG,SAAS,UAAU,CAAC,EAAY;IAC9B,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;IACvC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,yFAAyF;QACzF,MAAM,QAAQ,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAA;QACjE,OAAO;YACL,UAAU,EAAE,6DAA6D;YACzE,QAAQ,EAAE,kCAAkC,QAAQ,MAAM;SAC3D,CAAA;IACH,CAAC;IACD,0FAA0F;IAC1F,MAAM,QAAQ,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;IACzD,OAAO;QACL,UAAU,EAAE,+DAA+D;QAC3E,QAAQ,EAAE,mCAAmC,QAAQ,MAAM;KAC5D,CAAA;AACH,CAAC;AAED,2FAA2F;AAC3F,SAAS,UAAU,CAAC,EAAY;IAC9B,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;IAC/C,OAAO;EACP,UAAU;;;;;;;cAOE,QAAQ;;;;;;;;CAQrB,CAAA;AACD,CAAC;AAED,MAAM,GAAG,GAAG;;;;CAIX,CAAA;AAED,8FAA8F;AAC9F,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAc,EACd,KAAiB,EACjB,EAAY;IAEZ,gBAAgB,CAAC,EAAE,CAAC,CAAA,CAAC,4EAA4E;IACjG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;IACxD,yGAAyG;IACzG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,CAAA;AACrD,CAAC"}
package/dist/db.js CHANGED
@@ -78,7 +78,7 @@ export type NewNote = typeof notes.$inferInsert
78
78
  // --- typed clients (export \`db\` + re-export the schema) --------------------------------------------
79
79
  // Each prints the same usage header so an agent sees how to wire it (decorate) and query it.
80
80
  const WIRE_DOC = `// Wire it into your backend ONCE, then read \`c.db\` in handlers:
81
- // import { server } from "@nifrajs/core"
81
+ // import { server } from "@nifrajs/core/server"
82
82
  // import { db, notes } from "./db"
83
83
  // export const app = server().decorate("db", db)
84
84
  // .get("/notes", async (c) => c.db.select().from(notes))
@@ -230,7 +230,7 @@ model Note {
230
230
  const PRISMA_CLIENT = `import { PrismaClient } from "@prisma/client"
231
231
 
232
232
  // Wire it into your backend ONCE, then read \`c.db\` in handlers:
233
- // import { server } from "@nifrajs/core"
233
+ // import { server } from "@nifrajs/core/server"
234
234
  // import { db } from "./db"
235
235
  // export const app = server().decorate("db", db)
236
236
  // .get("/notes", async (c) => c.db.note.findMany({ where: { deletedAt: null } }))
@@ -279,7 +279,7 @@ import { Pool } from "pg"
279
279
  import type { DB } from "./schema.ts"
280
280
 
281
281
  // Wire it into your backend ONCE, then read \`c.db\` in handlers:
282
- // import { server } from "@nifrajs/core"
282
+ // import { server } from "@nifrajs/core/server"
283
283
  // import { db } from "./db"
284
284
  // export const app = server().decorate("db", db)
285
285
  // .get("/notes", async (c) =>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-nifra",
3
- "version": "1.12.0",
3
+ "version": "2.0.0",
4
4
  "description": "Scaffold a new nifra app — `bun create nifra <dir>`.",
5
5
  "keywords": [
6
6
  "bun",
@@ -10,9 +10,9 @@
10
10
  "typecheck": "tsc --noEmit"
11
11
  },
12
12
  "dependencies": {
13
- "@nifrajs/client": "^1.12.0",
14
- "@nifrajs/core": "^1.12.0",
15
- "@nifrajs/schema": "^1.12.0"
13
+ "@nifrajs/client": "^2.0.0",
14
+ "@nifrajs/core": "^2.0.0",
15
+ "@nifrajs/schema": "^2.0.0"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@types/bun": "latest",
@@ -1,8 +1,25 @@
1
+ import { testClient } from "@nifrajs/client"
1
2
  import { expect, test } from "bun:test"
2
3
  import { app } from "./app.ts"
3
4
 
5
+ // The typed in-process client: no server, no port, the full real lifecycle (validation,
6
+ // middleware), and `res.data` typed from the route's schemas. Calls never throw - branch on `ok`.
7
+ const api = testClient<typeof app>(app)
8
+
4
9
  test("GET /users/:id echoes the id", async () => {
5
- const res = await app.fetch(new Request("http://localhost/users/42"))
6
- expect(res.status).toBe(200)
7
- expect(await res.json()).toEqual({ id: "42" })
10
+ const res = await api.users({ id: "42" }).get()
11
+ expect(res.ok).toBe(true)
12
+ expect(res.data).toEqual({ id: "42" })
13
+ })
14
+
15
+ test("POST /echo round-trips a valid body", async () => {
16
+ const res = await api.echo.post({ message: "hi" })
17
+ expect(res.ok).toBe(true)
18
+ expect(res.data).toEqual({ echoed: "hi" })
19
+ })
20
+
21
+ test("POST /echo rejects an invalid body at the boundary", async () => {
22
+ const res = await api.echo.post({ message: "" })
23
+ expect(res.ok).toBe(false)
24
+ expect(res.status).toBe(422)
8
25
  })
@@ -1,8 +1,17 @@
1
- import { server } from "@nifrajs/core"
1
+ import { server } from "@nifrajs/core/server"
2
+ import { t } from "@nifrajs/schema"
3
+
4
+ /** Your app. Exported (without `listen`) so tests can drive it via the in-process test client. */
5
+
6
+ // Contract-first: the schema validates the body at the boundary, types `c.body` in the
7
+ // handler, types the response, and flows into the typed client (`testClient` in app.test.ts,
8
+ // `client<App>(baseUrl)` in a frontend) - no codegen step.
9
+ const EchoInput = t.object({ message: t.string({ minLength: 1 }) })
10
+ const EchoReply = t.object({ echoed: t.string() })
2
11
 
3
- /** Your app. Exported (without `listen`) so tests can drive it via `app.fetch`. */
4
12
  export const app = server()
5
13
  .get("/", () => ({ hello: "nifra" }))
6
14
  .get("/users/:id", (c) => ({ id: c.params.id }))
15
+ .post("/echo", { body: EchoInput, response: EchoReply }, (c) => ({ echoed: c.body.message }))
7
16
 
8
17
  export type App = typeof app
@@ -34,7 +34,7 @@ holds across `hit`s and bumps on a `miss`/regeneration.
34
34
  - `revalidateEndpoint({ store, secret })` is the on-demand purge handler:
35
35
 
36
36
  ```sh
37
- curl -X POST 'http://localhost:3000/__velo/revalidate?path=/' -H 'x-nifra-revalidate-token: dev-secret'
37
+ curl -X POST 'http://localhost:3000/__nifra/revalidate?path=/' -H 'x-nifra-revalidate-token: dev-secret'
38
38
  ```
39
39
 
40
40
  ## Deploy
@@ -1,4 +1,4 @@
1
- import { server } from "@nifrajs/core"
1
+ import { server } from "@nifrajs/core/server"
2
2
  import { t } from "@nifrajs/schema"
3
3
 
4
4
  // Your backend contract — page loaders/actions call it in-process during SSR (no network). This demo
@@ -9,16 +9,16 @@
9
9
  "dev:bun": "bun run server.ts"
10
10
  },
11
11
  "dependencies": {
12
- "@nifrajs/client": "^1.12.0",
13
- "@nifrajs/core": "^1.12.0",
14
- "@nifrajs/schema": "^1.12.0",
15
- "@nifrajs/web": "^1.12.0",
16
- "@nifrajs/web-react": "^1.12.0",
12
+ "@nifrajs/client": "^2.0.0",
13
+ "@nifrajs/core": "^2.0.0",
14
+ "@nifrajs/schema": "^2.0.0",
15
+ "@nifrajs/web": "^2.0.0",
16
+ "@nifrajs/web-react": "^2.0.0",
17
17
  "react": "^19.0.0",
18
18
  "react-dom": "^19.0.0"
19
19
  },
20
20
  "devDependencies": {
21
- "@nifrajs/cli": "^1.12.0",
21
+ "@nifrajs/cli": "^2.0.0",
22
22
  "@types/react": "^19.0.0",
23
23
  "@types/react-dom": "^19.0.0",
24
24
  "typescript": "^6.0.3"
@@ -1,5 +1,5 @@
1
1
  import { inProcessClient } from "@nifrajs/client"
2
- import { toFetchHandler } from "@nifrajs/core"
2
+ import { toFetchHandler } from "@nifrajs/core/server"
3
3
  import { createWebApp } from "@nifrajs/web"
4
4
  import { backend } from "./backend"
5
5
  import { adapter } from "./framework"
@@ -1,4 +1,4 @@
1
- import { server } from "@nifrajs/core"
1
+ import { server } from "@nifrajs/core/server"
2
2
  import { t } from "@nifrajs/schema"
3
3
 
4
4
  // Your backend contract — page loaders/actions call it in-process during SSR (no network). Replace
@@ -17,20 +17,20 @@
17
17
  "deploy:vercel": "vercel deploy --prebuilt"
18
18
  },
19
19
  "dependencies": {
20
- "@nifrajs/client": "^1.12.0",
21
- "@nifrajs/core": "^1.12.0",
22
- "@nifrajs/schema": "^1.12.0",
23
- "@nifrajs/deno": "^1.12.0",
24
- "@nifrajs/node": "^1.12.0",
25
- "@nifrajs/web": "^1.12.0",
26
- "@nifrajs/web-react": "^1.12.0",
20
+ "@nifrajs/client": "^2.0.0",
21
+ "@nifrajs/core": "^2.0.0",
22
+ "@nifrajs/schema": "^2.0.0",
23
+ "@nifrajs/deno": "^2.0.0",
24
+ "@nifrajs/node": "^2.0.0",
25
+ "@nifrajs/web": "^2.0.0",
26
+ "@nifrajs/web-react": "^2.0.0",
27
27
  "react": "^19.0.0",
28
28
  "react-dom": "^19.0.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/react": "^19.0.0",
32
32
  "@types/react-dom": "^19.0.0",
33
- "@nifrajs/cli": "^1.12.0",
33
+ "@nifrajs/cli": "^2.0.0",
34
34
  "@vitejs/plugin-react": "^4.3.0",
35
35
  "typescript": "^6.0.3",
36
36
  "vite": "^8.0.0"
@@ -1,5 +1,5 @@
1
1
  import { inProcessClient } from "@nifrajs/client"
2
- import { toFetchHandler } from "@nifrajs/core"
2
+ import { toFetchHandler } from "@nifrajs/core/server"
3
3
  import { createWebApp } from "@nifrajs/web"
4
4
  import { backend } from "./backend"
5
5
  import { adapter } from "./framework"
@@ -1,4 +1,4 @@
1
- import { server } from "@nifrajs/core"
1
+ import { server } from "@nifrajs/core/server"
2
2
  import { t } from "@nifrajs/schema"
3
3
 
4
4
  // Your backend contract — page loaders/actions call it in-process during SSR (no network). Replace
@@ -17,18 +17,18 @@
17
17
  "deploy:vercel": "vercel deploy --prebuilt"
18
18
  },
19
19
  "dependencies": {
20
- "@nifrajs/client": "^1.12.0",
21
- "@nifrajs/core": "^1.12.0",
22
- "@nifrajs/schema": "^1.12.0",
23
- "@nifrajs/deno": "^1.12.0",
24
- "@nifrajs/node": "^1.12.0",
25
- "@nifrajs/web": "^1.12.0",
26
- "@nifrajs/web-preact": "^1.12.0",
20
+ "@nifrajs/client": "^2.0.0",
21
+ "@nifrajs/core": "^2.0.0",
22
+ "@nifrajs/schema": "^2.0.0",
23
+ "@nifrajs/deno": "^2.0.0",
24
+ "@nifrajs/node": "^2.0.0",
25
+ "@nifrajs/web": "^2.0.0",
26
+ "@nifrajs/web-preact": "^2.0.0",
27
27
  "preact": "^10.25.0"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@preact/preset-vite": "^2.9.0",
31
- "@nifrajs/cli": "^1.12.0",
31
+ "@nifrajs/cli": "^2.0.0",
32
32
  "typescript": "^6.0.3",
33
33
  "vite": "^8.0.0"
34
34
  }
@@ -1,5 +1,5 @@
1
1
  import { inProcessClient } from "@nifrajs/client"
2
- import { toFetchHandler } from "@nifrajs/core"
2
+ import { toFetchHandler } from "@nifrajs/core/server"
3
3
  import { createWebApp } from "@nifrajs/web"
4
4
  import { backend } from "./backend"
5
5
  import { adapter } from "./framework"
@@ -1,4 +1,4 @@
1
- import { server } from "@nifrajs/core"
1
+ import { server } from "@nifrajs/core/server"
2
2
  import { t } from "@nifrajs/schema"
3
3
 
4
4
  // Your backend contract — page loaders/actions call it in-process during SSR (no network). Replace
@@ -17,17 +17,17 @@
17
17
  "deploy:vercel": "vercel deploy --prebuilt"
18
18
  },
19
19
  "dependencies": {
20
- "@nifrajs/client": "^1.12.0",
21
- "@nifrajs/core": "^1.12.0",
22
- "@nifrajs/schema": "^1.12.0",
23
- "@nifrajs/deno": "^1.12.0",
24
- "@nifrajs/node": "^1.12.0",
25
- "@nifrajs/web": "^1.12.0",
26
- "@nifrajs/web-solid": "^1.12.0",
20
+ "@nifrajs/client": "^2.0.0",
21
+ "@nifrajs/core": "^2.0.0",
22
+ "@nifrajs/schema": "^2.0.0",
23
+ "@nifrajs/deno": "^2.0.0",
24
+ "@nifrajs/node": "^2.0.0",
25
+ "@nifrajs/web": "^2.0.0",
26
+ "@nifrajs/web-solid": "^2.0.0",
27
27
  "solid-js": "^1.9.0"
28
28
  },
29
29
  "devDependencies": {
30
- "@nifrajs/cli": "^1.12.0",
30
+ "@nifrajs/cli": "^2.0.0",
31
31
  "typescript": "^6.0.3",
32
32
  "vite": "^8.0.0",
33
33
  "vite-plugin-solid": "^2.10.0"
@@ -1,5 +1,5 @@
1
1
  import { inProcessClient } from "@nifrajs/client"
2
- import { toFetchHandler } from "@nifrajs/core"
2
+ import { toFetchHandler } from "@nifrajs/core/server"
3
3
  import { createWebApp } from "@nifrajs/web"
4
4
  import { backend } from "./backend"
5
5
  import { adapter } from "./framework"
@@ -1,4 +1,4 @@
1
- import { server } from "@nifrajs/core"
1
+ import { server } from "@nifrajs/core/server"
2
2
  import { t } from "@nifrajs/schema"
3
3
 
4
4
  // Your backend contract — page loaders/actions call it in-process during SSR (no network). Replace
@@ -17,18 +17,18 @@
17
17
  "deploy:vercel": "vercel deploy --prebuilt"
18
18
  },
19
19
  "dependencies": {
20
- "@nifrajs/client": "^1.12.0",
21
- "@nifrajs/core": "^1.12.0",
22
- "@nifrajs/schema": "^1.12.0",
23
- "@nifrajs/deno": "^1.12.0",
24
- "@nifrajs/node": "^1.12.0",
25
- "@nifrajs/web": "^1.12.0",
26
- "@nifrajs/web-svelte": "^1.12.0",
20
+ "@nifrajs/client": "^2.0.0",
21
+ "@nifrajs/core": "^2.0.0",
22
+ "@nifrajs/schema": "^2.0.0",
23
+ "@nifrajs/deno": "^2.0.0",
24
+ "@nifrajs/node": "^2.0.0",
25
+ "@nifrajs/web": "^2.0.0",
26
+ "@nifrajs/web-svelte": "^2.0.0",
27
27
  "svelte": "^5.3.0"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@sveltejs/vite-plugin-svelte": "^5.0.0",
31
- "@nifrajs/cli": "^1.12.0",
31
+ "@nifrajs/cli": "^2.0.0",
32
32
  "typescript": "^6.0.3",
33
33
  "vite": "^8.0.0"
34
34
  }
@@ -1,5 +1,5 @@
1
1
  import { inProcessClient } from "@nifrajs/client"
2
- import { toFetchHandler } from "@nifrajs/core"
2
+ import { toFetchHandler } from "@nifrajs/core/server"
3
3
  import { createWebApp } from "@nifrajs/web"
4
4
  import { backend } from "./backend"
5
5
  import { adapter } from "./framework"
@@ -1,4 +1,4 @@
1
- import { server } from "@nifrajs/core"
1
+ import { server } from "@nifrajs/core/server"
2
2
  import { t } from "@nifrajs/schema"
3
3
 
4
4
  // Your backend contract — page loaders/actions call it in-process during SSR (no network). Replace
@@ -17,17 +17,17 @@
17
17
  "deploy:vercel": "vercel deploy --prebuilt"
18
18
  },
19
19
  "dependencies": {
20
- "@nifrajs/client": "^1.12.0",
21
- "@nifrajs/core": "^1.12.0",
22
- "@nifrajs/schema": "^1.12.0",
23
- "@nifrajs/deno": "^1.12.0",
24
- "@nifrajs/node": "^1.12.0",
25
- "@nifrajs/web": "^1.12.0",
26
- "@nifrajs/web-vue": "^1.12.0",
20
+ "@nifrajs/client": "^2.0.0",
21
+ "@nifrajs/core": "^2.0.0",
22
+ "@nifrajs/schema": "^2.0.0",
23
+ "@nifrajs/deno": "^2.0.0",
24
+ "@nifrajs/node": "^2.0.0",
25
+ "@nifrajs/web": "^2.0.0",
26
+ "@nifrajs/web-vue": "^2.0.0",
27
27
  "vue": "^3.5.0"
28
28
  },
29
29
  "devDependencies": {
30
- "@nifrajs/cli": "^1.12.0",
30
+ "@nifrajs/cli": "^2.0.0",
31
31
  "@vitejs/plugin-vue": "^5.2.0",
32
32
  "@vue/compiler-sfc": "^3.5.0",
33
33
  "typescript": "^6.0.3",