@datamitsu/datamitsu 0.0.8 → 0.0.10

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/bin/index.js CHANGED
@@ -1,19 +1,22 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { spawn } from "node:child_process";
3
+ import { spawnSync } from "node:child_process";
4
4
 
5
5
  import { getExePath } from "../get-exe.js";
6
6
 
7
- // Add --binary-command datamitsu to args if not already present
8
7
  const args = process.argv.slice(2);
9
8
  if (!args.includes("--binary-command")) {
10
9
  args.unshift("--binary-command", "datamitsu");
11
10
  }
12
11
 
13
- const child = spawn(getExePath(), args, { stdio: "inherit" });
12
+ const result = spawnSync(getExePath(), args, { stdio: "inherit" });
14
13
 
15
- child.on("exit", (code) => {
16
- if (code !== 0) {
17
- process.exit(code);
18
- }
19
- });
14
+ if (result.error) {
15
+ throw result.error;
16
+ }
17
+
18
+ if (result.signal) {
19
+ process.kill(process.pid, result.signal);
20
+ } else {
21
+ process.exitCode = result.status ?? 1;
22
+ }
package/get-exe.js CHANGED
@@ -1,21 +1,16 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { createRequire } from "node:module";
3
- import { join } from "node:path";
3
+ import { dirname, join } from "node:path";
4
4
 
