@kidd-cli/config 0.1.2 → 0.1.4
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/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/loader.js +1 -3
- package/dist/loader.js.map +1 -1
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { withTag } from "@kidd-cli/utils/tag";
|
|
2
|
-
|
|
3
2
|
//#region src/define-config.ts
|
|
4
3
|
/**
|
|
5
4
|
* Type-safe helper for kidd.config.ts.
|
|
@@ -13,7 +12,7 @@ import { withTag } from "@kidd-cli/utils/tag";
|
|
|
13
12
|
function defineConfig(config) {
|
|
14
13
|
return withTag(config, "KiddConfig");
|
|
15
14
|
}
|
|
16
|
-
|
|
17
15
|
//#endregion
|
|
18
16
|
export { defineConfig };
|
|
17
|
+
|
|
19
18
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../src/define-config.ts"],"sourcesContent":["import type { Tagged } from '@kidd-cli/utils/tag'\nimport { withTag } from '@kidd-cli/utils/tag'\n\nimport type { KiddConfig } from './types.js'\n\n/**\n * Type-safe helper for kidd.config.ts.\n *\n * Tags the config with `'KiddConfig'` so consumers can verify\n * it was created through `defineConfig` at runtime via `hasTag`.\n *\n * @param config - The build configuration object.\n * @returns A tagged copy of the config.\n */\nexport function defineConfig(config: KiddConfig): Tagged<KiddConfig, 'KiddConfig'> {\n return withTag(config, 'KiddConfig')\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/define-config.ts"],"sourcesContent":["import type { Tagged } from '@kidd-cli/utils/tag'\nimport { withTag } from '@kidd-cli/utils/tag'\n\nimport type { KiddConfig } from './types.js'\n\n/**\n * Type-safe helper for kidd.config.ts.\n *\n * Tags the config with `'KiddConfig'` so consumers can verify\n * it was created through `defineConfig` at runtime via `hasTag`.\n *\n * @param config - The build configuration object.\n * @returns A tagged copy of the config.\n */\nexport function defineConfig(config: KiddConfig): Tagged<KiddConfig, 'KiddConfig'> {\n return withTag(config, 'KiddConfig')\n}\n"],"mappings":";;;;;;;;;;;AAcA,SAAgB,aAAa,QAAsD;AACjF,QAAO,QAAQ,QAAQ,aAAa"}
|
package/dist/loader.js
CHANGED
|
@@ -5,7 +5,6 @@ import { loadConfig as loadConfig$1 } from "c12";
|
|
|
5
5
|
import { attemptAsync } from "es-toolkit";
|
|
6
6
|
import { formatZodIssues } from "@kidd-cli/utils/validate";
|
|
7
7
|
import { z } from "zod";
|
|
8
|
-
|
|
9
8
|
//#region src/schema.ts
|
|
10
9
|
/**
|
|
11
10
|
* @private
|
|
@@ -61,7 +60,6 @@ function validateConfig(data) {
|
|
|
61
60
|
}
|
|
62
61
|
return [null, result.data];
|
|
63
62
|
}
|
|
64
|
-
|
|
65
63
|
//#endregion
|
|
66
64
|
//#region src/loader.ts
|
|
67
65
|
/**
|
|
@@ -90,7 +88,7 @@ async function loadConfig(options) {
|
|
|
90
88
|
configFile: loaded.configFile
|
|
91
89
|
}];
|
|
92
90
|
}
|
|
93
|
-
|
|
94
91
|
//#endregion
|
|
95
92
|
export { KiddConfigSchema, loadConfig, validateConfig };
|
|
93
|
+
|
|
96
94
|
//# sourceMappingURL=loader.js.map
|
package/dist/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","names":["c12LoadConfig"],"sources":["../src/schema.ts","../src/loader.ts"],"sourcesContent":["import type { Result } from '@kidd-cli/utils'\nimport { err } from '@kidd-cli/utils/fp'\nimport { formatZodIssues } from '@kidd-cli/utils/validate'\nimport { z } from 'zod'\n\nimport type { KiddConfig } from './types.js'\n\n/**\n * @private\n */\nconst CompileTargetSchema = z.enum([\n 'darwin-arm64',\n 'darwin-x64',\n 'linux-arm64',\n 'linux-x64',\n 'linux-x64-musl',\n 'windows-arm64',\n 'windows-x64',\n])\n\n/**\n * @private\n */\nconst BuildOptionsSchema = z\n .object({\n external: z.array(z.string()).optional(),\n minify: z.boolean().optional(),\n out: z.string().optional(),\n sourcemap: z.boolean().optional(),\n target: z.string().optional(),\n })\n .strict()\n\n/**\n * @private\n */\nconst CompileOptionsSchema = z\n .object({\n name: z.string().optional(),\n out: z.string().optional(),\n targets: z.array(CompileTargetSchema).optional(),\n })\n .strict()\n\n/**\n * Zod schema validating the {@link KiddConfig} shape.\n */\nexport const KiddConfigSchema: z.ZodType<KiddConfig> = z\n .object({\n build: BuildOptionsSchema.optional(),\n commands: z.string().optional(),\n compile: z.union([z.boolean(), CompileOptionsSchema]).optional(),\n entry: z.string().optional(),\n include: z.array(z.string()).optional(),\n })\n .strict()\n\n/**\n * Validate arbitrary data against the {@link KiddConfigSchema}.\n *\n * @param data - The unknown value to validate.\n * @returns A Result tuple - `[null, KiddConfig]` on success or `[Error, null]` on failure.\n */\nexport function validateConfig(data: unknown): Result<KiddConfig, Error> {\n const result = KiddConfigSchema.safeParse(data)\n if (!result.success) {\n const { message } = formatZodIssues(result.error.issues)\n return err(`Invalid kidd config:\\n ${message}`)\n }\n return [null, result.data]\n}\n","import { toErrorMessage } from '@kidd-cli/utils'\nimport type { AsyncResult } from '@kidd-cli/utils'\nimport { err } from '@kidd-cli/utils/fp'\nimport type { Tagged } from '@kidd-cli/utils/tag'\nimport { withTag } from '@kidd-cli/utils/tag'\nimport { loadConfig as c12LoadConfig } from 'c12'\nimport { attemptAsync } from 'es-toolkit'\n\nimport { validateConfig } from './schema.js'\nimport type { KiddConfig } from './types.js'\n\nexport { KiddConfigSchema, validateConfig } from './schema.js'\n\n/**\n * Options for loading a kidd build config.\n */\nexport interface LoadConfigOptions {\n /**\n * Working directory to search from.\n */\n readonly cwd?: string\n /**\n * Default values merged under the loaded config.\n */\n readonly defaults?: Partial<KiddConfig>\n /**\n * Override values merged over the loaded config.\n */\n readonly overrides?: Partial<KiddConfig>\n}\n\n/**\n * Successful result of loading a kidd build config.\n */\nexport interface LoadConfigResult {\n /**\n * The validated and tagged build config.\n */\n readonly config: Tagged<KiddConfig, 'KiddConfig'>\n /**\n * Path to the resolved config file, or `undefined` when none was found.\n */\n readonly configFile: string | undefined\n}\n\n/**\n * Load and validate a `kidd.config.ts` file using c12.\n *\n * Searches for a config file named `kidd` (e.g. `kidd.config.ts`, `kidd.config.mts`)\n * in the given working directory, validates it against the build config schema,\n * and returns a tagged config object.\n *\n * @param options - Optional loader configuration.\n * @returns A Result tuple - `[null, LoadConfigResult]` on success or `[Error, null]` on failure.\n */\nexport async function loadConfig(\n options?: LoadConfigOptions\n): AsyncResult<LoadConfigResult, Error> {\n const { cwd, defaults, overrides } = options ?? {}\n\n const [loadError, loaded] = await attemptAsync(() =>\n c12LoadConfig({\n cwd,\n defaults,\n name: 'kidd',\n overrides,\n })\n )\n\n if (loadError || !loaded) {\n return err(`Failed to load kidd config: ${toErrorMessage(loadError)}`)\n }\n\n const [validateError, config] = validateConfig(loaded.config)\n if (validateError) {\n return [validateError, null]\n }\n\n return [\n null,\n {\n config: withTag(config, 'KiddConfig'),\n configFile: loaded.configFile,\n },\n ]\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"loader.js","names":["c12LoadConfig"],"sources":["../src/schema.ts","../src/loader.ts"],"sourcesContent":["import type { Result } from '@kidd-cli/utils'\nimport { err } from '@kidd-cli/utils/fp'\nimport { formatZodIssues } from '@kidd-cli/utils/validate'\nimport { z } from 'zod'\n\nimport type { KiddConfig } from './types.js'\n\n/**\n * @private\n */\nconst CompileTargetSchema = z.enum([\n 'darwin-arm64',\n 'darwin-x64',\n 'linux-arm64',\n 'linux-x64',\n 'linux-x64-musl',\n 'windows-arm64',\n 'windows-x64',\n])\n\n/**\n * @private\n */\nconst BuildOptionsSchema = z\n .object({\n external: z.array(z.string()).optional(),\n minify: z.boolean().optional(),\n out: z.string().optional(),\n sourcemap: z.boolean().optional(),\n target: z.string().optional(),\n })\n .strict()\n\n/**\n * @private\n */\nconst CompileOptionsSchema = z\n .object({\n name: z.string().optional(),\n out: z.string().optional(),\n targets: z.array(CompileTargetSchema).optional(),\n })\n .strict()\n\n/**\n * Zod schema validating the {@link KiddConfig} shape.\n */\nexport const KiddConfigSchema: z.ZodType<KiddConfig> = z\n .object({\n build: BuildOptionsSchema.optional(),\n commands: z.string().optional(),\n compile: z.union([z.boolean(), CompileOptionsSchema]).optional(),\n entry: z.string().optional(),\n include: z.array(z.string()).optional(),\n })\n .strict()\n\n/**\n * Validate arbitrary data against the {@link KiddConfigSchema}.\n *\n * @param data - The unknown value to validate.\n * @returns A Result tuple - `[null, KiddConfig]` on success or `[Error, null]` on failure.\n */\nexport function validateConfig(data: unknown): Result<KiddConfig, Error> {\n const result = KiddConfigSchema.safeParse(data)\n if (!result.success) {\n const { message } = formatZodIssues(result.error.issues)\n return err(`Invalid kidd config:\\n ${message}`)\n }\n return [null, result.data]\n}\n","import { toErrorMessage } from '@kidd-cli/utils'\nimport type { AsyncResult } from '@kidd-cli/utils'\nimport { err } from '@kidd-cli/utils/fp'\nimport type { Tagged } from '@kidd-cli/utils/tag'\nimport { withTag } from '@kidd-cli/utils/tag'\nimport { loadConfig as c12LoadConfig } from 'c12'\nimport { attemptAsync } from 'es-toolkit'\n\nimport { validateConfig } from './schema.js'\nimport type { KiddConfig } from './types.js'\n\nexport { KiddConfigSchema, validateConfig } from './schema.js'\n\n/**\n * Options for loading a kidd build config.\n */\nexport interface LoadConfigOptions {\n /**\n * Working directory to search from.\n */\n readonly cwd?: string\n /**\n * Default values merged under the loaded config.\n */\n readonly defaults?: Partial<KiddConfig>\n /**\n * Override values merged over the loaded config.\n */\n readonly overrides?: Partial<KiddConfig>\n}\n\n/**\n * Successful result of loading a kidd build config.\n */\nexport interface LoadConfigResult {\n /**\n * The validated and tagged build config.\n */\n readonly config: Tagged<KiddConfig, 'KiddConfig'>\n /**\n * Path to the resolved config file, or `undefined` when none was found.\n */\n readonly configFile: string | undefined\n}\n\n/**\n * Load and validate a `kidd.config.ts` file using c12.\n *\n * Searches for a config file named `kidd` (e.g. `kidd.config.ts`, `kidd.config.mts`)\n * in the given working directory, validates it against the build config schema,\n * and returns a tagged config object.\n *\n * @param options - Optional loader configuration.\n * @returns A Result tuple - `[null, LoadConfigResult]` on success or `[Error, null]` on failure.\n */\nexport async function loadConfig(\n options?: LoadConfigOptions\n): AsyncResult<LoadConfigResult, Error> {\n const { cwd, defaults, overrides } = options ?? {}\n\n const [loadError, loaded] = await attemptAsync(() =>\n c12LoadConfig({\n cwd,\n defaults,\n name: 'kidd',\n overrides,\n })\n )\n\n if (loadError || !loaded) {\n return err(`Failed to load kidd config: ${toErrorMessage(loadError)}`)\n }\n\n const [validateError, config] = validateConfig(loaded.config)\n if (validateError) {\n return [validateError, null]\n }\n\n return [\n null,\n {\n config: withTag(config, 'KiddConfig'),\n configFile: loaded.configFile,\n },\n ]\n}\n"],"mappings":";;;;;;;;;;;AAUA,MAAM,sBAAsB,EAAE,KAAK;CACjC;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAAC;;;;AAKF,MAAM,qBAAqB,EACxB,OAAO;CACN,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,UAAU;CACxC,QAAQ,EAAE,SAAS,CAAC,UAAU;CAC9B,KAAK,EAAE,QAAQ,CAAC,UAAU;CAC1B,WAAW,EAAE,SAAS,CAAC,UAAU;CACjC,QAAQ,EAAE,QAAQ,CAAC,UAAU;CAC9B,CAAC,CACD,QAAQ;;;;AAKX,MAAM,uBAAuB,EAC1B,OAAO;CACN,MAAM,EAAE,QAAQ,CAAC,UAAU;CAC3B,KAAK,EAAE,QAAQ,CAAC,UAAU;CAC1B,SAAS,EAAE,MAAM,oBAAoB,CAAC,UAAU;CACjD,CAAC,CACD,QAAQ;;;;AAKX,MAAa,mBAA0C,EACpD,OAAO;CACN,OAAO,mBAAmB,UAAU;CACpC,UAAU,EAAE,QAAQ,CAAC,UAAU;CAC/B,SAAS,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC,UAAU;CAChE,OAAO,EAAE,QAAQ,CAAC,UAAU;CAC5B,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,UAAU;CACxC,CAAC,CACD,QAAQ;;;;;;;AAQX,SAAgB,eAAe,MAA0C;CACvE,MAAM,SAAS,iBAAiB,UAAU,KAAK;AAC/C,KAAI,CAAC,OAAO,SAAS;EACnB,MAAM,EAAE,YAAY,gBAAgB,OAAO,MAAM,OAAO;AACxD,SAAO,IAAI,2BAA2B,UAAU;;AAElD,QAAO,CAAC,MAAM,OAAO,KAAK;;;;;;;;;;;;;;ACd5B,eAAsB,WACpB,SACsC;CACtC,MAAM,EAAE,KAAK,UAAU,cAAc,WAAW,EAAE;CAElD,MAAM,CAAC,WAAW,UAAU,MAAM,mBAChCA,aAAc;EACZ;EACA;EACA,MAAM;EACN;EACD,CAAC,CACH;AAED,KAAI,aAAa,CAAC,OAChB,QAAO,IAAI,+BAA+B,eAAe,UAAU,GAAG;CAGxE,MAAM,CAAC,eAAe,UAAU,eAAe,OAAO,OAAO;AAC7D,KAAI,cACF,QAAO,CAAC,eAAe,KAAK;AAG9B,QAAO,CACL,MACA;EACE,QAAQ,QAAQ,QAAQ,aAAa;EACrC,YAAY,OAAO;EACpB,CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kidd-cli/config",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Build-time configuration for kidd CLIs",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"c12": "4.0.0-beta.3",
|
|
27
|
-
"es-toolkit": "^1.45.
|
|
27
|
+
"es-toolkit": "^1.45.1",
|
|
28
28
|
"zod": "^4.3.6",
|
|
29
|
-
"@kidd-cli/utils": "0.1.
|
|
29
|
+
"@kidd-cli/utils": "0.1.4"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@types/node": "^25.
|
|
33
|
-
"tsdown": "0.21.
|
|
32
|
+
"@types/node": "^25.4.0",
|
|
33
|
+
"tsdown": "0.21.1",
|
|
34
34
|
"typescript": "^5.9.3",
|
|
35
35
|
"vitest": "^4.0.18"
|
|
36
36
|
},
|