@alpha.consultings/eloquent-orm.js 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +73 -0
- package/README.md +215 -0
- package/dist/Model.d.ts +2 -0
- package/dist/Model.d.ts.map +1 -0
- package/dist/Model.js +7 -0
- package/dist/Model.js.map +1 -0
- package/dist/cli/commands/cacheClear.d.ts +2 -0
- package/dist/cli/commands/cacheClear.d.ts.map +1 -0
- package/dist/cli/commands/cacheClear.js +69 -0
- package/dist/cli/commands/cacheClear.js.map +1 -0
- package/dist/cli/commands/cacheStats.d.ts +2 -0
- package/dist/cli/commands/cacheStats.d.ts.map +1 -0
- package/dist/cli/commands/cacheStats.js +55 -0
- package/dist/cli/commands/cacheStats.js.map +1 -0
- package/dist/cli/commands/dbSeed.d.ts +16 -0
- package/dist/cli/commands/dbSeed.d.ts.map +1 -0
- package/dist/cli/commands/dbSeed.js +201 -0
- package/dist/cli/commands/dbSeed.js.map +1 -0
- package/dist/cli/commands/dbSeedBootstrapPrecheck.d.ts +3 -0
- package/dist/cli/commands/dbSeedBootstrapPrecheck.d.ts.map +1 -0
- package/dist/cli/commands/dbSeedBootstrapPrecheck.js +8 -0
- package/dist/cli/commands/dbSeedBootstrapPrecheck.js.map +1 -0
- package/dist/cli/commands/dbSeedFresh.d.ts +14 -0
- package/dist/cli/commands/dbSeedFresh.d.ts.map +1 -0
- package/dist/cli/commands/dbSeedFresh.js +81 -0
- package/dist/cli/commands/dbSeedFresh.js.map +1 -0
- package/dist/cli/commands/demoScenario.d.ts +9 -0
- package/dist/cli/commands/demoScenario.d.ts.map +1 -0
- package/dist/cli/commands/demoScenario.js +185 -0
- package/dist/cli/commands/demoScenario.js.map +1 -0
- package/dist/cli/commands/factoryStatus.d.ts +9 -0
- package/dist/cli/commands/factoryStatus.d.ts.map +1 -0
- package/dist/cli/commands/factoryStatus.js +103 -0
- package/dist/cli/commands/factoryStatus.js.map +1 -0
- package/dist/cli/commands/makeController.d.ts +11 -0
- package/dist/cli/commands/makeController.d.ts.map +1 -0
- package/dist/cli/commands/makeController.js +61 -0
- package/dist/cli/commands/makeController.js.map +1 -0
- package/dist/cli/commands/makeFactory.d.ts +14 -0
- package/dist/cli/commands/makeFactory.d.ts.map +1 -0
- package/dist/cli/commands/makeFactory.js +183 -0
- package/dist/cli/commands/makeFactory.js.map +1 -0
- package/dist/cli/commands/makeMigration.d.ts +18 -0
- package/dist/cli/commands/makeMigration.d.ts.map +1 -0
- package/dist/cli/commands/makeMigration.js +496 -0
- package/dist/cli/commands/makeMigration.js.map +1 -0
- package/dist/cli/commands/makeModel.d.ts +20 -0
- package/dist/cli/commands/makeModel.d.ts.map +1 -0
- package/dist/cli/commands/makeModel.js +360 -0
- package/dist/cli/commands/makeModel.js.map +1 -0
- package/dist/cli/commands/makeRegistry.d.ts +7 -0
- package/dist/cli/commands/makeRegistry.d.ts.map +1 -0
- package/dist/cli/commands/makeRegistry.js +88 -0
- package/dist/cli/commands/makeRegistry.js.map +1 -0
- package/dist/cli/commands/makeScenario.d.ts +12 -0
- package/dist/cli/commands/makeScenario.d.ts.map +1 -0
- package/dist/cli/commands/makeScenario.js +639 -0
- package/dist/cli/commands/makeScenario.js.map +1 -0
- package/dist/cli/commands/makeSeed.d.ts +11 -0
- package/dist/cli/commands/makeSeed.d.ts.map +1 -0
- package/dist/cli/commands/makeSeed.js +47 -0
- package/dist/cli/commands/makeSeed.js.map +1 -0
- package/dist/cli/commands/makeService.d.ts +5 -0
- package/dist/cli/commands/makeService.d.ts.map +1 -0
- package/dist/cli/commands/makeService.js +31 -0
- package/dist/cli/commands/makeService.js.map +1 -0
- package/dist/cli/commands/migrateFresh.d.ts +14 -0
- package/dist/cli/commands/migrateFresh.d.ts.map +1 -0
- package/dist/cli/commands/migrateFresh.js +150 -0
- package/dist/cli/commands/migrateFresh.js.map +1 -0
- package/dist/cli/commands/migrateReset.d.ts +12 -0
- package/dist/cli/commands/migrateReset.d.ts.map +1 -0
- package/dist/cli/commands/migrateReset.js +28 -0
- package/dist/cli/commands/migrateReset.js.map +1 -0
- package/dist/cli/commands/migrateRollback.d.ts +10 -0
- package/dist/cli/commands/migrateRollback.d.ts.map +1 -0
- package/dist/cli/commands/migrateRollback.js +303 -0
- package/dist/cli/commands/migrateRollback.js.map +1 -0
- package/dist/cli/commands/migrateRun.d.ts +10 -0
- package/dist/cli/commands/migrateRun.d.ts.map +1 -0
- package/dist/cli/commands/migrateRun.js +301 -0
- package/dist/cli/commands/migrateRun.js.map +1 -0
- package/dist/cli/commands/migrateStatus.d.ts +8 -0
- package/dist/cli/commands/migrateStatus.d.ts.map +1 -0
- package/dist/cli/commands/migrateStatus.js +118 -0
- package/dist/cli/commands/migrateStatus.js.map +1 -0
- package/dist/cli/eloquent.d.ts +18 -0
- package/dist/cli/eloquent.d.ts.map +1 -0
- package/dist/cli/eloquent.js +187 -0
- package/dist/cli/eloquent.js.map +1 -0
- package/dist/cli/utils/ArtifactCompatibility.d.ts +10 -0
- package/dist/cli/utils/ArtifactCompatibility.d.ts.map +1 -0
- package/dist/cli/utils/ArtifactCompatibility.js +60 -0
- package/dist/cli/utils/ArtifactCompatibility.js.map +1 -0
- package/dist/cli/utils/ArtifactRoutingReport.d.ts +10 -0
- package/dist/cli/utils/ArtifactRoutingReport.d.ts.map +1 -0
- package/dist/cli/utils/ArtifactRoutingReport.js +25 -0
- package/dist/cli/utils/ArtifactRoutingReport.js.map +1 -0
- package/dist/cli/utils/ArtifactStorage.d.ts +10 -0
- package/dist/cli/utils/ArtifactStorage.d.ts.map +1 -0
- package/dist/cli/utils/ArtifactStorage.js +193 -0
- package/dist/cli/utils/ArtifactStorage.js.map +1 -0
- package/dist/cli/utils/AuditTrail.d.ts +25 -0
- package/dist/cli/utils/AuditTrail.d.ts.map +1 -0
- package/dist/cli/utils/AuditTrail.js +74 -0
- package/dist/cli/utils/AuditTrail.js.map +1 -0
- package/dist/cli/utils/CliActionRuntime.d.ts +5 -0
- package/dist/cli/utils/CliActionRuntime.d.ts.map +1 -0
- package/dist/cli/utils/CliActionRuntime.js +22 -0
- package/dist/cli/utils/CliActionRuntime.js.map +1 -0
- package/dist/cli/utils/CliBootstrapSupport.d.ts +13 -0
- package/dist/cli/utils/CliBootstrapSupport.d.ts.map +1 -0
- package/dist/cli/utils/CliBootstrapSupport.js +55 -0
- package/dist/cli/utils/CliBootstrapSupport.js.map +1 -0
- package/dist/cli/utils/CliCommandCatalog.d.ts +6 -0
- package/dist/cli/utils/CliCommandCatalog.d.ts.map +1 -0
- package/dist/cli/utils/CliCommandCatalog.js +78 -0
- package/dist/cli/utils/CliCommandCatalog.js.map +1 -0
- package/dist/cli/utils/CliCommandTargets.d.ts +8 -0
- package/dist/cli/utils/CliCommandTargets.d.ts.map +1 -0
- package/dist/cli/utils/CliCommandTargets.js +19 -0
- package/dist/cli/utils/CliCommandTargets.js.map +1 -0
- package/dist/cli/utils/CliMakeArtifactCommandRegistration.d.ts +3 -0
- package/dist/cli/utils/CliMakeArtifactCommandRegistration.d.ts.map +1 -0
- package/dist/cli/utils/CliMakeArtifactCommandRegistration.js +94 -0
- package/dist/cli/utils/CliMakeArtifactCommandRegistration.js.map +1 -0
- package/dist/cli/utils/CliMigrationCommandRegistration.d.ts +3 -0
- package/dist/cli/utils/CliMigrationCommandRegistration.d.ts.map +1 -0
- package/dist/cli/utils/CliMigrationCommandRegistration.js +195 -0
- package/dist/cli/utils/CliMigrationCommandRegistration.js.map +1 -0
- package/dist/cli/utils/CliPresentation.d.ts +2 -0
- package/dist/cli/utils/CliPresentation.d.ts.map +1 -0
- package/dist/cli/utils/CliPresentation.js +13 -0
- package/dist/cli/utils/CliPresentation.js.map +1 -0
- package/dist/cli/utils/CliProductionGuards.d.ts +11 -0
- package/dist/cli/utils/CliProductionGuards.d.ts.map +1 -0
- package/dist/cli/utils/CliProductionGuards.js +34 -0
- package/dist/cli/utils/CliProductionGuards.js.map +1 -0
- package/dist/cli/utils/CliScaffoldCommandRegistration.d.ts +3 -0
- package/dist/cli/utils/CliScaffoldCommandRegistration.d.ts.map +1 -0
- package/dist/cli/utils/CliScaffoldCommandRegistration.js +89 -0
- package/dist/cli/utils/CliScaffoldCommandRegistration.js.map +1 -0
- package/dist/cli/utils/CliSeedScenarioCommandRegistration.d.ts +3 -0
- package/dist/cli/utils/CliSeedScenarioCommandRegistration.d.ts.map +1 -0
- package/dist/cli/utils/CliSeedScenarioCommandRegistration.js +123 -0
- package/dist/cli/utils/CliSeedScenarioCommandRegistration.js.map +1 -0
- package/dist/cli/utils/CliSupportCommandRegistration.d.ts +3 -0
- package/dist/cli/utils/CliSupportCommandRegistration.d.ts.map +1 -0
- package/dist/cli/utils/CliSupportCommandRegistration.js +44 -0
- package/dist/cli/utils/CliSupportCommandRegistration.js.map +1 -0
- package/dist/cli/utils/ConsoleSilencer.d.ts +6 -0
- package/dist/cli/utils/ConsoleSilencer.d.ts.map +1 -0
- package/dist/cli/utils/ConsoleSilencer.js +25 -0
- package/dist/cli/utils/ConsoleSilencer.js.map +1 -0
- package/dist/cli/utils/ImportResolver.d.ts +16 -0
- package/dist/cli/utils/ImportResolver.d.ts.map +1 -0
- package/dist/cli/utils/ImportResolver.js +57 -0
- package/dist/cli/utils/ImportResolver.js.map +1 -0
- package/dist/cli/utils/ModelIntrospector.d.ts +33 -0
- package/dist/cli/utils/ModelIntrospector.d.ts.map +1 -0
- package/dist/cli/utils/ModelIntrospector.js +76 -0
- package/dist/cli/utils/ModelIntrospector.js.map +1 -0
- package/dist/cli/utils/PathMap.d.ts +58 -0
- package/dist/cli/utils/PathMap.d.ts.map +1 -0
- package/dist/cli/utils/PathMap.js +132 -0
- package/dist/cli/utils/PathMap.js.map +1 -0
- package/dist/cli/utils/ProductionSafety.d.ts +25 -0
- package/dist/cli/utils/ProductionSafety.d.ts.map +1 -0
- package/dist/cli/utils/ProductionSafety.js +61 -0
- package/dist/cli/utils/ProductionSafety.js.map +1 -0
- package/dist/cli/utils/ScaffoldGeneratorSupport.d.ts +16 -0
- package/dist/cli/utils/ScaffoldGeneratorSupport.d.ts.map +1 -0
- package/dist/cli/utils/ScaffoldGeneratorSupport.js +66 -0
- package/dist/cli/utils/ScaffoldGeneratorSupport.js.map +1 -0
- package/dist/cli/utils/ScenarioMorphAliasRouting.d.ts +14 -0
- package/dist/cli/utils/ScenarioMorphAliasRouting.d.ts.map +1 -0
- package/dist/cli/utils/ScenarioMorphAliasRouting.js +62 -0
- package/dist/cli/utils/ScenarioMorphAliasRouting.js.map +1 -0
- package/dist/cli/utils/SeedBootstrapPrecheck.d.ts +20 -0
- package/dist/cli/utils/SeedBootstrapPrecheck.d.ts.map +1 -0
- package/dist/cli/utils/SeedBootstrapPrecheck.js +133 -0
- package/dist/cli/utils/SeedBootstrapPrecheck.js.map +1 -0
- package/dist/cli/utils/StructuredLogger.d.ts +11 -0
- package/dist/cli/utils/StructuredLogger.d.ts.map +1 -0
- package/dist/cli/utils/StructuredLogger.js +53 -0
- package/dist/cli/utils/StructuredLogger.js.map +1 -0
- package/dist/cli/utils/TemplateEngine.d.ts +30 -0
- package/dist/cli/utils/TemplateEngine.d.ts.map +1 -0
- package/dist/cli/utils/TemplateEngine.js +165 -0
- package/dist/cli/utils/TemplateEngine.js.map +1 -0
- package/dist/cli/utils/factories/Factory.d.ts +61 -0
- package/dist/cli/utils/factories/Factory.d.ts.map +1 -0
- package/dist/cli/utils/factories/Factory.js +140 -0
- package/dist/cli/utils/factories/Factory.js.map +1 -0
- package/dist/cli/utils/factories/FactoryDisplay.d.ts +6 -0
- package/dist/cli/utils/factories/FactoryDisplay.d.ts.map +1 -0
- package/dist/cli/utils/factories/FactoryDisplay.js +26 -0
- package/dist/cli/utils/factories/FactoryDisplay.js.map +1 -0
- package/dist/cli/utils/factories/FactoryGraph.d.ts +6 -0
- package/dist/cli/utils/factories/FactoryGraph.d.ts.map +1 -0
- package/dist/cli/utils/factories/FactoryGraph.js +72 -0
- package/dist/cli/utils/factories/FactoryGraph.js.map +1 -0
- package/dist/cli/utils/factories/FactoryLoader.d.ts +16 -0
- package/dist/cli/utils/factories/FactoryLoader.d.ts.map +1 -0
- package/dist/cli/utils/factories/FactoryLoader.js +35 -0
- package/dist/cli/utils/factories/FactoryLoader.js.map +1 -0
- package/dist/cli/utils/factories/FactoryRegistry.d.ts +16 -0
- package/dist/cli/utils/factories/FactoryRegistry.d.ts.map +1 -0
- package/dist/cli/utils/factories/FactoryRegistry.js +87 -0
- package/dist/cli/utils/factories/FactoryRegistry.js.map +1 -0
- package/dist/cli/utils/fileWriter.d.ts +7 -0
- package/dist/cli/utils/fileWriter.d.ts.map +1 -0
- package/dist/cli/utils/fileWriter.js +61 -0
- package/dist/cli/utils/fileWriter.js.map +1 -0
- package/dist/cli/utils/migrations/MigrationLockStrategy.d.ts +21 -0
- package/dist/cli/utils/migrations/MigrationLockStrategy.d.ts.map +1 -0
- package/dist/cli/utils/migrations/MigrationLockStrategy.js +129 -0
- package/dist/cli/utils/migrations/MigrationLockStrategy.js.map +1 -0
- package/dist/cli/utils/migrations/MigrationTracker.d.ts +25 -0
- package/dist/cli/utils/migrations/MigrationTracker.d.ts.map +1 -0
- package/dist/cli/utils/migrations/MigrationTracker.js +279 -0
- package/dist/cli/utils/migrations/MigrationTracker.js.map +1 -0
- package/dist/cli/utils/migrations/MongoMigrationTracker.d.ts +18 -0
- package/dist/cli/utils/migrations/MongoMigrationTracker.d.ts.map +1 -0
- package/dist/cli/utils/migrations/MongoMigrationTracker.js +276 -0
- package/dist/cli/utils/migrations/MongoMigrationTracker.js.map +1 -0
- package/dist/cli/utils/resolveConnectionFlags.d.ts +14 -0
- package/dist/cli/utils/resolveConnectionFlags.d.ts.map +1 -0
- package/dist/cli/utils/resolveConnectionFlags.js +42 -0
- package/dist/cli/utils/resolveConnectionFlags.js.map +1 -0
- package/dist/cli/utils/resolveSqlConnectionFlags.d.ts +9 -0
- package/dist/cli/utils/resolveSqlConnectionFlags.d.ts.map +1 -0
- package/dist/cli/utils/resolveSqlConnectionFlags.js +23 -0
- package/dist/cli/utils/resolveSqlConnectionFlags.js.map +1 -0
- package/dist/cli/utils/typescript/BaseCommand.d.ts +15 -0
- package/dist/cli/utils/typescript/BaseCommand.d.ts.map +1 -0
- package/dist/cli/utils/typescript/BaseCommand.js +36 -0
- package/dist/cli/utils/typescript/BaseCommand.js.map +1 -0
- package/dist/cli/utils/typescript/RuntimeDetector.d.ts +16 -0
- package/dist/cli/utils/typescript/RuntimeDetector.d.ts.map +1 -0
- package/dist/cli/utils/typescript/RuntimeDetector.js +45 -0
- package/dist/cli/utils/typescript/RuntimeDetector.js.map +1 -0
- package/dist/cli/utils/typescript/TypeScriptCompiler.d.ts +25 -0
- package/dist/cli/utils/typescript/TypeScriptCompiler.d.ts.map +1 -0
- package/dist/cli/utils/typescript/TypeScriptCompiler.js +109 -0
- package/dist/cli/utils/typescript/TypeScriptCompiler.js.map +1 -0
- package/dist/cli/utils/typescript/tsRuntime.d.ts +12 -0
- package/dist/cli/utils/typescript/tsRuntime.d.ts.map +1 -0
- package/dist/cli/utils/typescript/tsRuntime.js +189 -0
- package/dist/cli/utils/typescript/tsRuntime.js.map +1 -0
- package/dist/config/database.d.ts +58 -0
- package/dist/config/database.d.ts.map +1 -0
- package/dist/config/database.js +106 -0
- package/dist/config/database.js.map +1 -0
- package/dist/config/dbRoleEnv.d.ts +31 -0
- package/dist/config/dbRoleEnv.d.ts.map +1 -0
- package/dist/config/dbRoleEnv.js +171 -0
- package/dist/config/dbRoleEnv.js.map +1 -0
- package/dist/core/cache/CacheAnalytics.d.ts +47 -0
- package/dist/core/cache/CacheAnalytics.d.ts.map +1 -0
- package/dist/core/cache/CacheAnalytics.js +113 -0
- package/dist/core/cache/CacheAnalytics.js.map +1 -0
- package/dist/core/cache/CacheDriver.d.ts +19 -0
- package/dist/core/cache/CacheDriver.d.ts.map +1 -0
- package/dist/core/cache/CacheDriver.js +8 -0
- package/dist/core/cache/CacheDriver.js.map +1 -0
- package/dist/core/cache/CacheFallbackManager.d.ts +35 -0
- package/dist/core/cache/CacheFallbackManager.d.ts.map +1 -0
- package/dist/core/cache/CacheFallbackManager.js +118 -0
- package/dist/core/cache/CacheFallbackManager.js.map +1 -0
- package/dist/core/cache/CacheManager.d.ts +11 -0
- package/dist/core/cache/CacheManager.d.ts.map +1 -0
- package/dist/core/cache/CacheManager.js +27 -0
- package/dist/core/cache/CacheManager.js.map +1 -0
- package/dist/core/cache/CacheRegistry.d.ts +49 -0
- package/dist/core/cache/CacheRegistry.d.ts.map +1 -0
- package/dist/core/cache/CacheRegistry.js +117 -0
- package/dist/core/cache/CacheRegistry.js.map +1 -0
- package/dist/core/cache/drivers/FileCacheDriver.d.ts +11 -0
- package/dist/core/cache/drivers/FileCacheDriver.d.ts.map +1 -0
- package/dist/core/cache/drivers/FileCacheDriver.js +54 -0
- package/dist/core/cache/drivers/FileCacheDriver.js.map +1 -0
- package/dist/core/cache/drivers/MemcachedCacheDriver.d.ts +15 -0
- package/dist/core/cache/drivers/MemcachedCacheDriver.d.ts.map +1 -0
- package/dist/core/cache/drivers/MemcachedCacheDriver.js +60 -0
- package/dist/core/cache/drivers/MemcachedCacheDriver.js.map +1 -0
- package/dist/core/cache/drivers/MemoryCacheDriver.d.ts +9 -0
- package/dist/core/cache/drivers/MemoryCacheDriver.d.ts.map +1 -0
- package/dist/core/cache/drivers/MemoryCacheDriver.js +33 -0
- package/dist/core/cache/drivers/MemoryCacheDriver.js.map +1 -0
- package/dist/core/cache/setupCache.d.ts +2 -0
- package/dist/core/cache/setupCache.d.ts.map +1 -0
- package/dist/core/cache/setupCache.js +38 -0
- package/dist/core/cache/setupCache.js.map +1 -0
- package/dist/core/connection/BetterSqliteConnection.d.ts +23 -0
- package/dist/core/connection/BetterSqliteConnection.d.ts.map +1 -0
- package/dist/core/connection/BetterSqliteConnection.js +33 -0
- package/dist/core/connection/BetterSqliteConnection.js.map +1 -0
- package/dist/core/connection/ConnectionFactory.d.ts +18 -0
- package/dist/core/connection/ConnectionFactory.d.ts.map +1 -0
- package/dist/core/connection/ConnectionFactory.js +111 -0
- package/dist/core/connection/ConnectionFactory.js.map +1 -0
- package/dist/core/connection/DatabaseConnection.d.ts +49 -0
- package/dist/core/connection/DatabaseConnection.d.ts.map +1 -0
- package/dist/core/connection/DatabaseConnection.js +120 -0
- package/dist/core/connection/DatabaseConnection.js.map +1 -0
- package/dist/core/connection/DriverAdapter.d.ts +23 -0
- package/dist/core/connection/DriverAdapter.d.ts.map +1 -0
- package/dist/core/connection/DriverAdapter.js +145 -0
- package/dist/core/connection/DriverAdapter.js.map +1 -0
- package/dist/core/connection/resolveConnectionName.d.ts +17 -0
- package/dist/core/connection/resolveConnectionName.d.ts.map +1 -0
- package/dist/core/connection/resolveConnectionName.js +47 -0
- package/dist/core/connection/resolveConnectionName.js.map +1 -0
- package/dist/core/model/BaseModel.d.ts +247 -0
- package/dist/core/model/BaseModel.d.ts.map +1 -0
- package/dist/core/model/BaseModel.js +165 -0
- package/dist/core/model/BaseModel.js.map +1 -0
- package/dist/core/model/BaseModelSafeFinderStatics.d.ts +33 -0
- package/dist/core/model/BaseModelSafeFinderStatics.d.ts.map +1 -0
- package/dist/core/model/BaseModelSafeFinderStatics.js +87 -0
- package/dist/core/model/BaseModelSafeFinderStatics.js.map +1 -0
- package/dist/core/model/CoreModel.d.ts +134 -0
- package/dist/core/model/CoreModel.d.ts.map +1 -0
- package/dist/core/model/CoreModel.js +541 -0
- package/dist/core/model/CoreModel.js.map +1 -0
- package/dist/core/model/CoreModelPersistenceState.d.ts +36 -0
- package/dist/core/model/CoreModelPersistenceState.d.ts.map +1 -0
- package/dist/core/model/CoreModelPersistenceState.js +141 -0
- package/dist/core/model/CoreModelPersistenceState.js.map +1 -0
- package/dist/core/model/CoreModelSafeFinderSupport.d.ts +5 -0
- package/dist/core/model/CoreModelSafeFinderSupport.d.ts.map +1 -0
- package/dist/core/model/CoreModelSafeFinderSupport.js +15 -0
- package/dist/core/model/CoreModelSafeFinderSupport.js.map +1 -0
- package/dist/core/model/CoreModelValidationEvents.d.ts +24 -0
- package/dist/core/model/CoreModelValidationEvents.d.ts.map +1 -0
- package/dist/core/model/CoreModelValidationEvents.js +45 -0
- package/dist/core/model/CoreModelValidationEvents.js.map +1 -0
- package/dist/core/model/SafeFinder.d.ts +46 -0
- package/dist/core/model/SafeFinder.d.ts.map +1 -0
- package/dist/core/model/SafeFinder.js +223 -0
- package/dist/core/model/SafeFinder.js.map +1 -0
- package/dist/core/orm/Relation.d.ts +47 -0
- package/dist/core/orm/Relation.d.ts.map +1 -0
- package/dist/core/orm/Relation.js +62 -0
- package/dist/core/orm/Relation.js.map +1 -0
- package/dist/core/orm/mixins/CastsMixin.d.ts +18 -0
- package/dist/core/orm/mixins/CastsMixin.d.ts.map +1 -0
- package/dist/core/orm/mixins/CastsMixin.js +125 -0
- package/dist/core/orm/mixins/CastsMixin.js.map +1 -0
- package/dist/core/orm/mixins/EagerLoadingMixin.d.ts +19 -0
- package/dist/core/orm/mixins/EagerLoadingMixin.d.ts.map +1 -0
- package/dist/core/orm/mixins/EagerLoadingMixin.js +137 -0
- package/dist/core/orm/mixins/EagerLoadingMixin.js.map +1 -0
- package/dist/core/orm/mixins/HooksMixin.d.ts +16 -0
- package/dist/core/orm/mixins/HooksMixin.d.ts.map +1 -0
- package/dist/core/orm/mixins/HooksMixin.js +95 -0
- package/dist/core/orm/mixins/HooksMixin.js.map +1 -0
- package/dist/core/orm/mixins/MorphRegistry.d.ts +47 -0
- package/dist/core/orm/mixins/MorphRegistry.d.ts.map +1 -0
- package/dist/core/orm/mixins/MorphRegistry.js +67 -0
- package/dist/core/orm/mixins/MorphRegistry.js.map +1 -0
- package/dist/core/orm/mixins/MorphableMixin.d.ts +29 -0
- package/dist/core/orm/mixins/MorphableMixin.d.ts.map +1 -0
- package/dist/core/orm/mixins/MorphableMixin.js +93 -0
- package/dist/core/orm/mixins/MorphableMixin.js.map +1 -0
- package/dist/core/orm/mixins/PivotHelperMixin.d.ts +26 -0
- package/dist/core/orm/mixins/PivotHelperMixin.d.ts.map +1 -0
- package/dist/core/orm/mixins/PivotHelperMixin.js +102 -0
- package/dist/core/orm/mixins/PivotHelperMixin.js.map +1 -0
- package/dist/core/orm/mixins/QueryCacheMixin.d.ts +23 -0
- package/dist/core/orm/mixins/QueryCacheMixin.d.ts.map +1 -0
- package/dist/core/orm/mixins/QueryCacheMixin.js +172 -0
- package/dist/core/orm/mixins/QueryCacheMixin.js.map +1 -0
- package/dist/core/orm/mixins/ScopeMixin.d.ts +20 -0
- package/dist/core/orm/mixins/ScopeMixin.d.ts.map +1 -0
- package/dist/core/orm/mixins/ScopeMixin.js +72 -0
- package/dist/core/orm/mixins/ScopeMixin.js.map +1 -0
- package/dist/core/orm/mixins/SerializeMixin.d.ts +44 -0
- package/dist/core/orm/mixins/SerializeMixin.d.ts.map +1 -0
- package/dist/core/orm/mixins/SerializeMixin.js +80 -0
- package/dist/core/orm/mixins/SerializeMixin.js.map +1 -0
- package/dist/core/orm/mixins/SoftDeletesMixin.d.ts +22 -0
- package/dist/core/orm/mixins/SoftDeletesMixin.d.ts.map +1 -0
- package/dist/core/orm/mixins/SoftDeletesMixin.js +146 -0
- package/dist/core/orm/mixins/SoftDeletesMixin.js.map +1 -0
- package/dist/core/orm/mixins/utils/BaseMethodResolver.d.ts +8 -0
- package/dist/core/orm/mixins/utils/BaseMethodResolver.d.ts.map +1 -0
- package/dist/core/orm/mixins/utils/BaseMethodResolver.js +26 -0
- package/dist/core/orm/mixins/utils/BaseMethodResolver.js.map +1 -0
- package/dist/core/orm/mixins/utils/HookStore.d.ts +26 -0
- package/dist/core/orm/mixins/utils/HookStore.d.ts.map +1 -0
- package/dist/core/orm/mixins/utils/HookStore.js +78 -0
- package/dist/core/orm/mixins/utils/HookStore.js.map +1 -0
- package/dist/core/orm/mixins/utils/ModelRegistry.d.ts +33 -0
- package/dist/core/orm/mixins/utils/ModelRegistry.d.ts.map +1 -0
- package/dist/core/orm/mixins/utils/ModelRegistry.js +87 -0
- package/dist/core/orm/mixins/utils/ModelRegistry.js.map +1 -0
- package/dist/core/orm/mixins/utils/modelRegistration.d.ts +9 -0
- package/dist/core/orm/mixins/utils/modelRegistration.d.ts.map +1 -0
- package/dist/core/orm/mixins/utils/modelRegistration.js +26 -0
- package/dist/core/orm/mixins/utils/modelRegistration.js.map +1 -0
- package/dist/core/orm/relations/BelongsTo.d.ts +6 -0
- package/dist/core/orm/relations/BelongsTo.d.ts.map +1 -0
- package/dist/core/orm/relations/BelongsTo.js +70 -0
- package/dist/core/orm/relations/BelongsTo.js.map +1 -0
- package/dist/core/orm/relations/BelongsToMany.d.ts +14 -0
- package/dist/core/orm/relations/BelongsToMany.d.ts.map +1 -0
- package/dist/core/orm/relations/BelongsToMany.js +245 -0
- package/dist/core/orm/relations/BelongsToMany.js.map +1 -0
- package/dist/core/orm/relations/HasMany.d.ts +6 -0
- package/dist/core/orm/relations/HasMany.d.ts.map +1 -0
- package/dist/core/orm/relations/HasMany.js +75 -0
- package/dist/core/orm/relations/HasMany.js.map +1 -0
- package/dist/core/orm/relations/HasOne.d.ts +6 -0
- package/dist/core/orm/relations/HasOne.d.ts.map +1 -0
- package/dist/core/orm/relations/HasOne.js +71 -0
- package/dist/core/orm/relations/HasOne.js.map +1 -0
- package/dist/core/orm/relations/MorphMany.d.ts +9 -0
- package/dist/core/orm/relations/MorphMany.d.ts.map +1 -0
- package/dist/core/orm/relations/MorphMany.js +107 -0
- package/dist/core/orm/relations/MorphMany.js.map +1 -0
- package/dist/core/orm/relations/MorphOne.d.ts +9 -0
- package/dist/core/orm/relations/MorphOne.d.ts.map +1 -0
- package/dist/core/orm/relations/MorphOne.js +101 -0
- package/dist/core/orm/relations/MorphOne.js.map +1 -0
- package/dist/core/orm/relations/MorphTo.d.ts +9 -0
- package/dist/core/orm/relations/MorphTo.d.ts.map +1 -0
- package/dist/core/orm/relations/MorphTo.js +85 -0
- package/dist/core/orm/relations/MorphTo.js.map +1 -0
- package/dist/core/schema/SQLDialect.d.ts +22 -0
- package/dist/core/schema/SQLDialect.d.ts.map +1 -0
- package/dist/core/schema/SQLDialect.js +38 -0
- package/dist/core/schema/SQLDialect.js.map +1 -0
- package/dist/core/schema/SchemaBlueprint.d.ts +61 -0
- package/dist/core/schema/SchemaBlueprint.d.ts.map +1 -0
- package/dist/core/schema/SchemaBlueprint.js +62 -0
- package/dist/core/schema/SchemaBlueprint.js.map +1 -0
- package/dist/core/schema/SchemaBuilder.d.ts +29 -0
- package/dist/core/schema/SchemaBuilder.d.ts.map +1 -0
- package/dist/core/schema/SchemaBuilder.js +661 -0
- package/dist/core/schema/SchemaBuilder.js.map +1 -0
- package/dist/core/schema/SchemaValidator.d.ts +23 -0
- package/dist/core/schema/SchemaValidator.d.ts.map +1 -0
- package/dist/core/schema/SchemaValidator.js +75 -0
- package/dist/core/schema/SchemaValidator.js.map +1 -0
- package/dist/core/security/AbstractSecurity.d.ts +24 -0
- package/dist/core/security/AbstractSecurity.d.ts.map +1 -0
- package/dist/core/security/AbstractSecurity.js +58 -0
- package/dist/core/security/AbstractSecurity.js.map +1 -0
- package/dist/core/security/EnvKeySecurity.d.ts +11 -0
- package/dist/core/security/EnvKeySecurity.d.ts.map +1 -0
- package/dist/core/security/EnvKeySecurity.js +46 -0
- package/dist/core/security/EnvKeySecurity.js.map +1 -0
- package/dist/core/security/NoSecurity.d.ts +10 -0
- package/dist/core/security/NoSecurity.d.ts.map +1 -0
- package/dist/core/security/NoSecurity.js +18 -0
- package/dist/core/security/NoSecurity.js.map +1 -0
- package/dist/core/security/SecretRedactor.d.ts +4 -0
- package/dist/core/security/SecretRedactor.d.ts.map +1 -0
- package/dist/core/security/SecretRedactor.js +60 -0
- package/dist/core/security/SecretRedactor.js.map +1 -0
- package/dist/core/security/SecurityContract.d.ts +13 -0
- package/dist/core/security/SecurityContract.d.ts.map +1 -0
- package/dist/core/security/SecurityContract.js +3 -0
- package/dist/core/security/SecurityContract.js.map +1 -0
- package/dist/core/security/SecurityFactory.d.ts +9 -0
- package/dist/core/security/SecurityFactory.d.ts.map +1 -0
- package/dist/core/security/SecurityFactory.js +29 -0
- package/dist/core/security/SecurityFactory.js.map +1 -0
- package/dist/core/security/index.d.ts +6 -0
- package/dist/core/security/index.d.ts.map +1 -0
- package/dist/core/security/index.js +22 -0
- package/dist/core/security/index.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -0
- package/package.json +104 -0
- package/src/cli/templates/controller.tpl +80 -0
- package/src/cli/templates/factory.tpl +14 -0
- package/src/cli/templates/migration.tpl +36 -0
- package/src/cli/templates/model-registry.tpl +16 -0
- package/src/cli/templates/model.tpl +95 -0
- package/src/cli/templates/pivot-factory.tpl +85 -0
- package/src/cli/templates/seed.tpl +20 -0
- package/src/cli/templates/service.tpl +40 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CliSeedScenarioCommandRegistration.js","sourceRoot":"","sources":["../../../src/cli/utils/CliSeedScenarioCommandRegistration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CliSupportCommandRegistration.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/CliSupportCommandRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkDjE"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.registerCliSupportCommands = registerCliSupportCommands;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const cacheClear_1 = require("../commands/cacheClear");
|
|
9
|
+
const cacheStats_1 = require("../commands/cacheStats");
|
|
10
|
+
const factoryStatus_1 = require("../commands/factoryStatus");
|
|
11
|
+
const CliCommandCatalog_1 = require("./CliCommandCatalog");
|
|
12
|
+
function registerCliSupportCommands(program) {
|
|
13
|
+
program
|
|
14
|
+
.command("cache:clear")
|
|
15
|
+
.description("Clear all ORM cache data and registry")
|
|
16
|
+
.action(cacheClear_1.cacheClear);
|
|
17
|
+
program
|
|
18
|
+
.command("cache:stats")
|
|
19
|
+
.description("Show current cache performance analytics")
|
|
20
|
+
.action(cacheStats_1.cacheStats);
|
|
21
|
+
program
|
|
22
|
+
.command("factory:status")
|
|
23
|
+
.option("--test", "Inspect factories from test environment")
|
|
24
|
+
.option("--mysql", "Inspect SQL-backed factories for mysql/sql storage")
|
|
25
|
+
.option("--pg", "Inspect SQL-backed factories for pg/sql storage")
|
|
26
|
+
.option("--sqlite", "Inspect SQL-backed factories for sqlite/sql storage")
|
|
27
|
+
.option("--mongo", "Inspect Mongo-backed factories only")
|
|
28
|
+
.option("--all-connections", "Inspect SQL-backed factories across all SQL connections")
|
|
29
|
+
.option("--details", "Show detailed factory metadata including relations")
|
|
30
|
+
.option("--graph", "Display an ASCII diagram of model relationships")
|
|
31
|
+
.description("Show all registered factories (model + pivot + relations)")
|
|
32
|
+
.action(async (options) => {
|
|
33
|
+
await (0, factoryStatus_1.factoryStatus)(options);
|
|
34
|
+
});
|
|
35
|
+
program
|
|
36
|
+
.command("list")
|
|
37
|
+
.description("Show all available EloquentJS commands")
|
|
38
|
+
.action(() => {
|
|
39
|
+
console.log(chalk_1.default.green("\nAvailable Commands:\n"));
|
|
40
|
+
console.log(chalk_1.default.gray("Tip: use --test to run supported commands in test mode.\n"));
|
|
41
|
+
console.table(CliCommandCatalog_1.CLI_COMMAND_CATALOG);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=CliSupportCommandRegistration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CliSupportCommandRegistration.js","sourceRoot":"","sources":["../../../src/cli/utils/CliSupportCommandRegistration.ts"],"names":[],"mappings":";;;;;AAOA,gEAkDC;AAxDD,kDAA0B;AAC1B,uDAAoD;AACpD,uDAAoD;AACpD,6DAA0D;AAC1D,2DAA0D;AAE1D,SAAgB,0BAA0B,CAAC,OAAgB;IACzD,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,uCAAuC,CAAC;SACpD,MAAM,CAAC,uBAAU,CAAC,CAAC;IAEtB,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,uBAAU,CAAC,CAAC;IAEtB,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,MAAM,CAAC,QAAQ,EAAE,yCAAyC,CAAC;SAC3D,MAAM,CAAC,SAAS,EAAE,oDAAoD,CAAC;SACvE,MAAM,CAAC,MAAM,EAAE,iDAAiD,CAAC;SACjE,MAAM,CAAC,UAAU,EAAE,qDAAqD,CAAC;SACzE,MAAM,CAAC,SAAS,EAAE,qCAAqC,CAAC;SACxD,MAAM,CACL,mBAAmB,EACnB,yDAAyD,CAC1D;SACA,MAAM,CAAC,WAAW,EAAE,oDAAoD,CAAC;SACzE,MAAM,CAAC,SAAS,EAAE,iDAAiD,CAAC;SACpE,WAAW,CAAC,2DAA2D,CAAC;SACxE,MAAM,CACL,KAAK,EAAE,OASN,EAAE,EAAE;QACH,MAAM,IAAA,6BAAa,EAAC,OAAiD,CAAC,CAAC;IACzE,CAAC,CACF,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,wCAAwC,CAAC;SACrD,MAAM,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CACxE,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,uCAAmB,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Temporarily silences non-error console output for command runtime.
|
|
3
|
+
* Returns a restore callback that must always be called (typically in finally).
|
|
4
|
+
*/
|
|
5
|
+
export declare function silenceConsoleOutput(enabled: boolean): () => void;
|
|
6
|
+
//# sourceMappingURL=ConsoleSilencer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsoleSilencer.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/ConsoleSilencer.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,IAAI,CAmBjE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.silenceConsoleOutput = silenceConsoleOutput;
|
|
4
|
+
/**
|
|
5
|
+
* Temporarily silences non-error console output for command runtime.
|
|
6
|
+
* Returns a restore callback that must always be called (typically in finally).
|
|
7
|
+
*/
|
|
8
|
+
function silenceConsoleOutput(enabled) {
|
|
9
|
+
if (!enabled) {
|
|
10
|
+
return () => undefined;
|
|
11
|
+
}
|
|
12
|
+
const originalLog = console.log.bind(console);
|
|
13
|
+
const originalInfo = console.info.bind(console);
|
|
14
|
+
const originalWarn = console.warn.bind(console);
|
|
15
|
+
const noop = () => undefined;
|
|
16
|
+
console.log = noop;
|
|
17
|
+
console.info = noop;
|
|
18
|
+
console.warn = noop;
|
|
19
|
+
return () => {
|
|
20
|
+
console.log = originalLog;
|
|
21
|
+
console.info = originalInfo;
|
|
22
|
+
console.warn = originalWarn;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=ConsoleSilencer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsoleSilencer.js","sourceRoot":"","sources":["../../../src/cli/utils/ConsoleSilencer.ts"],"names":[],"mappings":";;AAMA,oDAmBC;AAvBD;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;IACzB,CAAC;IAED,MAAM,WAAW,GAAqB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChE,MAAM,YAAY,GAAqB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,YAAY,GAAqB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,IAAI,GAAqB,GAAG,EAAE,CAAC,SAAS,CAAC;IAE/C,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IACnB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAEpB,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC;QAC1B,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC;QAC5B,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC;IAC9B,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare class ImportResolver {
|
|
2
|
+
private static readonly PACKAGE_ROOT;
|
|
3
|
+
private static readonly SOURCE_INDEX_PATH;
|
|
4
|
+
private static readonly FALLBACK_PACKAGE_NAME;
|
|
5
|
+
private static readonly PACKAGE_NAME;
|
|
6
|
+
private static readPackageName;
|
|
7
|
+
private static usingInstalledPackage;
|
|
8
|
+
/**
|
|
9
|
+
* Resolves correct relative import path for generated files
|
|
10
|
+
* depending on whether it's in app/ or test/ mode.
|
|
11
|
+
*/
|
|
12
|
+
static coreImportPath(isTest: boolean): string;
|
|
13
|
+
static schemaImportPath(isTest: boolean): string;
|
|
14
|
+
static publicApiImportPath(fromFilePath?: string): string;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=ImportResolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImportResolver.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/ImportResolver.ts"],"names":[],"mappings":"AAGA,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAA6C;IACjF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAIvC;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAwC;IAErF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAoC;IAExE,OAAO,CAAC,MAAM,CAAC,eAAe;IAW9B,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAIpC;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM;IAK9C,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM;IAKhD,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM;CAc1D"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ImportResolver = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
class ImportResolver {
|
|
10
|
+
static readPackageName() {
|
|
11
|
+
const packageJsonPath = path_1.default.join(this.PACKAGE_ROOT, "package.json");
|
|
12
|
+
try {
|
|
13
|
+
const raw = fs_1.default.readFileSync(packageJsonPath, "utf8");
|
|
14
|
+
const pkg = JSON.parse(raw);
|
|
15
|
+
return pkg.name?.trim() || this.FALLBACK_PACKAGE_NAME;
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return this.FALLBACK_PACKAGE_NAME;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
static usingInstalledPackage() {
|
|
22
|
+
return path_1.default.resolve(process.cwd()) !== this.PACKAGE_ROOT;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Resolves correct relative import path for generated files
|
|
26
|
+
* depending on whether it's in app/ or test/ mode.
|
|
27
|
+
*/
|
|
28
|
+
static coreImportPath(isTest) {
|
|
29
|
+
if (this.usingInstalledPackage())
|
|
30
|
+
return this.PACKAGE_NAME;
|
|
31
|
+
return isTest ? "../../../core/model/BaseModel" : "../../core/model/BaseModel";
|
|
32
|
+
}
|
|
33
|
+
static schemaImportPath(isTest) {
|
|
34
|
+
if (this.usingInstalledPackage())
|
|
35
|
+
return this.PACKAGE_NAME;
|
|
36
|
+
return isTest ? "../../../core/schema/SchemaBlueprint" : "../../core/schema/SchemaBlueprint";
|
|
37
|
+
}
|
|
38
|
+
static publicApiImportPath(fromFilePath) {
|
|
39
|
+
if (this.usingInstalledPackage())
|
|
40
|
+
return this.PACKAGE_NAME;
|
|
41
|
+
if (!fromFilePath)
|
|
42
|
+
return "../index";
|
|
43
|
+
const relativePath = path_1.default
|
|
44
|
+
.relative(path_1.default.dirname(path_1.default.resolve(fromFilePath)), this.SOURCE_INDEX_PATH)
|
|
45
|
+
.replace(/\\/g, "/");
|
|
46
|
+
if (relativePath.startsWith(".")) {
|
|
47
|
+
return relativePath;
|
|
48
|
+
}
|
|
49
|
+
return `./${relativePath}`;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.ImportResolver = ImportResolver;
|
|
53
|
+
ImportResolver.PACKAGE_ROOT = path_1.default.resolve(__dirname, "..", "..", "..");
|
|
54
|
+
ImportResolver.SOURCE_INDEX_PATH = path_1.default.join(ImportResolver.PACKAGE_ROOT, "src", "index");
|
|
55
|
+
ImportResolver.FALLBACK_PACKAGE_NAME = "@alpha.consultings/eloquent-orm.js";
|
|
56
|
+
ImportResolver.PACKAGE_NAME = ImportResolver.readPackageName();
|
|
57
|
+
//# sourceMappingURL=ImportResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImportResolver.js","sourceRoot":"","sources":["../../../src/cli/utils/ImportResolver.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,MAAa,cAAc;IAYjB,MAAM,CAAC,eAAe;QAC5B,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QACrE,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,CAAC;YACjD,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,qBAAqB,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,qBAAqB,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,qBAAqB;QAClC,OAAO,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,MAAe;QACnC,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3D,OAAO,MAAM,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,4BAA4B,CAAC;IACjF,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAe;QACrC,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3D,OAAO,MAAM,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,mCAAmC,CAAC;IAC/F,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,YAAqB;QAC9C,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3D,IAAI,CAAC,YAAY;YAAE,OAAO,UAAU,CAAC;QAErC,MAAM,YAAY,GAAG,cAAI;aACtB,QAAQ,CAAC,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;aAC1E,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEvB,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,OAAO,KAAK,YAAY,EAAE,CAAC;IAC7B,CAAC;;AAtDH,wCAuDC;AAtDyB,2BAAY,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACzD,gCAAiB,GAAG,cAAI,CAAC,IAAI,CACnD,cAAc,CAAC,YAAY,EAC3B,KAAK,EACL,OAAO,CACR,CAAC;AAEsB,oCAAqB,GAAG,oCAAoC,CAAC;AAE7D,2BAAY,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { RelationType } from "../../core/schema/SchemaBlueprint";
|
|
2
|
+
export interface IntrospectedField {
|
|
3
|
+
name: string;
|
|
4
|
+
type: string;
|
|
5
|
+
}
|
|
6
|
+
export interface IntrospectedRelation {
|
|
7
|
+
name: string;
|
|
8
|
+
type: RelationType;
|
|
9
|
+
target: string;
|
|
10
|
+
pivotTable?: string;
|
|
11
|
+
morphName?: string;
|
|
12
|
+
isPivot?: boolean;
|
|
13
|
+
isMorph?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface ModelFeatures {
|
|
16
|
+
hasTimestamps: boolean;
|
|
17
|
+
hasSoftDeletes: boolean;
|
|
18
|
+
isMorphable: boolean;
|
|
19
|
+
mixins?: string[];
|
|
20
|
+
}
|
|
21
|
+
export type AbstractConstructor<T = object> = abstract new (...args: unknown[]) => T;
|
|
22
|
+
export declare class ModelIntrospector {
|
|
23
|
+
static analyze(modelName: string, options?: {
|
|
24
|
+
test?: boolean;
|
|
25
|
+
}): Promise<{
|
|
26
|
+
fields: IntrospectedField[];
|
|
27
|
+
relations: IntrospectedRelation[];
|
|
28
|
+
features: ModelFeatures;
|
|
29
|
+
}>;
|
|
30
|
+
private static clearModelModuleCache;
|
|
31
|
+
private static extractMixins;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=ModelIntrospector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelIntrospector.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/ModelIntrospector.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAKV,YAAY,EACb,MAAM,mCAAmC,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,MAAM,IAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAErF,qBAAa,iBAAiB;WACf,OAAO,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAO,GAC/B,OAAO,CAAC;QACT,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAC5B,SAAS,EAAE,oBAAoB,EAAE,CAAC;QAClC,QAAQ,EAAE,aAAa,CAAC;KACzB,CAAC;IAmEF,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAQpC,OAAO,CAAC,MAAM,CAAC,aAAa;CAK7B"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ModelIntrospector = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const fs_1 = __importDefault(require("fs"));
|
|
9
|
+
const PathMap_1 = require("./PathMap");
|
|
10
|
+
const tsRuntime_1 = require("./typescript/tsRuntime");
|
|
11
|
+
class ModelIntrospector {
|
|
12
|
+
static async analyze(modelName, options = {}) {
|
|
13
|
+
const modelsDir = PathMap_1.PathMap.models(!!options.test);
|
|
14
|
+
const modelPath = path_1.default.resolve(modelsDir, `${modelName}.ts`);
|
|
15
|
+
if (!fs_1.default.existsSync(modelPath)) {
|
|
16
|
+
throw new Error(`Model file not found: ${modelPath}`);
|
|
17
|
+
}
|
|
18
|
+
this.clearModelModuleCache(modelPath);
|
|
19
|
+
const importedModule = (0, tsRuntime_1.loadModule)(modelPath);
|
|
20
|
+
const ModelClass = importedModule[modelName];
|
|
21
|
+
if (!ModelClass) {
|
|
22
|
+
throw new Error(`Could not load model class: ${modelName}`);
|
|
23
|
+
}
|
|
24
|
+
const schema = ModelClass.schema ?? {};
|
|
25
|
+
const fields = [];
|
|
26
|
+
const relations = [];
|
|
27
|
+
for (const [key, field] of Object.entries(schema)) {
|
|
28
|
+
if (field.kind === "column") {
|
|
29
|
+
const column = field;
|
|
30
|
+
if (!column.options?.primary &&
|
|
31
|
+
!["id", "created_at", "updated_at", "deleted_at"].includes(key)) {
|
|
32
|
+
fields.push({ name: key, type: column.type });
|
|
33
|
+
}
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
if (field.kind === "relation") {
|
|
37
|
+
const relation = field;
|
|
38
|
+
const isPivot = relation.relation === "belongsToMany";
|
|
39
|
+
const isMorph = relation.relation === "morphOne" ||
|
|
40
|
+
relation.relation === "morphMany" ||
|
|
41
|
+
relation.relation === "morphTo";
|
|
42
|
+
relations.push({
|
|
43
|
+
name: key,
|
|
44
|
+
type: relation.relation,
|
|
45
|
+
target: relation.model,
|
|
46
|
+
pivotTable: relation.options?.pivotTable,
|
|
47
|
+
morphName: relation.options?.morphName,
|
|
48
|
+
isPivot,
|
|
49
|
+
isMorph,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const features = {
|
|
54
|
+
hasTimestamps: Boolean(ModelClass.timestamps),
|
|
55
|
+
hasSoftDeletes: Boolean(ModelClass.softDeletes),
|
|
56
|
+
isMorphable: Boolean(ModelClass.morphAlias),
|
|
57
|
+
mixins: this.extractMixins(schema),
|
|
58
|
+
};
|
|
59
|
+
return { fields, relations, features };
|
|
60
|
+
}
|
|
61
|
+
static clearModelModuleCache(modelPath) {
|
|
62
|
+
try {
|
|
63
|
+
delete require.cache[require.resolve(modelPath)];
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
// Ignore cache misses; loadModule() will still read the current file.
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
static extractMixins(schema) {
|
|
70
|
+
return Object.values(schema)
|
|
71
|
+
.filter((field) => field.kind === "mixin")
|
|
72
|
+
.map((mixin) => mixin.name);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.ModelIntrospector = ModelIntrospector;
|
|
76
|
+
//# sourceMappingURL=ModelIntrospector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelIntrospector.js","sourceRoot":"","sources":["../../../src/cli/utils/ModelIntrospector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 🧭 PathMap
|
|
3
|
+
* Canonical, deterministic directory map for models, migrations, factories, and seeds.
|
|
4
|
+
* Environment-aware (development / test / production).
|
|
5
|
+
*/
|
|
6
|
+
export declare class PathMap {
|
|
7
|
+
private static readonly ROOT;
|
|
8
|
+
private static readonly PACKAGE_ROOT;
|
|
9
|
+
private static readonly APP_DATABASE_ROOT;
|
|
10
|
+
private static readonly TEST_DATABASE_ROOT;
|
|
11
|
+
static get root(): string;
|
|
12
|
+
static readonly MODELS: string;
|
|
13
|
+
static readonly MIGRATIONS_ROOT: string;
|
|
14
|
+
static readonly FACTORIES: string;
|
|
15
|
+
static readonly SEEDS: string;
|
|
16
|
+
private static readonly PROJECT_CLI_TEMPLATES;
|
|
17
|
+
private static readonly PACKAGE_CLI_TEMPLATES;
|
|
18
|
+
static readonly TEST_MODELS: string;
|
|
19
|
+
static readonly TEST_MIGRATIONS_ROOT: string;
|
|
20
|
+
static readonly TEST_FACTORIES: string;
|
|
21
|
+
static readonly TEST_SEEDS: string;
|
|
22
|
+
/**
|
|
23
|
+
* 🔹 Ensure all needed directories exist.
|
|
24
|
+
*/
|
|
25
|
+
static ensureDirs(): void;
|
|
26
|
+
/**
|
|
27
|
+
* 🔹 Auto-detect test environment.
|
|
28
|
+
*/
|
|
29
|
+
private static isTestEnv;
|
|
30
|
+
/**
|
|
31
|
+
* 🔹 Get models directory.
|
|
32
|
+
*/
|
|
33
|
+
static models(isTest?: boolean): string;
|
|
34
|
+
/**
|
|
35
|
+
* 🔹 Get migrations directory.
|
|
36
|
+
*/
|
|
37
|
+
private static sanitizePathSegment;
|
|
38
|
+
static appMigrations(connectionName?: string): string;
|
|
39
|
+
static testMigrations(connectionName?: string): string;
|
|
40
|
+
static migrations(isTest?: boolean, connectionName?: string): string;
|
|
41
|
+
/**
|
|
42
|
+
* 🔹 Get factories directory.
|
|
43
|
+
*/
|
|
44
|
+
static factories(isTest?: boolean): string;
|
|
45
|
+
/**
|
|
46
|
+
* 🔹 Get seeds directory.
|
|
47
|
+
*/
|
|
48
|
+
static seeds(isTest?: boolean): string;
|
|
49
|
+
/**
|
|
50
|
+
* 🔹 Get CLI template path by name.
|
|
51
|
+
*/
|
|
52
|
+
static template(name: string): string;
|
|
53
|
+
/**
|
|
54
|
+
* 🧹 Utility: clear all generated test folders.
|
|
55
|
+
*/
|
|
56
|
+
static clearTestDirs(): void;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=PathMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PathMap.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/PathMap.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,qBAAa,OAAO;IAElB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAA6C;IACjF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAA+C;IACxF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAgD;IAC1F,MAAM,KAAK,IAAI,IAAI,MAAM,CAExB;IAGD,MAAM,CAAC,QAAQ,CAAC,MAAM,SAA6C;IACnE,MAAM,CAAC,QAAQ,CAAC,eAAe,SAAsD;IACrF,MAAM,CAAC,QAAQ,CAAC,SAAS,SAAyD;IAClF,MAAM,CAAC,QAAQ,CAAC,KAAK,SAAqD;IAG1E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAgD;IAC7F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAG3C;IAGF,MAAM,CAAC,QAAQ,CAAC,WAAW,SAAuD;IAClF,MAAM,CAAC,QAAQ,CAAC,oBAAoB,SAAuD;IAC3F,MAAM,CAAC,QAAQ,CAAC,cAAc,SAA0D;IACxF,MAAM,CAAC,QAAQ,CAAC,UAAU,SAAsD;IAEhF;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,IAAI;IAezB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAOxB;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,UAAQ,GAAG,MAAM;IAIrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAIlC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM;IAWrD,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM;IAWtD,MAAM,CAAC,UAAU,CAAC,MAAM,UAAQ,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM;IAMlE;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,UAAQ,GAAG,MAAM;IAIxC;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,UAAQ,GAAG,MAAM;IAIpC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQrC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;CAU7B"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
var _a;
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.PathMap = void 0;
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const fs_1 = __importDefault(require("fs"));
|
|
10
|
+
/**
|
|
11
|
+
* 🧭 PathMap
|
|
12
|
+
* Canonical, deterministic directory map for models, migrations, factories, and seeds.
|
|
13
|
+
* Environment-aware (development / test / production).
|
|
14
|
+
*/
|
|
15
|
+
class PathMap {
|
|
16
|
+
static get root() {
|
|
17
|
+
return this.ROOT;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 🔹 Ensure all needed directories exist.
|
|
21
|
+
*/
|
|
22
|
+
static ensureDirs() {
|
|
23
|
+
[
|
|
24
|
+
this.MODELS,
|
|
25
|
+
this.MIGRATIONS_ROOT,
|
|
26
|
+
this.FACTORIES,
|
|
27
|
+
this.SEEDS,
|
|
28
|
+
this.TEST_MODELS,
|
|
29
|
+
this.TEST_MIGRATIONS_ROOT,
|
|
30
|
+
this.TEST_FACTORIES,
|
|
31
|
+
this.TEST_SEEDS,
|
|
32
|
+
].forEach((dir) => {
|
|
33
|
+
if (!fs_1.default.existsSync(dir))
|
|
34
|
+
fs_1.default.mkdirSync(dir, { recursive: true });
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 🔹 Auto-detect test environment.
|
|
39
|
+
*/
|
|
40
|
+
static isTestEnv(isTest) {
|
|
41
|
+
if (typeof isTest === "boolean") {
|
|
42
|
+
return isTest;
|
|
43
|
+
}
|
|
44
|
+
return process.env.NODE_ENV === "test";
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* 🔹 Get models directory.
|
|
48
|
+
*/
|
|
49
|
+
static models(isTest = false) {
|
|
50
|
+
return this.isTestEnv(isTest) ? this.TEST_MODELS : this.MODELS;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* 🔹 Get migrations directory.
|
|
54
|
+
*/
|
|
55
|
+
static sanitizePathSegment(segment) {
|
|
56
|
+
return segment.replace(/[^A-Za-z0-9_-]/g, "_");
|
|
57
|
+
}
|
|
58
|
+
static appMigrations(connectionName) {
|
|
59
|
+
if (!connectionName) {
|
|
60
|
+
return this.MIGRATIONS_ROOT;
|
|
61
|
+
}
|
|
62
|
+
return path_1.default.resolve(this.MIGRATIONS_ROOT, this.sanitizePathSegment(connectionName));
|
|
63
|
+
}
|
|
64
|
+
static testMigrations(connectionName) {
|
|
65
|
+
if (!connectionName) {
|
|
66
|
+
return this.TEST_MIGRATIONS_ROOT;
|
|
67
|
+
}
|
|
68
|
+
return path_1.default.resolve(this.TEST_MIGRATIONS_ROOT, this.sanitizePathSegment(connectionName));
|
|
69
|
+
}
|
|
70
|
+
static migrations(isTest = false, connectionName) {
|
|
71
|
+
return this.isTestEnv(isTest)
|
|
72
|
+
? this.testMigrations(connectionName)
|
|
73
|
+
: this.appMigrations(connectionName);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* 🔹 Get factories directory.
|
|
77
|
+
*/
|
|
78
|
+
static factories(isTest = false) {
|
|
79
|
+
return this.isTestEnv(isTest) ? this.TEST_FACTORIES : this.FACTORIES;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* 🔹 Get seeds directory.
|
|
83
|
+
*/
|
|
84
|
+
static seeds(isTest = false) {
|
|
85
|
+
return this.isTestEnv(isTest) ? this.TEST_SEEDS : this.SEEDS;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* 🔹 Get CLI template path by name.
|
|
89
|
+
*/
|
|
90
|
+
static template(name) {
|
|
91
|
+
const fileName = name.endsWith(".tpl") ? name : `${name}.tpl`;
|
|
92
|
+
const baseDir = fs_1.default.existsSync(this.PROJECT_CLI_TEMPLATES)
|
|
93
|
+
? this.PROJECT_CLI_TEMPLATES
|
|
94
|
+
: this.PACKAGE_CLI_TEMPLATES;
|
|
95
|
+
return path_1.default.resolve(baseDir, fileName);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* 🧹 Utility: clear all generated test folders.
|
|
99
|
+
*/
|
|
100
|
+
static clearTestDirs() {
|
|
101
|
+
[
|
|
102
|
+
this.TEST_MODELS,
|
|
103
|
+
this.TEST_MIGRATIONS_ROOT,
|
|
104
|
+
this.TEST_FACTORIES,
|
|
105
|
+
this.TEST_SEEDS,
|
|
106
|
+
].forEach((dir) => {
|
|
107
|
+
if (fs_1.default.existsSync(dir))
|
|
108
|
+
fs_1.default.rmSync(dir, { recursive: true, force: true });
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.PathMap = PathMap;
|
|
113
|
+
_a = PathMap;
|
|
114
|
+
// Root project directory
|
|
115
|
+
PathMap.ROOT = process.cwd();
|
|
116
|
+
PathMap.PACKAGE_ROOT = path_1.default.resolve(__dirname, "..", "..", "..");
|
|
117
|
+
PathMap.APP_DATABASE_ROOT = path_1.default.resolve(_a.ROOT, "src/app/database");
|
|
118
|
+
PathMap.TEST_DATABASE_ROOT = path_1.default.resolve(_a.ROOT, "src/test/database");
|
|
119
|
+
// --- Default app folders ---
|
|
120
|
+
PathMap.MODELS = path_1.default.resolve(_a.ROOT, "src/app/models");
|
|
121
|
+
PathMap.MIGRATIONS_ROOT = path_1.default.resolve(_a.APP_DATABASE_ROOT, "migrations");
|
|
122
|
+
PathMap.FACTORIES = path_1.default.resolve(_a.ROOT, "src/app/database/factories");
|
|
123
|
+
PathMap.SEEDS = path_1.default.resolve(_a.ROOT, "src/app/database/seeds");
|
|
124
|
+
// --- CLI template directory ---
|
|
125
|
+
PathMap.PROJECT_CLI_TEMPLATES = path_1.default.resolve(_a.ROOT, "src/cli/templates");
|
|
126
|
+
PathMap.PACKAGE_CLI_TEMPLATES = path_1.default.resolve(_a.PACKAGE_ROOT, "src/cli/templates");
|
|
127
|
+
// --- Test folders ---
|
|
128
|
+
PathMap.TEST_MODELS = path_1.default.resolve(_a.ROOT, "src/test/database/models");
|
|
129
|
+
PathMap.TEST_MIGRATIONS_ROOT = path_1.default.resolve(_a.TEST_DATABASE_ROOT, "migrations");
|
|
130
|
+
PathMap.TEST_FACTORIES = path_1.default.resolve(_a.ROOT, "src/test/database/factories");
|
|
131
|
+
PathMap.TEST_SEEDS = path_1.default.resolve(_a.ROOT, "src/test/database/seeds");
|
|
132
|
+
//# sourceMappingURL=PathMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PathMap.js","sourceRoot":"","sources":["../../../src/cli/utils/PathMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const PROD_DESTRUCTIVE_ALLOW_ENV = "ELOQUENT_ALLOW_PROD_DESTRUCTIVE";
|
|
2
|
+
export declare function isProductionRuntime(env?: NodeJS.ProcessEnv): boolean;
|
|
3
|
+
export type ProductionSafetyCheckInput = {
|
|
4
|
+
command: string;
|
|
5
|
+
force?: boolean;
|
|
6
|
+
yes?: boolean;
|
|
7
|
+
env?: NodeJS.ProcessEnv;
|
|
8
|
+
allowEnvKey?: string;
|
|
9
|
+
};
|
|
10
|
+
export type ProductionSafetyCheckResult = {
|
|
11
|
+
allowed: boolean;
|
|
12
|
+
reason?: string;
|
|
13
|
+
};
|
|
14
|
+
export type ProductionTestOnlyCheckInput = {
|
|
15
|
+
command: string;
|
|
16
|
+
test?: boolean;
|
|
17
|
+
env?: NodeJS.ProcessEnv;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Blocks destructive CLI actions in production unless the operator explicitly
|
|
21
|
+
* opts in using an environment allow flag plus --force --yes.
|
|
22
|
+
*/
|
|
23
|
+
export declare function checkProductionDestructiveCommand(input: ProductionSafetyCheckInput): ProductionSafetyCheckResult;
|
|
24
|
+
export declare function checkProductionTestOnlyCommand(input: ProductionTestOnlyCheckInput): ProductionSafetyCheckResult;
|
|
25
|
+
//# sourceMappingURL=ProductionSafety.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductionSafety.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/ProductionSafety.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,oCAAoC,CAAC;AAQ5E,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAIjF;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,0BAA0B,GAChC,2BAA2B,CA6B7B;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,4BAA4B,GAClC,2BAA2B,CAe7B"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PROD_DESTRUCTIVE_ALLOW_ENV = void 0;
|
|
4
|
+
exports.isProductionRuntime = isProductionRuntime;
|
|
5
|
+
exports.checkProductionDestructiveCommand = checkProductionDestructiveCommand;
|
|
6
|
+
exports.checkProductionTestOnlyCommand = checkProductionTestOnlyCommand;
|
|
7
|
+
exports.PROD_DESTRUCTIVE_ALLOW_ENV = "ELOQUENT_ALLOW_PROD_DESTRUCTIVE";
|
|
8
|
+
function isTruthy(value) {
|
|
9
|
+
if (!value)
|
|
10
|
+
return false;
|
|
11
|
+
const normalized = value.trim().toLowerCase();
|
|
12
|
+
return normalized === "1" || normalized === "true" || normalized === "yes";
|
|
13
|
+
}
|
|
14
|
+
function isProductionRuntime(env = process.env) {
|
|
15
|
+
const appEnv = String(env.APP_ENV ?? "").trim().toLowerCase();
|
|
16
|
+
const nodeEnv = String(env.NODE_ENV ?? "").trim().toLowerCase();
|
|
17
|
+
return appEnv === "production" || nodeEnv === "production";
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Blocks destructive CLI actions in production unless the operator explicitly
|
|
21
|
+
* opts in using an environment allow flag plus --force --yes.
|
|
22
|
+
*/
|
|
23
|
+
function checkProductionDestructiveCommand(input) {
|
|
24
|
+
const env = input.env ?? process.env;
|
|
25
|
+
const allowEnvKey = input.allowEnvKey ?? exports.PROD_DESTRUCTIVE_ALLOW_ENV;
|
|
26
|
+
if (!isProductionRuntime(env)) {
|
|
27
|
+
return { allowed: true };
|
|
28
|
+
}
|
|
29
|
+
if (!isTruthy(env[allowEnvKey])) {
|
|
30
|
+
return {
|
|
31
|
+
allowed: false,
|
|
32
|
+
reason: `${input.command} is blocked in production. Set ${allowEnvKey}=true and re-run with --force --yes.`,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
const missingFlags = [];
|
|
36
|
+
if (input.force !== true)
|
|
37
|
+
missingFlags.push("--force");
|
|
38
|
+
if (input.yes !== true)
|
|
39
|
+
missingFlags.push("--yes");
|
|
40
|
+
if (missingFlags.length > 0) {
|
|
41
|
+
return {
|
|
42
|
+
allowed: false,
|
|
43
|
+
reason: `${input.command} is blocked in production. Missing ${missingFlags.join(" and ")}. Re-run with --force --yes and ${allowEnvKey}=true.`,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
return { allowed: true };
|
|
47
|
+
}
|
|
48
|
+
function checkProductionTestOnlyCommand(input) {
|
|
49
|
+
const env = input.env ?? process.env;
|
|
50
|
+
if (!isProductionRuntime(env)) {
|
|
51
|
+
return { allowed: true };
|
|
52
|
+
}
|
|
53
|
+
if (input.test === true) {
|
|
54
|
+
return { allowed: true };
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
allowed: false,
|
|
58
|
+
reason: `${input.command} is restricted to --test in production.`,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=ProductionSafety.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductionSafety.js","sourceRoot":"","sources":["../../../src/cli/utils/ProductionSafety.ts"],"names":[],"mappings":";;;AAQA,kDAIC;AAyBD,8EA+BC;AAED,wEAiBC;AAvFY,QAAA,0BAA0B,GAAG,iCAAiC,CAAC;AAE5E,SAAS,QAAQ,CAAC,KAAyB;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAO,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,KAAK,CAAC;AAC7E,CAAC;AAED,SAAgB,mBAAmB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACtE,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAChE,OAAO,MAAM,KAAK,YAAY,IAAI,OAAO,KAAK,YAAY,CAAC;AAC7D,CAAC;AAqBD;;;GAGG;AACH,SAAgB,iCAAiC,CAC/C,KAAiC;IAEjC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACrC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,kCAA0B,CAAC;IAEpE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,kCAAkC,WAAW,sCAAsC;SAC5G,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;QAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI;QAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEnD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,sCAAsC,YAAY,CAAC,IAAI,CAC7E,OAAO,CACR,mCAAmC,WAAW,QAAQ;SACxD,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,SAAgB,8BAA8B,CAC5C,KAAmC;IAEnC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IAErC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,yCAAyC;KAClE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type ScaffoldKind = "controller" | "service";
|
|
2
|
+
export declare function normalizeScaffoldModelName(kind: ScaffoldKind, modelName: string): string;
|
|
3
|
+
export declare function capitalizeScaffoldName(str: string): string;
|
|
4
|
+
export declare function camelCaseScaffoldName(str: string): string;
|
|
5
|
+
export declare function resolveScaffoldArtifact(kind: ScaffoldKind, modelName: string, options?: {
|
|
6
|
+
test?: boolean;
|
|
7
|
+
}): {
|
|
8
|
+
modelClassName: string;
|
|
9
|
+
className: string;
|
|
10
|
+
fileName: string;
|
|
11
|
+
outputPath: string;
|
|
12
|
+
relativePath: string;
|
|
13
|
+
};
|
|
14
|
+
export declare function logScaffoldCreated(kind: ScaffoldKind, relativePath: string): void;
|
|
15
|
+
export declare function logScaffoldFailure(kind: ScaffoldKind, modelName: string, err: unknown): void;
|
|
16
|
+
//# sourceMappingURL=ScaffoldGeneratorSupport.d.ts.map
|