@contentful/experience-design-system-cli 2.35.1-dev-build-657a08f3.0 → 2.35.1-dev-build-8f791e21.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/dist/app.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- export type Screen = 'start' | 'import' | 'help' | 'settings' | 'settings-configuration' | 'settings-opt-in-analytics' | 'settings-debug-mode' | 'settings-import-defaults' | 'upgrade';
2
+ export type Screen = 'start' | 'import' | 'help' | 'settings' | 'settings-configuration' | 'settings-opt-in-analytics' | 'settings-debug-mode' | 'upgrade';
3
3
  interface AppInstance {
4
4
  unmount: () => void;
5
5
  waitUntilExit: () => Promise<unknown>;
package/dist/app.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // packages/experience-design-system-cli/app.tsx
2
- import { useEffect as useEffect9, useState as useState11 } from "react";
2
+ import { useEffect as useEffect8, useState as useState10 } from "react";
3
3
 
4
4
  // packages/experience-design-system-cli/src/tui/home/home.tsx
5
5
  import { useEffect as useEffect2, useState as useState2 } from "react";
@@ -718,7 +718,6 @@ function SettingsScreen({
718
718
  const [focusIdx, setFocusIdx] = useState5(0);
719
719
  const items = [
720
720
  { label: "Configuration", screen: "settings-configuration" },
721
- { label: "Import Defaults", screen: "settings-import-defaults" },
722
721
  { label: "Opt-in Analytics", screen: "settings-opt-in-analytics" },
723
722
  { label: "Debug Mode", screen: "settings-debug-mode" }
724
723
  ];
@@ -769,7 +768,9 @@ async function readCredentials() {
769
768
  spaceId: store.spaceId || "",
770
769
  environmentId: store.environmentId || "",
771
770
  cmaToken: store.cmaToken || "",
772
- host: store.host || ""
771
+ host: store.host || "",
772
+ defaultComponentDir: store.defaultComponentDir || "",
773
+ defaultTokenFile: store.defaultTokenFile || ""
773
774
  };
774
775
  }
775
776
  async function writeCredentials(config) {
@@ -786,20 +787,31 @@ async function writeCredentials(config) {
786
787
 
787
788
  // packages/experience-design-system-cli/src/tui/settings/contentful-configuration/ContentfulConfigScreen.tsx
788
789
  import { Fragment, jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
789
- var FIELD_ORDER = ["spaceId", "environmentId", "cmaToken", "host"];
790
+ var FIELD_ORDER = [
791
+ "spaceId",
792
+ "environmentId",
793
+ "cmaToken",
794
+ "host",
795
+ "defaultComponentDir",
796
+ "defaultTokenFile"
797
+ ];
790
798
  function debugFields(config) {
791
799
  return {
792
800
  space_id: config?.spaceId ?? "",
793
801
  environment_id: config?.environmentId ?? "",
794
802
  cma_token: config?.cmaToken ?? "",
795
- host: config?.host ?? ""
803
+ host: config?.host ?? "",
804
+ default_component_dir: config?.defaultComponentDir ?? "",
805
+ default_token_file: config?.defaultTokenFile ?? ""
796
806
  };
797
807
  }
798
808
  var FIELD_LABELS = {
799
809
  spaceId: "Space ID",
800
810
  environmentId: "Environment ID",
801
811
  cmaToken: "CMA Token",
802
- host: "API Host (optional)"
812
+ host: "API Host (optional)",
813
+ defaultComponentDir: "Default component directory (optional)",
814
+ defaultTokenFile: "Default token file (optional)"
803
815
  };
804
816
  function ConfigurationScreen({ onDone }) {
805
817
  const [stage, setStage] = useState6("loading");
@@ -1116,162 +1128,22 @@ function DebugModeScreen({ onDone }) {
1116
1128
  ] });
1117
1129
  }
1118
1130
 
1119
- // packages/experience-design-system-cli/src/tui/settings/import-defaults/screen.tsx
1120
- import { useEffect as useEffect8, useState as useState10 } from "react";
1121
- import { Box as Box11, Text as Text11, useInput as useInput11 } from "ink";
1122
-
1123
- // packages/experience-design-system-cli/src/tui/settings/import-defaults/defaults-store.ts
1124
- async function readImportDefaults() {
1125
- const { defaultComponentDir, defaultTokenFile } = await readSettings();
1126
- return {
1127
- componentDir: typeof defaultComponentDir === "string" ? defaultComponentDir : "",
1128
- tokenFile: typeof defaultTokenFile === "string" ? defaultTokenFile : ""
1129
- };
1130
- }
1131
- async function writeImportDefaults(defaults) {
1132
- const current = await readSettings();
1133
- const { defaultComponentDir: _dir, defaultTokenFile: _file, ...rest } = current;
1134
- const componentDir = defaults.componentDir.trim();
1135
- const tokenFile = defaults.tokenFile.trim();
1136
- await writeSettings({
1137
- ...rest,
1138
- ...componentDir ? { defaultComponentDir: componentDir } : {},
1139
- ...tokenFile ? { defaultTokenFile: tokenFile } : {}
1140
- });
1141
- }
1142
-
1143
- // packages/experience-design-system-cli/src/tui/settings/import-defaults/screen.tsx
1144
- import { Fragment as Fragment3, jsx as jsx11, jsxs as jsxs11 } from "react/jsx-runtime";
1145
- var FIELD_ORDER2 = ["componentDir", "tokenFile"];
1146
- var FIELD_LABELS2 = {
1147
- componentDir: "Component directory",
1148
- tokenFile: "Token file"
1149
- };
1150
- function ImportDefaultsScreen({ onDone }) {
1151
- const [stage, setStage] = useState10("loading");
1152
- const [defaults, setDefaults] = useState10({ componentDir: "", tokenFile: "" });
1153
- const [activeField, setActiveField] = useState10("componentDir");
1154
- const [message, setMessage] = useState10(null);
1155
- useEffect8(() => {
1156
- readImportDefaults().then((saved) => {
1157
- setDefaults(saved);
1158
- setStage("form");
1159
- startDebugRun({
1160
- flow: "settings/import-defaults",
1161
- step: "01-import-defaults",
1162
- menuOption: "Import Defaults",
1163
- inputs: { ...saved }
1164
- });
1165
- });
1166
- }, []);
1167
- function handleSave() {
1168
- setStage("saving");
1169
- setMessage(null);
1170
- writeImportDefaults(defaults).then(() => {
1171
- setStage("saved");
1172
- setMessage("Import defaults saved");
1173
- }).catch((err) => {
1174
- setMessage(err instanceof Error ? err.message : "Failed to save");
1175
- setStage("form");
1176
- });
1177
- }
1178
- useInput11((input, key) => {
1179
- if (stage === "loading" || stage === "saving") return;
1180
- if (stage === "saved") {
1181
- if (key.return || key.escape || input === "q") {
1182
- void finishDebugRun({ outputs: { ...defaults }, status: "success", exitMethod: "saved" });
1183
- onDone();
1184
- }
1185
- return;
1186
- }
1187
- if (key.escape) {
1188
- void finishDebugRun({ outputs: {}, status: "success", exitMethod: "discarded" });
1189
- onDone();
1190
- return;
1191
- }
1192
- const idx = FIELD_ORDER2.indexOf(activeField);
1193
- if (key.tab || key.downArrow) {
1194
- setActiveField(FIELD_ORDER2[(idx + 1) % FIELD_ORDER2.length]);
1195
- return;
1196
- }
1197
- if (key.upArrow) {
1198
- setActiveField(FIELD_ORDER2[(idx - 1 + FIELD_ORDER2.length) % FIELD_ORDER2.length]);
1199
- return;
1200
- }
1201
- if (key.return) {
1202
- if (idx < FIELD_ORDER2.length - 1) setActiveField(FIELD_ORDER2[idx + 1]);
1203
- else handleSave();
1204
- return;
1205
- }
1206
- if (key.backspace || key.delete) {
1207
- setDefaults((d) => ({ ...d, [activeField]: d[activeField].slice(0, -1) }));
1208
- return;
1209
- }
1210
- if (input && !key.ctrl && !key.meta) {
1211
- setDefaults((d) => ({ ...d, [activeField]: d[activeField] + input }));
1212
- }
1213
- });
1214
- if (stage === "loading") {
1215
- return /* @__PURE__ */ jsxs11(Box11, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
1216
- /* @__PURE__ */ jsx11(Text11, { bold: true, children: "Import Defaults" }),
1217
- /* @__PURE__ */ jsx11(Text11, { children: " " }),
1218
- /* @__PURE__ */ jsx11(Text11, { color: PALETTE.accent, children: "Loading..." })
1219
- ] });
1220
- }
1221
- if (stage === "saved") {
1222
- return /* @__PURE__ */ jsxs11(Box11, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
1223
- /* @__PURE__ */ jsx11(Text11, { bold: true, children: "Import Defaults" }),
1224
- /* @__PURE__ */ jsx11(Text11, { children: " " }),
1225
- /* @__PURE__ */ jsxs11(Text11, { color: PALETTE.success, children: [
1226
- "\u2713 ",
1227
- message
1228
- ] }),
1229
- /* @__PURE__ */ jsx11(Text11, { children: " " }),
1230
- /* @__PURE__ */ jsx11(Text11, { dimColor: true, children: "[Enter/Esc] Back" })
1231
- ] });
1232
- }
1233
- return /* @__PURE__ */ jsxs11(Box11, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
1234
- /* @__PURE__ */ jsx11(Text11, { bold: true, children: "Import Defaults" }),
1235
- /* @__PURE__ */ jsx11(Text11, { dimColor: true, children: "Pre-filled when you start an import. Leave a field empty for no default." }),
1236
- /* @__PURE__ */ jsx11(Text11, { children: " " }),
1237
- /* @__PURE__ */ jsx11(Box11, { flexDirection: "column", children: FIELD_ORDER2.map((field) => {
1238
- const isActive = activeField === field;
1239
- const value = defaults[field];
1240
- return /* @__PURE__ */ jsxs11(Box11, { gap: 1, children: [
1241
- /* @__PURE__ */ jsx11(Text11, { color: isActive ? PALETTE.accent : void 0, children: isActive ? "\u276F" : " " }),
1242
- /* @__PURE__ */ jsxs11(Text11, { bold: isActive, children: [
1243
- FIELD_LABELS2[field],
1244
- ":"
1245
- ] }),
1246
- /* @__PURE__ */ jsx11(Text11, { children: value || /* @__PURE__ */ jsx11(Text11, { dimColor: true, children: "(empty)" }) })
1247
- ] }, field);
1248
- }) }),
1249
- message && /* @__PURE__ */ jsxs11(Fragment3, { children: [
1250
- /* @__PURE__ */ jsx11(Text11, { children: " " }),
1251
- /* @__PURE__ */ jsxs11(Text11, { color: PALETTE.error, children: [
1252
- "\u2717 ",
1253
- message
1254
- ] })
1255
- ] }),
1256
- /* @__PURE__ */ jsx11(Text11, { children: " " }),
1257
- /* @__PURE__ */ jsx11(Text11, { dimColor: true, children: "[\u2191/\u2193] Switch field \xB7 [Enter] Save/Next \xB7 [Esc] Back" })
1258
- ] });
1259
- }
1260
-
1261
1131
  // packages/experience-design-system-cli/app.tsx
