@ikas/component-cli 1.4.0-beta.22 → 1.4.0-beta.220

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.
Files changed (204) hide show
  1. package/dist/build-tools.d.ts +37 -0
  2. package/dist/build-tools.d.ts.map +1 -0
  3. package/dist/build-tools.js +36 -0
  4. package/dist/build-tools.js.map +1 -0
  5. package/dist/commands/add-sections-to-page.d.ts +3 -0
  6. package/dist/commands/add-sections-to-page.d.ts.map +1 -0
  7. package/dist/commands/add-sections-to-page.js +39 -0
  8. package/dist/commands/add-sections-to-page.js.map +1 -0
  9. package/dist/commands/add.d.ts.map +1 -1
  10. package/dist/commands/add.js +11 -2
  11. package/dist/commands/add.js.map +1 -1
  12. package/dist/commands/build.d.ts.map +1 -1
  13. package/dist/commands/build.js +15 -167
  14. package/dist/commands/build.js.map +1 -1
  15. package/dist/commands/config-texts.d.ts +38 -0
  16. package/dist/commands/config-texts.d.ts.map +1 -0
  17. package/dist/commands/config-texts.js +186 -0
  18. package/dist/commands/config-texts.js.map +1 -0
  19. package/dist/commands/config.d.ts +45 -0
  20. package/dist/commands/config.d.ts.map +1 -1
  21. package/dist/commands/config.js +1148 -154
  22. package/dist/commands/config.js.map +1 -1
  23. package/dist/commands/create-design-tokens.d.ts +24 -0
  24. package/dist/commands/create-design-tokens.d.ts.map +1 -0
  25. package/dist/commands/create-design-tokens.js +388 -0
  26. package/dist/commands/create-design-tokens.js.map +1 -0
  27. package/dist/commands/create-global-variable.d.ts +3 -0
  28. package/dist/commands/create-global-variable.d.ts.map +1 -0
  29. package/dist/commands/create-global-variable.js +73 -0
  30. package/dist/commands/create-global-variable.js.map +1 -0
  31. package/dist/commands/create-page.d.ts +3 -0
  32. package/dist/commands/create-page.d.ts.map +1 -0
  33. package/dist/commands/create-page.js +31 -0
  34. package/dist/commands/create-page.js.map +1 -0
  35. package/dist/commands/delete-page.d.ts +3 -0
  36. package/dist/commands/delete-page.d.ts.map +1 -0
  37. package/dist/commands/delete-page.js +28 -0
  38. package/dist/commands/delete-page.js.map +1 -0
  39. package/dist/commands/delete-theme-globals.d.ts +4 -0
  40. package/dist/commands/delete-theme-globals.d.ts.map +1 -0
  41. package/dist/commands/delete-theme-globals.js +50 -0
  42. package/dist/commands/delete-theme-globals.js.map +1 -0
  43. package/dist/commands/dev.d.ts.map +1 -1
  44. package/dist/commands/dev.js +308 -39
  45. package/dist/commands/dev.js.map +1 -1
  46. package/dist/commands/enable-builtin-pages.d.ts +3 -0
  47. package/dist/commands/enable-builtin-pages.d.ts.map +1 -0
  48. package/dist/commands/enable-builtin-pages.js +28 -0
  49. package/dist/commands/enable-builtin-pages.js.map +1 -0
  50. package/dist/commands/get-component-props.d.ts +3 -0
  51. package/dist/commands/get-component-props.d.ts.map +1 -0
  52. package/dist/commands/get-component-props.js +32 -0
  53. package/dist/commands/get-component-props.js.map +1 -0
  54. package/dist/commands/get-page-by-type.d.ts +3 -0
  55. package/dist/commands/get-page-by-type.d.ts.map +1 -0
  56. package/dist/commands/get-page-by-type.js +25 -0
  57. package/dist/commands/get-page-by-type.js.map +1 -0
  58. package/dist/commands/get-section-values.d.ts +3 -0
  59. package/dist/commands/get-section-values.d.ts.map +1 -0
  60. package/dist/commands/get-section-values.js +39 -0
  61. package/dist/commands/get-section-values.js.map +1 -0
  62. package/dist/commands/list-builtin-pages.d.ts +3 -0
  63. package/dist/commands/list-builtin-pages.d.ts.map +1 -0
  64. package/dist/commands/list-builtin-pages.js +28 -0
  65. package/dist/commands/list-builtin-pages.js.map +1 -0
  66. package/dist/commands/list-entities.d.ts +3 -0
  67. package/dist/commands/list-entities.d.ts.map +1 -0
  68. package/dist/commands/list-entities.js +32 -0
  69. package/dist/commands/list-entities.js.map +1 -0
  70. package/dist/commands/list-page-sections.d.ts.map +1 -1
  71. package/dist/commands/list-page-sections.js +8 -2
  72. package/dist/commands/list-page-sections.js.map +1 -1
  73. package/dist/commands/list-theme-globals.d.ts +3 -0
  74. package/dist/commands/list-theme-globals.d.ts.map +1 -0
  75. package/dist/commands/list-theme-globals.js +22 -0
  76. package/dist/commands/list-theme-globals.js.map +1 -0
  77. package/dist/commands/list-translations.d.ts +3 -0
  78. package/dist/commands/list-translations.d.ts.map +1 -0
  79. package/dist/commands/list-translations.js +33 -0
  80. package/dist/commands/list-translations.js.map +1 -0
  81. package/dist/commands/move-page-section.d.ts +3 -0
  82. package/dist/commands/move-page-section.d.ts.map +1 -0
  83. package/dist/commands/move-page-section.js +62 -0
  84. package/dist/commands/move-page-section.js.map +1 -0
  85. package/dist/commands/publish-theme.d.ts +3 -0
  86. package/dist/commands/publish-theme.d.ts.map +1 -0
  87. package/dist/commands/publish-theme.js +29 -0
  88. package/dist/commands/publish-theme.js.map +1 -0
  89. package/dist/commands/publish.d.ts.map +1 -1
  90. package/dist/commands/publish.js +65 -3
  91. package/dist/commands/publish.js.map +1 -1
  92. package/dist/commands/remove-page-section.d.ts +3 -0
  93. package/dist/commands/remove-page-section.d.ts.map +1 -0
  94. package/dist/commands/remove-page-section.js +40 -0
  95. package/dist/commands/remove-page-section.js.map +1 -0
  96. package/dist/commands/search-products.d.ts +3 -0
  97. package/dist/commands/search-products.d.ts.map +1 -0
  98. package/dist/commands/search-products.js +40 -0
  99. package/dist/commands/search-products.js.map +1 -0
  100. package/dist/commands/translation-languages.d.ts +3 -0
  101. package/dist/commands/translation-languages.d.ts.map +1 -0
  102. package/dist/commands/translation-languages.js +43 -0
  103. package/dist/commands/translation-languages.js.map +1 -0
  104. package/dist/commands/update-builtin-page-prop.d.ts +3 -0
  105. package/dist/commands/update-builtin-page-prop.d.ts.map +1 -0
  106. package/dist/commands/update-builtin-page-prop.js +49 -0
  107. package/dist/commands/update-builtin-page-prop.js.map +1 -0
  108. package/dist/commands/update-global-variable.d.ts +3 -0
  109. package/dist/commands/update-global-variable.d.ts.map +1 -0
  110. package/dist/commands/update-global-variable.js +70 -0
  111. package/dist/commands/update-global-variable.js.map +1 -0
  112. package/dist/commands/update-page-sections.d.ts +3 -0
  113. package/dist/commands/update-page-sections.d.ts.map +1 -0
  114. package/dist/commands/update-page-sections.js +39 -0
  115. package/dist/commands/update-page-sections.js.map +1 -0
  116. package/dist/commands/update-section-prop.d.ts.map +1 -1
  117. package/dist/commands/update-section-prop.js +25 -8
  118. package/dist/commands/update-section-prop.js.map +1 -1
  119. package/dist/commands/update-translations.d.ts +3 -0
  120. package/dist/commands/update-translations.d.ts.map +1 -0
  121. package/dist/commands/update-translations.js +37 -0
  122. package/dist/commands/update-translations.js.map +1 -0
  123. package/dist/commands/upload-image.d.ts.map +1 -1
  124. package/dist/commands/upload-image.js +5 -46
  125. package/dist/commands/upload-image.js.map +1 -1
  126. package/dist/commands/upload-images.d.ts +3 -0
  127. package/dist/commands/upload-images.d.ts.map +1 -0
  128. package/dist/commands/upload-images.js +48 -0
  129. package/dist/commands/upload-images.js.map +1 -0
  130. package/dist/index.d.ts.map +1 -1
  131. package/dist/index.js +60 -1
  132. package/dist/index.js.map +1 -1
  133. package/dist/types.d.ts +77 -0
  134. package/dist/types.d.ts.map +1 -1
  135. package/dist/utils/archive-project.d.ts +50 -0
  136. package/dist/utils/archive-project.d.ts.map +1 -0
  137. package/dist/utils/archive-project.js +178 -0
  138. package/dist/utils/archive-project.js.map +1 -0
  139. package/dist/utils/compile.d.ts +17 -2
  140. package/dist/utils/compile.d.ts.map +1 -1
  141. package/dist/utils/compile.js +759 -117
  142. package/dist/utils/compile.js.map +1 -1
  143. package/dist/utils/component-helpers.d.ts +222 -4
  144. package/dist/utils/component-helpers.d.ts.map +1 -1
  145. package/dist/utils/component-helpers.js +558 -37
  146. package/dist/utils/component-helpers.js.map +1 -1
  147. package/dist/utils/css-import-resolver.d.ts +4 -1
  148. package/dist/utils/css-import-resolver.d.ts.map +1 -1
  149. package/dist/utils/css-import-resolver.js +9 -1
  150. package/dist/utils/css-import-resolver.js.map +1 -1
  151. package/dist/utils/dev-server-auth.d.ts +19 -0
  152. package/dist/utils/dev-server-auth.d.ts.map +1 -0
  153. package/dist/utils/dev-server-auth.js +60 -0
  154. package/dist/utils/dev-server-auth.js.map +1 -0
  155. package/dist/utils/editor-action-client.d.ts +4 -3
  156. package/dist/utils/editor-action-client.d.ts.map +1 -1
  157. package/dist/utils/editor-action-client.js +56 -19
  158. package/dist/utils/editor-action-client.js.map +1 -1
  159. package/dist/utils/esm-transform.d.ts +30 -0
  160. package/dist/utils/esm-transform.d.ts.map +1 -1
  161. package/dist/utils/esm-transform.js +169 -2
  162. package/dist/utils/esm-transform.js.map +1 -1
  163. package/dist/utils/find-component-for-file.d.ts +12 -0
  164. package/dist/utils/find-component-for-file.d.ts.map +1 -0
  165. package/dist/utils/find-component-for-file.js +24 -0
  166. package/dist/utils/find-component-for-file.js.map +1 -0
  167. package/dist/utils/forbid-deep-imports.d.ts +3 -0
  168. package/dist/utils/forbid-deep-imports.d.ts.map +1 -0
  169. package/dist/utils/forbid-deep-imports.js +54 -0
  170. package/dist/utils/forbid-deep-imports.js.map +1 -0
  171. package/dist/utils/forbid-external-packages.d.ts +26 -0
  172. package/dist/utils/forbid-external-packages.d.ts.map +1 -0
  173. package/dist/utils/forbid-external-packages.js +99 -0
  174. package/dist/utils/forbid-external-packages.js.map +1 -0
  175. package/dist/utils/i18n.d.ts +80 -0
  176. package/dist/utils/i18n.d.ts.map +1 -0
  177. package/dist/utils/i18n.js +265 -0
  178. package/dist/utils/i18n.js.map +1 -0
  179. package/dist/utils/load-image.d.ts +16 -0
  180. package/dist/utils/load-image.d.ts.map +1 -0
  181. package/dist/utils/load-image.js +50 -0
  182. package/dist/utils/load-image.js.map +1 -0
  183. package/dist/utils/storefront-t.d.ts +17 -0
  184. package/dist/utils/storefront-t.d.ts.map +1 -0
  185. package/dist/utils/storefront-t.js +186 -0
  186. package/dist/utils/storefront-t.js.map +1 -0
  187. package/dist/utils/vendor-storefront.d.ts +13 -0
  188. package/dist/utils/vendor-storefront.d.ts.map +1 -0
  189. package/dist/utils/vendor-storefront.js +91 -0
  190. package/dist/utils/vendor-storefront.js.map +1 -0
  191. package/dist/utils/websocket-server.d.ts +161 -7
  192. package/dist/utils/websocket-server.d.ts.map +1 -1
  193. package/dist/utils/websocket-server.js +324 -45
  194. package/dist/utils/websocket-server.js.map +1 -1
  195. package/package.json +19 -2
  196. package/templates/add/section.css +11 -0
  197. package/dist/commands/create.d.ts +0 -4
  198. package/dist/commands/create.d.ts.map +0 -1
  199. package/dist/commands/create.js +0 -228
  200. package/dist/commands/create.js.map +0 -1
  201. package/dist/commands/proxy.d.ts +0 -39
  202. package/dist/commands/proxy.d.ts.map +0 -1
  203. package/dist/commands/proxy.js +0 -210
  204. package/dist/commands/proxy.js.map +0 -1
