@clazic/kordoc 2.7.2 → 2.7.4

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/cli.js CHANGED
@@ -5,11 +5,11 @@ import {
5
5
  markdownToHwpx,
6
6
  markdownToXlsx,
7
7
  parse
8
- } from "./chunk-OF2YI3AC.js";
8
+ } from "./chunk-EJZO6DUI.js";
9
9
  import {
10
10
  VERSION,
11
11
  toArrayBuffer
12
- } from "./chunk-WMQBWE6H.js";
12
+ } from "./chunk-CIR4TB4K.js";
13
13
  import "./chunk-MOL7MDBG.js";
14
14
  import "./chunk-S7BHLD2V.js";
15
15
  import "./chunk-YW5G6BCJ.js";
@@ -174,7 +174,7 @@ async function runParse(files, opts) {
174
174
  saveImages(absPath);
175
175
  }
176
176
  } catch (err) {
177
- const { sanitizeError } = await import("./utils-CJPB6YNH.js");
177
+ const { sanitizeError } = await import("./utils-LYW4Z2Z6.js");
178
178
  process.stderr.write(`
179
179
  [kordoc] ERROR: ${fileName} \u2014 ${sanitizeError(err)}
180
180
  `);
@@ -256,7 +256,7 @@ program.command("convert <input>").description("\uB9C8\uD06C\uB2E4\uC6B4 \uD30C\
256
256
  `));
257
257
  }
258
258
  } catch (err) {
259
- const { sanitizeError } = await import("./utils-CJPB6YNH.js");
259
+ const { sanitizeError } = await import("./utils-LYW4Z2Z6.js");
260
260
  process.stderr.write(` FAIL
261
261
  `);
262
262
  process.stderr.write(` \u2192 ${sanitizeError(err)}
@@ -337,7 +337,7 @@ program.command("convert-pdf <input>").description("HWP/HWPX \uD30C\uC77C\uC744
337
337
  `);
338
338
  }
339
339
  } catch (err) {
340
- const { sanitizeError } = await import("./utils-CJPB6YNH.js");
340
+ const { sanitizeError } = await import("./utils-LYW4Z2Z6.js");
341
341
  process.stderr.write(` FAIL
342
342
  `);
343
343
  process.stderr.write(` \u2192 ${sanitizeError(err)}
@@ -369,7 +369,7 @@ program.command("init-env").description("kordoc\uC6A9 .env \uD15C\uD50C\uB9BF \u
369
369
  }
370
370
  });
371
371
  program.command("watch <dir>").description("\uB514\uB809\uD1A0\uB9AC \uAC10\uC2DC \u2014 \uC0C8 \uBB38\uC11C \uC790\uB3D9 \uBCC0\uD658").option("--webhook <url>", "\uACB0\uACFC \uC804\uC1A1 \uC6F9\uD6C5 URL").option("-d, --out-dir <dir>", "\uBCC0\uD658 \uACB0\uACFC \uCD9C\uB825 \uB514\uB809\uD1A0\uB9AC").option("-p, --pages <range>", "\uD398\uC774\uC9C0/\uC139\uC158 \uBC94\uC704").option("--format <type>", "\uCD9C\uB825 \uD615\uC2DD: markdown \uB610\uB294 json", "markdown").option("--silent", "\uC9C4\uD589 \uBA54\uC2DC\uC9C0 \uC228\uAE30\uAE30").action(async (dir, opts) => {
372
- const { watchDirectory } = await import("./watch-MMYT64UO.js");
372
+ const { watchDirectory } = await import("./watch-CVSZKJE3.js");
373
373
  await watchDirectory({
374
374
  dir,
375
375
  outDir: opts.outDir,
package/dist/index.cjs CHANGED
@@ -3137,7 +3137,7 @@ var import_jszip2 = __toESM(require("jszip"), 1);
3137
3137
  var import_xmldom = require("@xmldom/xmldom");
3138
3138
 
3139
3139
  // src/utils.ts
3140
- var VERSION = true ? "2.7.2" : "0.0.0-dev";
3140
+ var VERSION = true ? "2.7.3" : "0.0.0-dev";
3141
3141
  function toArrayBuffer(buf) {
3142
3142
  if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {
3143
3143
  return buf.buffer;
@@ -11368,8 +11368,13 @@ async function installForPlatform(pkg, onProgress) {
11368
11368
  async function installMacOS(pkg, downloadPath) {
11369
11369
  const mountPoint = `/Volumes/LibreOffice_${Date.now()}`;
11370
11370
  await new Promise((resolve4, reject) => {
11371
- const child = (0, import_child_process4.spawn)("hdiutil", ["attach", "-nobrowse", "-mountpoint", mountPoint, downloadPath]);
11372
- child.on("close", (code) => code === 0 ? resolve4() : reject(new Error("dmg \uB9C8\uC6B4\uD2B8 \uC2E4\uD328")));
11371
+ const stderr = [];
11372
+ const child = (0, import_child_process4.spawn)("hdiutil", ["attach", "-nobrowse", "-noverify", "-mountpoint", mountPoint, downloadPath]);
11373
+ child.stderr?.on("data", (d) => stderr.push(d.toString()));
11374
+ child.on(
11375
+ "close",
11376
+ (code) => code === 0 ? resolve4() : reject(new Error(`dmg \uB9C8\uC6B4\uD2B8 \uC2E4\uD328 (code=${code}): ${stderr.join("").trim()}`))
11377
+ );
11373
11378
  });
11374
11379
  try {
11375
11380
  const appSource = (0, import_path5.join)(mountPoint, "LibreOffice.app");
@@ -11497,14 +11502,15 @@ async function resolveSoffice(emitter, autoInstall = true) {
11497
11502
 
11498
11503
  // src/convert/libreoffice.ts
11499
11504
  var libreConvert = import_libreoffice_convert.default.convert;
11500
- async function convertBuffer(buffer, targetExt, timeoutMs = 6e4) {
11505
+ var libreConvertWithOptions = import_libreoffice_convert.default.convertWithOptions;
11506
+ async function convertBuffer(buffer, targetExt, timeoutMs = 6e4, sofficePath) {
11501
11507
  return new Promise((resolve4, reject) => {
11502
11508
  const timer = setTimeout(() => {
11503
11509
  reject(
11504
11510
  new ConvertError("TIMEOUT", `\uBCC0\uD658 \uD0C0\uC784\uC544\uC6C3 (${timeoutMs}ms \uCD08\uACFC)`)
11505
11511
  );
11506
11512
  }, timeoutMs);
11507
- libreConvert(buffer, targetExt, void 0, (err, done) => {
11513
+ const cb = (err, done) => {
11508
11514
  clearTimeout(timer);
11509
11515
  if (err || !done) {
11510
11516
  reject(
@@ -11516,7 +11522,12 @@ async function convertBuffer(buffer, targetExt, timeoutMs = 6e4) {
11516
11522
  return;
11517
11523
  }
11518
11524
  resolve4(done);
11519
- });
11525
+ };
11526
+ if (sofficePath) {
11527
+ libreConvertWithOptions(buffer, targetExt, void 0, { sofficeBinaryPaths: [sofficePath] }, cb);
11528
+ } else {
11529
+ libreConvert(buffer, targetExt, void 0, cb);
11530
+ }
11520
11531
  });
11521
11532
  }
11522
11533
 
@@ -11672,7 +11683,7 @@ async function convertToPdf(input, options) {
11672
11683
  try {
11673
11684
  emitter.convertStart("\uBCC0\uD658 \uC2DC\uC791...");
11674
11685
  emitter.progress(10, "\uBCC0\uD658 \uC911...");
11675
- const pdf = await convertBuffer(buffer, ".pdf", options?.timeoutMs);
11686
+ const pdf = await convertBuffer(buffer, ".pdf", options?.timeoutMs, sofficePath);
11676
11687
  emitter.progress(100, "\uBCC0\uD658 \uC644\uB8CC");
11677
11688
  emitter.convertDone("\uBCC0\uD658 \uC644\uB8CC");
11678
11689
  const result = {
@@ -12025,16 +12036,18 @@ async function runUnifiedOcrPipeline(inputPath, options = {}) {
12025
12036
  }
12026
12037
  });
12027
12038
  }
12039
+ let resolvedSofficePath;
12028
12040
  if (options.sofficePath) {
12029
12041
  const sofficeDir = (0, import_path6.dirname)(options.sofficePath);
12030
12042
  process.env.PATH = `${sofficeDir}${import_path6.delimiter}${process.env.PATH ?? ""}`;
12031
12043
  convertEmitter.validate("soffice_found", "\uC9C1\uC811 \uC9C0\uC815\uB41C LibreOffice \uACBD\uB85C \uC0AC\uC6A9", { sofficePath: options.sofficePath });
12044
+ resolvedSofficePath = options.sofficePath;
12032
12045
  } else {
12033
- await resolveSoffice(convertEmitter, options.autoInstallLibreOffice ?? false);
12046
+ resolvedSofficePath = await resolveSoffice(convertEmitter, options.autoInstallLibreOffice ?? false);
12034
12047
  }
12035
12048
  workingPdfPath = (0, import_path6.join)(workspaceDir, `${stem}.pdf`);
12036
12049
  const inputBuffer = await (0, import_promises4.readFile)(absInput);
12037
- const out = await convertBuffer(inputBuffer, ".pdf");
12050
+ const out = await convertBuffer(inputBuffer, ".pdf", 5 * 6e4, resolvedSofficePath);
12038
12051
  await (0, import_promises4.writeFile)(workingPdfPath, out);
12039
12052
  }
12040
12053
  timingsMs.convert = elapsedMs(convertStart);