helm-viewer 0.1.4 → 0.2.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 ADDED
@@ -0,0 +1,15 @@
1
+ # Changelog
2
+
3
+ ## 0.2.0 | 2023-06-21
4
+
5
+ #### Docs
6
+
7
+ - Improve docs
8
+
9
+ ## 0.2.0rc-1 | 2023-06-21
10
+
11
+ This is the first published feature. The report provides a way to see yaml files in the chart and to see each file's details.
12
+
13
+ #### Features
14
+
15
+ - Integation of Monaco editor to have a beautiful yaml view
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Tchoupinax
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,13 +1,40 @@
1
1
  # helm-viewer
2
2
 
3
- ## Generate the binary
3
+ - Github: https://github.com/Tchoupinax/helm-viewer
4
+ - NPM: https://www.npmjs.com/package/helm-viewer
5
+
6
+ ## Motivation
7
+
8
+ When you are writing a [helm Chart](https://helm.sh/docs/topics/charts/), you often want to generate the template and check what is the final result. To reach this goal, helm provides this command : `helm template`.
9
+
10
+ However, the output of this command is a huge raw text and it is mainly painful.
4
11
 
12
+ This project aims to give you the right tool to build helm chart.
13
+
14
+ ## Installation
15
+
16
+ ```bash
17
+ # Install globally
18
+ npm i -g helm-viewer
5
19
  ```
6
- just
20
+
21
+ ## Usage
22
+
23
+ ```bash
24
+ # When you are in a chart helm folder
25
+ helm-viewer
26
+
27
+ # To target a specific path
28
+ helm-viewer path/of/the/chart
7
29
  ```
8
30
 
9
- ## Perform the execution
31
+ It will analyze the helm chart and generate a HTML report, automatically opened in your favorite browser.
32
+
33
+
34
+ # Development
35
+ ## Generate the binary
10
36
 
11
37
  ```
12
- node helm-template path/of/the/chart
38
+ just
13
39
  ```
40
+
package/binary/index.html CHANGED
@@ -18,16 +18,19 @@
18
18
  }
19
19
  }
20
20
  </script>
21
- <!--<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>-->
22
- <script type='text/javascript' src="assets/vue.global.js"></script>
21
+ <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
23
22
  </head>
24
23
  <body>
25
- <div id="app" class="flex">
26
- <sidebar class="w-2/5 bg-blue-50">
24
+ <div id="app" class="flex h-screen">
25
+ <div class="w-1/5 bg-blue-50 h-full">
27
26
  <div class="p-2">
28
27
  <h1 class="italic text-4xl font-thin ml-4 mb-8">>> Computed files</h1>
29
28
 
30
- <div class="mb-8" v-for="template of Object.keys(data.templated)">
29
+ <div
30
+ v-if="data.templated"
31
+ v-for="template of Object.keys(data.templated)"
32
+ class="mb-8"
33
+ >
31
34
  <p class="text-3xl font-thin">
32
35
  {{ template }}
33
36
  </p>
@@ -42,7 +45,10 @@
42
45
  </div>
43
46
  </div>
44
47
 
45
- <div class="bg-green-100">
48
+ <div
49
+ v-if="data.sources"
50
+ class="bg-green-100"
51
+ >
46
52
  <h1 class="italic text-4xl font-thin ml-4 mb-8">>> Sources</h1>
47
53
  <div class="mb-1" v-for="file of Object.keys(data.sources).filter(n => n !== 'templates')">
48
54
  <p
@@ -52,10 +58,14 @@
52
58
  {{ file }}
53
59
  </p>
54
60
  </div>
55
- <p
56
- class="text-xl ml-8 font-thin"
57
- >templates</p>
58
- <div class="mb-1 ml-6" v-for="file of Object.keys(data.sources['templates'])">
61
+
62
+ <p v-if="data.sources['templates']" class="text-xl ml-8 font-thin">templates</p>
63
+
64
+ <div
65
+ v-if="data.sources['templates']"
66
+ v-for="file of Object.keys(data.sources['templates'])"
67
+ class="mb-1 ml-6"
68
+ >
59
69
  <p
60
70
  class="text-xl ml-8 font-thin"
61
71
  @click="displaySourceFile(file, true)"
@@ -64,22 +74,9 @@
64
74
  </p>
65
75
  </div>
66
76
  </div>
67
- </sidebar>
77
+ </div>
68
78
 
69
- <div class="w-3/5 bg-blue-200 pl-8">
70
- <pre v-if="source && templateFile && fileName">
71
- <template v-if="source === 'templated'">
72
- {{ data["templated"][templateFile][fileName ]}}
73
- </template>
74
- <template v-else === 'templated'">
75
- <template v-if="isSourceTemplate">
76
- {{ data["sources"]["templates"][fileName ]}}
77
- </template>
78
- <template v-else>
79
- {{ data["sources"][fileName ]}}
80
- </template>
81
- </template>
82
- </pre>
79
+ <div id="container" class="w-4/5">
83
80
  </div>
84
81
  </div>
85
82
 
