From 306e4c0cf14c3cdf652f902473d9d9154e8ef637 Mon Sep 17 00:00:00 2001 From: igalklebanov Date: Sun, 30 Jun 2024 01:09:34 +0300 Subject: [PATCH 1/4] loosen environment-specific config overrides. --- src/config/define-config.mts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/config/define-config.mts b/src/config/define-config.mts index e41c0ee..d433f2d 100644 --- a/src/config/define-config.mts +++ b/src/config/define-config.mts @@ -1,4 +1,7 @@ -import { createDefineConfig } from 'c12' +import type { C12InputConfig } from 'c12' +import type { PartialDeep } from 'type-fest' import type { KyselyCTLConfig } from './kysely-ctl-config.mjs' -export const defineConfig = createDefineConfig() +export const defineConfig = ( + input: KyselyCTLConfig & C12InputConfig>, +): KyselyCTLConfig & C12InputConfig> => input From be758541197a540658970cffd029453ed05b8c69 Mon Sep 17 00:00:00 2001 From: igalklebanov Date: Sun, 30 Jun 2024 01:12:00 +0300 Subject: [PATCH 2/4] align environment value hint with c12 predefined environment names. --- src/arguments/environment.mts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/arguments/environment.mts b/src/arguments/environment.mts index 1aa0904..bc212bb 100644 --- a/src/arguments/environment.mts +++ b/src/arguments/environment.mts @@ -6,6 +6,6 @@ export const EnvironmentArg = { description: 'Apply environment-specific overrides to the configuration. See https://github.com/unjs/c12#environment-specific-configuration for more information.', type: 'string', - valueHint: 'prod | dev | test | ...', + valueHint: 'production | development | test | ...', }, } satisfies ArgsDef From 3030c56f4dd1d86cec1e26304b51cabc540ef1f5 Mon Sep 17 00:00:00 2001 From: igalklebanov Date: Sun, 30 Jun 2024 01:14:49 +0300 Subject: [PATCH 3/4] fix seedsFolder typo. --- src/config/kysely-ctl-config.mts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/kysely-ctl-config.mts b/src/config/kysely-ctl-config.mts index a1aa94c..47ef1c0 100644 --- a/src/config/kysely-ctl-config.mts +++ b/src/config/kysely-ctl-config.mts @@ -134,7 +134,7 @@ type MigratorlessMigrationsConfig = MigrationsBaseConfig & type SeederfulSeedsConfig = Pick & { provider?: never seeder: Seeder - seedsFolder?: never + seedFolder?: never } type SeederlessSeedsConfig = SeedsBaseConfig & From c87746cf5340c9e1b46d1aa20d40568ba61dd8a1 Mon Sep 17 00:00:00 2001 From: igalklebanov Date: Sun, 30 Jun 2024 01:18:37 +0300 Subject: [PATCH 4/4] add unit test. --- tests/define-config.test-d.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/define-config.test-d.ts b/tests/define-config.test-d.ts index 8a63305..c666aee 100644 --- a/tests/define-config.test-d.ts +++ b/tests/define-config.test-d.ts @@ -428,6 +428,22 @@ describe('defineConfig', () => { }) }) }) + + it('environment override issue - https://github.com/kysely-org/kysely-ctl/issues/53', () => { + defineConfig({ + dialect: dialect, + plugins: plugins, + migrations: { + migrationFolder: './src/db/migrations', + }, + $development: { + seeds: { + // this type-errored before the fix + seedFolder: './src/db/seeds/development', + }, + }, + }) + }) }) function init() {