kitcn 0.13.1 → 0.13.3
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/aggregate/index.d.ts +1 -1
- package/dist/{backend-core-yq-eWLRJ.mjs → backend-core-BV61sNRx.mjs} +1159 -57
- package/dist/cli.mjs +4 -4
- package/dist/orm/index.d.ts +1 -1
- package/dist/watcher.mjs +1 -1
- package/dist/{where-clause-compiler-TMppDl9g.d.ts → where-clause-compiler-DcEhkJ12.d.ts} +59 -59
- package/package.json +1 -1
- package/skills/convex/references/setup/expo.md +73 -0
- package/skills/convex/references/setup/index.md +9 -0
- package/skills/convex/references/setup/server.md +1 -1
- package/dist/convex-plugin-tWTDqoKJ.mjs +0 -276
- package/dist/upstream-BUCdbLok.mjs +0 -26
package/dist/cli.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { $ as promptForScaffoldTemplateSelection, A as resolveCodegenTrimSegments, B as runConfiguredCodegen, C as isEntryPoint, Ct as serializeEnvValue, D as parseInitCommandArgs, Dt as logger, E as parseBackendRunJson, F as resolveRunDeps, G as runMigrationFlow, H as runDevSchemaBackfillIfNeeded, I as runAfterScaffoldScript, J as withWorkingDirectory, K as trackProcess, L as runAggregateBackfillFlow, M as resolveDocTopic, N as resolveInitProjectDir, O as readPackageVersions, Ot as highlighter, P as resolveMigrationConfig, Q as promptForPluginSelection, R as runAggregatePruneFlow, S as isConvexDevPreRunConflictFlag, St as resolveAuthEnvState, T as parseArgs, U as runInitCommandFlow, V as runConvexInitIfNeeded, W as runMigrationCreate, X as collectPluginScaffoldTemplates, Y as createSpinner, Z as filterScaffoldTemplatePathMap, _ as formatInfoOutput, _t as applyPlanningDependencyInstall, a as cleanup, at as getPluginCatalogEntry, b as getDevAggregateBackfillStatePath, bt as resolveSupportedDependencyWarnings, c as createCommandEnv, ct as buildPluginInstallPlan, d as extractBackfillCliOptions, dt as collectInstalledPluginKeys, et as resolveAddTemplateDefaults, f as extractConcaveRunTargetArgs, ft as getPluginLockfilePath, g as formatDocsOutput, gt as applyDependencyHintsInstall, h as extractResetCliOptions, ht as resolveSchemaInstalledPlugins, i as buildInitializationPlan, it as resolveTemplatesByIdOrThrow, j as resolveConfiguredBackend, k as resolveBackfillConfig, l as ensureConvexGitignoreEntry, lt as resolvePluginScaffoldRoots, m as extractMigrationDownOptions, mt as readPluginLockfile, n as applyPluginInstallPlanFiles, nt as resolvePresetScaffoldTemplates, o as createBackendAdapter, ot as getSupportedPluginKeys, p as extractMigrationCliOptions, pt as getSchemaFilePath, q as withLocalCodegenEnv, r as assertNoRemovedDevPreRunFlag, rt as resolveTemplateSelectionSource, s as createBackendCommandEnv, st as isSupportedPluginKey, t as applyDependencyInstallPlan, tt as resolvePluginPreset, u as extractBackendRunTargetArgs, ut as assertSchemaFileExists, v as getAggregateBackfillDeploymentKey, vt as applyPluginDependencyInstall, w as isInitialized, wt as stripConvexCommandNoise, x as hasRemoteConvexDeploymentEnv, xt as resolveProjectScaffoldContext, y as getConvexDeploymentCommandEnv, yt as inspectPluginDependencyInstall, z as runBackendFunction } from "./backend-core-
|
|
2
|
+
import { $ as promptForScaffoldTemplateSelection, A as resolveCodegenTrimSegments, B as runConfiguredCodegen, C as isEntryPoint, Ct as serializeEnvValue, D as parseInitCommandArgs, Dt as logger, E as parseBackendRunJson, F as resolveRunDeps, G as runMigrationFlow, H as runDevSchemaBackfillIfNeeded, I as runAfterScaffoldScript, J as withWorkingDirectory, K as trackProcess, L as runAggregateBackfillFlow, M as resolveDocTopic, N as resolveInitProjectDir, O as readPackageVersions, Ot as highlighter, P as resolveMigrationConfig, Q as promptForPluginSelection, R as runAggregatePruneFlow, S as isConvexDevPreRunConflictFlag, St as resolveAuthEnvState, T as parseArgs, U as runInitCommandFlow, V as runConvexInitIfNeeded, W as runMigrationCreate, X as collectPluginScaffoldTemplates, Y as createSpinner, Z as filterScaffoldTemplatePathMap, _ as formatInfoOutput, _t as applyPlanningDependencyInstall, a as cleanup, at as getPluginCatalogEntry, b as getDevAggregateBackfillStatePath, bt as resolveSupportedDependencyWarnings, c as createCommandEnv, ct as buildPluginInstallPlan, d as extractBackfillCliOptions, dt as collectInstalledPluginKeys, et as resolveAddTemplateDefaults, f as extractConcaveRunTargetArgs, ft as getPluginLockfilePath, g as formatDocsOutput, gt as applyDependencyHintsInstall, h as extractResetCliOptions, ht as resolveSchemaInstalledPlugins, i as buildInitializationPlan, it as resolveTemplatesByIdOrThrow, j as resolveConfiguredBackend, k as resolveBackfillConfig, l as ensureConvexGitignoreEntry, lt as resolvePluginScaffoldRoots, m as extractMigrationDownOptions, mt as readPluginLockfile, n as applyPluginInstallPlanFiles, nt as resolvePresetScaffoldTemplates, o as createBackendAdapter, ot as getSupportedPluginKeys, p as extractMigrationCliOptions, pt as getSchemaFilePath, q as withLocalCodegenEnv, r as assertNoRemovedDevPreRunFlag, rt as resolveTemplateSelectionSource, s as createBackendCommandEnv, st as isSupportedPluginKey, t as applyDependencyInstallPlan, tt as resolvePluginPreset, u as extractBackendRunTargetArgs, ut as assertSchemaFileExists, v as getAggregateBackfillDeploymentKey, vt as applyPluginDependencyInstall, w as isInitialized, wt as stripConvexCommandNoise, x as hasRemoteConvexDeploymentEnv, xt as resolveProjectScaffoldContext, y as getConvexDeploymentCommandEnv, yt as inspectPluginDependencyInstall, z as runBackendFunction } from "./backend-core-BV61sNRx.mjs";
|
|
3
3
|
import fs, { existsSync, readFileSync } from "node:fs";
|
|
4
4
|
import path, { delimiter, dirname, join, relative, resolve } from "node:path";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
@@ -638,7 +638,7 @@ function resolveConcaveLocalSiteUrl(cwd = process.cwd()) {
|
|
|
638
638
|
const envLocalPath = join(cwd, ".env.local");
|
|
639
639
|
if (!fs.existsSync(envLocalPath)) return "http://localhost:3000";
|
|
640
640
|
const parsed = parseEnv(fs.readFileSync(envLocalPath, "utf8"));
|
|
641
|
-
return parsed.NEXT_PUBLIC_SITE_URL ?? parsed.VITE_SITE_URL ?? "http://localhost:3000";
|
|
641
|
+
return parsed.NEXT_PUBLIC_SITE_URL ?? parsed.EXPO_PUBLIC_SITE_URL ?? parsed.VITE_SITE_URL ?? "http://localhost:3000";
|
|
642
642
|
}
|
|
643
643
|
function resolveImplicitConvexRemoteDeploymentEnv(cwd = process.cwd()) {
|
|
644
644
|
const envLocalPath = join(cwd, ".env.local");
|
|
@@ -2169,7 +2169,7 @@ const INIT_LOCAL_BOOTSTRAP_PROMPT = "Run one-shot local Convex bootstrap after i
|
|
|
2169
2169
|
const INIT_HELP_TEXT = `Usage: kitcn init [options]
|
|
2170
2170
|
|
|
2171
2171
|
Options:
|
|
2172
|
-
--template, -t App template ("next", "start", or "vite") for fresh app scaffolding
|
|
2172
|
+
--template, -t App template ("next", "expo", "start", or "vite") for fresh app scaffolding
|
|
2173
2173
|
--cwd Target directory (or parent when used with --name)
|
|
2174
2174
|
--name Project name when scaffolding a fresh app
|
|
2175
2175
|
--prod Forward to \`convex init\`
|
|
@@ -2629,7 +2629,7 @@ const __filename = fileURLToPath(import.meta.url);
|
|
|
2629
2629
|
const HELP_FLAGS = new Set(["--help", "-h"]);
|
|
2630
2630
|
const VERSION_FLAGS = new Set(["--version", "-v"]);
|
|
2631
2631
|
const packageJson = readOwnPackageJson(import.meta.url);
|
|
2632
|
-
const REMOVED_CREATE_MESSAGE = "Removed `kitcn create`. Use `kitcn init -t <next|start|vite>` for fresh app scaffolding.";
|
|
2632
|
+
const REMOVED_CREATE_MESSAGE = "Removed `kitcn create`. Use `kitcn init -t <next|expo|start|vite>` for fresh app scaffolding.";
|
|
2633
2633
|
const LOCAL_NODE_REEXEC_ENV = "KITCN_NODE_REEXEC";
|
|
2634
2634
|
const LOCAL_NODE_REEXEC_COMMANDS = new Set([
|
|
2635
2635
|
"add",
|
package/dist/orm/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as GenericOrmCtx$1, $n as unique, $r as endsWith, $t as ManyConfig, A as ConvexDateMode, An as ConvexRankIndexBuilder, Ar as ReturningResult, At as MigrationManifestEntry, B as ConvexBytesBuilderInitial, Bn as rankIndex, Br as OrmSchemaRelations, Bt as defineMigration, C as ConvexNumberBuilderInitial, Ci as ColumnBuilderWithTableName, Cn as RlsRole, Cr as MutationReturning, Ct as MigrationStatusArgs, D as id, Di as IsPrimaryKey, Dn as ConvexAggregateIndexBuilderOn, Dr as PaginatedResult, Dt as MigrationDoc, E as ConvexIdBuilderInitial, Ei as HasDefault, En as ConvexAggregateIndexBuilder, Er as OrderDirection, Et as MigrationDirection, F as custom, Fn as ConvexVectorIndexBuilder, Fr as unsetToken, Ft as MigrationStateMap, G as ConvexBigIntBuilder, Gn as ConvexCheckConfig, Gr as ExpressionVisitor, Gt as OrmReader$1, H as ConvexBooleanBuilder, Hn as uniqueIndex, Hr as TableName, Ht as detectMigrationDrift, I as json, In as ConvexVectorIndexBuilderOn, Ir as Brand, It as MigrationStep, J as CountBackfillChunkArgs, Jn as ConvexUniqueConstraintBuilder, Jr as LogicalExpression, Jt as RlsMode, K as ConvexBigIntBuilderInitial, Kn as ConvexForeignKeyBuilder, Kr as FieldReference, Kt as OrmWriter$1, L as objectOf, Ln as ConvexVectorIndexConfig, Lr as Columns, Lt as MigrationTableName, M as ConvexCustomBuilder, Mn as ConvexSearchIndexBuilder, Mr as UpdateSet, Mt as MigrationPlan, N as ConvexCustomBuilderInitial, Nn as ConvexSearchIndexBuilderOn, Nr as VectorQueryConfig, Nt as MigrationRunStatus, O as ConvexDateBuilder, Oi as IsUnique, On as ConvexIndexBuilder, Or as PredicateWhereIndexConfig, Ot as MigrationDocContext, P as arrayOf, Pn as ConvexSearchIndexConfig, Pr as VectorSearchProvider, Pt as MigrationSet, Q as GenericOrm$1, Qn as foreignKey, Qr as contains, Qt as ExtractTablesWithRelations, R as unionOf, Rn as aggregateIndex, Rr as OrmSchemaExtensionTables, Rt as MigrationWriteMode, S as ConvexNumberBuilder, Si as ColumnBuilderTypeConfig, Sn as rlsPolicy, Sr as MutationResult, St as MigrationRunChunkArgs, T as ConvexIdBuilder, Ti as DrizzleEntity, Tn as rlsRole, Tr as OrderByClause, Tt as MigrationDefinition, U as ConvexBooleanBuilderInitial, Un as vectorIndex, Ur as SystemFields, Ut as DatabaseWithMutations, V as bytes, Vn as searchIndex, Vr as OrmSchemaTriggers, Vt as defineMigrationSet, W as boolean, Wn as ConvexCheckBuilder, Wr as BinaryExpression, Wt as DatabaseWithQuery, X as CountBackfillStatusArgs, Xn as ConvexUniqueConstraintConfig, Xr as and, Xt as extractRelationsConfig, Y as CountBackfillKickoffArgs, Yn as ConvexUniqueConstraintBuilderOn, Yr as UnaryExpression, Yt as EdgeMetadata, Z as CreateOrmOptions, Zn as check, Zr as between, Zt as ExtractTablesFromSchema, _ as ConvexTimestampMode, _i as startsWith, _n as deletion, _r as MutationExecuteConfig, _t as OrmTriggerContext, a as requireSchemaRelations, ai as inArray, an as TablesRelationalConfig, ar as AggregateResult, at as OrmWriterCtx, b as ConvexTextEnumBuilderInitial, bi as ColumnBuilderBaseConfig, bn as RlsPolicyConfig, br as MutationPaginateConfig, bt as MigrationCancelArgs, c as TableConfigResult, ci as isNull, cn as ConvexDeletionBuilder, cr as CountConfig, ct as ScheduledMutationBatchArgs, d as OrmNotFoundError, di as lte, dn as ConvexTableWithColumns, dr as FilterOperators, dt as scheduledDeleteFactory, ei as eq, en as OneConfig, er as ConvexTextBuilder, et as OrmApiResult, f as ConvexVectorBuilder, fi as ne, fn as DiscriminatorBuilderConfig, fr as GetColumnData, ft as SchemaExtension, g as ConvexTimestampBuilderInitial, gi as or, gn as convexTable, gr as InsertValue, gt as OrmTriggerChange, h as ConvexTimestampBuilder, hi as notInArray, hn as TableConfig, hr as InferSelectModel, ht as OrmTableTriggers, i as getSchemaTriggers, ii as ilike, in as TableRelationalConfig, ir as AggregateFieldValue, it as OrmReaderCtx, j as date, jn as ConvexRankIndexBuilderOn, jr as ReturningSelection, jt as MigrationMigrateOne, k as ConvexDateBuilderInitial, ki as NotNull, kn as ConvexIndexBuilderOn, kr as ReturningAll, kt as MigrationDriftIssue, l as getTableColumns, li as like, ln as ConvexDeletionConfig, lr as CountResult, lt as scheduledMutationBatchFactory, m as vector, mi as notBetween, mn as OrmLifecycleOperation, mr as InferModelFromColumns, mt as OrmBeforeResult, n as defineSchema, ni as gt, nn as RelationsBuilderColumnBase, nr as text, nt as OrmClientWithApi$1, o as asc, oi as isFieldReference, on as defineRelations, or as BuildQueryResult, ot as ResolveOrmSchema, p as ConvexVectorBuilderInitial, pi as not, pn as OrmLifecycleChange, pr as InferInsertModel, pt as defineSchemaExtension, q as bigint, qn as ConvexForeignKeyConfig, qr as FilterExpression, qt as RlsContext, r as getSchemaRelations, ri as gte, rn as RelationsBuilderColumnConfig, rr as AggregateConfig, rt as OrmFunctions, s as desc, si as isNotNull, sn as defineRelationsPart, sr as BuildRelationResult, st as createOrm, t as WhereClauseResult, ti as fieldRef, tn as RelationsBuilder, tr as ConvexTextBuilderInitial, tt as OrmClientBase$1, u as getTableConfig, ui as lt, un as ConvexTable, ur as DBQueryConfig, ut as ScheduledDeleteArgs, v as timestamp, vi as AnyColumn, vn as discriminator, vr as MutationExecuteResult, vt as OrmTriggers, w as integer, wi as ColumnDataType, wn as RlsRoleConfig, wr as MutationRunMode, wt as MigrationAppliedState, x as textEnum, xi as ColumnBuilderRuntimeConfig, xn as RlsPolicyToOption, xr as MutationPaginatedResult, xt as MigrationRunArgs, y as ConvexTextEnumBuilder, yi as ColumnBuilder, yn as RlsPolicy, yr as MutationExecutionMode, yt as defineTriggers, z as ConvexBytesBuilder, zn as index, zr as OrmSchemaExtensions, zt as buildMigrationPlan } from "../where-clause-compiler-
|
|
1
|
+
import { $ as GenericOrmCtx$1, $n as unique, $r as endsWith, $t as ManyConfig, A as ConvexDateMode, An as ConvexRankIndexBuilder, Ar as ReturningResult, At as MigrationManifestEntry, B as ConvexBytesBuilderInitial, Bn as rankIndex, Br as OrmSchemaRelations, Bt as defineMigration, C as ConvexNumberBuilderInitial, Ci as ColumnBuilderWithTableName, Cn as RlsRole, Cr as MutationReturning, Ct as MigrationStatusArgs, D as id, Di as IsPrimaryKey, Dn as ConvexAggregateIndexBuilderOn, Dr as PaginatedResult, Dt as MigrationDoc, E as ConvexIdBuilderInitial, Ei as HasDefault, En as ConvexAggregateIndexBuilder, Er as OrderDirection, Et as MigrationDirection, F as custom, Fn as ConvexVectorIndexBuilder, Fr as unsetToken, Ft as MigrationStateMap, G as ConvexBigIntBuilder, Gn as ConvexCheckConfig, Gr as ExpressionVisitor, Gt as OrmReader$1, H as ConvexBooleanBuilder, Hn as uniqueIndex, Hr as TableName, Ht as detectMigrationDrift, I as json, In as ConvexVectorIndexBuilderOn, Ir as Brand, It as MigrationStep, J as CountBackfillChunkArgs, Jn as ConvexUniqueConstraintBuilder, Jr as LogicalExpression, Jt as RlsMode, K as ConvexBigIntBuilderInitial, Kn as ConvexForeignKeyBuilder, Kr as FieldReference, Kt as OrmWriter$1, L as objectOf, Ln as ConvexVectorIndexConfig, Lr as Columns, Lt as MigrationTableName, M as ConvexCustomBuilder, Mn as ConvexSearchIndexBuilder, Mr as UpdateSet, Mt as MigrationPlan, N as ConvexCustomBuilderInitial, Nn as ConvexSearchIndexBuilderOn, Nr as VectorQueryConfig, Nt as MigrationRunStatus, O as ConvexDateBuilder, Oi as IsUnique, On as ConvexIndexBuilder, Or as PredicateWhereIndexConfig, Ot as MigrationDocContext, P as arrayOf, Pn as ConvexSearchIndexConfig, Pr as VectorSearchProvider, Pt as MigrationSet, Q as GenericOrm$1, Qn as foreignKey, Qr as contains, Qt as ExtractTablesWithRelations, R as unionOf, Rn as aggregateIndex, Rr as OrmSchemaExtensionTables, Rt as MigrationWriteMode, S as ConvexNumberBuilder, Si as ColumnBuilderTypeConfig, Sn as rlsPolicy, Sr as MutationResult, St as MigrationRunChunkArgs, T as ConvexIdBuilder, Ti as DrizzleEntity, Tn as rlsRole, Tr as OrderByClause, Tt as MigrationDefinition, U as ConvexBooleanBuilderInitial, Un as vectorIndex, Ur as SystemFields, Ut as DatabaseWithMutations, V as bytes, Vn as searchIndex, Vr as OrmSchemaTriggers, Vt as defineMigrationSet, W as boolean, Wn as ConvexCheckBuilder, Wr as BinaryExpression, Wt as DatabaseWithQuery, X as CountBackfillStatusArgs, Xn as ConvexUniqueConstraintConfig, Xr as and, Xt as extractRelationsConfig, Y as CountBackfillKickoffArgs, Yn as ConvexUniqueConstraintBuilderOn, Yr as UnaryExpression, Yt as EdgeMetadata, Z as CreateOrmOptions, Zn as check, Zr as between, Zt as ExtractTablesFromSchema, _ as ConvexTimestampMode, _i as startsWith, _n as deletion, _r as MutationExecuteConfig, _t as OrmTriggerContext, a as requireSchemaRelations, ai as inArray, an as TablesRelationalConfig, ar as AggregateResult, at as OrmWriterCtx, b as ConvexTextEnumBuilderInitial, bi as ColumnBuilderBaseConfig, bn as RlsPolicyConfig, br as MutationPaginateConfig, bt as MigrationCancelArgs, c as TableConfigResult, ci as isNull, cn as ConvexDeletionBuilder, cr as CountConfig, ct as ScheduledMutationBatchArgs, d as OrmNotFoundError, di as lte, dn as ConvexTableWithColumns, dr as FilterOperators, dt as scheduledDeleteFactory, ei as eq, en as OneConfig, er as ConvexTextBuilder, et as OrmApiResult, f as ConvexVectorBuilder, fi as ne, fn as DiscriminatorBuilderConfig, fr as GetColumnData, ft as SchemaExtension, g as ConvexTimestampBuilderInitial, gi as or, gn as convexTable, gr as InsertValue, gt as OrmTriggerChange, h as ConvexTimestampBuilder, hi as notInArray, hn as TableConfig, hr as InferSelectModel, ht as OrmTableTriggers, i as getSchemaTriggers, ii as ilike, in as TableRelationalConfig, ir as AggregateFieldValue, it as OrmReaderCtx, j as date, jn as ConvexRankIndexBuilderOn, jr as ReturningSelection, jt as MigrationMigrateOne, k as ConvexDateBuilderInitial, ki as NotNull, kn as ConvexIndexBuilderOn, kr as ReturningAll, kt as MigrationDriftIssue, l as getTableColumns, li as like, ln as ConvexDeletionConfig, lr as CountResult, lt as scheduledMutationBatchFactory, m as vector, mi as notBetween, mn as OrmLifecycleOperation, mr as InferModelFromColumns, mt as OrmBeforeResult, n as defineSchema, ni as gt, nn as RelationsBuilderColumnBase, nr as text, nt as OrmClientWithApi$1, o as asc, oi as isFieldReference, on as defineRelations, or as BuildQueryResult, ot as ResolveOrmSchema, p as ConvexVectorBuilderInitial, pi as not, pn as OrmLifecycleChange, pr as InferInsertModel, pt as defineSchemaExtension, q as bigint, qn as ConvexForeignKeyConfig, qr as FilterExpression, qt as RlsContext, r as getSchemaRelations, ri as gte, rn as RelationsBuilderColumnConfig, rr as AggregateConfig, rt as OrmFunctions, s as desc, si as isNotNull, sn as defineRelationsPart, sr as BuildRelationResult, st as createOrm, t as WhereClauseResult, ti as fieldRef, tn as RelationsBuilder, tr as ConvexTextBuilderInitial, tt as OrmClientBase$1, u as getTableConfig, ui as lt, un as ConvexTable, ur as DBQueryConfig, ut as ScheduledDeleteArgs, v as timestamp, vi as AnyColumn, vn as discriminator, vr as MutationExecuteResult, vt as OrmTriggers, w as integer, wi as ColumnDataType, wn as RlsRoleConfig, wr as MutationRunMode, wt as MigrationAppliedState, x as textEnum, xi as ColumnBuilderRuntimeConfig, xn as RlsPolicyToOption, xr as MutationPaginatedResult, xt as MigrationRunArgs, y as ConvexTextEnumBuilder, yi as ColumnBuilder, yn as RlsPolicy, yr as MutationExecutionMode, yt as defineTriggers, z as ConvexBytesBuilder, zn as index, zr as OrmSchemaExtensions, zt as buildMigrationPlan } from "../where-clause-compiler-DcEhkJ12.js";
|
|
2
2
|
import { i as pretendRequired, n as deprecated, r as pretend } from "../validators-BhsByJeg.js";
|
|
3
3
|
import { a as QueryCtxWithPreferredOrmQueryTable, i as QueryCtxWithOrmQueryTable, n as LookupByIdResultByCtx, o as getByIdWithOrmQueryFallback, r as QueryCtxWithOptionalOrmQueryTable, t as DocByCtx } from "../query-context-CNo9ffvI.js";
|
|
4
4
|
import { DefineSchemaOptions, GenericDatabaseReader, GenericDatabaseWriter, GenericSchema, SchemaDefinition } from "convex/server";
|
package/dist/watcher.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { Dt as logger, Et as getConvexConfig, F as resolveRunDeps, Tt as generateMeta, j as resolveConfiguredBackend, q as withLocalCodegenEnv } from "./backend-core-
|
|
2
|
+
import { Dt as logger, Et as getConvexConfig, F as resolveRunDeps, Tt as generateMeta, j as resolveConfiguredBackend, q as withLocalCodegenEnv } from "./backend-core-BV61sNRx.mjs";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
|
|
@@ -3717,7 +3717,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
3717
3717
|
readonly aggregate_bucket: ConvexTableWithColumns<{
|
|
3718
3718
|
name: "aggregate_bucket";
|
|
3719
3719
|
columns: {
|
|
3720
|
-
|
|
3720
|
+
count: ConvexNumberBuilderInitial<""> & {
|
|
3721
3721
|
_: {
|
|
3722
3722
|
notNull: true;
|
|
3723
3723
|
};
|
|
@@ -3727,10 +3727,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
3727
3727
|
};
|
|
3728
3728
|
} & {
|
|
3729
3729
|
_: {
|
|
3730
|
-
fieldName: "
|
|
3730
|
+
fieldName: "count";
|
|
3731
3731
|
};
|
|
3732
3732
|
};
|
|
3733
|
-
|
|
3733
|
+
updatedAt: ConvexNumberBuilderInitial<""> & {
|
|
3734
3734
|
_: {
|
|
3735
3735
|
notNull: true;
|
|
3736
3736
|
};
|
|
@@ -3740,10 +3740,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
3740
3740
|
};
|
|
3741
3741
|
} & {
|
|
3742
3742
|
_: {
|
|
3743
|
-
fieldName: "
|
|
3743
|
+
fieldName: "updatedAt";
|
|
3744
3744
|
};
|
|
3745
3745
|
};
|
|
3746
|
-
|
|
3746
|
+
tableKey: ConvexTextBuilderInitial<""> & {
|
|
3747
3747
|
_: {
|
|
3748
3748
|
notNull: true;
|
|
3749
3749
|
};
|
|
@@ -3753,10 +3753,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
3753
3753
|
};
|
|
3754
3754
|
} & {
|
|
3755
3755
|
_: {
|
|
3756
|
-
fieldName: "
|
|
3756
|
+
fieldName: "tableKey";
|
|
3757
3757
|
};
|
|
3758
3758
|
};
|
|
3759
|
-
|
|
3759
|
+
indexName: ConvexTextBuilderInitial<""> & {
|
|
3760
3760
|
_: {
|
|
3761
3761
|
notNull: true;
|
|
3762
3762
|
};
|
|
@@ -3766,14 +3766,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
3766
3766
|
};
|
|
3767
3767
|
} & {
|
|
3768
3768
|
_: {
|
|
3769
|
-
fieldName: "
|
|
3769
|
+
fieldName: "indexName";
|
|
3770
3770
|
};
|
|
3771
3771
|
};
|
|
3772
|
-
|
|
3773
|
-
_: {
|
|
3774
|
-
$type: convex_values0.Value[];
|
|
3775
|
-
};
|
|
3776
|
-
} & {
|
|
3772
|
+
keyHash: ConvexTextBuilderInitial<""> & {
|
|
3777
3773
|
_: {
|
|
3778
3774
|
notNull: true;
|
|
3779
3775
|
};
|
|
@@ -3783,10 +3779,14 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
3783
3779
|
};
|
|
3784
3780
|
} & {
|
|
3785
3781
|
_: {
|
|
3786
|
-
fieldName: "
|
|
3782
|
+
fieldName: "keyHash";
|
|
3787
3783
|
};
|
|
3788
3784
|
};
|
|
3789
|
-
|
|
3785
|
+
keyParts: ConvexCustomBuilderInitial<"", convex_values0.VArray<any[], convex_values0.VId<any, any> | convex_values0.VString<any, any> | convex_values0.VFloat64<any, any> | convex_values0.VInt64<any, any> | convex_values0.VBoolean<any, any> | convex_values0.VNull<any, any> | convex_values0.VAny<any, any, string> | convex_values0.VLiteral<any, any> | convex_values0.VBytes<any, any> | convex_values0.VObject<any, Record<string, convex_values0.Validator<any, convex_values0.OptionalProperty, any>>, any, any> | convex_values0.VArray<any, convex_values0.Validator<any, "required", any>, any> | convex_values0.VRecord<any, convex_values0.Validator<string, "required", any>, convex_values0.Validator<any, "required", any>, any, any> | convex_values0.VUnion<any, convex_values0.Validator<any, "required", any>[], any, any>, "required">> & {
|
|
3786
|
+
_: {
|
|
3787
|
+
$type: convex_values0.Value[];
|
|
3788
|
+
};
|
|
3789
|
+
} & {
|
|
3790
3790
|
_: {
|
|
3791
3791
|
notNull: true;
|
|
3792
3792
|
};
|
|
@@ -3796,7 +3796,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
3796
3796
|
};
|
|
3797
3797
|
} & {
|
|
3798
3798
|
_: {
|
|
3799
|
-
fieldName: "
|
|
3799
|
+
fieldName: "keyParts";
|
|
3800
3800
|
};
|
|
3801
3801
|
};
|
|
3802
3802
|
sumValues: (NotNull<$Type<ConvexCustomBuilderInitial<"", convex_values0.VRecord<Record<string, any>, convex_values0.VString<string, "required">, convex_values0.VId<any, any> | convex_values0.VString<any, any> | convex_values0.VFloat64<any, any> | convex_values0.VInt64<any, any> | convex_values0.VBoolean<any, any> | convex_values0.VNull<any, any> | convex_values0.VAny<any, any, string> | convex_values0.VLiteral<any, any> | convex_values0.VBytes<any, any> | convex_values0.VObject<any, Record<string, convex_values0.Validator<any, convex_values0.OptionalProperty, any>>, any, any> | convex_values0.VArray<any, convex_values0.Validator<any, "required", any>, any> | convex_values0.VRecord<any, convex_values0.Validator<string, "required", any>, convex_values0.Validator<any, "required", any>, any, any> | convex_values0.VUnion<any, convex_values0.Validator<any, "required", any>[], any, any>, "required", string>>, Record<string, number>>> | NotNull<$Type<ConvexCustomBuilderInitial<"", convex_values0.VId<any, any> | convex_values0.VString<any, any> | convex_values0.VFloat64<any, any> | convex_values0.VInt64<any, any> | convex_values0.VBoolean<any, any> | convex_values0.VNull<any, any> | convex_values0.VAny<any, any, string> | convex_values0.VLiteral<any, any> | convex_values0.VBytes<any, any> | convex_values0.VObject<any, Record<string, convex_values0.Validator<any, convex_values0.OptionalProperty, any>>, any, any> | convex_values0.VArray<any, convex_values0.Validator<any, "required", any>, any> | convex_values0.VRecord<any, convex_values0.Validator<string, "required", any>, convex_values0.Validator<any, "required", any>, any, any> | convex_values0.VUnion<any, convex_values0.Validator<any, "required", any>[], any, any>>, Record<string, number>>>) & {
|
|
@@ -3839,7 +3839,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
3839
3839
|
fieldName: "kind";
|
|
3840
3840
|
};
|
|
3841
3841
|
};
|
|
3842
|
-
|
|
3842
|
+
updatedAt: ConvexNumberBuilderInitial<""> & {
|
|
3843
3843
|
_: {
|
|
3844
3844
|
notNull: true;
|
|
3845
3845
|
};
|
|
@@ -3849,10 +3849,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
3849
3849
|
};
|
|
3850
3850
|
} & {
|
|
3851
3851
|
_: {
|
|
3852
|
-
fieldName: "
|
|
3852
|
+
fieldName: "updatedAt";
|
|
3853
3853
|
};
|
|
3854
3854
|
};
|
|
3855
|
-
|
|
3855
|
+
tableKey: ConvexTextBuilderInitial<""> & {
|
|
3856
3856
|
_: {
|
|
3857
3857
|
notNull: true;
|
|
3858
3858
|
};
|
|
@@ -3862,10 +3862,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
3862
3862
|
};
|
|
3863
3863
|
} & {
|
|
3864
3864
|
_: {
|
|
3865
|
-
fieldName: "
|
|
3865
|
+
fieldName: "tableKey";
|
|
3866
3866
|
};
|
|
3867
3867
|
};
|
|
3868
|
-
|
|
3868
|
+
indexName: ConvexTextBuilderInitial<""> & {
|
|
3869
3869
|
_: {
|
|
3870
3870
|
notNull: true;
|
|
3871
3871
|
};
|
|
@@ -3875,7 +3875,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
3875
3875
|
};
|
|
3876
3876
|
} & {
|
|
3877
3877
|
_: {
|
|
3878
|
-
fieldName: "
|
|
3878
|
+
fieldName: "indexName";
|
|
3879
3879
|
};
|
|
3880
3880
|
};
|
|
3881
3881
|
keyHash: ConvexTextBuilderInitial<""> & {
|
|
@@ -4009,7 +4009,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
4009
4009
|
fieldName: "value";
|
|
4010
4010
|
};
|
|
4011
4011
|
};
|
|
4012
|
-
|
|
4012
|
+
count: ConvexNumberBuilderInitial<""> & {
|
|
4013
4013
|
_: {
|
|
4014
4014
|
notNull: true;
|
|
4015
4015
|
};
|
|
@@ -4019,10 +4019,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
4019
4019
|
};
|
|
4020
4020
|
} & {
|
|
4021
4021
|
_: {
|
|
4022
|
-
fieldName: "
|
|
4022
|
+
fieldName: "count";
|
|
4023
4023
|
};
|
|
4024
4024
|
};
|
|
4025
|
-
|
|
4025
|
+
updatedAt: ConvexNumberBuilderInitial<""> & {
|
|
4026
4026
|
_: {
|
|
4027
4027
|
notNull: true;
|
|
4028
4028
|
};
|
|
@@ -4032,10 +4032,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
4032
4032
|
};
|
|
4033
4033
|
} & {
|
|
4034
4034
|
_: {
|
|
4035
|
-
fieldName: "
|
|
4035
|
+
fieldName: "updatedAt";
|
|
4036
4036
|
};
|
|
4037
4037
|
};
|
|
4038
|
-
|
|
4038
|
+
tableKey: ConvexTextBuilderInitial<""> & {
|
|
4039
4039
|
_: {
|
|
4040
4040
|
notNull: true;
|
|
4041
4041
|
};
|
|
@@ -4045,10 +4045,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
4045
4045
|
};
|
|
4046
4046
|
} & {
|
|
4047
4047
|
_: {
|
|
4048
|
-
fieldName: "
|
|
4048
|
+
fieldName: "tableKey";
|
|
4049
4049
|
};
|
|
4050
4050
|
};
|
|
4051
|
-
|
|
4051
|
+
indexName: ConvexTextBuilderInitial<""> & {
|
|
4052
4052
|
_: {
|
|
4053
4053
|
notNull: true;
|
|
4054
4054
|
};
|
|
@@ -4058,10 +4058,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
4058
4058
|
};
|
|
4059
4059
|
} & {
|
|
4060
4060
|
_: {
|
|
4061
|
-
fieldName: "
|
|
4061
|
+
fieldName: "indexName";
|
|
4062
4062
|
};
|
|
4063
4063
|
};
|
|
4064
|
-
|
|
4064
|
+
keyHash: ConvexTextBuilderInitial<""> & {
|
|
4065
4065
|
_: {
|
|
4066
4066
|
notNull: true;
|
|
4067
4067
|
};
|
|
@@ -4071,7 +4071,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
4071
4071
|
};
|
|
4072
4072
|
} & {
|
|
4073
4073
|
_: {
|
|
4074
|
-
fieldName: "
|
|
4074
|
+
fieldName: "keyHash";
|
|
4075
4075
|
};
|
|
4076
4076
|
};
|
|
4077
4077
|
fieldName: ConvexTextBuilderInitial<""> & {
|
|
@@ -4279,6 +4279,19 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
4279
4279
|
fieldName: "cursor";
|
|
4280
4280
|
};
|
|
4281
4281
|
};
|
|
4282
|
+
updatedAt: ConvexNumberBuilderInitial<""> & {
|
|
4283
|
+
_: {
|
|
4284
|
+
notNull: true;
|
|
4285
|
+
};
|
|
4286
|
+
} & {
|
|
4287
|
+
_: {
|
|
4288
|
+
tableName: "aggregate_state";
|
|
4289
|
+
};
|
|
4290
|
+
} & {
|
|
4291
|
+
_: {
|
|
4292
|
+
fieldName: "updatedAt";
|
|
4293
|
+
};
|
|
4294
|
+
};
|
|
4282
4295
|
tableKey: ConvexTextBuilderInitial<""> & {
|
|
4283
4296
|
_: {
|
|
4284
4297
|
notNull: true;
|
|
@@ -4357,19 +4370,6 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
4357
4370
|
fieldName: "startedAt";
|
|
4358
4371
|
};
|
|
4359
4372
|
};
|
|
4360
|
-
updatedAt: ConvexNumberBuilderInitial<""> & {
|
|
4361
|
-
_: {
|
|
4362
|
-
notNull: true;
|
|
4363
|
-
};
|
|
4364
|
-
} & {
|
|
4365
|
-
_: {
|
|
4366
|
-
tableName: "aggregate_state";
|
|
4367
|
-
};
|
|
4368
|
-
} & {
|
|
4369
|
-
_: {
|
|
4370
|
-
fieldName: "updatedAt";
|
|
4371
|
-
};
|
|
4372
|
-
};
|
|
4373
4373
|
completedAt: ConvexNumberBuilderInitial<""> & {
|
|
4374
4374
|
_: {
|
|
4375
4375
|
tableName: "aggregate_state";
|
|
@@ -4429,7 +4429,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
4429
4429
|
fieldName: "direction";
|
|
4430
4430
|
};
|
|
4431
4431
|
};
|
|
4432
|
-
|
|
4432
|
+
updatedAt: ConvexNumberBuilderInitial<""> & {
|
|
4433
4433
|
_: {
|
|
4434
4434
|
notNull: true;
|
|
4435
4435
|
};
|
|
@@ -4439,29 +4439,29 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
4439
4439
|
};
|
|
4440
4440
|
} & {
|
|
4441
4441
|
_: {
|
|
4442
|
-
fieldName: "
|
|
4442
|
+
fieldName: "updatedAt";
|
|
4443
4443
|
};
|
|
4444
4444
|
};
|
|
4445
|
-
|
|
4445
|
+
processed: ConvexNumberBuilderInitial<""> & {
|
|
4446
4446
|
_: {
|
|
4447
|
-
|
|
4447
|
+
notNull: true;
|
|
4448
4448
|
};
|
|
4449
4449
|
} & {
|
|
4450
4450
|
_: {
|
|
4451
|
-
|
|
4451
|
+
tableName: "migration_state";
|
|
4452
4452
|
};
|
|
4453
|
-
}
|
|
4454
|
-
updatedAt: ConvexNumberBuilderInitial<""> & {
|
|
4453
|
+
} & {
|
|
4455
4454
|
_: {
|
|
4456
|
-
|
|
4455
|
+
fieldName: "processed";
|
|
4457
4456
|
};
|
|
4458
|
-
}
|
|
4457
|
+
};
|
|
4458
|
+
startedAt: ConvexNumberBuilderInitial<""> & {
|
|
4459
4459
|
_: {
|
|
4460
4460
|
tableName: "migration_state";
|
|
4461
4461
|
};
|
|
4462
4462
|
} & {
|
|
4463
4463
|
_: {
|
|
4464
|
-
fieldName: "
|
|
4464
|
+
fieldName: "startedAt";
|
|
4465
4465
|
};
|
|
4466
4466
|
};
|
|
4467
4467
|
completedAt: ConvexNumberBuilderInitial<""> & {
|
|
@@ -4578,7 +4578,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
4578
4578
|
fieldName: "direction";
|
|
4579
4579
|
};
|
|
4580
4580
|
};
|
|
4581
|
-
|
|
4581
|
+
updatedAt: ConvexNumberBuilderInitial<""> & {
|
|
4582
4582
|
_: {
|
|
4583
4583
|
notNull: true;
|
|
4584
4584
|
};
|
|
@@ -4588,10 +4588,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
4588
4588
|
};
|
|
4589
4589
|
} & {
|
|
4590
4590
|
_: {
|
|
4591
|
-
fieldName: "
|
|
4591
|
+
fieldName: "updatedAt";
|
|
4592
4592
|
};
|
|
4593
4593
|
};
|
|
4594
|
-
|
|
4594
|
+
startedAt: ConvexNumberBuilderInitial<""> & {
|
|
4595
4595
|
_: {
|
|
4596
4596
|
notNull: true;
|
|
4597
4597
|
};
|
|
@@ -4601,7 +4601,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
4601
4601
|
};
|
|
4602
4602
|
} & {
|
|
4603
4603
|
_: {
|
|
4604
|
-
fieldName: "
|
|
4604
|
+
fieldName: "startedAt";
|
|
4605
4605
|
};
|
|
4606
4606
|
};
|
|
4607
4607
|
completedAt: ConvexNumberBuilderInitial<""> & {
|
package/package.json
CHANGED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Expo Setup
|
|
2
|
+
|
|
3
|
+
Use Expo when you want the official `create-expo-app` shell with the kitcn
|
|
4
|
+
Convex baseline layered on top.
|
|
5
|
+
|
|
6
|
+
## Fresh scaffold
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
npx kitcn@latest init -t expo --yes
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
This path owns:
|
|
13
|
+
|
|
14
|
+
- `.env.local`
|
|
15
|
+
- `expo-env.d.ts`
|
|
16
|
+
- `src/components/providers.tsx`
|
|
17
|
+
- `src/lib/convex/*`
|
|
18
|
+
- `src/app/_layout.tsx`
|
|
19
|
+
- `src/app/index.tsx`
|
|
20
|
+
- `convex/functions/schema.ts`
|
|
21
|
+
- `convex/functions/messages.ts`
|
|
22
|
+
- `convex/lib/crpc.ts`
|
|
23
|
+
- `convex/lib/get-env.ts`
|
|
24
|
+
- `convex/shared/api.ts`
|
|
25
|
+
|
|
26
|
+
V1 scope stays narrow:
|
|
27
|
+
|
|
28
|
+
- fresh scaffold only
|
|
29
|
+
- no existing Expo adoption
|
|
30
|
+
- no styling-framework layer beyond the official Expo baseline
|
|
31
|
+
|
|
32
|
+
## Add auth
|
|
33
|
+
|
|
34
|
+
Expo uses the default auth scaffold:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npx kitcn@latest init -t expo --yes
|
|
38
|
+
npx kitcn add auth --yes
|
|
39
|
+
npx kitcn add auth --schema --yes
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
This writes:
|
|
43
|
+
|
|
44
|
+
- `src/lib/convex/auth-client.ts`
|
|
45
|
+
- `src/lib/convex/convex-provider.tsx`
|
|
46
|
+
- `src/app/auth.tsx`
|
|
47
|
+
- `convex/functions/auth.config.ts`
|
|
48
|
+
- `convex/functions/auth.ts`
|
|
49
|
+
- auth-owned blocks in `convex/functions/schema.ts`
|
|
50
|
+
|
|
51
|
+
Expo auth keeps managed schema refresh. It is not a separate preset.
|
|
52
|
+
|
|
53
|
+
## Env contract
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
EXPO_PUBLIC_CONVEX_URL=http://127.0.0.1:3210
|
|
57
|
+
EXPO_PUBLIC_CONVEX_SITE_URL=http://127.0.0.1:3211
|
|
58
|
+
EXPO_PUBLIC_SITE_URL=http://localhost:3000
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Use `process.env.EXPO_PUBLIC_*` directly in client code.
|
|
62
|
+
|
|
63
|
+
## Run it
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# terminal 1
|
|
67
|
+
npx kitcn dev
|
|
68
|
+
|
|
69
|
+
# terminal 2
|
|
70
|
+
bun run start
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
The starter app opens to one native messages screen backed by Convex.
|
|
@@ -107,6 +107,12 @@ npx kitcn@latest --backend concave init --yes
|
|
|
107
107
|
# New Next.js app with deterministic shadcn bootstrap + first local Convex bootstrap
|
|
108
108
|
npx kitcn@latest init -t next --yes
|
|
109
109
|
|
|
110
|
+
# New Expo app with the official create-expo-app shell + first local Convex bootstrap
|
|
111
|
+
npx kitcn@latest init -t expo --yes
|
|
112
|
+
|
|
113
|
+
# New TanStack Start app with the official shadcn Start shell + first local Convex bootstrap
|
|
114
|
+
npx kitcn@latest init -t start --yes
|
|
115
|
+
|
|
110
116
|
# New Vite app with the React baseline + first local Convex bootstrap
|
|
111
117
|
npx kitcn@latest init -t vite --yes
|
|
112
118
|
|
|
@@ -175,6 +181,8 @@ Universal scaffold rule:
|
|
|
175
181
|
Public template keys stay concrete:
|
|
176
182
|
|
|
177
183
|
- `next`
|
|
184
|
+
- `expo`
|
|
185
|
+
- `start`
|
|
178
186
|
- `vite`
|
|
179
187
|
|
|
180
188
|
Internal scaffold modes stay broad:
|
|
@@ -184,6 +192,7 @@ Internal scaffold modes stay broad:
|
|
|
184
192
|
|
|
185
193
|
Framework mapping:
|
|
186
194
|
|
|
195
|
+
- `expo` -> `expo`
|
|
187
196
|
- `next-app` -> `next-app`
|
|
188
197
|
- `next-pages`, `vite`, `react-router`, `tanstack-start`, `manual` -> `react`
|
|
189
198
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
## 5. Core Backend
|
|
2
2
|
|
|
3
|
-
For production bootstrap, start in the CLI Registry: use `npx kitcn@latest init -t <next|vite> --yes` for the shortest fresh local path, `npx kitcn@latest init --yes` to adopt the current app and finish the first local Convex bootstrap in one command, and `bunx kitcn add <plugin>` for feature layers. This file is the manual backend wiring reference.
|
|
3
|
+
For production bootstrap, start in the CLI Registry: use `npx kitcn@latest init -t <next|expo|start|vite> --yes` for the shortest fresh local path, `npx kitcn@latest init --yes` to adopt the current app and finish the first local Convex bootstrap in one command, and `bunx kitcn add <plugin>` for feature layers. This file is the manual backend wiring reference.
|
|
4
4
|
|
|
5
5
|
### 5.1 Define schema and relations
|
|
6
6
|
|