@sfmc-bds/cli 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +22 -0
  2. package/dist/commands-behavior-pack.d.ts +46 -0
  3. package/dist/commands-behavior-pack.d.ts.map +1 -0
  4. package/dist/commands-behavior-pack.js +160 -0
  5. package/dist/commands-behavior-pack.js.map +1 -0
  6. package/dist/commands.d.ts +11 -0
  7. package/dist/commands.d.ts.map +1 -0
  8. package/dist/commands.js +191 -0
  9. package/dist/commands.js.map +1 -0
  10. package/dist/dispatcher.d.ts +13 -0
  11. package/dist/dispatcher.d.ts.map +1 -0
  12. package/dist/dispatcher.js +23 -0
  13. package/dist/dispatcher.js.map +1 -0
  14. package/dist/index.d.ts +31 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +43 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/logs.d.ts +35 -0
  19. package/dist/logs.d.ts.map +1 -0
  20. package/dist/logs.js +202 -0
  21. package/dist/logs.js.map +1 -0
  22. package/dist/main.d.ts +3 -0
  23. package/dist/main.d.ts.map +1 -0
  24. package/dist/main.js +189 -0
  25. package/dist/main.js.map +1 -0
  26. package/dist/module-commands.d.ts +39 -0
  27. package/dist/module-commands.d.ts.map +1 -0
  28. package/dist/module-commands.js +367 -0
  29. package/dist/module-commands.js.map +1 -0
  30. package/dist/registry.d.ts +53 -0
  31. package/dist/registry.d.ts.map +1 -0
  32. package/dist/registry.js +125 -0
  33. package/dist/registry.js.map +1 -0
  34. package/dist/remote-agent.d.ts +18 -0
  35. package/dist/remote-agent.d.ts.map +1 -0
  36. package/dist/remote-agent.js +212 -0
  37. package/dist/remote-agent.js.map +1 -0
  38. package/dist/repl.d.ts +9 -0
  39. package/dist/repl.d.ts.map +1 -0
  40. package/dist/repl.js +652 -0
  41. package/dist/repl.js.map +1 -0
  42. package/dist/runtime.d.ts +28 -0
  43. package/dist/runtime.d.ts.map +1 -0
  44. package/dist/runtime.js +74 -0
  45. package/dist/runtime.js.map +1 -0
  46. package/dist/services.d.ts +61 -0
  47. package/dist/services.d.ts.map +1 -0
  48. package/dist/services.js +259 -0
  49. package/dist/services.js.map +1 -0
  50. package/dist/terminal.d.ts +3 -0
  51. package/dist/terminal.d.ts.map +1 -0
  52. package/dist/terminal.js +178 -0
  53. package/dist/terminal.js.map +1 -0
  54. package/dist/theme.d.ts +33 -0
  55. package/dist/theme.d.ts.map +1 -0
  56. package/dist/theme.js +55 -0
  57. package/dist/theme.js.map +1 -0
  58. package/dist/wizard.d.ts +2 -0
  59. package/dist/wizard.d.ts.map +1 -0
  60. package/dist/wizard.js +475 -0
  61. package/dist/wizard.js.map +1 -0
  62. package/package.json +65 -0