5
5
  export function getExePath() {
6
- const platform = getPlatform();
7
- const arch = getArch();
8
- const ext = platform === "win32" ? ".exe" : "";
9
-
10
- const packageName = `@datamitsu/datamitsu-${platform}-${arch}`;
6
+ const ext = process.platform === "win32" ? ".exe" : "";
7
+ const packageName = `@datamitsu/datamitsu-${process.platform}-${process.arch}`;
11
8
  const exeName = `datamitsu${ext}`;
12
9
 
13
10
  try {
14
- // Try to resolve the platform-specific package using createRequire for ES modules
15
11
  const require = createRequire(import.meta.url);
16
- const packagePath = require.resolve(`${packageName}/package.json`);
17
- const packageDir = join(packagePath, "..");
18
- const exePath = join(packageDir, exeName);
12
+ const packageJson = require.resolve(`${packageName}/package.json`);
13
+ const exePath = join(dirname(packageJson), exeName);
19
14
 
20
15
  if (existsSync(exePath)) {
21
16
  return exePath;
@@ -25,29 +20,8 @@ export function getExePath() {
25
20
  }
26
21
 
27
22
  throw new Error(
28
- `datamitsu binary not found for platform ${platform}-${arch}.\n` +
23
+ `datamitsu binary not found for platform ${process.platform}-${process.arch}.\n` +
29
24
  `Please make sure the package "${packageName}" is installed.\n` +
30
- `If you're seeing this error, try reinstalling datamitsu: npm install @datamitsu/datamitsu`,
25
+ `If you're seeing this error, try reinstalling: npm install @datamitsu/datamitsu`,
31
26
  );
32
27
  }
33
-
34
- function getArch() {
35
- const arch = process.arch;
36
- // Normalize architecture names
37
- if (arch === "x64") {
38
- return "x64";
39
- }
40
- if (arch === "arm64" || arch === "aarch64") {
41
- return "arm64";
42
- }
43
- return arch;
44
- }
45
-
46
- function getPlatform() {
47
- const platform = process.platform;
48
- // Keep win32 as-is to match package names
49
- if (platform === "cygwin") {
50
- return "win32";
51
- }
52
- return platform;
53
- }
package/lib/index.d.ts CHANGED
@@ -23,9 +23,10 @@ interface TaskJSON {
23
23
  app: string;
24
24
  args: string[];
25
25
  batch: boolean;
26
+ excludeGlobs?: string[];
26
27
  fileCount: number;
27
28
  files: string[];
28
- globs: string[];
29
+ globs?: string[];
29
30
  scope: string;
30
31
  toolName: string;
31
32
  workingDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/tool-command.ts","../src/commands/check.ts","../src/commands/exec.ts","../src/commands/version.ts","../src/commands/cache.ts","../src/commands/fix.ts","../src/commands/lint.ts","../src/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/tool-command.ts","../src/commands/check.ts","../src/commands/exec.ts","../src/commands/version.ts","../src/commands/cache.ts","../src/commands/fix.ts","../src/commands/lint.ts","../src/index.ts"],"mappings":"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"}
package/lib/index.js CHANGED
@@ -1,30 +1,17 @@
1
1
  import { createRequire } from "node:module";
2
2
  import { existsSync } from "node:fs";
3
- import { join } from "node:path";
3
+ import { dirname, join } from "node:path";
4
4
  import { x } from "tinyexec";
5
5
  //#region ../../packaging/npm/datamitsu/get-exe.js
6
6
  function getExePath() {
7
- const platform = getPlatform();
8
- const arch = getArch();
9
- const ext = platform === "win32" ? ".exe" : "";
10
- const packageName = `@datamitsu/datamitsu-${platform}-${arch}`;
7
+ const ext = process.platform === "win32" ? ".exe" : "";
8
+ const packageName = `@datamitsu/datamitsu-${process.platform}-${process.arch}`;
11
9
  const exeName = `datamitsu${ext}`;
12
10
  try {
13
- const exePath = join(join(createRequire(import.meta.url).resolve(`${packageName}/package.json`), ".."), exeName);
11
+ const exePath = join(dirname(createRequire(import.meta.url).resolve(`${packageName}/package.json`)), exeName);
14
12
  if (existsSync(exePath)) return exePath;
15
13
  } catch {}
16
- throw new Error(`datamitsu binary not found for platform ${platform}-${arch}.\nPlease make sure the package "${packageName}" is installed.\nIf you're seeing this error, try reinstalling datamitsu: npm install @datamitsu/datamitsu`);
17
- }
18
- function getArch() {
19
- const arch = process.arch;
20
- if (arch === "x64") return "x64";
21
- if (arch === "arm64" || arch === "aarch64") return "arm64";
22
- return arch;
23
- }
24
- function getPlatform() {
25
- const platform = process.platform;
26
- if (platform === "cygwin") return "win32";
27
- return platform;
14
+ throw new Error(`datamitsu binary not found for platform ${process.platform}-${process.arch}.\nPlease make sure the package "${packageName}" is installed.\nIf you're seeing this error, try reinstalling: npm install @datamitsu/datamitsu`);
28
15
  }
29
16
  //#endregion
30
17
  //#region src/spawn.ts
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["buildArgs","buildArgs"],"sources":["../../../packaging/npm/datamitsu/get-exe.js","../src/spawn.ts","../src/commands/cache.ts","../src/json.ts","../src/tool-command.ts","../src/commands/check.ts","../src/commands/exec.ts","../src/commands/fix.ts","../src/commands/lint.ts","../src/commands/version.ts","../src/index.ts"],"sourcesContent":["import { existsSync } from \"node:fs\";\nimport { createRequire } from \"node:module\";\nimport { join } from \"node:path\";\n\nexport function getExePath() {\n const platform = getPlatform();\n const arch = getArch();\n const ext = platform === \"win32\" ? \".exe\" : \"\";\n\n const packageName = `@datamitsu/datamitsu-${platform}-${arch}`;\n const exeName = `datamitsu${ext}`;\n\n try {\n // Try to resolve the platform-specific package using createRequire for ES modules\n const require = createRequire(import.meta.url);\n const packagePath = require.resolve(`${packageName}/package.json`);\n const packageDir = join(packagePath, \"..\");\n const exePath = join(packageDir, exeName);\n\n if (existsSync(exePath)) {\n return exePath;\n }\n } catch {\n // Package not found\n }\n\n throw new Error(\n `datamitsu binary not found for platform ${platform}-${arch}.\\n` +\n `Please make sure the package \"${packageName}\" is installed.\\n` +\n `If you're seeing this error, try reinstalling datamitsu: npm install @datamitsu/datamitsu`,\n );\n}\n\nfunction getArch() {\n const arch = process.arch;\n // Normalize architecture names\n if (arch === \"x64\") {\n return \"x64\";\n }\n if (arch === \"arm64\" || arch === \"aarch64\") {\n return \"arm64\";\n }\n return arch;\n}\n\nfunction getPlatform() {\n const platform = process.platform;\n // Keep win32 as-is to match package names\n if (platform === \"cygwin\") {\n return \"win32\";\n }\n return platform;\n}\n","import { getExePath } from \"@datamitsu/datamitsu/get-exe.js\";\nimport { x } from \"tinyexec\";\n\nimport type { SpawnRaw } from \"./types.js\";\n\nexport interface SpawnOptions {\n cwd?: string;\n stdio?: \"inherit\" | \"pipe\";\n}\n\nexport async function spawn(args: string[], options: SpawnOptions = {}): Promise<SpawnRaw> {\n const { cwd, stdio = \"pipe\" } = options;\n\n const binaryPath = getExePath();\n const fullArgs = [\"--binary-command\", \"datamitsu\", ...args];\n\n let result;\n try {\n result = await x(binaryPath, fullArgs, {\n nodeOptions: { cwd, stdio },\n throwOnError: false,\n });\n } catch (error) {\n throw new Error(\n `Failed to execute datamitsu binary at ${binaryPath}: ${(error as Error).message}`,\n {\n cause: error,\n },\n );\n }\n\n return {\n exitCode: result.exitCode ?? 1,\n failed: result.exitCode !== 0,\n stderr: result.stderr ?? \"\",\n stdout: result.stdout ?? \"\",\n };\n}\n","import type { SpawnRaw } from \"../types.js\";\n\nimport { spawn } from \"../spawn.js\";\n\nexport interface CacheClearOptions {\n all?: boolean;\n cwd?: string;\n dryRun?: boolean;\n}\n\nexport type CacheClearResult =\n | { error: string; exitCode: number; raw: SpawnRaw; success: false }\n | { message: string; raw: SpawnRaw; success: true };\n\nexport interface CachePathProjectOptions {\n cwd?: string;\n}\n\nexport type CachePathResult =\n | { error: string; exitCode: number; raw: SpawnRaw; success: false }\n | { path: string; raw: SpawnRaw; success: true };\n\nexport const cache = {\n async clear(options: CacheClearOptions = {}): Promise<CacheClearResult> {\n const { all = false, cwd, dryRun = false } = options;\n const args = [\"cache\", \"clear\"];\n\n if (all) {\n args.push(\"--all\");\n }\n\n if (dryRun) {\n args.push(\"--dry-run\");\n }\n\n const raw = await spawn(args, cwd ? { cwd } : {});\n\n if (raw.failed) {\n return {\n error: raw.stderr || raw.stdout,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n\n return {\n message: raw.stdout.trim(),\n raw,\n success: true,\n };\n },\n\n async path(): Promise<CachePathResult> {\n const raw = await spawn([\"cache\", \"path\"]);\n\n if (raw.failed) {\n return {\n error: raw.stderr || raw.stdout,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n\n return {\n path: raw.stdout.trim(),\n raw,\n success: true,\n };\n },\n\n async pathProject(options: CachePathProjectOptions = {}): Promise<CachePathResult> {\n const { cwd } = options;\n const raw = await spawn([\"cache\", \"path\", \"project\"], cwd ? { cwd } : {});\n\n if (raw.failed) {\n return {\n error: raw.stderr || raw.stdout,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n\n return {\n path: raw.stdout.trim(),\n raw,\n success: true,\n };\n },\n} as const;\n","export function extractAllJSON(output: string): string[] {\n if (!output) {\n return [];\n }\n const results: string[] = [];\n let pos = 0;\n while (pos < output.length) {\n const start = output.indexOf(\"{\", pos);\n if (start === -1) {\n break;\n }\n const end = findJSONEnd(output, start);\n if (end === -1) {\n break;\n }\n results.push(output.slice(start, end + 1));\n pos = end + 1;\n }\n return results;\n}\n\nexport function extractJSON(output: string): null | string {\n if (!output) {\n return null;\n }\n const start = output.indexOf(\"{\");\n if (start === -1) {\n return null;\n }\n const end = findJSONEnd(output, start);\n if (end === -1) {\n return null;\n }\n return output.slice(start, end + 1);\n}\n\nfunction findJSONEnd(output: string, start: number): number {\n let depth = 0;\n let inString = false;\n let escape = false;\n for (let i = start; i < output.length; i++) {\n const ch = output[i];\n if (escape) {\n escape = false;\n } else if (inString) {\n if (ch === \"\\\\\") {\n escape = true;\n } else if (ch === '\"') {\n inString = false;\n }\n } else {\n switch (ch) {\n case '\"': {\n inString = true;\n\n break;\n }\n case \"{\": {\n depth++;\n\n break;\n }\n case \"}\": {\n depth--;\n if (depth === 0) {\n return i;\n }\n\n break;\n }\n // No default\n }\n }\n }\n return -1;\n}\n","import type { PlanJSON, SpawnRaw } from \"./types.js\";\n\nimport { extractJSON } from \"./json.js\";\nimport { spawn } from \"./spawn.js\";\n\nexport interface BaseOptions {\n beforeConfig?: string[];\n config?: string[];\n explain?: \"detailed\" | \"json\" | \"summary\" | \"text\" | boolean;\n files?: string[];\n fileScoped?: boolean;\n noAutoConfig?: boolean;\n tools?: string[];\n}\n\nexport interface ToolCommandOptions extends BaseOptions {\n cwd?: string;\n stdio?: \"inherit\" | \"pipe\";\n}\n\nexport type ToolCommandResult =\n | { error: string; exitCode: number; raw: SpawnRaw; success: false }\n | { exitCode: number; raw: SpawnRaw; success: true }\n | { output: string; raw: SpawnRaw; success: true }\n | { plan: PlanJSON; raw: SpawnRaw; success: true };\n\nexport function buildArgs(commandName: string, options: BaseOptions = {}): string[] {\n const {\n beforeConfig = [],\n config = [],\n explain = false,\n files = [],\n fileScoped = false,\n noAutoConfig = false,\n tools = [],\n } = options;\n\n const args: string[] = [commandName];\n\n if (explain === true) {\n args.push(\"--explain\");\n } else if (explain) {\n args.push(`--explain=${explain}`);\n }\n\n if (fileScoped) {\n args.push(\"--file-scoped\");\n }\n\n if (tools.length > 0) {\n args.push(\"--tools\", tools.join(\",\"));\n }\n\n for (const c of config) {\n args.push(\"--config\", c);\n }\n\n for (const bc of beforeConfig) {\n args.push(\"--before-config\", bc);\n }\n\n if (noAutoConfig) {\n args.push(\"--no-auto-config\");\n }\n\n args.push(...files);\n\n return args;\n}\n\nexport function createToolCommand(\n commandName: string,\n): (options?: ToolCommandOptions) => Promise<ToolCommandResult> {\n return async function (options: ToolCommandOptions = {}): Promise<ToolCommandResult> {\n const { explain = false } = options;\n const args = buildArgs(commandName, options);\n const spawnOptions: { cwd?: string; stdio?: \"inherit\" | \"pipe\" } = {};\n if (options.cwd !== undefined) {\n spawnOptions.cwd = options.cwd;\n }\n if (options.stdio !== undefined) {\n spawnOptions.stdio = options.stdio;\n }\n const raw = await spawn(args, spawnOptions);\n\n if (raw.failed) {\n return {\n error: raw.stderr || raw.stdout,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n\n if (explain === \"json\") {\n try {\n const jsonStr = extractJSON(raw.stdout) || raw.stdout;\n const plan: PlanJSON = JSON.parse(jsonStr);\n return { plan, raw, success: true };\n } catch {\n return {\n error: `Failed to parse JSON output: ${raw.stdout}`,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n }\n\n if (explain) {\n return { output: raw.stdout, raw, success: true };\n }\n\n return { exitCode: raw.exitCode, raw, success: true };\n };\n}\n","import type { PlanJSON, SpawnRaw } from \"../types.js\";\n\nimport { extractAllJSON } from \"../json.js\";\nimport { spawn } from \"../spawn.js\";\nimport { buildArgs, createToolCommand, type ToolCommandOptions } from \"../tool-command.js\";\n\nexport type CheckOptions = ToolCommandOptions;\n\nexport type CheckResult =\n | { error: string; exitCode: number; raw: SpawnRaw; success: false }\n | { exitCode: number; raw: SpawnRaw; success: true }\n | { output: string; raw: SpawnRaw; success: true }\n | { plan: PlanJSON; plans: PlanJSON[]; raw: SpawnRaw; success: true };\n\nconst baseCheck = createToolCommand(\"check\");\n\nexport async function check(options: CheckOptions = {}): Promise<CheckResult> {\n if (options.explain !== \"json\") {\n return baseCheck(options) as Promise<CheckResult>;\n }\n\n const args = buildArgs(\"check\", options);\n const spawnOptions: { cwd?: string; stdio?: \"inherit\" | \"pipe\" } = {};\n if (options.cwd !== undefined) {\n spawnOptions.cwd = options.cwd;\n }\n if (options.stdio !== undefined) {\n spawnOptions.stdio = options.stdio;\n }\n const raw = await spawn(args, spawnOptions);\n\n if (raw.failed) {\n return {\n error: raw.stderr || raw.stdout,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n\n try {\n const jsonStrings = extractAllJSON(raw.stdout);\n if (jsonStrings.length === 0) {\n throw new Error(\"No JSON found\");\n }\n const plans: PlanJSON[] = jsonStrings.map((s) => JSON.parse(s));\n return { plan: plans[0]!, plans, raw, success: true };\n } catch {\n return {\n error: `Failed to parse JSON output: ${raw.stdout}`,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n}\n","import type { SpawnRaw } from \"../types.js\";\n\nimport { spawn } from \"../spawn.js\";\n\nexport interface ExecOptions {\n args?: string[];\n beforeConfig?: string[];\n config?: string[];\n cwd?: string;\n noAutoConfig?: boolean;\n stdio?: \"inherit\" | \"pipe\";\n}\n\nexport type ExecResult =\n | { error: string; exitCode: number; raw: SpawnRaw; success: false }\n | { exitCode: number; raw: SpawnRaw; stderr: string; stdout: string; success: true }\n | { raw: SpawnRaw; success: true; tools: ToolInfo[] };\n\nexport interface ToolInfo {\n details: string;\n name: string;\n type: string;\n}\n\nexport async function exec(appName?: string, options: ExecOptions = {}): Promise<ExecResult> {\n const spawnArgs = buildArgs(appName, options);\n const spawnOpts: { cwd?: string; stdio?: \"inherit\" | \"pipe\" } = {};\n if (options.cwd !== undefined) {\n spawnOpts.cwd = options.cwd;\n }\n if (options.stdio !== undefined) {\n spawnOpts.stdio = options.stdio;\n }\n const raw = await spawn(spawnArgs, spawnOpts);\n\n if (!appName) {\n if (raw.failed) {\n return {\n error: raw.stderr || raw.stdout,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n const tools = parseToolList(raw.stdout);\n return { raw, success: true, tools };\n }\n\n if (raw.failed) {\n return {\n error: raw.stderr || raw.stdout,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n\n return {\n exitCode: raw.exitCode,\n raw,\n stderr: raw.stderr,\n stdout: raw.stdout,\n success: true,\n };\n}\n\nconst ESC = String.fromCodePoint(0x1b);\nconst ANSI_PATTERN = new RegExp(`${ESC}\\\\[[0-9;]*m`, \"g\");\n\nexport function parseToolList(output: string): ToolInfo[] {\n if (!output || !output.trim()) {\n return [];\n }\n\n const tools: ToolInfo[] = [];\n let currentType: null | string = null;\n const typePattern = /^\\[(binary|uv|fnm|jvm|shell)\\]$/;\n const toolPattern = /^ {2}(\\S+)(?:\\s{2,}(.+))?$/;\n\n for (const line of output.split(\"\\n\").map((l) => l.replace(ANSI_PATTERN, \"\"))) {\n const typeMatch = line.match(typePattern);\n if (typeMatch?.[1]) {\n currentType = typeMatch[1];\n } else if (currentType) {\n const toolMatch = line.match(toolPattern);\n if (toolMatch?.[1]) {\n tools.push({\n details: toolMatch[2] || \"\",\n name: toolMatch[1],\n type: currentType,\n });\n }\n }\n }\n\n return tools;\n}\n\nfunction buildArgs(appName: string | undefined, options: ExecOptions = {}): string[] {\n const { args = [], beforeConfig = [], config = [], noAutoConfig = false } = options;\n\n const spawnArgs = [\"exec\"];\n\n for (const c of config) {\n spawnArgs.push(\"--config\", c);\n }\n\n for (const bc of beforeConfig) {\n spawnArgs.push(\"--before-config\", bc);\n }\n\n if (noAutoConfig) {\n spawnArgs.push(\"--no-auto-config\");\n }\n\n if (appName) {\n spawnArgs.push(appName, ...args);\n }\n\n return spawnArgs;\n}\n","import {\n createToolCommand,\n type ToolCommandOptions,\n type ToolCommandResult,\n} from \"../tool-command.js\";\n\nexport type FixOptions = ToolCommandOptions;\nexport type FixResult = ToolCommandResult;\n\nexport const fix = createToolCommand(\"fix\");\n","import {\n createToolCommand,\n type ToolCommandOptions,\n type ToolCommandResult,\n} from \"../tool-command.js\";\n\nexport type LintOptions = ToolCommandOptions;\nexport type LintResult = ToolCommandResult;\n\nexport const lint = createToolCommand(\"lint\");\n","import type { SpawnRaw } from \"../types.js\";\n\nimport { spawn } from \"../spawn.js\";\n\nexport type VersionResult =\n | { error: string; exitCode: number; raw: SpawnRaw; success: false }\n | { raw: SpawnRaw; success: true; version: string };\n\nexport async function version(): Promise<VersionResult> {\n const raw = await spawn([\"version\"]);\n\n if (raw.failed) {\n return {\n error: raw.stderr || raw.stdout,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n\n const output = raw.stdout.trim().split(\"\\n\")[0] ?? \"\";\n const versionStr = output.replace(/^.*version\\s+/, \"\");\n return {\n raw,\n success: true,\n version: versionStr,\n };\n}\n","import { cache } from \"./commands/cache.js\";\nimport { check } from \"./commands/check.js\";\nimport { exec } from \"./commands/exec.js\";\nimport { fix } from \"./commands/fix.js\";\nimport { lint } from \"./commands/lint.js\";\nimport { version } from \"./commands/version.js\";\n\nexport default { cache, check, exec, fix, lint, version };\nexport { cache } from \"./commands/cache.js\";\nexport type {\n CacheClearOptions,\n CacheClearResult,\n CachePathProjectOptions,\n CachePathResult,\n} from \"./commands/cache.js\";\nexport { check } from \"./commands/check.js\";\nexport type { CheckOptions, CheckResult } from \"./commands/check.js\";\nexport { exec, parseToolList } from \"./commands/exec.js\";\nexport type { ExecOptions, ExecResult, ToolInfo } from \"./commands/exec.js\";\nexport { fix } from \"./commands/fix.js\";\nexport type { FixOptions, FixResult } from \"./commands/fix.js\";\nexport { lint } from \"./commands/lint.js\";\nexport type { LintOptions, LintResult } from \"./commands/lint.js\";\nexport { version } from \"./commands/version.js\";\nexport type { VersionResult } from \"./commands/version.js\";\nexport type { GroupJSON, ParallelGroupJSON, PlanJSON, SpawnRaw, TaskJSON } from \"./types.js\";\n"],"mappings":";;;;;AAIA,SAAgB,aAAa;CAC3B,MAAM,WAAW,aAAa;CAC9B,MAAM,OAAO,SAAS;CACtB,MAAM,MAAM,aAAa,UAAU,SAAS;CAE5C,MAAM,cAAc,wBAAwB,SAAS,GAAG;CACxD,MAAM,UAAU,YAAY;CAE5B,IAAI;EAKF,MAAM,UAAU,KADG,KAFH,cAAc,OAAO,KAAK,IACf,CAAC,QAAQ,GAAG,YAAY,eAChB,EAAE,KACN,EAAE,QAAQ;EAEzC,IAAI,WAAW,QAAQ,EACrB,OAAO;SAEH;CAIR,MAAM,IAAI,MACR,2CAA2C,SAAS,GAAG,KAAK,mCACzB,YAAY,4GAEhD;;AAGH,SAAS,UAAU;CACjB,MAAM,OAAO,QAAQ;CAErB,IAAI,SAAS,OACX,OAAO;CAET,IAAI,SAAS,WAAW,SAAS,WAC/B,OAAO;CAET,OAAO;;AAGT,SAAS,cAAc;CACrB,MAAM,WAAW,QAAQ;CAEzB,IAAI,aAAa,UACf,OAAO;CAET,OAAO;;;;ACzCT,eAAsB,MAAM,MAAgB,UAAwB,EAAE,EAAqB;CACzF,MAAM,EAAE,KAAK,QAAQ,WAAW;CAEhC,MAAM,aAAa,YAAY;CAC/B,MAAM,WAAW;EAAC;EAAoB;EAAa,GAAG;EAAK;CAE3D,IAAI;CACJ,IAAI;EACF,SAAS,MAAM,EAAE,YAAY,UAAU;GACrC,aAAa;IAAE;IAAK;IAAO;GAC3B,cAAc;GACf,CAAC;UACK,OAAO;EACd,MAAM,IAAI,MACR,yCAAyC,WAAW,IAAK,MAAgB,WACzE,EACE,OAAO,OACR,CACF;;CAGH,OAAO;EACL,UAAU,OAAO,YAAY;EAC7B,QAAQ,OAAO,aAAa;EAC5B,QAAQ,OAAO,UAAU;EACzB,QAAQ,OAAO,UAAU;EAC1B;;;;ACdH,MAAa,QAAQ;CACnB,MAAM,MAAM,UAA6B,EAAE,EAA6B;EACtE,MAAM,EAAE,MAAM,OAAO,KAAK,SAAS,UAAU;EAC7C,MAAM,OAAO,CAAC,SAAS,QAAQ;EAE/B,IAAI,KACF,KAAK,KAAK,QAAQ;EAGpB,IAAI,QACF,KAAK,KAAK,YAAY;EAGxB,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,CAAC;EAEjD,IAAI,IAAI,QACN,OAAO;GACL,OAAO,IAAI,UAAU,IAAI;GACzB,UAAU,IAAI;GACd;GACA,SAAS;GACV;EAGH,OAAO;GACL,SAAS,IAAI,OAAO,MAAM;GAC1B;GACA,SAAS;GACV;;CAGH,MAAM,OAAiC;EACrC,MAAM,MAAM,MAAM,MAAM,CAAC,SAAS,OAAO,CAAC;EAE1C,IAAI,IAAI,QACN,OAAO;GACL,OAAO,IAAI,UAAU,IAAI;GACzB,UAAU,IAAI;GACd;GACA,SAAS;GACV;EAGH,OAAO;GACL,MAAM,IAAI,OAAO,MAAM;GACvB;GACA,SAAS;GACV;;CAGH,MAAM,YAAY,UAAmC,EAAE,EAA4B;EACjF,MAAM,EAAE,QAAQ;EAChB,MAAM,MAAM,MAAM,MAAM;GAAC;GAAS;GAAQ;GAAU,EAAE,MAAM,EAAE,KAAK,GAAG,EAAE,CAAC;EAEzE,IAAI,IAAI,QACN,OAAO;GACL,OAAO,IAAI,UAAU,IAAI;GACzB,UAAU,IAAI;GACd;GACA,SAAS;GACV;EAGH,OAAO;GACL,MAAM,IAAI,OAAO,MAAM;GACvB;GACA,SAAS;GACV;;CAEJ;;;AC3FD,SAAgB,eAAe,QAA0B;CACvD,IAAI,CAAC,QACH,OAAO,EAAE;CAEX,MAAM,UAAoB,EAAE;CAC5B,IAAI,MAAM;CACV,OAAO,MAAM,OAAO,QAAQ;EAC1B,MAAM,QAAQ,OAAO,QAAQ,KAAK,IAAI;EACtC,IAAI,UAAU,IACZ;EAEF,MAAM,MAAM,YAAY,QAAQ,MAAM;EACtC,IAAI,QAAQ,IACV;EAEF,QAAQ,KAAK,OAAO,MAAM,OAAO,MAAM,EAAE,CAAC;EAC1C,MAAM,MAAM;;CAEd,OAAO;;AAGT,SAAgB,YAAY,QAA+B;CACzD,IAAI,CAAC,QACH,OAAO;CAET,MAAM,QAAQ,OAAO,QAAQ,IAAI;CACjC,IAAI,UAAU,IACZ,OAAO;CAET,MAAM,MAAM,YAAY,QAAQ,MAAM;CACtC,IAAI,QAAQ,IACV,OAAO;CAET,OAAO,OAAO,MAAM,OAAO,MAAM,EAAE;;AAGrC,SAAS,YAAY,QAAgB,OAAuB;CAC1D,IAAI,QAAQ;CACZ,IAAI,WAAW;CACf,IAAI,SAAS;CACb,KAAK,IAAI,IAAI,OAAO,IAAI,OAAO,QAAQ,KAAK;EAC1C,MAAM,KAAK,OAAO;EAClB,IAAI,QACF,SAAS;OACJ,IAAI;OACL,OAAO,MACT,SAAS;QACJ,IAAI,OAAO,MAChB,WAAW;SAGb,QAAQ,IAAR;GACE,KAAK;IACH,WAAW;IAEX;GAEF,KAAK;IACH;IAEA;GAEF,KAAK;IACH;IACA,IAAI,UAAU,GACZ,OAAO;IAGT;;;CAMR,OAAO;;;;AChDT,SAAgBA,YAAU,aAAqB,UAAuB,EAAE,EAAY;CAClF,MAAM,EACJ,eAAe,EAAE,EACjB,SAAS,EAAE,EACX,UAAU,OACV,QAAQ,EAAE,EACV,aAAa,OACb,eAAe,OACf,QAAQ,EAAE,KACR;CAEJ,MAAM,OAAiB,CAAC,YAAY;CAEpC,IAAI,YAAY,MACd,KAAK,KAAK,YAAY;MACjB,IAAI,SACT,KAAK,KAAK,aAAa,UAAU;CAGnC,IAAI,YACF,KAAK,KAAK,gBAAgB;CAG5B,IAAI,MAAM,SAAS,GACjB,KAAK,KAAK,WAAW,MAAM,KAAK,IAAI,CAAC;CAGvC,KAAK,MAAM,KAAK,QACd,KAAK,KAAK,YAAY,EAAE;CAG1B,KAAK,MAAM,MAAM,cACf,KAAK,KAAK,mBAAmB,GAAG;CAGlC,IAAI,cACF,KAAK,KAAK,mBAAmB;CAG/B,KAAK,KAAK,GAAG,MAAM;CAEnB,OAAO;;AAGT,SAAgB,kBACd,aAC8D;CAC9D,OAAO,eAAgB,UAA8B,EAAE,EAA8B;EACnF,MAAM,EAAE,UAAU,UAAU;EAC5B,MAAM,OAAOA,YAAU,aAAa,QAAQ;EAC5C,MAAM,eAA6D,EAAE;EACrE,IAAI,QAAQ,QAAQ,KAAA,GAClB,aAAa,MAAM,QAAQ;EAE7B,IAAI,QAAQ,UAAU,KAAA,GACpB,aAAa,QAAQ,QAAQ;EAE/B,MAAM,MAAM,MAAM,MAAM,MAAM,aAAa;EAE3C,IAAI,IAAI,QACN,OAAO;GACL,OAAO,IAAI,UAAU,IAAI;GACzB,UAAU,IAAI;GACd;GACA,SAAS;GACV;EAGH,IAAI,YAAY,QACd,IAAI;GACF,MAAM,UAAU,YAAY,IAAI,OAAO,IAAI,IAAI;GAE/C,OAAO;IAAE,MADc,KAAK,MAAM,QACrB;IAAE;IAAK,SAAS;IAAM;UAC7B;GACN,OAAO;IACL,OAAO,gCAAgC,IAAI;IAC3C,UAAU,IAAI;IACd;IACA,SAAS;IACV;;EAIL,IAAI,SACF,OAAO;GAAE,QAAQ,IAAI;GAAQ;GAAK,SAAS;GAAM;EAGnD,OAAO;GAAE,UAAU,IAAI;GAAU;GAAK,SAAS;GAAM;;;;;ACnGzD,MAAM,YAAY,kBAAkB,QAAQ;AAE5C,eAAsB,MAAM,UAAwB,EAAE,EAAwB;CAC5E,IAAI,QAAQ,YAAY,QACtB,OAAO,UAAU,QAAQ;CAG3B,MAAM,OAAOC,YAAU,SAAS,QAAQ;CACxC,MAAM,eAA6D,EAAE;CACrE,IAAI,QAAQ,QAAQ,KAAA,GAClB,aAAa,MAAM,QAAQ;CAE7B,IAAI,QAAQ,UAAU,KAAA,GACpB,aAAa,QAAQ,QAAQ;CAE/B,MAAM,MAAM,MAAM,MAAM,MAAM,aAAa;CAE3C,IAAI,IAAI,QACN,OAAO;EACL,OAAO,IAAI,UAAU,IAAI;EACzB,UAAU,IAAI;EACd;EACA,SAAS;EACV;CAGH,IAAI;EACF,MAAM,cAAc,eAAe,IAAI,OAAO;EAC9C,IAAI,YAAY,WAAW,GACzB,MAAM,IAAI,MAAM,gBAAgB;EAElC,MAAM,QAAoB,YAAY,KAAK,MAAM,KAAK,MAAM,EAAE,CAAC;EAC/D,OAAO;GAAE,MAAM,MAAM;GAAK;GAAO;GAAK,SAAS;GAAM;SAC/C;EACN,OAAO;GACL,OAAO,gCAAgC,IAAI;GAC3C,UAAU,IAAI;GACd;GACA,SAAS;GACV;;;;;AC7BL,eAAsB,KAAK,SAAkB,UAAuB,EAAE,EAAuB;CAC3F,MAAM,YAAY,UAAU,SAAS,QAAQ;CAC7C,MAAM,YAA0D,EAAE;CAClE,IAAI,QAAQ,QAAQ,KAAA,GAClB,UAAU,MAAM,QAAQ;CAE1B,IAAI,QAAQ,UAAU,KAAA,GACpB,UAAU,QAAQ,QAAQ;CAE5B,MAAM,MAAM,MAAM,MAAM,WAAW,UAAU;CAE7C,IAAI,CAAC,SAAS;EACZ,IAAI,IAAI,QACN,OAAO;GACL,OAAO,IAAI,UAAU,IAAI;GACzB,UAAU,IAAI;GACd;GACA,SAAS;GACV;EAGH,OAAO;GAAE;GAAK,SAAS;GAAM,OADf,cAAc,IAAI,OACE;GAAE;;CAGtC,IAAI,IAAI,QACN,OAAO;EACL,OAAO,IAAI,UAAU,IAAI;EACzB,UAAU,IAAI;EACd;EACA,SAAS;EACV;CAGH,OAAO;EACL,UAAU,IAAI;EACd;EACA,QAAQ,IAAI;EACZ,QAAQ,IAAI;EACZ,SAAS;EACV;;AAIH,MAAM,eAAe,IAAI,OAAO,GADpB,OAAO,cAAc,GACK,CAAC,cAAc,IAAI;AAEzD,SAAgB,cAAc,QAA4B;CACxD,IAAI,CAAC,UAAU,CAAC,OAAO,MAAM,EAC3B,OAAO,EAAE;CAGX,MAAM,QAAoB,EAAE;CAC5B,IAAI,cAA6B;CACjC,MAAM,cAAc;CACpB,MAAM,cAAc;CAEpB,KAAK,MAAM,QAAQ,OAAO,MAAM,KAAK,CAAC,KAAK,MAAM,EAAE,QAAQ,cAAc,GAAG,CAAC,EAAE;EAC7E,MAAM,YAAY,KAAK,MAAM,YAAY;EACzC,IAAI,YAAY,IACd,cAAc,UAAU;OACnB,IAAI,aAAa;GACtB,MAAM,YAAY,KAAK,MAAM,YAAY;GACzC,IAAI,YAAY,IACd,MAAM,KAAK;IACT,SAAS,UAAU,MAAM;IACzB,MAAM,UAAU;IAChB,MAAM;IACP,CAAC;;;CAKR,OAAO;;AAGT,SAAS,UAAU,SAA6B,UAAuB,EAAE,EAAY;CACnF,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,EAAE,SAAS,EAAE,EAAE,eAAe,UAAU;CAE5E,MAAM,YAAY,CAAC,OAAO;CAE1B,KAAK,MAAM,KAAK,QACd,UAAU,KAAK,YAAY,EAAE;CAG/B,KAAK,MAAM,MAAM,cACf,UAAU,KAAK,mBAAmB,GAAG;CAGvC,IAAI,cACF,UAAU,KAAK,mBAAmB;CAGpC,IAAI,SACF,UAAU,KAAK,SAAS,GAAG,KAAK;CAGlC,OAAO;;;;AC9GT,MAAa,MAAM,kBAAkB,MAAM;;;ACA3C,MAAa,OAAO,kBAAkB,OAAO;;;ACD7C,eAAsB,UAAkC;CACtD,MAAM,MAAM,MAAM,MAAM,CAAC,UAAU,CAAC;CAEpC,IAAI,IAAI,QACN,OAAO;EACL,OAAO,IAAI,UAAU,IAAI;EACzB,UAAU,IAAI;EACd;EACA,SAAS;EACV;CAKH,OAAO;EACL;EACA,SAAS;EACT,UALa,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,IACzB,QAAQ,iBAAiB,GAI9B;EACpB;;;;ACnBH,IAAA,cAAe;CAAE;CAAO;CAAO;CAAM;CAAK;CAAM;CAAS"}
1
+ {"version":3,"file":"index.js","names":["buildArgs","buildArgs"],"sources":["../../../packaging/npm/datamitsu/get-exe.js","../src/spawn.ts","../src/commands/cache.ts","../src/json.ts","../src/tool-command.ts","../src/commands/check.ts","../src/commands/exec.ts","../src/commands/fix.ts","../src/commands/lint.ts","../src/commands/version.ts","../src/index.ts"],"sourcesContent":["import { existsSync } from \"node:fs\";\nimport { createRequire } from \"node:module\";\nimport { dirname, join } from \"node:path\";\n\nexport function getExePath() {\n const ext = process.platform === \"win32\" ? \".exe\" : \"\";\n const packageName = `@datamitsu/datamitsu-${process.platform}-${process.arch}`;\n const exeName = `datamitsu${ext}`;\n\n try {\n const require = createRequire(import.meta.url);\n const packageJson = require.resolve(`${packageName}/package.json`);\n const exePath = join(dirname(packageJson), exeName);\n\n if (existsSync(exePath)) {\n return exePath;\n }\n } catch {\n // Package not found\n }\n\n throw new Error(\n `datamitsu binary not found for platform ${process.platform}-${process.arch}.\\n` +\n `Please make sure the package \"${packageName}\" is installed.\\n` +\n `If you're seeing this error, try reinstalling: npm install @datamitsu/datamitsu`,\n );\n}\n","import { getExePath } from \"@datamitsu/datamitsu/get-exe.js\";\nimport { x } from \"tinyexec\";\n\nimport type { SpawnRaw } from \"./types.js\";\n\nexport interface SpawnOptions {\n cwd?: string;\n stdio?: \"inherit\" | \"pipe\";\n}\n\nexport async function spawn(args: string[], options: SpawnOptions = {}): Promise<SpawnRaw> {\n const { cwd, stdio = \"pipe\" } = options;\n\n const binaryPath = getExePath();\n const fullArgs = [\"--binary-command\", \"datamitsu\", ...args];\n\n let result;\n try {\n result = await x(binaryPath, fullArgs, {\n nodeOptions: { cwd, stdio },\n throwOnError: false,\n });\n } catch (error) {\n throw new Error(\n `Failed to execute datamitsu binary at ${binaryPath}: ${(error as Error).message}`,\n {\n cause: error,\n },\n );\n }\n\n return {\n exitCode: result.exitCode ?? 1,\n failed: result.exitCode !== 0,\n stderr: result.stderr ?? \"\",\n stdout: result.stdout ?? \"\",\n };\n}\n","import type { SpawnRaw } from \"../types.js\";\n\nimport { spawn } from \"../spawn.js\";\n\nexport interface CacheClearOptions {\n all?: boolean;\n cwd?: string;\n dryRun?: boolean;\n}\n\nexport type CacheClearResult =\n | { error: string; exitCode: number; raw: SpawnRaw; success: false }\n | { message: string; raw: SpawnRaw; success: true };\n\nexport interface CachePathProjectOptions {\n cwd?: string;\n}\n\nexport type CachePathResult =\n | { error: string; exitCode: number; raw: SpawnRaw; success: false }\n | { path: string; raw: SpawnRaw; success: true };\n\nexport const cache = {\n async clear(options: CacheClearOptions = {}): Promise<CacheClearResult> {\n const { all = false, cwd, dryRun = false } = options;\n const args = [\"cache\", \"clear\"];\n\n if (all) {\n args.push(\"--all\");\n }\n\n if (dryRun) {\n args.push(\"--dry-run\");\n }\n\n const raw = await spawn(args, cwd ? { cwd } : {});\n\n if (raw.failed) {\n return {\n error: raw.stderr || raw.stdout,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n\n return {\n message: raw.stdout.trim(),\n raw,\n success: true,\n };\n },\n\n async path(): Promise<CachePathResult> {\n const raw = await spawn([\"cache\", \"path\"]);\n\n if (raw.failed) {\n return {\n error: raw.stderr || raw.stdout,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n\n return {\n path: raw.stdout.trim(),\n raw,\n success: true,\n };\n },\n\n async pathProject(options: CachePathProjectOptions = {}): Promise<CachePathResult> {\n const { cwd } = options;\n const raw = await spawn([\"cache\", \"path\", \"project\"], cwd ? { cwd } : {});\n\n if (raw.failed) {\n return {\n error: raw.stderr || raw.stdout,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n\n return {\n path: raw.stdout.trim(),\n raw,\n success: true,\n };\n },\n} as const;\n","export function extractAllJSON(output: string): string[] {\n if (!output) {\n return [];\n }\n const results: string[] = [];\n let pos = 0;\n while (pos < output.length) {\n const start = output.indexOf(\"{\", pos);\n if (start === -1) {\n break;\n }\n const end = findJSONEnd(output, start);\n if (end === -1) {\n break;\n }\n results.push(output.slice(start, end + 1));\n pos = end + 1;\n }\n return results;\n}\n\nexport function extractJSON(output: string): null | string {\n if (!output) {\n return null;\n }\n const start = output.indexOf(\"{\");\n if (start === -1) {\n return null;\n }\n const end = findJSONEnd(output, start);\n if (end === -1) {\n return null;\n }\n return output.slice(start, end + 1);\n}\n\nfunction findJSONEnd(output: string, start: number): number {\n let depth = 0;\n let inString = false;\n let escape = false;\n for (let i = start; i < output.length; i++) {\n const ch = output[i];\n if (escape) {\n escape = false;\n } else if (inString) {\n if (ch === \"\\\\\") {\n escape = true;\n } else if (ch === '\"') {\n inString = false;\n }\n } else {\n switch (ch) {\n case '\"': {\n inString = true;\n\n break;\n }\n case \"{\": {\n depth++;\n\n break;\n }\n case \"}\": {\n depth--;\n if (depth === 0) {\n return i;\n }\n\n break;\n }\n // No default\n }\n }\n }\n return -1;\n}\n","import type { PlanJSON, SpawnRaw } from \"./types.js\";\n\nimport { extractJSON } from \"./json.js\";\nimport { spawn } from \"./spawn.js\";\n\nexport interface BaseOptions {\n beforeConfig?: string[];\n config?: string[];\n explain?: \"detailed\" | \"json\" | \"summary\" | \"text\" | boolean;\n files?: string[];\n fileScoped?: boolean;\n noAutoConfig?: boolean;\n tools?: string[];\n}\n\nexport interface ToolCommandOptions extends BaseOptions {\n cwd?: string;\n stdio?: \"inherit\" | \"pipe\";\n}\n\nexport type ToolCommandResult =\n | { error: string; exitCode: number; raw: SpawnRaw; success: false }\n | { exitCode: number; raw: SpawnRaw; success: true }\n | { output: string; raw: SpawnRaw; success: true }\n | { plan: PlanJSON; raw: SpawnRaw; success: true };\n\nexport function buildArgs(commandName: string, options: BaseOptions = {}): string[] {\n const {\n beforeConfig = [],\n config = [],\n explain = false,\n files = [],\n fileScoped = false,\n noAutoConfig = false,\n tools = [],\n } = options;\n\n const args: string[] = [commandName];\n\n if (explain === true) {\n args.push(\"--explain\");\n } else if (explain) {\n args.push(`--explain=${explain}`);\n }\n\n if (fileScoped) {\n args.push(\"--file-scoped\");\n }\n\n if (tools.length > 0) {\n args.push(\"--tools\", tools.join(\",\"));\n }\n\n for (const c of config) {\n args.push(\"--config\", c);\n }\n\n for (const bc of beforeConfig) {\n args.push(\"--before-config\", bc);\n }\n\n if (noAutoConfig) {\n args.push(\"--no-auto-config\");\n }\n\n args.push(...files);\n\n return args;\n}\n\nexport function createToolCommand(\n commandName: string,\n): (options?: ToolCommandOptions) => Promise<ToolCommandResult> {\n return async function (options: ToolCommandOptions = {}): Promise<ToolCommandResult> {\n const { explain = false } = options;\n const args = buildArgs(commandName, options);\n const spawnOptions: { cwd?: string; stdio?: \"inherit\" | \"pipe\" } = {};\n if (options.cwd !== undefined) {\n spawnOptions.cwd = options.cwd;\n }\n if (options.stdio !== undefined) {\n spawnOptions.stdio = options.stdio;\n }\n const raw = await spawn(args, spawnOptions);\n\n if (raw.failed) {\n return {\n error: raw.stderr || raw.stdout,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n\n if (explain === \"json\") {\n try {\n const jsonStr = extractJSON(raw.stdout) || raw.stdout;\n const plan: PlanJSON = JSON.parse(jsonStr);\n return { plan, raw, success: true };\n } catch {\n return {\n error: `Failed to parse JSON output: ${raw.stdout}`,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n }\n\n if (explain) {\n return { output: raw.stdout, raw, success: true };\n }\n\n return { exitCode: raw.exitCode, raw, success: true };\n };\n}\n","import type { PlanJSON, SpawnRaw } from \"../types.js\";\n\nimport { extractAllJSON } from \"../json.js\";\nimport { spawn } from \"../spawn.js\";\nimport { buildArgs, createToolCommand, type ToolCommandOptions } from \"../tool-command.js\";\n\nexport type CheckOptions = ToolCommandOptions;\n\nexport type CheckResult =\n | { error: string; exitCode: number; raw: SpawnRaw; success: false }\n | { exitCode: number; raw: SpawnRaw; success: true }\n | { output: string; raw: SpawnRaw; success: true }\n | { plan: PlanJSON; plans: PlanJSON[]; raw: SpawnRaw; success: true };\n\nconst baseCheck = createToolCommand(\"check\");\n\nexport async function check(options: CheckOptions = {}): Promise<CheckResult> {\n if (options.explain !== \"json\") {\n return baseCheck(options) as Promise<CheckResult>;\n }\n\n const args = buildArgs(\"check\", options);\n const spawnOptions: { cwd?: string; stdio?: \"inherit\" | \"pipe\" } = {};\n if (options.cwd !== undefined) {\n spawnOptions.cwd = options.cwd;\n }\n if (options.stdio !== undefined) {\n spawnOptions.stdio = options.stdio;\n }\n const raw = await spawn(args, spawnOptions);\n\n if (raw.failed) {\n return {\n error: raw.stderr || raw.stdout,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n\n try {\n const jsonStrings = extractAllJSON(raw.stdout);\n if (jsonStrings.length === 0) {\n throw new Error(\"No JSON found\");\n }\n const plans: PlanJSON[] = jsonStrings.map((s) => JSON.parse(s));\n return { plan: plans[0]!, plans, raw, success: true };\n } catch {\n return {\n error: `Failed to parse JSON output: ${raw.stdout}`,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n}\n","import type { SpawnRaw } from \"../types.js\";\n\nimport { spawn } from \"../spawn.js\";\n\nexport interface ExecOptions {\n args?: string[];\n beforeConfig?: string[];\n config?: string[];\n cwd?: string;\n noAutoConfig?: boolean;\n stdio?: \"inherit\" | \"pipe\";\n}\n\nexport type ExecResult =\n | { error: string; exitCode: number; raw: SpawnRaw; success: false }\n | { exitCode: number; raw: SpawnRaw; stderr: string; stdout: string; success: true }\n | { raw: SpawnRaw; success: true; tools: ToolInfo[] };\n\nexport interface ToolInfo {\n details: string;\n name: string;\n type: string;\n}\n\nexport async function exec(appName?: string, options: ExecOptions = {}): Promise<ExecResult> {\n const spawnArgs = buildArgs(appName, options);\n const spawnOpts: { cwd?: string; stdio?: \"inherit\" | \"pipe\" } = {};\n if (options.cwd !== undefined) {\n spawnOpts.cwd = options.cwd;\n }\n if (options.stdio !== undefined) {\n spawnOpts.stdio = options.stdio;\n }\n const raw = await spawn(spawnArgs, spawnOpts);\n\n if (!appName) {\n if (raw.failed) {\n return {\n error: raw.stderr || raw.stdout,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n const tools = parseToolList(raw.stdout);\n return { raw, success: true, tools };\n }\n\n if (raw.failed) {\n return {\n error: raw.stderr || raw.stdout,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n\n return {\n exitCode: raw.exitCode,\n raw,\n stderr: raw.stderr,\n stdout: raw.stdout,\n success: true,\n };\n}\n\nconst ESC = String.fromCodePoint(0x1b);\nconst ANSI_PATTERN = new RegExp(`${ESC}\\\\[[0-9;]*m`, \"g\");\n\nexport function parseToolList(output: string): ToolInfo[] {\n if (!output || !output.trim()) {\n return [];\n }\n\n const tools: ToolInfo[] = [];\n let currentType: null | string = null;\n const typePattern = /^\\[(binary|uv|fnm|jvm|shell)\\]$/;\n const toolPattern = /^ {2}(\\S+)(?:\\s{2,}(.+))?$/;\n\n for (const line of output.split(\"\\n\").map((l) => l.replace(ANSI_PATTERN, \"\"))) {\n const typeMatch = line.match(typePattern);\n if (typeMatch?.[1]) {\n currentType = typeMatch[1];\n } else if (currentType) {\n const toolMatch = line.match(toolPattern);\n if (toolMatch?.[1]) {\n tools.push({\n details: toolMatch[2] || \"\",\n name: toolMatch[1],\n type: currentType,\n });\n }\n }\n }\n\n return tools;\n}\n\nfunction buildArgs(appName: string | undefined, options: ExecOptions = {}): string[] {\n const { args = [], beforeConfig = [], config = [], noAutoConfig = false } = options;\n\n const spawnArgs = [\"exec\"];\n\n for (const c of config) {\n spawnArgs.push(\"--config\", c);\n }\n\n for (const bc of beforeConfig) {\n spawnArgs.push(\"--before-config\", bc);\n }\n\n if (noAutoConfig) {\n spawnArgs.push(\"--no-auto-config\");\n }\n\n if (appName) {\n spawnArgs.push(appName, ...args);\n }\n\n return spawnArgs;\n}\n","import {\n createToolCommand,\n type ToolCommandOptions,\n type ToolCommandResult,\n} from \"../tool-command.js\";\n\nexport type FixOptions = ToolCommandOptions;\nexport type FixResult = ToolCommandResult;\n\nexport const fix = createToolCommand(\"fix\");\n","import {\n createToolCommand,\n type ToolCommandOptions,\n type ToolCommandResult,\n} from \"../tool-command.js\";\n\nexport type LintOptions = ToolCommandOptions;\nexport type LintResult = ToolCommandResult;\n\nexport const lint = createToolCommand(\"lint\");\n","import type { SpawnRaw } from \"../types.js\";\n\nimport { spawn } from \"../spawn.js\";\n\nexport type VersionResult =\n | { error: string; exitCode: number; raw: SpawnRaw; success: false }\n | { raw: SpawnRaw; success: true; version: string };\n\nexport async function version(): Promise<VersionResult> {\n const raw = await spawn([\"version\"]);\n\n if (raw.failed) {\n return {\n error: raw.stderr || raw.stdout,\n exitCode: raw.exitCode,\n raw,\n success: false,\n };\n }\n\n const output = raw.stdout.trim().split(\"\\n\")[0] ?? \"\";\n const versionStr = output.replace(/^.*version\\s+/, \"\");\n return {\n raw,\n success: true,\n version: versionStr,\n };\n}\n","import { cache } from \"./commands/cache.js\";\nimport { check } from \"./commands/check.js\";\nimport { exec } from \"./commands/exec.js\";\nimport { fix } from \"./commands/fix.js\";\nimport { lint } from \"./commands/lint.js\";\nimport { version } from \"./commands/version.js\";\n\nexport default { cache, check, exec, fix, lint, version };\nexport { cache } from \"./commands/cache.js\";\nexport type {\n CacheClearOptions,\n CacheClearResult,\n CachePathProjectOptions,\n CachePathResult,\n} from \"./commands/cache.js\";\nexport { check } from \"./commands/check.js\";\nexport type { CheckOptions, CheckResult } from \"./commands/check.js\";\nexport { exec, parseToolList } from \"./commands/exec.js\";\nexport type { ExecOptions, ExecResult, ToolInfo } from \"./commands/exec.js\";\nexport { fix } from \"./commands/fix.js\";\nexport type { FixOptions, FixResult } from \"./commands/fix.js\";\nexport { lint } from \"./commands/lint.js\";\nexport type { LintOptions, LintResult } from \"./commands/lint.js\";\nexport { version } from \"./commands/version.js\";\nexport type { VersionResult } from \"./commands/version.js\";\nexport type { GroupJSON, ParallelGroupJSON, PlanJSON, SpawnRaw, TaskJSON } from \"./types.js\";\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datamitsu/datamitsu",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "description": "Configuration management and binary distribution tool. JavaScript-configurable tool orchestration written in Go.",
5
5
  "keywords": [
6
6
  "datamitsu",
@@ -51,13 +51,13 @@
51
51
  "@shibanet0/datamitsu-config": "0.0.4"
52
52
  },
53
53
  "optionalDependencies": {
54
- "@datamitsu/datamitsu-darwin-arm64": "0.0.8",
55
- "@datamitsu/datamitsu-darwin-x64": "0.0.8",
56
- "@datamitsu/datamitsu-freebsd-arm64": "0.0.8",
57
- "@datamitsu/datamitsu-freebsd-x64": "0.0.8",
58
- "@datamitsu/datamitsu-linux-arm64": "0.0.8",
59
- "@datamitsu/datamitsu-linux-x64": "0.0.8",
60
- "@datamitsu/datamitsu-win32-arm64": "0.0.8",
61
- "@datamitsu/datamitsu-win32-x64": "0.0.8"
54
+ "@datamitsu/datamitsu-darwin-arm64": "0.0.10",
55
+ "@datamitsu/datamitsu-darwin-x64": "0.0.10",
56
+ "@datamitsu/datamitsu-freebsd-arm64": "0.0.10",
57
+ "@datamitsu/datamitsu-freebsd-x64": "0.0.10",
58
+ "@datamitsu/datamitsu-linux-arm64": "0.0.10",
59
+ "@datamitsu/datamitsu-linux-x64": "0.0.10",
60
+ "@datamitsu/datamitsu-win32-arm64": "0.0.10",
61
+ "@datamitsu/datamitsu-win32-x64": "0.0.10"
62
62
  }
63
63
  }