@classytic/arc 2.31.0 → 2.33.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/README.md +1 -1
- package/bin/arc.js +58 -17
- package/dist/{BaseController-De7GqHck.mjs → BaseController-CaQC5EXX.mjs} +298 -35
- package/dist/{EventTransport-2uVV34WU.d.mts → EventTransport-BEVP50ka.d.mts} +16 -0
- package/dist/{EventTransport-9mlTgqzE.mjs → EventTransport-tq4CEB-q.mjs} +39 -2
- package/dist/{HookSystem-BcmPyq5I.mjs → HookSystem-DqXkMXkB.mjs} +2 -2
- package/dist/{ResourceRegistry-qq0mn2s9.mjs → ResourceRegistry-DoALUlOO.mjs} +18 -15
- package/dist/{actionPermissions-BE5NwaQk.mjs → actionPermissions-CUeCmpUd.mjs} +1 -1
- package/dist/audit/index.d.mts +2 -2
- package/dist/audit/index.mjs +2 -2
- package/dist/auth/audit.mjs +1 -1
- package/dist/auth/index.d.mts +2 -2
- package/dist/auth/index.mjs +44 -11
- package/dist/auth/redis-session.mjs +1 -1
- package/dist/{authorizationDecision-ChvUQGG1.mjs → authorizationDecision-B3mP_QTy.mjs} +2 -2
- package/dist/{types-B7XeLEgK.d.mts → base-Csjc2oF-.d.mts} +74 -74
- package/dist/{buildHandler-CDrCJzmB.mjs → buildHandler-DLE9xX-V.mjs} +6 -5
- package/dist/cache/index.mjs +4 -4
- package/dist/{caching-BFHA6Scf.mjs → caching-BcGmvnHh.mjs} +2 -2
- package/dist/cleanup/index.d.mts +52 -18
- package/dist/cleanup/index.mjs +281 -32
- package/dist/cli/commands/describe.d.mts +1 -1
- package/dist/cli/commands/describe.mjs +4 -6
- package/dist/cli/commands/docs.mjs +3 -3
- package/dist/cli/commands/doctor.mjs +1 -1
- package/dist/cli/commands/generate.mjs +2 -2
- package/dist/cli/commands/init.mjs +2 -2
- package/dist/cli/commands/introspect.mjs +2 -2
- package/dist/cli/index.mjs +3 -3
- package/dist/{constants-D3Dv4LAV.mjs → constants-BxCoxmiN.mjs} +1 -1
- package/dist/context/index.mjs +3 -3
- package/dist/core/index.d.mts +2 -2
- package/dist/core/index.mjs +7 -7
- package/dist/{core-BGpIxINN.mjs → core-dxhcHhUD.mjs} +3 -3
- package/dist/{createActionRouter-CDXEdasl.mjs → createActionRouter-DVpoA0do.mjs} +14 -11
- package/dist/{createAggregationRouter-KrQDzx-k.mjs → createAggregationRouter-B_B48JZ-.mjs} +10 -8
- package/dist/{createApp-Df89BEni.mjs → createApp-CLGegqiG.mjs} +287 -62
- package/dist/{defineAggregation-DbPPS8RI.mjs → defineAggregation-Nv-DwfOf.mjs} +1 -1
- package/dist/{defineResource-Bv6EtN1x.mjs → defineResource-DR9vsUYy.mjs} +318 -35
- package/dist/discovery/index.mjs +1 -1
- package/dist/docs/index.d.mts +1 -1
- package/dist/docs/index.mjs +3 -3
- package/dist/{elevation-D2l1mh4g.mjs → elevation-B0tlY8y1.mjs} +4 -4
- package/dist/encryption/index.mjs +5 -4
- package/dist/{errorHandler-C5NeD6bT.mjs → errorHandler-C7xBqHsI.mjs} +42 -5
- package/dist/{errorHandler-CpYUJmPA.d.mts → errorHandler-DI5AN2b5.d.mts} +14 -3
- package/dist/{errors-Cj42AntO.mjs → errors-Cd_yy7aW.mjs} +1 -1
- package/dist/{eventPlugin-GF5nnBIq.d.mts → eventPlugin-DSNEZWfV.d.mts} +29 -1
- package/dist/{eventPlugin-CkffEihm.mjs → eventPlugin-Dar8qRaj.mjs} +68 -11
- package/dist/events/index.d.mts +18 -297
- package/dist/events/index.mjs +7 -758
- package/dist/events/transports/redis-stream-entry.d.mts +1 -1
- package/dist/events/transports/redis-stream-entry.mjs +14 -10
- package/dist/events/transports/redis.d.mts +1 -1
- package/dist/events/transports/redis.mjs +1 -1
- package/dist/factory/index.d.mts +20 -5
- package/dist/factory/index.mjs +131 -8
- package/dist/fastify-augmentation-DVsTAy6X.d.mts +179 -0
- package/dist/{fields-CB5Cuzk9.mjs → fields-CojeUkS4.mjs} +6 -11
- package/dist/{generate-EcA6ui4i.mjs → generate-DiB0nHPR.mjs} +2 -2
- package/dist/{headers-3zvE0rM3.mjs → headers-CveNO9gR.mjs} +2 -2
- package/dist/{health-DjZYjM7H.mjs → health-CasG2A28.mjs} +1 -1
- package/dist/hooks/index.d.mts +1 -1
- package/dist/hooks/index.mjs +2 -2
- package/dist/idempotency/index.d.mts +45 -1
- package/dist/idempotency/index.mjs +95 -11
- package/dist/idempotency/redis.mjs +1 -1
- package/dist/{index-CEJNZFtX.d.mts → index-B-DvUzsr.d.mts} +82 -3
- package/dist/{index-CpzxqePp.d.mts → index-BcR2bFZQ.d.mts} +707 -373
- package/dist/{index-Bc2ox8_U.d.mts → index-Brin0ODU.d.mts} +4 -4
- package/dist/{index-CFThn1K9.d.mts → index-C5NnMEKF.d.mts} +70 -4
- package/dist/{index-C-481Zf2.d.mts → index-ugr1tQlW.d.mts} +17 -1
- package/dist/index.d.mts +6 -6
- package/dist/index.mjs +11 -11
- package/dist/{init-BEiNZBsJ.mjs → init-mdJ-v4Xp.mjs} +24 -16
- package/dist/integrations/event-gateway.d.mts +1 -1
- package/dist/integrations/event-gateway.mjs +2 -2
- package/dist/integrations/index.d.mts +2 -2
- package/dist/integrations/index.mjs +1 -1
- package/dist/integrations/jobs/index.d.mts +1 -1
- package/dist/integrations/jobs/index.mjs +100 -98
- package/dist/integrations/mcp/index.d.mts +12 -3
- package/dist/integrations/mcp/index.mjs +2 -2
- package/dist/integrations/mcp/testing.d.mts +1 -1
- package/dist/integrations/mcp/testing.mjs +2 -2
- package/dist/integrations/streamline.mjs +3 -3
- package/dist/integrations/webhooks.d.mts +124 -1
- package/dist/integrations/webhooks.mjs +180 -2
- package/dist/integrations/websocket-pushref-redis.mjs +1 -1
- package/dist/integrations/websocket-redis.mjs +1 -1
- package/dist/integrations/websocket.mjs +38 -35
- package/dist/{interface-DYzM0q-u.mjs → interface-DznJrm9R.mjs} +1 -1
- package/dist/{jsonBody-BYbLDi5D.mjs → jsonBody-CfGH-GxO.mjs} +2 -2
- package/dist/{keys-C0_pa1tY.mjs → keys-WeKvY1dE.mjs} +1 -1
- package/dist/{loadResources-yawi9tAE.mjs → loadResources-Bj-aSsXi.mjs} +4 -3
- package/dist/{loadResourcesFromEntry-BAjYZonx.mjs → loadResourcesFromEntry-DwaxNcE2.mjs} +2 -2
- package/dist/logger/index.mjs +1 -1
- package/dist/{mcpPlugin-B_es0hiF.mjs → mcpPlugin-aJg5TqHi.mjs} +76 -36
- package/dist/{memory-DR6wpa9F.mjs → memory-qYSB7rMQ.mjs} +5 -5
- package/dist/{metrics-CUdw_wLB.mjs → metrics-D7uchLjN.mjs} +2 -2
- package/dist/middleware/index.d.mts +1 -1
- package/dist/middleware/index.mjs +3 -3
- package/dist/migrations/index.mjs +3 -3
- package/dist/{module-0pFJA6YW.mjs → module-CwKsgZXp.mjs} +1 -1
- package/dist/{multipartBody-wOgj_fnj.mjs → multipartBody-4w-S3-PU.mjs} +3 -3
- package/dist/{openapi-B2L4js1v.mjs → openapi-BN5cQaO2.mjs} +6 -6
- package/dist/outbox-admin/index.d.mts +85 -0
- package/dist/outbox-admin/index.mjs +115 -0
- package/dist/outbox-module-CXB79bvt.mjs +839 -0
- package/dist/outbox-module-D-VFq37T.d.mts +368 -0
- package/dist/permissions/index.d.mts +3 -3
- package/dist/permissions/index.mjs +6 -6
- package/dist/{permissions-L--QDAir.mjs → permissions-BAfwgBxc.mjs} +120 -8
- package/dist/{pipe-DRDNsI2T.mjs → pipe-BzzoEhHj.mjs} +3 -5
- package/dist/pipeline/index.d.mts +1 -1
- package/dist/pipeline/index.mjs +2 -2
- package/dist/{pipeline-UPQFatit.mjs → pipeline-q69DZzgG.mjs} +17 -15
- package/dist/plugins/index.d.mts +6 -6
- package/dist/plugins/index.mjs +16 -16
- package/dist/plugins/response-cache.mjs +2 -2
- package/dist/plugins/tracing-entry.mjs +2 -2
- package/dist/{pluralize-O0FZgESl.mjs → pluralize-B7xf8qZF.mjs} +1 -1
- package/dist/{preloadResources-Dz6BjzM6.mjs → preloadResources-BkyqeTDz.mjs} +1 -1
- package/dist/{preloadResources-CyoJMSiO.d.mts → preloadResources-g07ldtzh.d.mts} +30 -7
- package/dist/presets/filesUpload.d.mts +2 -2
- package/dist/presets/filesUpload.mjs +6 -6
- package/dist/presets/index.d.mts +2 -2
- package/dist/presets/index.mjs +2 -2
- package/dist/presets/multiTenant.d.mts +1 -1
- package/dist/presets/multiTenant.mjs +3 -3
- package/dist/presets/search.d.mts +2 -2
- package/dist/presets/search.mjs +2 -2
- package/dist/{presets-C4-g4_4P.mjs → presets-D-h0uWtP.mjs} +6 -5
- package/dist/projection-BKM0Ui-s.mjs +42 -0
- package/dist/{queryCachePlugin-BZr8v46E.mjs → queryCachePlugin-DhsZ0ZIc.mjs} +50 -8
- package/dist/{rateLimit-CMPY5Qms.mjs → rateLimit-D4-ASwsI.mjs} +2 -2
- package/dist/{rateLimitKey-Dn5JNmkj.mjs → rateLimitKey-XngqVNEV.mjs} +1 -1
- package/dist/{realtime-C5NoxWFY.mjs → realtime-CTkv3O59.mjs} +10 -10
- package/dist/{redis-stream-qN6A-RFv.d.mts → redis-stream-mwLWlfHG.d.mts} +1 -1
- package/dist/{registerRoute-CBN84fc7.mjs → registerRoute-DNnd3vkz.mjs} +10 -8
- package/dist/registry/index.d.mts +3 -3
- package/dist/registry/index.mjs +3 -3
- package/dist/{registry-4213U4zb.mjs → registry-CLxCR5LF.mjs} +2 -2
- package/dist/{renewingLease-Dll8mGgc.mjs → renewingLease-BnWtbA2U.mjs} +1 -1
- package/dist/{replyHelpers-DIiZKGUt.mjs → replyHelpers-BSBVCwL3.mjs} +2 -2
- package/dist/{repositoryFilter-f9eAfq_l.mjs → repositoryFilter-DKny7PDn.mjs} +1 -1
- package/dist/{requestContext-2TxXOJ7T.mjs → requestContext-uYE35JxI.mjs} +1 -1
- package/dist/{rolldown-runtime-CUsjNX9R.mjs → rolldown-runtime-DNg-KNCk.mjs} +1 -1
- package/dist/runtimeCapabilities-Dm88DaTW.mjs +49 -0
- package/dist/{schedules-DdtlICTf.mjs → schedules-CAcZgia0.mjs} +3 -3
- package/dist/{schemaConverter-D--wdJM-.mjs → schemaConverter-XH1RZRyu.mjs} +1 -1
- package/dist/{schemaIR-Bm2enbnh.mjs → schemaIR-CDvclAew.mjs} +2 -2
- package/dist/schemas/index.mjs +1 -1
- package/dist/scim/index.mjs +2 -2
- package/dist/scope/index.mjs +5 -5
- package/dist/{scope-DHx5Fous.mjs → scope-BaWcqBvr.mjs} +4 -4
- package/dist/{simpleEqualityMatcher-DjQJ7FKA.mjs → simpleEqualityMatcher-Se8VrsaP.mjs} +1 -1
- package/dist/{sse-CUTo9y0X.mjs → sse-Cf0jUHsh.mjs} +7 -6
- package/dist/{sseStream-B_5XcVVd.mjs → sseStream-Bvpi-UXQ.mjs} +2 -2
- package/dist/{store-helpers-D1MP_gRG.mjs → store-helpers-B88p99Z2.mjs} +1 -1
- package/dist/{streaming-PSZwi8JV.mjs → streaming-DsT1B5zJ.mjs} +1 -1
- package/dist/{subscribe-helpers-C0Tb2aUp.mjs → subscribe-helpers-CLIOHsOK.mjs} +2 -2
- package/dist/sync/changelog.mjs +1 -1
- package/dist/testing/cleanupStoreContract.d.mts +1 -1
- package/dist/testing/cleanupStoreContract.mjs +12 -6
- package/dist/testing/index.d.mts +52 -13
- package/dist/testing/index.mjs +110 -40
- package/dist/testing/outboxStoreContract.d.mts +11 -2
- package/dist/testing/outboxStoreContract.mjs +110 -21
- package/dist/testing/storageContract.mjs +11 -6
- package/dist/{transactionContext-dAfBVUrk.mjs → transactionContext-BYtWnwAS.mjs} +1 -1
- package/dist/{typeGuards-B0ryPo3I.mjs → typeGuards-jjKJDN13.mjs} +1 -1
- package/dist/types/index.d.mts +3 -3
- package/dist/types/index.mjs +1 -1
- package/dist/types/storage.mjs +1 -1
- package/dist/{types-CBgvkp8O.d.mts → types-BcTumAz_.d.mts} +128 -18
- package/dist/{types-CwcUQ610.d.mts → types-BfC83KsP.d.mts} +15 -1
- package/dist/{types-Cys0ko9Z.mjs → types-CoqIRrkY.mjs} +4 -4
- package/dist/{types-C4QE8qnm.d.mts → types-DVLddu2q.d.mts} +144 -1
- package/dist/usage/index.d.mts +1 -1
- package/dist/usage/index.mjs +0 -0
- package/dist/{userHelpers-ChYJ6CdK.mjs → userHelpers-CWF5pbZD.mjs} +1 -1
- package/dist/utils/index.d.mts +57 -5
- package/dist/utils/index.mjs +12 -11
- package/dist/{utils-vL8BrDE2.mjs → utils-h1V_sT-t.mjs} +38 -7
- package/dist/{validate-_KbifpHF.mjs → validate-CdQlz52F.mjs} +2 -2
- package/dist/{versioning-D_rhHfZm.d.mts → versioning-DEs-_hFi.d.mts} +1 -1
- package/dist/{versioning-CHDTor3P.mjs → versioning-rZbyLVD-.mjs} +4 -4
- package/package.json +31 -20
- package/skills/arc/SKILL.md +96 -4
- package/skills/arc/references/api-reference.md +19 -0
- package/skills/arc/references/production.md +2 -2
- package/dist/fastify-augmentation-zh0_AYHa.d.mts +0 -85
- package/dist/projection-BHw6xlOQ.mjs +0 -18
package/README.md
CHANGED
|
@@ -147,7 +147,7 @@ defineResource({
|
|
|
147
147
|
defineResource({ name: 'pipeline', adapter, defaultLimit: 200, maxLimit: 500 });
|
|
148
148
|
```
|
|
149
149
|
|
|
150
|
-
`?limit=`
|
|
150
|
+
A `?limit=` above the cap is **clamped to it** and served, not rejected (changed in 2.33). Rejecting made the documented clamp unreachable and turned a benign over-ask into a 400 that callers commonly render as an empty list. The effective cap is carried in the OpenAPI parameter description, and the response's own `limit` reports what was applied.
|
|
151
151
|
|
|
152
152
|
---
|
|
153
153
|
|
package/bin/arc.js
CHANGED
|
@@ -42,17 +42,11 @@ const VERSION = getPackageVersion();
|
|
|
42
42
|
|
|
43
43
|
const args = process.argv.slice(2);
|
|
44
44
|
|
|
45
|
-
// Version
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
// Help flag or no args
|
|
52
|
-
if (args.length === 0 || args.includes('--help') || args.includes('-h')) {
|
|
53
|
-
printHelp();
|
|
54
|
-
process.exit(0);
|
|
55
|
-
}
|
|
45
|
+
// Version / help are GLOBAL only in the leading position. Scanning the whole
|
|
46
|
+
// argv made `arc init --help` print the global help and exit, which left the
|
|
47
|
+
// per-command usage in COMMAND_HELP unreachable — a user asking how to use
|
|
48
|
+
// one command got the manual for all of them.
|
|
49
|
+
const leading = args[0];
|
|
56
50
|
|
|
57
51
|
// ============================================================================
|
|
58
52
|
// Command Routing
|
|
@@ -64,7 +58,7 @@ const [command, subcommand, ...rest] = args;
|
|
|
64
58
|
// through to the command (where `--help` was mistaken for an argument).
|
|
65
59
|
const COMMAND_ALIASES = { new: 'init', g: 'generate', i: 'introspect', desc: 'describe', d: 'docs' };
|
|
66
60
|
const COMMAND_HELP = {
|
|
67
|
-
init: 'Usage: arc init [name] [--jwt|--better-auth] [--mongokit|--custom] [--api-key]\n [--multi|--single] [--js] [--edge] [--docker|--no-docker] [--skip-install] [--force]\n Scaffold a new arc project (prompts when run in a TTY without a name).',
|
|
61
|
+
init: 'Usage: arc init [name] [--jwt|--better-auth] [--mongokit|--custom] [--api-key|--no-api-key] [--session cookie|bearer|both]\n [--multi|--single] [--js] [--edge] [--docker|--no-docker] [--skip-install] [--force]\n Scaffold a new arc project (prompts when run in a TTY without a name).',
|
|
68
62
|
generate: 'Usage: arc generate <resource|controller|model|repository|schemas|mcp> <name> [--mcp]\n Aliases: g; types r/c/m/repo/s. Name must be kebab-case (letters, digits, hyphens).',
|
|
69
63
|
introspect: 'Usage: arc introspect <entry-file>\n Print a human-readable summary of the resources an entry file exports.',
|
|
70
64
|
describe: 'Usage: arc describe <entry-file> [--json] [--pretty] [--entry <file>]\n Describe resources; --json emits machine output for AI agents.',
|
|
@@ -72,8 +66,27 @@ const COMMAND_HELP = {
|
|
|
72
66
|
doctor: 'Usage: arc doctor\n Diagnose common arc setup issues (exit 1 on hard failures).',
|
|
73
67
|
};
|
|
74
68
|
|
|
69
|
+
/**
|
|
70
|
+
* `process.exitCode` + return, never `process.exit()`.
|
|
71
|
+
*
|
|
72
|
+
* `process.exit()` tears the process down immediately; on POSIX a `stdout`
|
|
73
|
+
* that is a PIPE (`arc --help | less`, `arc describe --json > out.json`)
|
|
74
|
+
* writes asynchronously, so an exit racing the flush TRUNCATES output. Arc's
|
|
75
|
+
* own `doctor` already sets `exitCode`; this file is the one that did not.
|
|
76
|
+
* Setting the code and returning lets Node drain stdout and exit on its own.
|
|
77
|
+
*/
|
|
75
78
|
async function main() {
|
|
76
79
|
try {
|
|
80
|
+
// Global help/version are the LEADING argument only — see `leading`.
|
|
81
|
+
if (leading === '--version' || leading === '-v') {
|
|
82
|
+
console.log(`Arc CLI v${VERSION}`);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
if (args.length === 0 || leading === '--help' || leading === '-h') {
|
|
86
|
+
printHelp();
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
|
|
77
90
|
// `arc <command> --help` / `-h` → command-specific usage, exit 0.
|
|
78
91
|
const canonicalCommand = COMMAND_ALIASES[command] ?? command;
|
|
79
92
|
if (
|
|
@@ -117,7 +130,8 @@ async function main() {
|
|
|
117
130
|
default:
|
|
118
131
|
console.error(`Unknown command: ${command}`);
|
|
119
132
|
console.error('Run "arc --help" for usage');
|
|
120
|
-
process.
|
|
133
|
+
process.exitCode = 1;
|
|
134
|
+
return;
|
|
121
135
|
}
|
|
122
136
|
} catch (err) {
|
|
123
137
|
const message = err instanceof Error ? err.message : String(err);
|
|
@@ -125,7 +139,7 @@ async function main() {
|
|
|
125
139
|
if (process.env.DEBUG) {
|
|
126
140
|
console.error(err instanceof Error ? err.stack : err);
|
|
127
141
|
}
|
|
128
|
-
process.
|
|
142
|
+
process.exitCode = 1;
|
|
129
143
|
}
|
|
130
144
|
}
|
|
131
145
|
|
|
@@ -148,7 +162,8 @@ async function handleGenerate(type, args) {
|
|
|
148
162
|
console.log(' arc generate resource product --mcp');
|
|
149
163
|
console.log(' arc generate mcp product');
|
|
150
164
|
console.log(' arc g r invoice');
|
|
151
|
-
process.
|
|
165
|
+
process.exitCode = 1;
|
|
166
|
+
return;
|
|
152
167
|
}
|
|
153
168
|
|
|
154
169
|
// Normalize type shortcuts
|
|
@@ -170,14 +185,16 @@ async function handleGenerate(type, args) {
|
|
|
170
185
|
if (!normalizedType) {
|
|
171
186
|
console.error(`Unknown type: ${type}`);
|
|
172
187
|
console.log('Available types: resource (r), controller (c), model (m), repository (repo), schemas (s)');
|
|
173
|
-
process.
|
|
188
|
+
process.exitCode = 1;
|
|
189
|
+
return;
|
|
174
190
|
}
|
|
175
191
|
|
|
176
192
|
const name = args[0];
|
|
177
193
|
if (!name) {
|
|
178
194
|
console.error('Missing name argument');
|
|
179
195
|
console.log(`\nUsage: arc generate ${normalizedType} <name>`);
|
|
180
|
-
process.
|
|
196
|
+
process.exitCode = 1;
|
|
197
|
+
return;
|
|
181
198
|
}
|
|
182
199
|
|
|
183
200
|
// Import and run
|
|
@@ -250,6 +267,11 @@ function parseInitOptions(rawArgs) {
|
|
|
250
267
|
adapter: undefined,
|
|
251
268
|
auth: undefined,
|
|
252
269
|
tenant: undefined,
|
|
270
|
+
// Better Auth-specific. `undefined` (not a default) is load-bearing:
|
|
271
|
+
// options.ts prompts ONLY when the field is undefined, so defaulting
|
|
272
|
+
// here would silently skip the interactive question.
|
|
273
|
+
apiKey: undefined,
|
|
274
|
+
session: undefined,
|
|
253
275
|
typescript: undefined,
|
|
254
276
|
edge: undefined,
|
|
255
277
|
skipInstall: false,
|
|
@@ -309,6 +331,21 @@ function parseInitOptions(rawArgs) {
|
|
|
309
331
|
opts.auth = 'jwt';
|
|
310
332
|
break;
|
|
311
333
|
|
|
334
|
+
case '--api-key':
|
|
335
|
+
opts.apiKey = true;
|
|
336
|
+
break;
|
|
337
|
+
|
|
338
|
+
case '--no-api-key':
|
|
339
|
+
opts.apiKey = false;
|
|
340
|
+
break;
|
|
341
|
+
|
|
342
|
+
case '--session':
|
|
343
|
+
// cookie | bearer | both — options.ts falls back to the documented
|
|
344
|
+
// default for anything else.
|
|
345
|
+
opts.session = next;
|
|
346
|
+
i++;
|
|
347
|
+
break;
|
|
348
|
+
|
|
312
349
|
case '--edge':
|
|
313
350
|
case '--serverless':
|
|
314
351
|
opts.edge = true;
|
|
@@ -380,6 +417,7 @@ GLOBAL OPTIONS
|
|
|
380
417
|
--help, -h Show this help
|
|
381
418
|
|
|
382
419
|
INIT OPTIONS
|
|
420
|
+
--name, -n <name> Project name (alternative to the positional argument)
|
|
383
421
|
--mongokit Use MongoKit adapter (default, recommended)
|
|
384
422
|
--custom Use custom / Drizzle-ready adapter template
|
|
385
423
|
--better-auth Use Better Auth (default, recommended)
|
|
@@ -388,6 +426,9 @@ INIT OPTIONS
|
|
|
388
426
|
--single-tenant, --single Single-tenant mode (default)
|
|
389
427
|
--ts, --typescript Generate TypeScript (default)
|
|
390
428
|
--js, --javascript Generate JavaScript
|
|
429
|
+
--api-key Enable Better Auth's apiKey plugin (machine-to-machine)
|
|
430
|
+
--no-api-key Skip it without being prompted
|
|
431
|
+
--session <mode> Better Auth session strategy: cookie | bearer | both
|
|
391
432
|
--edge, --serverless Target Edge/Serverless environments
|
|
392
433
|
--docker Emit Dockerfile + docker-compose.yml (opt-in, 2.16)
|
|
393
434
|
--no-docker Skip Docker scaffolding even in interactive mode
|