@hagicode/hagiscript 0.2.7-dev.125.1.7b2cf36 → 0.2.7

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.
@@ -72,9 +72,12 @@ export async function assertTargetIsEmptyOrMissing(targetDirectory) {
72
72
  throw error;
73
73
  }
74
74
  }
75
- async function extractZip(archivePath, destination, _options) {
75
+ async function extractZip(archivePath, destination, options) {
76
76
  try {
77
- await extractZipArchive(archivePath, destination);
77
+ await extractZipArchive(archivePath, destination, {
78
+ platform: process.platform,
79
+ runCommand: options.runCommand
80
+ });
78
81
  }
79
82
  catch (error) {
80
83
  const zipError = error instanceof Error ? error : new Error(String(error));
@@ -1 +1 @@
1
- {"version":3,"file":"node-extract.js","sourceRoot":"","sources":["../../src/runtime/node-extract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-extract.js","sourceRoot":"","sources":["../../src/runtime/node-extract.ts"],"names":[],"mappings":"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"}
@@ -1 +1,6 @@
1
- export declare function extractZipArchive(archivePath: string, destination: string): Promise<void>;
1
+ import { type CommandRunner } from "./command-launch.js";
2
+ export interface ZipExtractionOptions {
3
+ platform?: NodeJS.Platform;
4
+ runCommand?: CommandRunner;
5
+ }
6
+ export declare function extractZipArchive(archivePath: string, destination: string, options?: ZipExtractionOptions): Promise<void>;
@@ -1,8 +1,90 @@
1
1
  import extractZip from "extract-zip";
2
2
  import { resolve } from "node:path";
3
- export async function extractZipArchive(archivePath, destination) {
4
- await extractZip(archivePath, {
5
- dir: resolve(destination)
6
- });
3
+ import { CommandExecutionError, runCommand } from "./command-launch.js";
4
+ const windowsTarCommands = ["tar.exe", "tar"];
5
+ const windowsPowerShellCommands = ["pwsh", "powershell.exe", "powershell"];
6
+ export async function extractZipArchive(archivePath, destination, options = {}) {
7
+ const platform = options.platform ?? process.platform;
8
+ const runner = options.runCommand ?? runCommand;
9
+ const resolvedDestination = resolve(destination);
10
+ const nativeFailures = [];
11
+ if (platform === "win32") {
12
+ const nativeResult = await tryExtractZipArchiveWithNativeTools(archivePath, resolvedDestination, runner);
13
+ if (nativeResult.success) {
14
+ return;
15
+ }
16
+ nativeFailures.push(...nativeResult.failures);
17
+ }
18
+ try {
19
+ await extractZip(archivePath, {
20
+ dir: resolvedDestination
21
+ });
22
+ }
23
+ catch (error) {
24
+ const archiveError = error instanceof Error ? error : new Error(String(error));
25
+ const nativeSummary = nativeFailures.length > 0
26
+ ? ` Native attempts: ${nativeFailures.join(" | ")}.`
27
+ : "";
28
+ throw new Error(`Failed to extract zip archive ${archivePath}: ${archiveError.message}.${nativeSummary}`);
29
+ }
30
+ }
31
+ async function tryExtractZipArchiveWithNativeTools(archivePath, destination, runner) {
32
+ const failures = [];
33
+ for (const command of windowsTarCommands) {
34
+ const result = await tryRunZipExtractionCommand(runner, command, [
35
+ "-xf",
36
+ archivePath,
37
+ "-C",
38
+ destination
39
+ ]);
40
+ if (result.success) {
41
+ return { success: true, failures };
42
+ }
43
+ failures.push(result.failure);
44
+ }
45
+ for (const command of windowsPowerShellCommands) {
46
+ const result = await tryRunZipExtractionCommand(runner, command, [
47
+ "-NoLogo",
48
+ "-NoProfile",
49
+ "-NonInteractive",
50
+ "-Command",
51
+ buildExpandArchiveCommand(archivePath, destination)
52
+ ]);
53
+ if (result.success) {
54
+ return { success: true, failures };
55
+ }
56
+ failures.push(result.failure);
57
+ }
58
+ return { success: false, failures };
59
+ }
60
+ async function tryRunZipExtractionCommand(runner, command, args) {
61
+ try {
62
+ await runner(command, args);
63
+ return { success: true };
64
+ }
65
+ catch (error) {
66
+ return {
67
+ success: false,
68
+ failure: formatCommandFailure(command, error)
69
+ };
70
+ }
71
+ }
72
+ function buildExpandArchiveCommand(archivePath, destination) {
73
+ const escapedArchivePath = escapePowerShellSingleQuotedString(archivePath);
74
+ const escapedDestination = escapePowerShellSingleQuotedString(destination);
75
+ return `Expand-Archive -LiteralPath '${escapedArchivePath}' -DestinationPath '${escapedDestination}' -Force`;
76
+ }
77
+ function escapePowerShellSingleQuotedString(value) {
78
+ return value.replaceAll("'", "''");
79
+ }
80
+ function formatCommandFailure(command, error) {
81
+ if (error instanceof CommandExecutionError) {
82
+ const details = error.context.stderr.trim() || error.context.stdout.trim() || error.message;
83
+ return `${command}: ${details}`;
84
+ }
85
+ if (error instanceof Error) {
86
+ return `${command}: ${error.message}`;
87
+ }
88
+ return `${command}: ${String(error)}`;
7
89
  }
8
90
  //# sourceMappingURL=zip-extract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zip-extract.js","sourceRoot":"","sources":["../../src/runtime/zip-extract.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,WAAmB,EACnB,WAAmB;IAEnB,MAAM,UAAU,CAAC,WAAW,EAAE;QAC5B,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;KAC1B,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"zip-extract.js","sourceRoot":"","sources":["../../src/runtime/zip-extract.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hagicode/hagiscript",
3
- "version": "0.2.7-dev.125.1.7b2cf36",
3
+ "version": "0.2.7",
4
4
  "description": "Scoped npm package foundation for Hagiscript language tooling.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/HagiCode-org/hagiscript#readme",
@@ -1,8 +1,134 @@
1
1
  import extractZip from "extract-zip"
2
- import path from "node:path"
2
+ import { resolve } from "node:path"
3
+ import { spawn } from "node:child_process"
4
+
5
+ const windowsTarCommands = ["tar.exe", "tar"]
6
+ const windowsPowerShellCommands = ["pwsh", "powershell.exe", "powershell"]
3
7
 
4
8
  export async function extractZipArchive(archivePath, destination) {
5
- await extractZip(archivePath, {
6
- dir: path.resolve(destination)
9
+ const resolvedDestination = resolve(destination)
10
+ const nativeFailures = []
11
+
12
+ if (process.platform === "win32") {
13
+ const nativeResult = await tryExtractZipArchiveWithNativeTools(
14
+ archivePath,
15
+ resolvedDestination
16
+ )
17
+ if (nativeResult.success) {
18
+ return
19
+ }
20
+
21
+ nativeFailures.push(...nativeResult.failures)
22
+ }
23
+
24
+ try {
25
+ await extractZip(archivePath, {
26
+ dir: resolvedDestination
27
+ })
28
+ } catch (error) {
29
+ const archiveError = error instanceof Error ? error : new Error(String(error))
30
+ const nativeSummary =
31
+ nativeFailures.length > 0
32
+ ? ` Native attempts: ${nativeFailures.join(" | ")}.`
33
+ : ""
34
+ throw new Error(
35
+ `Failed to extract zip archive ${archivePath}: ${archiveError.message}.${nativeSummary}`
36
+ )
37
+ }
38
+ }
39
+
40
+ async function tryExtractZipArchiveWithNativeTools(archivePath, destination) {
41
+ const failures = []
42
+
43
+ for (const command of windowsTarCommands) {
44
+ const result = await tryRunZipExtractionCommand(command, [
45
+ "-xf",
46
+ archivePath,
47
+ "-C",
48
+ destination
49
+ ])
50
+ if (result.success) {
51
+ return { success: true, failures }
52
+ }
53
+ failures.push(result.failure)
54
+ }
55
+
56
+ for (const command of windowsPowerShellCommands) {
57
+ const result = await tryRunZipExtractionCommand(command, [
58
+ "-NoLogo",
59
+ "-NoProfile",
60
+ "-NonInteractive",
61
+ "-Command",
62
+ buildExpandArchiveCommand(archivePath, destination)
63
+ ])
64
+ if (result.success) {
65
+ return { success: true, failures }
66
+ }
67
+ failures.push(result.failure)
68
+ }
69
+
70
+ return { success: false, failures }
71
+ }
72
+
73
+ async function tryRunZipExtractionCommand(command, args) {
74
+ try {
75
+ await runCommand(command, args)
76
+ return { success: true }
77
+ } catch (error) {
78
+ return {
79
+ success: false,
80
+ failure: formatCommandFailure(command, error)
81
+ }
82
+ }
83
+ }
84
+
85
+ function buildExpandArchiveCommand(archivePath, destination) {
86
+ const escapedArchivePath = escapePowerShellSingleQuotedString(archivePath)
87
+ const escapedDestination = escapePowerShellSingleQuotedString(destination)
88
+ return `Expand-Archive -LiteralPath '${escapedArchivePath}' -DestinationPath '${escapedDestination}' -Force`
89
+ }
90
+
91
+ function escapePowerShellSingleQuotedString(value) {
92
+ return String(value).replaceAll("'", "''")
93
+ }
94
+
95
+ function formatCommandFailure(command, error) {
96
+ if (error instanceof Error) {
97
+ return `${command}: ${error.message}`
98
+ }
99
+
100
+ return `${command}: ${String(error)}`
101
+ }
102
+
103
+ function runCommand(command, args) {
104
+ return new Promise((resolveCommand, rejectCommand) => {
105
+ const child = spawn(command, args, {
106
+ stdio: ["ignore", "pipe", "pipe"],
107
+ windowsHide: true
108
+ })
109
+ let stdout = ""
110
+ let stderr = ""
111
+
112
+ child.stdout.on("data", (chunk) => {
113
+ stdout += chunk.toString()
114
+ })
115
+ child.stderr.on("data", (chunk) => {
116
+ stderr += chunk.toString()
117
+ })
118
+ child.on("error", rejectCommand)
119
+ child.on("exit", (code, signal) => {
120
+ if (code === 0) {
121
+ resolveCommand({ stdout, stderr, code, signal })
122
+ return
123
+ }
124
+
125
+ rejectCommand(
126
+ new Error(
127
+ `${command} exited with code ${code ?? "unknown"}${
128
+ signal ? ` (signal=${signal})` : ""
129
+ }: ${(stderr || stdout).trim() || "unknown error"}`
130
+ )
131
+ )
132
+ })
7
133
  })
8
134
  }