@@ -0,0 +1,186 @@
1
+ import * as path from "path";
2
+ import { checkLocaleTexts, I18N_DEFAULT_FILE, I18N_SEGMENT_PATTERN, i18nDir, isLanguageCode, loadProjectI18n, readI18n, writeI18nFile, } from "../utils/i18n.js";
3
+ /** Where a project keeps its UI texts when its config names no folder yet. */
4
+ export const DEFAULT_I18N_DIR = "./src/i18n";
5
+ /** The texts as they are on disk; refused when a file breaks the rules, so a write never drops what it could not read. */
6
+ function readTexts(config, root) {
7
+ const dir = i18nDir(config, root);
8
+ if (!dir)
9
+ return {
10
+ error: "No UI texts yet: the config names no i18n folder.",
11
+ };
12
+ const read = readI18n(dir);
13
+ if (read.errors.length)
14
+ return {
15
+ error: `Fix the UI texts files first: ${read.errors.join(" ")}`,
16
+ };
17
+ return { dir, ...read };
18
+ }
19
+ /** Writes the generated `index.d.ts` (its typed keys) after a change. */
20
+ const regenerate = (config, root) => loadProjectI18n(config, undefined, root);
21
+ /**
22
+ * Adds or changes a UI text: the base text (`default.json`), or with `locale` a language's. Keys are dotted paths of
23
+ * identifiers (`common.addToCart`); a language's text needs the key in the base and the base text's `{{params}}`.
24
+ */
25
+ export function setText(config, options, root) {
26
+ const { key, text, locale } = options;
27
+ const segments = key.split(".");
28
+ if (segments.some((segment) => !I18N_SEGMENT_PATTERN.test(segment)))
29
+ return {
30
+ success: false,
31
+ error: `Key "${key}": each dotted part must be an identifier (letters, digits, _; not starting with a digit).`,
32
+ };
33
+ if (!text.trim())
34
+ return { success: false, error: `Key "${key}" needs a text.` };
35
+ if (locale !== undefined &&
36
+ (locale === I18N_DEFAULT_FILE || !isLanguageCode(locale)))
37
+ return {
38
+ success: false,
39
+ error: `"${locale}" is not a language code (en, de, pt-BR).`,
40
+ };
41
+ const configChanged = !config.i18n;
42
+ if (configChanged)
43
+ config.i18n = DEFAULT_I18N_DIR;
44
+ const read = readTexts(config, root);
45
+ if ("error" in read)
46
+ return { success: false, error: read.error };
47
+ if (locale) {
48
+ const checked = checkLocaleTexts(read.base, { [key]: text }, locale);
49
+ if (checked.errors.length)
50
+ return { success: false, error: checked.errors.join(" ") };
51
+ writeI18nFile(read.dir, locale, { ...read.locales[locale], [key]: text });
52
+ }
53
+ else {
54
+ // A path is a text or a group, never both
55
+ const clash = Object.keys(read.base).find((other) => other !== key &&
56
+ (other.startsWith(`${key}.`) || key.startsWith(`${other}.`)));
57
+ if (clash)
58
+ return {
59
+ success: false,
60
+ error: `Key "${key}" clashes with "${clash}": a key is a text or a group, not both.`,
61
+ };
62
+ // The languages' texts must keep using the base's params
63
+ const broken = Object.entries(read.locales).flatMap(([other, texts]) => key in texts
64
+ ? checkLocaleTexts({ [key]: text }, { [key]: texts[key] }, other).errors
65
+ : []);
66
+ if (broken.length)
67
+ return {
68
+ success: false,
69
+ error: `Change the languages' texts first: ${broken.join(" ")}`,
70
+ };
71
+ writeI18nFile(read.dir, I18N_DEFAULT_FILE, { ...read.base, [key]: text });
72
+ }
73
+ regenerate(config, root);
74
+ return {
75
+ success: true,
76
+ key,
77
+ text,
78
+ ...(locale ? { locale } : {}),
79
+ file: path.relative(root, path.join(read.dir, `${locale ?? I18N_DEFAULT_FILE}.json`)),
80
+ configChanged,
81
+ };
82
+ }
83
+ /** Removes a UI text: from the base and every language, or with `locale` only that language's. */
84
+ export function removeText(config, options, root) {
85
+ const { key, locale } = options;
86
+ const read = readTexts(config, root);
87
+ if ("error" in read)
88
+ return { success: false, error: read.error };
89
+ const texts = locale ? read.locales[locale] : read.base;
90
+ if (!texts || !(key in texts))
91
+ return {
92
+ success: false,
93
+ error: `No UI text "${key}"${locale ? ` in ${locale}` : ""}. Keys: ${Object.keys(texts ?? {}).join(", ") || "none"}.`,
94
+ };
95
+ const without = (from) => Object.fromEntries(Object.entries(from).filter(([other]) => other !== key));
96
+ if (locale)
97
+ writeI18nFile(read.dir, locale, without(texts));
98
+ else {
99
+ writeI18nFile(read.dir, I18N_DEFAULT_FILE, without(read.base));
100
+ Object.entries(read.locales).forEach(([other, otherTexts]) => {
101
+ if (key in otherTexts)
102
+ writeI18nFile(read.dir, other, without(otherTexts));
103
+ });
104
+ }
105
+ regenerate(config, root);
106
+ return { success: true, removed: key, ...(locale ? { locale } : {}) };
107
+ }
108
+ /**
109
+ * Renames a UI text, or a group with every text under it (`product` → `item`), in the base and every language. The
110
+ * code's `t()` calls keep the old key until changed: the type check reports them.
111
+ */
112
+ export function renameText(config, options, root) {
113
+ const { key, to } = options;
114
+ if (to.split(".").some((segment) => !I18N_SEGMENT_PATTERN.test(segment)))
115
+ return {
116
+ success: false,
117
+ error: `Key "${to}": each dotted part must be an identifier (letters, digits, _; not starting with a digit).`,
118
+ };
119
+ const read = readTexts(config, root);
120
+ if ("error" in read)
121
+ return { success: false, error: read.error };
122
+ const moved = Object.keys(read.base).filter((other) => other === key || other.startsWith(`${key}.`));
123
+ if (!moved.length)
124
+ return {
125
+ success: false,
126
+ error: `No UI text or group "${key}". Keys: ${Object.keys(read.base).join(", ") || "none"}.`,
127
+ };
128
+ if (to === key)
129
+ return { success: false, error: "The new key is the same." };
130
+ const rename = (other) => to + other.slice(key.length);
131
+ // A path is a text or a group, never both: the new keys must not meet the texts that stay
132
+ const staying = Object.keys(read.base).filter((other) => !moved.includes(other));
133
+ const clash = moved
134
+ .map(rename)
135
+ .flatMap((next) => staying
136
+ .filter((other) => other === next ||
137
+ other.startsWith(`${next}.`) ||
138
+ next.startsWith(`${other}.`))
139
+ .map((other) => `"${next}" clashes with "${other}"`));
140
+ if (clash.length)
141
+ return {
142
+ success: false,
143
+ error: `${clash.join(", ")}: a key is a text or a group, not both.`,
144
+ };
145
+ const renamed = (texts) => Object.fromEntries(Object.entries(texts).map(([other, text]) => [
146
+ moved.includes(other) ? rename(other) : other,
147
+ text,
148
+ ]));
149
+ writeI18nFile(read.dir, I18N_DEFAULT_FILE, renamed(read.base));
150
+ Object.entries(read.locales).forEach(([locale, texts]) => {
151
+ if (moved.some((other) => other in texts))
152
+ writeI18nFile(read.dir, locale, renamed(texts));
153
+ });
154
+ regenerate(config, root);
155
+ return {
156
+ success: true,
157
+ renamed: Object.fromEntries(moved.map((other) => [other, rename(other)])),
158
+ note: "Change the t() calls to the new keys: the type check (tsc, build) reports the old ones.",
159
+ };
160
+ }
161
+ /** The UI texts: the base ones, each language's, and the keys a language lacks. */
162
+ export function listTexts(config, root) {
163
+ const dir = i18nDir(config, root);
164
+ if (!dir)
165
+ return {
166
+ success: true,
167
+ dir: null,
168
+ base: {},
169
+ locales: {},
170
+ missing: {},
171
+ errors: [],
172
+ };
173
+ const read = readI18n(dir);
174
+ return {
175
+ success: true,
176
+ dir: path.relative(root, dir),
177
+ base: read.base,
178
+ locales: read.locales,
179
+ missing: Object.fromEntries(Object.entries(read.locales).map(([locale, texts]) => [
180
+ locale,
181
+ Object.keys(read.base).filter((key) => !(key in texts)),
182
+ ])),
183
+ errors: read.errors,
184
+ };
185
+ }
186
+ //# sourceMappingURL=config-texts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-texts.js","sourceRoot":"","sources":["../../src/commands/config-texts.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,48 @@
1
1
  import { Command } from "commander";