@@ -89,9 +86,9 @@
89
86
  createApp({
90
87
  data() {
91
88
  return {
92
- templateFile: "ServiceAccount",
93
- fileName: "psd2_connector_sandbox",
94
- source: "templated",
89
+ templateFile: undefined,
90
+ fileName: undefined,
91
+ source: undefined,
95
92
  isSourceTemplate: false,
96
93
  }
97
94
  },
@@ -104,17 +101,48 @@
104
101
  },
105
102
  methods: {
106
103
  displayTemplatedFile(templateFile, fileName) {
107
- this.source = "templated"
108
- this.templateFile = templateFile;
109
- this.fileName = fileName;
104
+ document.getElementById('container').innerHTML = ""
105
+ require(["vs/editor/editor.main"], () => {
106
+ monaco.editor.create(document.getElementById('container'), {
107
+ value: this.data["templated"][templateFile][fileName],
108
+ language: 'yaml',
109
+ theme: 'vs-dark',
110
+ });
111
+ });
110
112
  },
111
113
  displaySourceFile(fileName, isTemplate = false) {
112
114
  this.source = "source"
113
115
  this.fileName = fileName
114
116
  this.isSourceTemplate = isTemplate
117
+
118
+ if (isTemplate) {
119
+ document.getElementById('container').innerHTML = ""
120
+ require(["vs/editor/editor.main"], () => {
121
+ monaco.editor.create(document.getElementById('container'), {
122
+ value: this.data["sources"]["templates"][fileName],
123
+ language: 'yaml',
124
+ theme: 'vs-dark',
125
+ });
126
+ });
127
+ } else {
128
+ document.getElementById('container').innerHTML = ""
129
+ require(["vs/editor/editor.main"], () => {
130
+ monaco.editor.create(document.getElementById('container'), {
131
+ value: this.data["sources"][fileName],
132
+ language: 'yaml',
133
+ theme: 'vs-dark',
134
+ });
135
+ });
136
+ }
115
137
  }
116
138
  }
117
139
  }).mount('#app')
118
140
  </script>
141
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.26.1/min/vs/loader.min.js"></script>
142
+ <script>
143
+ // require is provided by loader.min.js.
144
+ require.config({ paths: { 'vs': 'https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.26.1/min/vs' }});
145
+
146
+ </script>
119
147
  </body>
120
148
  </html>
package/binary/index.js CHANGED
@@ -5745,17 +5745,18 @@ const fs_1 = __nccwpck_require__(7147);
5745
5745
  const js_yaml_1 = __importDefault(__nccwpck_require__(1917));
5746
5746
  const path_1 = __nccwpck_require__(1017);
5747
5747
  function saveTemplatedYamlToFiles(helmTemplate) {
5748
+ var _a, _b;
5748
5749
  const dataFileJSON = { templated: {} };
5749
5750
  const files = helmTemplate.split('---');
5750
5751
  for (const file of files) {
5751
5752
  const jsonFile = js_yaml_1.default.load(file);
5752
5753
  if (jsonFile) {
5753
- const key = jsonFile.kind + "_" + jsonFile.metadata.name.replaceAll('-', "_");
5754
+ const key = jsonFile.kind + "_" + ((_a = jsonFile === null || jsonFile === void 0 ? void 0 : jsonFile.metadata) === null || _a === void 0 ? void 0 : _a.name.replaceAll('-', "_"));
5754
5755
  (0, fs_1.writeFileSync)(`./tmp/templated/${key}.yaml`, file);
5755
5756
  if (!dataFileJSON["templated"][jsonFile.kind]) {
5756
5757
  dataFileJSON["templated"][jsonFile.kind] = {};
5757
5758
  }
5758
- dataFileJSON["templated"][jsonFile.kind][jsonFile.metadata.name.replaceAll('-', "_")] = file;
5759
+ dataFileJSON["templated"][jsonFile.kind][(_b = jsonFile === null || jsonFile === void 0 ? void 0 : jsonFile.metadata) === null || _b === void 0 ? void 0 : _b.name.replaceAll('-', "_")] = file;
5759
5760
  }
5760
5761
  }
5761
5762
  (0, fs_1.writeFileSync)('tmp/global-data.json', JSON.stringify(dataFileJSON, null, 2));
@@ -5818,16 +5819,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5818
5819
  };
5819
5820
  Object.defineProperty(exports, "__esModule", ({ value: true }));
5820
5821
  const is_chart_folder_1 = __nccwpck_require__(2620);
5821
- const execa_1 = __nccwpck_require__(2168);
5822
+ const execa_1 = __nccwpck_require__(4349);
5822
5823
  const save_yaml_1 = __nccwpck_require__(8895);
5823
5824
  const fs_1 = __nccwpck_require__(7147);
5824
5825
  const open_1 = __importDefault(__nccwpck_require__(5768));
5825
5826
  const crypto_1 = __nccwpck_require__(6113);
