k8ts 0.1.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/LICENSE.md +7 -0
- package/README.md +3 -0
- package/dist/.imports.tsbuildinfo +1 -0
- package/dist/_imports/_mix.d.ts +4 -0
- package/dist/_imports/_mix.d.ts.map +1 -0
- package/dist/_imports/_mix.js +20 -0
- package/dist/_imports/_mix.js.map +1 -0
- package/dist/_imports/acme.cert-manager.io.d.ts +4832 -0
- package/dist/_imports/acme.cert-manager.io.d.ts.map +1 -0
- package/dist/_imports/acme.cert-manager.io.js +2476 -0
- package/dist/_imports/acme.cert-manager.io.js.map +1 -0
- package/dist/_imports/gateway.networking.k8s.io.d.ts +8786 -0
- package/dist/_imports/gateway.networking.k8s.io.d.ts.map +1 -0
- package/dist/_imports/gateway.networking.k8s.io.js +3668 -0
- package/dist/_imports/gateway.networking.k8s.io.js.map +1 -0
- package/dist/_imports/index.d.ts +3 -0
- package/dist/_imports/index.d.ts.map +1 -0
- package/dist/_imports/index.js +39 -0
- package/dist/_imports/index.js.map +1 -0
- package/dist/_imports/k8s.d.ts +18782 -0
- package/dist/_imports/k8s.d.ts.map +1 -0
- package/dist/_imports/k8s.js +12173 -0
- package/dist/_imports/k8s.js.map +1 -0
- package/dist/api-versions.d.ts +5 -0
- package/dist/api-versions.d.ts.map +1 -0
- package/dist/api-versions.js +8 -0
- package/dist/api-versions.js.map +1 -0
- package/dist/error.d.ts +5 -0
- package/dist/error.d.ts.map +1 -0
- package/dist/error.js +12 -0
- package/dist/error.js.map +1 -0
- package/dist/external/index.d.ts +13 -0
- package/dist/external/index.d.ts.map +1 -0
- package/dist/external/index.js +81 -0
- package/dist/external/index.js.map +1 -0
- package/dist/file/exports.d.ts +20 -0
- package/dist/file/exports.d.ts.map +1 -0
- package/dist/file/exports.js +62 -0
- package/dist/file/exports.js.map +1 -0
- package/dist/file/factory.d.ts +34 -0
- package/dist/file/factory.d.ts.map +1 -0
- package/dist/file/factory.js +171 -0
- package/dist/file/factory.js.map +1 -0
- package/dist/file/file.d.ts +17 -0
- package/dist/file/file.d.ts.map +1 -0
- package/dist/file/file.js +21 -0
- package/dist/file/file.js.map +1 -0
- package/dist/file/index.d.ts +2 -0
- package/dist/file/index.d.ts.map +1 -0
- package/dist/file/index.js +18 -0
- package/dist/file/index.js.map +1 -0
- package/dist/file/origin.d.ts +18 -0
- package/dist/file/origin.d.ts.map +1 -0
- package/dist/file/origin.js +27 -0
- package/dist/file/origin.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/k8ts-sys-kind.d.ts +3 -0
- package/dist/k8ts-sys-kind.d.ts.map +1 -0
- package/dist/k8ts-sys-kind.js +8 -0
- package/dist/k8ts-sys-kind.js.map +1 -0
- package/dist/kind-map.d.ts +11 -0
- package/dist/kind-map.d.ts.map +1 -0
- package/dist/kind-map.js +29 -0
- package/dist/kind-map.js.map +1 -0
- package/dist/meta/k8ts-section.d.ts +3 -0
- package/dist/meta/k8ts-section.d.ts.map +1 -0
- package/dist/meta/k8ts-section.js +10 -0
- package/dist/meta/k8ts-section.js.map +1 -0
- package/dist/node/abs-resource.d.ts +15 -0
- package/dist/node/abs-resource.d.ts.map +1 -0
- package/dist/node/abs-resource.js +76 -0
- package/dist/node/abs-resource.js.map +1 -0
- package/dist/node/dependencies.d.ts +1 -0
- package/dist/node/dependencies.d.ts.map +1 -0
- package/dist/node/dependencies.js +2 -0
- package/dist/node/dependencies.js.map +1 -0
- package/dist/node/index.d.ts +2 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +6 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/manifest-resource.d.ts +11 -0
- package/dist/node/manifest-resource.d.ts.map +1 -0
- package/dist/node/manifest-resource.js +19 -0
- package/dist/node/manifest-resource.js.map +1 -0
- package/dist/node/sub-resource.d.ts +8 -0
- package/dist/node/sub-resource.d.ts.map +1 -0
- package/dist/node/sub-resource.js +72 -0
- package/dist/node/sub-resource.js.map +1 -0
- package/dist/node/top-resource.d.ts +7 -0
- package/dist/node/top-resource.d.ts.map +1 -0
- package/dist/node/top-resource.js +8 -0
- package/dist/node/top-resource.js.map +1 -0
- package/dist/paths.d.ts +2 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +5 -0
- package/dist/paths.js.map +1 -0
- package/dist/resources/configmap/configmap.d.ts +12 -0
- package/dist/resources/configmap/configmap.d.ts.map +1 -0
- package/dist/resources/configmap/configmap.js +79 -0
- package/dist/resources/configmap/configmap.js.map +1 -0
- package/dist/resources/configmap/index.d.ts +2 -0
- package/dist/resources/configmap/index.d.ts.map +1 -0
- package/dist/resources/configmap/index.js +18 -0
- package/dist/resources/configmap/index.js.map +1 -0
- package/dist/resources/deployment/deployment.d.ts +18 -0
- package/dist/resources/deployment/deployment.d.ts.map +1 -0
- package/dist/resources/deployment/deployment.js +99 -0
- package/dist/resources/deployment/deployment.js.map +1 -0
- package/dist/resources/deployment/index.d.ts +2 -0
- package/dist/resources/deployment/index.d.ts.map +1 -0
- package/dist/resources/deployment/index.js +18 -0
- package/dist/resources/deployment/index.js.map +1 -0
- package/dist/resources/http-route/http-route.d.ts +17 -0
- package/dist/resources/http-route/http-route.d.ts.map +1 -0
- package/dist/resources/http-route/http-route.js +93 -0
- package/dist/resources/http-route/http-route.js.map +1 -0
- package/dist/resources/http-route/index.d.ts +2 -0
- package/dist/resources/http-route/index.d.ts.map +1 -0
- package/dist/resources/http-route/index.js +18 -0
- package/dist/resources/http-route/index.js.map +1 -0
- package/dist/resources/index.d.ts +9 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +25 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/namespace/index.d.ts +2 -0
- package/dist/resources/namespace/index.d.ts.map +1 -0
- package/dist/resources/namespace/index.js +18 -0
- package/dist/resources/namespace/index.js.map +1 -0
- package/dist/resources/namespace/namespace.d.ts +13 -0
- package/dist/resources/namespace/namespace.d.ts.map +1 -0
- package/dist/resources/namespace/namespace.js +79 -0
- package/dist/resources/namespace/namespace.js.map +1 -0
- package/dist/resources/persistent/access-mode.d.ts +8 -0
- package/dist/resources/persistent/access-mode.d.ts.map +1 -0
- package/dist/resources/persistent/access-mode.js +29 -0
- package/dist/resources/persistent/access-mode.js.map +1 -0
- package/dist/resources/persistent/block-mode.d.ts +2 -0
- package/dist/resources/persistent/block-mode.d.ts.map +1 -0
- package/dist/resources/persistent/block-mode.js +3 -0
- package/dist/resources/persistent/block-mode.js.map +1 -0
- package/dist/resources/persistent/claim/index.d.ts +2 -0
- package/dist/resources/persistent/claim/index.d.ts.map +1 -0
- package/dist/resources/persistent/claim/index.js +18 -0
- package/dist/resources/persistent/claim/index.js.map +1 -0
- package/dist/resources/persistent/claim/pvc.d.ts +23 -0
- package/dist/resources/persistent/claim/pvc.d.ts.map +1 -0
- package/dist/resources/persistent/claim/pvc.js +99 -0
- package/dist/resources/persistent/claim/pvc.js.map +1 -0
- package/dist/resources/persistent/index.d.ts +11 -0
- package/dist/resources/persistent/index.d.ts.map +1 -0
- package/dist/resources/persistent/index.js +13 -0
- package/dist/resources/persistent/index.js.map +1 -0
- package/dist/resources/persistent/volume/backend.d.ts +13 -0
- package/dist/resources/persistent/volume/backend.d.ts.map +1 -0
- package/dist/resources/persistent/volume/backend.js +3 -0
- package/dist/resources/persistent/volume/backend.js.map +1 -0
- package/dist/resources/persistent/volume/index.d.ts +2 -0
- package/dist/resources/persistent/volume/index.d.ts.map +1 -0
- package/dist/resources/persistent/volume/index.js +18 -0
- package/dist/resources/persistent/volume/index.js.map +1 -0
- package/dist/resources/persistent/volume/parse-backend.d.ts +14 -0
- package/dist/resources/persistent/volume/parse-backend.d.ts.map +1 -0
- package/dist/resources/persistent/volume/parse-backend.js +26 -0
- package/dist/resources/persistent/volume/parse-backend.js.map +1 -0
- package/dist/resources/persistent/volume/pv.d.ts +26 -0
- package/dist/resources/persistent/volume/pv.d.ts.map +1 -0
- package/dist/resources/persistent/volume/pv.js +95 -0
- package/dist/resources/persistent/volume/pv.js.map +1 -0
- package/dist/resources/pod/container/container.d.ts +44 -0
- package/dist/resources/pod/container/container.d.ts.map +1 -0
- package/dist/resources/pod/container/container.js +156 -0
- package/dist/resources/pod/container/container.js.map +1 -0
- package/dist/resources/pod/container/index.d.ts +2 -0
- package/dist/resources/pod/container/index.d.ts.map +1 -0
- package/dist/resources/pod/container/index.js +18 -0
- package/dist/resources/pod/container/index.js.map +1 -0
- package/dist/resources/pod/container/mounts.d.ts +27 -0
- package/dist/resources/pod/container/mounts.d.ts.map +1 -0
- package/dist/resources/pod/container/mounts.js +40 -0
- package/dist/resources/pod/container/mounts.js.map +1 -0
- package/dist/resources/pod/index.d.ts +4 -0
- package/dist/resources/pod/index.d.ts.map +1 -0
- package/dist/resources/pod/index.js +20 -0
- package/dist/resources/pod/index.js.map +1 -0
- package/dist/resources/pod/pod-template.d.ts +29 -0
- package/dist/resources/pod/pod-template.d.ts.map +1 -0
- package/dist/resources/pod/pod-template.js +123 -0
- package/dist/resources/pod/pod-template.js.map +1 -0
- package/dist/resources/pod/volume/devices.d.ts +23 -0
- package/dist/resources/pod/volume/devices.d.ts.map +1 -0
- package/dist/resources/pod/volume/devices.js +94 -0
- package/dist/resources/pod/volume/devices.js.map +1 -0
- package/dist/resources/pod/volume/index.d.ts +4 -0
- package/dist/resources/pod/volume/index.d.ts.map +1 -0
- package/dist/resources/pod/volume/index.js +10 -0
- package/dist/resources/pod/volume/index.js.map +1 -0
- package/dist/resources/pod/volume/volumes.d.ts +30 -0
- package/dist/resources/pod/volume/volumes.d.ts.map +1 -0
- package/dist/resources/pod/volume/volumes.js +124 -0
- package/dist/resources/pod/volume/volumes.js.map +1 -0
- package/dist/resources/secret/index.d.ts +4 -0
- package/dist/resources/secret/index.d.ts.map +1 -0
- package/dist/resources/secret/index.js +39 -0
- package/dist/resources/secret/index.js.map +1 -0
- package/dist/resources/secret/secret.d.ts +9 -0
- package/dist/resources/secret/secret.d.ts.map +1 -0
- package/dist/resources/secret/secret.js +77 -0
- package/dist/resources/secret/secret.js.map +1 -0
- package/dist/resources/service/frontend.d.ts +11 -0
- package/dist/resources/service/frontend.d.ts.map +1 -0
- package/dist/resources/service/frontend.js +3 -0
- package/dist/resources/service/frontend.js.map +1 -0
- package/dist/resources/service/index.d.ts +2 -0
- package/dist/resources/service/index.d.ts.map +1 -0
- package/dist/resources/service/index.js +18 -0
- package/dist/resources/service/index.js.map +1 -0
- package/dist/resources/service/service-port.d.ts +19 -0
- package/dist/resources/service/service-port.d.ts.map +1 -0
- package/dist/resources/service/service-port.js +21 -0
- package/dist/resources/service/service-port.js.map +1 -0
- package/dist/resources/service/service.d.ts +21 -0
- package/dist/resources/service/service.d.ts.map +1 -0
- package/dist/resources/service/service.js +99 -0
- package/dist/resources/service/service.js.map +1 -0
- package/dist/resources/utils/adapters.d.ts +8 -0
- package/dist/resources/utils/adapters.d.ts.map +1 -0
- package/dist/resources/utils/adapters.js +38 -0
- package/dist/resources/utils/adapters.js.map +1 -0
- package/dist/runner/exporter/assembler.d.ts +50 -0
- package/dist/runner/exporter/assembler.d.ts.map +1 -0
- package/dist/runner/exporter/assembler.js +122 -0
- package/dist/runner/exporter/assembler.js.map +1 -0
- package/dist/runner/exporter/index.d.ts +3 -0
- package/dist/runner/exporter/index.d.ts.map +1 -0
- package/dist/runner/exporter/index.js +19 -0
- package/dist/runner/exporter/index.js.map +1 -0
- package/dist/runner/exporter/loader.d.ts +19 -0
- package/dist/runner/exporter/loader.d.ts.map +1 -0
- package/dist/runner/exporter/loader.js +47 -0
- package/dist/runner/exporter/loader.js.map +1 -0
- package/dist/runner/exporter/manifester.d.ts +21 -0
- package/dist/runner/exporter/manifester.d.ts.map +1 -0
- package/dist/runner/exporter/manifester.js +72 -0
- package/dist/runner/exporter/manifester.js.map +1 -0
- package/dist/runner/exporter/meta.d.ts +2 -0
- package/dist/runner/exporter/meta.d.ts.map +1 -0
- package/dist/runner/exporter/meta.js +5 -0
- package/dist/runner/exporter/meta.js.map +1 -0
- package/dist/runner/exporter/progress-shower.d.ts +11 -0
- package/dist/runner/exporter/progress-shower.d.ts.map +1 -0
- package/dist/runner/exporter/progress-shower.js +68 -0
- package/dist/runner/exporter/progress-shower.js.map +1 -0
- package/dist/runner/exporter/saver.d.ts +27 -0
- package/dist/runner/exporter/saver.d.ts.map +1 -0
- package/dist/runner/exporter/saver.js +49 -0
- package/dist/runner/exporter/saver.js.map +1 -0
- package/dist/runner/exporter/serializer.d.ts +18 -0
- package/dist/runner/exporter/serializer.d.ts.map +1 -0
- package/dist/runner/exporter/serializer.js +47 -0
- package/dist/runner/exporter/serializer.js.map +1 -0
- package/dist/runner/exporter/stage.d.ts +9 -0
- package/dist/runner/exporter/stage.d.ts.map +1 -0
- package/dist/runner/exporter/stage.js +94 -0
- package/dist/runner/exporter/stage.js.map +1 -0
- package/dist/runner/exporter/trace-embedder.d.ts +1 -0
- package/dist/runner/exporter/trace-embedder.d.ts.map +1 -0
- package/dist/runner/exporter/trace-embedder.js +2 -0
- package/dist/runner/exporter/trace-embedder.js.map +1 -0
- package/dist/runner/index.d.ts +2 -0
- package/dist/runner/index.d.ts.map +1 -0
- package/dist/runner/index.js +18 -0
- package/dist/runner/index.js.map +1 -0
- package/dist/runner/proverbs.d.ts +1 -0
- package/dist/runner/proverbs.d.ts.map +1 -0
- package/dist/runner/proverbs.js +2 -0
- package/dist/runner/proverbs.js.map +1 -0
- package/dist/runner/runner.d.ts +13 -0
- package/dist/runner/runner.d.ts.map +1 -0
- package/dist/runner/runner.js +51 -0
- package/dist/runner/runner.js.map +1 -0
- package/dist/runner/silly/proverbs.d.ts +7 -0
- package/dist/runner/silly/proverbs.d.ts.map +1 -0
- package/dist/runner/silly/proverbs.js +20 -0
- package/dist/runner/silly/proverbs.js.map +1 -0
- package/dist/runner/summarizer.d.ts +23 -0
- package/dist/runner/summarizer.d.ts.map +1 -0
- package/dist/runner/summarizer.js +115 -0
- package/dist/runner/summarizer.js.map +1 -0
- package/dist/src.tsbuildinfo +1 -0
- package/dist/test.tsbuildinfo +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +5 -0
- package/dist/version.js.map +1 -0
- package/dist/world/index.d.ts +2 -0
- package/dist/world/index.d.ts.map +1 -0
- package/dist/world/index.js +18 -0
- package/dist/world/index.js.map +1 -0
- package/dist/world/world.d.ts +28 -0
- package/dist/world/world.d.ts.map +1 -0
- package/dist/world/world.js +41 -0
- package/dist/world/world.js.map +1 -0
- package/package.json +106 -0
- package/proverbs.txt +23 -0
- package/src/_imports/_mix.ts +3 -0
- package/src/_imports/acme.cert-manager.io.ts +8202 -0
- package/src/_imports/gateway.networking.k8s.io.ts +12226 -0
- package/src/_imports/index.ts +2 -0
- package/src/_imports/k8s.ts +31028 -0
- package/src/_imports/tsconfig.json +22 -0
- package/src/api-versions.ts +5 -0
- package/src/error.ts +7 -0
- package/src/external/index.ts +34 -0
- package/src/file/exports.ts +63 -0
- package/src/file/factory.ts +150 -0
- package/src/file/file.ts +34 -0
- package/src/file/index.ts +1 -0
- package/src/file/origin.ts +38 -0
- package/src/index.ts +8 -0
- package/src/k8ts-sys-kind.ts +4 -0
- package/src/kind-map.ts +39 -0
- package/src/meta/k8ts-section.ts +6 -0
- package/src/node/abs-resource.ts +32 -0
- package/src/node/dependencies.ts +0 -0
- package/src/node/index.ts +1 -0
- package/src/node/manifest-resource.ts +19 -0
- package/src/node/sub-resource.ts +20 -0
- package/src/node/top-resource.ts +7 -0
- package/src/paths.ts +1 -0
- package/src/resources/configmap/configmap.ts +26 -0
- package/src/resources/configmap/index.ts +1 -0
- package/src/resources/deployment/deployment.ts +54 -0
- package/src/resources/deployment/index.ts +1 -0
- package/src/resources/http-route/http-route.ts +45 -0
- package/src/resources/http-route/index.ts +1 -0
- package/src/resources/index.ts +8 -0
- package/src/resources/namespace/index.ts +1 -0
- package/src/resources/namespace/namespace.ts +26 -0
- package/src/resources/persistent/access-mode.ts +29 -0
- package/src/resources/persistent/block-mode.ts +1 -0
- package/src/resources/persistent/claim/index.ts +1 -0
- package/src/resources/persistent/claim/pvc.ts +52 -0
- package/src/resources/persistent/index.ts +10 -0
- package/src/resources/persistent/volume/backend.ts +14 -0
- package/src/resources/persistent/volume/index.ts +1 -0
- package/src/resources/persistent/volume/parse-backend.ts +23 -0
- package/src/resources/persistent/volume/pv.ts +56 -0
- package/src/resources/pod/container/container.ts +137 -0
- package/src/resources/pod/container/index.ts +1 -0
- package/src/resources/pod/container/mounts.ts +45 -0
- package/src/resources/pod/index.ts +3 -0
- package/src/resources/pod/pod-template.ts +73 -0
- package/src/resources/pod/volume/devices.ts +50 -0
- package/src/resources/pod/volume/index.ts +3 -0
- package/src/resources/pod/volume/volumes.ts +90 -0
- package/src/resources/secret/index.ts +3 -0
- package/src/resources/secret/secret.ts +25 -0
- package/src/resources/service/frontend.ts +11 -0
- package/src/resources/service/index.ts +1 -0
- package/src/resources/service/service-port.ts +24 -0
- package/src/resources/service/service.ts +53 -0
- package/src/resources/utils/adapters.ts +36 -0
- package/src/runner/exporter/FILE xyz.md +47 -0
- package/src/runner/exporter/assembler.ts +170 -0
- package/src/runner/exporter/index.ts +2 -0
- package/src/runner/exporter/loader.ts +54 -0
- package/src/runner/exporter/manifester.ts +77 -0
- package/src/runner/exporter/meta.ts +1 -0
- package/src/runner/exporter/progress-shower.ts +77 -0
- package/src/runner/exporter/saver.ts +62 -0
- package/src/runner/exporter/serializer.ts +49 -0
- package/src/runner/exporter/stage.ts +36 -0
- package/src/runner/exporter/trace-embedder.ts +0 -0
- package/src/runner/index.ts +1 -0
- package/src/runner/proverbs.ts +0 -0
- package/src/runner/runner.ts +53 -0
- package/src/runner/silly/proverbs.ts +14 -0
- package/src/runner/summarizer.ts +133 -0
- package/src/tsconfig.json +16 -0
- package/src/version.ts +1 -0
- package/src/world/index.ts +1 -0
- package/src/world/world.ts +62 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { displayers } from "@k8ts/instruments"
|
|
2
|
+
import chalk from "chalk"
|
|
3
|
+
import { AssemblyStage } from "./assembler"
|
|
4
|
+
|
|
5
|
+
@displayers({
|
|
6
|
+
simple: s => s.text,
|
|
7
|
+
pretty: stage => chalk.bgGreenBright.bold.black(` ${stage.text} `)
|
|
8
|
+
})
|
|
9
|
+
export class Stage {
|
|
10
|
+
text: string
|
|
11
|
+
constructor(private stage: AssemblyStage) {
|
|
12
|
+
this.text = `${stage.toUpperCase()}`
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
private get _emoji() {
|
|
16
|
+
switch (this.stage) {
|
|
17
|
+
case "gathering":
|
|
18
|
+
return "🛒"
|
|
19
|
+
case "loading":
|
|
20
|
+
return "🚚"
|
|
21
|
+
case "manifesting":
|
|
22
|
+
return "👻"
|
|
23
|
+
case "start":
|
|
24
|
+
return "🚀"
|
|
25
|
+
case "saving":
|
|
26
|
+
return "💾"
|
|
27
|
+
case "serializing":
|
|
28
|
+
return "🖨️"
|
|
29
|
+
case "done":
|
|
30
|
+
return "✅"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export function stage(stage: AssemblyStage) {
|
|
35
|
+
return new Stage(stage)
|
|
36
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./runner"
|
|
File without changes
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { GitTrace, Trace } from "@k8ts/instruments"
|
|
2
|
+
import { Meta } from "@k8ts/metadata"
|
|
3
|
+
import chalk from "chalk"
|
|
4
|
+
import StackTracey from "stacktracey"
|
|
5
|
+
import { File } from "../file"
|
|
6
|
+
import { proverbsPath } from "../paths"
|
|
7
|
+
import { Assembler, AssemblerOptions, ProgressOptions, ProgressShower } from "./exporter"
|
|
8
|
+
import { k8ts_namespace } from "./exporter/meta"
|
|
9
|
+
import { Proverbs } from "./silly/proverbs"
|
|
10
|
+
import { Summarizer } from "./summarizer"
|
|
11
|
+
|
|
12
|
+
export interface RunnerOptions extends AssemblerOptions {
|
|
13
|
+
cwd?: string
|
|
14
|
+
printOptions?: boolean
|
|
15
|
+
progress: ProgressOptions
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export class Runner {
|
|
19
|
+
constructor(private readonly _options: RunnerOptions) {}
|
|
20
|
+
|
|
21
|
+
async run(input: Iterable<File.Input>) {
|
|
22
|
+
const proverbs = await Proverbs.make(proverbsPath)
|
|
23
|
+
console.log(chalk.italic.magentaBright(proverbs.random))
|
|
24
|
+
const gitInfo = await GitTrace.make({
|
|
25
|
+
cwd: this._options.cwd
|
|
26
|
+
})
|
|
27
|
+
const runTrace = new Trace(new StackTracey().slice(1))
|
|
28
|
+
const options = {
|
|
29
|
+
cwd: ".",
|
|
30
|
+
...this._options,
|
|
31
|
+
meta: Meta.make(this._options.meta).add(k8ts_namespace, {
|
|
32
|
+
"^emitted-at": runTrace.format({
|
|
33
|
+
cwd: this._options.cwd
|
|
34
|
+
}),
|
|
35
|
+
"^source-git": gitInfo?.text
|
|
36
|
+
})
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const progressShower = new ProgressShower(options.progress)
|
|
40
|
+
const assembler = new Assembler(options)
|
|
41
|
+
const summarizer = new Summarizer({
|
|
42
|
+
printOptions: this._options.printOptions
|
|
43
|
+
})
|
|
44
|
+
const visualizer = progressShower.visualize(assembler)
|
|
45
|
+
const result = await assembler.assemble(input)
|
|
46
|
+
|
|
47
|
+
const viz = summarizer.result(result)
|
|
48
|
+
|
|
49
|
+
await visualizer
|
|
50
|
+
console.log()
|
|
51
|
+
console.log(viz)
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { readFile } from "fs/promises"
|
|
2
|
+
export class Proverbs {
|
|
3
|
+
constructor(private _proverbs: string[]) {}
|
|
4
|
+
static async make(file: string) {
|
|
5
|
+
const loaded = await readFile(file, "utf-8")
|
|
6
|
+
const lines = loaded.split("\n")
|
|
7
|
+
return new Proverbs(lines)
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
get random() {
|
|
11
|
+
const idx = Math.floor(Math.random() * this._proverbs.length)
|
|
12
|
+
return `K8ts says: ${this._proverbs[idx]}`
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Displayers,
|
|
3
|
+
NeedsEdge,
|
|
4
|
+
Origin,
|
|
5
|
+
pretty,
|
|
6
|
+
ResourceNode,
|
|
7
|
+
TextPostProcessor
|
|
8
|
+
} from "@k8ts/instruments"
|
|
9
|
+
import { Meta } from "@k8ts/metadata"
|
|
10
|
+
import { List, Map } from "immutable"
|
|
11
|
+
import { dump } from "js-yaml"
|
|
12
|
+
import { AssembledResult } from "./exporter"
|
|
13
|
+
export interface SummarizerOptions {
|
|
14
|
+
printOptions?: boolean
|
|
15
|
+
}
|
|
16
|
+
export class Summarizer {
|
|
17
|
+
private _post = new TextPostProcessor()
|
|
18
|
+
constructor(private readonly _options: SummarizerOptions) {}
|
|
19
|
+
_formatRefFromTo(node: ResourceNode, edge: NeedsEdge<ResourceNode>) {
|
|
20
|
+
return this._token(pretty`${edge}`)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
private _token(text: string | object) {
|
|
24
|
+
if (typeof text === "object") {
|
|
25
|
+
text = pretty`${text}`
|
|
26
|
+
}
|
|
27
|
+
const token = this._post.token(text)
|
|
28
|
+
return token
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
private _resource(resource: ResourceNode): any[] | null {
|
|
32
|
+
const subs = resource.kids
|
|
33
|
+
.map(sub => {
|
|
34
|
+
const heading = Displayers.get(sub).pretty("local")
|
|
35
|
+
const description = this._resource(sub)
|
|
36
|
+
return { [this._token(heading)]: description }
|
|
37
|
+
})
|
|
38
|
+
.toArray()
|
|
39
|
+
.pull()
|
|
40
|
+
const depends = resource.needs
|
|
41
|
+
.map(x => this._formatRefFromTo(resource, x))
|
|
42
|
+
.toArray()
|
|
43
|
+
.pull()
|
|
44
|
+
if (depends.length === 0 && subs.length === 0) {
|
|
45
|
+
return null
|
|
46
|
+
}
|
|
47
|
+
return [...subs, ...depends]
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
private _resources(resources: ResourceNode[]): object {
|
|
51
|
+
const resourceContainer = List(resources)
|
|
52
|
+
.map(resource => {
|
|
53
|
+
const text = pretty`${resource}`
|
|
54
|
+
const token = this._token(text)
|
|
55
|
+
const objForm = this._resource(resource)
|
|
56
|
+
if (!objForm) {
|
|
57
|
+
return token
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
[token]: [...objForm, ...(resource.isRoot ? ["SPACE"] : [])]
|
|
61
|
+
}
|
|
62
|
+
})
|
|
63
|
+
.reduce((a, b) => {
|
|
64
|
+
return [...a, b]
|
|
65
|
+
}, [] as any)
|
|
66
|
+
|
|
67
|
+
return resourceContainer
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
private _yaml(input: object) {
|
|
71
|
+
const result = dump(input, {
|
|
72
|
+
lineWidth: 800,
|
|
73
|
+
noArrayIndent: true,
|
|
74
|
+
indent: 2,
|
|
75
|
+
noRefs: true,
|
|
76
|
+
replacer(key, value) {
|
|
77
|
+
if (value instanceof Meta.Meta) {
|
|
78
|
+
return value.values
|
|
79
|
+
}
|
|
80
|
+
return value
|
|
81
|
+
}
|
|
82
|
+
})
|
|
83
|
+
return result
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
private _serialize(input: object) {
|
|
87
|
+
const tree = this._yaml(input)
|
|
88
|
+
const rendered = this._post.render(tree)
|
|
89
|
+
return rendered.replaceAll("- SPACE", "")
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
private _getOptions(result: AssembledResult) {
|
|
93
|
+
const obj = {
|
|
94
|
+
options: result.options,
|
|
95
|
+
output: result.files.map(x => {
|
|
96
|
+
return {
|
|
97
|
+
path: x.path,
|
|
98
|
+
name: x.filename,
|
|
99
|
+
saved: x.bytes,
|
|
100
|
+
manifested: x.artifacts.length
|
|
101
|
+
}
|
|
102
|
+
})
|
|
103
|
+
}
|
|
104
|
+
return this._serialize(obj)
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
result(result: AssembledResult) {
|
|
108
|
+
const outputs = [] as string[]
|
|
109
|
+
if (this._options.printOptions) {
|
|
110
|
+
outputs.push(this._getOptions(result))
|
|
111
|
+
}
|
|
112
|
+
outputs.push(
|
|
113
|
+
this.files(
|
|
114
|
+
result.files.map(x => ({
|
|
115
|
+
origin: x.file,
|
|
116
|
+
resources: x.artifacts.map(x => x.k8ts)
|
|
117
|
+
}))
|
|
118
|
+
)
|
|
119
|
+
)
|
|
120
|
+
return outputs.join("\n")
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
files(obj: { origin: Origin; resources: ResourceNode[] }[]) {
|
|
124
|
+
let pairs = obj.flatMap(({ origin, resources }) => {
|
|
125
|
+
return [
|
|
126
|
+
[this._token(pretty`\n${origin}`), this._resources(resources)] as [string, object]
|
|
127
|
+
]
|
|
128
|
+
})
|
|
129
|
+
|
|
130
|
+
const x = Map(pairs).toJS()
|
|
131
|
+
return this._serialize(x)
|
|
132
|
+
}
|
|
133
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "../../../tsconfig.base.json",
|
|
3
|
+
"references": [
|
|
4
|
+
{
|
|
5
|
+
"path": "./_imports/tsconfig.json"
|
|
6
|
+
}
|
|
7
|
+
],
|
|
8
|
+
"compilerOptions": {
|
|
9
|
+
"rootDir": ".",
|
|
10
|
+
"noEmit": false,
|
|
11
|
+
"outDir": "../dist",
|
|
12
|
+
"tsBuildInfoFile": "../dist/src.tsbuildinfo"
|
|
13
|
+
},
|
|
14
|
+
"include": ["**/*.ts"],
|
|
15
|
+
"exclude": ["_imports/**/*.ts"]
|
|
16
|
+
}
|
package/src/version.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const version = "0.0.1"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./world"
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { BaseOriginEntity, KindMap, Origin, type Kind } from "@k8ts/instruments"
|
|
2
|
+
import { Meta } from "@k8ts/metadata"
|
|
3
|
+
import { External } from "../external"
|
|
4
|
+
import { File } from "../file"
|
|
5
|
+
import { k8tsBuildKind } from "../k8ts-sys-kind"
|
|
6
|
+
import { K8tsRootOrigin } from "../kind-map"
|
|
7
|
+
import type { ManifestResource } from "../node"
|
|
8
|
+
import type { Namespace } from "../resources"
|
|
9
|
+
export type ManifestFileName = `${string}.yaml`
|
|
10
|
+
export namespace World {
|
|
11
|
+
export interface Props {
|
|
12
|
+
name: string
|
|
13
|
+
meta?: Meta.Input
|
|
14
|
+
kinds?: KindMap
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const ident = k8tsBuildKind.kind("World")
|
|
18
|
+
export class Builder extends BaseOriginEntity<Props> {
|
|
19
|
+
readonly kind = ident
|
|
20
|
+
readonly ExternalOrigin: ExternalOriginEntity
|
|
21
|
+
constructor(props: Props) {
|
|
22
|
+
super("World", props, K8tsRootOrigin.node)
|
|
23
|
+
this.ExternalOrigin = new ExternalOriginEntity(this.node)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
External<K extends Kind>(kind: K, name: string, namespace?: string) {
|
|
27
|
+
return new External(this.ExternalOrigin.node, kind, name, namespace)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
File<T extends ManifestResource>(
|
|
31
|
+
name: ManifestFileName,
|
|
32
|
+
props: File.Props<Namespace, T>
|
|
33
|
+
): File<T>
|
|
34
|
+
File<T extends ManifestResource>(
|
|
35
|
+
name: ManifestFileName,
|
|
36
|
+
props: File.Props<"cluster", T>
|
|
37
|
+
): File<T>
|
|
38
|
+
File<T extends ManifestResource>(
|
|
39
|
+
name: ManifestFileName,
|
|
40
|
+
props: File.Props<any, T>
|
|
41
|
+
): File<T> {
|
|
42
|
+
return File.make(name, props, this.node)
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function make(props: Props) {
|
|
47
|
+
return new Builder(props)
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const ident = k8tsBuildKind.kind("External")
|
|
51
|
+
export class ExternalOriginEntity extends BaseOriginEntity {
|
|
52
|
+
kind = ident
|
|
53
|
+
constructor(parent: Origin) {
|
|
54
|
+
super(
|
|
55
|
+
"EXTERNAL",
|
|
56
|
+
{
|
|
57
|
+
meta: {}
|
|
58
|
+
},
|
|
59
|
+
parent
|
|
60
|
+
)
|
|
61
|
+
}
|
|
62
|
+
}
|