Commit 5171a90 for mammothjs
commit 5171a9072f8b7343ab1c9ed3a15d6d372cb59b67
Author: Michael Williamson <mike@zwobble.org>
Date: Fri Oct 16 08:32:08 2026 +0100
Update argparse to v3
diff --git a/bin/mammoth b/bin/mammoth
index a908d07..50f6ef6 100755
--- a/bin/mammoth
+++ b/bin/mammoth
@@ -4,35 +4,35 @@ var ArgumentParser = require("argparse").ArgumentParser;
var main = require("../lib/main");
var parser = new ArgumentParser({
- addHelp: true
+ add_help: true
});
-parser.addArgument(["docx-path"], {
- type: "string",
+parser.add_argument("docx-path", {
+ type: "str",
help: "Path to the .docx file to convert."
});
-var outputGroup = parser.addMutuallyExclusiveGroup();
-outputGroup.addArgument(["output-path"], {
- type: "string",
+var outputGroup = parser.add_mutually_exclusive_group();
+outputGroup.add_argument("output-path", {
+ type: "str",
nargs: "?",
help: "Output path for the generated document. Images will be stored inline in the output document. Output is written to stdout if not set."
});
-outputGroup.addArgument(["--output-dir"], {
- type: "string",
+outputGroup.add_argument("--output-dir", {
+ type: "str",
help: "Output directory for generated HTML and images. Images will be stored in separate files. Mutually exclusive with output-path."
});
-parser.addArgument(["--output-format"], {
- defaultValue: "html",
+parser.add_argument("--output-format", {
+ default: "html",
choices: ["html", "markdown"],
help: "Output format."
});
-parser.addArgument(["--style-map"], {
- type: "string",
+parser.add_argument("--style-map", {
+ type: "str",
help: "File containg a style map."
});
-main(parser.parseArgs());
+main(parser.parse_args());
diff --git a/package-lock.json b/package-lock.json
index 08ffc05..94f7483 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,16 +1,16 @@
{
"name": "mammoth",
- "version": "1.12.3",
+ "version": "1.13.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "mammoth",
- "version": "1.12.3",
+ "version": "1.13.0",
"license": "BSD-2-Clause",
"dependencies": {
"@xmldom/xmldom": "^0.8.6",
- "argparse": "~1.0.3",
+ "argparse": "^3.0.3",
"base64-js": "^1.5.1",
"dingbat-to-unicode": "^1.0.1",
"jszip": "^3.7.1",
@@ -167,12 +167,20 @@
}
},
"node_modules/argparse": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
- "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
- "dependencies": {
- "sprintf-js": "~1.0.2"
- }
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-3.0.3.tgz",
+ "integrity": "sha512-Sn98ftV3KfsO8xfLPHG6oT8y+b0yvbrLgZjgPDXsharNY15tTAjqIsIju4S32nl6/iEUNNE4v+yL2Zhm8ooP3w==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/puzrin"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/nodeca"
+ }
+ ],
+ "license": "PSF-2.0"
},
"node_modules/array-filter": {
"version": "0.0.1",
@@ -1664,6 +1672,16 @@
"js-yaml": "bin/js-yaml.js"
}
},
+ "node_modules/js-yaml/node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
"node_modules/json-stable-stringify": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz",
@@ -2623,7 +2641,9 @@
"node_modules/sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"node_modules/stream-browserify": {
"version": "2.0.1",
@@ -3225,12 +3245,9 @@
}
},
"argparse": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
- "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
- "requires": {
- "sprintf-js": "~1.0.2"
- }
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-3.0.3.tgz",
+ "integrity": "sha512-Sn98ftV3KfsO8xfLPHG6oT8y+b0yvbrLgZjgPDXsharNY15tTAjqIsIju4S32nl6/iEUNNE4v+yL2Zhm8ooP3w=="
},
"array-filter": {
"version": "0.0.1",
@@ -4530,6 +4547,17 @@
"requires": {
"argparse": "^1.0.7",
"esprima": "^3.1.1"
+ },
+ "dependencies": {
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ }
}
},
"json-stable-stringify": {
@@ -5335,7 +5363,8 @@
"sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "dev": true
},
"stream-browserify": {
"version": "2.0.1",
diff --git a/package.json b/package.json
index 54a97cf..6216691 100644
--- a/package.json
+++ b/package.json
@@ -18,7 +18,7 @@
},
"dependencies": {
"@xmldom/xmldom": "^0.8.6",
- "argparse": "~1.0.3",
+ "argparse": "^3.0.3",
"base64-js": "^1.5.1",
"dingbat-to-unicode": "^1.0.1",
"jszip": "^3.7.1",