@shepherdjerred/helm-types 1.7.0 → 2.0.0
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 +78 -0
- package/LICENSE +674 -0
- package/README.md +82 -63
- package/demos/argo-cd-cli.cast +50 -0
- package/demos/record-cli-demo.sh +132 -0
- package/dist/chart-fetcher.d.ts +14 -0
- package/dist/chart-fetcher.d.ts.map +1 -0
- package/dist/chart-fetcher.js +105 -0
- package/dist/chart-fetcher.js.map +1 -0
- package/dist/chart-info-parser.d.ts +6 -0
- package/dist/chart-info-parser.d.ts.map +1 -0
- package/dist/chart-info-parser.js +50 -0
- package/dist/chart-info-parser.js.map +1 -0
- package/dist/cli.d.ts +7 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +140 -22841
- package/dist/cli.js.map +1 -0
- package/dist/comment-parser.d.ts +10 -0
- package/dist/comment-parser.d.ts.map +1 -0
- package/dist/comment-parser.js +150 -0
- package/dist/comment-parser.js.map +1 -0
- package/dist/config.d.ts +24 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +169 -0
- package/dist/config.js.map +1 -0
- package/dist/helm-types.d.ts +16 -0
- package/dist/helm-types.d.ts.map +1 -0
- package/{src/helm-types.ts → dist/helm-types.js} +1 -1
- package/dist/helm-types.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22 -23
- package/dist/index.js.map +1 -0
- package/dist/interface-generator.d.ts +6 -0
- package/dist/interface-generator.d.ts.map +1 -0
- package/dist/interface-generator.js +181 -0
- package/dist/interface-generator.js.map +1 -0
- package/dist/schemas.d.ts +13 -0
- package/dist/schemas.d.ts.map +1 -0
- package/{src/schemas.ts → dist/schemas.js} +12 -23
- package/dist/schemas.js.map +1 -0
- package/dist/type-converter-helpers.d.ts +20 -0
- package/dist/type-converter-helpers.d.ts.map +1 -0
- package/dist/type-converter-helpers.js +75 -0
- package/dist/type-converter-helpers.js.map +1 -0
- package/dist/type-converter.d.ts +26 -0
- package/dist/type-converter.d.ts.map +1 -0
- package/dist/type-converter.js +378 -0
- package/dist/type-converter.js.map +1 -0
- package/dist/types.d.ts +35 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +17 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +69 -0
- package/dist/utils.js.map +1 -0
- package/dist/yaml-comment-filters.d.ts +7 -0
- package/dist/yaml-comment-filters.d.ts.map +1 -0
- package/dist/yaml-comment-filters.js +91 -0
- package/dist/yaml-comment-filters.js.map +1 -0
- package/dist/yaml-comment-regex-parser.d.ts +8 -0
- package/dist/yaml-comment-regex-parser.d.ts.map +1 -0
- package/dist/yaml-comment-regex-parser.js +120 -0
- package/dist/yaml-comment-regex-parser.js.map +1 -0
- package/dist/yaml-comments.d.ts +74 -0
- package/dist/yaml-comments.d.ts.map +1 -0
- package/dist/yaml-comments.js +406 -0
- package/dist/yaml-comments.js.map +1 -0
- package/dist/yaml-preprocess.d.ts +15 -0
- package/dist/yaml-preprocess.d.ts.map +1 -0
- package/dist/yaml-preprocess.js +170 -0
- package/dist/yaml-preprocess.js.map +1 -0
- package/examples/argo-cd/generate.mjs +23 -0
- package/package.json +17 -12
- package/src/__fixtures__/sample-chart/Chart.yaml +0 -6
- package/src/__fixtures__/sample-chart/values.schema.json +0 -32
- package/src/__fixtures__/sample-chart/values.yaml +0 -22
- package/src/chart-fetcher.ts +0 -221
- package/src/chart-info-parser.ts +0 -64
- package/src/cli.ts +0 -217
- package/src/code-generator.ts +0 -226
- package/src/comment-parser.ts +0 -180
- package/src/config.ts +0 -195
- package/src/index.ts +0 -28
- package/src/interface-generator.ts +0 -238
- package/src/reset.d.ts +0 -1
- package/src/type-converter-helpers.ts +0 -108
- package/src/type-converter.ts +0 -520
- package/src/type-inference.ts +0 -548
- package/src/types.ts +0 -41
- package/src/utils.ts +0 -76
- package/src/yaml-comment-filters.ts +0 -103
- package/src/yaml-comment-regex-parser.ts +0 -150
- package/src/yaml-comments.ts +0 -507
- package/src/yaml-preprocess.ts +0 -235
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [2.0.0](https://github.com/shepherdjerred/monorepo/compare/helm-types-v1.7.0...helm-types-v2.0.0) (2026-09-07)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
Breaking packaging and runtime compatibility changes for consumers adopting the npm package.
|
|
7
|
+
|
|
8
|
+
- Requires Node.js 24 or newer (or Bun), and now publishes compiled ESM from `dist/` with declaration files; consumers importing workspace source paths must switch to the package entry point ([16c7c62](https://github.com/shepherdjerred/monorepo/commit/16c7c623e8fb8cfd03b3d1eec5168f0d0636b53d))
|
|
9
|
+
- `fetchHelmChart` now runs on Node.js using standard child-process and filesystem APIs, and exposes the fetched chart result through the public package API ([16c7c62](https://github.com/shepherdjerred/monorepo/commit/16c7c623e8fb8cfd03b3d1eec5168f0d0636b53d))
|
|
10
|
+
- The npm package now includes its CLI, README, license, demos, and examples, with `helm-types` resolving to the compiled CLI ([16c7c62](https://github.com/shepherdjerred/monorepo/commit/16c7c623e8fb8cfd03b3d1eec5168f0d0636b53d))
|
|
11
|
+
|
|
12
|
+
## [1.7.0](https://github.com/shepherdjerred/monorepo/compare/helm-types-v1.6.0...helm-types-v1.7.0) (2026-08-25)
|
|
13
|
+
|
|
14
|
+
No library behavior changes. The generator produces the same output as `1.6.0`; this release exists only because of repo-level housekeeping that release-please picked up.
|
|
15
|
+
|
|
16
|
+
- `parseChartInfoFromVersions` now null-checks `line` and `nextLine` before inspecting them, ahead of the emptiness and content checks. The same lines are skipped as before — this is ordering only, with no observable difference ([6f0d73e](https://github.com/shepherdjerred/monorepo/commit/6f0d73e8b171bae4ff66ed9c921185af9f61e924))
|
|
17
|
+
- Comment-only wording update to the `kube-prometheus-stack` entry in `EXTENSIBLE_TYPE_PATTERNS`, following the PagerDuty removal ([5c692c4](https://github.com/shepherdjerred/monorepo/commit/5c692c498e4545a7ec4e0e68203b0436ee0c7da4))
|
|
18
|
+
|
|
19
|
+
## [1.6.0](https://github.com/shepherdjerred/monorepo/compare/helm-types-v1.5.0...helm-types-v1.6.0) (2026-08-03)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Features
|
|
23
|
+
|
|
24
|
+
* **ci:** add complete coverage reporting ([#1786](https://github.com/shepherdjerred/monorepo/issues/1786)) ([d17b7ce](https://github.com/shepherdjerred/monorepo/commit/d17b7cecd76e5fdd6f742275c6744112ff579700))
|
|
25
|
+
* **ci:** add test reporting foundation ([#1782](https://github.com/shepherdjerred/monorepo/issues/1782)) ([09a6ed1](https://github.com/shepherdjerred/monorepo/commit/09a6ed1566aec6cbe9e3f951586ab7ec9961e368))
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Bug Fixes
|
|
29
|
+
|
|
30
|
+
* **deps:** roll out TypeScript 7 native compiler ([#1843](https://github.com/shepherdjerred/monorepo/issues/1843)) ([e7cd0b6](https://github.com/shepherdjerred/monorepo/commit/e7cd0b6bde573a6c366f344461c3d46e37b79f48))
|
|
31
|
+
* **deps:** update eslint-plugin-unicorn to v72 ([#1837](https://github.com/shepherdjerred/monorepo/issues/1837)) ([60998f5](https://github.com/shepherdjerred/monorepo/commit/60998f50c3a5bc4d5a2a72a3e568f621d1ecb2f5))
|
|
32
|
+
|
|
33
|
+
## [1.5.0](https://github.com/shepherdjerred/monorepo/compare/helm-types-v1.4.0...helm-types-v1.5.0) (2026-07-26)
|
|
34
|
+
|
|
35
|
+
Small correctness and API-surface changes; no runtime dependency changes.
|
|
36
|
+
|
|
37
|
+
- The CLI module (`src/cli.ts`) now runs `main()` only under `if (import.meta.main)`, so importing it no longer kicks off a generation run as an import side effect; the `toPascalCase` helper is now `export`ed ([e69457f](https://github.com/shepherdjerred/monorepo/commit/e69457ff9b5552554af4d983334dd9b7f9c228c9))
|
|
38
|
+
- `EXTENSIBLE_TYPE_PATTERNS` drops its `dagger-helm` entry (the Dagger chart was retired from the repo), so generation no longer force-marks that chart's commented-out `engine.*` example keys as extensible ([6dba01a](https://github.com/shepherdjerred/monorepo/commit/6dba01a905a03dd568bd4a9c1bfa0a9981c160c4))
|
|
39
|
+
|
|
40
|
+
## [1.4.0](https://github.com/shepherdjerred/monorepo/compare/helm-types-v1.3.0...helm-types-v1.4.0) (2026-06-14)
|
|
41
|
+
|
|
42
|
+
Adds OCI-registry support to the chart fetcher and emits broader, more permissive generated types for well-known Kubernetes fields.
|
|
43
|
+
|
|
44
|
+
- `ChartInfo` gains an optional `oci?: boolean` flag; when true, `fetchHelmChart` pulls via `helm pull oci://<repoUrl>/<chartName>` instead of `helm repo add` + pull. The untarred chart directory is resolved by scanning for the extracted `Chart.yaml`, so charts whose untar directory name differs from `chartName` (e.g. `kueue/charts/kueue` extracting to `kueue/`) now work ([6875ca3](https://github.com/shepherdjerred/monorepo/commit/6875ca3534526d7bb418d1a8c13e21a337153f4a))
|
|
45
|
+
- Generated types for the well-known Kubernetes fields `resources`, `nodeSelector`, `tolerations`, and `affinity` now use canonical permissive shapes (e.g. `{ requests?: Record<string, string | number>; limits?: Record<string, string | number> }` for `resources`) instead of narrow shapes inferred from a chart's default subset. The narrow types previously blocked setting valid keys a chart didn't happen to default. A shape guard keeps RBAC-style `resources: ["secrets"]` arrays as arrays ([c3c268d](https://github.com/shepherdjerred/monorepo/commit/c3c268dbcca7622dd75ad544786d3011c90228bc))
|
|
46
|
+
- `EXTENSIBLE_TYPE_PATTERNS` gains entries for `dagger-helm.engine` and `agent-stack-k8s.config`, whose `values.yaml` documents valid keys only as commented-out examples that inference-from-defaults can't see ([6875ca3](https://github.com/shepherdjerred/monorepo/commit/6875ca3534526d7bb418d1a8c13e21a337153f4a))
|
|
47
|
+
- HTTP-repo fetches now run `helm repo update <repoName>` against the just-added repo only, instead of refreshing every locally-configured helm repo, so a single unrelated stale repo (e.g. the retired public bitnami repo) no longer aborts an otherwise-fine fetch ([9409043](https://github.com/shepherdjerred/monorepo/commit/940904303284c662e3e8b9faa68c8cbe3bd80d13))
|
|
48
|
+
- `config.ts` no longer exports `K8S_RESOURCE_SPEC_PATTERN` or `isK8sResourceSpec`; the new entry point is `getWellKnownK8sFieldType(propertyName, value)`, which returns the canonical type string and description (or `undefined`) ([c3c268d](https://github.com/shepherdjerred/monorepo/commit/c3c268dbcca7622dd75ad544786d3011c90228bc))
|
|
49
|
+
|
|
50
|
+
## [1.3.0](https://github.com/shepherdjerred/monorepo/compare/helm-types-v1.2.1...helm-types-v1.3.0) (2026-05-27)
|
|
51
|
+
|
|
52
|
+
* Spawn errors from the chart fetcher now preserve the original error as `.cause`, so callers can inspect what `helm` or `git` actually failed with ([c285f88](https://github.com/shepherdjerred/monorepo/commit/c285f88a7387b679980e63dde07c8543a39cc217))
|
|
53
|
+
* Published `package.json` now has a cloneable `repository` URL (`git+https://github.com/shepherdjerred/monorepo.git` with `directory: packages/homelab/src/helm-types`), and corrected `bugs`/`homepage` links ([02a3c55](https://github.com/shepherdjerred/monorepo/commit/02a3c55932bc8a267cff74c44c76f75634dcfcf0))
|
|
54
|
+
* Bump runtime dep `zod` to `^4.4.3` ([d040b0b](https://github.com/shepherdjerred/monorepo/commit/d040b0b231ca7e047a29d306aa35c5e2a5744592))
|
|
55
|
+
|
|
56
|
+
## [1.2.1](https://github.com/shepherdjerred/monorepo/compare/helm-types-v1.2.0...helm-types-v1.2.1) (2026-04-22)
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
### Bug Fixes
|
|
60
|
+
|
|
61
|
+
* **root:** prettier format CHANGELOG, exclude CHANGELOGs from suppression check ([882eb12](https://github.com/shepherdjerred/monorepo/commit/882eb12e22cedeb00a205d887c69a4c0c92ba18d))
|
|
62
|
+
|
|
63
|
+
## [1.2.0](https://github.com/shepherdjerred/monorepo/compare/helm-types-v1.1.0...helm-types-v1.2.0) (2026-04-05)
|
|
64
|
+
|
|
65
|
+
### Features
|
|
66
|
+
|
|
67
|
+
- add ESLint config and remove eslint-disable suppressions ([3cb54ff](https://github.com/shepherdjerred/monorepo/commit/3cb54ffa1e1f8b5a54c6dd8251eed29542b087cb))
|
|
68
|
+
|
|
69
|
+
## [1.1.0](https://github.com/shepherdjerred/monorepo/compare/helm-types-v1.0.0...helm-types-v1.1.0) (2026-01-24)
|
|
70
|
+
|
|
71
|
+
### Features
|
|
72
|
+
|
|
73
|
+
- **helm-types:** add release-please for automated npm publishing ([6ff44a3](https://github.com/shepherdjerred/monorepo/commit/6ff44a30f964f6ac494b205ef1378b528e515bd3))
|
|
74
|
+
- **helm-types:** add release-please for automated npm publishing ([a2c3428](https://github.com/shepherdjerred/monorepo/commit/a2c3428e7c0cfb80652b405d2051a8874b3eda27))
|
|
75
|
+
|
|
76
|
+
### Bug Fixes
|
|
77
|
+
|
|
78
|
+
- **seaweedfs:** fix volume and s3 deployment issues on Talos ([#2525](https://github.com/shepherdjerred/monorepo/issues/2525)) ([378be62](https://github.com/shepherdjerred/monorepo/commit/378be620463e8b5ba63f5a9b9300c5469256acbc))
|