5827
+ const chalk_1 = __importDefault(__nccwpck_require__(385));
5826
5828
  function run() {
5827
5829
  var _a, _b;
5828
5830
  return __awaiter(this, void 0, void 0, function* () {
5829
5831
  const currentPath = (_b = (_a = process.argv) === null || _a === void 0 ? void 0 : _a.at(2)) !== null && _b !== void 0 ? _b : process.cwd();
5830
- console.log(`path detected ${currentPath}`);
5832
+ console.log(chalk_1.default.bgCyanBright(`path detected ${currentPath}`));
5831
5833
  (0, fs_1.rmSync)('tmp', { recursive: true, force: true });
5832
5834
  (0, fs_1.mkdirSync)('tmp/templated', { recursive: true });
5833
5835
  (0, fs_1.mkdirSync)('tmp/sources', { recursive: true });
@@ -5835,14 +5837,27 @@ function run() {
5835
5837
  console.log('Not a chart folder');
5836
5838
  process.exit(1);
5837
5839
  }
5838
- const { stdout } = yield (0, execa_1.$) `helm template ${currentPath}`;
5840
+ let stdout;
5841
+ try {
5842
+ ({ stdout } = yield (0, execa_1.$) `helm template ${currentPath}`);
5843
+ }
5844
+ catch (err) {
5845
+ console.log("\n");
5846
+ console.log(chalk_1.default.bgRedBright("The computation of the chart failed. (message below)"));
5847
+ console.log(err.message);
5848
+ console.log("\n");
5849
+ process.exit(1);
5850
+ }
5839
5851
  (0, save_yaml_1.saveTemplatedYamlToFiles)(stdout);
5840
5852
  (0, save_yaml_1.saveSourcesYamlToFiles)(currentPath);
5841
5853
  const JSON = (0, fs_1.readFileSync)('tmp/global-data.json', 'utf-8');
5854
+ if (process.env.NODE_ENV === "development") {
5855
+ (0, fs_1.mkdirSync)('src/assets', { recursive: true });
5856
+ (0, fs_1.writeFileSync)('src/assets/global-data.js', `const DATA = ${JSON}`);
5857
+ }
5842
5858
  let file = (0, fs_1.readFileSync)(__nccwpck_require__.ab + "index.html", 'utf-8');
5843
5859
  file = file
5844
- .replace('<script src="assets/global-data.js"></script>', `<script>const DATA = ${JSON};</script>`)
5845
- .replace('<!--<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>-->', '<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>');
5860
+ .replace('<script src="assets/global-data.js"></script>', `<script>const DATA = ${JSON};</script>`);
5846
5861
  const id = (0, crypto_1.randomUUID)();
5847
5862
  (0, fs_1.writeFileSync)(`tmp/index-${id}.html`, file);
5848
5863
  (0, open_1.default)(`tmp/index-${id}.html`);
@@ -5910,6 +5925,22 @@ module.exports = require("node:fs");
5910
5925
 
5911
5926
  /***/ }),
5912
5927
 
5928
+ /***/ 612:
5929
+ /***/ ((module) => {
5930
+
5931
+ "use strict";
5932
+ module.exports = require("node:os");
5933
+
5934
+ /***/ }),
5935
+
5936
+ /***/ 7742:
5937
+ /***/ ((module) => {
5938
+
5939
+ "use strict";
5940
+ module.exports = require("node:process");
5941
+
5942
+ /***/ }),
5943
+
5913
5944
  /***/ 2037:
5914
5945
  /***/ ((module) => {
5915
5946
 
@@ -5942,7 +5973,693 @@ module.exports = require("util");
5942
5973
 
5943
5974
  /***/ }),
5944
5975
 
5945
- /***/ 2168:
5976
+ /***/ 385:
5977
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __nccwpck_require__) => {
5978
+
5979
+ "use strict";
5980
+ // ESM COMPAT FLAG
5981
+ __nccwpck_require__.r(__webpack_exports__);
5982
+
5983
+ // EXPORTS
5984
+ __nccwpck_require__.d(__webpack_exports__, {
5985
+ "Chalk": () => (/* binding */ Chalk),
5986
+ "backgroundColorNames": () => (/* reexport */ backgroundColorNames),
5987
+ "backgroundColors": () => (/* reexport */ backgroundColorNames),
5988
+ "chalkStderr": () => (/* binding */ chalkStderr),
5989
+ "colorNames": () => (/* reexport */ colorNames),
5990
+ "colors": () => (/* reexport */ colorNames),
5991
+ "default": () => (/* binding */ source),
5992
+ "foregroundColorNames": () => (/* reexport */ foregroundColorNames),
5993
+ "foregroundColors": () => (/* reexport */ foregroundColorNames),
5994
+ "modifierNames": () => (/* reexport */ modifierNames),
5995
+ "modifiers": () => (/* reexport */ modifierNames),
5996
+ "supportsColor": () => (/* binding */ stdoutColor),
5997
+ "supportsColorStderr": () => (/* binding */ stderrColor)
5998
+ });
5999
+
6000
+ ;// CONCATENATED MODULE: ./node_modules/chalk/source/vendor/ansi-styles/index.js
6001
+ const ANSI_BACKGROUND_OFFSET = 10;
6002
+
6003
+ const wrapAnsi16 = (offset = 0) => code => `\u001B[${code + offset}m`;
6004
+
6005
+ const wrapAnsi256 = (offset = 0) => code => `\u001B[${38 + offset};5;${code}m`;
6006
+
6007
+ const wrapAnsi16m = (offset = 0) => (red, green, blue) => `\u001B[${38 + offset};2;${red};${green};${blue}m`;
6008
+
6009
+ const styles = {
6010
+ modifier: {
6011
+ reset: [0, 0],
6012
+ // 21 isn't widely supported and 22 does the same thing
6013
+ bold: [1, 22],
6014
+ dim: [2, 22],
6015
+ italic: [3, 23],
6016
+ underline: [4, 24],
6017
+ overline: [53, 55],
6018
+ inverse: [7, 27],
6019
+ hidden: [8, 28],
6020
+ strikethrough: [9, 29],
6021
+ },
6022
+ color: {
6023
+ black: [30, 39],
6024
+ red: [31, 39],
6025
+ green: [32, 39],
6026
+ yellow: [33, 39],
6027
+ blue: [34, 39],
6028
+ magenta: [35, 39],
6029
+ cyan: [36, 39],
6030
+ white: [37, 39],
6031
+
6032
+ // Bright color
6033
+ blackBright: [90, 39],
6034
+ gray: [90, 39], // Alias of `blackBright`
6035
+ grey: [90, 39], // Alias of `blackBright`
6036
+ redBright: [91, 39],
6037
+ greenBright: [92, 39],
6038
+ yellowBright: [93, 39],
6039
+ blueBright: [94, 39],
6040
+ magentaBright: [95, 39],
6041
+ cyanBright: [96, 39],
6042
+ whiteBright: [97, 39],
6043
+ },
6044
+ bgColor: {
6045
+ bgBlack: [40, 49],
6046
+ bgRed: [41, 49],
6047
+ bgGreen: [42, 49],
6048
+ bgYellow: [43, 49],
6049
+ bgBlue: [44, 49],
6050
+ bgMagenta: [45, 49],
6051
+ bgCyan: [46, 49],
6052
+ bgWhite: [47, 49],
6053
+
6054
+ // Bright color
6055
+ bgBlackBright: [100, 49],
6056
+ bgGray: [100, 49], // Alias of `bgBlackBright`
6057
+ bgGrey: [100, 49], // Alias of `bgBlackBright`
6058
+ bgRedBright: [101, 49],
6059
+ bgGreenBright: [102, 49],
6060
+ bgYellowBright: [103, 49],
6061
+ bgBlueBright: [104, 49],
6062
+ bgMagentaBright: [105, 49],
6063
+ bgCyanBright: [106, 49],
6064
+ bgWhiteBright: [107, 49],
6065
+ },
6066
+ };
6067
+
6068
+ const modifierNames = Object.keys(styles.modifier);
6069
+ const foregroundColorNames = Object.keys(styles.color);
6070
+ const backgroundColorNames = Object.keys(styles.bgColor);
6071
+ const colorNames = [...foregroundColorNames, ...backgroundColorNames];
6072
+
6073
+ function assembleStyles() {
6074
+ const codes = new Map();
6075
+
6076
+ for (const [groupName, group] of Object.entries(styles)) {
6077
+ for (const [styleName, style] of Object.entries(group)) {
6078
+ styles[styleName] = {
6079
+ open: `\u001B[${style[0]}m`,
6080
+ close: `\u001B[${style[1]}m`,
6081
+ };
6082
+
6083
+ group[styleName] = styles[styleName];
6084
+
6085
+ codes.set(style[0], style[1]);
6086
+ }
6087
+
6088
+ Object.defineProperty(styles, groupName, {
6089
+ value: group,
6090
+ enumerable: false,
6091
+ });
6092
+ }
6093
+
6094
+ Object.defineProperty(styles, 'codes', {
6095
+ value: codes,
6096
+ enumerable: false,
6097
+ });
6098
+
6099
+ styles.color.close = '\u001B[39m';
6100
+ styles.bgColor.close = '\u001B[49m';
6101
+
6102
+ styles.color.ansi = wrapAnsi16();
6103
+ styles.color.ansi256 = wrapAnsi256();
6104
+ styles.color.ansi16m = wrapAnsi16m();
6105
+ styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
6106
+ styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
6107
+ styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
6108
+
6109
+ // From https://github.com/Qix-/color-convert/blob/3f0e0d4e92e235796ccb17f6e85c72094a651f49/conversions.js
6110
+ Object.defineProperties(styles, {
6111
+ rgbToAnsi256: {
6112
+ value(red, green, blue) {
6113
+ // We use the extended greyscale palette here, with the exception of
6114
+ // black and white. normal palette only has 4 greyscale shades.
6115
+ if (red === green && green === blue) {
6116
+ if (red < 8) {
6117
+ return 16;
6118
+ }
6119
+
6120
+ if (red > 248) {
6121
+ return 231;
6122
+ }
6123
+
6124
+ return Math.round(((red - 8) / 247) * 24) + 232;
6125
+ }
6126
+
6127
+ return 16
6128
+ + (36 * Math.round(red / 255 * 5))
6129
+ + (6 * Math.round(green / 255 * 5))
6130
+ + Math.round(blue / 255 * 5);
6131
+ },
6132
+ enumerable: false,
6133
+ },
6134
+ hexToRgb: {
6135
+ value(hex) {
6136
+ const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
6137
+ if (!matches) {
6138
+ return [0, 0, 0];
6139
+ }
6140
+
6141
+ let [colorString] = matches;
6142
+
6143
+ if (colorString.length === 3) {
6144
+ colorString = [...colorString].map(character => character + character).join('');
6145
+ }
6146
+
6147
+ const integer = Number.parseInt(colorString, 16);
6148
+
6149
+ return [
6150
+ /* eslint-disable no-bitwise */
6151
+ (integer >> 16) & 0xFF,
6152
+ (integer >> 8) & 0xFF,
6153
+ integer & 0xFF,
6154
+ /* eslint-enable no-bitwise */
6155
+ ];
6156
+ },
6157
+ enumerable: false,
6158
+ },
6159
+ hexToAnsi256: {
6160
+ value: hex => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
6161
+ enumerable: false,
6162
+ },
6163
+ ansi256ToAnsi: {
6164
+ value(code) {
6165
+ if (code < 8) {
6166
+ return 30 + code;
6167
+ }
6168
+
6169
+ if (code < 16) {
6170
+ return 90 + (code - 8);
6171
+ }
6172
+
6173
+ let red;
6174
+ let green;
6175
+ let blue;
6176
+
6177
+ if (code >= 232) {
6178
+ red = (((code - 232) * 10) + 8) / 255;
6179
+ green = red;
6180
+ blue = red;
6181
+ } else {
6182
+ code -= 16;
6183
+
6184
+ const remainder = code % 36;
6185
+
6186
+ red = Math.floor(code / 36) / 5;
6187
+ green = Math.floor(remainder / 6) / 5;
6188
+ blue = (remainder % 6) / 5;
6189
+ }
6190
+
6191
+ const value = Math.max(red, green, blue) * 2;
6192
+
6193
+ if (value === 0) {
6194
+ return 30;
6195
+ }
6196
+
6197
+ // eslint-disable-next-line no-bitwise
6198
+ let result = 30 + ((Math.round(blue) << 2) | (Math.round(green) << 1) | Math.round(red));
6199
+
6200
+ if (value === 2) {
6201
+ result += 60;
6202
+ }
6203
+
6204
+ return result;
6205
+ },
6206
+ enumerable: false,
6207
+ },
6208
+ rgbToAnsi: {
6209
+ value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
6210
+ enumerable: false,
6211
+ },
6212
+ hexToAnsi: {
6213
+ value: hex => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
6214
+ enumerable: false,
6215
+ },
6216
+ });
6217
+
6218
+ return styles;
6219
+ }
6220
+
6221
+ const ansiStyles = assembleStyles();
6222
+
6223
+ /* harmony default export */ const ansi_styles = (ansiStyles);
6224
+
6225
+ // EXTERNAL MODULE: external "node:process"
6226
+ var external_node_process_ = __nccwpck_require__(7742);
6227
+ // EXTERNAL MODULE: external "node:os"
6228
+ var external_node_os_ = __nccwpck_require__(612);
6229
+ ;// CONCATENATED MODULE: external "node:tty"
6230
+ const external_node_tty_namespaceObject = require("node:tty");
6231
+ ;// CONCATENATED MODULE: ./node_modules/chalk/source/vendor/supports-color/index.js
6232
+
6233
+
6234
+
6235
+
6236
+ // From: https://github.com/sindresorhus/has-flag/blob/main/index.js
6237
+ function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : external_node_process_.argv) {
6238
+ const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');
6239
+ const position = argv.indexOf(prefix + flag);
6240
+ const terminatorPosition = argv.indexOf('--');
6241
+ return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
6242
+ }
6243
+
6244
+ const {env} = external_node_process_;
6245
+
6246
+ let flagForceColor;
6247
+ if (
6248
+ hasFlag('no-color')
6249
+ || hasFlag('no-colors')
6250
+ || hasFlag('color=false')
6251
+ || hasFlag('color=never')
6252
+ ) {
6253
+ flagForceColor = 0;
6254
+ } else if (
6255
+ hasFlag('color')
6256
+ || hasFlag('colors')
6257
+ || hasFlag('color=true')
6258
+ || hasFlag('color=always')
6259
+ ) {
6260
+ flagForceColor = 1;
6261
+ }
6262
+
6263
+ function envForceColor() {
6264
+ if ('FORCE_COLOR' in env) {
6265
+ if (env.FORCE_COLOR === 'true') {
6266
+ return 1;
6267
+ }
6268
+
6269
+ if (env.FORCE_COLOR === 'false') {
6270
+ return 0;
6271
+ }
6272
+
6273
+ return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
6274
+ }
6275
+ }
6276
+
6277
+ function translateLevel(level) {
6278
+ if (level === 0) {
6279
+ return false;
6280
+ }
6281
+
6282
+ return {
6283
+ level,
6284
+ hasBasic: true,
6285
+ has256: level >= 2,
6286
+ has16m: level >= 3,
6287
+ };
6288
+ }
6289
+
6290
+ function _supportsColor(haveStream, {streamIsTTY, sniffFlags = true} = {}) {
6291
+ const noFlagForceColor = envForceColor();
6292
+ if (noFlagForceColor !== undefined) {
6293
+ flagForceColor = noFlagForceColor;
6294
+ }
6295
+
6296
+ const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
6297
+
6298
+ if (forceColor === 0) {
6299
+ return 0;
6300
+ }
6301
+
6302
+ if (sniffFlags) {
6303
+ if (hasFlag('color=16m')
6304
+ || hasFlag('color=full')
6305
+ || hasFlag('color=truecolor')) {
6306
+ return 3;
6307
+ }
6308
+
6309
+ if (hasFlag('color=256')) {
6310
+ return 2;
6311
+ }
6312
+ }
6313
+
6314
+ // Check for Azure DevOps pipelines.
6315
+ // Has to be above the `!streamIsTTY` check.
6316
+ if ('TF_BUILD' in env && 'AGENT_NAME' in env) {
6317
+ return 1;
6318
+ }
6319
+
6320
+ if (haveStream && !streamIsTTY && forceColor === undefined) {
6321
+ return 0;
6322
+ }
6323
+
6324
+ const min = forceColor || 0;
6325
+
6326
+ if (env.TERM === 'dumb') {
6327
+ return min;
6328
+ }
6329
+
6330
+ if (external_node_process_.platform === 'win32') {
6331
+ // Windows 10 build 10586 is the first Windows release that supports 256 colors.
6332
+ // Windows 10 build 14931 is the first release that supports 16m/TrueColor.
6333
+ const osRelease = external_node_os_.release().split('.');
6334
+ if (
6335
+ Number(osRelease[0]) >= 10
6336
+ && Number(osRelease[2]) >= 10_586
6337
+ ) {
6338
+ return Number(osRelease[2]) >= 14_931 ? 3 : 2;
6339
+ }
6340
+
6341
+ return 1;
6342
+ }
6343
+
6344
+ if ('CI' in env) {
6345
+ if ('GITHUB_ACTIONS' in env) {
6346
+ return 3;
6347
+ }
6348
+
6349
+ if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'BUILDKITE', 'DRONE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {
6350
+ return 1;
6351
+ }
6352
+
6353
+ return min;
6354
+ }
6355
+
6356
+ if ('TEAMCITY_VERSION' in env) {
6357
+ return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
6358
+ }
6359
+
6360
+ if (env.COLORTERM === 'truecolor') {
6361
+ return 3;
6362
+ }
6363
+
6364
+ if (env.TERM === 'xterm-kitty') {
6365
+ return 3;
6366
+ }
6367
+
6368
+ if ('TERM_PROGRAM' in env) {
6369
+ const version = Number.parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);
6370
+
6371
+ switch (env.TERM_PROGRAM) {
6372
+ case 'iTerm.app': {
6373
+ return version >= 3 ? 3 : 2;
6374
+ }
6375
+
6376
+ case 'Apple_Terminal': {
6377
+ return 2;
6378
+ }
6379
+ // No default
6380
+ }
6381
+ }
6382
+
6383
+ if (/-256(color)?$/i.test(env.TERM)) {
6384
+ return 2;
6385
+ }
6386
+
6387
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
6388
+ return 1;
6389
+ }
6390
+
6391
+ if ('COLORTERM' in env) {
6392
+ return 1;
6393
+ }
6394
+
6395
+ return min;
6396
+ }
6397
+
6398
+ function createSupportsColor(stream, options = {}) {
6399
+ const level = _supportsColor(stream, {
6400
+ streamIsTTY: stream && stream.isTTY,
6401
+ ...options,
6402
+ });
6403
+
6404
+ return translateLevel(level);
6405
+ }
6406
+
6407
+ const supportsColor = {
6408
+ stdout: createSupportsColor({isTTY: external_node_tty_namespaceObject.isatty(1)}),
6409
+ stderr: createSupportsColor({isTTY: external_node_tty_namespaceObject.isatty(2)}),
6410
+ };
6411
+
6412
+ /* harmony default export */ const supports_color = (supportsColor);
6413
+
6414
+ ;// CONCATENATED MODULE: ./node_modules/chalk/source/utilities.js
6415
+ // TODO: When targeting Node.js 16, use `String.prototype.replaceAll`.
6416
+ function stringReplaceAll(string, substring, replacer) {
6417
+ let index = string.indexOf(substring);
6418
+ if (index === -1) {
6419
+ return string;
6420
+ }
6421
+
6422
+ const substringLength = substring.length;
6423
+ let endIndex = 0;
6424
+ let returnValue = '';
6425
+ do {
6426
+ returnValue += string.slice(endIndex, index) + substring + replacer;
6427
+ endIndex = index + substringLength;
6428
+ index = string.indexOf(substring, endIndex);
6429
+ } while (index !== -1);
6430
+
6431
+ returnValue += string.slice(endIndex);
6432
+ return returnValue;
6433
+ }
6434
+
6435
+ function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
6436
+ let endIndex = 0;
6437
+ let returnValue = '';
6438
+ do {
6439
+ const gotCR = string[index - 1] === '\r';
6440
+ returnValue += string.slice(endIndex, (gotCR ? index - 1 : index)) + prefix + (gotCR ? '\r\n' : '\n') + postfix;
6441
+ endIndex = index + 1;
6442
+ index = string.indexOf('\n', endIndex);
6443
+ } while (index !== -1);
6444
+
6445
+ returnValue += string.slice(endIndex);
6446
+ return returnValue;
6447
+ }
6448
+
6449
+ ;// CONCATENATED MODULE: ./node_modules/chalk/source/index.js
6450
+
6451
+
6452
+
6453
+
6454
+ const {stdout: stdoutColor, stderr: stderrColor} = supports_color;
6455
+
6456
+ const GENERATOR = Symbol('GENERATOR');
6457
+ const STYLER = Symbol('STYLER');
6458
+ const IS_EMPTY = Symbol('IS_EMPTY');
6459
+
6460
+ // `supportsColor.level` → `ansiStyles.color[name]` mapping
6461
+ const levelMapping = [
6462
+ 'ansi',
6463
+ 'ansi',
6464
+ 'ansi256',
6465
+ 'ansi16m',
6466
+ ];
6467
+
6468
+ const source_styles = Object.create(null);
6469
+
6470
+ const applyOptions = (object, options = {}) => {
6471
+ if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
6472
+ throw new Error('The `level` option should be an integer from 0 to 3');
6473
+ }
6474
+
6475
+ // Detect level if not set manually
6476
+ const colorLevel = stdoutColor ? stdoutColor.level : 0;
6477
+ object.level = options.level === undefined ? colorLevel : options.level;
6478
+ };
6479
+
6480
+ class Chalk {
6481
+ constructor(options) {
6482
+ // eslint-disable-next-line no-constructor-return
6483
+ return chalkFactory(options);
6484
+ }
6485
+ }
6486
+
6487
+ const chalkFactory = options => {
6488
+ const chalk = (...strings) => strings.join(' ');
6489
+ applyOptions(chalk, options);
6490
+
6491
+ Object.setPrototypeOf(chalk, createChalk.prototype);
6492
+
6493
+ return chalk;
6494
+ };
6495
+
6496
+ function createChalk(options) {
6497
+ return chalkFactory(options);
6498
+ }
6499
+
6500
+ Object.setPrototypeOf(createChalk.prototype, Function.prototype);
6501
+
6502
+ for (const [styleName, style] of Object.entries(ansi_styles)) {
6503
+ source_styles[styleName] = {
6504
+ get() {
6505
+ const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
6506
+ Object.defineProperty(this, styleName, {value: builder});
6507
+ return builder;
6508
+ },
6509
+ };
6510
+ }
6511
+
6512
+ source_styles.visible = {
6513
+ get() {
6514
+ const builder = createBuilder(this, this[STYLER], true);
6515
+ Object.defineProperty(this, 'visible', {value: builder});
6516
+ return builder;
6517
+ },
6518
+ };
6519
+
6520
+ const getModelAnsi = (model, level, type, ...arguments_) => {
6521
+ if (model === 'rgb') {
6522
+ if (level === 'ansi16m') {
6523
+ return ansi_styles[type].ansi16m(...arguments_);
6524
+ }
6525
+
6526
+ if (level === 'ansi256') {
6527
+ return ansi_styles[type].ansi256(ansi_styles.rgbToAnsi256(...arguments_));
6528
+ }
6529
+
6530
+ return ansi_styles[type].ansi(ansi_styles.rgbToAnsi(...arguments_));
6531
+ }
6532
+
6533
+ if (model === 'hex') {
6534
+ return getModelAnsi('rgb', level, type, ...ansi_styles.hexToRgb(...arguments_));
6535
+ }
6536
+
6537
+ return ansi_styles[type][model](...arguments_);
6538
+ };
6539
+
6540
+ const usedModels = ['rgb', 'hex', 'ansi256'];
6541
+
6542
+ for (const model of usedModels) {
6543
+ source_styles[model] = {
6544
+ get() {
6545
+ const {level} = this;
6546
+ return function (...arguments_) {
6547
+ const styler = createStyler(getModelAnsi(model, levelMapping[level], 'color', ...arguments_), ansi_styles.color.close, this[STYLER]);
6548
+ return createBuilder(this, styler, this[IS_EMPTY]);
6549
+ };
6550
+ },
6551
+ };
6552
+
6553
+ const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);
6554
+ source_styles[bgModel] = {
6555
+ get() {
6556
+ const {level} = this;
6557
+ return function (...arguments_) {
6558
+ const styler = createStyler(getModelAnsi(model, levelMapping[level], 'bgColor', ...arguments_), ansi_styles.bgColor.close, this[STYLER]);
6559
+ return createBuilder(this, styler, this[IS_EMPTY]);
6560
+ };
6561
+ },
6562
+ };
6563
+ }
6564
+
6565
+ const proto = Object.defineProperties(() => {}, {
6566
+ ...source_styles,
6567
+ level: {
6568
+ enumerable: true,
6569
+ get() {
6570
+ return this[GENERATOR].level;
6571
+ },
6572
+ set(level) {
6573
+ this[GENERATOR].level = level;
6574
+ },
6575
+ },
6576
+ });
6577
+
6578
+ const createStyler = (open, close, parent) => {
6579
+ let openAll;
6580
+ let closeAll;
6581
+ if (parent === undefined) {
6582
+ openAll = open;
6583
+ closeAll = close;
6584
+ } else {
6585
+ openAll = parent.openAll + open;
6586
+ closeAll = close + parent.closeAll;
6587
+ }
6588
+
6589
+ return {
6590
+ open,
6591
+ close,
6592
+ openAll,
6593
+ closeAll,
6594
+ parent,
6595
+ };
6596
+ };
6597
+
6598
+ const createBuilder = (self, _styler, _isEmpty) => {
6599
+ // Single argument is hot path, implicit coercion is faster than anything
6600
+ // eslint-disable-next-line no-implicit-coercion
6601
+ const builder = (...arguments_) => applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' '));
6602
+
6603
+ // We alter the prototype because we must return a function, but there is
6604
+ // no way to create a function with a different prototype
6605
+ Object.setPrototypeOf(builder, proto);
6606
+
6607
+ builder[GENERATOR] = self;
6608
+ builder[STYLER] = _styler;
6609
+ builder[IS_EMPTY] = _isEmpty;
6610
+
6611
+ return builder;
6612
+ };
6613
+
6614
+ const applyStyle = (self, string) => {
6615
+ if (self.level <= 0 || !string) {
6616
+ return self[IS_EMPTY] ? '' : string;
6617
+ }
6618
+
6619
+ let styler = self[STYLER];
6620
+
6621
+ if (styler === undefined) {
6622
+ return string;
6623
+ }
6624
+
6625
+ const {openAll, closeAll} = styler;
6626
+ if (string.includes('\u001B')) {
6627
+ while (styler !== undefined) {
6628
+ // Replace any instances already present with a re-opening code
6629
+ // otherwise only the part of the string until said closing code
6630
+ // will be colored, and the rest will simply be 'plain'.
6631
+ string = stringReplaceAll(string, styler.close, styler.open);
6632
+
6633
+ styler = styler.parent;
6634
+ }
6635
+ }
6636
+
6637
+ // We can move both next actions out of loop, because remaining actions in loop won't have
6638
+ // any/visible effect on parts we add here. Close the styling before a linebreak and reopen
6639
+ // after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92
6640
+ const lfIndex = string.indexOf('\n');
6641
+ if (lfIndex !== -1) {
6642
+ string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
6643
+ }
6644
+
6645
+ return openAll + string + closeAll;
6646
+ };
6647
+
6648
+ Object.defineProperties(createChalk.prototype, source_styles);
6649
+
6650
+ const chalk = createChalk();
6651
+ const chalkStderr = createChalk({level: stderrColor ? stderrColor.level : 0});
6652
+
6653
+
6654
+
6655
+
6656
+
6657
+ /* harmony default export */ const source = (chalk);
6658
+
6659
+
6660
+ /***/ }),
6661
+
6662
+ /***/ 4349:
5946
6663
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __nccwpck_require__) => {
5947
6664
 
5948
6665
  "use strict";
@@ -5965,8 +6682,8 @@ const external_node_buffer_namespaceObject = require("node:buffer");
5965
6682
  const external_node_path_namespaceObject = require("node:path");
5966
6683
  ;// CONCATENATED MODULE: external "node:child_process"
5967
6684
  const external_node_child_process_namespaceObject = require("node:child_process");
5968
- ;// CONCATENATED MODULE: external "node:process"
5969
- const external_node_process_namespaceObject = require("node:process");
6685
+ // EXTERNAL MODULE: external "node:process"
6686
+ var external_node_process_ = __nccwpck_require__(7742);
5970
6687
  // EXTERNAL MODULE: ./node_modules/cross-spawn/index.js
5971
6688
  var cross_spawn = __nccwpck_require__(2746);
5972
6689
  ;// CONCATENATED MODULE: ./node_modules/strip-final-newline/index.js
@@ -6009,9 +6726,9 @@ function pathKey(options = {}) {
6009
6726
 
6010
6727
  function npmRunPath(options = {}) {
6011
6728
  const {
6012
- cwd = external_node_process_namespaceObject.cwd(),
6013
- path: path_ = external_node_process_namespaceObject.env[pathKey()],
6014
- execPath = external_node_process_namespaceObject.execPath,
6729
+ cwd = external_node_process_.cwd(),
6730
+ path: path_ = external_node_process_.env[pathKey()],
6731
+ execPath = external_node_process_.execPath,
6015
6732
  } = options;
6016
6733
 
6017
6734
  let previous;
@@ -6031,7 +6748,7 @@ function npmRunPath(options = {}) {
6031
6748
  return [...result, path_].join(external_node_path_namespaceObject.delimiter);
6032
6749
  }
6033
6750
 
6034
- function npmRunPathEnv({env = external_node_process_namespaceObject.env, ...options} = {}) {
6751
+ function npmRunPathEnv({env = external_node_process_.env, ...options} = {}) {
6035
6752
  env = {...env};
6036
6753
 
6037
6754
  const path = pathKey({env});
@@ -6157,8 +6874,8 @@ onetime.callCount = function_ => {
6157
6874
 
6158
6875
  /* harmony default export */ const node_modules_onetime = (onetime);
6159
6876
 
6160
- ;// CONCATENATED MODULE: external "node:os"
6161
- const external_node_os_namespaceObject = require("node:os");
6877
+ // EXTERNAL MODULE: external "node:os"
6878
+ var external_node_os_ = __nccwpck_require__(612);
6162
6879
  ;// CONCATENATED MODULE: ./node_modules/human-signals/build/src/realtime.js
6163
6880
 
6164
6881
  const getRealtimeSignals=()=>{
@@ -6480,7 +7197,7 @@ standard
6480
7197
  })=>{
6481
7198
  const{
6482
7199
  signals:{[name]:constantSignal}
6483
- }=external_node_os_namespaceObject.constants;
7200
+ }=external_node_os_.constants;
6484
7201
  const supported=constantSignal!==undefined;
6485
7202
  const number=supported?constantSignal:defaultNumber;
6486
7203
  return{name,number,description,supported,action,forced,standard};
@@ -6546,7 +7263,7 @@ standard
6546
7263
 
6547
7264
 
6548
7265
  const findSignalByNumber=(number,signals)=>{
6549
- const signal=signals.find(({name})=>external_node_os_namespaceObject.constants.signals[name]===number);
7266
+ const signal=signals.find(({name})=>external_node_os_.constants.signals[name]===number);
6550
7267
 
6551
7268
  if(signal!==undefined){
6552
7269
  return signal;
@@ -6730,7 +7447,7 @@ const setKillTimeout = (kill, signal, options, killResult) => {
6730
7447
 
6731
7448
  const shouldForceKill = (signal, {forceKillAfterTimeout}, killResult) => isSigterm(signal) && forceKillAfterTimeout !== false && killResult;
6732
7449
 
6733
- const isSigterm = signal => signal === external_node_os_namespaceObject.constants.signals.SIGTERM
7450
+ const isSigterm = signal => signal === external_node_os_.constants.signals.SIGTERM
6734
7451
  || (typeof signal === 'string' && signal.toUpperCase() === 'SIGTERM');
6735
7452
 
6736
7453
  const getForceKillAfterTimeout = ({forceKillAfterTimeout = true}) => {
@@ -7182,7 +7899,7 @@ const logCommand = (escapedCommand, {verbose}) => {
7182
7899
  return;
7183
7900
  }
7184
7901
 
7185
- external_node_process_namespaceObject.stderr.write(`[${getTimestamp()}] ${escapedCommand}\n`);
7902
+ external_node_process_.stderr.write(`[${getTimestamp()}] ${escapedCommand}\n`);
7186
7903
  };
7187
7904
 
7188
7905
  ;// CONCATENATED MODULE: ./node_modules/execa/index.js
@@ -7206,7 +7923,7 @@ const logCommand = (escapedCommand, {verbose}) => {
7206
7923
  const DEFAULT_MAX_BUFFER = 1000 * 1000 * 100;
7207
7924
 
7208
7925
  const getEnv = ({env: envOption, extendEnv, preferLocal, localDir, execPath}) => {
7209
- const env = extendEnv ? {...external_node_process_namespaceObject.env, ...envOption} : envOption;
7926
+ const env = extendEnv ? {...external_node_process_.env, ...envOption} : envOption;
7210
7927
 
7211
7928
  if (preferLocal) {
7212
7929
  return npmRunPathEnv({env, cwd: localDir, execPath});
@@ -7227,8 +7944,8 @@ const handleArguments = (file, args, options = {}) => {
7227
7944
  stripFinalNewline: true,
7228
7945
  extendEnv: true,
7229
7946
  preferLocal: false,
7230
- localDir: options.cwd || external_node_process_namespaceObject.cwd(),
7231
- execPath: external_node_process_namespaceObject.execPath,
7947
+ localDir: options.cwd || external_node_process_.cwd(),
7948
+ execPath: external_node_process_.execPath,
7232
7949
  encoding: 'utf8',
7233
7950
  reject: true,
7234
7951
  cleanup: true,
@@ -7242,7 +7959,7 @@ const handleArguments = (file, args, options = {}) => {
7242
7959
 
7243
7960
  options.stdio = normalizeStdio(options);
7244
7961
 
7245
- if (external_node_process_namespaceObject.platform === 'win32' && external_node_path_namespaceObject.basename(file, '.exe') === 'cmd') {
7962
+ if (external_node_process_.platform === 'win32' && external_node_path_namespaceObject.basename(file, '.exe') === 'cmd') {
7246
7963
  // #116
7247
7964
  args.unshift('/q');
7248
7965
  }
@@ -7471,10 +8188,10 @@ function execaNode(scriptPath, args, options = {}) {
7471
8188
  }
7472
8189
 
7473
8190
  const stdio = normalizeStdioNode(options);
7474
- const defaultExecArgv = external_node_process_namespaceObject.execArgv.filter(arg => !arg.startsWith('--inspect'));
8191
+ const defaultExecArgv = external_node_process_.execArgv.filter(arg => !arg.startsWith('--inspect'));
7475
8192
 
7476
8193
  const {
7477
- nodePath = external_node_process_namespaceObject.execPath,
8194
+ nodePath = external_node_process_.execPath,
7478
8195
  nodeOptions = defaultExecArgv,
7479
8196
  } = options;
7480
8197
 
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "helm-viewer",
3
- "version": "0.1.4",
3
+ "version": "0.2.0",
4
4
  "description": "Quick tool to easily view your helm charts.",
5
5
  "author": "Tchoupinax <corentinfiloche@hotmail.fr> (https://corentinfiloche.xyz)",
6
6
  "license": "MIT",
@@ -25,14 +25,15 @@
25
25
  "pack": "npm pack --dry-run",
26
26
  "publish": "npm publish",
27
27
  "=== RUN ==============================================": "",
28
- "run": "npx vite-node src/index.ts",
28
+ "run": "NODE_ENV=development npx vite-node src/index.ts -- ~/Downloads/traefik-helm-chart/traefik",
29
29
  "=== BUILD ============================================": "",
30
30
  "build": "tsc",
31
31
  "=== CLEAN ============================================": "",
32
- "clear": "rm -rf dist binary tmp compiled",
33
- "clean": "rm -rf dist binary tmp compiled"
32
+ "clear": "rm -rf dist binary tmp compiled src/assets",
33
+ "clean": "rm -rf dist binary tmp compiled src/assets"
34
34
  },
35
35
  "dependencies": {
36
+ "chalk": "5.2.0",
36
37
  "execa": "7.1.1",
37
38
  "open": "8.4.2"
38
39
  },
Binary file