@@ -0,0 +1,178 @@
1
+ import { configPath } from "@sfmc-bds/sdk/node/config";
2
+ import { applyEdits, modify, parse } from "jsonc-parser/lib/esm/main.js";
3
+ import { spawnSync } from "node:child_process";
4
+ import fs from "node:fs";
5
+ import path from "node:path";
6
+ import process from "node:process";
7
+ import { IS_SEA, ROOT } from "./runtime.js";
8
+ const PROFILE_NAME = "SFMC";
9
+ function readJson(file, fallback) {
10
+ try {
11
+ return JSON.parse(fs.readFileSync(file, "utf-8"));
12
+ }
13
+ catch {
14
+ return fallback;
15
+ }
16
+ }
17
+ const JSONC_FORMAT = { insertSpaces: true, tabSize: 2, eol: "\r\n" };
18
+ function readTerminalSettings(file) {
19
+ try {
20
+ const errors = [];
21
+ const settings = parse(fs.readFileSync(file, "utf-8"), errors);
22
+ if (errors.length === 0)
23
+ return settings;
24
+ throw new Error("invalid JSONC");
25
+ }
26
+ catch {
27
+ console.warn(`[terminal] skipped invalid Windows Terminal settings: ${file}`);
28
+ return null;
29
+ }
30
+ }
31
+ function writeJson(file, value) {
32
+ fs.mkdirSync(path.dirname(file), { recursive: true });
33
+ fs.writeFileSync(file, `${JSON.stringify(value, null, 2)}\n`, "utf-8");
34
+ }
35
+ function terminalSettingsFiles() {
36
+ const localAppData = process.env.LOCALAPPDATA;
37
+ if (!localAppData)
38
+ return [];
39
+ const packages = ["Microsoft.WindowsTerminal_8wekyb3d8bbwe", "Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe"];
40
+ return packages
41
+ .map((packageName) => path.join(localAppData, "Packages", packageName, "LocalState", "settings.json"))
42
+ .filter((file) => fs.existsSync(file));
43
+ }
44
+ function preferredPowerShell() {
45
+ const programFiles = [process.env.ProgramW6432, process.env.ProgramFiles].filter((value) => Boolean(value));
46
+ const candidates = [
47
+ ...programFiles.map((base) => path.join(base, "PowerShell", "7", "pwsh.exe")),
48
+ ...programFiles.map((base) => path.join(base, "PowerShell", "7-preview", "pwsh.exe")),
49
+ path.join(process.env.LOCALAPPDATA ?? "", "Microsoft", "WindowsApps", "pwsh.exe"),
50
+ ];
51
+ const installed = candidates.find((candidate) => fs.existsSync(candidate));
52
+ if (installed)
53
+ return installed;
54
+ if (spawnSync("pwsh.exe", ["-NoProfile", "-Command", "exit"], { stdio: "ignore", windowsHide: true }).status === 0) {
55
+ return "pwsh.exe";
56
+ }
57
+ return path.join(process.env.SystemRoot ?? "C:\\Windows", "System32", "WindowsPowerShell", "v1.0", "powershell.exe");
58
+ }
59
+ function newGuid() {
60
+ return `{${crypto.randomUUID()}}`;
61
+ }
62
+ function profile(guid, startingDirectory, commandline) {
63
+ return {
64
+ altGrAliasing: true,
65
+ antialiasingMode: "grayscale",
66
+ backgroundImage: "desktopWallpaper",
67
+ backgroundImageOpacity: 0.15,
68
+ closeOnExit: "automatic",
69
+ colorScheme: "One Half Dark",
70
+ commandline,
71
+ cursorColor: "#DCDFE4",
72
+ cursorShape: "filledBox",
73
+ font: {
74
+ axes: {},
75
+ features: {
76
+ dnom: 0,
77
+ fina: 0,
78
+ frac: 0,
79
+ mark: 1,
80
+ medi: 0,
81
+ numr: 0,
82
+ ordn: 0,
83
+ rlig: 1,
84
+ subs: 0,
85
+ sups: 0,
86
+ zero: 0,
87
+ },
88
+ size: 12,
89
+ weight: "semi-bold",
90
+ },
91
+ guid,
92
+ hidden: false,
93
+ historySize: 9001,
94
+ icon: "\ud83d\udd25",
95
+ intenseTextStyle: "all",
96
+ name: "SFMC",
97
+ opacity: 90,
98
+ padding: "8, 8, 8, 8",
99
+ scrollbarState: "visible",
100
+ snapOnInput: true,
101
+ startingDirectory,
102
+ tabTitle: "SFMC",
103
+ useAcrylic: true,
104
+ };
105
+ }
106
+ function editSettings(settingsFile, edits) {
107
+ if (edits.length === 0)
108
+ return;
109
+ const source = fs.readFileSync(settingsFile, "utf-8");
110
+ fs.writeFileSync(settingsFile, applyEdits(source, edits), "utf-8");
111
+ }
112
+ function removeManagedProfiles(settingsFile, settings, state) {
113
+ const list = settings.profiles?.list;
114
+ if (!Array.isArray(list))
115
+ return;
116
+ for (let index = list.length - 1; index >= 0; index -= 1) {
117
+ const item = list[index];
118
+ if (item && (item.guid === state.guid || item.name === PROFILE_NAME)) {
119
+ editSettings(settingsFile, modify(fs.readFileSync(settingsFile, "utf-8"), ["profiles", "list", index], undefined, {
120
+ formattingOptions: JSONC_FORMAT,
121
+ }));
122
+ }
123
+ }
124
+ }
125
+ function updateProfile(settingsFile, state, commandline) {
126
+ const settings = readTerminalSettings(settingsFile);
127
+ if (!settings)
128
+ return;
129
+ removeManagedProfiles(settingsFile, settings, state);
130
+ const refreshed = readTerminalSettings(settingsFile);
131
+ if (!refreshed)
132
+ return;
133
+ const list = refreshed.profiles?.list;
134
+ const pathToList = Array.isArray(list) ? ["profiles", "list", -1] : ["profiles", "list"];
135
+ const value = Array.isArray(list)
136
+ ? profile(state.guid, state.starting_directory, commandline)
137
+ : [profile(state.guid, state.starting_directory, commandline)];
138
+ editSettings(settingsFile, modify(fs.readFileSync(settingsFile, "utf-8"), pathToList, value, {
139
+ formattingOptions: JSONC_FORMAT,
140
+ isArrayInsertion: Array.isArray(list),
141
+ }));
142
+ }
143
+ function removeProfile(settingsFile, state) {
144
+ const settings = readTerminalSettings(settingsFile);
145
+ if (!settings)
146
+ return;
147
+ removeManagedProfiles(settingsFile, settings, state);
148
+ }
149
+ function terminalState(runtimeFile, startingDirectory) {
150
+ const runtime = readJson(runtimeFile, {});
151
+ const saved = runtime.terminal_profile;
152
+ const changed = saved?.starting_directory !== startingDirectory || !saved.guid;
153
+ if (changed && saved?.guid) {
154
+ for (const settingsFile of terminalSettingsFiles())
155
+ removeProfile(settingsFile, saved);
156
+ }
157
+ const state = changed
158
+ ? { guid: newGuid(), starting_directory: startingDirectory }
159
+ : saved;
160
+ writeJson(runtimeFile, { ...runtime, terminal_profile: state });
161
+ return state;
162
+ }
163
+ function windowsTerminalAvailable() {
164
+ return spawnSync("wt.exe", ["--version"], { stdio: "ignore", windowsHide: true }).status === 0;
165
+ }
166
+ /** Keep the dedicated Windows Terminal profile in sync with the SEA executable location. */
167
+ export function ensureSeaTerminalProfile() {
168
+ if (!IS_SEA || process.platform !== "win32" || process.env.SFMC_SERVICE)
169
+ return;
170
+ const settingsFiles = terminalSettingsFiles();
171
+ if (settingsFiles.length === 0 || !windowsTerminalAvailable())
172
+ return;
173
+ const runtimeFile = configPath(ROOT, "runtime.json");
174
+ const state = terminalState(runtimeFile, path.dirname(process.execPath));
175
+ for (const settingsFile of settingsFiles)
176
+ updateProfile(settingsFile, state, preferredPowerShell());
177
+ }
178
+ //# sourceMappingURL=terminal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ export declare const T: {
2
+ readonly bg: "#282c34";
3
+ readonly panel: "#21252b";
4
+ readonly surface: "#2c313c";
5
+ readonly surfaceHi: "#3e4452";
6
+ readonly subtle: "#4b5263";
7
+ readonly text: "#dcdfe4";
8
+ readonly muted: "#888888";
9
+ readonly red: "#e06c75";
10
+ readonly green: "#98c379";
11
+ readonly yellow: "#e5c07b";
12
+ readonly blue: "#61afef";
13
+ readonly cyan: "#56b6c2";
14
+ readonly purple: "#c678dd";
15
+ readonly orange: "#d19a66";
16
+ };
17
+ export declare const c: {
18
+ dim: import("chalk").ChalkInstance;
19
+ text: import("chalk").ChalkInstance;
20
+ green: import("chalk").ChalkInstance;
21
+ red: import("chalk").ChalkInstance;
22
+ yellow: import("chalk").ChalkInstance;
23
+ blue: import("chalk").ChalkInstance;
24
+ cyan: import("chalk").ChalkInstance;
25
+ purple: import("chalk").ChalkInstance;
26
+ orange: import("chalk").ChalkInstance;
27
+ bold: import("chalk").ChalkInstance;
28
+ };
29
+ export declare const W = 58;
30
+ export declare function highlightLogLine(raw: string): string;
31
+ export declare const DIVIDER: string;
32
+ export declare function padRight(s: string, n: number): string;
33
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,CAAC;;;;;;;;;;;;;;;CAeJ,CAAC;AAEX,eAAO,MAAM,CAAC;;;;;;;;;;;CAWb,CAAC;AAEF,eAAO,MAAM,CAAC,KAAK,CAAC;AAEpB,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBpD;AAMD,eAAO,MAAM,OAAO,QAA2B,CAAC;AAEhD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAErD"}
package/dist/theme.js ADDED
@@ -0,0 +1,55 @@
1
+ import chalk from "chalk";
2
+ export const T = {
3
+ bg: "#282c34",
4
+ panel: "#21252b",
5
+ surface: "#2c313c",
6
+ surfaceHi: "#3e4452",
7
+ subtle: "#4b5263",
8
+ text: "#dcdfe4",
9
+ muted: "#888888",
10
+ red: "#e06c75",
11
+ green: "#98c379",
12
+ yellow: "#e5c07b",
13
+ blue: "#61afef",
14
+ cyan: "#56b6c2",
15
+ purple: "#c678dd",
16
+ orange: "#d19a66",
17
+ };
18
+ export const c = {
19
+ dim: chalk.hex(T.muted),
20
+ text: chalk.hex(T.text),
21
+ green: chalk.hex(T.green),
22
+ red: chalk.hex(T.red),
23
+ yellow: chalk.hex(T.yellow),
24
+ blue: chalk.hex(T.blue),
25
+ cyan: chalk.hex(T.cyan),
26
+ purple: chalk.hex(T.purple),
27
+ orange: chalk.hex(T.orange),
28
+ bold: chalk.bold,
29
+ };
30
+ export const W = 58;
31
+ export function highlightLogLine(raw) {
32
+ return raw
33
+ .replace(/§[0-9a-fklmnor]/g, "")
34
+ .replace(/\b\d{1,2}:\d{2}(?::\d{2})?\b/g, (m) => c.dim(m))
35
+ .replace(/\[ERROR\]/g, (m) => c.red(m))
36
+ .replace(/\[FATAL\]/g, (m) => c.red(c.bold(m)))
37
+ .replace(/\[WARN(ING)?\]/g, (m) => c.yellow(m))
38
+ .replace(/\[SUCCESS\]/g, (m) => c.green(c.bold(m)))
39
+ .replace(/\[INFO\]/g, (m) => c.blue(m))
40
+ .replace(/\[DEBUG\]/g, (m) => c.dim(m))
41
+ .replace(/\[PLAYER\]/g, (m) => c.green(m))
42
+ .replace(/\[TPS\]/g, (m) => c.cyan(m))
43
+ .replace(/\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d+)?\b/g, (m) => c.cyan(m))
44
+ .replace(/Player (joined|left):/g, (m) => c.green(m))
45
+ .replace(/Server (started|stopped)/g, (m) => c.green(m))
46
+ .replace(/\b(TPS|MSPT|tick|loaded|saved)\b/gi, (m) => c.cyan(m));
47
+ }
48
+ function visibleLen(s) {
49
+ return s.replace(/\x1b\[[0-9;]*m/g, "").length;
50
+ }
51
+ export const DIVIDER = c.dim("─".repeat(W - 2));
52
+ export function padRight(s, n) {
53
+ return s + " ".repeat(Math.max(0, n - visibleLen(s)));
54
+ }
55
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function runWizard(): Promise<void>;
2
+ //# sourceMappingURL=wizard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../src/wizard.ts"],"names":[],"mappings":"AA+LA,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAuQ/C"}