@chidchanun/bcp 0.2.0 → 0.2.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/README.md +84 -103
- package/docs/README.md +130 -256
- package/docs/api-manifest.json +129 -0
- package/docs/api-reference.md +214 -0
- package/docs/docs-web-manifest.json +21 -3
- package/docs/documentation-platform.md +136 -0
- package/docs/platform-manifest.json +10 -4
- package/docs/releases/0.2.1.md +132 -0
- package/package.json +1 -1
package/docs/README.md
CHANGED
|
@@ -2,23 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
The `docs/` directory is the documentation source of truth for BCP Framework and is organized for **`bcp-docs-web`**.
|
|
4
4
|
|
|
5
|
-
> **Documentation target:** BCP Framework `0.2.
|
|
5
|
+
> **Documentation target:** BCP Framework `0.2.1`
|
|
6
6
|
>
|
|
7
|
-
> **Release state:** unreleased development target. Do not label `0.2.
|
|
7
|
+
> **Release state:** unreleased development target. Do not label `0.2.1` as published until RC validation, tagging and npm publication complete.
|
|
8
8
|
|
|
9
|
-
## Documentation architecture
|
|
9
|
+
## Documentation architecture — 0.2.1
|
|
10
10
|
|
|
11
|
-
BCP
|
|
11
|
+
BCP uses three machine-readable documentation contracts:
|
|
12
12
|
|
|
13
13
|
```text
|
|
14
14
|
docs/docs-web-manifest.json
|
|
15
|
-
-> website navigation, routes, Markdown sources and release
|
|
15
|
+
-> website navigation, routes, Markdown sources and release routes
|
|
16
16
|
|
|
17
17
|
docs/platform-manifest.json
|
|
18
|
-
-> framework version, runtime target, public entrypoints and
|
|
18
|
+
-> framework version, runtime target, public entrypoints and capabilities
|
|
19
|
+
|
|
20
|
+
docs/api-manifest.json
|
|
21
|
+
-> public package entrypoints, source ownership and guide mapping
|
|
19
22
|
```
|
|
20
23
|
|
|
21
|
-
Markdown files under `docs/` remain the authored content
|
|
24
|
+
Markdown files under `docs/` remain the authored documentation content.
|
|
22
25
|
|
|
23
26
|
Recommended flow:
|
|
24
27
|
|
|
@@ -28,35 +31,30 @@ framework source/tests
|
|
|
28
31
|
docs/
|
|
29
32
|
├─ Markdown content
|
|
30
33
|
├─ docs-web-manifest.json
|
|
31
|
-
|
|
34
|
+
├─ platform-manifest.json
|
|
35
|
+
└─ api-manifest.json
|
|
36
|
+
↓
|
|
37
|
+
manifest-driven sync
|
|
32
38
|
↓
|
|
33
39
|
bcp-docs-web
|
|
34
40
|
```
|
|
35
41
|
|
|
36
42
|
Framework source and tests remain authoritative for runtime behavior.
|
|
37
43
|
|
|
38
|
-
##
|
|
44
|
+
## Documentation Platform
|
|
39
45
|
|
|
40
|
-
`0.2.
|
|
46
|
+
`0.2.1` adds a versioned contract between the framework repository and the documentation website.
|
|
41
47
|
|
|
42
|
-
New
|
|
48
|
+
New sources:
|
|
43
49
|
|
|
44
50
|
| Source | Purpose |
|
|
45
51
|
| --- | --- |
|
|
46
|
-
| `
|
|
47
|
-
| `
|
|
48
|
-
| `
|
|
49
|
-
| `releases/0.2.
|
|
52
|
+
| `api-manifest.json` | Public API entrypoint metadata |
|
|
53
|
+
| `api-reference.md` | Human-readable public package entrypoint reference |
|
|
54
|
+
| `documentation-platform.md` | Docs-web synchronization/versioning contract |
|
|
55
|
+
| `releases/0.2.1.md` | Documentation Platform release notes |
|
|
50
56
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
```text
|
|
54
|
-
intentional public-entrypoint removals: none
|
|
55
|
-
standalone runtime model change: none
|
|
56
|
-
supported production build target: standalone-node
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
BCP remains pre-1.0, so application upgrades should still be validated before production deployment.
|
|
57
|
+
The website should not maintain a second hard-coded list of framework pages when those pages exist in `docs-web-manifest.json`.
|
|
60
58
|
|
|
61
59
|
## Update rule
|
|
62
60
|
|
|
@@ -65,14 +63,15 @@ When framework behavior or public surface changes:
|
|
|
65
63
|
1. Update framework source.
|
|
66
64
|
2. Add/update regression tests.
|
|
67
65
|
3. Update the matching Markdown guide.
|
|
68
|
-
4. Update `platform-manifest.json` when public
|
|
69
|
-
5. Update `
|
|
70
|
-
6. Update `docs/
|
|
71
|
-
7.
|
|
66
|
+
4. Update `platform-manifest.json` when runtime/public-entrypoint/capability metadata changes.
|
|
67
|
+
5. Update `api-manifest.json` when public API entrypoint ownership changes.
|
|
68
|
+
6. Update `docs-web-manifest.json` when website routes/navigation change.
|
|
69
|
+
7. Update `docs/releases/<version>.md`.
|
|
70
|
+
8. Change release state only after the release workflow reaches that state.
|
|
72
71
|
|
|
73
|
-
##
|
|
72
|
+
## Docs-web navigation
|
|
74
73
|
|
|
75
|
-
`docs/docs-web-manifest.json` is the
|
|
74
|
+
`docs/docs-web-manifest.json` is the ordered navigation contract.
|
|
76
75
|
|
|
77
76
|
Current sections:
|
|
78
77
|
|
|
@@ -85,105 +84,52 @@ Runtime & Infrastructure
|
|
|
85
84
|
Storage & Uploads
|
|
86
85
|
Developer Experience
|
|
87
86
|
Platform & Compatibility
|
|
87
|
+
API Reference
|
|
88
88
|
Releases
|
|
89
89
|
```
|
|
90
90
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
| Website route | Markdown source |
|
|
94
|
-
| --- | --- |
|
|
95
|
-
| `/docs/getting-started` | `getting-started.md` |
|
|
96
|
-
| `/docs/configuration` | `configuration.md` |
|
|
97
|
-
| `/docs/application-modules` | `application-modules.md` |
|
|
98
|
-
| `/docs/project-metadata` | `project-metadata.md` |
|
|
99
|
-
| `/docs/deployment` | `deployment.md` |
|
|
100
|
-
| `/docs/updating` | `updating.md` |
|
|
101
|
-
|
|
102
|
-
### Routing & Data
|
|
103
|
-
|
|
104
|
-
| Website route | Markdown source |
|
|
105
|
-
| --- | --- |
|
|
106
|
-
| `/docs/routing` | `routing.md` |
|
|
107
|
-
| `/docs/server-data-loaders` | `server-data-loaders.md` |
|
|
108
|
-
| `/docs/route-guards` | `route-guards.md` |
|
|
109
|
-
| `/docs/form-actions` | `form-actions.md` |
|
|
110
|
-
| `/docs/server-request-apis` | `server-request-apis.md` |
|
|
111
|
-
| `/docs/validation` | `validation.md` |
|
|
112
|
-
| `/docs/error-handling` | `error-handling.md` |
|
|
113
|
-
|
|
114
|
-
### Authentication
|
|
115
|
-
|
|
116
|
-
| Website route | Markdown source |
|
|
117
|
-
| --- | --- |
|
|
118
|
-
| `/docs/authentication` | `authentication.md` |
|
|
119
|
-
| `/docs/auth-route-guards` | `auth-route-guards.md` |
|
|
120
|
-
| `/docs/session-auth` | `session-auth.md` |
|
|
121
|
-
|
|
122
|
-
### Database
|
|
123
|
-
|
|
124
|
-
| Website route | Markdown source |
|
|
125
|
-
| --- | --- |
|
|
126
|
-
| `/docs/database` | `database.md` |
|
|
127
|
-
| `/docs/database-migrations` | `database-migrations.md` |
|
|
128
|
-
|
|
129
|
-
### Runtime & Infrastructure
|
|
130
|
-
|
|
131
|
-
| Website route | Markdown source |
|
|
132
|
-
| --- | --- |
|
|
133
|
-
| `/docs/middleware` | `middleware.md` |
|
|
134
|
-
| `/docs/hydration` | `hydration.md` |
|
|
135
|
-
| `/docs/development-logging` | `development-logging.md` |
|
|
136
|
-
| `/docs/caching` | `caching.md` |
|
|
137
|
-
| `/docs/security` | `security.md` |
|
|
138
|
-
| `/docs/production-hardening` | `production-hardening.md` |
|
|
139
|
-
|
|
140
|
-
### Storage & Uploads
|
|
141
|
-
|
|
142
|
-
| Website route | Markdown source |
|
|
143
|
-
| --- | --- |
|
|
144
|
-
| `/docs/file-upload` | `file-upload.md` |
|
|
145
|
-
| `/docs/storage` | `storage.md` |
|
|
146
|
-
| `/docs/storage-ecosystem` | `storage-ecosystem.md` |
|
|
147
|
-
| `/docs/s3-storage` | `s3-storage.md` |
|
|
148
|
-
|
|
149
|
-
### Developer Experience
|
|
150
|
-
|
|
151
|
-
| Website route | Markdown source |
|
|
152
|
-
| --- | --- |
|
|
153
|
-
| `/docs/generators` | `generators.md` |
|
|
154
|
-
| `/docs/developer-tools` | `developer-tools.md` |
|
|
155
|
-
|
|
156
|
-
### Platform & Compatibility
|
|
91
|
+
Important `0.2.1` routes:
|
|
157
92
|
|
|
158
93
|
| Website route | Markdown source |
|
|
159
94
|
| --- | --- |
|
|
160
95
|
| `/docs/platform-contract` | `platform-contract.md` |
|
|
96
|
+
| `/docs/documentation-platform` | `documentation-platform.md` |
|
|
161
97
|
| `/docs/migration-0.2` | `migration-0.2.md` |
|
|
98
|
+
| `/docs/api-reference` | `api-reference.md` |
|
|
99
|
+
| `/releases/0.2.1` | `releases/0.2.1.md` |
|
|
162
100
|
|
|
163
|
-
|
|
101
|
+
Every route/source pair is validated by unit tests.
|
|
164
102
|
|
|
165
|
-
|
|
103
|
+
## Platform manifest
|
|
166
104
|
|
|
167
|
-
|
|
105
|
+
`docs/platform-manifest.json` describes the supported framework baseline:
|
|
168
106
|
|
|
169
107
|
```text
|
|
170
108
|
schema version
|
|
171
|
-
framework
|
|
109
|
+
framework version/release state
|
|
172
110
|
Node/React/runtime baseline
|
|
173
111
|
production build target
|
|
174
112
|
public package entrypoints
|
|
175
113
|
CLI command families
|
|
176
|
-
|
|
114
|
+
capabilities
|
|
177
115
|
storage-provider families
|
|
178
|
-
previous
|
|
116
|
+
previous baseline compatibility intent
|
|
179
117
|
documentation contract files
|
|
180
118
|
```
|
|
181
119
|
|
|
182
|
-
|
|
120
|
+
Supported production target remains:
|
|
121
|
+
|
|
122
|
+
```text
|
|
123
|
+
standalone-node
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Native executable, desktop and mobile compilation remain future roadmap work.
|
|
127
|
+
|
|
128
|
+
## API manifest
|
|
183
129
|
|
|
184
|
-
|
|
130
|
+
`docs/api-manifest.json` describes the public package entrypoints that documentation tooling may present as supported API surfaces.
|
|
185
131
|
|
|
186
|
-
|
|
132
|
+
Current entrypoints:
|
|
187
133
|
|
|
188
134
|
```text
|
|
189
135
|
bcp
|
|
@@ -199,151 +145,68 @@ bcp/server-only
|
|
|
199
145
|
bcp/middleware
|
|
200
146
|
```
|
|
201
147
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
## API guide ownership
|
|
205
|
-
|
|
206
|
-
| Entrypoint | Primary guides |
|
|
207
|
-
| --- | --- |
|
|
208
|
-
| `bcp` | `routing.md`, `server-data-loaders.md`, `form-actions.md` |
|
|
209
|
-
| `bcp/server` | `server-request-apis.md`, `file-upload.md`, `storage.md`, `storage-ecosystem.md`, `production-hardening.md` |
|
|
210
|
-
| `bcp/auth` | `authentication.md`, `auth-route-guards.md`, `session-auth.md` |
|
|
211
|
-
| `bcp/database` | `database.md`, `database-migrations.md` |
|
|
212
|
-
| `bcp/validation` | `validation.md` |
|
|
213
|
-
| `bcp/error` | `error-handling.md` |
|
|
214
|
-
| `bcp/cache` | `caching.md` |
|
|
215
|
-
| `bcp/config` | `configuration.md` |
|
|
216
|
-
| `bcp/middleware` | `middleware.md` |
|
|
217
|
-
|
|
218
|
-
## Current capability groups
|
|
219
|
-
|
|
220
|
-
### Application
|
|
221
|
-
|
|
222
|
-
- React SSR/hydration
|
|
223
|
-
- file-based page/API routing
|
|
224
|
-
- dynamic/catch-all/optional catch-all routes
|
|
225
|
-
- layouts/metadata/route groups
|
|
226
|
-
- SPA navigation
|
|
227
|
-
- loaders/guards/form actions
|
|
228
|
-
- client islands / partial hydration
|
|
229
|
-
|
|
230
|
-
### Server/runtime
|
|
231
|
-
|
|
232
|
-
- request-scoped server APIs
|
|
233
|
-
- JWT cookie sessions
|
|
234
|
-
- Middleware System v2
|
|
235
|
-
- validation and structured HTTP errors
|
|
236
|
-
- structured logging/request IDs
|
|
237
|
-
- response caching/revalidation
|
|
238
|
-
- production hardening/timeouts
|
|
239
|
-
- graceful shutdown and shutdown hooks
|
|
240
|
-
- trusted-proxy controls
|
|
241
|
-
|
|
242
|
-
### Database
|
|
243
|
-
|
|
244
|
-
- MySQL framework primitives
|
|
245
|
-
- prepared query/execute helpers
|
|
246
|
-
- transactions
|
|
247
|
-
- migrations/status/rollback
|
|
248
|
-
|
|
249
|
-
### Storage & uploads
|
|
250
|
-
|
|
251
|
-
- buffered multipart APIs
|
|
252
|
-
- streaming multipart upload
|
|
253
|
-
- local filesystem storage
|
|
254
|
-
- Amazon S3 / Cloudflare R2 / S3-compatible storage
|
|
255
|
-
- streaming reads/writes and byte ranges
|
|
256
|
-
- list/copy/move
|
|
257
|
-
- portable metadata
|
|
258
|
-
- bulk delete
|
|
259
|
-
- S3 signed read/write URLs
|
|
260
|
-
|
|
261
|
-
### Developer Experience
|
|
262
|
-
|
|
263
|
-
- `create-bcp-app`
|
|
264
|
-
- Local / Amazon S3 / Cloudflare R2 storage presets
|
|
265
|
-
- non-secret `bcp.project.json`
|
|
266
|
-
- page/API/middleware/migration generators
|
|
267
|
-
- Doctor/Inspect v2
|
|
268
|
-
- framework updater
|
|
269
|
-
- Windows-safe `bcp-framework` alias
|
|
270
|
-
|
|
271
|
-
## Build/runtime baseline
|
|
272
|
-
|
|
273
|
-
Supported `0.2.0` production target:
|
|
274
|
-
|
|
275
|
-
```text
|
|
276
|
-
standalone-node
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
Build output:
|
|
280
|
-
|
|
281
|
-
```text
|
|
282
|
-
.bcp-framework/build/
|
|
283
|
-
├─ client/
|
|
284
|
-
├─ public/
|
|
285
|
-
└─ server/
|
|
286
|
-
└─ server.mjs
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
Native executable, desktop and mobile compilation are not part of the `0.2.0` platform contract.
|
|
290
|
-
|
|
291
|
-
## Releases
|
|
292
|
-
|
|
293
|
-
Release notes live in:
|
|
294
|
-
|
|
295
|
-
```text
|
|
296
|
-
docs/releases/
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
Current manifest routes begin with:
|
|
148
|
+
Each API entry records:
|
|
300
149
|
|
|
301
150
|
```text
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
151
|
+
package
|
|
152
|
+
source file
|
|
153
|
+
environment boundary
|
|
154
|
+
reference route
|
|
155
|
+
summary
|
|
156
|
+
related guide routes
|
|
307
157
|
```
|
|
308
158
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
```text
|
|
312
|
-
published
|
|
313
|
-
release candidate
|
|
314
|
-
unreleased development target
|
|
315
|
-
```
|
|
159
|
+
The API-manifest entrypoint set must match the public-entrypoint set in `platform-manifest.json` exactly.
|
|
316
160
|
|
|
317
|
-
|
|
161
|
+
See [API Reference](api-reference.md).
|
|
318
162
|
|
|
319
|
-
##
|
|
163
|
+
## bcp-docs-web synchronization
|
|
320
164
|
|
|
321
|
-
|
|
165
|
+
The `bcp-docs-web` sync should load all three manifests first.
|
|
322
166
|
|
|
323
167
|
```text
|
|
324
|
-
|
|
325
|
-
load platform-manifest.json
|
|
168
|
+
selected framework ref
|
|
326
169
|
↓
|
|
327
|
-
|
|
170
|
+
docs-web-manifest.json
|
|
171
|
+
platform-manifest.json
|
|
172
|
+
api-manifest.json
|
|
328
173
|
↓
|
|
329
|
-
|
|
174
|
+
validate version/release/API parity
|
|
330
175
|
↓
|
|
331
|
-
load referenced Markdown
|
|
176
|
+
load only referenced Markdown
|
|
332
177
|
↓
|
|
333
|
-
|
|
178
|
+
rewrite internal Markdown links to website routes
|
|
334
179
|
↓
|
|
335
|
-
|
|
180
|
+
synchronize CMS/search/navigation
|
|
336
181
|
```
|
|
337
182
|
|
|
338
|
-
|
|
183
|
+
The matching docs-web implementation supports local framework source or a selected Git ref.
|
|
184
|
+
|
|
185
|
+
Examples:
|
|
186
|
+
|
|
187
|
+
```powershell
|
|
188
|
+
npm run docs:sync -- --dry-run
|
|
189
|
+
npm run docs:sync -- --publish-new
|
|
190
|
+
npm run docs:sync -- --ref=v0.2.0
|
|
191
|
+
```
|
|
339
192
|
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
193
|
+
Using a tag/ref is the foundation for historical/versioned documentation without manually copying current Markdown into another source tree.
|
|
194
|
+
|
|
195
|
+
## Public API guide ownership
|
|
196
|
+
|
|
197
|
+
| Entrypoint | Primary guides |
|
|
198
|
+
| --- | --- |
|
|
199
|
+
| `bcp` | `routing.md`, `server-data-loaders.md`, `route-guards.md`, `form-actions.md` |
|
|
200
|
+
| `bcp/island` | `hydration.md` |
|
|
201
|
+
| `bcp/cache` | `caching.md` |
|
|
202
|
+
| `bcp/config` | `configuration.md` |
|
|
203
|
+
| `bcp/validation` | `validation.md` |
|
|
204
|
+
| `bcp/error` | `error-handling.md` |
|
|
205
|
+
| `bcp/database` | `database.md`, `database-migrations.md` |
|
|
206
|
+
| `bcp/auth` | `authentication.md`, `auth-route-guards.md`, `session-auth.md` |
|
|
207
|
+
| `bcp/server` | `server-request-apis.md`, `file-upload.md`, `storage.md`, `storage-ecosystem.md`, `production-hardening.md` |
|
|
208
|
+
| `bcp/server-only` | `application-modules.md` |
|
|
209
|
+
| `bcp/middleware` | `middleware.md` |
|
|
347
210
|
|
|
348
211
|
## Source conventions
|
|
349
212
|
|
|
@@ -354,11 +217,18 @@ Recommended website behavior:
|
|
|
354
217
|
- exact public API names,
|
|
355
218
|
- clear stable/RC/roadmap labels,
|
|
356
219
|
- security limitations next to affected APIs,
|
|
357
|
-
- no framework-internal module presented as public API
|
|
220
|
+
- no framework-internal module presented as public API,
|
|
221
|
+
- no secrets/runtime `.env` values in public documentation metadata.
|
|
222
|
+
|
|
223
|
+
## Search and previous/next
|
|
224
|
+
|
|
225
|
+
Search should index Markdown content and headings. Manifest titles/categories/API summaries may be used as metadata.
|
|
226
|
+
|
|
227
|
+
Sidebar and previous/next ordering should follow `docs-web-manifest.json` order so navigation surfaces cannot drift from each other.
|
|
358
228
|
|
|
359
229
|
## Release validation
|
|
360
230
|
|
|
361
|
-
Before publishing `0.2.
|
|
231
|
+
Before publishing `0.2.1`:
|
|
362
232
|
|
|
363
233
|
```bash
|
|
364
234
|
npm run typecheck
|
|
@@ -369,28 +239,16 @@ npm run test:e2e
|
|
|
369
239
|
npm run rc:check
|
|
370
240
|
```
|
|
371
241
|
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
- prepared framework/create-app version parity,
|
|
375
|
-
- required public exports,
|
|
376
|
-
- both CLI executable aliases,
|
|
377
|
-
- Node.js engine baseline,
|
|
378
|
-
- inclusion of platform/docs contract files,
|
|
379
|
-
- docs-web target/version consistency.
|
|
380
|
-
|
|
381
|
-
The final release tag must point to the commit that passed the complete RC sequence.
|
|
242
|
+
Documentation Platform validation covers:
|
|
382
243
|
|
|
383
|
-
|
|
244
|
+
- every Markdown source exists,
|
|
245
|
+
- every docs/release route is unique,
|
|
246
|
+
- package/platform/docs/API versions match,
|
|
247
|
+
- API entrypoints match the platform public-entrypoint set,
|
|
248
|
+
- API guide routes exist,
|
|
249
|
+
- prepared npm packages contain the three manifests, API reference and Documentation Platform guide.
|
|
384
250
|
|
|
385
|
-
|
|
386
|
-
- every website route is unique,
|
|
387
|
-
- docs-web target matches platform version,
|
|
388
|
-
- platform public entrypoints match package exports,
|
|
389
|
-
- examples use public APIs/commands,
|
|
390
|
-
- release states are accurate,
|
|
391
|
-
- secrets are never placed in project/docs metadata,
|
|
392
|
-
- proxy trust remains opt-in,
|
|
393
|
-
- roadmap features are not presented as release guarantees.
|
|
251
|
+
The final release tag must point to the exact commit that passed the complete RC sequence.
|
|
394
252
|
|
|
395
253
|
## Repository authority
|
|
396
254
|
|
|
@@ -403,7 +261,23 @@ tests
|
|
|
403
261
|
Markdown docs
|
|
404
262
|
docs-web manifest
|
|
405
263
|
platform manifest
|
|
264
|
+
API manifest
|
|
406
265
|
release notes
|
|
407
266
|
```
|
|
408
267
|
|
|
409
|
-
`bcp-docs-web`
|
|
268
|
+
`bcp-docs-web` remains the presentation/search/navigation layer for this content.
|
|
269
|
+
|
|
270
|
+
## Next direction
|
|
271
|
+
|
|
272
|
+
Planned next milestone:
|
|
273
|
+
|
|
274
|
+
```text
|
|
275
|
+
0.2.2 — Configuration & Environment v2
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
Focus:
|
|
279
|
+
|
|
280
|
+
- typed production configuration improvements,
|
|
281
|
+
- environment validation,
|
|
282
|
+
- startup configuration diagnostics,
|
|
283
|
+
- configuration schema/inspection tooling.
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"framework": "bcp",
|
|
4
|
+
"version": "0.2.1",
|
|
5
|
+
"releaseState": "unreleased",
|
|
6
|
+
"coverage": "public-entrypoints",
|
|
7
|
+
"entrypoints": [
|
|
8
|
+
{
|
|
9
|
+
"package": "bcp",
|
|
10
|
+
"source": "packages/client/src/index.tsx",
|
|
11
|
+
"environment": "universal",
|
|
12
|
+
"route": "/docs/api-reference#bcp",
|
|
13
|
+
"summary": "React application APIs for routing, links, forms, loader/guard data, islands, metadata and route error handling.",
|
|
14
|
+
"guides": [
|
|
15
|
+
"/docs/routing",
|
|
16
|
+
"/docs/server-data-loaders",
|
|
17
|
+
"/docs/route-guards",
|
|
18
|
+
"/docs/form-actions"
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"package": "bcp/island",
|
|
23
|
+
"source": "packages/client/src/islands.tsx",
|
|
24
|
+
"environment": "universal",
|
|
25
|
+
"route": "/docs/api-reference#bcp-island",
|
|
26
|
+
"summary": "Partial-hydration island creation and island loading strategy types.",
|
|
27
|
+
"guides": [
|
|
28
|
+
"/docs/hydration"
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"package": "bcp/cache",
|
|
33
|
+
"source": "packages/client/src/cache.ts",
|
|
34
|
+
"environment": "server-preferred",
|
|
35
|
+
"route": "/docs/api-reference#bcp-cache",
|
|
36
|
+
"summary": "Cache, deduplication, statistics and path/tag revalidation primitives.",
|
|
37
|
+
"guides": [
|
|
38
|
+
"/docs/caching"
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"package": "bcp/config",
|
|
43
|
+
"source": "packages/client/src/config.ts",
|
|
44
|
+
"environment": "server",
|
|
45
|
+
"route": "/docs/api-reference#bcp-config",
|
|
46
|
+
"summary": "Typed BCP configuration definition, loading and resolution APIs.",
|
|
47
|
+
"guides": [
|
|
48
|
+
"/docs/configuration"
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"package": "bcp/validation",
|
|
53
|
+
"source": "packages/client/src/validation.ts",
|
|
54
|
+
"environment": "universal",
|
|
55
|
+
"route": "/docs/api-reference#bcp-validation",
|
|
56
|
+
"summary": "Typed validators, parse helpers and structured validation errors.",
|
|
57
|
+
"guides": [
|
|
58
|
+
"/docs/validation"
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"package": "bcp/error",
|
|
63
|
+
"source": "packages/client/src/http-error.ts",
|
|
64
|
+
"environment": "universal",
|
|
65
|
+
"route": "/docs/api-reference#bcp-error",
|
|
66
|
+
"summary": "Structured HTTP error creation, classification and response helpers.",
|
|
67
|
+
"guides": [
|
|
68
|
+
"/docs/error-handling"
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"package": "bcp/database",
|
|
73
|
+
"source": "packages/client/src/database.ts",
|
|
74
|
+
"environment": "server",
|
|
75
|
+
"route": "/docs/api-reference#bcp-database",
|
|
76
|
+
"summary": "Database pool, prepared query/execute helpers and transaction primitives.",
|
|
77
|
+
"guides": [
|
|
78
|
+
"/docs/database",
|
|
79
|
+
"/docs/database-migrations"
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"package": "bcp/auth",
|
|
84
|
+
"source": "packages/client/src/auth.ts",
|
|
85
|
+
"environment": "server",
|
|
86
|
+
"route": "/docs/api-reference#bcp-auth",
|
|
87
|
+
"summary": "Authentication, login/logout/session rotation and route authorization guards.",
|
|
88
|
+
"guides": [
|
|
89
|
+
"/docs/authentication",
|
|
90
|
+
"/docs/auth-route-guards",
|
|
91
|
+
"/docs/session-auth"
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"package": "bcp/server",
|
|
96
|
+
"source": "packages/client/src/server.ts",
|
|
97
|
+
"environment": "server",
|
|
98
|
+
"route": "/docs/api-reference#bcp-server",
|
|
99
|
+
"summary": "Request context, cookies, logging, production hardening, upload, storage, response and session APIs.",
|
|
100
|
+
"guides": [
|
|
101
|
+
"/docs/server-request-apis",
|
|
102
|
+
"/docs/file-upload",
|
|
103
|
+
"/docs/storage",
|
|
104
|
+
"/docs/storage-ecosystem",
|
|
105
|
+
"/docs/production-hardening"
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"package": "bcp/server-only",
|
|
110
|
+
"source": "packages/client/src/server-only.mjs",
|
|
111
|
+
"environment": "server-marker",
|
|
112
|
+
"route": "/docs/api-reference#bcp-server-only",
|
|
113
|
+
"summary": "Server-only module boundary marker that prevents accidental browser inclusion.",
|
|
114
|
+
"guides": [
|
|
115
|
+
"/docs/application-modules"
|
|
116
|
+
]
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"package": "bcp/middleware",
|
|
120
|
+
"source": "packages/server/src/middleware.ts",
|
|
121
|
+
"environment": "server",
|
|
122
|
+
"route": "/docs/api-reference#bcp-middleware",
|
|
123
|
+
"summary": "Middleware System v2 request/response pipeline types and helpers.",
|
|
124
|
+
"guides": [
|
|
125
|
+
"/docs/middleware"
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
}
|