2
+ export declare const isNumberRangeComplete: (data: {
3
+ min?: number;
4
+ max?: number;
5
+ }) => boolean;
6
+ /**
7
+ * A NUMBER_RANGE prop must carry a slider config with at least min and max — the editor UI marks
8
+ * Minimum/Maksimum Değer as required, so a prop authored without them yields a half-configured
9
+ * slider. Enforce it at creation time: reject when numberRangeData is absent or missing min/max.
10
+ */
11
+ export declare function requireNumberRangeData(raw: unknown, propName: string): {
12
+ min?: number;
13
+ max?: number;
14
+ interval?: number;
15
+ unit?: string;
16
+ };
17
+ export declare function parseDefaultValue(value: string, propType: string): unknown;
18
+ export declare const DYNAMIC_PROP_TYPES: string[];
19
+ export declare const rejectDynamicDefault: (propName: string, propType: string, defaultValue: unknown) => void;
20
+ export declare function validateLinkDefaultValue(propType: string, value: unknown, propName: string): string | null;
21
+ /**
22
+ * Validate a COMPONENT / COMPONENT_LIST defaultValue. Reference-only: each entry must name a code
23
+ * component via `codeComponentId`. Rejects non-CC (`componentId`) children, missing ids, more than
24
+ * one entry for a single COMPONENT, and ids outside the prop's filteredComponentIds allowlist.
25
+ * Returns an error message, or null if valid.
26
+ */
27
+ export declare function validateComponentDefaultValue(propType: string, value: unknown, propName: string, filteredComponentIds?: string[], existingComponentIds?: Set<string>): string | null;
28
+ export declare function validateSvgDefaultValue(propType: string, value: unknown, propName: string): string | null;
29
+ export declare function validateNumberRangeDefaultValue(value: unknown, numberRangeData: {
30
+ min?: number;
31
+ max?: number;
32
+ interval?: number;
33
+ unit?: string;
34
+ } | undefined, propName: string): string | null;
35
+ export declare function validateNumberDefaultValue(value: unknown, propName: string): string | null;
36
+ export declare function validateTypeDefaultValue(value: unknown, propName: string, typeId: unknown): string | null;
37
+ /**
38
+ * Why `component`'s folder may not be deleted, or null: only its own folder directly under src/components
39
+ * (where components are created), never one holding another component — so a hand-edited entry can not
40
+ * point the removal at the project, a folder outside it, or any other project folder.
41
+ */
42
+ export declare function componentDirRemovalError(components: {
43
+ entry: string;
44
+ }[], component: {
45
+ entry: string;
46
+ }, root: string): string | null;
2
47
  export declare function createConfigCommand(): Command;
3
48
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAw/CpC,wBAAgB,mBAAmB,IAAI,OAAO,CA2M7C"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuXpC,eAAO,MAAM,qBAAqB,SAAU;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,KAAG,OAA2D,CAAC;AAEhE;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,GACf;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAqBlE;AAmyBD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CA0B1E;AAMD,eAAO,MAAM,kBAAkB,UAkB9B,CAAC;AAOF,eAAO,MAAM,oBAAoB,aACrB,MAAM,YACN,MAAM,gBACF,OAAO,KACpB,IAUF,CAAC;AAuEF,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,IAAI,CAwBf;AAOD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,oBAAoB,CAAC,EAAE,MAAM,EAAE,EAC/B,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACjC,MAAM,GAAG,IAAI,CAuDf;AAoDD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,IAAI,CAoBf;AAUD,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,OAAO,EACd,eAAe,EACX;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAChE,SAAS,EACb,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,IAAI,CAsCf;AASD,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,IAAI,CAgBf;AA+FD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,GACd,MAAM,GAAG,IAAI,CAwBf;AAqXD;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,EAC/B,SAAS,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAC5B,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,IAAI,CAUf;AAosBD,wBAAgB,mBAAmB,IAAI,OAAO,CAyc7C"}