@tinyrack/dotweave 0.42.13 → 0.42.19
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/README.md +6 -2
- package/dist/application.d.ts +0 -3
- package/dist/application.d.ts.map +1 -1
- package/dist/application.js +23 -22
- package/dist/application.js.map +1 -1
- package/dist/cli/autocomplete.d.ts +5 -4
- package/dist/cli/autocomplete.d.ts.map +1 -1
- package/dist/cli/autocomplete.js +33 -28
- package/dist/cli/autocomplete.js.map +1 -1
- package/dist/cli/cd.d.ts +2 -2
- package/dist/cli/cd.d.ts.map +1 -1
- package/dist/cli/cd.js +1 -4
- package/dist/cli/cd.js.map +1 -1
- package/dist/cli/doctor.d.ts +2 -2
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +19 -28
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.d.ts +1 -3
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +5 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts +2 -2
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +9 -15
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/profile/index.d.ts +1 -1
- package/dist/cli/profile/index.d.ts.map +1 -1
- package/dist/cli/profile/list.d.ts +2 -2
- package/dist/cli/profile/list.d.ts.map +1 -1
- package/dist/cli/profile/list.js +13 -23
- package/dist/cli/profile/list.js.map +1 -1
- package/dist/cli/profile/use.d.ts +2 -2
- package/dist/cli/profile/use.d.ts.map +1 -1
- package/dist/cli/profile/use.js +4 -13
- package/dist/cli/profile/use.js.map +1 -1
- package/dist/cli/pull.d.ts +2 -2
- package/dist/cli/pull.d.ts.map +1 -1
- package/dist/cli/pull.js +22 -41
- package/dist/cli/pull.js.map +1 -1
- package/dist/cli/push.d.ts +2 -2
- package/dist/cli/push.d.ts.map +1 -1
- package/dist/cli/push.js +17 -23
- package/dist/cli/push.js.map +1 -1
- package/dist/cli/root-commands.d.ts +9 -10
- package/dist/cli/root-commands.d.ts.map +1 -1
- package/dist/cli/root-commands.js +0 -4
- package/dist/cli/root-commands.js.map +1 -1
- package/dist/cli/shared-flags.d.ts +9 -0
- package/dist/cli/shared-flags.d.ts.map +1 -0
- package/dist/cli/shared-flags.js +8 -0
- package/dist/cli/shared-flags.js.map +1 -0
- package/dist/cli/status.d.ts +2 -2
- package/dist/cli/status.d.ts.map +1 -1
- package/dist/cli/status.js +26 -55
- package/dist/cli/status.js.map +1 -1
- package/dist/cli/track.d.ts +2 -2
- package/dist/cli/track.d.ts.map +1 -1
- package/dist/cli/track.js +14 -33
- package/dist/cli/track.js.map +1 -1
- package/dist/cli/untrack.d.ts +2 -2
- package/dist/cli/untrack.d.ts.map +1 -1
- package/dist/cli/untrack.js +5 -14
- package/dist/cli/untrack.js.map +1 -1
- package/dist/config/constants.d.ts +1 -1
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +1 -1
- package/dist/config/constants.js.map +1 -1
- package/dist/config/global-config.d.ts +3 -3
- package/dist/config/global-config.d.ts.map +1 -1
- package/dist/config/global-config.js +7 -8
- package/dist/config/global-config.js.map +1 -1
- package/dist/config/identity-file.d.ts +0 -7
- package/dist/config/identity-file.d.ts.map +1 -1
- package/dist/config/identity-file.js +2 -44
- package/dist/config/identity-file.js.map +1 -1
- package/dist/config/runtime-env.d.ts.map +1 -1
- package/dist/config/runtime-env.js +2 -7
- package/dist/config/runtime-env.js.map +1 -1
- package/dist/config/{sync-entry.d.ts → sync-queries.d.ts} +5 -3
- package/dist/config/sync-queries.d.ts.map +1 -0
- package/dist/config/{sync-entry.js → sync-queries.js} +15 -6
- package/dist/config/sync-queries.js.map +1 -0
- package/dist/config/sync-schema.d.ts +9 -7
- package/dist/config/sync-schema.d.ts.map +1 -1
- package/dist/config/sync-schema.js +53 -18
- package/dist/config/sync-schema.js.map +1 -1
- package/dist/config/xdg.d.ts.map +1 -1
- package/dist/config/xdg.js +15 -34
- package/dist/config/xdg.js.map +1 -1
- package/dist/lib/error.js +1 -1
- package/dist/lib/error.js.map +1 -1
- package/dist/lib/git.d.ts +3 -4
- package/dist/lib/git.d.ts.map +1 -1
- package/dist/lib/git.js +7 -48
- package/dist/lib/git.js.map +1 -1
- package/dist/lib/jsonc.d.ts +1 -1
- package/dist/lib/jsonc.d.ts.map +1 -1
- package/dist/lib/jsonc.js +1 -1
- package/dist/lib/jsonc.js.map +1 -1
- package/dist/lib/path.d.ts +3 -16
- package/dist/lib/path.d.ts.map +1 -1
- package/dist/lib/path.js +30 -19
- package/dist/lib/path.js.map +1 -1
- package/dist/lib/string.d.ts +1 -4
- package/dist/lib/string.d.ts.map +1 -1
- package/dist/lib/string.js +6 -4
- package/dist/lib/string.js.map +1 -1
- package/dist/lib/version.d.ts.map +1 -1
- package/dist/lib/version.js +2 -2
- package/dist/lib/version.js.map +1 -1
- package/dist/services/autocomplete.js +13 -13
- package/dist/services/autocomplete.js.map +1 -1
- package/dist/services/config-file.d.ts +4 -4
- package/dist/services/config-file.d.ts.map +1 -1
- package/dist/services/config-file.js +7 -8
- package/dist/services/config-file.js.map +1 -1
- package/dist/services/doctor.d.ts +1 -4
- package/dist/services/doctor.d.ts.map +1 -1
- package/dist/services/doctor.js +10 -37
- package/dist/services/doctor.js.map +1 -1
- package/dist/services/init.d.ts +1 -5
- package/dist/services/init.d.ts.map +1 -1
- package/dist/services/init.js +25 -59
- package/dist/services/init.js.map +1 -1
- package/dist/services/local-snapshot.d.ts +2 -7
- package/dist/services/local-snapshot.d.ts.map +1 -1
- package/dist/services/local-snapshot.js +12 -35
- package/dist/services/local-snapshot.js.map +1 -1
- package/dist/services/profile.d.ts +0 -4
- package/dist/services/profile.d.ts.map +1 -1
- package/dist/services/profile.js +13 -22
- package/dist/services/profile.js.map +1 -1
- package/dist/services/pull-apply.d.ts +30 -0
- package/dist/services/pull-apply.d.ts.map +1 -0
- package/dist/services/{local-materialization.js → pull-apply.js} +150 -210
- package/dist/services/pull-apply.js.map +1 -0
- package/dist/services/pull.d.ts +7 -10
- package/dist/services/pull.d.ts.map +1 -1
- package/dist/services/pull.js +19 -30
- package/dist/services/pull.js.map +1 -1
- package/dist/services/push.d.ts +4 -7
- package/dist/services/push.d.ts.map +1 -1
- package/dist/services/push.js +15 -38
- package/dist/services/push.js.map +1 -1
- package/dist/services/repo-artifacts.d.ts +5 -6
- package/dist/services/repo-artifacts.d.ts.map +1 -1
- package/dist/services/repo-artifacts.js +21 -60
- package/dist/services/repo-artifacts.js.map +1 -1
- package/dist/services/repo-snapshot.d.ts +2 -3
- package/dist/services/repo-snapshot.d.ts.map +1 -1
- package/dist/services/repo-snapshot.js +14 -26
- package/dist/services/repo-snapshot.js.map +1 -1
- package/dist/services/status.d.ts +1 -5
- package/dist/services/status.d.ts.map +1 -1
- package/dist/services/status.js +7 -17
- package/dist/services/status.js.map +1 -1
- package/dist/services/{runtime.d.ts → sync-context.d.ts} +9 -3
- package/dist/services/sync-context.d.ts.map +1 -0
- package/dist/services/{runtime.js → sync-context.js} +14 -7
- package/dist/services/sync-context.js.map +1 -0
- package/dist/services/{set.d.ts → sync-mode.d.ts} +7 -9
- package/dist/services/sync-mode.d.ts.map +1 -0
- package/dist/services/{set.js → sync-mode.js} +9 -23
- package/dist/services/sync-mode.js.map +1 -0
- package/dist/services/{paths.d.ts → sync-paths.d.ts} +2 -2
- package/dist/services/sync-paths.d.ts.map +1 -0
- package/dist/services/{paths.js → sync-paths.js} +4 -6
- package/dist/services/sync-paths.js.map +1 -0
- package/dist/services/terminal/logger.d.ts +30 -5
- package/dist/services/terminal/logger.d.ts.map +1 -1
- package/dist/services/terminal/logger.js +61 -14
- package/dist/services/terminal/logger.js.map +1 -1
- package/dist/services/terminal/path-completion.d.ts +2 -2
- package/dist/services/terminal/path-completion.d.ts.map +1 -1
- package/dist/services/terminal/path-completion.js +16 -13
- package/dist/services/terminal/path-completion.js.map +1 -1
- package/dist/services/terminal/shell.d.ts +1 -12
- package/dist/services/terminal/shell.d.ts.map +1 -1
- package/dist/services/terminal/shell.js +7 -160
- package/dist/services/terminal/shell.js.map +1 -1
- package/dist/services/terminal/spinner.d.ts +10 -0
- package/dist/services/terminal/spinner.d.ts.map +1 -0
- package/dist/services/terminal/spinner.js +61 -0
- package/dist/services/terminal/spinner.js.map +1 -0
- package/dist/services/terminal/theme.d.ts +31 -0
- package/dist/services/terminal/theme.d.ts.map +1 -0
- package/dist/services/terminal/theme.js +32 -0
- package/dist/services/terminal/theme.js.map +1 -0
- package/dist/services/track.d.ts +1 -3
- package/dist/services/track.d.ts.map +1 -1
- package/dist/services/track.js +7 -23
- package/dist/services/track.js.map +1 -1
- package/dist/services/untrack.d.ts +0 -2
- package/dist/services/untrack.d.ts.map +1 -1
- package/dist/services/untrack.js +4 -11
- package/dist/services/untrack.js.map +1 -1
- package/package.json +1 -2
- package/dist/config/sync-entry.d.ts.map +0 -1
- package/dist/config/sync-entry.js.map +0 -1
- package/dist/config/sync.d.ts +0 -8
- package/dist/config/sync.d.ts.map +0 -1
- package/dist/config/sync.js +0 -53
- package/dist/config/sync.js.map +0 -1
- package/dist/services/local-materialization.d.ts +0 -30
- package/dist/services/local-materialization.d.ts.map +0 -1
- package/dist/services/local-materialization.js.map +0 -1
- package/dist/services/paths.d.ts.map +0 -1
- package/dist/services/paths.js.map +0 -1
- package/dist/services/runtime.d.ts.map +0 -1
- package/dist/services/runtime.js.map +0 -1
- package/dist/services/set.d.ts.map +0 -1
- package/dist/services/set.js.map +0 -1
- package/dist/services/terminal/cli-runtime.d.ts +0 -18
- package/dist/services/terminal/cli-runtime.d.ts.map +0 -1
- package/dist/services/terminal/cli-runtime.js +0 -19
- package/dist/services/terminal/cli-runtime.js.map +0 -1
|
@@ -1,15 +1,62 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
import pc from "picocolors";
|
|
2
|
+
import { createSpinner } from "./spinner.js";
|
|
3
|
+
import { color, SYMBOLS } from "./theme.js";
|
|
4
|
+
const INDENT = " ";
|
|
5
|
+
export const createCliLogger = (options = {}) =>
|
|
6
|
+
// Build a logger with optional stream overrides and optional prefix tag.
|
|
7
|
+
// Tag is only cosmetic and prepends a dim "[tag]" prefix to every output line.
|
|
8
|
+
(() => {
|
|
9
|
+
// Default to process streams when callers don't pass explicit destination streams.
|
|
10
|
+
const stdout = options.stdout ?? process.stdout;
|
|
11
|
+
const stderr = options.stderr ?? process.stderr;
|
|
12
|
+
const prefix = options.tag === undefined ? "" : pc.dim(`[${options.tag}] `);
|
|
13
|
+
// Single write helper for all stdout/stderr output paths.
|
|
14
|
+
const w = (dest, msg) => {
|
|
15
|
+
dest.write(`${prefix}${msg}\n`);
|
|
16
|
+
};
|
|
17
|
+
// Core logger surface used across commands; each method formats consistently.
|
|
18
|
+
return {
|
|
19
|
+
log: (m) => w(stdout, m),
|
|
20
|
+
info: (m) => w(stdout, `${color.info(SYMBOLS.info)} ${m}`),
|
|
21
|
+
success: (m) => w(stdout, `${color.success(SYMBOLS.success)} ${m}`),
|
|
22
|
+
fail: (m) => w(stdout, `${color.error(SYMBOLS.error)} ${m}`),
|
|
23
|
+
warn: (m) => w(stderr, `${color.warn(SYMBOLS.warn)} ${m}`),
|
|
24
|
+
error: (m) => w(stderr, `${color.error(SYMBOLS.error)} ${m}`),
|
|
25
|
+
start: (m) => w(stdout, `${color.info(SYMBOLS.bullet)} ${color.dim(m)}`),
|
|
26
|
+
section: (title) => {
|
|
27
|
+
w(stdout, "");
|
|
28
|
+
w(stdout, color.bold(title));
|
|
29
|
+
},
|
|
30
|
+
kv: (key, value) => {
|
|
31
|
+
w(stdout, `${INDENT}${color.label(key)}: ${value}`);
|
|
32
|
+
},
|
|
33
|
+
list: (items, opts) => {
|
|
34
|
+
const bullet = opts?.bullet ?? "-";
|
|
35
|
+
for (let i = 0; i < items.length; i++) {
|
|
36
|
+
const isLast = i === items.length - 1;
|
|
37
|
+
const highlight = opts?.highlightLast === true && isLast;
|
|
38
|
+
const line = `${INDENT}${bullet} ${items[i]}`;
|
|
39
|
+
w(stdout, highlight ? color.highlight(line) : line);
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
listKeyValue: (items) => {
|
|
43
|
+
const maxKeyLen = Math.max(...items.map((item) => item.key.length));
|
|
44
|
+
for (const item of items) {
|
|
45
|
+
const paddedKey = item.key.padEnd(maxKeyLen);
|
|
46
|
+
if (item.value !== undefined) {
|
|
47
|
+
w(stdout, `${INDENT}${color.label(paddedKey)} ${item.value}`);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
w(stdout, `${INDENT}${color.label(item.key)}`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
divider: () => {
|
|
55
|
+
w(stdout, color.dim("————————————————"));
|
|
56
|
+
},
|
|
57
|
+
spinner: (text) => {
|
|
58
|
+
return createSpinner(stdout, text);
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
})();
|
|
15
62
|
//# sourceMappingURL=logger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/services/terminal/logger.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/services/terminal/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const proposePathCompletions: (this:
|
|
1
|
+
import type { ApplicationContext } from "@stricli/core";
|
|
2
|
+
export declare const proposePathCompletions: (this: ApplicationContext, partial: string) => Promise<string[]>;
|
|
3
3
|
//# sourceMappingURL=path-completion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-completion.d.ts","sourceRoot":"","sources":["../../../src/services/terminal/path-completion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"path-completion.d.ts","sourceRoot":"","sources":["../../../src/services/terminal/path-completion.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAoIxD,eAAO,MAAM,sBAAsB,GACjC,MAAM,kBAAkB,EACxB,SAAS,MAAM,sBA0BhB,CAAC"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import * as fs from "node:fs/promises";
|
|
2
|
+
import * as os from "node:os";
|
|
3
|
+
import * as path from "node:path";
|
|
1
4
|
const HOME_PREFIX = "~";
|
|
2
5
|
const HIDDEN_ENTRY_PREFIX = ".";
|
|
3
6
|
const RECOVERABLE_ERROR_CODES = new Set([
|
|
@@ -12,32 +15,32 @@ const isRecoverableCompletionError = (error) => {
|
|
|
12
15
|
typeof error.code === "string" &&
|
|
13
16
|
RECOVERABLE_ERROR_CODES.has(error.code));
|
|
14
17
|
};
|
|
15
|
-
const buildRelativeCompletionBase = (partial
|
|
18
|
+
const buildRelativeCompletionBase = (partial) => {
|
|
16
19
|
const lastSeparatorIndex = partial.lastIndexOf(SHELL_PATH_SEPARATOR);
|
|
17
20
|
const displayPrefix = lastSeparatorIndex < 0 ? "" : partial.slice(0, lastSeparatorIndex + 1);
|
|
18
21
|
const entryPrefix = lastSeparatorIndex < 0 ? partial : partial.slice(lastSeparatorIndex + 1);
|
|
19
22
|
return {
|
|
20
|
-
absoluteDirectory:
|
|
23
|
+
absoluteDirectory: path.resolve(process.cwd(), displayPrefix === "" ? "." : displayPrefix),
|
|
21
24
|
displayPrefix,
|
|
22
25
|
entryPrefix,
|
|
23
26
|
};
|
|
24
27
|
};
|
|
25
|
-
const buildAbsoluteCompletionBase = (partial
|
|
28
|
+
const buildAbsoluteCompletionBase = (partial) => {
|
|
26
29
|
const lastSeparatorIndex = partial.lastIndexOf(SHELL_PATH_SEPARATOR);
|
|
27
30
|
const displayPrefix = lastSeparatorIndex < 0
|
|
28
31
|
? SHELL_PATH_SEPARATOR
|
|
29
32
|
: partial.slice(0, lastSeparatorIndex + 1);
|
|
30
33
|
const entryPrefix = lastSeparatorIndex < 0 ? partial : partial.slice(lastSeparatorIndex + 1);
|
|
31
34
|
return {
|
|
32
|
-
absoluteDirectory:
|
|
35
|
+
absoluteDirectory: path.resolve(displayPrefix),
|
|
33
36
|
displayPrefix,
|
|
34
37
|
entryPrefix,
|
|
35
38
|
};
|
|
36
39
|
};
|
|
37
|
-
const buildHomeCompletionBase = (partial
|
|
40
|
+
const buildHomeCompletionBase = (partial) => {
|
|
38
41
|
if (partial === HOME_PREFIX) {
|
|
39
42
|
return {
|
|
40
|
-
absoluteDirectory:
|
|
43
|
+
absoluteDirectory: os.homedir(),
|
|
41
44
|
displayPrefix: `${HOME_PREFIX}${SHELL_PATH_SEPARATOR}`,
|
|
42
45
|
entryPrefix: "",
|
|
43
46
|
};
|
|
@@ -54,19 +57,19 @@ const buildHomeCompletionBase = (partial, context) => {
|
|
|
54
57
|
? homeRelativePath
|
|
55
58
|
: homeRelativePath.slice(lastSeparatorIndex + 1);
|
|
56
59
|
return {
|
|
57
|
-
absoluteDirectory:
|
|
60
|
+
absoluteDirectory: path.resolve(os.homedir(), directorySuffix === "" ? "." : directorySuffix),
|
|
58
61
|
displayPrefix: `${HOME_PREFIX}${SHELL_PATH_SEPARATOR}${directorySuffix}`,
|
|
59
62
|
entryPrefix,
|
|
60
63
|
};
|
|
61
64
|
};
|
|
62
|
-
const resolveCompletionBase = (partial
|
|
65
|
+
const resolveCompletionBase = (partial) => {
|
|
63
66
|
if (partial.startsWith(HOME_PREFIX)) {
|
|
64
|
-
return buildHomeCompletionBase(partial
|
|
67
|
+
return buildHomeCompletionBase(partial);
|
|
65
68
|
}
|
|
66
69
|
if (partial.startsWith(SHELL_PATH_SEPARATOR)) {
|
|
67
|
-
return buildAbsoluteCompletionBase(partial
|
|
70
|
+
return buildAbsoluteCompletionBase(partial);
|
|
68
71
|
}
|
|
69
|
-
return buildRelativeCompletionBase(partial
|
|
72
|
+
return buildRelativeCompletionBase(partial);
|
|
70
73
|
};
|
|
71
74
|
const shouldIncludeEntry = (name, entryPrefix) => {
|
|
72
75
|
if (!name.startsWith(entryPrefix)) {
|
|
@@ -83,12 +86,12 @@ const buildCompletionValue = (base, entryName, isDirectory) => {
|
|
|
83
86
|
return isDirectory ? `${completion}${SHELL_PATH_SEPARATOR}` : completion;
|
|
84
87
|
};
|
|
85
88
|
export const proposePathCompletions = async function (partial) {
|
|
86
|
-
const base = resolveCompletionBase(partial
|
|
89
|
+
const base = resolveCompletionBase(partial);
|
|
87
90
|
if (base === undefined) {
|
|
88
91
|
return [];
|
|
89
92
|
}
|
|
90
93
|
try {
|
|
91
|
-
const entries = await
|
|
94
|
+
const entries = await fs.readdir(base.absoluteDirectory, {
|
|
92
95
|
withFileTypes: true,
|
|
93
96
|
});
|
|
94
97
|
return entries
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-completion.js","sourceRoot":"","sources":["../../../src/services/terminal/path-completion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"path-completion.js","sourceRoot":"","sources":["../../../src/services/terminal/path-completion.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,18 +3,7 @@ type ShellCommand = Readonly<{
|
|
|
3
3
|
args: readonly string[];
|
|
4
4
|
command: string;
|
|
5
5
|
}>;
|
|
6
|
-
|
|
7
|
-
commandLine?: string;
|
|
8
|
-
executablePath?: string;
|
|
9
|
-
name?: string;
|
|
10
|
-
parentProcessId: number;
|
|
11
|
-
processId: number;
|
|
12
|
-
}>;
|
|
13
|
-
type ResolveShellCommandOptions = Readonly<{
|
|
14
|
-
initialWindowsProcessId?: number;
|
|
15
|
-
inspectWindowsProcess?: (processId: number) => Promise<WindowsProcessInfo | undefined>;
|
|
16
|
-
}>;
|
|
17
|
-
export declare const resolveShellCommandForPlatform: (platformKey: PlatformKey, options?: ResolveShellCommandOptions) => Promise<ShellCommand>;
|
|
6
|
+
export declare const resolveShellCommandForPlatform: (platformKey: PlatformKey) => Promise<ShellCommand>;
|
|
18
7
|
export declare const resolveShellCommand: () => Promise<Readonly<{
|
|
19
8
|
args: readonly string[];
|
|
20
9
|
command: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/services/terminal/shell.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/services/terminal/shell.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAM3D,KAAK,YAAY,GAAG,QAAQ,CAAC;IAC3B,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH,eAAO,MAAM,8BAA8B,GACzC,aAAa,WAAW,KACvB,OAAO,CAAC,YAAY,CAYtB,CAAC;AAEF,eAAO,MAAM,mBAAmB;UApBxB,SAAS,MAAM,EAAE;aACd,MAAM;GAqBhB,CAAC;AA4BF,eAAO,MAAM,sBAAsB,GAAU,WAAW,MAAM,kBA8C7D,CAAC"}
|
|
@@ -2,170 +2,17 @@ import { spawn } from "node:child_process";
|
|
|
2
2
|
import { resolveCurrentPlatformKey } from "#app/config/runtime-env.ts";
|
|
3
3
|
import { ENV } from "#app/lib/env.ts";
|
|
4
4
|
import { DotweaveError } from "#app/lib/error.ts";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
"cmd",
|
|
8
|
-
"fish",
|
|
9
|
-
"nu",
|
|
10
|
-
"powershell",
|
|
11
|
-
"pwsh",
|
|
12
|
-
"sh",
|
|
13
|
-
"zsh",
|
|
14
|
-
]);
|
|
15
|
-
const windowsProcessQueryScript = [
|
|
16
|
-
"$processId = [int]$args[0]",
|
|
17
|
-
'$process = Get-CimInstance Win32_Process -Filter ("ProcessId = " + $processId)',
|
|
18
|
-
"if ($null -eq $process) { exit 0 }",
|
|
19
|
-
"$encode = {",
|
|
20
|
-
" param([string]$value)",
|
|
21
|
-
' if ([string]::IsNullOrEmpty($value)) { return "" }',
|
|
22
|
-
" return [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($value))",
|
|
23
|
-
"}",
|
|
24
|
-
"[Console]::Out.WriteLine($process.ProcessId)",
|
|
25
|
-
"[Console]::Out.WriteLine($process.ParentProcessId)",
|
|
26
|
-
"[Console]::Out.WriteLine((& $encode $process.Name))",
|
|
27
|
-
"[Console]::Out.WriteLine((& $encode $process.ExecutablePath))",
|
|
28
|
-
"[Console]::Out.WriteLine((& $encode $process.CommandLine))",
|
|
29
|
-
].join(";");
|
|
30
|
-
const trimConfiguredValue = (value) => {
|
|
31
|
-
const trimmed = value?.trim();
|
|
32
|
-
return trimmed === undefined || trimmed === "" ? undefined : trimmed;
|
|
33
|
-
};
|
|
34
|
-
const decodeWindowsProcessField = (value) => {
|
|
35
|
-
const trimmed = trimConfiguredValue(value);
|
|
36
|
-
if (trimmed === undefined) {
|
|
37
|
-
return undefined;
|
|
38
|
-
}
|
|
39
|
-
return Buffer.from(trimmed, "base64").toString("utf8");
|
|
40
|
-
};
|
|
41
|
-
const normalizeProcessName = (value) => {
|
|
42
|
-
const trimmed = trimConfiguredValue(value);
|
|
43
|
-
if (trimmed === undefined) {
|
|
44
|
-
return undefined;
|
|
45
|
-
}
|
|
46
|
-
const filename = trimmed
|
|
47
|
-
.replaceAll("\\", "/")
|
|
48
|
-
.split("/")
|
|
49
|
-
.at(-1)
|
|
50
|
-
?.toLowerCase();
|
|
51
|
-
if (filename === undefined || filename === "") {
|
|
52
|
-
return undefined;
|
|
53
|
-
}
|
|
54
|
-
return filename.endsWith(".exe") ? filename.slice(0, -4) : filename;
|
|
55
|
-
};
|
|
56
|
-
const stripSingleTrailingLineEnding = (value) => {
|
|
57
|
-
if (value.endsWith("\r\n")) {
|
|
58
|
-
return value.slice(0, -2);
|
|
59
|
-
}
|
|
60
|
-
if (value.endsWith("\n")) {
|
|
61
|
-
return value.slice(0, -1);
|
|
62
|
-
}
|
|
63
|
-
return value;
|
|
64
|
-
};
|
|
65
|
-
const parseWindowsProcessInfo = (output) => {
|
|
66
|
-
const normalized = stripSingleTrailingLineEnding(output);
|
|
67
|
-
if (normalized === "") {
|
|
68
|
-
return undefined;
|
|
69
|
-
}
|
|
70
|
-
const lines = normalized.split(/\r?\n/u);
|
|
71
|
-
if (lines.length < 5) {
|
|
72
|
-
return undefined;
|
|
73
|
-
}
|
|
74
|
-
const [processIdLine, parentProcessIdLine, nameValue, executablePathValue, commandLineValue,] = lines;
|
|
75
|
-
const processId = Number.parseInt(processIdLine ?? "", 10);
|
|
76
|
-
const parentProcessId = Number.parseInt(parentProcessIdLine ?? "", 10);
|
|
77
|
-
if (!Number.isSafeInteger(processId) ||
|
|
78
|
-
processId <= 0 ||
|
|
79
|
-
!Number.isSafeInteger(parentProcessId) ||
|
|
80
|
-
parentProcessId < 0) {
|
|
81
|
-
return undefined;
|
|
82
|
-
}
|
|
83
|
-
return {
|
|
84
|
-
commandLine: decodeWindowsProcessField(commandLineValue),
|
|
85
|
-
executablePath: decodeWindowsProcessField(executablePathValue),
|
|
86
|
-
name: decodeWindowsProcessField(nameValue),
|
|
87
|
-
parentProcessId,
|
|
88
|
-
processId,
|
|
89
|
-
};
|
|
90
|
-
};
|
|
91
|
-
const inspectWindowsProcess = async (processId) => {
|
|
92
|
-
return await new Promise((resolve) => {
|
|
93
|
-
const child = spawn("powershell.exe", [
|
|
94
|
-
"-NoLogo",
|
|
95
|
-
"-NoProfile",
|
|
96
|
-
"-NonInteractive",
|
|
97
|
-
"-Command",
|
|
98
|
-
windowsProcessQueryScript,
|
|
99
|
-
String(processId),
|
|
100
|
-
], {
|
|
101
|
-
env: process.env,
|
|
102
|
-
stdio: ["ignore", "pipe", "ignore"],
|
|
103
|
-
windowsHide: true,
|
|
104
|
-
});
|
|
105
|
-
let stdout = "";
|
|
106
|
-
child.stdout?.setEncoding("utf8");
|
|
107
|
-
child.stdout?.on("data", (chunk) => {
|
|
108
|
-
stdout += chunk;
|
|
109
|
-
});
|
|
110
|
-
child.on("error", () => {
|
|
111
|
-
resolve(undefined);
|
|
112
|
-
});
|
|
113
|
-
child.on("close", (code) => {
|
|
114
|
-
resolve(code === 0 ? parseWindowsProcessInfo(stdout) : undefined);
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
};
|
|
118
|
-
const isWrapperCmdProcess = (processInfo) => {
|
|
119
|
-
return /(?:^|\s)\/c(?:\s|$)/iu.test(processInfo.commandLine ?? "");
|
|
120
|
-
};
|
|
121
|
-
const createShellCommandFromProcess = (processInfo) => {
|
|
122
|
-
const command = trimConfiguredValue(processInfo.executablePath) ??
|
|
123
|
-
trimConfiguredValue(processInfo.name);
|
|
124
|
-
const processName = normalizeProcessName(command);
|
|
125
|
-
if (command === undefined ||
|
|
126
|
-
processName === undefined ||
|
|
127
|
-
!windowsShellNames.has(processName)) {
|
|
128
|
-
return undefined;
|
|
129
|
-
}
|
|
130
|
-
if (processName === "cmd" && isWrapperCmdProcess(processInfo)) {
|
|
131
|
-
return undefined;
|
|
132
|
-
}
|
|
133
|
-
return {
|
|
134
|
-
args: [],
|
|
135
|
-
command,
|
|
136
|
-
};
|
|
137
|
-
};
|
|
138
|
-
const resolveWindowsShellCommand = async (options) => {
|
|
139
|
-
const inspect = options.inspectWindowsProcess ?? inspectWindowsProcess;
|
|
140
|
-
const visited = new Set();
|
|
141
|
-
let processId = options.initialWindowsProcessId ?? process.ppid;
|
|
142
|
-
while (Number.isSafeInteger(processId) &&
|
|
143
|
-
processId > 0 &&
|
|
144
|
-
!visited.has(processId) &&
|
|
145
|
-
visited.size < 16) {
|
|
146
|
-
visited.add(processId);
|
|
147
|
-
const processInfo = await inspect(processId);
|
|
148
|
-
if (processInfo === undefined) {
|
|
149
|
-
break;
|
|
150
|
-
}
|
|
151
|
-
const shellCommand = createShellCommandFromProcess(processInfo);
|
|
152
|
-
if (shellCommand !== undefined) {
|
|
153
|
-
return shellCommand;
|
|
154
|
-
}
|
|
155
|
-
processId = processInfo.parentProcessId;
|
|
156
|
-
}
|
|
157
|
-
return {
|
|
158
|
-
args: [],
|
|
159
|
-
command: trimConfiguredValue(ENV.COMSPEC) ?? "cmd.exe",
|
|
160
|
-
};
|
|
161
|
-
};
|
|
162
|
-
export const resolveShellCommandForPlatform = async (platformKey, options = {}) => {
|
|
5
|
+
import { normalizeConfiguredValue } from "#app/lib/string.ts";
|
|
6
|
+
export const resolveShellCommandForPlatform = async (platformKey) => {
|
|
163
7
|
if (platformKey === "win") {
|
|
164
|
-
return
|
|
8
|
+
return {
|
|
9
|
+
args: [],
|
|
10
|
+
command: normalizeConfiguredValue(ENV.COMSPEC) ?? "cmd.exe",
|
|
11
|
+
};
|
|
165
12
|
}
|
|
166
13
|
return {
|
|
167
14
|
args: [],
|
|
168
|
-
command:
|
|
15
|
+
command: normalizeConfiguredValue(ENV.SHELL) ?? "/bin/sh",
|
|
169
16
|
};
|
|
170
17
|
};
|
|
171
18
|
export const resolveShellCommand = async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/services/terminal/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/services/terminal/shell.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Stream } from "./logger.ts";
|
|
2
|
+
export interface Spinner {
|
|
3
|
+
succeed(text: string): void;
|
|
4
|
+
fail(text: string): void;
|
|
5
|
+
warn(text: string): void;
|
|
6
|
+
stop(): void;
|
|
7
|
+
}
|
|
8
|
+
declare const createSpinner: (stream: Stream, text: string) => Spinner;
|
|
9
|
+
export { createSpinner };
|
|
10
|
+
//# sourceMappingURL=spinner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../../src/services/terminal/spinner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,MAAM,WAAW,OAAO;IACtB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,IAAI,IAAI,CAAC;CACd;AAQD,QAAA,MAAM,aAAa,GAAI,QAAQ,MAAM,EAAE,MAAM,MAAM,KAAG,OAwDrD,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { color, SYMBOLS } from "./theme.js";
|
|
2
|
+
const envValue = (name) => process.env[name];
|
|
3
|
+
const isCI = Boolean(envValue("CI") ?? envValue("NO_COLOR") ?? envValue("FORCE_COLOR") === "0");
|
|
4
|
+
const createSpinner = (stream, text) => {
|
|
5
|
+
const frames = SYMBOLS.spinner;
|
|
6
|
+
let frameIndex = 0;
|
|
7
|
+
let intervalId;
|
|
8
|
+
let running = true;
|
|
9
|
+
const clear = () => {
|
|
10
|
+
if (stream.isTTY && stream.clearLine && stream.cursorTo) {
|
|
11
|
+
stream.clearLine(0);
|
|
12
|
+
stream.cursorTo(0);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
const writeLine = (msg) => {
|
|
16
|
+
clear();
|
|
17
|
+
stream.write(`${msg}\n`);
|
|
18
|
+
};
|
|
19
|
+
const render = () => {
|
|
20
|
+
if (!running)
|
|
21
|
+
return;
|
|
22
|
+
clear();
|
|
23
|
+
stream.write(`${color.info(frames[frameIndex] ?? frames[0])} ${color.dim(text)}`);
|
|
24
|
+
frameIndex = (frameIndex + 1) % frames.length;
|
|
25
|
+
};
|
|
26
|
+
if (stream.isTTY && !isCI) {
|
|
27
|
+
intervalId = setInterval(render, 80);
|
|
28
|
+
render();
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
stream.write(`${color.dim(SYMBOLS.bullet)} ${color.dim(text)}\n`);
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
succeed: (msg) => {
|
|
35
|
+
running = false;
|
|
36
|
+
if (intervalId !== undefined)
|
|
37
|
+
clearInterval(intervalId);
|
|
38
|
+
writeLine(`${color.success(SYMBOLS.success)} ${color.success(msg)}`);
|
|
39
|
+
},
|
|
40
|
+
fail: (msg) => {
|
|
41
|
+
running = false;
|
|
42
|
+
if (intervalId !== undefined)
|
|
43
|
+
clearInterval(intervalId);
|
|
44
|
+
writeLine(`${color.error(SYMBOLS.error)} ${color.error(msg)}`);
|
|
45
|
+
},
|
|
46
|
+
warn: (msg) => {
|
|
47
|
+
running = false;
|
|
48
|
+
if (intervalId !== undefined)
|
|
49
|
+
clearInterval(intervalId);
|
|
50
|
+
writeLine(`${color.warn(SYMBOLS.warn)} ${color.warn(msg)}`);
|
|
51
|
+
},
|
|
52
|
+
stop: () => {
|
|
53
|
+
running = false;
|
|
54
|
+
if (intervalId !== undefined)
|
|
55
|
+
clearInterval(intervalId);
|
|
56
|
+
clear();
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
export { createSpinner };
|
|
61
|
+
//# sourceMappingURL=spinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../src/services/terminal/spinner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export declare const SYMBOLS: {
|
|
2
|
+
readonly success: "✔";
|
|
3
|
+
readonly error: "✖";
|
|
4
|
+
readonly warn: "⚠";
|
|
5
|
+
readonly info: "~";
|
|
6
|
+
readonly add: "+";
|
|
7
|
+
readonly modify: "~";
|
|
8
|
+
readonly delete: "-";
|
|
9
|
+
readonly bullet: "·";
|
|
10
|
+
readonly arrow: "→";
|
|
11
|
+
readonly section: "▼";
|
|
12
|
+
readonly spinner: readonly ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
|
|
13
|
+
};
|
|
14
|
+
export declare const color: {
|
|
15
|
+
readonly success: (s: string) => string;
|
|
16
|
+
readonly error: (s: string) => string;
|
|
17
|
+
readonly warn: (s: string) => string;
|
|
18
|
+
readonly info: (s: string) => string;
|
|
19
|
+
readonly dim: (s: string) => string;
|
|
20
|
+
readonly bold: (s: string) => string;
|
|
21
|
+
readonly header: (s: string) => string;
|
|
22
|
+
readonly path: (s: string) => string;
|
|
23
|
+
readonly label: (s: string) => string;
|
|
24
|
+
readonly highlight: (s: string) => string;
|
|
25
|
+
readonly action: {
|
|
26
|
+
readonly add: (s: string) => string;
|
|
27
|
+
readonly modify: (s: string) => string;
|
|
28
|
+
readonly delete: (s: string) => string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/services/terminal/theme.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO;;;;;;;;;;;;CAYV,CAAC;AAEX,eAAO,MAAM,KAAK;0BACH,MAAM;wBACR,MAAM;uBACP,MAAM;uBACN,MAAM;sBACP,MAAM;uBACL,MAAM;yBACJ,MAAM;uBACR,MAAM;wBACL,MAAM;4BACF,MAAM;;0BAEV,MAAM;6BACH,MAAM;6BACN,MAAM;;CAEZ,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import pc from "picocolors";
|
|
2
|
+
export const SYMBOLS = {
|
|
3
|
+
success: "✔",
|
|
4
|
+
error: "✖",
|
|
5
|
+
warn: "⚠",
|
|
6
|
+
info: "~",
|
|
7
|
+
add: "+",
|
|
8
|
+
modify: "~",
|
|
9
|
+
delete: "-",
|
|
10
|
+
bullet: "·",
|
|
11
|
+
arrow: "→",
|
|
12
|
+
section: "▼",
|
|
13
|
+
spinner: ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"],
|
|
14
|
+
};
|
|
15
|
+
export const color = {
|
|
16
|
+
success: (s) => pc.green(s),
|
|
17
|
+
error: (s) => pc.red(s),
|
|
18
|
+
warn: (s) => pc.yellow(s),
|
|
19
|
+
info: (s) => pc.cyan(s),
|
|
20
|
+
dim: (s) => pc.dim(s),
|
|
21
|
+
bold: (s) => pc.bold(s),
|
|
22
|
+
header: (s) => pc.bold(s),
|
|
23
|
+
path: (s) => pc.dim(s),
|
|
24
|
+
label: (s) => pc.dim(s),
|
|
25
|
+
highlight: (s) => pc.cyan(s),
|
|
26
|
+
action: {
|
|
27
|
+
add: (s) => pc.green(s),
|
|
28
|
+
modify: (s) => pc.yellow(s),
|
|
29
|
+
delete: (s) => pc.red(s),
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/services/terminal/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,OAAO,EAAE,GAAG;IACZ,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;CACnD,CAAC;AAEX,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/B,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/B,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE;QACN,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACnC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KACjC;CACO,CAAC"}
|
package/dist/services/track.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type SyncConfigEntryKind, type SyncMode } from "#app/config/sync.ts";
|
|
1
|
+
import { type SyncConfigEntryKind, type SyncMode } from "#app/config/sync-schema.ts";
|
|
2
2
|
export type TrackRequest = Readonly<{
|
|
3
3
|
profiles?: readonly string[];
|
|
4
4
|
mode: SyncMode;
|
|
@@ -8,13 +8,11 @@ export type TrackRequest = Readonly<{
|
|
|
8
8
|
export type TrackResult = Readonly<{
|
|
9
9
|
alreadyTracked: boolean;
|
|
10
10
|
changed: boolean;
|
|
11
|
-
configPath: string;
|
|
12
11
|
kind: SyncConfigEntryKind;
|
|
13
12
|
localPath: string;
|
|
14
13
|
profiles: readonly string[];
|
|
15
14
|
mode: SyncMode;
|
|
16
15
|
repoPath: string;
|
|
17
|
-
syncDirectory: string;
|
|
18
16
|
}>;
|
|
19
17
|
export declare const trackTarget: (request: TrackRequest, cwd: string) => Promise<TrackResult>;
|
|
20
18
|
//# sourceMappingURL=track.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../../src/services/track.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../../src/services/track.ts"],"names":[],"mappings":"AASA,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACd,MAAM,4BAA4B,CAAC;AAepC,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAoGH,eAAO,MAAM,WAAW,GACtB,SAAS,YAAY,EACrB,KAAK,MAAM,KACV,OAAO,CAAC,WAAW,CA4KrB,CAAC"}
|