arkormx 2.0.3 → 2.0.5
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/cli.mjs +13 -0
- package/dist/index.cjs +21 -1
- package/dist/index.d.cts +12 -1
- package/dist/index.d.mts +12 -1
- package/dist/index.mjs +21 -1
- package/package.json +2 -4
package/dist/cli.mjs
CHANGED
|
@@ -1964,6 +1964,7 @@ const resolveDefaultStubsPath = () => {
|
|
|
1964
1964
|
return path.join(process.cwd(), "stubs");
|
|
1965
1965
|
};
|
|
1966
1966
|
const baseConfig = {
|
|
1967
|
+
naming: { modelTableCase: "snake" },
|
|
1967
1968
|
features: {
|
|
1968
1969
|
persistedColumnMappings: true,
|
|
1969
1970
|
persistedEnums: true
|
|
@@ -1980,6 +1981,7 @@ const baseConfig = {
|
|
|
1980
1981
|
};
|
|
1981
1982
|
const userConfig = {
|
|
1982
1983
|
...baseConfig,
|
|
1984
|
+
naming: { ...baseConfig.naming ?? {} },
|
|
1983
1985
|
features: { ...baseConfig.features ?? {} },
|
|
1984
1986
|
paths: { ...baseConfig.paths ?? {} }
|
|
1985
1987
|
};
|
|
@@ -2011,6 +2013,15 @@ const resolveDebugHandler = (debug) => {
|
|
|
2011
2013
|
if (debug === true) return defaultDebugHandler;
|
|
2012
2014
|
return typeof debug === "function" ? debug : void 0;
|
|
2013
2015
|
};
|
|
2016
|
+
const mergeNamingConfig = (naming) => {
|
|
2017
|
+
const defaults = baseConfig.naming ?? {};
|
|
2018
|
+
const current = userConfig.naming ?? {};
|
|
2019
|
+
return {
|
|
2020
|
+
...defaults,
|
|
2021
|
+
...current,
|
|
2022
|
+
...naming ?? {}
|
|
2023
|
+
};
|
|
2024
|
+
};
|
|
2014
2025
|
const mergePathConfig = (paths) => {
|
|
2015
2026
|
const defaults = baseConfig.paths ?? {};
|
|
2016
2027
|
const current = userConfig.paths ?? {};
|
|
@@ -2073,6 +2084,7 @@ const configureArkormRuntime = (client, options = {}) => {
|
|
|
2073
2084
|
const resolvedClient = client ?? options.client;
|
|
2074
2085
|
const nextConfig = {
|
|
2075
2086
|
...userConfig,
|
|
2087
|
+
naming: mergeNamingConfig(options.naming),
|
|
2076
2088
|
features: mergeFeatureConfig(options.features),
|
|
2077
2089
|
paths: mergePathConfig(options.paths)
|
|
2078
2090
|
};
|
|
@@ -2126,6 +2138,7 @@ const resolveAndApplyConfig = (imported) => {
|
|
|
2126
2138
|
adapter: config.adapter,
|
|
2127
2139
|
boot: config.boot,
|
|
2128
2140
|
debug: config.debug,
|
|
2141
|
+
naming: config.naming,
|
|
2129
2142
|
features: config.features,
|
|
2130
2143
|
pagination: config.pagination,
|
|
2131
2144
|
paths: config.paths,
|
package/dist/index.cjs
CHANGED
|
@@ -2661,6 +2661,7 @@ const resolveDefaultStubsPath = () => {
|
|
|
2661
2661
|
return path.default.join(process.cwd(), "stubs");
|
|
2662
2662
|
};
|
|
2663
2663
|
const baseConfig = {
|
|
2664
|
+
naming: { modelTableCase: "snake" },
|
|
2664
2665
|
features: {
|
|
2665
2666
|
persistedColumnMappings: true,
|
|
2666
2667
|
persistedEnums: true
|
|
@@ -2677,6 +2678,7 @@ const baseConfig = {
|
|
|
2677
2678
|
};
|
|
2678
2679
|
const userConfig = {
|
|
2679
2680
|
...baseConfig,
|
|
2681
|
+
naming: { ...baseConfig.naming ?? {} },
|
|
2680
2682
|
features: { ...baseConfig.features ?? {} },
|
|
2681
2683
|
paths: { ...baseConfig.paths ?? {} }
|
|
2682
2684
|
};
|
|
@@ -2708,6 +2710,15 @@ const resolveDebugHandler = (debug) => {
|
|
|
2708
2710
|
if (debug === true) return defaultDebugHandler;
|
|
2709
2711
|
return typeof debug === "function" ? debug : void 0;
|
|
2710
2712
|
};
|
|
2713
|
+
const mergeNamingConfig = (naming) => {
|
|
2714
|
+
const defaults = baseConfig.naming ?? {};
|
|
2715
|
+
const current = userConfig.naming ?? {};
|
|
2716
|
+
return {
|
|
2717
|
+
...defaults,
|
|
2718
|
+
...current,
|
|
2719
|
+
...naming ?? {}
|
|
2720
|
+
};
|
|
2721
|
+
};
|
|
2711
2722
|
const mergePathConfig = (paths) => {
|
|
2712
2723
|
const defaults = baseConfig.paths ?? {};
|
|
2713
2724
|
const current = userConfig.paths ?? {};
|
|
@@ -2779,6 +2790,7 @@ const configureArkormRuntime = (client, options = {}) => {
|
|
|
2779
2790
|
const resolvedClient = client ?? options.client;
|
|
2780
2791
|
const nextConfig = {
|
|
2781
2792
|
...userConfig,
|
|
2793
|
+
naming: mergeNamingConfig(options.naming),
|
|
2782
2794
|
features: mergeFeatureConfig(options.features),
|
|
2783
2795
|
paths: mergePathConfig(options.paths)
|
|
2784
2796
|
};
|
|
@@ -2809,6 +2821,7 @@ const configureArkormRuntime = (client, options = {}) => {
|
|
|
2809
2821
|
const resetArkormRuntimeForTests = () => {
|
|
2810
2822
|
Object.assign(userConfig, {
|
|
2811
2823
|
...baseConfig,
|
|
2824
|
+
naming: { ...baseConfig.naming ?? {} },
|
|
2812
2825
|
features: { ...baseConfig.features ?? {} },
|
|
2813
2826
|
paths: { ...baseConfig.paths ?? {} }
|
|
2814
2827
|
});
|
|
@@ -2851,6 +2864,7 @@ const resolveAndApplyConfig = (imported) => {
|
|
|
2851
2864
|
adapter: config.adapter,
|
|
2852
2865
|
boot: config.boot,
|
|
2853
2866
|
debug: config.debug,
|
|
2867
|
+
naming: config.naming,
|
|
2854
2868
|
features: config.features,
|
|
2855
2869
|
pagination: config.pagination,
|
|
2856
2870
|
paths: config.paths,
|
|
@@ -10568,12 +10582,18 @@ var Model = class Model {
|
|
|
10568
10582
|
this.adapter = adapter;
|
|
10569
10583
|
}
|
|
10570
10584
|
static getTable() {
|
|
10585
|
+
ensureArkormConfigLoading();
|
|
10571
10586
|
if (this.table) return this.table;
|
|
10572
10587
|
if (this.delegate) {
|
|
10573
10588
|
Model.emitDeprecationWarning("ARKORM_MODEL_DELEGATE_DEPRECATED", "Model.delegate is deprecated and will be removed in Arkorm 3.0. Use Model.table instead.");
|
|
10574
10589
|
return this.delegate;
|
|
10575
10590
|
}
|
|
10576
|
-
|
|
10591
|
+
const modelTableCase = getUserConfig("naming")?.modelTableCase ?? "snake";
|
|
10592
|
+
const modelName = (0, _h3ravel_support.str)(this.name);
|
|
10593
|
+
if (modelTableCase === "camel") return `${modelName.camel().plural()}`;
|
|
10594
|
+
if (modelTableCase === "kebab") return `${modelName.kebab().plural()}`;
|
|
10595
|
+
if (modelTableCase === "studly") return `${modelName.studly().plural()}`;
|
|
10596
|
+
return `${modelName.snake().plural()}`;
|
|
10577
10597
|
}
|
|
10578
10598
|
static getPrimaryKey() {
|
|
10579
10599
|
return this.primaryKey || "id";
|
package/dist/index.d.cts
CHANGED
|
@@ -2804,6 +2804,7 @@ interface ArkormDebugEvent {
|
|
|
2804
2804
|
error?: unknown;
|
|
2805
2805
|
}
|
|
2806
2806
|
type ArkormDebugHandler = (event: ArkormDebugEvent) => void;
|
|
2807
|
+
type ModelTableCase = 'camel' | 'snake' | 'kebab' | 'studly';
|
|
2807
2808
|
interface ArkormConfig {
|
|
2808
2809
|
/**
|
|
2809
2810
|
* @property client Optional runtime client instance or resolver used for compatibility mode, CLI flows, and client-backed transactions.
|
|
@@ -2834,6 +2835,16 @@ interface ArkormConfig {
|
|
|
2834
2835
|
urlDriver?: PaginationURLDriverFactory;
|
|
2835
2836
|
resolveCurrentPage?: PaginationCurrentPageResolver;
|
|
2836
2837
|
};
|
|
2838
|
+
/**
|
|
2839
|
+
* @property naming Naming strategy options for inferred model table names.
|
|
2840
|
+
*/
|
|
2841
|
+
naming?: {
|
|
2842
|
+
/**
|
|
2843
|
+
* @property modelTableCase Case transformer applied to inferred table names.
|
|
2844
|
+
* Defaults to 'snake'.
|
|
2845
|
+
*/
|
|
2846
|
+
modelTableCase?: ModelTableCase;
|
|
2847
|
+
};
|
|
2837
2848
|
/**
|
|
2838
2849
|
* @property features Optional feature flags for persisted non-Prisma runtime metadata.
|
|
2839
2850
|
*/
|
|
@@ -5272,4 +5283,4 @@ declare class URLDriver {
|
|
|
5272
5283
|
url(page: number): string;
|
|
5273
5284
|
}
|
|
5274
5285
|
//#endregion
|
|
5275
|
-
export { AdapterBindableModel, AdapterCapabilities, AdapterCapability, AdapterInspectionRequest, AdapterModelFieldStructure, AdapterModelIntrospectionOptions, AdapterModelStructure, AdapterQueryInspection, AdapterQueryOperation, AdapterTransactionContext, AggregateOperation, AggregateSelection, AggregateSpec, AppliedMigrationEntry, AppliedMigrationRun, AppliedMigrationsState, ArkormBootContext, ArkormCollection, ArkormConfig, ArkormDebugEvent, ArkormDebugHandler, ArkormErrorContext, ArkormException, Attribute, AttributeCreateInput, AttributeOptions, AttributeOrderBy, AttributeQuerySchema, AttributeSchemaDelegate, AttributeSelect, AttributeUpdateInput, AttributeWhereInput, BelongsToManyRelationMetadata, BelongsToRelationMetadata, CastDefinition, CastHandler, CastMap, CastType, CliApp, ClientResolver, ColumnMap, DB, DatabaseAdapter, DatabasePrimitive, DatabaseRow, DatabaseRows, DatabaseTableOptions, DatabaseTablePersistedMetadataOptions, DatabaseValue, DelegateCreateData, DelegateFindManyArgs, DelegateForModelSchema, DelegateInclude, DelegateOrderBy, DelegateRow, DelegateRows, DelegateSelect, DelegateUniqueWhere, DelegateUpdateArgs, DelegateUpdateData, DelegateWhere, DeleteManySpec, DeleteSpec, EagerLoadConstraint, EagerLoadMap, EnumBuilder, FactoryAttributes, FactoryDefinition, FactoryModelConstructor, FactoryState, ForeignKeyBuilder, GenerateMigrationOptions, GeneratedMigrationFile, GetUserConfig, GlobalScope, HasManyRelationMetadata, HasManyThroughRelationMetadata, HasOneRelationMetadata, HasOneThroughRelationMetadata, InitCommand, InlineFactory, InsertManySpec, InsertSpec, KyselyDatabaseAdapter, LengthAwarePaginator, MIGRATION_BRAND, MakeFactoryCommand, MakeMigrationCommand, MakeModelCommand, MakeSeederCommand, MigrateCommand, MigrateFreshCommand, MigrateRollbackCommand, Migration, MigrationClass, MigrationHistoryCommand, MigrationInstanceLike, MissingDelegateException, Model, ModelAttributeValue, ModelAttributes, ModelAttributesOf, ModelCreateData, ModelDeclaredAttributeKey, ModelEventDispatcher, ModelEventHandler, ModelEventHandlerConstructor, ModelEventListener, ModelEventName, ModelFactory, ModelLifecycleState, ModelMetadata, ModelNotFoundException, ModelQuerySchemaLike, ModelRelationshipKey, ModelRelationshipResult, ModelStatic, ModelUpdateData, ModelsSyncCommand, MorphManyRelationMetadata, MorphOneRelationMetadata, MorphToManyRelationMetadata, PRISMA_ENUM_MEMBER_REGEX, PRISMA_ENUM_REGEX, PRISMA_MODEL_REGEX, PaginationCurrentPageResolver, PaginationMeta, PaginationOptions, PaginationURLDriver, PaginationURLDriverFactory, Paginator, PersistedColumnMappingsState, PersistedMetadataFeatures, PersistedPrimaryKeyGeneration, PersistedTableMetadata, PersistedTimestampColumn, PivotModel, PivotModelStatic, PrimaryKeyGeneration, PrimaryKeyGenerationPlanner, PrismaClientLike, PrismaDatabaseAdapter, PrismaDelegateLike, PrismaDelegateMap, PrismaDelegateNameMapping, PrismaFindManyArgsLike, PrismaLikeInclude, PrismaLikeOrderBy, PrismaLikeScalarFilter, PrismaLikeSelect, PrismaLikeSortOrder, PrismaLikeWhereInput, PrismaMigrationWorkflowOptions, PrismaSchemaSyncOptions, PrismaTransactionCallback, PrismaTransactionCapableClient, PrismaTransactionContext, PrismaTransactionOptions, QueryBuilder, QueryComparisonCondition, QueryComparisonOperator, QueryCondition, QueryConstraintException, QueryExecutionException, QueryExecutionExceptionContext, QueryGroupCondition, QueryLogicalOperator, QueryNotCondition, QueryOrderBy, QueryRawCondition, QuerySchemaCreateData, QuerySchemaFindManyArgs, QuerySchemaForModel, QuerySchemaInclude, QuerySchemaOrderBy, QuerySchemaRow, QuerySchemaRows, QuerySchemaSelect, QuerySchemaUniqueWhere, QuerySchemaUpdateArgs, QuerySchemaUpdateData, QuerySchemaWhere, QuerySelectColumn, QueryTarget, RawQuerySpec, RelatedModelClass, RelationAggregateSpec, RelationColumnLookupSpec, RelationConstraint, RelationDefaultResolver, RelationDefaultValue, RelationFilterSpec, RelationLoadPlan, RelationLoadSpec, RelationMetadata, RelationMetadataProvider, RelationMetadataType, RelationResolutionException, RelationTableLookupSpec, RelationshipModelStatic, RuntimeClientLike, RuntimeModuleLoader, SEEDER_BRAND, SchemaBuilder, SchemaColumn, SchemaColumnType, SchemaForeignKey, SchemaForeignKeyAction, SchemaIndex, SchemaOperation, SchemaTableAlterOperation, SchemaTableCreateOperation, SchemaTableDropOperation, ScopeNotDefinedException, SeedCommand, Seeder, SeederCallArgument, SeederConstructor, SeederInput, SelectSpec, Serializable, SimplePaginationMeta, SoftDeleteConfig, SoftDeleteQueryMode, SortDirection, TableBuilder, TimestampColumnBehavior, TransactionCallback, TransactionCapableClient, TransactionContext, TransactionOptions, URLDriver, UniqueConstraintResolutionException, UnsupportedAdapterFeatureException, UpdateManySpec, UpdateSpec, UpsertSpec, applyAlterTableOperation, applyCreateTableOperation, applyDropTableOperation, applyMigrationRollbackToDatabase, applyMigrationRollbackToPrismaSchema, applyMigrationToDatabase, applyMigrationToPrismaSchema, applyOperationsToPersistedColumnMappingsState, applyOperationsToPrismaSchema, bindAdapterToModels, buildEnumBlock, buildFieldLine, buildIndexLine, buildInverseRelationLine, buildMigrationIdentity, buildMigrationRunId, buildMigrationSource, buildModelBlock, buildRelationLine, computeMigrationChecksum, configureArkormRuntime, createEmptyAppliedMigrationsState, createEmptyPersistedColumnMappingsState, createKyselyAdapter, createMigrationTimestamp, createPrismaAdapter, createPrismaCompatibilityAdapter, createPrismaDatabaseAdapter, createPrismaDelegateMap, defineConfig, defineFactory, deleteAppliedMigrationsStateFromStore, deletePersistedColumnMappingsState, deriveCollectionFieldName, deriveInverseRelationAlias, deriveRelationAlias, deriveRelationFieldName, deriveSingularFieldName, emitRuntimeDebugEvent, ensureArkormConfigLoading, escapeRegex, findAppliedMigration, findEnumBlock, findModelBlock, formatDefaultValue, formatEnumDefaultValue, formatRelationAction, generateMigrationFile, getActiveTransactionAdapter, getActiveTransactionClient, getDefaultStubsPath, getLastMigrationRun, getLatestAppliedMigrations, getMigrationPlan, getPersistedColumnMap, getPersistedEnumMap, getPersistedEnumTsType, getPersistedPrimaryKeyGeneration, getPersistedTableMetadata, getPersistedTimestampColumns, getRuntimeAdapter, getRuntimeClient, getRuntimeCompatibilityAdapter, getRuntimeDebugHandler, getRuntimePaginationCurrentPageResolver, getRuntimePaginationURLDriverFactory, getRuntimePrismaClient, getUserConfig, inferDelegateName, isDelegateLike, isMigrationApplied, isQuerySchemaLike, isTransactionCapableClient, loadArkormConfig, markMigrationApplied, markMigrationRun, pad, readAppliedMigrationsState, readAppliedMigrationsStateFromStore, readPersistedColumnMappingsState, rebuildPersistedColumnMappingsState, removeAppliedMigration, resetArkormRuntimeForTests, resetPersistedColumnMappingsCache, resolveCast, resolveColumnMappingsFilePath, resolveEnumName, resolveMigrationClassName, resolveMigrationStateFilePath, resolvePersistedMetadataFeatures, resolvePrismaType, resolveRuntimeCompatibilityQuerySchema, resolveRuntimeCompatibilityQuerySchemaOrThrow, runArkormTransaction, runMigrationWithPrisma, runPrismaCommand, stripPrismaSchemaModelsAndEnums, supportsDatabaseMigrationExecution, supportsDatabaseMigrationState, supportsDatabaseReset, syncPersistedColumnMappingsFromState, toMigrationFileSlug, toModelName, validatePersistedMetadataFeaturesForMigrations, writeAppliedMigrationsState, writeAppliedMigrationsStateToStore, writePersistedColumnMappingsState };
|
|
5286
|
+
export { AdapterBindableModel, AdapterCapabilities, AdapterCapability, AdapterInspectionRequest, AdapterModelFieldStructure, AdapterModelIntrospectionOptions, AdapterModelStructure, AdapterQueryInspection, AdapterQueryOperation, AdapterTransactionContext, AggregateOperation, AggregateSelection, AggregateSpec, AppliedMigrationEntry, AppliedMigrationRun, AppliedMigrationsState, ArkormBootContext, ArkormCollection, ArkormConfig, ArkormDebugEvent, ArkormDebugHandler, ArkormErrorContext, ArkormException, Attribute, AttributeCreateInput, AttributeOptions, AttributeOrderBy, AttributeQuerySchema, AttributeSchemaDelegate, AttributeSelect, AttributeUpdateInput, AttributeWhereInput, BelongsToManyRelationMetadata, BelongsToRelationMetadata, CastDefinition, CastHandler, CastMap, CastType, CliApp, ClientResolver, ColumnMap, DB, DatabaseAdapter, DatabasePrimitive, DatabaseRow, DatabaseRows, DatabaseTableOptions, DatabaseTablePersistedMetadataOptions, DatabaseValue, DelegateCreateData, DelegateFindManyArgs, DelegateForModelSchema, DelegateInclude, DelegateOrderBy, DelegateRow, DelegateRows, DelegateSelect, DelegateUniqueWhere, DelegateUpdateArgs, DelegateUpdateData, DelegateWhere, DeleteManySpec, DeleteSpec, EagerLoadConstraint, EagerLoadMap, EnumBuilder, FactoryAttributes, FactoryDefinition, FactoryModelConstructor, FactoryState, ForeignKeyBuilder, GenerateMigrationOptions, GeneratedMigrationFile, GetUserConfig, GlobalScope, HasManyRelationMetadata, HasManyThroughRelationMetadata, HasOneRelationMetadata, HasOneThroughRelationMetadata, InitCommand, InlineFactory, InsertManySpec, InsertSpec, KyselyDatabaseAdapter, LengthAwarePaginator, MIGRATION_BRAND, MakeFactoryCommand, MakeMigrationCommand, MakeModelCommand, MakeSeederCommand, MigrateCommand, MigrateFreshCommand, MigrateRollbackCommand, Migration, MigrationClass, MigrationHistoryCommand, MigrationInstanceLike, MissingDelegateException, Model, ModelAttributeValue, ModelAttributes, ModelAttributesOf, ModelCreateData, ModelDeclaredAttributeKey, ModelEventDispatcher, ModelEventHandler, ModelEventHandlerConstructor, ModelEventListener, ModelEventName, ModelFactory, ModelLifecycleState, ModelMetadata, ModelNotFoundException, ModelQuerySchemaLike, ModelRelationshipKey, ModelRelationshipResult, ModelStatic, ModelTableCase, ModelUpdateData, ModelsSyncCommand, MorphManyRelationMetadata, MorphOneRelationMetadata, MorphToManyRelationMetadata, PRISMA_ENUM_MEMBER_REGEX, PRISMA_ENUM_REGEX, PRISMA_MODEL_REGEX, PaginationCurrentPageResolver, PaginationMeta, PaginationOptions, PaginationURLDriver, PaginationURLDriverFactory, Paginator, PersistedColumnMappingsState, PersistedMetadataFeatures, PersistedPrimaryKeyGeneration, PersistedTableMetadata, PersistedTimestampColumn, PivotModel, PivotModelStatic, PrimaryKeyGeneration, PrimaryKeyGenerationPlanner, PrismaClientLike, PrismaDatabaseAdapter, PrismaDelegateLike, PrismaDelegateMap, PrismaDelegateNameMapping, PrismaFindManyArgsLike, PrismaLikeInclude, PrismaLikeOrderBy, PrismaLikeScalarFilter, PrismaLikeSelect, PrismaLikeSortOrder, PrismaLikeWhereInput, PrismaMigrationWorkflowOptions, PrismaSchemaSyncOptions, PrismaTransactionCallback, PrismaTransactionCapableClient, PrismaTransactionContext, PrismaTransactionOptions, QueryBuilder, QueryComparisonCondition, QueryComparisonOperator, QueryCondition, QueryConstraintException, QueryExecutionException, QueryExecutionExceptionContext, QueryGroupCondition, QueryLogicalOperator, QueryNotCondition, QueryOrderBy, QueryRawCondition, QuerySchemaCreateData, QuerySchemaFindManyArgs, QuerySchemaForModel, QuerySchemaInclude, QuerySchemaOrderBy, QuerySchemaRow, QuerySchemaRows, QuerySchemaSelect, QuerySchemaUniqueWhere, QuerySchemaUpdateArgs, QuerySchemaUpdateData, QuerySchemaWhere, QuerySelectColumn, QueryTarget, RawQuerySpec, RelatedModelClass, RelationAggregateSpec, RelationColumnLookupSpec, RelationConstraint, RelationDefaultResolver, RelationDefaultValue, RelationFilterSpec, RelationLoadPlan, RelationLoadSpec, RelationMetadata, RelationMetadataProvider, RelationMetadataType, RelationResolutionException, RelationTableLookupSpec, RelationshipModelStatic, RuntimeClientLike, RuntimeModuleLoader, SEEDER_BRAND, SchemaBuilder, SchemaColumn, SchemaColumnType, SchemaForeignKey, SchemaForeignKeyAction, SchemaIndex, SchemaOperation, SchemaTableAlterOperation, SchemaTableCreateOperation, SchemaTableDropOperation, ScopeNotDefinedException, SeedCommand, Seeder, SeederCallArgument, SeederConstructor, SeederInput, SelectSpec, Serializable, SimplePaginationMeta, SoftDeleteConfig, SoftDeleteQueryMode, SortDirection, TableBuilder, TimestampColumnBehavior, TransactionCallback, TransactionCapableClient, TransactionContext, TransactionOptions, URLDriver, UniqueConstraintResolutionException, UnsupportedAdapterFeatureException, UpdateManySpec, UpdateSpec, UpsertSpec, applyAlterTableOperation, applyCreateTableOperation, applyDropTableOperation, applyMigrationRollbackToDatabase, applyMigrationRollbackToPrismaSchema, applyMigrationToDatabase, applyMigrationToPrismaSchema, applyOperationsToPersistedColumnMappingsState, applyOperationsToPrismaSchema, bindAdapterToModels, buildEnumBlock, buildFieldLine, buildIndexLine, buildInverseRelationLine, buildMigrationIdentity, buildMigrationRunId, buildMigrationSource, buildModelBlock, buildRelationLine, computeMigrationChecksum, configureArkormRuntime, createEmptyAppliedMigrationsState, createEmptyPersistedColumnMappingsState, createKyselyAdapter, createMigrationTimestamp, createPrismaAdapter, createPrismaCompatibilityAdapter, createPrismaDatabaseAdapter, createPrismaDelegateMap, defineConfig, defineFactory, deleteAppliedMigrationsStateFromStore, deletePersistedColumnMappingsState, deriveCollectionFieldName, deriveInverseRelationAlias, deriveRelationAlias, deriveRelationFieldName, deriveSingularFieldName, emitRuntimeDebugEvent, ensureArkormConfigLoading, escapeRegex, findAppliedMigration, findEnumBlock, findModelBlock, formatDefaultValue, formatEnumDefaultValue, formatRelationAction, generateMigrationFile, getActiveTransactionAdapter, getActiveTransactionClient, getDefaultStubsPath, getLastMigrationRun, getLatestAppliedMigrations, getMigrationPlan, getPersistedColumnMap, getPersistedEnumMap, getPersistedEnumTsType, getPersistedPrimaryKeyGeneration, getPersistedTableMetadata, getPersistedTimestampColumns, getRuntimeAdapter, getRuntimeClient, getRuntimeCompatibilityAdapter, getRuntimeDebugHandler, getRuntimePaginationCurrentPageResolver, getRuntimePaginationURLDriverFactory, getRuntimePrismaClient, getUserConfig, inferDelegateName, isDelegateLike, isMigrationApplied, isQuerySchemaLike, isTransactionCapableClient, loadArkormConfig, markMigrationApplied, markMigrationRun, pad, readAppliedMigrationsState, readAppliedMigrationsStateFromStore, readPersistedColumnMappingsState, rebuildPersistedColumnMappingsState, removeAppliedMigration, resetArkormRuntimeForTests, resetPersistedColumnMappingsCache, resolveCast, resolveColumnMappingsFilePath, resolveEnumName, resolveMigrationClassName, resolveMigrationStateFilePath, resolvePersistedMetadataFeatures, resolvePrismaType, resolveRuntimeCompatibilityQuerySchema, resolveRuntimeCompatibilityQuerySchemaOrThrow, runArkormTransaction, runMigrationWithPrisma, runPrismaCommand, stripPrismaSchemaModelsAndEnums, supportsDatabaseMigrationExecution, supportsDatabaseMigrationState, supportsDatabaseReset, syncPersistedColumnMappingsFromState, toMigrationFileSlug, toModelName, validatePersistedMetadataFeaturesForMigrations, writeAppliedMigrationsState, writeAppliedMigrationsStateToStore, writePersistedColumnMappingsState };
|
package/dist/index.d.mts
CHANGED
|
@@ -2804,6 +2804,7 @@ interface ArkormDebugEvent {
|
|
|
2804
2804
|
error?: unknown;
|
|
2805
2805
|
}
|
|
2806
2806
|
type ArkormDebugHandler = (event: ArkormDebugEvent) => void;
|
|
2807
|
+
type ModelTableCase = 'camel' | 'snake' | 'kebab' | 'studly';
|
|
2807
2808
|
interface ArkormConfig {
|
|
2808
2809
|
/**
|
|
2809
2810
|
* @property client Optional runtime client instance or resolver used for compatibility mode, CLI flows, and client-backed transactions.
|
|
@@ -2834,6 +2835,16 @@ interface ArkormConfig {
|
|
|
2834
2835
|
urlDriver?: PaginationURLDriverFactory;
|
|
2835
2836
|
resolveCurrentPage?: PaginationCurrentPageResolver;
|
|
2836
2837
|
};
|
|
2838
|
+
/**
|
|
2839
|
+
* @property naming Naming strategy options for inferred model table names.
|
|
2840
|
+
*/
|
|
2841
|
+
naming?: {
|
|
2842
|
+
/**
|
|
2843
|
+
* @property modelTableCase Case transformer applied to inferred table names.
|
|
2844
|
+
* Defaults to 'snake'.
|
|
2845
|
+
*/
|
|
2846
|
+
modelTableCase?: ModelTableCase;
|
|
2847
|
+
};
|
|
2837
2848
|
/**
|
|
2838
2849
|
* @property features Optional feature flags for persisted non-Prisma runtime metadata.
|
|
2839
2850
|
*/
|
|
@@ -5272,4 +5283,4 @@ declare class URLDriver {
|
|
|
5272
5283
|
url(page: number): string;
|
|
5273
5284
|
}
|
|
5274
5285
|
//#endregion
|
|
5275
|
-
export { AdapterBindableModel, AdapterCapabilities, AdapterCapability, AdapterInspectionRequest, AdapterModelFieldStructure, AdapterModelIntrospectionOptions, AdapterModelStructure, AdapterQueryInspection, AdapterQueryOperation, AdapterTransactionContext, AggregateOperation, AggregateSelection, AggregateSpec, AppliedMigrationEntry, AppliedMigrationRun, AppliedMigrationsState, ArkormBootContext, ArkormCollection, ArkormConfig, ArkormDebugEvent, ArkormDebugHandler, ArkormErrorContext, ArkormException, Attribute, AttributeCreateInput, AttributeOptions, AttributeOrderBy, AttributeQuerySchema, AttributeSchemaDelegate, AttributeSelect, AttributeUpdateInput, AttributeWhereInput, BelongsToManyRelationMetadata, BelongsToRelationMetadata, CastDefinition, CastHandler, CastMap, CastType, CliApp, ClientResolver, ColumnMap, DB, DatabaseAdapter, DatabasePrimitive, DatabaseRow, DatabaseRows, DatabaseTableOptions, DatabaseTablePersistedMetadataOptions, DatabaseValue, DelegateCreateData, DelegateFindManyArgs, DelegateForModelSchema, DelegateInclude, DelegateOrderBy, DelegateRow, DelegateRows, DelegateSelect, DelegateUniqueWhere, DelegateUpdateArgs, DelegateUpdateData, DelegateWhere, DeleteManySpec, DeleteSpec, EagerLoadConstraint, EagerLoadMap, EnumBuilder, FactoryAttributes, FactoryDefinition, FactoryModelConstructor, FactoryState, ForeignKeyBuilder, GenerateMigrationOptions, GeneratedMigrationFile, GetUserConfig, GlobalScope, HasManyRelationMetadata, HasManyThroughRelationMetadata, HasOneRelationMetadata, HasOneThroughRelationMetadata, InitCommand, InlineFactory, InsertManySpec, InsertSpec, KyselyDatabaseAdapter, LengthAwarePaginator, MIGRATION_BRAND, MakeFactoryCommand, MakeMigrationCommand, MakeModelCommand, MakeSeederCommand, MigrateCommand, MigrateFreshCommand, MigrateRollbackCommand, Migration, MigrationClass, MigrationHistoryCommand, MigrationInstanceLike, MissingDelegateException, Model, ModelAttributeValue, ModelAttributes, ModelAttributesOf, ModelCreateData, ModelDeclaredAttributeKey, ModelEventDispatcher, ModelEventHandler, ModelEventHandlerConstructor, ModelEventListener, ModelEventName, ModelFactory, ModelLifecycleState, ModelMetadata, ModelNotFoundException, ModelQuerySchemaLike, ModelRelationshipKey, ModelRelationshipResult, ModelStatic, ModelUpdateData, ModelsSyncCommand, MorphManyRelationMetadata, MorphOneRelationMetadata, MorphToManyRelationMetadata, PRISMA_ENUM_MEMBER_REGEX, PRISMA_ENUM_REGEX, PRISMA_MODEL_REGEX, PaginationCurrentPageResolver, PaginationMeta, PaginationOptions, PaginationURLDriver, PaginationURLDriverFactory, Paginator, PersistedColumnMappingsState, PersistedMetadataFeatures, PersistedPrimaryKeyGeneration, PersistedTableMetadata, PersistedTimestampColumn, PivotModel, PivotModelStatic, PrimaryKeyGeneration, PrimaryKeyGenerationPlanner, PrismaClientLike, PrismaDatabaseAdapter, PrismaDelegateLike, PrismaDelegateMap, PrismaDelegateNameMapping, PrismaFindManyArgsLike, PrismaLikeInclude, PrismaLikeOrderBy, PrismaLikeScalarFilter, PrismaLikeSelect, PrismaLikeSortOrder, PrismaLikeWhereInput, PrismaMigrationWorkflowOptions, PrismaSchemaSyncOptions, PrismaTransactionCallback, PrismaTransactionCapableClient, PrismaTransactionContext, PrismaTransactionOptions, QueryBuilder, QueryComparisonCondition, QueryComparisonOperator, QueryCondition, QueryConstraintException, QueryExecutionException, QueryExecutionExceptionContext, QueryGroupCondition, QueryLogicalOperator, QueryNotCondition, QueryOrderBy, QueryRawCondition, QuerySchemaCreateData, QuerySchemaFindManyArgs, QuerySchemaForModel, QuerySchemaInclude, QuerySchemaOrderBy, QuerySchemaRow, QuerySchemaRows, QuerySchemaSelect, QuerySchemaUniqueWhere, QuerySchemaUpdateArgs, QuerySchemaUpdateData, QuerySchemaWhere, QuerySelectColumn, QueryTarget, RawQuerySpec, RelatedModelClass, RelationAggregateSpec, RelationColumnLookupSpec, RelationConstraint, RelationDefaultResolver, RelationDefaultValue, RelationFilterSpec, RelationLoadPlan, RelationLoadSpec, RelationMetadata, RelationMetadataProvider, RelationMetadataType, RelationResolutionException, RelationTableLookupSpec, RelationshipModelStatic, RuntimeClientLike, RuntimeModuleLoader, SEEDER_BRAND, SchemaBuilder, SchemaColumn, SchemaColumnType, SchemaForeignKey, SchemaForeignKeyAction, SchemaIndex, SchemaOperation, SchemaTableAlterOperation, SchemaTableCreateOperation, SchemaTableDropOperation, ScopeNotDefinedException, SeedCommand, Seeder, SeederCallArgument, SeederConstructor, SeederInput, SelectSpec, Serializable, SimplePaginationMeta, SoftDeleteConfig, SoftDeleteQueryMode, SortDirection, TableBuilder, TimestampColumnBehavior, TransactionCallback, TransactionCapableClient, TransactionContext, TransactionOptions, URLDriver, UniqueConstraintResolutionException, UnsupportedAdapterFeatureException, UpdateManySpec, UpdateSpec, UpsertSpec, applyAlterTableOperation, applyCreateTableOperation, applyDropTableOperation, applyMigrationRollbackToDatabase, applyMigrationRollbackToPrismaSchema, applyMigrationToDatabase, applyMigrationToPrismaSchema, applyOperationsToPersistedColumnMappingsState, applyOperationsToPrismaSchema, bindAdapterToModels, buildEnumBlock, buildFieldLine, buildIndexLine, buildInverseRelationLine, buildMigrationIdentity, buildMigrationRunId, buildMigrationSource, buildModelBlock, buildRelationLine, computeMigrationChecksum, configureArkormRuntime, createEmptyAppliedMigrationsState, createEmptyPersistedColumnMappingsState, createKyselyAdapter, createMigrationTimestamp, createPrismaAdapter, createPrismaCompatibilityAdapter, createPrismaDatabaseAdapter, createPrismaDelegateMap, defineConfig, defineFactory, deleteAppliedMigrationsStateFromStore, deletePersistedColumnMappingsState, deriveCollectionFieldName, deriveInverseRelationAlias, deriveRelationAlias, deriveRelationFieldName, deriveSingularFieldName, emitRuntimeDebugEvent, ensureArkormConfigLoading, escapeRegex, findAppliedMigration, findEnumBlock, findModelBlock, formatDefaultValue, formatEnumDefaultValue, formatRelationAction, generateMigrationFile, getActiveTransactionAdapter, getActiveTransactionClient, getDefaultStubsPath, getLastMigrationRun, getLatestAppliedMigrations, getMigrationPlan, getPersistedColumnMap, getPersistedEnumMap, getPersistedEnumTsType, getPersistedPrimaryKeyGeneration, getPersistedTableMetadata, getPersistedTimestampColumns, getRuntimeAdapter, getRuntimeClient, getRuntimeCompatibilityAdapter, getRuntimeDebugHandler, getRuntimePaginationCurrentPageResolver, getRuntimePaginationURLDriverFactory, getRuntimePrismaClient, getUserConfig, inferDelegateName, isDelegateLike, isMigrationApplied, isQuerySchemaLike, isTransactionCapableClient, loadArkormConfig, markMigrationApplied, markMigrationRun, pad, readAppliedMigrationsState, readAppliedMigrationsStateFromStore, readPersistedColumnMappingsState, rebuildPersistedColumnMappingsState, removeAppliedMigration, resetArkormRuntimeForTests, resetPersistedColumnMappingsCache, resolveCast, resolveColumnMappingsFilePath, resolveEnumName, resolveMigrationClassName, resolveMigrationStateFilePath, resolvePersistedMetadataFeatures, resolvePrismaType, resolveRuntimeCompatibilityQuerySchema, resolveRuntimeCompatibilityQuerySchemaOrThrow, runArkormTransaction, runMigrationWithPrisma, runPrismaCommand, stripPrismaSchemaModelsAndEnums, supportsDatabaseMigrationExecution, supportsDatabaseMigrationState, supportsDatabaseReset, syncPersistedColumnMappingsFromState, toMigrationFileSlug, toModelName, validatePersistedMetadataFeaturesForMigrations, writeAppliedMigrationsState, writeAppliedMigrationsStateToStore, writePersistedColumnMappingsState };
|
|
5286
|
+
export { AdapterBindableModel, AdapterCapabilities, AdapterCapability, AdapterInspectionRequest, AdapterModelFieldStructure, AdapterModelIntrospectionOptions, AdapterModelStructure, AdapterQueryInspection, AdapterQueryOperation, AdapterTransactionContext, AggregateOperation, AggregateSelection, AggregateSpec, AppliedMigrationEntry, AppliedMigrationRun, AppliedMigrationsState, ArkormBootContext, ArkormCollection, ArkormConfig, ArkormDebugEvent, ArkormDebugHandler, ArkormErrorContext, ArkormException, Attribute, AttributeCreateInput, AttributeOptions, AttributeOrderBy, AttributeQuerySchema, AttributeSchemaDelegate, AttributeSelect, AttributeUpdateInput, AttributeWhereInput, BelongsToManyRelationMetadata, BelongsToRelationMetadata, CastDefinition, CastHandler, CastMap, CastType, CliApp, ClientResolver, ColumnMap, DB, DatabaseAdapter, DatabasePrimitive, DatabaseRow, DatabaseRows, DatabaseTableOptions, DatabaseTablePersistedMetadataOptions, DatabaseValue, DelegateCreateData, DelegateFindManyArgs, DelegateForModelSchema, DelegateInclude, DelegateOrderBy, DelegateRow, DelegateRows, DelegateSelect, DelegateUniqueWhere, DelegateUpdateArgs, DelegateUpdateData, DelegateWhere, DeleteManySpec, DeleteSpec, EagerLoadConstraint, EagerLoadMap, EnumBuilder, FactoryAttributes, FactoryDefinition, FactoryModelConstructor, FactoryState, ForeignKeyBuilder, GenerateMigrationOptions, GeneratedMigrationFile, GetUserConfig, GlobalScope, HasManyRelationMetadata, HasManyThroughRelationMetadata, HasOneRelationMetadata, HasOneThroughRelationMetadata, InitCommand, InlineFactory, InsertManySpec, InsertSpec, KyselyDatabaseAdapter, LengthAwarePaginator, MIGRATION_BRAND, MakeFactoryCommand, MakeMigrationCommand, MakeModelCommand, MakeSeederCommand, MigrateCommand, MigrateFreshCommand, MigrateRollbackCommand, Migration, MigrationClass, MigrationHistoryCommand, MigrationInstanceLike, MissingDelegateException, Model, ModelAttributeValue, ModelAttributes, ModelAttributesOf, ModelCreateData, ModelDeclaredAttributeKey, ModelEventDispatcher, ModelEventHandler, ModelEventHandlerConstructor, ModelEventListener, ModelEventName, ModelFactory, ModelLifecycleState, ModelMetadata, ModelNotFoundException, ModelQuerySchemaLike, ModelRelationshipKey, ModelRelationshipResult, ModelStatic, ModelTableCase, ModelUpdateData, ModelsSyncCommand, MorphManyRelationMetadata, MorphOneRelationMetadata, MorphToManyRelationMetadata, PRISMA_ENUM_MEMBER_REGEX, PRISMA_ENUM_REGEX, PRISMA_MODEL_REGEX, PaginationCurrentPageResolver, PaginationMeta, PaginationOptions, PaginationURLDriver, PaginationURLDriverFactory, Paginator, PersistedColumnMappingsState, PersistedMetadataFeatures, PersistedPrimaryKeyGeneration, PersistedTableMetadata, PersistedTimestampColumn, PivotModel, PivotModelStatic, PrimaryKeyGeneration, PrimaryKeyGenerationPlanner, PrismaClientLike, PrismaDatabaseAdapter, PrismaDelegateLike, PrismaDelegateMap, PrismaDelegateNameMapping, PrismaFindManyArgsLike, PrismaLikeInclude, PrismaLikeOrderBy, PrismaLikeScalarFilter, PrismaLikeSelect, PrismaLikeSortOrder, PrismaLikeWhereInput, PrismaMigrationWorkflowOptions, PrismaSchemaSyncOptions, PrismaTransactionCallback, PrismaTransactionCapableClient, PrismaTransactionContext, PrismaTransactionOptions, QueryBuilder, QueryComparisonCondition, QueryComparisonOperator, QueryCondition, QueryConstraintException, QueryExecutionException, QueryExecutionExceptionContext, QueryGroupCondition, QueryLogicalOperator, QueryNotCondition, QueryOrderBy, QueryRawCondition, QuerySchemaCreateData, QuerySchemaFindManyArgs, QuerySchemaForModel, QuerySchemaInclude, QuerySchemaOrderBy, QuerySchemaRow, QuerySchemaRows, QuerySchemaSelect, QuerySchemaUniqueWhere, QuerySchemaUpdateArgs, QuerySchemaUpdateData, QuerySchemaWhere, QuerySelectColumn, QueryTarget, RawQuerySpec, RelatedModelClass, RelationAggregateSpec, RelationColumnLookupSpec, RelationConstraint, RelationDefaultResolver, RelationDefaultValue, RelationFilterSpec, RelationLoadPlan, RelationLoadSpec, RelationMetadata, RelationMetadataProvider, RelationMetadataType, RelationResolutionException, RelationTableLookupSpec, RelationshipModelStatic, RuntimeClientLike, RuntimeModuleLoader, SEEDER_BRAND, SchemaBuilder, SchemaColumn, SchemaColumnType, SchemaForeignKey, SchemaForeignKeyAction, SchemaIndex, SchemaOperation, SchemaTableAlterOperation, SchemaTableCreateOperation, SchemaTableDropOperation, ScopeNotDefinedException, SeedCommand, Seeder, SeederCallArgument, SeederConstructor, SeederInput, SelectSpec, Serializable, SimplePaginationMeta, SoftDeleteConfig, SoftDeleteQueryMode, SortDirection, TableBuilder, TimestampColumnBehavior, TransactionCallback, TransactionCapableClient, TransactionContext, TransactionOptions, URLDriver, UniqueConstraintResolutionException, UnsupportedAdapterFeatureException, UpdateManySpec, UpdateSpec, UpsertSpec, applyAlterTableOperation, applyCreateTableOperation, applyDropTableOperation, applyMigrationRollbackToDatabase, applyMigrationRollbackToPrismaSchema, applyMigrationToDatabase, applyMigrationToPrismaSchema, applyOperationsToPersistedColumnMappingsState, applyOperationsToPrismaSchema, bindAdapterToModels, buildEnumBlock, buildFieldLine, buildIndexLine, buildInverseRelationLine, buildMigrationIdentity, buildMigrationRunId, buildMigrationSource, buildModelBlock, buildRelationLine, computeMigrationChecksum, configureArkormRuntime, createEmptyAppliedMigrationsState, createEmptyPersistedColumnMappingsState, createKyselyAdapter, createMigrationTimestamp, createPrismaAdapter, createPrismaCompatibilityAdapter, createPrismaDatabaseAdapter, createPrismaDelegateMap, defineConfig, defineFactory, deleteAppliedMigrationsStateFromStore, deletePersistedColumnMappingsState, deriveCollectionFieldName, deriveInverseRelationAlias, deriveRelationAlias, deriveRelationFieldName, deriveSingularFieldName, emitRuntimeDebugEvent, ensureArkormConfigLoading, escapeRegex, findAppliedMigration, findEnumBlock, findModelBlock, formatDefaultValue, formatEnumDefaultValue, formatRelationAction, generateMigrationFile, getActiveTransactionAdapter, getActiveTransactionClient, getDefaultStubsPath, getLastMigrationRun, getLatestAppliedMigrations, getMigrationPlan, getPersistedColumnMap, getPersistedEnumMap, getPersistedEnumTsType, getPersistedPrimaryKeyGeneration, getPersistedTableMetadata, getPersistedTimestampColumns, getRuntimeAdapter, getRuntimeClient, getRuntimeCompatibilityAdapter, getRuntimeDebugHandler, getRuntimePaginationCurrentPageResolver, getRuntimePaginationURLDriverFactory, getRuntimePrismaClient, getUserConfig, inferDelegateName, isDelegateLike, isMigrationApplied, isQuerySchemaLike, isTransactionCapableClient, loadArkormConfig, markMigrationApplied, markMigrationRun, pad, readAppliedMigrationsState, readAppliedMigrationsStateFromStore, readPersistedColumnMappingsState, rebuildPersistedColumnMappingsState, removeAppliedMigration, resetArkormRuntimeForTests, resetPersistedColumnMappingsCache, resolveCast, resolveColumnMappingsFilePath, resolveEnumName, resolveMigrationClassName, resolveMigrationStateFilePath, resolvePersistedMetadataFeatures, resolvePrismaType, resolveRuntimeCompatibilityQuerySchema, resolveRuntimeCompatibilityQuerySchemaOrThrow, runArkormTransaction, runMigrationWithPrisma, runPrismaCommand, stripPrismaSchemaModelsAndEnums, supportsDatabaseMigrationExecution, supportsDatabaseMigrationState, supportsDatabaseReset, syncPersistedColumnMappingsFromState, toMigrationFileSlug, toModelName, validatePersistedMetadataFeaturesForMigrations, writeAppliedMigrationsState, writeAppliedMigrationsStateToStore, writePersistedColumnMappingsState };
|
package/dist/index.mjs
CHANGED
|
@@ -2632,6 +2632,7 @@ const resolveDefaultStubsPath = () => {
|
|
|
2632
2632
|
return path.join(process.cwd(), "stubs");
|
|
2633
2633
|
};
|
|
2634
2634
|
const baseConfig = {
|
|
2635
|
+
naming: { modelTableCase: "snake" },
|
|
2635
2636
|
features: {
|
|
2636
2637
|
persistedColumnMappings: true,
|
|
2637
2638
|
persistedEnums: true
|
|
@@ -2648,6 +2649,7 @@ const baseConfig = {
|
|
|
2648
2649
|
};
|
|
2649
2650
|
const userConfig = {
|
|
2650
2651
|
...baseConfig,
|
|
2652
|
+
naming: { ...baseConfig.naming ?? {} },
|
|
2651
2653
|
features: { ...baseConfig.features ?? {} },
|
|
2652
2654
|
paths: { ...baseConfig.paths ?? {} }
|
|
2653
2655
|
};
|
|
@@ -2679,6 +2681,15 @@ const resolveDebugHandler = (debug) => {
|
|
|
2679
2681
|
if (debug === true) return defaultDebugHandler;
|
|
2680
2682
|
return typeof debug === "function" ? debug : void 0;
|
|
2681
2683
|
};
|
|
2684
|
+
const mergeNamingConfig = (naming) => {
|
|
2685
|
+
const defaults = baseConfig.naming ?? {};
|
|
2686
|
+
const current = userConfig.naming ?? {};
|
|
2687
|
+
return {
|
|
2688
|
+
...defaults,
|
|
2689
|
+
...current,
|
|
2690
|
+
...naming ?? {}
|
|
2691
|
+
};
|
|
2692
|
+
};
|
|
2682
2693
|
const mergePathConfig = (paths) => {
|
|
2683
2694
|
const defaults = baseConfig.paths ?? {};
|
|
2684
2695
|
const current = userConfig.paths ?? {};
|
|
@@ -2750,6 +2761,7 @@ const configureArkormRuntime = (client, options = {}) => {
|
|
|
2750
2761
|
const resolvedClient = client ?? options.client;
|
|
2751
2762
|
const nextConfig = {
|
|
2752
2763
|
...userConfig,
|
|
2764
|
+
naming: mergeNamingConfig(options.naming),
|
|
2753
2765
|
features: mergeFeatureConfig(options.features),
|
|
2754
2766
|
paths: mergePathConfig(options.paths)
|
|
2755
2767
|
};
|
|
@@ -2780,6 +2792,7 @@ const configureArkormRuntime = (client, options = {}) => {
|
|
|
2780
2792
|
const resetArkormRuntimeForTests = () => {
|
|
2781
2793
|
Object.assign(userConfig, {
|
|
2782
2794
|
...baseConfig,
|
|
2795
|
+
naming: { ...baseConfig.naming ?? {} },
|
|
2783
2796
|
features: { ...baseConfig.features ?? {} },
|
|
2784
2797
|
paths: { ...baseConfig.paths ?? {} }
|
|
2785
2798
|
});
|
|
@@ -2822,6 +2835,7 @@ const resolveAndApplyConfig = (imported) => {
|
|
|
2822
2835
|
adapter: config.adapter,
|
|
2823
2836
|
boot: config.boot,
|
|
2824
2837
|
debug: config.debug,
|
|
2838
|
+
naming: config.naming,
|
|
2825
2839
|
features: config.features,
|
|
2826
2840
|
pagination: config.pagination,
|
|
2827
2841
|
paths: config.paths,
|
|
@@ -10539,12 +10553,18 @@ var Model = class Model {
|
|
|
10539
10553
|
this.adapter = adapter;
|
|
10540
10554
|
}
|
|
10541
10555
|
static getTable() {
|
|
10556
|
+
ensureArkormConfigLoading();
|
|
10542
10557
|
if (this.table) return this.table;
|
|
10543
10558
|
if (this.delegate) {
|
|
10544
10559
|
Model.emitDeprecationWarning("ARKORM_MODEL_DELEGATE_DEPRECATED", "Model.delegate is deprecated and will be removed in Arkorm 3.0. Use Model.table instead.");
|
|
10545
10560
|
return this.delegate;
|
|
10546
10561
|
}
|
|
10547
|
-
|
|
10562
|
+
const modelTableCase = getUserConfig("naming")?.modelTableCase ?? "snake";
|
|
10563
|
+
const modelName = str(this.name);
|
|
10564
|
+
if (modelTableCase === "camel") return `${modelName.camel().plural()}`;
|
|
10565
|
+
if (modelTableCase === "kebab") return `${modelName.kebab().plural()}`;
|
|
10566
|
+
if (modelTableCase === "studly") return `${modelName.studly().plural()}`;
|
|
10567
|
+
return `${modelName.snake().plural()}`;
|
|
10548
10568
|
}
|
|
10549
10569
|
static getPrimaryKey() {
|
|
10550
10570
|
return this.primaryKey || "id";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "arkormx",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.5",
|
|
4
4
|
"description": "Modern TypeScript-first ORM for Node.js.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"orm",
|
|
@@ -58,6 +58,7 @@
|
|
|
58
58
|
"prisma": "^7.6.0",
|
|
59
59
|
"tsdown": "^0.20.3",
|
|
60
60
|
"tsx": "^4.21.0",
|
|
61
|
+
"@prisma/client": "^7.8",
|
|
61
62
|
"typescript": "^5.3.3",
|
|
62
63
|
"typescript-eslint": "^8.56.0",
|
|
63
64
|
"vite-tsconfig-paths": "^6.1.1",
|
|
@@ -78,9 +79,6 @@
|
|
|
78
79
|
"kysely": "^0.28.15",
|
|
79
80
|
"pg": "^8.19.0"
|
|
80
81
|
},
|
|
81
|
-
"peerDependencies": {
|
|
82
|
-
"@prisma/client": "^7.8"
|
|
83
|
-
},
|
|
84
82
|
"scripts": {
|
|
85
83
|
"cmd": "tsx src/cli/index.ts",
|
|
86
84
|
"lint": "eslint",
|