shell-dsl 0.0.26 → 0.0.28
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/cjs/index.cjs +24 -13
- package/dist/cjs/index.cjs.map +2 -2
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/src/commands/awk/awk.cjs +19 -9
- package/dist/cjs/src/commands/awk/awk.cjs.map +2 -2
- package/dist/cjs/src/commands/break-continue/break-continue.cjs +19 -9
- package/dist/cjs/src/commands/break-continue/break-continue.cjs.map +2 -2
- package/dist/cjs/src/commands/cat/cat.cjs +19 -9
- package/dist/cjs/src/commands/cat/cat.cjs.map +2 -2
- package/dist/cjs/src/commands/cd/cd.cjs +19 -9
- package/dist/cjs/src/commands/cd/cd.cjs.map +2 -2
- package/dist/cjs/src/commands/colon/colon.cjs +19 -9
- package/dist/cjs/src/commands/colon/colon.cjs.map +2 -2
- package/dist/cjs/src/commands/cp/cp.cjs +19 -9
- package/dist/cjs/src/commands/cp/cp.cjs.map +2 -2
- package/dist/cjs/src/commands/cut/cut.cjs +19 -9
- package/dist/cjs/src/commands/cut/cut.cjs.map +2 -2
- package/dist/cjs/src/commands/echo/echo.cjs +19 -9
- package/dist/cjs/src/commands/echo/echo.cjs.map +2 -2
- package/dist/cjs/src/commands/find/find.cjs +21 -66
- package/dist/cjs/src/commands/find/find.cjs.map +3 -3
- package/dist/cjs/src/commands/grep/grep.cjs +22 -26
- package/dist/cjs/src/commands/grep/grep.cjs.map +3 -3
- package/dist/cjs/src/commands/head/head.cjs +19 -9
- package/dist/cjs/src/commands/head/head.cjs.map +2 -2
- package/dist/cjs/src/commands/index.cjs +19 -9
- package/dist/cjs/src/commands/index.cjs.map +2 -2
- package/dist/cjs/src/commands/ls/ls.cjs +19 -9
- package/dist/cjs/src/commands/ls/ls.cjs.map +2 -2
- package/dist/cjs/src/commands/mkdir/mkdir.cjs +19 -9
- package/dist/cjs/src/commands/mkdir/mkdir.cjs.map +2 -2
- package/dist/cjs/src/commands/mv/mv.cjs +19 -9
- package/dist/cjs/src/commands/mv/mv.cjs.map +2 -2
- package/dist/cjs/src/commands/pwd/pwd.cjs +19 -9
- package/dist/cjs/src/commands/pwd/pwd.cjs.map +2 -2
- package/dist/cjs/src/commands/rm/rm.cjs +19 -9
- package/dist/cjs/src/commands/rm/rm.cjs.map +2 -2
- package/dist/cjs/src/commands/sed/sed.cjs +19 -9
- package/dist/cjs/src/commands/sed/sed.cjs.map +2 -2
- package/dist/cjs/src/commands/sort/sort.cjs +19 -9
- package/dist/cjs/src/commands/sort/sort.cjs.map +2 -2
- package/dist/cjs/src/commands/tail/tail.cjs +19 -9
- package/dist/cjs/src/commands/tail/tail.cjs.map +2 -2
- package/dist/cjs/src/commands/tee/tee.cjs +19 -9
- package/dist/cjs/src/commands/tee/tee.cjs.map +2 -2
- package/dist/cjs/src/commands/test/test.cjs +19 -9
- package/dist/cjs/src/commands/test/test.cjs.map +2 -2
- package/dist/cjs/src/commands/touch/touch.cjs +19 -9
- package/dist/cjs/src/commands/touch/touch.cjs.map +2 -2
- package/dist/cjs/src/commands/tr/tr.cjs +19 -9
- package/dist/cjs/src/commands/tr/tr.cjs.map +2 -2
- package/dist/cjs/src/commands/tree/tree.cjs +33 -12
- package/dist/cjs/src/commands/tree/tree.cjs.map +3 -3
- package/dist/cjs/src/commands/true-false/true-false.cjs +19 -9
- package/dist/cjs/src/commands/true-false/true-false.cjs.map +2 -2
- package/dist/cjs/src/commands/uniq/uniq.cjs +19 -9
- package/dist/cjs/src/commands/uniq/uniq.cjs.map +2 -2
- package/dist/cjs/src/commands/wc/wc.cjs +19 -9
- package/dist/cjs/src/commands/wc/wc.cjs.map +2 -2
- package/dist/cjs/src/errors.cjs +19 -9
- package/dist/cjs/src/errors.cjs.map +2 -2
- package/dist/cjs/src/fs/index.cjs +19 -9
- package/dist/cjs/src/fs/index.cjs.map +2 -2
- package/dist/cjs/src/fs/memfs-adapter.cjs +31 -10
- package/dist/cjs/src/fs/memfs-adapter.cjs.map +2 -2
- package/dist/cjs/src/fs/readonly-fs.cjs +19 -9
- package/dist/cjs/src/fs/readonly-fs.cjs.map +2 -2
- package/dist/cjs/src/fs/real-fs.cjs +31 -10
- package/dist/cjs/src/fs/real-fs.cjs.map +2 -2
- package/dist/cjs/src/index.cjs +19 -9
- package/dist/cjs/src/index.cjs.map +2 -2
- package/dist/cjs/src/interpreter/context.cjs +19 -9
- package/dist/cjs/src/interpreter/context.cjs.map +2 -2
- package/dist/cjs/src/interpreter/index.cjs +19 -9
- package/dist/cjs/src/interpreter/index.cjs.map +2 -2
- package/dist/cjs/src/interpreter/interpreter.cjs +19 -9
- package/dist/cjs/src/interpreter/interpreter.cjs.map +2 -2
- package/dist/cjs/src/io/index.cjs +19 -9
- package/dist/cjs/src/io/index.cjs.map +2 -2
- package/dist/cjs/src/io/stdin.cjs +19 -9
- package/dist/cjs/src/io/stdin.cjs.map +2 -2
- package/dist/cjs/src/io/stdout.cjs +19 -9
- package/dist/cjs/src/io/stdout.cjs.map +2 -2
- package/dist/cjs/src/lexer/index.cjs +19 -9
- package/dist/cjs/src/lexer/index.cjs.map +2 -2
- package/dist/cjs/src/lexer/lexer.cjs +19 -9
- package/dist/cjs/src/lexer/lexer.cjs.map +2 -2
- package/dist/cjs/src/lexer/tokens.cjs +19 -9
- package/dist/cjs/src/lexer/tokens.cjs.map +2 -2
- package/dist/cjs/src/parser/ast.cjs +19 -9
- package/dist/cjs/src/parser/ast.cjs.map +2 -2
- package/dist/cjs/src/parser/index.cjs +19 -9
- package/dist/cjs/src/parser/index.cjs.map +2 -2
- package/dist/cjs/src/parser/parser.cjs +19 -9
- package/dist/cjs/src/parser/parser.cjs.map +2 -2
- package/dist/cjs/src/shell-dsl.cjs +19 -9
- package/dist/cjs/src/shell-dsl.cjs.map +2 -2
- package/dist/cjs/src/shell-promise.cjs +19 -9
- package/dist/cjs/src/shell-promise.cjs.map +2 -2
- package/dist/cjs/src/types.cjs +19 -9
- package/dist/cjs/src/types.cjs.map +2 -2
- package/dist/cjs/src/utils/escape.cjs +19 -9
- package/dist/cjs/src/utils/escape.cjs.map +2 -2
- package/dist/cjs/src/utils/expand-escapes.cjs +19 -9
- package/dist/cjs/src/utils/expand-escapes.cjs.map +2 -2
- package/dist/cjs/src/utils/flag-parser.cjs +27 -9
- package/dist/cjs/src/utils/flag-parser.cjs.map +3 -3
- package/dist/cjs/src/utils/index.cjs +21 -9
- package/dist/cjs/src/utils/index.cjs.map +3 -3
- package/dist/cjs/src/utils/match-glob.cjs +102 -0
- package/dist/cjs/src/utils/match-glob.cjs.map +10 -0
- package/dist/mjs/package.json +1 -1
- package/dist/mjs/src/commands/find/find.mjs +2 -57
- package/dist/mjs/src/commands/find/find.mjs.map +3 -3
- package/dist/mjs/src/commands/grep/grep.mjs +4 -18
- package/dist/mjs/src/commands/grep/grep.mjs.map +3 -3
- package/dist/mjs/src/commands/tree/tree.mjs +15 -4
- package/dist/mjs/src/commands/tree/tree.mjs.map +3 -3
- package/dist/mjs/src/utils/flag-parser.mjs +9 -1
- package/dist/mjs/src/utils/flag-parser.mjs.map +3 -3
- package/dist/mjs/src/utils/index.mjs +3 -1
- package/dist/mjs/src/utils/index.mjs.map +3 -3
- package/dist/mjs/src/utils/match-glob.mjs +62 -0
- package/dist/mjs/src/utils/match-glob.mjs.map +10 -0
- package/dist/types/src/utils/index.d.ts +1 -0
- package/dist/types/src/utils/match-glob.d.ts +5 -0
- package/package.json +1 -1
|
@@ -2,27 +2,37 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
|
|
5
|
+
function __accessProp(key) {
|
|
6
|
+
return this[key];
|
|
7
|
+
}
|
|
6
8
|
var __toCommonJS = (from) => {
|
|
7
|
-
var entry = __moduleCache.get(from), desc;
|
|
9
|
+
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
8
10
|
if (entry)
|
|
9
11
|
return entry;
|
|
10
12
|
entry = __defProp({}, "__esModule", { value: true });
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function")
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (var key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(entry, key))
|
|
16
|
+
__defProp(entry, key, {
|
|
17
|
+
get: __accessProp.bind(from, key),
|
|
18
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
+
});
|
|
20
|
+
}
|
|
16
21
|
__moduleCache.set(from, entry);
|
|
17
22
|
return entry;
|
|
18
23
|
};
|
|
24
|
+
var __moduleCache;
|
|
25
|
+
var __returnValue = (v) => v;
|
|
26
|
+
function __exportSetter(name, newValue) {
|
|
27
|
+
this[name] = __returnValue.bind(null, newValue);
|
|
28
|
+
}
|
|
19
29
|
var __export = (target, all) => {
|
|
20
30
|
for (var name in all)
|
|
21
31
|
__defProp(target, name, {
|
|
22
32
|
get: all[name],
|
|
23
33
|
enumerable: true,
|
|
24
34
|
configurable: true,
|
|
25
|
-
set: (
|
|
35
|
+
set: __exportSetter.bind(all, name)
|
|
26
36
|
});
|
|
27
37
|
};
|
|
28
38
|
|
|
@@ -156,4 +166,4 @@ class ShellPromise {
|
|
|
156
166
|
}
|
|
157
167
|
}
|
|
158
168
|
|
|
159
|
-
//# debugId=
|
|
169
|
+
//# debugId=3425E56DF2B7E24B64756E2164756E21
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import type { ExecResult } from \"./types.cjs\";\nimport { ShellError } from \"./errors.cjs\";\n\nexport interface ExecuteOverrides {\n cwd?: string;\n env?: Record<string, string>;\n}\n\nexport interface ShellPromiseOptions {\n execute: (overrides: ExecuteOverrides) => Promise<ExecResult>;\n cwdOverride?: string;\n envOverride?: Record<string, string>;\n shouldThrow?: boolean;\n quiet?: boolean;\n}\n\nexport class ShellPromise implements PromiseLike<ExecResult> {\n private executor: (overrides: ExecuteOverrides) => Promise<ExecResult>;\n private cwdOverride?: string;\n private envOverride?: Record<string, string>;\n private shouldThrow: boolean;\n private isQuiet: boolean;\n private cachedResult?: Promise<ExecResult>;\n\n constructor(options: ShellPromiseOptions) {\n this.executor = options.execute;\n this.cwdOverride = options.cwdOverride;\n this.envOverride = options.envOverride;\n this.shouldThrow = options.shouldThrow ?? true;\n this.isQuiet = options.quiet ?? false;\n }\n\n private async run(): Promise<ExecResult> {\n if (!this.cachedResult) {\n this.cachedResult = this.executor({\n cwd: this.cwdOverride,\n env: this.envOverride,\n });\n }\n\n const result = await this.cachedResult;\n\n if (this.shouldThrow && result.exitCode !== 0) {\n throw new ShellError(\n `Command failed with exit code ${result.exitCode}`,\n result.stdout,\n result.stderr,\n result.exitCode\n );\n }\n\n return result;\n }\n\n then<TResult1 = ExecResult, TResult2 = never>(\n onfulfilled?: ((value: ExecResult) => TResult1 | PromiseLike<TResult1>) | null,\n onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null\n ): Promise<TResult1 | TResult2> {\n return this.run().then(onfulfilled, onrejected);\n }\n\n catch<TResult = never>(\n onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null\n ): Promise<ExecResult | TResult> {\n return this.run().catch(onrejected);\n }\n\n finally(onfinally?: (() => void) | null): Promise<ExecResult> {\n return this.run().finally(onfinally);\n }\n\n // Output formats\n async text(): Promise<string> {\n const result = await this.run();\n return result.stdout.toString(\"utf-8\");\n }\n\n async json<T = unknown>(): Promise<T> {\n const text = await this.text();\n return JSON.parse(text);\n }\n\n async *lines(): AsyncIterable<string> {\n const text = await this.text();\n const lines = text.split(\"\\n\");\n // Remove trailing empty line if present\n if (lines[lines.length - 1] === \"\") {\n lines.pop();\n }\n for (const line of lines) {\n yield line;\n }\n }\n\n async blob(): Promise<Blob> {\n const result = await this.run();\n return new Blob([result.stdout]);\n }\n\n async buffer(): Promise<Buffer> {\n const result = await this.run();\n return result.stdout;\n }\n\n // Behavior modifiers - return new ShellPromise with modified options\n quiet(): ShellPromise {\n return new ShellPromise({\n execute: this.executor,\n cwdOverride: this.cwdOverride,\n envOverride: this.envOverride,\n shouldThrow: this.shouldThrow,\n quiet: true,\n });\n }\n\n nothrow(): ShellPromise {\n return new ShellPromise({\n execute: this.executor,\n cwdOverride: this.cwdOverride,\n envOverride: this.envOverride,\n shouldThrow: false,\n quiet: this.isQuiet,\n });\n }\n\n throws(enable: boolean): ShellPromise {\n return new ShellPromise({\n execute: this.executor,\n cwdOverride: this.cwdOverride,\n envOverride: this.envOverride,\n shouldThrow: enable,\n quiet: this.isQuiet,\n });\n }\n\n // Context overrides - these need to be handled by the shell\n cwd(path: string): ShellPromise {\n return new ShellPromise({\n execute: this.executor,\n cwdOverride: path,\n envOverride: this.envOverride,\n shouldThrow: this.shouldThrow,\n quiet: this.isQuiet,\n });\n }\n\n env(vars: Record<string, string>): ShellPromise {\n return new ShellPromise({\n execute: this.executor,\n cwdOverride: this.cwdOverride,\n envOverride: { ...this.envOverride, ...vars },\n shouldThrow: this.shouldThrow,\n quiet: this.isQuiet,\n });\n }\n\n // Getters for internal state (used by ShellDSL)\n getCwdOverride(): string | undefined {\n return this.cwdOverride;\n }\n\n getEnvOverride(): Record<string, string> | undefined {\n return this.envOverride;\n }\n\n getShouldThrow(): boolean {\n return this.shouldThrow;\n }\n\n getIsQuiet(): boolean {\n return this.isQuiet;\n }\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "3425E56DF2B7E24B64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/cjs/src/types.cjs
CHANGED
|
@@ -2,27 +2,37 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
|
|
5
|
+
function __accessProp(key) {
|
|
6
|
+
return this[key];
|
|
7
|
+
}
|
|
6
8
|
var __toCommonJS = (from) => {
|
|
7
|
-
var entry = __moduleCache.get(from), desc;
|
|
9
|
+
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
8
10
|
if (entry)
|
|
9
11
|
return entry;
|
|
10
12
|
entry = __defProp({}, "__esModule", { value: true });
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function")
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (var key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(entry, key))
|
|
16
|
+
__defProp(entry, key, {
|
|
17
|
+
get: __accessProp.bind(from, key),
|
|
18
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
+
});
|
|
20
|
+
}
|
|
16
21
|
__moduleCache.set(from, entry);
|
|
17
22
|
return entry;
|
|
18
23
|
};
|
|
24
|
+
var __moduleCache;
|
|
25
|
+
var __returnValue = (v) => v;
|
|
26
|
+
function __exportSetter(name, newValue) {
|
|
27
|
+
this[name] = __returnValue.bind(null, newValue);
|
|
28
|
+
}
|
|
19
29
|
var __export = (target, all) => {
|
|
20
30
|
for (var name in all)
|
|
21
31
|
__defProp(target, name, {
|
|
22
32
|
get: all[name],
|
|
23
33
|
enumerable: true,
|
|
24
34
|
configurable: true,
|
|
25
|
-
set: (
|
|
35
|
+
set: __exportSetter.bind(all, name)
|
|
26
36
|
});
|
|
27
37
|
};
|
|
28
38
|
|
|
@@ -40,4 +50,4 @@ function isRedirectObject(value) {
|
|
|
40
50
|
return Buffer.isBuffer(value) || value instanceof Blob || value instanceof Response || typeof value === "string";
|
|
41
51
|
}
|
|
42
52
|
|
|
43
|
-
//# debugId=
|
|
53
|
+
//# debugId=324A9AF65A2908F664756E2164756E21
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"// Virtual Filesystem Interface\nexport interface VirtualFS {\n readFile(path: string): Promise<Buffer>;\n readFile(path: string, encoding: BufferEncoding): Promise<string>;\n readdir(path: string): Promise<string[]>;\n stat(path: string): Promise<FileStat>;\n exists(path: string): Promise<boolean>;\n\n writeFile(path: string, data: Buffer | string): Promise<void>;\n appendFile(path: string, data: Buffer | string): Promise<void>;\n mkdir(path: string, opts?: { recursive?: boolean }): Promise<void>;\n\n rm(path: string, opts?: { recursive?: boolean; force?: boolean }): Promise<void>;\n\n resolve(...paths: string[]): string;\n dirname(path: string): string;\n basename(path: string): string;\n glob(pattern: string, opts?: { cwd?: string }): Promise<string[]>;\n}\n\nexport interface FileStat {\n isFile(): boolean;\n isDirectory(): boolean;\n size: number;\n mtime: Date;\n}\n\n// Command Interfaces\nexport type Command = (ctx: CommandContext) => Promise<number>;\n\nexport interface CommandContext {\n args: string[];\n stdin: Stdin;\n stdout: Stdout;\n stderr: Stderr;\n fs: VirtualFS;\n cwd: string;\n env: Record<string, string>;\n setCwd: (path: string) => void;\n exec?: (name: string, args: string[]) => Promise<ExecResult>;\n}\n\nexport interface Stdin {\n stream(): AsyncIterable<Uint8Array>;\n buffer(): Promise<Buffer>;\n text(): Promise<string>;\n lines(): AsyncIterable<string>;\n}\n\nexport interface Stdout {\n write(chunk: Uint8Array): Promise<void>;\n writeText(str: string): Promise<void>;\n isTTY: boolean;\n}\n\nexport interface Stderr {\n write(chunk: Uint8Array): Promise<void>;\n writeText(str: string): Promise<void>;\n isTTY: boolean;\n}\n\nexport interface OutputCollector extends Stdout {\n close(): void;\n collect(): Promise<Buffer>;\n getReadableStream(): AsyncIterable<Uint8Array>;\n}\n\n// Execution Result\nexport interface ExecResult {\n stdout: Buffer;\n stderr: Buffer;\n exitCode: number;\n}\n\n// Shell Configuration\nexport interface ShellConfig {\n fs: VirtualFS;\n cwd: string;\n env: Record<string, string>;\n commands: Record<string, Command>;\n isTTY?: boolean;\n}\n\n// Raw escape hatch type\nexport interface RawValue {\n raw: string;\n}\n\nexport function isRawValue(value: unknown): value is RawValue {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"raw\" in value &&\n typeof (value as RawValue).raw === \"string\"\n );\n}\n\n// JS Object Redirection types\nexport type RedirectObject = Buffer | Blob | Response | string;\n\nexport interface RedirectObjectMap {\n [marker: string]: RedirectObject;\n}\n\nexport function isRedirectObject(value: unknown): value is RedirectObject {\n return (\n Buffer.isBuffer(value) ||\n value instanceof Blob ||\n value instanceof Response ||\n typeof value === \"string\"\n );\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwFO,SAAS,UAAU,CAAC,OAAmC;AAAA,EAC5D,OACE,OAAO,UAAU,YACjB,UAAU,QACV,SAAS,SACT,OAAQ,MAAmB,QAAQ;AAAA;AAWhC,SAAS,gBAAgB,CAAC,OAAyC;AAAA,EACxE,OACE,OAAO,SAAS,KAAK,KACrB,iBAAiB,QACjB,iBAAiB,YACjB,OAAO,UAAU;AAAA;",
|
|
8
|
+
"debugId": "324A9AF65A2908F664756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -2,27 +2,37 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
|
|
5
|
+
function __accessProp(key) {
|
|
6
|
+
return this[key];
|
|
7
|
+
}
|
|
6
8
|
var __toCommonJS = (from) => {
|
|
7
|
-
var entry = __moduleCache.get(from), desc;
|
|
9
|
+
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
8
10
|
if (entry)
|
|
9
11
|
return entry;
|
|
10
12
|
entry = __defProp({}, "__esModule", { value: true });
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function")
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (var key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(entry, key))
|
|
16
|
+
__defProp(entry, key, {
|
|
17
|
+
get: __accessProp.bind(from, key),
|
|
18
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
+
});
|
|
20
|
+
}
|
|
16
21
|
__moduleCache.set(from, entry);
|
|
17
22
|
return entry;
|
|
18
23
|
};
|
|
24
|
+
var __moduleCache;
|
|
25
|
+
var __returnValue = (v) => v;
|
|
26
|
+
function __exportSetter(name, newValue) {
|
|
27
|
+
this[name] = __returnValue.bind(null, newValue);
|
|
28
|
+
}
|
|
19
29
|
var __export = (target, all) => {
|
|
20
30
|
for (var name in all)
|
|
21
31
|
__defProp(target, name, {
|
|
22
32
|
get: all[name],
|
|
23
33
|
enumerable: true,
|
|
24
34
|
configurable: true,
|
|
25
|
-
set: (
|
|
35
|
+
set: __exportSetter.bind(all, name)
|
|
26
36
|
});
|
|
27
37
|
};
|
|
28
38
|
|
|
@@ -50,4 +60,4 @@ function escapeForInterpolation(value) {
|
|
|
50
60
|
return str.replace(/([|&;<>()$`\\\"' \t\n*?[\]#~=%])/g, "\\$1");
|
|
51
61
|
}
|
|
52
62
|
|
|
53
|
-
//# debugId=
|
|
63
|
+
//# debugId=AD065BD7055AEC0964756E2164756E21
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"const SHELL_SPECIAL_CHARS = /[|&;<>()$`\\\\\\\"' \\t\\n*?[\\]#~=%]/;\n\nexport function escape(str: string): string {\n if (str === \"\") return \"''\";\n\n if (!SHELL_SPECIAL_CHARS.test(str)) {\n return str;\n }\n\n // Escape using single quotes, handling embedded single quotes\n return \"'\" + str.replace(/'/g, \"'\\\\''\") + \"'\";\n}\n\nexport function escapeForInterpolation(value: unknown): string {\n if (value === null || value === undefined) {\n return \"\";\n }\n\n const str = String(value);\n\n // Escape shell special characters\n return str.replace(/([|&;<>()$`\\\\\\\"' \\t\\n*?[\\]#~=%])/g, \"\\\\$1\");\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,sBAAsB;AAErB,SAAS,MAAM,CAAC,KAAqB;AAAA,EAC1C,IAAI,QAAQ;AAAA,IAAI,OAAO;AAAA,EAEvB,IAAI,CAAC,oBAAoB,KAAK,GAAG,GAAG;AAAA,IAClC,OAAO;AAAA,EACT;AAAA,EAGA,OAAO,MAAM,IAAI,QAAQ,MAAM,OAAO,IAAI;AAAA;AAGrC,SAAS,sBAAsB,CAAC,OAAwB;AAAA,EAC7D,IAAI,UAAU,QAAQ,UAAU,WAAW;AAAA,IACzC,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,MAAM,OAAO,KAAK;AAAA,EAGxB,OAAO,IAAI,QAAQ,qCAAqC,MAAM;AAAA;",
|
|
8
|
+
"debugId": "AD065BD7055AEC0964756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -2,27 +2,37 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
|
|
5
|
+
function __accessProp(key) {
|
|
6
|
+
return this[key];
|
|
7
|
+
}
|
|
6
8
|
var __toCommonJS = (from) => {
|
|
7
|
-
var entry = __moduleCache.get(from), desc;
|
|
9
|
+
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
8
10
|
if (entry)
|
|
9
11
|
return entry;
|
|
10
12
|
entry = __defProp({}, "__esModule", { value: true });
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function")
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (var key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(entry, key))
|
|
16
|
+
__defProp(entry, key, {
|
|
17
|
+
get: __accessProp.bind(from, key),
|
|
18
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
+
});
|
|
20
|
+
}
|
|
16
21
|
__moduleCache.set(from, entry);
|
|
17
22
|
return entry;
|
|
18
23
|
};
|
|
24
|
+
var __moduleCache;
|
|
25
|
+
var __returnValue = (v) => v;
|
|
26
|
+
function __exportSetter(name, newValue) {
|
|
27
|
+
this[name] = __returnValue.bind(null, newValue);
|
|
28
|
+
}
|
|
19
29
|
var __export = (target, all) => {
|
|
20
30
|
for (var name in all)
|
|
21
31
|
__defProp(target, name, {
|
|
22
32
|
get: all[name],
|
|
23
33
|
enumerable: true,
|
|
24
34
|
configurable: true,
|
|
25
|
-
set: (
|
|
35
|
+
set: __exportSetter.bind(all, name)
|
|
26
36
|
});
|
|
27
37
|
};
|
|
28
38
|
|
|
@@ -74,4 +84,4 @@ function expandEscapes(s) {
|
|
|
74
84
|
return result;
|
|
75
85
|
}
|
|
76
86
|
|
|
77
|
-
//# debugId=
|
|
87
|
+
//# debugId=BD85B914C33CFF8164756E2164756E21
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"export function expandEscapes(s: string): string {\n let result = \"\";\n for (let i = 0; i < s.length; i++) {\n if (s[i] === \"\\\\\" && i + 1 < s.length) {\n i++;\n switch (s[i]) {\n case \"n\": result += \"\\n\"; break;\n case \"t\": result += \"\\t\"; break;\n case \"\\\\\": result += \"\\\\\"; break;\n case \"a\": result += \"\\x07\"; break;\n case \"b\": result += \"\\b\"; break;\n case \"f\": result += \"\\f\"; break;\n case \"r\": result += \"\\r\"; break;\n case \"v\": result += \"\\v\"; break;\n default: result += s[i]; break;\n }\n } else {\n result += s[i];\n }\n }\n return result;\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,SAAS,aAAa,CAAC,GAAmB;AAAA,EAC/C,IAAI,SAAS;AAAA,EACb,SAAS,IAAI,EAAG,IAAI,EAAE,QAAQ,KAAK;AAAA,IACjC,IAAI,EAAE,OAAO,QAAQ,IAAI,IAAI,EAAE,QAAQ;AAAA,MACrC;AAAA,MACA,QAAQ,EAAE;AAAA,aACH;AAAA,UAAK,UAAU;AAAA;AAAA,UAAM;AAAA,aACrB;AAAA,UAAK,UAAU;AAAA,UAAM;AAAA,aACrB;AAAA,UAAM,UAAU;AAAA,UAAM;AAAA,aACtB;AAAA,UAAK,UAAU;AAAA,UAAQ;AAAA,aACvB;AAAA,UAAK,UAAU;AAAA,UAAM;AAAA,aACrB;AAAA,UAAK,UAAU;AAAA,UAAM;AAAA,aACrB;AAAA,UAAK,UAAU;AAAA,UAAM;AAAA,aACrB;AAAA,UAAK,UAAU;AAAA,UAAM;AAAA;AAAA,UACjB,UAAU,EAAE;AAAA,UAAI;AAAA;AAAA,IAE7B,EAAO;AAAA,MACL,UAAU,EAAE;AAAA;AAAA,EAEhB;AAAA,EACA,OAAO;AAAA;",
|
|
8
|
+
"debugId": "BD85B914C33CFF8164756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -2,27 +2,37 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
|
|
5
|
+
function __accessProp(key) {
|
|
6
|
+
return this[key];
|
|
7
|
+
}
|
|
6
8
|
var __toCommonJS = (from) => {
|
|
7
|
-
var entry = __moduleCache.get(from), desc;
|
|
9
|
+
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
8
10
|
if (entry)
|
|
9
11
|
return entry;
|
|
10
12
|
entry = __defProp({}, "__esModule", { value: true });
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function")
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (var key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(entry, key))
|
|
16
|
+
__defProp(entry, key, {
|
|
17
|
+
get: __accessProp.bind(from, key),
|
|
18
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
+
});
|
|
20
|
+
}
|
|
16
21
|
__moduleCache.set(from, entry);
|
|
17
22
|
return entry;
|
|
18
23
|
};
|
|
24
|
+
var __moduleCache;
|
|
25
|
+
var __returnValue = (v) => v;
|
|
26
|
+
function __exportSetter(name, newValue) {
|
|
27
|
+
this[name] = __returnValue.bind(null, newValue);
|
|
28
|
+
}
|
|
19
29
|
var __export = (target, all) => {
|
|
20
30
|
for (var name in all)
|
|
21
31
|
__defProp(target, name, {
|
|
22
32
|
get: all[name],
|
|
23
33
|
enumerable: true,
|
|
24
34
|
configurable: true,
|
|
25
|
-
set: (
|
|
35
|
+
set: __exportSetter.bind(all, name)
|
|
26
36
|
});
|
|
27
37
|
};
|
|
28
38
|
|
|
@@ -52,6 +62,14 @@ function createFlagParser(spec, defaults, handler) {
|
|
|
52
62
|
remainingArgs.push(...args.slice(i + 1));
|
|
53
63
|
break;
|
|
54
64
|
}
|
|
65
|
+
if (/^--+$/.test(arg)) {
|
|
66
|
+
remainingArgs.push(arg);
|
|
67
|
+
if (spec.stopAfterFirstPositional) {
|
|
68
|
+
parsingFlags = false;
|
|
69
|
+
}
|
|
70
|
+
i++;
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
55
73
|
if (!parsingFlags) {
|
|
56
74
|
remainingArgs.push(arg);
|
|
57
75
|
i++;
|
|
@@ -159,4 +177,4 @@ function createFlagParser(spec, defaults, handler) {
|
|
|
159
177
|
return { parse, formatError, writeError };
|
|
160
178
|
}
|
|
161
179
|
|
|
162
|
-
//# debugId=
|
|
180
|
+
//# debugId=F20A6A861AD5163564756E2164756E21
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/utils/flag-parser.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import type { Stderr } from \"../types.cjs\";\n\nexport interface FlagDefinition {\n short?: string; // e.g., \"a\" for -a\n long?: string; // e.g., \"all\" for --all\n takesValue?: boolean; // true if flag requires a value\n}\n\nexport interface CommandSpec {\n name: string;\n flags: FlagDefinition[];\n usage: string;\n /** If true, stop parsing flags after the first positional argument (like echo) */\n stopAfterFirstPositional?: boolean;\n}\n\nexport interface FlagError {\n type: \"unrecognized_option\" | \"missing_value\";\n option: string;\n}\n\nexport interface ParseResult<T> {\n flags: T;\n args: string[];\n error?: FlagError;\n}\n\nexport interface FlagParser<T> {\n parse: (args: string[]) => ParseResult<T>;\n formatError: (error: FlagError) => string;\n writeError: (error: FlagError, stderr: Stderr) => Promise<void>;\n}\n\n/**\n * Creates a flag parser for a command with consistent error handling.\n *\n * @param spec - Command specification with name, valid flags, and usage string\n * @param defaults - Default values for the flags object\n * @param handler - Function to handle setting a flag value\n * @returns Parser object with parse, formatError, and writeError methods\n */\nexport function createFlagParser<T>(\n spec: CommandSpec,\n defaults: T,\n handler: (flags: T, flag: FlagDefinition, value?: string) => void\n): FlagParser<T> {\n // Build lookup maps for efficient flag matching\n const shortMap = new Map<string, FlagDefinition>();\n const longMap = new Map<string, FlagDefinition>();\n\n for (const flag of spec.flags) {\n if (flag.short) shortMap.set(flag.short, flag);\n if (flag.long) longMap.set(flag.long, flag);\n }\n\n function parse(args: string[]): ParseResult<T> {\n const flags = { ...defaults };\n const remainingArgs: string[] = [];\n let i = 0;\n let parsingFlags = true;\n\n while (i < args.length) {\n const arg = args[i]!;\n\n // Handle -- to stop flag parsing\n if (arg === \"--\") {\n remainingArgs.push(...args.slice(i + 1));\n break;\n }\n\n // If we've stopped parsing flags, just collect remaining args\n if (!parsingFlags) {\n remainingArgs.push(arg);\n i++;\n continue;\n }\n\n // Handle long flags --flag or --flag=value\n if (arg.startsWith(\"--\")) {\n const eqIndex = arg.indexOf(\"=\");\n let flagName: string;\n let flagValue: string | undefined;\n\n if (eqIndex !== -1) {\n flagName = arg.slice(2, eqIndex);\n flagValue = arg.slice(eqIndex + 1);\n } else {\n flagName = arg.slice(2);\n }\n\n const flagDef = longMap.get(flagName);\n if (!flagDef) {\n return {\n flags,\n args: remainingArgs,\n error: { type: \"unrecognized_option\", option: arg },\n };\n }\n\n if (flagDef.takesValue) {\n if (flagValue === undefined) {\n // Value should be next argument\n if (i + 1 >= args.length) {\n return {\n flags,\n args: remainingArgs,\n error: { type: \"missing_value\", option: arg },\n };\n }\n flagValue = args[++i];\n }\n handler(flags, flagDef, flagValue);\n } else {\n handler(flags, flagDef);\n }\n\n i++;\n continue;\n }\n\n // Handle short flags -a or -abc (combined) or -n10 (value attached)\n if (arg.startsWith(\"-\") && arg.length > 1) {\n const flagChars = arg.slice(1);\n\n for (let j = 0; j < flagChars.length; j++) {\n const char = flagChars[j]!;\n const flagDef = shortMap.get(char);\n\n if (!flagDef) {\n return {\n flags,\n args: remainingArgs,\n error: { type: \"unrecognized_option\", option: `-${char}` },\n };\n }\n\n if (flagDef.takesValue) {\n // Rest of string is the value, or next arg\n const restOfArg = flagChars.slice(j + 1);\n let flagValue: string;\n\n if (restOfArg.length > 0) {\n flagValue = restOfArg;\n } else if (i + 1 < args.length) {\n flagValue = args[++i]!;\n } else {\n return {\n flags,\n args: remainingArgs,\n error: { type: \"missing_value\", option: `-${char}` },\n };\n }\n\n handler(flags, flagDef, flagValue);\n break; // Value consumed rest of this arg\n } else {\n handler(flags, flagDef);\n }\n }\n\n i++;\n continue;\n }\n\n // Not a flag, add to remaining args\n remainingArgs.push(arg);\n if (spec.stopAfterFirstPositional) {\n parsingFlags = false;\n }\n i++;\n }\n\n return { flags, args: remainingArgs };\n }\n\n function formatError(error: FlagError): string {\n let message: string;\n if (error.type === \"unrecognized_option\") {\n if (error.option.startsWith(\"--\")) {\n message = `${spec.name}: unrecognized option '${error.option}'\\n`;\n } else {\n message = `${spec.name}: invalid option -- '${error.option.slice(1)}'\\n`;\n }\n } else {\n message = `${spec.name}: option '${error.option}' requires an argument\\n`;\n }\n return message + `usage: ${spec.usage}\\n`;\n }\n\n async function writeError(error: FlagError, stderr: Stderr): Promise<void> {\n await stderr.writeText(formatError(error));\n }\n\n return { parse, formatError, writeError };\n}\n"
|
|
5
|
+
"import type { Stderr } from \"../types.cjs\";\n\nexport interface FlagDefinition {\n short?: string; // e.g., \"a\" for -a\n long?: string; // e.g., \"all\" for --all\n takesValue?: boolean; // true if flag requires a value\n}\n\nexport interface CommandSpec {\n name: string;\n flags: FlagDefinition[];\n usage: string;\n /** If true, stop parsing flags after the first positional argument (like echo) */\n stopAfterFirstPositional?: boolean;\n}\n\nexport interface FlagError {\n type: \"unrecognized_option\" | \"missing_value\";\n option: string;\n}\n\nexport interface ParseResult<T> {\n flags: T;\n args: string[];\n error?: FlagError;\n}\n\nexport interface FlagParser<T> {\n parse: (args: string[]) => ParseResult<T>;\n formatError: (error: FlagError) => string;\n writeError: (error: FlagError, stderr: Stderr) => Promise<void>;\n}\n\n/**\n * Creates a flag parser for a command with consistent error handling.\n *\n * @param spec - Command specification with name, valid flags, and usage string\n * @param defaults - Default values for the flags object\n * @param handler - Function to handle setting a flag value\n * @returns Parser object with parse, formatError, and writeError methods\n */\nexport function createFlagParser<T>(\n spec: CommandSpec,\n defaults: T,\n handler: (flags: T, flag: FlagDefinition, value?: string) => void\n): FlagParser<T> {\n // Build lookup maps for efficient flag matching\n const shortMap = new Map<string, FlagDefinition>();\n const longMap = new Map<string, FlagDefinition>();\n\n for (const flag of spec.flags) {\n if (flag.short) shortMap.set(flag.short, flag);\n if (flag.long) longMap.set(flag.long, flag);\n }\n\n function parse(args: string[]): ParseResult<T> {\n const flags = { ...defaults };\n const remainingArgs: string[] = [];\n let i = 0;\n let parsingFlags = true;\n\n while (i < args.length) {\n const arg = args[i]!;\n\n // Handle -- to stop flag parsing\n if (arg === \"--\") {\n remainingArgs.push(...args.slice(i + 1));\n break;\n }\n\n // Treat all-hyphen tokens (e.g., ---) as positional arguments.\n // This avoids misparsing delimiters as long/short options.\n if (/^--+$/.test(arg)) {\n remainingArgs.push(arg);\n if (spec.stopAfterFirstPositional) {\n parsingFlags = false;\n }\n i++;\n continue;\n }\n\n // If we've stopped parsing flags, just collect remaining args\n if (!parsingFlags) {\n remainingArgs.push(arg);\n i++;\n continue;\n }\n\n // Handle long flags --flag or --flag=value\n if (arg.startsWith(\"--\")) {\n const eqIndex = arg.indexOf(\"=\");\n let flagName: string;\n let flagValue: string | undefined;\n\n if (eqIndex !== -1) {\n flagName = arg.slice(2, eqIndex);\n flagValue = arg.slice(eqIndex + 1);\n } else {\n flagName = arg.slice(2);\n }\n\n const flagDef = longMap.get(flagName);\n if (!flagDef) {\n return {\n flags,\n args: remainingArgs,\n error: { type: \"unrecognized_option\", option: arg },\n };\n }\n\n if (flagDef.takesValue) {\n if (flagValue === undefined) {\n // Value should be next argument\n if (i + 1 >= args.length) {\n return {\n flags,\n args: remainingArgs,\n error: { type: \"missing_value\", option: arg },\n };\n }\n flagValue = args[++i];\n }\n handler(flags, flagDef, flagValue);\n } else {\n handler(flags, flagDef);\n }\n\n i++;\n continue;\n }\n\n // Handle short flags -a or -abc (combined) or -n10 (value attached)\n if (arg.startsWith(\"-\") && arg.length > 1) {\n const flagChars = arg.slice(1);\n\n for (let j = 0; j < flagChars.length; j++) {\n const char = flagChars[j]!;\n const flagDef = shortMap.get(char);\n\n if (!flagDef) {\n return {\n flags,\n args: remainingArgs,\n error: { type: \"unrecognized_option\", option: `-${char}` },\n };\n }\n\n if (flagDef.takesValue) {\n // Rest of string is the value, or next arg\n const restOfArg = flagChars.slice(j + 1);\n let flagValue: string;\n\n if (restOfArg.length > 0) {\n flagValue = restOfArg;\n } else if (i + 1 < args.length) {\n flagValue = args[++i]!;\n } else {\n return {\n flags,\n args: remainingArgs,\n error: { type: \"missing_value\", option: `-${char}` },\n };\n }\n\n handler(flags, flagDef, flagValue);\n break; // Value consumed rest of this arg\n } else {\n handler(flags, flagDef);\n }\n }\n\n i++;\n continue;\n }\n\n // Not a flag, add to remaining args\n remainingArgs.push(arg);\n if (spec.stopAfterFirstPositional) {\n parsingFlags = false;\n }\n i++;\n }\n\n return { flags, args: remainingArgs };\n }\n\n function formatError(error: FlagError): string {\n let message: string;\n if (error.type === \"unrecognized_option\") {\n if (error.option.startsWith(\"--\")) {\n message = `${spec.name}: unrecognized option '${error.option}'\\n`;\n } else {\n message = `${spec.name}: invalid option -- '${error.option.slice(1)}'\\n`;\n }\n } else {\n message = `${spec.name}: option '${error.option}' requires an argument\\n`;\n }\n return message + `usage: ${spec.usage}\\n`;\n }\n\n async function writeError(error: FlagError, stderr: Stderr): Promise<void> {\n await stderr.writeText(formatError(error));\n }\n\n return { parse, formatError, writeError };\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "F20A6A861AD5163564756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -2,33 +2,44 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
|
|
5
|
+
function __accessProp(key) {
|
|
6
|
+
return this[key];
|
|
7
|
+
}
|
|
6
8
|
var __toCommonJS = (from) => {
|
|
7
|
-
var entry = __moduleCache.get(from), desc;
|
|
9
|
+
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
8
10
|
if (entry)
|
|
9
11
|
return entry;
|
|
10
12
|
entry = __defProp({}, "__esModule", { value: true });
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function")
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (var key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(entry, key))
|
|
16
|
+
__defProp(entry, key, {
|
|
17
|
+
get: __accessProp.bind(from, key),
|
|
18
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
+
});
|
|
20
|
+
}
|
|
16
21
|
__moduleCache.set(from, entry);
|
|
17
22
|
return entry;
|
|
18
23
|
};
|
|
24
|
+
var __moduleCache;
|
|
25
|
+
var __returnValue = (v) => v;
|
|
26
|
+
function __exportSetter(name, newValue) {
|
|
27
|
+
this[name] = __returnValue.bind(null, newValue);
|
|
28
|
+
}
|
|
19
29
|
var __export = (target, all) => {
|
|
20
30
|
for (var name in all)
|
|
21
31
|
__defProp(target, name, {
|
|
22
32
|
get: all[name],
|
|
23
33
|
enumerable: true,
|
|
24
34
|
configurable: true,
|
|
25
|
-
set: (
|
|
35
|
+
set: __exportSetter.bind(all, name)
|
|
26
36
|
});
|
|
27
37
|
};
|
|
28
38
|
|
|
29
39
|
// src/utils/index.ts
|
|
30
40
|
var exports_utils = {};
|
|
31
41
|
__export(exports_utils, {
|
|
42
|
+
matchGlob: () => import_match_glob.matchGlob,
|
|
32
43
|
expandEscapes: () => import_expand_escapes.expandEscapes,
|
|
33
44
|
escapeForInterpolation: () => import_escape.escapeForInterpolation,
|
|
34
45
|
escape: () => import_escape.escape,
|
|
@@ -38,5 +49,6 @@ module.exports = __toCommonJS(exports_utils);
|
|
|
38
49
|
var import_escape = require("./escape.cjs");
|
|
39
50
|
var import_expand_escapes = require("./expand-escapes.cjs");
|
|
40
51
|
var import_flag_parser = require("./flag-parser.cjs");
|
|
52
|
+
var import_match_glob = require("./match-glob.cjs");
|
|
41
53
|
|
|
42
|
-
//# debugId=
|
|
54
|
+
//# debugId=F04305B8F64F71E264756E2164756E21
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/utils/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"export { escape, escapeForInterpolation } from \"./escape.cjs\";\nexport { expandEscapes } from \"./expand-escapes.cjs\";\nexport {\n createFlagParser,\n type FlagDefinition,\n type CommandSpec,\n type FlagError,\n type ParseResult,\n type FlagParser,\n} from \"./flag-parser.cjs\";\n"
|
|
5
|
+
"export { escape, escapeForInterpolation } from \"./escape.cjs\";\nexport { expandEscapes } from \"./expand-escapes.cjs\";\nexport {\n createFlagParser,\n type FlagDefinition,\n type CommandSpec,\n type FlagError,\n type ParseResult,\n type FlagParser,\n} from \"./flag-parser.cjs\";\nexport { matchGlob } from \"./match-glob.cjs\";\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA+C,IAA/C;AAC8B,IAA9B;AAQO,IAPP;AAQ0B,IAA1B;",
|
|
8
|
+
"debugId": "F04305B8F64F71E264756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
function __accessProp(key) {
|
|
6
|
+
return this[key];
|
|
7
|
+
}
|
|
8
|
+
var __toCommonJS = (from) => {
|
|
9
|
+
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
10
|
+
if (entry)
|
|
11
|
+
return entry;
|
|
12
|
+
entry = __defProp({}, "__esModule", { value: true });
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (var key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(entry, key))
|
|
16
|
+
__defProp(entry, key, {
|
|
17
|
+
get: __accessProp.bind(from, key),
|
|
18
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
__moduleCache.set(from, entry);
|
|
22
|
+
return entry;
|
|
23
|
+
};
|
|
24
|
+
var __moduleCache;
|
|
25
|
+
var __returnValue = (v) => v;
|
|
26
|
+
function __exportSetter(name, newValue) {
|
|
27
|
+
this[name] = __returnValue.bind(null, newValue);
|
|
28
|
+
}
|
|
29
|
+
var __export = (target, all) => {
|
|
30
|
+
for (var name in all)
|
|
31
|
+
__defProp(target, name, {
|
|
32
|
+
get: all[name],
|
|
33
|
+
enumerable: true,
|
|
34
|
+
configurable: true,
|
|
35
|
+
set: __exportSetter.bind(all, name)
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// src/utils/match-glob.ts
|
|
40
|
+
var exports_match_glob = {};
|
|
41
|
+
__export(exports_match_glob, {
|
|
42
|
+
matchGlob: () => matchGlob
|
|
43
|
+
});
|
|
44
|
+
module.exports = __toCommonJS(exports_match_glob);
|
|
45
|
+
function matchGlob(pattern, str, caseInsensitive = false) {
|
|
46
|
+
if (caseInsensitive) {
|
|
47
|
+
pattern = pattern.toLowerCase();
|
|
48
|
+
str = str.toLowerCase();
|
|
49
|
+
}
|
|
50
|
+
let regex = "^";
|
|
51
|
+
for (let i = 0;i < pattern.length; i++) {
|
|
52
|
+
const c = pattern[i];
|
|
53
|
+
switch (c) {
|
|
54
|
+
case "*":
|
|
55
|
+
regex += ".*";
|
|
56
|
+
break;
|
|
57
|
+
case "?":
|
|
58
|
+
regex += ".";
|
|
59
|
+
break;
|
|
60
|
+
case "[": {
|
|
61
|
+
let j = i + 1;
|
|
62
|
+
if (pattern[j] === "!" || pattern[j] === "^")
|
|
63
|
+
j++;
|
|
64
|
+
if (pattern[j] === "]")
|
|
65
|
+
j++;
|
|
66
|
+
while (j < pattern.length && pattern[j] !== "]")
|
|
67
|
+
j++;
|
|
68
|
+
if (j >= pattern.length) {
|
|
69
|
+
regex += "\\[";
|
|
70
|
+
} else {
|
|
71
|
+
let charClass = pattern.slice(i, j + 1);
|
|
72
|
+
charClass = charClass.replace(/^\[!/, "[^");
|
|
73
|
+
regex += charClass;
|
|
74
|
+
i = j;
|
|
75
|
+
}
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
case ".":
|
|
79
|
+
case "^":
|
|
80
|
+
case "$":
|
|
81
|
+
case "+":
|
|
82
|
+
case "{":
|
|
83
|
+
case "}":
|
|
84
|
+
case "(":
|
|
85
|
+
case ")":
|
|
86
|
+
case "|":
|
|
87
|
+
case "\\":
|
|
88
|
+
regex += "\\" + c;
|
|
89
|
+
break;
|
|
90
|
+
default:
|
|
91
|
+
regex += c;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
regex += "$";
|
|
95
|
+
try {
|
|
96
|
+
return new RegExp(regex).test(str);
|
|
97
|
+
} catch {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
//# debugId=F0BE71C75755CCA364756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/utils/match-glob.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * Simple glob pattern matching (fnmatch-style)\n * Supports: * (any chars), ? (single char), [...] (character class)\n */\nexport function matchGlob(pattern: string, str: string, caseInsensitive = false): boolean {\n if (caseInsensitive) {\n pattern = pattern.toLowerCase();\n str = str.toLowerCase();\n }\n\n // Convert glob to regex\n let regex = \"^\";\n for (let i = 0; i < pattern.length; i++) {\n const c = pattern[i]!;\n switch (c) {\n case \"*\":\n regex += \".*\";\n break;\n case \"?\":\n regex += \".\";\n break;\n case \"[\": {\n // Find closing bracket\n let j = i + 1;\n // Handle negation\n if (pattern[j] === \"!\" || pattern[j] === \"^\") j++;\n // Handle ] as first char in class\n if (pattern[j] === \"]\") j++;\n while (j < pattern.length && pattern[j] !== \"]\") j++;\n if (j >= pattern.length) {\n // No closing bracket, treat [ as literal\n regex += \"\\\\[\";\n } else {\n let charClass = pattern.slice(i, j + 1);\n // Convert ! to ^ for negation in regex\n charClass = charClass.replace(/^\\[!/, \"[^\");\n regex += charClass;\n i = j;\n }\n break;\n }\n case \".\":\n case \"^\":\n case \"$\":\n case \"+\":\n case \"{\":\n case \"}\":\n case \"(\":\n case \")\":\n case \"|\":\n case \"\\\\\":\n regex += \"\\\\\" + c;\n break;\n default:\n regex += c;\n }\n }\n regex += \"$\";\n\n try {\n return new RegExp(regex).test(str);\n } catch {\n return false;\n }\n}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,SAAS,SAAS,CAAC,SAAiB,KAAa,kBAAkB,OAAgB;AAAA,EACxF,IAAI,iBAAiB;AAAA,IACnB,UAAU,QAAQ,YAAY;AAAA,IAC9B,MAAM,IAAI,YAAY;AAAA,EACxB;AAAA,EAGA,IAAI,QAAQ;AAAA,EACZ,SAAS,IAAI,EAAG,IAAI,QAAQ,QAAQ,KAAK;AAAA,IACvC,MAAM,IAAI,QAAQ;AAAA,IAClB,QAAQ;AAAA,WACD;AAAA,QACH,SAAS;AAAA,QACT;AAAA,WACG;AAAA,QACH,SAAS;AAAA,QACT;AAAA,WACG,KAAK;AAAA,QAER,IAAI,IAAI,IAAI;AAAA,QAEZ,IAAI,QAAQ,OAAO,OAAO,QAAQ,OAAO;AAAA,UAAK;AAAA,QAE9C,IAAI,QAAQ,OAAO;AAAA,UAAK;AAAA,QACxB,OAAO,IAAI,QAAQ,UAAU,QAAQ,OAAO;AAAA,UAAK;AAAA,QACjD,IAAI,KAAK,QAAQ,QAAQ;AAAA,UAEvB,SAAS;AAAA,QACX,EAAO;AAAA,UACL,IAAI,YAAY,QAAQ,MAAM,GAAG,IAAI,CAAC;AAAA,UAEtC,YAAY,UAAU,QAAQ,QAAQ,IAAI;AAAA,UAC1C,SAAS;AAAA,UACT,IAAI;AAAA;AAAA,QAEN;AAAA,MACF;AAAA,WACK;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,QACH,SAAS,OAAO;AAAA,QAChB;AAAA;AAAA,QAEA,SAAS;AAAA;AAAA,EAEf;AAAA,EACA,SAAS;AAAA,EAET,IAAI;AAAA,IACF,OAAO,IAAI,OAAO,KAAK,EAAE,KAAK,GAAG;AAAA,IACjC,MAAM;AAAA,IACN,OAAO;AAAA;AAAA;",
|
|
8
|
+
"debugId": "F0BE71C75755CCA364756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
package/dist/mjs/package.json
CHANGED