create-nifra 2.11.0 → 2.12.1
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/auth.js +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +16 -6
- package/dist/cli.js.map +1 -1
- package/dist/scaffold/frameworks.d.ts +1 -1
- package/dist/scaffold/frameworks.js +1 -1
- package/dist/scaffold/site-files.js +1 -1
- package/dist/scaffold/site-files.js.map +1 -1
- package/package.json +1 -1
- package/template/README.md +6 -0
- package/template/nifra.assurance.ts +2 -0
- package/template/package.json +5 -4
- package/template/src/app.ts +26 -1
- package/template-batteries/README.md +6 -0
- package/template-batteries/nifra.assurance.ts +2 -0
- package/template-batteries/package.json +7 -7
- package/template-batteries/src/app.ts +24 -1
- package/template-isr/README.md +5 -0
- package/template-isr/backend.ts +24 -1
- package/template-isr/nifra.assurance.ts +2 -0
- package/template-isr/package.json +7 -6
- package/template-site/README.md +6 -0
- package/template-site/backend.ts +24 -1
- package/template-site/nifra.assurance.ts +2 -0
- package/template-site-preact/README.md +6 -0
- package/template-site-solid/README.md +6 -0
- package/template-site-svelte/README.md +6 -0
- package/template-site-vue/README.md +6 -0
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": "^2.
|
|
36
|
+
deps: { "@nifrajs/better-auth": "^2.12.1", "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/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAyBA,OAAO,EAGL,KAAK,UAAU,EAGhB,MAAM,WAAW,CAAA;AAClB,OAAO,EAA0B,KAAK,QAAQ,EAAgB,MAAM,SAAS,CAAA;AAI7E,QAAA,MAAM,SAAS;;;;;CAKL,CAAA;AACV,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,SAAS,CAAA;AAEjD;;eAEe;AACf,QAAA,MAAM,UAAU,wDAAyD,CAAA;AACzE,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnD;;;;;GAKG;AACH,UAAU,YAAY;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAClC;AAwGD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAgC5E;AAED,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;IAChC,kEAAkE;IAClE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,yFAAyF;IACzF,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,8GAA8G;IAC9G,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,oFAAoF;IACpF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,6FAA6F;IAC7F,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB;0FACsF;IACtF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAA;IAC9B,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAA;IACtB,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAA;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,iGAAiG;IACjG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -72,7 +72,7 @@ const SELF_HOSTED_STEP = (hint) => ` # Self-hosted: deploy is host-specific
|
|
|
72
72
|
# (${hint}). Until then, CI builds on every push and uploads the bundle as an artifact.
|
|
73
73
|
- name: Upload build
|
|
74
74
|
if: github.ref == 'refs/heads/main'
|
|
75
|
-
uses: actions/upload-artifact@
|
|
75
|
+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
|
|
76
76
|
with:
|
|
77
77
|
name: build
|
|
78
78
|
path: dist*`;
|
|
@@ -93,7 +93,7 @@ const CI_DEPLOY = {
|
|
|
93
93
|
secrets: [],
|
|
94
94
|
step: ` - name: Publish to Deno Deploy
|
|
95
95
|
if: github.ref == 'refs/heads/main'
|
|
96
|
-
uses: denoland/deployctl@
|
|
96
|
+
uses: denoland/deployctl@87e43e57b2336bcaf96bcd193687edcb3c5795c1
|
|
97
97
|
with:
|
|
98
98
|
project: NAME
|
|
99
99
|
entrypoint: dist-deno/server-deno.js`,
|
|
@@ -103,7 +103,7 @@ const CI_DEPLOY = {
|
|
|
103
103
|
secrets: ["CLOUDFLARE_API_TOKEN", "CLOUDFLARE_ACCOUNT_ID"],
|
|
104
104
|
step: ` - name: Publish to Cloudflare Pages
|
|
105
105
|
if: github.ref == 'refs/heads/main'
|
|
106
|
-
uses: cloudflare/wrangler-action@
|
|
106
|
+
uses: cloudflare/wrangler-action@9acf94ace14e7dc412b076f2c5c20b8ce93c79cd
|
|
107
107
|
with:
|
|
108
108
|
apiToken: \${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
109
109
|
accountId: \${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
@@ -147,8 +147,8 @@ jobs:
|
|
|
147
147
|
deploy:
|
|
148
148
|
runs-on: ubuntu-latest
|
|
149
149
|
steps:
|
|
150
|
-
- uses: actions/checkout@
|
|
151
|
-
- uses: oven-sh/setup-bun@
|
|
150
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
|
151
|
+
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6
|
|
152
152
|
- run: bun install --frozen-lockfile
|
|
153
153
|
# The gate, before the build. nifra.assurance.ts states what these routes must prove - an
|
|
154
154
|
# unauthenticated write, a mutation with no body schema, a handler reaching a database it never
|
|
@@ -164,6 +164,17 @@ ${ci.step.replaceAll("NAME", appName)}
|
|
|
164
164
|
* destination. Pure enough to unit-test (no argv, no process.exit).
|
|
165
165
|
*/
|
|
166
166
|
export async function scaffold(opts) {
|
|
167
|
+
// Validated first, before a single file is copied - a name rejected halfway through would leave a
|
|
168
|
+
// half-written project directory behind. npm's own character set for an unscoped name, wider than
|
|
169
|
+
// lowercase-and-hyphens on purpose: `MyApp` and `my_app` are ordinary directory names, and refusing
|
|
170
|
+
// them aborts a scaffold npm would have accepted. Still narrow, because the name is substituted into
|
|
171
|
+
// deploy scripts (`--name NAME`) that a shell runs - hence no metacharacters, no whitespace, and no
|
|
172
|
+
// leading `-` to be read as a flag.
|
|
173
|
+
const name = basename(opts.target);
|
|
174
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(name) || name.length > 214) {
|
|
175
|
+
throw new Error(`invalid project name ${JSON.stringify(name)}: use letters, digits, "-", "_", and "." ` +
|
|
176
|
+
`(starting with a letter or digit), up to 214 characters`);
|
|
177
|
+
}
|
|
167
178
|
const template = opts.template ?? "api";
|
|
168
179
|
if (TEMPLATES[template] === undefined) {
|
|
169
180
|
// "fullstack" is the one name people guess that means two different things - steer both readings.
|
|
@@ -242,7 +253,6 @@ export async function scaffold(opts) {
|
|
|
242
253
|
catch {
|
|
243
254
|
// A template without a `gitignore` - nothing to restore.
|
|
244
255
|
}
|
|
245
|
-
const name = basename(opts.target);
|
|
246
256
|
const pkgPath = join(opts.target, "package.json");
|
|
247
257
|
const pkg = JSON.parse(await readFile(pkgPath, "utf8"));
|
|
248
258
|
pkg.name = name;
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,7 +62,7 @@ export interface FrameworkSpec {
|
|
|
62
62
|
* ships templates installing the PREVIOUS release. `scaffold-version.test.ts` now fails when this
|
|
63
63
|
* drifts from what core is publishing, so the footgun is a red test rather than a silent regression.
|
|
64
64
|
*/
|
|
65
|
-
export declare const NIFRA_DEP_RANGE = "^2.
|
|
65
|
+
export declare const NIFRA_DEP_RANGE = "^2.12.1";
|
|
66
66
|
/**
|
|
67
67
|
* React is first because it is the default (`--framework` omitted scaffolds it), and because the
|
|
68
68
|
* other four are most easily read as deltas from it.
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* ships templates installing the PREVIOUS release. `scaffold-version.test.ts` now fails when this
|
|
21
21
|
* drifts from what core is publishing, so the footgun is a red test rather than a silent regression.
|
|
22
22
|
*/
|
|
23
|
-
export const NIFRA_DEP_RANGE = "^2.
|
|
23
|
+
export const NIFRA_DEP_RANGE = "^2.12.1";
|
|
24
24
|
/**
|
|
25
25
|
* React is first because it is the default (`--framework` omitted scaffolds it), and because the
|
|
26
26
|
* other four are most easily read as deltas from it.
|
|
@@ -37,7 +37,7 @@ const SCRIPTS = {
|
|
|
37
37
|
check: "nifra check && nifra assure",
|
|
38
38
|
};
|
|
39
39
|
/** Nifra packages every site depends on, whatever it renders with. */
|
|
40
|
-
const NIFRA_RUNTIME = ["client", "core", "schema", "deno", "node", "web"];
|
|
40
|
+
const NIFRA_RUNTIME = ["client", "core", "middleware", "schema", "deno", "node", "web"];
|
|
41
41
|
export function renderPackageJson(framework) {
|
|
42
42
|
const dependencies = {};
|
|
43
43
|
for (const name of NIFRA_RUNTIME)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site-files.js","sourceRoot":"","sources":["../../src/scaffold/site-files.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAsB,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAErE,2EAA2E;AAC3E,MAAM,IAAI,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAA;AAE9E;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAwB;IAC5D,OAAO;;;WAGE,SAAS,CAAC,OAAO,YAAY,SAAS,CAAC,OAAO;;yBAEhC,SAAS,CAAC,OAAO;CACzC,CAAA;AACD,CAAC;AAED,0EAA0E;AAC1E,MAAM,OAAO,GAAqC;IAChD,GAAG,EAAE,WAAW;IAChB,OAAO,EAAE,8BAA8B;IACvC,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,sBAAsB;IACnC,YAAY,EAAE,uBAAuB;IACrC,YAAY,EAAE,uBAAuB;IACrC,cAAc,EAAE,yBAAyB;IACzC,KAAK,EAAE,4BAA4B;IACnC,YAAY,EAAE,+BAA+B;IAC7C,WAAW,EAAE,4BAA4B;IACzC,eAAe,EAAE,0BAA0B;IAC3C,KAAK,EAAE,6BAA6B;CACrC,CAAA;AAED,sEAAsE;AACtE,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"site-files.js","sourceRoot":"","sources":["../../src/scaffold/site-files.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/template/README.md
CHANGED
|
@@ -9,6 +9,12 @@ bun test # run the tests
|
|
|
9
9
|
bun run typecheck # type-check
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
+
Security baseline: the scaffold installs response security headers, explicit-origin CORS, a 30-second
|
|
13
|
+
request deadline, bounded concurrency, and a 120-request/minute development rate limit. The in-memory
|
|
14
|
+
rate-limit store intentionally refuses production unless `NIFRA_ALLOW_MEMORY_RATE_LIMIT=true`; use a
|
|
15
|
+
shared store for a multi-instance deployment. If you add cookie sessions, install the signed CSRF
|
|
16
|
+
middleware and keep authenticated mutation routes covered by both authenticated and CSRF assurance.
|
|
17
|
+
|
|
12
18
|
- `src/app.ts` - your routes (exported without `listen`, so tests drive it via `app.fetch`).
|
|
13
19
|
- `src/index.ts` - boots the server.
|
|
14
20
|
- `src/app.test.ts` - an example test.
|
|
@@ -64,6 +64,8 @@ export default defineAssuranceConfig({
|
|
|
64
64
|
name: "authenticated-write",
|
|
65
65
|
match: { access: "write", zone: "domain" },
|
|
66
66
|
require: [NIFRA_ASSURANCE.AUTHENTICATED],
|
|
67
|
+
requireProvenance: "runtime",
|
|
68
|
+
requireCsrfWithAuthenticated: true,
|
|
67
69
|
},
|
|
68
70
|
// Anything that changes state must validate its input at the boundary. Adding a POST without a
|
|
69
71
|
// `body` schema fails this - which is the point: the check is what notices, not review.
|
package/template/package.json
CHANGED
|
@@ -11,12 +11,13 @@
|
|
|
11
11
|
"typecheck": "tsc --noEmit"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@nifrajs/client": "^2.
|
|
15
|
-
"@nifrajs/core": "^2.
|
|
16
|
-
"@nifrajs/
|
|
14
|
+
"@nifrajs/client": "^2.12.1",
|
|
15
|
+
"@nifrajs/core": "^2.12.1",
|
|
16
|
+
"@nifrajs/middleware": "^2.12.1",
|
|
17
|
+
"@nifrajs/schema": "^2.12.1"
|
|
17
18
|
},
|
|
18
19
|
"devDependencies": {
|
|
19
|
-
"@nifrajs/cli": "^2.
|
|
20
|
+
"@nifrajs/cli": "^2.12.1",
|
|
20
21
|
"@types/bun": "latest",
|
|
21
22
|
"typescript": "^6.0.3"
|
|
22
23
|
}
|
package/template/src/app.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { server } from "@nifrajs/core/server"
|
|
2
|
+
import {
|
|
3
|
+
MemoryStore,
|
|
4
|
+
cors,
|
|
5
|
+
createAdmissionController,
|
|
6
|
+
rateLimit,
|
|
7
|
+
securityHeaders,
|
|
8
|
+
} from "@nifrajs/middleware"
|
|
2
9
|
import { routes } from "./routes.ts"
|
|
3
10
|
|
|
4
11
|
/** Your app. Exported (without `listen`) so tests can drive it via the in-process test client. */
|
|
@@ -11,6 +18,24 @@ import { routes } from "./routes.ts"
|
|
|
11
18
|
// all. Keeping the root pure means each route's reach is its own module's, which is what lets the
|
|
12
19
|
// capability declarations in `nifra.assurance.ts` stay true as the app grows. Add a feature as a
|
|
13
20
|
// module, merge it here.
|
|
14
|
-
|
|
21
|
+
const rateStore = new MemoryStore({
|
|
22
|
+
// A per-process limiter is not a production security boundary. Keep the starter fail-closed
|
|
23
|
+
// until the operator explicitly wires a shared store or accepts the single-instance tradeoff.
|
|
24
|
+
allowInProduction: process.env.NIFRA_ALLOW_MEMORY_RATE_LIMIT === "true",
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
export const app = server({
|
|
28
|
+
requestTimeoutMs: 30_000,
|
|
29
|
+
admission: createAdmissionController({ maxInFlight: 128, maxQueue: 0 }),
|
|
30
|
+
})
|
|
31
|
+
.use(securityHeaders())
|
|
32
|
+
.use(
|
|
33
|
+
cors({
|
|
34
|
+
origin: process.env.CORS_ORIGIN ?? "http://localhost:3000",
|
|
35
|
+
credentials: false,
|
|
36
|
+
}),
|
|
37
|
+
)
|
|
38
|
+
.use(rateLimit({ store: rateStore, max: 120, windowMs: 60_000 }))
|
|
39
|
+
.merge(routes)
|
|
15
40
|
|
|
16
41
|
export type App = typeof app
|
|
@@ -18,6 +18,12 @@ bun test # run the tests
|
|
|
18
18
|
bun run typecheck # type-check
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
+
Security baseline: the scaffold installs response security headers, explicit-origin CORS, a 30-second
|
|
22
|
+
request deadline, bounded concurrency, and a 120-request/minute development rate limit. The in-memory
|
|
23
|
+
rate-limit store intentionally refuses production unless `NIFRA_ALLOW_MEMORY_RATE_LIMIT=true`; use a
|
|
24
|
+
shared store for a multi-instance deployment. If you add cookie sessions, install the signed CSRF
|
|
25
|
+
middleware and keep authenticated mutation routes covered by both authenticated and CSRF assurance.
|
|
26
|
+
|
|
21
27
|
- `src/app.ts` - routes + the `notes` domain, exported (without `listen`) so tests drive it via `app.fetch`.
|
|
22
28
|
- `src/index.ts` - boots the server and starts the job worker (`queue.start()`).
|
|
23
29
|
- `src/app.test.ts` - exercises pagination, the background job (`queue.drain()`), the cache, and storage.
|
|
@@ -70,6 +70,8 @@ export default defineAssuranceConfig({
|
|
|
70
70
|
name: "authenticated-write",
|
|
71
71
|
match: { access: "write", zone: "domain" },
|
|
72
72
|
require: [NIFRA_ASSURANCE.AUTHENTICATED],
|
|
73
|
+
requireProvenance: "runtime",
|
|
74
|
+
requireCsrfWithAuthenticated: true,
|
|
73
75
|
},
|
|
74
76
|
// Anything else that changes state must validate its input at the boundary. Adding a POST
|
|
75
77
|
// without a `body` schema fails this - which is the point: the check notices, not review.
|
|
@@ -11,15 +11,15 @@
|
|
|
11
11
|
"typecheck": "tsc --noEmit"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@nifrajs/cache": "^2.
|
|
15
|
-
"@nifrajs/client": "^2.
|
|
16
|
-
"@nifrajs/core": "^2.
|
|
17
|
-
"@nifrajs/jobs": "^2.
|
|
18
|
-
"@nifrajs/schema": "^2.
|
|
19
|
-
"@nifrajs/storage": "^2.
|
|
14
|
+
"@nifrajs/cache": "^2.12.1",
|
|
15
|
+
"@nifrajs/client": "^2.12.1",
|
|
16
|
+
"@nifrajs/core": "^2.12.1",
|
|
17
|
+
"@nifrajs/jobs": "^2.12.1",
|
|
18
|
+
"@nifrajs/schema": "^2.12.1",
|
|
19
|
+
"@nifrajs/storage": "^2.12.1"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@nifrajs/cli": "^2.
|
|
22
|
+
"@nifrajs/cli": "^2.12.1",
|
|
23
23
|
"@types/bun": "latest",
|
|
24
24
|
"typescript": "^6.0.3"
|
|
25
25
|
}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { server } from "@nifrajs/core/server"
|
|
2
|
+
import {
|
|
3
|
+
cors,
|
|
4
|
+
createAdmissionController,
|
|
5
|
+
MemoryStore,
|
|
6
|
+
rateLimit,
|
|
7
|
+
securityHeaders,
|
|
8
|
+
} from "@nifrajs/middleware"
|
|
2
9
|
import { noteRoutes } from "./notes.ts"
|
|
3
10
|
|
|
4
11
|
/** Your app. Exported (without `listen`) so tests can drive it via the in-process test client. */
|
|
@@ -11,7 +18,23 @@ import { noteRoutes } from "./notes.ts"
|
|
|
11
18
|
// all. Keeping the root pure means each route's reach is its own module's, which is what lets the
|
|
12
19
|
// capability declarations in `nifra.assurance.ts` stay true as the app grows. Add a feature as a
|
|
13
20
|
// module, merge it here.
|
|
14
|
-
|
|
21
|
+
const rateStore = new MemoryStore({
|
|
22
|
+
allowInProduction: process.env.NIFRA_ALLOW_MEMORY_RATE_LIMIT === "true",
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
export const app = server({
|
|
26
|
+
requestTimeoutMs: 30_000,
|
|
27
|
+
admission: createAdmissionController({ maxInFlight: 128, maxQueue: 0 }),
|
|
28
|
+
})
|
|
29
|
+
.use(securityHeaders())
|
|
30
|
+
.use(
|
|
31
|
+
cors({
|
|
32
|
+
origin: process.env.CORS_ORIGIN ?? "http://localhost:3000",
|
|
33
|
+
credentials: false,
|
|
34
|
+
}),
|
|
35
|
+
)
|
|
36
|
+
.use(rateLimit({ store: rateStore, max: 120, windowMs: 60_000 }))
|
|
37
|
+
.merge(noteRoutes)
|
|
15
38
|
|
|
16
39
|
export type App = typeof app
|
|
17
40
|
|
package/template-isr/README.md
CHANGED
|
@@ -37,6 +37,11 @@ holds across `hit`s and bumps on a `miss`/regeneration.
|
|
|
37
37
|
curl -X POST 'http://localhost:3000/__nifra/revalidate?path=/' -H 'x-nifra-revalidate-token: dev-secret'
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
+
The backend starter also installs security headers, explicit-origin CORS, a 30-second request
|
|
41
|
+
deadline, bounded in-flight admission, and a development memory rate limit. For production, replace
|
|
42
|
+
the memory limiter with a shared store (or explicitly set `NIFRA_ALLOW_MEMORY_RATE_LIMIT=true` for a
|
|
43
|
+
deliberate single-instance deployment), and add authenticated/CSRF middleware to browser mutations.
|
|
44
|
+
|
|
40
45
|
## Deploy
|
|
41
46
|
|
|
42
47
|
```sh
|
package/template-isr/backend.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { server } from "@nifrajs/core/server"
|
|
2
|
+
import {
|
|
3
|
+
cors,
|
|
4
|
+
createAdmissionController,
|
|
5
|
+
MemoryStore,
|
|
6
|
+
rateLimit,
|
|
7
|
+
securityHeaders,
|
|
8
|
+
} from "@nifrajs/middleware"
|
|
2
9
|
import { page } from "./page"
|
|
3
10
|
|
|
4
11
|
// Your backend contract - page loaders/actions call it in-process during SSR (no network).
|
|
@@ -15,4 +22,20 @@ import { page } from "./page"
|
|
|
15
22
|
// all. Keeping this file pure means each route's reach is its own module's, which is what lets the
|
|
16
23
|
// capability declarations in `nifra.assurance.ts` stay true as the app grows. Add a feature as a
|
|
17
24
|
// module, merge it here.
|
|
18
|
-
|
|
25
|
+
const rateStore = new MemoryStore({
|
|
26
|
+
allowInProduction: process.env.NIFRA_ALLOW_MEMORY_RATE_LIMIT === "true",
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
export const backend = server({
|
|
30
|
+
requestTimeoutMs: 30_000,
|
|
31
|
+
admission: createAdmissionController({ maxInFlight: 128, maxQueue: 0 }),
|
|
32
|
+
})
|
|
33
|
+
.use(securityHeaders())
|
|
34
|
+
.use(
|
|
35
|
+
cors({
|
|
36
|
+
origin: process.env.CORS_ORIGIN ?? "http://localhost:3000",
|
|
37
|
+
credentials: false,
|
|
38
|
+
}),
|
|
39
|
+
)
|
|
40
|
+
.use(rateLimit({ store: rateStore, max: 120, windowMs: 60_000 }))
|
|
41
|
+
.merge(page)
|
|
@@ -64,6 +64,8 @@ export default defineAssuranceConfig({
|
|
|
64
64
|
name: "authenticated-write",
|
|
65
65
|
match: { access: "write", zone: "domain" },
|
|
66
66
|
require: [NIFRA_ASSURANCE.AUTHENTICATED],
|
|
67
|
+
requireProvenance: "runtime",
|
|
68
|
+
requireCsrfWithAuthenticated: true,
|
|
67
69
|
},
|
|
68
70
|
// Anything that changes state must validate its input at the boundary. This demo is read-only,
|
|
69
71
|
// so the rule classifies nothing yet - which is the point: the first POST added to `page.ts`
|
|
@@ -10,16 +10,17 @@
|
|
|
10
10
|
"check": "nifra check && nifra assure"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@nifrajs/client": "^2.
|
|
14
|
-
"@nifrajs/core": "^2.
|
|
15
|
-
"@nifrajs/
|
|
16
|
-
"@nifrajs/
|
|
17
|
-
"@nifrajs/web
|
|
13
|
+
"@nifrajs/client": "^2.12.1",
|
|
14
|
+
"@nifrajs/core": "^2.12.1",
|
|
15
|
+
"@nifrajs/middleware": "^2.12.1",
|
|
16
|
+
"@nifrajs/schema": "^2.12.1",
|
|
17
|
+
"@nifrajs/web": "^2.12.1",
|
|
18
|
+
"@nifrajs/web-react": "^2.12.1",
|
|
18
19
|
"react": "^19.0.0",
|
|
19
20
|
"react-dom": "^19.0.0"
|
|
20
21
|
},
|
|
21
22
|
"devDependencies": {
|
|
22
|
-
"@nifrajs/cli": "^2.
|
|
23
|
+
"@nifrajs/cli": "^2.12.1",
|
|
23
24
|
"@types/react": "^19.0.0",
|
|
24
25
|
"@types/react-dom": "^19.0.0",
|
|
25
26
|
"typescript": "^6.0.3"
|
package/template-site/README.md
CHANGED
|
@@ -10,6 +10,12 @@ bun run dev # nifra dev → true-HMR dev server (Bun + nifra SSR) at http
|
|
|
10
10
|
bun run preview # wrangler pages dev dist → preview the built Cloudflare bundle (run `bun run build` first)
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
+
The backend starter includes response security headers, explicit-origin CORS, a 30-second request
|
|
14
|
+
deadline, bounded concurrency, and a development rate limit. Its in-memory rate-limit store refuses
|
|
15
|
+
production unless `NIFRA_ALLOW_MEMORY_RATE_LIMIT=true`; use a shared store for multi-instance deploys.
|
|
16
|
+
For cookie sessions, add signed CSRF middleware and require both runtime authentication and CSRF
|
|
17
|
+
evidence in `nifra.assurance.ts`.
|
|
18
|
+
|
|
13
19
|
Edit `routes/index.tsx` (the landing + a live loader/action counter), add files under `routes/`
|
|
14
20
|
(`about.tsx` → `/about`, `[id].tsx` → `:id`, nested `_layout.tsx` for sections), and put your data
|
|
15
21
|
behind `backend.ts`.
|
package/template-site/backend.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { server } from "@nifrajs/core/server"
|
|
2
|
+
import {
|
|
3
|
+
MemoryStore,
|
|
4
|
+
cors,
|
|
5
|
+
createAdmissionController,
|
|
6
|
+
rateLimit,
|
|
7
|
+
securityHeaders,
|
|
8
|
+
} from "@nifrajs/middleware"
|
|
2
9
|
import { counter } from "./counter"
|
|
3
10
|
|
|
4
11
|
// Your backend contract - page loaders/actions call it in-process during SSR (no network).
|
|
@@ -15,4 +22,20 @@ import { counter } from "./counter"
|
|
|
15
22
|
// all. Keeping this file pure means each route's reach is its own module's, which is what lets the
|
|
16
23
|
// capability declarations in `nifra.assurance.ts` stay true as the app grows. Add a feature as a
|
|
17
24
|
// module, merge it here.
|
|
18
|
-
|
|
25
|
+
const rateStore = new MemoryStore({
|
|
26
|
+
allowInProduction: process.env.NIFRA_ALLOW_MEMORY_RATE_LIMIT === "true",
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
export const backend = server({
|
|
30
|
+
requestTimeoutMs: 30_000,
|
|
31
|
+
admission: createAdmissionController({ maxInFlight: 128, maxQueue: 0 }),
|
|
32
|
+
})
|
|
33
|
+
.use(securityHeaders())
|
|
34
|
+
.use(
|
|
35
|
+
cors({
|
|
36
|
+
origin: process.env.CORS_ORIGIN ?? "http://localhost:3000",
|
|
37
|
+
credentials: false,
|
|
38
|
+
}),
|
|
39
|
+
)
|
|
40
|
+
.use(rateLimit({ store: rateStore, max: 120, windowMs: 60_000 }))
|
|
41
|
+
.merge(counter)
|
|
@@ -67,6 +67,8 @@ export default defineAssuranceConfig({
|
|
|
67
67
|
name: "authenticated-write",
|
|
68
68
|
match: { access: "write", zone: "domain" },
|
|
69
69
|
require: [NIFRA_ASSURANCE.AUTHENTICATED],
|
|
70
|
+
requireProvenance: "runtime",
|
|
71
|
+
requireCsrfWithAuthenticated: true,
|
|
70
72
|
},
|
|
71
73
|
// Anything else that changes state must validate its input at the boundary. Adding a POST
|
|
72
74
|
// without a `body` schema fails this - which is the point: the check notices, not review.
|
|
@@ -10,6 +10,12 @@ bun run dev # nifra dev → true-HMR dev server (Bun + nifra SSR) at http
|
|
|
10
10
|
bun run preview # wrangler pages dev dist → preview the built Cloudflare bundle (run `bun run build` first)
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
+
The backend starter includes response security headers, explicit-origin CORS, a 30-second request
|
|
14
|
+
deadline, bounded concurrency, and a development rate limit. Its in-memory rate-limit store refuses
|
|
15
|
+
production unless `NIFRA_ALLOW_MEMORY_RATE_LIMIT=true`; use a shared store for multi-instance deploys.
|
|
16
|
+
For cookie sessions, add signed CSRF middleware and require both runtime authentication and CSRF
|
|
17
|
+
evidence in `nifra.assurance.ts`.
|
|
18
|
+
|
|
13
19
|
Routes are Preact function components (JSX, via `jsxImportSource: "preact"`) under `routes/` -
|
|
14
20
|
`index.tsx` (landing + a live loader/action counter), `_layout.tsx` (chrome), `_404.tsx`. The
|
|
15
21
|
frontend adapter is one line in `framework.ts`; data lives behind `backend.ts`.
|
|
@@ -10,6 +10,12 @@ bun run dev # nifra dev → true-HMR dev server (Bun + nifra SSR) at http
|
|
|
10
10
|
bun run preview # wrangler pages dev dist → preview the built Cloudflare bundle (run `bun run build` first)
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
+
The backend starter includes response security headers, explicit-origin CORS, a 30-second request
|
|
14
|
+
deadline, bounded concurrency, and a development rate limit. Its in-memory rate-limit store refuses
|
|
15
|
+
production unless `NIFRA_ALLOW_MEMORY_RATE_LIMIT=true`; use a shared store for multi-instance deploys.
|
|
16
|
+
For cookie sessions, add signed CSRF middleware and require both runtime authentication and CSRF
|
|
17
|
+
evidence in `nifra.assurance.ts`.
|
|
18
|
+
|
|
13
19
|
Routes are Solid function components (JSX, compiled by `solidBunPlugin`) under `routes/` - `index.tsx`
|
|
14
20
|
(landing + a live loader/action counter), `_layout.tsx` (chrome), `_404.tsx`. The frontend adapter is
|
|
15
21
|
one line in `framework.ts`; data lives behind `backend.ts`. Each `build*` script wires
|
|
@@ -10,6 +10,12 @@ bun run dev # nifra dev → true-HMR dev server (Bun + nifra SSR) at http
|
|
|
10
10
|
bun run preview # wrangler pages dev dist → preview the built Cloudflare bundle (run `bun run build` first)
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
+
The backend starter includes response security headers, explicit-origin CORS, a 30-second request
|
|
14
|
+
deadline, bounded concurrency, and a development rate limit. Its in-memory rate-limit store refuses
|
|
15
|
+
production unless `NIFRA_ALLOW_MEMORY_RATE_LIMIT=true`; use a shared store for multi-instance deploys.
|
|
16
|
+
For cookie sessions, add signed CSRF middleware and require both runtime authentication and CSRF
|
|
17
|
+
evidence in `nifra.assurance.ts`.
|
|
18
|
+
|
|
13
19
|
Routes are `.svelte` components under `routes/` - `index.svelte` (landing + a live loader/action
|
|
14
20
|
counter), `_layout.svelte` (chrome via the `children` snippet), `_404.svelte`. A route's
|
|
15
21
|
`loader`/`action`/`meta` are named exports from its `<script module>` block; the page receives the
|
|
@@ -10,6 +10,12 @@ bun run dev # nifra dev → true-HMR dev server (Bun + nifra SSR) at http
|
|
|
10
10
|
bun run preview # wrangler pages dev dist → preview the built Cloudflare bundle (run `bun run build` first)
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
+
The backend starter includes response security headers, explicit-origin CORS, a 30-second request
|
|
14
|
+
deadline, bounded concurrency, and a development rate limit. Its in-memory rate-limit store refuses
|
|
15
|
+
production unless `NIFRA_ALLOW_MEMORY_RATE_LIMIT=true`; use a shared store for multi-instance deploys.
|
|
16
|
+
For cookie sessions, add signed CSRF middleware and require both runtime authentication and CSRF
|
|
17
|
+
evidence in `nifra.assurance.ts`.
|
|
18
|
+
|
|
13
19
|
Routes are **Vue SFCs** (`.vue`) under `routes/` - `index.vue` (landing + a live loader/action
|
|
14
20
|
counter), `_layout.vue` (chrome via the default slot), `_404.vue`. A route SFC's plain `<script>`
|
|
15
21
|
carries nifra's `loader`/`action`/`meta`; `<script setup>` + `<template>` are the component. The
|