1262
- import { Fragment as Fragment4, jsx as jsx12 } from "react/jsx-runtime";
1132
+ import { Fragment as Fragment3, jsx as jsx11 } from "react/jsx-runtime";
1263
1133
  function App({ onLaunchImport, importExitCode }) {
1264
1134
  const returnedFromImport = importExitCode !== void 0;
1265
- const [screen, setScreen] = useState11(returnedFromImport ? "import" : "start");
1266
- const [showImportResult, setShowImportResult] = useState11(returnedFromImport);
1267
- const [projectPath, setProjectPath] = useState11();
1268
- const [importDefaults, setImportDefaults] = useState11();
1269
- useEffect9(() => {
1135
+ const [screen, setScreen] = useState10(returnedFromImport ? "import" : "start");
1136
+ const [showImportResult, setShowImportResult] = useState10(returnedFromImport);
1137
+ const [projectPath, setProjectPath] = useState10();
1138
+ const [importDefaults, setImportDefaults] = useState10();
1139
+ useEffect8(() => {
1270
1140
  if (screen !== "import") {
1271
1141
  setImportDefaults(void 0);
1272
1142
  return;
1273
1143
  }
1274
- void readImportDefaults().then(setImportDefaults);
1144
+ void readCredentials().then(
1145
+ (saved) => setImportDefaults({ componentDir: saved.defaultComponentDir ?? "", tokenFile: saved.defaultTokenFile ?? "" })
1146
+ );
1275
1147
  }, [screen]);
1276
1148
  const goToStart = () => setScreen("start");
1277
1149
  const goToSettings = () => setScreen("settings");
@@ -1286,12 +1158,12 @@ function App({ onLaunchImport, importExitCode }) {
1286
1158
  };
1287
1159
  switch (screen) {
1288
1160
  case "import":
1289
- if (showImportResult) return /* @__PURE__ */ jsx12(ImportScreen, { exitCode: importExitCode, onDone: finishImportResult });
1290
- if (importDefaults === void 0) return /* @__PURE__ */ jsx12(Fragment4, {});
1161
+ if (showImportResult) return /* @__PURE__ */ jsx11(ImportScreen, { exitCode: importExitCode, onDone: finishImportResult });
1162
+ if (importDefaults === void 0) return /* @__PURE__ */ jsx11(Fragment3, {});
1291
1163
  if (projectPath === void 0) {
1292
- return /* @__PURE__ */ jsx12(WelcomeScreen, { onContinue: setProjectPath, onQuit: leaveImport, initialPath: importDefaults.componentDir });
1164
+ return /* @__PURE__ */ jsx11(WelcomeScreen, { onContinue: setProjectPath, onQuit: leaveImport, initialPath: importDefaults.componentDir });
1293
1165
  }
1294
- return /* @__PURE__ */ jsx12(
1166
+ return /* @__PURE__ */ jsx11(
1295
1167
  TokenInputScreen,
1296
1168
  {
1297
1169
  initialPath: importDefaults.tokenFile,
@@ -1301,27 +1173,25 @@ function App({ onLaunchImport, importExitCode }) {
1301
1173
  }
1302
1174
  );
1303
1175
  case "help":
1304
- return /* @__PURE__ */ jsx12(HelpScreen, { onDone: goToStart });
1176
+ return /* @__PURE__ */ jsx11(HelpScreen, { onDone: goToStart });
1305
1177
  case "upgrade":
1306
- return /* @__PURE__ */ jsx12(UpgradeScreen, { onDone: goToStart });
1178
+ return /* @__PURE__ */ jsx11(UpgradeScreen, { onDone: goToStart });
1307
1179
  case "settings":
1308
- return /* @__PURE__ */ jsx12(SettingsScreen, { onNavigate: setScreen, onBack: goToStart });
1180
+ return /* @__PURE__ */ jsx11(SettingsScreen, { onNavigate: setScreen, onBack: goToStart });
1309
1181
  case "settings-configuration":
1310
- return /* @__PURE__ */ jsx12(ConfigurationScreen, { onDone: goToSettings });
1182
+ return /* @__PURE__ */ jsx11(ConfigurationScreen, { onDone: goToSettings });
1311
1183
  case "settings-opt-in-analytics":
1312
- return /* @__PURE__ */ jsx12(OptInAnalyticsScreen, { onDone: goToSettings });
1184
+ return /* @__PURE__ */ jsx11(OptInAnalyticsScreen, { onDone: goToSettings });
1313
1185
  case "settings-debug-mode":
1314
- return /* @__PURE__ */ jsx12(DebugModeScreen, { onDone: goToSettings });
1315
- case "settings-import-defaults":
1316
- return /* @__PURE__ */ jsx12(ImportDefaultsScreen, { onDone: goToSettings });
1186
+ return /* @__PURE__ */ jsx11(DebugModeScreen, { onDone: goToSettings });
1317
1187
  case "start":
1318
- return /* @__PURE__ */ jsx12(HomeScreen, { onNavigate: setScreen });
1188
+ return /* @__PURE__ */ jsx11(HomeScreen, { onNavigate: setScreen });
1319
1189
  }
1320
1190
  }
1321
1191
  async function renderUntilImportRequestedOrExit(renderApp, importExitCode) {
1322
1192
  let requestedImport;
1323
1193
  const instance = renderApp(
1324
- /* @__PURE__ */ jsx12(
1194
+ /* @__PURE__ */ jsx11(
1325
1195
  App,
1326
1196
  {
1327
1197
  importExitCode,
package/dist/index.js CHANGED
@@ -849,7 +849,6 @@ function SettingsScreen({
849
849
  const [focusIdx, setFocusIdx] = useState5(0);
850
850
  const items = [
851
851
  { label: "Configuration", screen: "settings-configuration" },
852
- { label: "Import Defaults", screen: "settings-import-defaults" },
853
852
  { label: "Opt-in Analytics", screen: "settings-opt-in-analytics" },
854
853
  { label: "Debug Mode", screen: "settings-debug-mode" }
855
854
  ];
@@ -908,7 +907,9 @@ async function readCredentials() {
908
907
  spaceId: store.spaceId || "",
909
908
  environmentId: store.environmentId || "",
910
909
  cmaToken: store.cmaToken || "",
911
- host: store.host || ""
910
+ host: store.host || "",
911
+ defaultComponentDir: store.defaultComponentDir || "",
912
+ defaultTokenFile: store.defaultTokenFile || ""
912
913
  };
913
914
  }
914
915
  async function writeCredentials(config) {
@@ -938,7 +939,9 @@ function debugFields(config) {
938
939
  space_id: config?.spaceId ?? "",
939
940
  environment_id: config?.environmentId ?? "",
940
941
  cma_token: config?.cmaToken ?? "",
941
- host: config?.host ?? ""
942
+ host: config?.host ?? "",
943
+ default_component_dir: config?.defaultComponentDir ?? "",
944
+ default_token_file: config?.defaultTokenFile ?? ""
942
945
  };
943
946
  }
944
947
  function ConfigurationScreen({ onDone }) {
@@ -1075,12 +1078,21 @@ var init_ContentfulConfigScreen = __esm({
1075
1078
  init_home_theme();
1076
1079
  init_config_store();
1077
1080
  init_debug_store();
1078
- FIELD_ORDER = ["spaceId", "environmentId", "cmaToken", "host"];
1081
+ FIELD_ORDER = [
1082
+ "spaceId",
1083
+ "environmentId",
1084
+ "cmaToken",
1085
+ "host",
1086
+ "defaultComponentDir",
1087
+ "defaultTokenFile"
1088
+ ];
1079
1089
  FIELD_LABELS = {
1080
1090
  spaceId: "Space ID",
1081
1091
  environmentId: "Environment ID",
1082
1092
  cmaToken: "CMA Token",
1083
- host: "API Host (optional)"
1093
+ host: "API Host (optional)",
1094
+ defaultComponentDir: "Default component directory (optional)",
1095
+ defaultTokenFile: "Default token file (optional)"
1084
1096
  };
1085
1097
  }
1086
1098
  });
@@ -1301,180 +1313,27 @@ var init_screen4 = __esm({
1301
1313
  }
1302
1314
  });
1303
1315
 
1304
- // packages/experience-design-system-cli/src/tui/settings/import-defaults/defaults-store.ts
1305
- async function readImportDefaults() {
1306
- const { defaultComponentDir, defaultTokenFile } = await readSettings();
1307
- return {
1308
- componentDir: typeof defaultComponentDir === "string" ? defaultComponentDir : "",
1309
- tokenFile: typeof defaultTokenFile === "string" ? defaultTokenFile : ""
1310
- };
1311
- }
1312
- async function writeImportDefaults(defaults) {
1313
- const current = await readSettings();
1314
- const { defaultComponentDir: _dir, defaultTokenFile: _file, ...rest } = current;
1315
- const componentDir = defaults.componentDir.trim();
1316
- const tokenFile = defaults.tokenFile.trim();
1317
- await writeSettings({
1318
- ...rest,
1319
- ...componentDir ? { defaultComponentDir: componentDir } : {},
1320
- ...tokenFile ? { defaultTokenFile: tokenFile } : {}
1321
- });
1322
- }
1323
- var init_defaults_store = __esm({
1324
- "packages/experience-design-system-cli/src/tui/settings/import-defaults/defaults-store.ts"() {
1325
- "use strict";
1326
- init_config();
1327
- }
1328
- });
1329
-
1330
- // packages/experience-design-system-cli/src/tui/settings/import-defaults/screen.tsx
1331
- import { useEffect as useEffect8, useState as useState10 } from "react";
1332
- import { Box as Box11, Text as Text11, useInput as useInput11 } from "ink";
1333
- import { Fragment as Fragment3, jsx as jsx11, jsxs as jsxs11 } from "react/jsx-runtime";
1334
- function ImportDefaultsScreen({ onDone }) {
1335
- const [stage, setStage] = useState10("loading");
1336
- const [defaults, setDefaults] = useState10({ componentDir: "", tokenFile: "" });
1337
- const [activeField, setActiveField] = useState10("componentDir");
1338
- const [message, setMessage] = useState10(null);
1339
- useEffect8(() => {
1340
- readImportDefaults().then((saved) => {
1341
- setDefaults(saved);
1342
- setStage("form");
1343
- startDebugRun({
1344
- flow: "settings/import-defaults",
1345
- step: "01-import-defaults",
1346
- menuOption: "Import Defaults",
1347
- inputs: { ...saved }
1348
- });
1349
- });
1350
- }, []);
1351
- function handleSave() {
1352
- setStage("saving");
1353
- setMessage(null);
1354
- writeImportDefaults(defaults).then(() => {
1355
- setStage("saved");
1356
- setMessage("Import defaults saved");
1357
- }).catch((err) => {
1358
- setMessage(err instanceof Error ? err.message : "Failed to save");
1359
- setStage("form");
1360
- });
1361
- }
1362
- useInput11((input, key) => {
1363
- if (stage === "loading" || stage === "saving") return;
1364
- if (stage === "saved") {
1365
- if (key.return || key.escape || input === "q") {
1366
- void finishDebugRun({ outputs: { ...defaults }, status: "success", exitMethod: "saved" });
1367
- onDone();
1368
- }
1369
- return;
1370
- }
1371
- if (key.escape) {
1372
- void finishDebugRun({ outputs: {}, status: "success", exitMethod: "discarded" });
1373
- onDone();
1374
- return;
1375
- }
1376
- const idx = FIELD_ORDER2.indexOf(activeField);
1377
- if (key.tab || key.downArrow) {
1378
- setActiveField(FIELD_ORDER2[(idx + 1) % FIELD_ORDER2.length]);
1379
- return;
1380
- }
1381
- if (key.upArrow) {
1382
- setActiveField(FIELD_ORDER2[(idx - 1 + FIELD_ORDER2.length) % FIELD_ORDER2.length]);
1383
- return;
1384
- }
1385
- if (key.return) {
1386
- if (idx < FIELD_ORDER2.length - 1) setActiveField(FIELD_ORDER2[idx + 1]);
1387
- else handleSave();
1388
- return;
1389
- }
1390
- if (key.backspace || key.delete) {
1391
- setDefaults((d) => ({ ...d, [activeField]: d[activeField].slice(0, -1) }));
1392
- return;
1393
- }
1394
- if (input && !key.ctrl && !key.meta) {
1395
- setDefaults((d) => ({ ...d, [activeField]: d[activeField] + input }));
1396
- }
1397
- });
1398
- if (stage === "loading") {
1399
- return /* @__PURE__ */ jsxs11(Box11, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
1400
- /* @__PURE__ */ jsx11(Text11, { bold: true, children: "Import Defaults" }),
1401
- /* @__PURE__ */ jsx11(Text11, { children: " " }),
1402
- /* @__PURE__ */ jsx11(Text11, { color: PALETTE.accent, children: "Loading..." })
1403
- ] });
1404
- }
1405
- if (stage === "saved") {
1406
- return /* @__PURE__ */ jsxs11(Box11, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
1407
- /* @__PURE__ */ jsx11(Text11, { bold: true, children: "Import Defaults" }),
1408
- /* @__PURE__ */ jsx11(Text11, { children: " " }),
1409
- /* @__PURE__ */ jsxs11(Text11, { color: PALETTE.success, children: [
1410
- "\u2713 ",
1411
- message
1412
- ] }),
1413
- /* @__PURE__ */ jsx11(Text11, { children: " " }),
1414
- /* @__PURE__ */ jsx11(Text11, { dimColor: true, children: "[Enter/Esc] Back" })
1415
- ] });
1416
- }
1417
- return /* @__PURE__ */ jsxs11(Box11, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
1418
- /* @__PURE__ */ jsx11(Text11, { bold: true, children: "Import Defaults" }),
1419
- /* @__PURE__ */ jsx11(Text11, { dimColor: true, children: "Pre-filled when you start an import. Leave a field empty for no default." }),
1420
- /* @__PURE__ */ jsx11(Text11, { children: " " }),
1421
- /* @__PURE__ */ jsx11(Box11, { flexDirection: "column", children: FIELD_ORDER2.map((field) => {
1422
- const isActive = activeField === field;
1423
- const value = defaults[field];
1424
- return /* @__PURE__ */ jsxs11(Box11, { gap: 1, children: [
1425
- /* @__PURE__ */ jsx11(Text11, { color: isActive ? PALETTE.accent : void 0, children: isActive ? "\u276F" : " " }),
1426
- /* @__PURE__ */ jsxs11(Text11, { bold: isActive, children: [
1427
- FIELD_LABELS2[field],
1428
- ":"
1429
- ] }),
1430
- /* @__PURE__ */ jsx11(Text11, { children: value || /* @__PURE__ */ jsx11(Text11, { dimColor: true, children: "(empty)" }) })
1431
- ] }, field);
1432
- }) }),
1433
- message && /* @__PURE__ */ jsxs11(Fragment3, { children: [
1434
- /* @__PURE__ */ jsx11(Text11, { children: " " }),
1435
- /* @__PURE__ */ jsxs11(Text11, { color: PALETTE.error, children: [
1436
- "\u2717 ",
1437
- message
1438
- ] })
1439
- ] }),
1440
- /* @__PURE__ */ jsx11(Text11, { children: " " }),
1441
- /* @__PURE__ */ jsx11(Text11, { dimColor: true, children: "[\u2191/\u2193] Switch field \xB7 [Enter] Save/Next \xB7 [Esc] Back" })
1442
- ] });
1443
- }
1444
- var FIELD_ORDER2, FIELD_LABELS2;
1445
- var init_screen5 = __esm({
1446
- "packages/experience-design-system-cli/src/tui/settings/import-defaults/screen.tsx"() {
1447
- "use strict";
1448
- init_home_theme();
1449
- init_debug_store();
1450
- init_defaults_store();
1451
- FIELD_ORDER2 = ["componentDir", "tokenFile"];
1452
- FIELD_LABELS2 = {
1453
- componentDir: "Component directory",
1454
- tokenFile: "Token file"
1455
- };
1456
- }
1457
- });
1458
-
1459
1316
  // packages/experience-design-system-cli/app.tsx
1460
1317
  var app_exports = {};
1461
1318
  __export(app_exports, {
1462
1319
  runApp: () => runApp
1463
1320
  });
1464
- import { useEffect as useEffect9, useState as useState11 } from "react";
1465
- import { Fragment as Fragment4, jsx as jsx12 } from "react/jsx-runtime";
1321
+ import { useEffect as useEffect8, useState as useState10 } from "react";
1322
+ import { Fragment as Fragment3, jsx as jsx11 } from "react/jsx-runtime";
1466
1323
  function App({ onLaunchImport, importExitCode }) {
1467
1324
  const returnedFromImport = importExitCode !== void 0;
1468
- const [screen, setScreen] = useState11(returnedFromImport ? "import" : "start");
1469
- const [showImportResult, setShowImportResult] = useState11(returnedFromImport);
1470
- const [projectPath, setProjectPath] = useState11();
1471
- const [importDefaults, setImportDefaults] = useState11();
1472
- useEffect9(() => {
1325
+ const [screen, setScreen] = useState10(returnedFromImport ? "import" : "start");
1326
+ const [showImportResult, setShowImportResult] = useState10(returnedFromImport);
1327
+ const [projectPath, setProjectPath] = useState10();
1328
+ const [importDefaults, setImportDefaults] = useState10();
1329
+ useEffect8(() => {
1473
1330
  if (screen !== "import") {
1474
1331
  setImportDefaults(void 0);
1475
1332
  return;
1476
1333
  }
1477
- void readImportDefaults().then(setImportDefaults);
1334
+ void readCredentials().then(
1335
+ (saved) => setImportDefaults({ componentDir: saved.defaultComponentDir ?? "", tokenFile: saved.defaultTokenFile ?? "" })
1336
+ );
1478
1337
  }, [screen]);
1479
1338
  const goToStart = () => setScreen("start");
1480
1339
  const goToSettings = () => setScreen("settings");
@@ -1489,12 +1348,12 @@ function App({ onLaunchImport, importExitCode }) {
1489
1348
  };
1490
1349
  switch (screen) {
1491
1350
  case "import":
1492
- if (showImportResult) return /* @__PURE__ */ jsx12(ImportScreen, { exitCode: importExitCode, onDone: finishImportResult });
1493
- if (importDefaults === void 0) return /* @__PURE__ */ jsx12(Fragment4, {});
1351
+ if (showImportResult) return /* @__PURE__ */ jsx11(ImportScreen, { exitCode: importExitCode, onDone: finishImportResult });
1352
+ if (importDefaults === void 0) return /* @__PURE__ */ jsx11(Fragment3, {});
1494
1353
  if (projectPath === void 0) {
1495
- return /* @__PURE__ */ jsx12(WelcomeScreen, { onContinue: setProjectPath, onQuit: leaveImport, initialPath: importDefaults.componentDir });
1354
+ return /* @__PURE__ */ jsx11(WelcomeScreen, { onContinue: setProjectPath, onQuit: leaveImport, initialPath: importDefaults.componentDir });
1496
1355
  }
1497
- return /* @__PURE__ */ jsx12(
1356
+ return /* @__PURE__ */ jsx11(
1498
1357
  TokenInputScreen,
1499
1358
  {
1500
1359
  initialPath: importDefaults.tokenFile,
@@ -1504,27 +1363,25 @@ function App({ onLaunchImport, importExitCode }) {
1504
1363
  }
1505
1364
  );
1506
1365
  case "help":
1507
- return /* @__PURE__ */ jsx12(HelpScreen, { onDone: goToStart });
1366
+ return /* @__PURE__ */ jsx11(HelpScreen, { onDone: goToStart });
1508
1367
  case "upgrade":
1509
- return /* @__PURE__ */ jsx12(UpgradeScreen, { onDone: goToStart });
1368
+ return /* @__PURE__ */ jsx11(UpgradeScreen, { onDone: goToStart });
1510
1369
  case "settings":
1511
- return /* @__PURE__ */ jsx12(SettingsScreen, { onNavigate: setScreen, onBack: goToStart });
1370
+ return /* @__PURE__ */ jsx11(SettingsScreen, { onNavigate: setScreen, onBack: goToStart });
1512
1371
  case "settings-configuration":
1513
- return /* @__PURE__ */ jsx12(ConfigurationScreen, { onDone: goToSettings });
1372
+ return /* @__PURE__ */ jsx11(ConfigurationScreen, { onDone: goToSettings });
1514
1373
  case "settings-opt-in-analytics":
1515
- return /* @__PURE__ */ jsx12(OptInAnalyticsScreen, { onDone: goToSettings });
1374
+ return /* @__PURE__ */ jsx11(OptInAnalyticsScreen, { onDone: goToSettings });
1516
1375
  case "settings-debug-mode":
1517
- return /* @__PURE__ */ jsx12(DebugModeScreen, { onDone: goToSettings });
1518
- case "settings-import-defaults":
1519
- return /* @__PURE__ */ jsx12(ImportDefaultsScreen, { onDone: goToSettings });
1376
+ return /* @__PURE__ */ jsx11(DebugModeScreen, { onDone: goToSettings });
1520
1377
  case "start":
1521
- return /* @__PURE__ */ jsx12(HomeScreen, { onNavigate: setScreen });
1378
+ return /* @__PURE__ */ jsx11(HomeScreen, { onNavigate: setScreen });
1522
1379
  }
1523
1380
  }
1524
1381
  async function renderUntilImportRequestedOrExit(renderApp, importExitCode) {
1525
1382
  let requestedImport;
1526
1383
  const instance = renderApp(
1527
- /* @__PURE__ */ jsx12(
1384
+ /* @__PURE__ */ jsx11(
1528
1385
  App,
1529
1386
  {
1530
1387
  importExitCode,
@@ -1562,8 +1419,7 @@ var init_app = __esm({
1562
1419
  init_screen3();
1563
1420
  init_PageContainer4();
1564
1421
  init_screen4();
1565
- init_screen5();
1566
- init_defaults_store();
1422
+ init_config_store();
1567
1423
  }
1568
1424
  });
1569
1425
 
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contentful/experience-design-system-cli",
3
- "version": "2.35.1-dev-build-657a08f3.0",
3
+ "version": "2.35.1-dev-build-8f791e21.0",
4
4
  "description": "Contentful Experiences design system import CLI",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -3,6 +3,8 @@ export type V1Credentials = {
3
3
  environmentId?: string;
4
4
  cmaToken?: string;
5
5
  host?: string;
6
+ defaultComponentDir?: string;
7
+ defaultTokenFile?: string;
6
8
  [key: string]: string | undefined;
7
9
  };
8
10
  export declare function readCredentials(): Promise<V1Credentials>;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contentful/experience-design-system-cli",
3
- "version": "2.35.1-dev-build-657a08f3.0",
3
+ "version": "2.35.1-dev-build-8f791e21.0",
4
4
  "description": "Contentful Experiences design system import CLI",
5
5
  "license": "MIT",
6
6
  "type": "module",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contentful/experience-design-system-cli",
3
- "version": "2.35.1-dev-build-657a08f3.0",
3
+ "version": "2.35.1-dev-build-8f791e21.0",
4
4
  "description": "Contentful Experiences design system import CLI",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -42,7 +42,7 @@
42
42
  "svelte": "^5.56.4",
43
43
  "ts-morph": "^27.0.2",
44
44
  "typescript": "^5.9.3",
45
- "@contentful/experience-design-system-types": "2.35.1-dev-build-657a08f3.0"
45
+ "@contentful/experience-design-system-types": "2.35.1-dev-build-8f791e21.0"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@tsconfig/node24": "^24.0.4",
@@ -1,6 +0,0 @@
1
- export type ImportDefaults = {
2
- componentDir: string;
3
- tokenFile: string;
4
- };
5
- export declare function readImportDefaults(): Promise<ImportDefaults>;
6
- export declare function writeImportDefaults(defaults: ImportDefaults): Promise<void>;
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- export declare function ImportDefaultsScreen({ onDone }: {
3
- onDone: () => void;
4
- }): React.ReactElement;