mthds 0.3.2 → 0.3.3
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/config/config.js +4 -92
- package/dist/config/config.js.map +1 -1
- package/package.json +1 -1
package/dist/config/config.js
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
2
|
import { homedir } from "node:os";
|
|
3
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync,
|
|
3
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync, } from "node:fs";
|
|
4
4
|
import { Runners } from "../runners/types.js";
|
|
5
5
|
// ── Paths ──────────────────────────────────────────────────────────
|
|
6
6
|
const CONFIG_DIR = join(homedir(), ".mthds");
|
|
7
7
|
const CONFIG_PATH = join(CONFIG_DIR, "config");
|
|
8
|
-
// Legacy paths (for auto-migration)
|
|
9
|
-
const LEGACY_CONFIG_PATH = join(CONFIG_DIR, "config.json");
|
|
10
|
-
const LEGACY_ENV_LOCAL_PATH = join(CONFIG_DIR, ".env.local");
|
|
11
|
-
const LEGACY_CREDENTIALS_PATH = join(CONFIG_DIR, "credentials");
|
|
12
8
|
// ── Config keys ───────────────────────────────────────────────────
|
|
13
9
|
/** Map from config key to env var name */
|
|
14
10
|
const ENV_NAMES = {
|
|
@@ -88,7 +84,6 @@ function serializeDotenv(entries) {
|
|
|
88
84
|
}
|
|
89
85
|
// ── File I/O ───────────────────────────────────────────────────────
|
|
90
86
|
function readConfigFile() {
|
|
91
|
-
migrateIfNeeded();
|
|
92
87
|
if (!existsSync(CONFIG_PATH))
|
|
93
88
|
return {};
|
|
94
89
|
try {
|
|
@@ -102,89 +97,6 @@ function writeConfigFile(entries) {
|
|
|
102
97
|
mkdirSync(CONFIG_DIR, { recursive: true });
|
|
103
98
|
writeFileSync(CONFIG_PATH, serializeDotenv(entries), "utf-8");
|
|
104
99
|
}
|
|
105
|
-
// ── Migration ──────────────────────────────────────────────────────
|
|
106
|
-
let migrationDone = false;
|
|
107
|
-
function migrateIfNeeded() {
|
|
108
|
-
if (migrationDone)
|
|
109
|
-
return;
|
|
110
|
-
migrationDone = true;
|
|
111
|
-
if (existsSync(CONFIG_PATH))
|
|
112
|
-
return;
|
|
113
|
-
const migrated = {};
|
|
114
|
-
let configJsonMigrated = false;
|
|
115
|
-
let envLocalMigrated = false;
|
|
116
|
-
let credentialsMigrated = false;
|
|
117
|
-
// Migrate from ~/.mthds/credentials (previous config file name)
|
|
118
|
-
if (existsSync(LEGACY_CREDENTIALS_PATH)) {
|
|
119
|
-
try {
|
|
120
|
-
const entries = parseDotenv(readFileSync(LEGACY_CREDENTIALS_PATH, "utf-8"));
|
|
121
|
-
Object.assign(migrated, entries);
|
|
122
|
-
credentialsMigrated = true;
|
|
123
|
-
}
|
|
124
|
-
catch {
|
|
125
|
-
// Read failed — preserve the legacy file
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
// Migrate from config.json
|
|
129
|
-
if (existsSync(LEGACY_CONFIG_PATH)) {
|
|
130
|
-
try {
|
|
131
|
-
const raw = readFileSync(LEGACY_CONFIG_PATH, "utf-8");
|
|
132
|
-
const config = JSON.parse(raw);
|
|
133
|
-
if (typeof config.runner === "string") {
|
|
134
|
-
migrated["MTHDS_RUNNER"] = config.runner;
|
|
135
|
-
}
|
|
136
|
-
if (typeof config.apiUrl === "string") {
|
|
137
|
-
migrated["PIPELEX_API_URL"] = config.apiUrl;
|
|
138
|
-
}
|
|
139
|
-
if (typeof config.apiKey === "string") {
|
|
140
|
-
migrated["PIPELEX_API_KEY"] = config.apiKey;
|
|
141
|
-
}
|
|
142
|
-
if (typeof config.telemetry === "boolean") {
|
|
143
|
-
migrated["DISABLE_TELEMETRY"] = config.telemetry ? "0" : "1";
|
|
144
|
-
}
|
|
145
|
-
configJsonMigrated = true;
|
|
146
|
-
}
|
|
147
|
-
catch {
|
|
148
|
-
// Parse failed — preserve the legacy file so the user can fix it
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
// Migrate from .env.local (telemetry flag)
|
|
152
|
-
if (existsSync(LEGACY_ENV_LOCAL_PATH)) {
|
|
153
|
-
try {
|
|
154
|
-
const envEntries = parseDotenv(readFileSync(LEGACY_ENV_LOCAL_PATH, "utf-8"));
|
|
155
|
-
if (envEntries["DISABLE_TELEMETRY"]) {
|
|
156
|
-
migrated["DISABLE_TELEMETRY"] = envEntries["DISABLE_TELEMETRY"];
|
|
157
|
-
}
|
|
158
|
-
envLocalMigrated = Boolean(envEntries["DISABLE_TELEMETRY"]);
|
|
159
|
-
}
|
|
160
|
-
catch {
|
|
161
|
-
// Read failed — preserve the legacy file
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
if (credentialsMigrated || configJsonMigrated || envLocalMigrated) {
|
|
165
|
-
mkdirSync(CONFIG_DIR, { recursive: true });
|
|
166
|
-
writeFileSync(CONFIG_PATH, serializeDotenv(migrated), "utf-8");
|
|
167
|
-
// Only delete legacy files that were successfully migrated
|
|
168
|
-
if (credentialsMigrated) {
|
|
169
|
-
try {
|
|
170
|
-
unlinkSync(LEGACY_CREDENTIALS_PATH);
|
|
171
|
-
}
|
|
172
|
-
catch { /* ignore */ }
|
|
173
|
-
}
|
|
174
|
-
if (configJsonMigrated) {
|
|
175
|
-
try {
|
|
176
|
-
unlinkSync(LEGACY_CONFIG_PATH);
|
|
177
|
-
}
|
|
178
|
-
catch { /* ignore */ }
|
|
179
|
-
}
|
|
180
|
-
if (envLocalMigrated) {
|
|
181
|
-
try {
|
|
182
|
-
unlinkSync(LEGACY_ENV_LOCAL_PATH);
|
|
183
|
-
}
|
|
184
|
-
catch { /* ignore */ }
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
100
|
// ── Public API ─────────────────────────────────────────────────────
|
|
189
101
|
function coerceValue(key, raw) {
|
|
190
102
|
if (!BOOLEAN_KEYS.has(key))
|
|
@@ -261,9 +173,9 @@ function coerceBooleanInput(value) {
|
|
|
261
173
|
}
|
|
262
174
|
export function listConfig() {
|
|
263
175
|
const result = [];
|
|
264
|
-
for (const [cliKey,
|
|
265
|
-
const { value, source } = getConfigValue(
|
|
266
|
-
result.push({ key:
|
|
176
|
+
for (const [cliKey, configKey] of Object.entries(KEY_ALIASES)) {
|
|
177
|
+
const { value, source } = getConfigValue(configKey);
|
|
178
|
+
result.push({ key: configKey, cliKey, value, source });
|
|
267
179
|
}
|
|
268
180
|
return result;
|
|
269
181
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,aAAa,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
|