@chidchanun/bcp 0.1.27 → 0.1.29
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 +158 -82
- package/docs/README.md +162 -104
- package/docs/developer-tools.md +175 -78
- package/docs/docs-web-manifest.json +88 -0
- package/docs/generators.md +149 -0
- package/docs/production-hardening.md +152 -0
- package/docs/project-metadata.md +112 -0
- package/docs/releases/0.1.28.md +134 -0
- package/docs/releases/0.1.29.md +170 -0
- package/package.json +1 -1
- package/packages/cli/src/args.ts +96 -0
- package/packages/cli/src/developer-tools-v2.ts +629 -0
- package/packages/cli/src/developer-tools.ts +115 -0
- package/packages/cli/src/generate.ts +475 -0
- package/packages/cli/src/index.ts +69 -0
- package/packages/client/src/server.ts +9 -0
- package/packages/server/src/hardening-proxy.ts +393 -0
- package/packages/server/src/production-hardening.ts +374 -0
- package/packages/server/src/standalone-production-runtime-v7.ts +299 -0
- package/packages/server/src/standalone-production-server.ts +1 -1
package/packages/cli/src/args.ts
CHANGED
|
@@ -8,6 +8,7 @@ export type CliCommand =
|
|
|
8
8
|
| "routes"
|
|
9
9
|
| "update"
|
|
10
10
|
| "db"
|
|
11
|
+
| "generate"
|
|
11
12
|
| "doctor"
|
|
12
13
|
| "inspect"
|
|
13
14
|
| "help"
|
|
@@ -20,6 +21,13 @@ export type DatabaseCliAction =
|
|
|
20
21
|
| "create"
|
|
21
22
|
| "help";
|
|
22
23
|
|
|
24
|
+
export type GenerateCliKind =
|
|
25
|
+
| "page"
|
|
26
|
+
| "api"
|
|
27
|
+
| "middleware"
|
|
28
|
+
| "migration"
|
|
29
|
+
| "help";
|
|
30
|
+
|
|
23
31
|
export interface CliOptions {
|
|
24
32
|
command: CliCommand;
|
|
25
33
|
|
|
@@ -37,9 +45,15 @@ export interface CliOptions {
|
|
|
37
45
|
|
|
38
46
|
json?: boolean;
|
|
39
47
|
|
|
48
|
+
force?: boolean;
|
|
49
|
+
|
|
40
50
|
dbAction?: DatabaseCliAction;
|
|
41
51
|
|
|
42
52
|
dbMigrationName?: string;
|
|
53
|
+
|
|
54
|
+
generateKind?: GenerateCliKind;
|
|
55
|
+
|
|
56
|
+
generateName?: string;
|
|
43
57
|
}
|
|
44
58
|
|
|
45
59
|
export function parseCliArgs(
|
|
@@ -68,12 +82,21 @@ export function parseCliArgs(
|
|
|
68
82
|
let json =
|
|
69
83
|
false;
|
|
70
84
|
|
|
85
|
+
let force =
|
|
86
|
+
false;
|
|
87
|
+
|
|
71
88
|
let dbAction:
|
|
72
89
|
DatabaseCliAction | undefined;
|
|
73
90
|
|
|
74
91
|
let dbMigrationName:
|
|
75
92
|
string | undefined;
|
|
76
93
|
|
|
94
|
+
let generateKind:
|
|
95
|
+
GenerateCliKind | undefined;
|
|
96
|
+
|
|
97
|
+
let generateName:
|
|
98
|
+
string | undefined;
|
|
99
|
+
|
|
77
100
|
let commandSet = false;
|
|
78
101
|
|
|
79
102
|
for (
|
|
@@ -92,6 +115,11 @@ export function parseCliArgs(
|
|
|
92
115
|
command === "db"
|
|
93
116
|
) {
|
|
94
117
|
dbAction = "help";
|
|
118
|
+
} else if (
|
|
119
|
+
commandSet &&
|
|
120
|
+
command === "generate"
|
|
121
|
+
) {
|
|
122
|
+
generateKind = "help";
|
|
95
123
|
} else {
|
|
96
124
|
command = "help";
|
|
97
125
|
}
|
|
@@ -224,6 +252,14 @@ export function parseCliArgs(
|
|
|
224
252
|
continue;
|
|
225
253
|
}
|
|
226
254
|
|
|
255
|
+
if (
|
|
256
|
+
argument === "--force"
|
|
257
|
+
) {
|
|
258
|
+
force =
|
|
259
|
+
true;
|
|
260
|
+
continue;
|
|
261
|
+
}
|
|
262
|
+
|
|
227
263
|
if (
|
|
228
264
|
argument.startsWith("-")
|
|
229
265
|
) {
|
|
@@ -299,6 +335,45 @@ export function parseCliArgs(
|
|
|
299
335
|
);
|
|
300
336
|
}
|
|
301
337
|
|
|
338
|
+
if (
|
|
339
|
+
commandSet &&
|
|
340
|
+
command === "generate"
|
|
341
|
+
) {
|
|
342
|
+
if (
|
|
343
|
+
generateKind === undefined
|
|
344
|
+
) {
|
|
345
|
+
if (
|
|
346
|
+
argument === "page" ||
|
|
347
|
+
argument === "api" ||
|
|
348
|
+
argument === "middleware" ||
|
|
349
|
+
argument === "migration" ||
|
|
350
|
+
argument === "help"
|
|
351
|
+
) {
|
|
352
|
+
generateKind =
|
|
353
|
+
argument;
|
|
354
|
+
continue;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
throw new Error(
|
|
358
|
+
`Unknown generator: ${argument}`
|
|
359
|
+
);
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
if (
|
|
363
|
+
generateKind !== "middleware" &&
|
|
364
|
+
generateKind !== "help" &&
|
|
365
|
+
generateName === undefined
|
|
366
|
+
) {
|
|
367
|
+
generateName =
|
|
368
|
+
argument;
|
|
369
|
+
continue;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
throw new Error(
|
|
373
|
+
`Unexpected argument: ${argument}`
|
|
374
|
+
);
|
|
375
|
+
}
|
|
376
|
+
|
|
302
377
|
if (commandSet) {
|
|
303
378
|
throw new Error(
|
|
304
379
|
`Unexpected argument: ${argument}`
|
|
@@ -312,6 +387,7 @@ export function parseCliArgs(
|
|
|
312
387
|
argument === "routes" ||
|
|
313
388
|
argument === "update" ||
|
|
314
389
|
argument === "db" ||
|
|
390
|
+
argument === "generate" ||
|
|
315
391
|
argument === "doctor" ||
|
|
316
392
|
argument === "inspect" ||
|
|
317
393
|
argument === "help" ||
|
|
@@ -349,6 +425,15 @@ export function parseCliArgs(
|
|
|
349
425
|
);
|
|
350
426
|
}
|
|
351
427
|
|
|
428
|
+
if (
|
|
429
|
+
force &&
|
|
430
|
+
command !== "generate"
|
|
431
|
+
) {
|
|
432
|
+
throw new Error(
|
|
433
|
+
"Option --force is only valid with `bcp generate`."
|
|
434
|
+
);
|
|
435
|
+
}
|
|
436
|
+
|
|
352
437
|
return {
|
|
353
438
|
command,
|
|
354
439
|
rootDirectory,
|
|
@@ -362,12 +447,23 @@ export function parseCliArgs(
|
|
|
362
447
|
json: true,
|
|
363
448
|
}
|
|
364
449
|
: {}),
|
|
450
|
+
...(force
|
|
451
|
+
? {
|
|
452
|
+
force: true,
|
|
453
|
+
}
|
|
454
|
+
: {}),
|
|
365
455
|
...(command === "db"
|
|
366
456
|
? {
|
|
367
457
|
dbAction,
|
|
368
458
|
dbMigrationName,
|
|
369
459
|
}
|
|
370
460
|
: {}),
|
|
461
|
+
...(command === "generate"
|
|
462
|
+
? {
|
|
463
|
+
generateKind,
|
|
464
|
+
generateName,
|
|
465
|
+
}
|
|
466
|
+
: {}),
|
|
371
467
|
};
|
|
372
468
|
}
|
|
373
469
|
|