zcb 0.0.24 → 0.0.26
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/README.md +1 -1
- package/bin/zcb.js +3 -0
- package/dist/cjs/cli.cjs.map +1 -1
- package/dist/cjs/index.cjs +3 -3
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/cli.mjs.map +1 -1
- package/dist/esm/index.mjs +3 -3
- package/dist/esm/index.mjs.map +1 -1
- package/dist/types/cjs/cli.d.cts +6 -0
- package/dist/types/cjs/cli.d.cts.map +1 -0
- package/dist/types/cjs/createConfigBuilder.d.cts +16 -0
- package/dist/types/cjs/createConfigBuilder.d.cts.map +1 -0
- package/dist/types/cjs/createConfigParser.d.cts +3 -0
- package/dist/types/cjs/createConfigParser.d.cts.map +1 -0
- package/dist/types/cjs/createConfigReader.d.cts +8 -0
- package/dist/types/cjs/createConfigReader.d.cts.map +1 -0
- package/dist/types/cjs/data/countryCodes.d.cts +2 -0
- package/dist/types/cjs/data/countryCodes.d.cts.map +1 -0
- package/dist/types/cjs/data/countryNames.d.cts +2 -0
- package/dist/types/cjs/data/countryNames.d.cts.map +1 -0
- package/dist/types/cjs/data/distanceUnits.d.cts +2 -0
- package/dist/types/cjs/data/distanceUnits.d.cts.map +1 -0
- package/dist/types/cjs/data/languageCodes.d.cts +2 -0
- package/dist/types/cjs/data/languageCodes.d.cts.map +1 -0
- package/dist/types/cjs/data/timezones.d.cts +2 -0
- package/dist/types/cjs/data/timezones.d.cts.map +1 -0
- package/dist/types/cjs/index.d.cts +10 -0
- package/dist/types/cjs/index.d.cts.map +1 -0
- package/dist/types/cjs/transformers/cloneNonEnumerableValues.d.cts +3 -0
- package/dist/types/cjs/transformers/cloneNonEnumerableValues.d.cts.map +1 -0
- package/dist/types/cjs/transformers/removeDisabledSlices.d.cts +3 -0
- package/dist/types/cjs/transformers/removeDisabledSlices.d.cts.map +1 -0
- package/dist/types/cjs/transformers/runExperiments.d.cts +3 -0
- package/dist/types/cjs/transformers/runExperiments.d.cts.map +1 -0
- package/dist/types/cjs/transformers/setupExperiments.d.cts +3 -0
- package/dist/types/cjs/transformers/setupExperiments.d.cts.map +1 -0
- package/dist/types/cjs/types.d.cts +45 -0
- package/dist/types/cjs/types.d.cts.map +1 -0
- package/dist/types/cjs/utils/arrayHasInvalidDefaults.d.cts +3 -0
- package/dist/types/cjs/utils/arrayHasInvalidDefaults.d.cts.map +1 -0
- package/dist/types/cjs/utils/importValidateTransformWriteConfig.d.cts +3 -0
- package/dist/types/cjs/utils/importValidateTransformWriteConfig.d.cts.map +1 -0
- package/dist/types/cjs/utils/isDerivedValueCallback.d.cts +2 -0
- package/dist/types/cjs/utils/isDerivedValueCallback.d.cts.map +1 -0
- package/dist/types/cjs/utils/isInvalidPropertyOverride.d.cts +2 -0
- package/dist/types/cjs/utils/isInvalidPropertyOverride.d.cts.map +1 -0
- package/dist/types/cjs/utils/isPropertyReservedWord.d.cts +3 -0
- package/dist/types/cjs/utils/isPropertyReservedWord.d.cts.map +1 -0
- package/dist/types/cjs/utils/isSchemaValid.d.cts +3 -0
- package/dist/types/cjs/utils/isSchemaValid.d.cts.map +1 -0
- package/dist/types/cjs/utils/isValidPropertyDefinition.d.cts +3 -0
- package/dist/types/cjs/utils/isValidPropertyDefinition.d.cts.map +1 -0
- package/dist/types/cjs/utils/isValidValue.d.cts +2 -0
- package/dist/types/cjs/utils/isValidValue.d.cts.map +1 -0
- package/dist/types/cjs/utils/objectHasInvalidDefaults.d.cts +3 -0
- package/dist/types/cjs/utils/objectHasInvalidDefaults.d.cts.map +1 -0
- package/dist/types/cjs/utils/recordHasInvalidDefaults.d.cts +3 -0
- package/dist/types/cjs/utils/recordHasInvalidDefaults.d.cts.map +1 -0
- package/dist/types/cjs/utils/transformConfig.d.cts +4 -0
- package/dist/types/cjs/utils/transformConfig.d.cts.map +1 -0
- package/dist/types/cjs/utils/transformWriteConfig.d.cts +3 -0
- package/dist/types/cjs/utils/transformWriteConfig.d.cts.map +1 -0
- package/dist/types/esm/cli.d.ts.map +1 -0
- package/dist/types/esm/createConfigBuilder.d.ts.map +1 -0
- package/dist/types/esm/createConfigParser.d.ts.map +1 -0
- package/dist/types/esm/createConfigReader.d.ts.map +1 -0
- package/dist/types/esm/data/countryCodes.d.ts.map +1 -0
- package/dist/types/esm/data/countryNames.d.ts.map +1 -0
- package/dist/types/esm/data/distanceUnits.d.ts.map +1 -0
- package/dist/types/esm/data/languageCodes.d.ts.map +1 -0
- package/dist/types/esm/data/timezones.d.ts.map +1 -0
- package/dist/types/esm/index.d.ts.map +1 -0
- package/dist/types/esm/transformers/cloneNonEnumerableValues.d.ts.map +1 -0
- package/dist/types/esm/transformers/removeDisabledSlices.d.ts.map +1 -0
- package/dist/types/esm/transformers/runExperiments.d.ts.map +1 -0
- package/dist/types/esm/transformers/setupExperiments.d.ts.map +1 -0
- package/dist/types/{types.d.ts → esm/types.d.ts} +4 -4
- package/dist/types/esm/types.d.ts.map +1 -0
- package/dist/types/esm/utils/arrayHasInvalidDefaults.d.ts.map +1 -0
- package/dist/types/esm/utils/importValidateTransformWriteConfig.d.ts.map +1 -0
- package/dist/types/esm/utils/isDerivedValueCallback.d.ts.map +1 -0
- package/dist/types/esm/utils/isInvalidPropertyOverride.d.ts.map +1 -0
- package/dist/types/esm/utils/isPropertyReservedWord.d.ts.map +1 -0
- package/dist/types/esm/utils/isSchemaValid.d.ts.map +1 -0
- package/dist/types/esm/utils/isValidPropertyDefinition.d.ts.map +1 -0
- package/dist/types/esm/utils/isValidValue.d.ts.map +1 -0
- package/dist/types/esm/utils/objectHasInvalidDefaults.d.ts.map +1 -0
- package/dist/types/esm/utils/recordHasInvalidDefaults.d.ts.map +1 -0
- package/dist/types/esm/utils/transformConfig.d.ts.map +1 -0
- package/dist/types/esm/utils/transformWriteConfig.d.ts.map +1 -0
- package/dist/types/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +21 -15
- package/src/createConfigBuilder.ts +3 -3
- package/src/types.ts +6 -6
- package/tsconfig.build.json +1 -1
- package/bin/zcb.mjs +0 -3
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/dist/types/cli.d.ts.map +0 -1
- package/dist/types/createConfigBuilder.d.ts.map +0 -1
- package/dist/types/createConfigParser.d.ts.map +0 -1
- package/dist/types/createConfigReader.d.ts.map +0 -1
- package/dist/types/data/countryCodes.d.ts.map +0 -1
- package/dist/types/data/countryNames.d.ts.map +0 -1
- package/dist/types/data/distanceUnits.d.ts.map +0 -1
- package/dist/types/data/languageCodes.d.ts.map +0 -1
- package/dist/types/data/timezones.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/transformers/cloneNonEnumerableValues.d.ts.map +0 -1
- package/dist/types/transformers/removeDisabledSlices.d.ts.map +0 -1
- package/dist/types/transformers/runExperiments.d.ts.map +0 -1
- package/dist/types/transformers/setupExperiments.d.ts.map +0 -1
- package/dist/types/types.d.ts.map +0 -1
- package/dist/types/utils/arrayHasInvalidDefaults.d.ts.map +0 -1
- package/dist/types/utils/importValidateTransformWriteConfig.d.ts.map +0 -1
- package/dist/types/utils/isDerivedValueCallback.d.ts.map +0 -1
- package/dist/types/utils/isInvalidPropertyOverride.d.ts.map +0 -1
- package/dist/types/utils/isPropertyReservedWord.d.ts.map +0 -1
- package/dist/types/utils/isSchemaValid.d.ts.map +0 -1
- package/dist/types/utils/isValidPropertyDefinition.d.ts.map +0 -1
- package/dist/types/utils/isValidValue.d.ts.map +0 -1
- package/dist/types/utils/objectHasInvalidDefaults.d.ts.map +0 -1
- package/dist/types/utils/recordHasInvalidDefaults.d.ts.map +0 -1
- package/dist/types/utils/transformConfig.d.ts.map +0 -1
- package/dist/types/utils/transformWriteConfig.d.ts.map +0 -1
- /package/dist/types/{cli.d.ts → esm/cli.d.ts} +0 -0
- /package/dist/types/{createConfigBuilder.d.ts → esm/createConfigBuilder.d.ts} +0 -0
- /package/dist/types/{createConfigParser.d.ts → esm/createConfigParser.d.ts} +0 -0
- /package/dist/types/{createConfigReader.d.ts → esm/createConfigReader.d.ts} +0 -0
- /package/dist/types/{data → esm/data}/countryCodes.d.ts +0 -0
- /package/dist/types/{data → esm/data}/countryNames.d.ts +0 -0
- /package/dist/types/{data → esm/data}/distanceUnits.d.ts +0 -0
- /package/dist/types/{data → esm/data}/languageCodes.d.ts +0 -0
- /package/dist/types/{data → esm/data}/timezones.d.ts +0 -0
- /package/dist/types/{index.d.ts → esm/index.d.ts} +0 -0
- /package/dist/types/{transformers → esm/transformers}/cloneNonEnumerableValues.d.ts +0 -0
- /package/dist/types/{transformers → esm/transformers}/removeDisabledSlices.d.ts +0 -0
- /package/dist/types/{transformers → esm/transformers}/runExperiments.d.ts +0 -0
- /package/dist/types/{transformers → esm/transformers}/setupExperiments.d.ts +0 -0
- /package/dist/types/{utils → esm/utils}/arrayHasInvalidDefaults.d.ts +0 -0
- /package/dist/types/{utils → esm/utils}/importValidateTransformWriteConfig.d.ts +0 -0
- /package/dist/types/{utils → esm/utils}/isDerivedValueCallback.d.ts +0 -0
- /package/dist/types/{utils → esm/utils}/isInvalidPropertyOverride.d.ts +0 -0
- /package/dist/types/{utils → esm/utils}/isPropertyReservedWord.d.ts +0 -0
- /package/dist/types/{utils → esm/utils}/isSchemaValid.d.ts +0 -0
- /package/dist/types/{utils → esm/utils}/isValidPropertyDefinition.d.ts +0 -0
- /package/dist/types/{utils → esm/utils}/isValidValue.d.ts +0 -0
- /package/dist/types/{utils → esm/utils}/objectHasInvalidDefaults.d.ts +0 -0
- /package/dist/types/{utils → esm/utils}/recordHasInvalidDefaults.d.ts +0 -0
- /package/dist/types/{utils → esm/utils}/transformConfig.d.ts +0 -0
- /package/dist/types/{utils → esm/utils}/transformWriteConfig.d.ts +0 -0
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zcb",
|
|
3
3
|
"description": "Build configs with type safety from zod schema.",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.26",
|
|
5
5
|
"author": "Dylan Aubrey",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://github.com/badbatch/zod-config-builder",
|
|
@@ -9,10 +9,16 @@
|
|
|
9
9
|
"bugs": "https://github.com/badbatch/zod-config-builder/issues",
|
|
10
10
|
"type": "module",
|
|
11
11
|
"bin": {
|
|
12
|
-
"zcb": "./bin/zcb.
|
|
12
|
+
"zcb": "./bin/zcb.js"
|
|
13
13
|
},
|
|
14
|
+
"main": "./dist/cjs/index.cjs",
|
|
15
|
+
"module": "./dist/esm/index.mjs",
|
|
16
|
+
"types": "./dist/types/cjs/index.d.cts",
|
|
14
17
|
"exports": {
|
|
15
|
-
"types":
|
|
18
|
+
"types": {
|
|
19
|
+
"import": "./dist/types/esm/index.d.ts",
|
|
20
|
+
"require": "./dist/types/cjs/index.d.cts"
|
|
21
|
+
},
|
|
16
22
|
"import": "./dist/esm/index.mjs",
|
|
17
23
|
"require": "./dist/cjs/index.cjs"
|
|
18
24
|
},
|
|
@@ -20,10 +26,15 @@
|
|
|
20
26
|
"access": "public"
|
|
21
27
|
},
|
|
22
28
|
"dependencies": {
|
|
29
|
+
"@types/fs-extra": "^11.0.1",
|
|
30
|
+
"@types/json-schema": "^7.0.11",
|
|
31
|
+
"@types/shelljs": "^0.8.12",
|
|
32
|
+
"@types/yargs": "^15.0.15",
|
|
23
33
|
"fs-extra": "^11.1.1",
|
|
24
34
|
"handlebars": "^4.7.7",
|
|
25
35
|
"json-schema": "^0.4.0",
|
|
26
36
|
"shelljs": "^0.8.5",
|
|
37
|
+
"type-fest": "^3.10.0",
|
|
27
38
|
"yargs": "^15.4.1",
|
|
28
39
|
"zod": "^3.21.4",
|
|
29
40
|
"zod-to-json-schema": "^3.21.0"
|
|
@@ -39,7 +50,6 @@
|
|
|
39
50
|
"@babel/core": "^7.21.8",
|
|
40
51
|
"@babel/eslint-parser": "^7.21.8",
|
|
41
52
|
"@babel/plugin-proposal-decorators": "^7.23.3",
|
|
42
|
-
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
|
43
53
|
"@babel/plugin-syntax-import-assertions": "^7.20.0",
|
|
44
54
|
"@babel/plugin-transform-class-properties": "^7.23.3",
|
|
45
55
|
"@babel/plugin-transform-export-namespace-from": "^7.23.4",
|
|
@@ -54,35 +64,32 @@
|
|
|
54
64
|
"@commitlint/prompt-cli": "^17.6.3",
|
|
55
65
|
"@jest/globals": "^29.5.0",
|
|
56
66
|
"@repodog/babel-config": "^1.1.11",
|
|
57
|
-
"@repodog/cli": "^1.
|
|
67
|
+
"@repodog/cli": "^1.3.3",
|
|
58
68
|
"@repodog/commitlint-config": "^1.1.6",
|
|
59
|
-
"@repodog/eslint-config": "^1.1.
|
|
69
|
+
"@repodog/eslint-config": "^1.1.19",
|
|
60
70
|
"@repodog/eslint-config-jest": "^1.1.10",
|
|
61
71
|
"@repodog/jest-config": "^1.1.11",
|
|
62
72
|
"@repodog/markdownlint-config": "^1.1.5",
|
|
63
73
|
"@repodog/prettier-config": "^1.1.5",
|
|
64
74
|
"@repodog/rollup-config": "^1.1.8",
|
|
65
|
-
"@repodog/syncpack-config": "^1.2.
|
|
66
|
-
"@repodog/ts-config": "^1.1.
|
|
75
|
+
"@repodog/syncpack-config": "^1.2.3",
|
|
76
|
+
"@repodog/ts-config": "^1.1.7",
|
|
67
77
|
"@rollup/plugin-babel": "^6.0.3",
|
|
68
78
|
"@rollup/plugin-commonjs": "^25.0.7",
|
|
69
79
|
"@rollup/plugin-image": "^3.0.2",
|
|
70
80
|
"@rollup/plugin-json": "^6.0.0",
|
|
71
81
|
"@rollup/plugin-node-resolve": "^15.0.2",
|
|
72
82
|
"@rollup/plugin-terser": "^0.4.1",
|
|
73
|
-
"@types/fs-extra": "^11.0.1",
|
|
74
83
|
"@types/jest": "^25.2.3",
|
|
75
|
-
"@types/json-schema": "^7.0.11",
|
|
76
84
|
"@types/lodash-es": "^4.17.9",
|
|
77
85
|
"@types/node": "^18.16.7",
|
|
78
|
-
"@types/shelljs": "^0.8.12",
|
|
79
|
-
"@types/yargs": "^15.0.15",
|
|
80
86
|
"@typescript-eslint/eslint-plugin": "^5.59.5",
|
|
81
87
|
"@typescript-eslint/parser": "^5.59.5",
|
|
82
88
|
"babel-jest": "^29.5.0",
|
|
83
89
|
"babel-plugin-codegen": "^4.1.5",
|
|
84
90
|
"babel-plugin-macros": "^3.1.0",
|
|
85
91
|
"core-js": "^3.30.2",
|
|
92
|
+
"cts-types": "^0.0.4",
|
|
86
93
|
"del-cli": "^3.0.1",
|
|
87
94
|
"eslint": "^8.40.0",
|
|
88
95
|
"eslint-config-prettier": "^8.8.0",
|
|
@@ -114,7 +121,6 @@
|
|
|
114
121
|
"syncpack": "^12.0.0-alpha.0",
|
|
115
122
|
"ts-node": "^10.9.1",
|
|
116
123
|
"ts-toolbelt": "^9.6.0",
|
|
117
|
-
"type-fest": "^3.10.0",
|
|
118
124
|
"typescript": "^5.0.4"
|
|
119
125
|
},
|
|
120
126
|
"keywords": [
|
|
@@ -130,7 +136,7 @@
|
|
|
130
136
|
"compile": "pnpm run /^compile:.*/",
|
|
131
137
|
"compile:cjs": "MODULE_SYSTEM=cjs rollup -c ./rollup.config.cjs",
|
|
132
138
|
"compile:esm": "rollup -c ./rollup.config.cjs",
|
|
133
|
-
"compile:types": "tsc --project ./tsconfig.build.json",
|
|
139
|
+
"compile:types": "tsc --project ./tsconfig.build.json && cts-types build dist/types/esm dist/types/cjs",
|
|
134
140
|
"cut:changelog": "changelog",
|
|
135
141
|
"cut:post-version": "pnpm run build",
|
|
136
142
|
"lint": "eslint . --ext .ts,.cjs",
|
|
@@ -138,7 +144,7 @@
|
|
|
138
144
|
"syncpack": "syncpack format && syncpack list-mismatches && syncpack lint-semver-ranges",
|
|
139
145
|
"test": "node --require=suppress-experimental-warnings --experimental-vm-modules node_modules/jest/bin/jest.js",
|
|
140
146
|
"type-check": "tsc --noEmit",
|
|
141
|
-
"validate": "
|
|
147
|
+
"validate": "pnpm run syncpack && pnpm run build && pnpm run lint && pnpm run type-check && pnpm run test",
|
|
142
148
|
"zcb:build": "NODE_OPTIONS=\"--loader ts-node/esm\" node ./bin/zcb.mjs build ./src/__testUtils__/configBuilder.ts ./src/__testUtils__/builtConfig.ts",
|
|
143
149
|
"zcb:watch": "NODE_OPTIONS=\"--loader ts-node/esm\" node ./bin/zcb.mjs watch ./src/__testUtils__/configBuilder.ts ./src/__testUtils__/builtConfig.ts"
|
|
144
150
|
}
|
|
@@ -87,10 +87,10 @@ export const createConfigBuilder = <ZodTypes>(
|
|
|
87
87
|
|
|
88
88
|
return configBuilder;
|
|
89
89
|
},
|
|
90
|
-
extend: (
|
|
91
|
-
config = transformConfigSync<Config>(
|
|
90
|
+
extend: (builder: ConfigBuilder<Config>) => {
|
|
91
|
+
config = transformConfigSync<Config>(builder.values(), [cloneNonEnumerableValues]);
|
|
92
92
|
// @ts-expect-error private property
|
|
93
|
-
callbacks = { ...
|
|
93
|
+
callbacks = { ...builder.__callbacks } as Partial<Record<keyof Config, DerivedValueCallback>>;
|
|
94
94
|
},
|
|
95
95
|
flush: () => {
|
|
96
96
|
const values = configBuilder.values();
|
package/src/types.ts
CHANGED
|
@@ -59,16 +59,16 @@ export interface WriteConfigOptions {
|
|
|
59
59
|
outputFile: string;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
export type Leaves<T,
|
|
63
|
-
?
|
|
62
|
+
export type Leaves<T, LeafPath extends string[] = []> = T extends string
|
|
63
|
+
? LeafPath
|
|
64
64
|
: {
|
|
65
|
-
[K in keyof T & string]: Leaves<T[K], [...
|
|
65
|
+
[K in keyof T & string]: Leaves<T[K], [...LeafPath, K]>;
|
|
66
66
|
}[keyof T & string];
|
|
67
67
|
|
|
68
|
-
export type Paths<T,
|
|
69
|
-
?
|
|
68
|
+
export type Paths<T, LeafPath extends string[] = []> = T extends string
|
|
69
|
+
? LeafPath
|
|
70
70
|
: {
|
|
71
|
-
[K in keyof T & string]: T[K] extends object ? Paths<T[K], [...
|
|
71
|
+
[K in keyof T & string]: T[K] extends object ? Paths<T[K], [...LeafPath, K]> : LeafPath;
|
|
72
72
|
}[keyof T & string];
|
|
73
73
|
|
|
74
74
|
export type LeavesScopeDiffs<T1 extends readonly string[][], T2 extends string[]> = {
|
package/tsconfig.build.json
CHANGED
package/bin/zcb.mjs
DELETED