exiftool-vendored 18.6.0 → 20.0.0
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/CHANGELOG.md +22 -0
- package/LICENSE +1 -1
- package/README.md +6 -5
- package/dist/BinaryExtractionTask.js +3 -1
- package/dist/BinaryExtractionTask.js.map +1 -1
- package/dist/BinaryToBufferTask.js +8 -1
- package/dist/BinaryToBufferTask.js.map +1 -1
- package/dist/DateTime.d.ts +1 -1
- package/dist/DateTime.js +1 -1
- package/dist/DateTime.js.map +1 -1
- package/dist/ExifDate.js +9 -9
- package/dist/ExifDate.js.map +1 -1
- package/dist/ExifDateTime.d.ts +16 -4
- package/dist/ExifDateTime.js +38 -26
- package/dist/ExifDateTime.js.map +1 -1
- package/dist/ExifTime.js +7 -7
- package/dist/ExifTime.js.map +1 -1
- package/dist/ExifTool.d.ts +12 -133
- package/dist/ExifTool.js +6 -11
- package/dist/ExifTool.js.map +1 -1
- package/dist/ExifToolOptions.d.ts +119 -0
- package/dist/ExifToolOptions.js +3 -0
- package/dist/ExifToolOptions.js.map +1 -0
- package/dist/ExifToolTask.js +3 -3
- package/dist/ExifToolTask.js.map +1 -1
- package/dist/FilenameCharsetArgs.d.ts +16 -0
- package/dist/FilenameCharsetArgs.js +23 -0
- package/dist/FilenameCharsetArgs.js.map +1 -0
- package/dist/IsWin32.d.ts +1 -0
- package/dist/IsWin32.js +30 -0
- package/dist/IsWin32.js.map +1 -0
- package/dist/Maybe.d.ts +2 -2
- package/dist/MaybeReadonly.d.ts +1 -1
- package/dist/Object.d.ts +1 -1
- package/dist/Omit.d.ts +1 -0
- package/dist/Omit.js +3 -0
- package/dist/Omit.js.map +1 -0
- package/dist/PreviewTag.d.ts +1 -1
- package/dist/ReadRawTask.js +8 -7
- package/dist/ReadRawTask.js.map +1 -1
- package/dist/ReadTask.d.ts +2 -2
- package/dist/ReadTask.js +7 -2
- package/dist/ReadTask.js.map +1 -1
- package/dist/RewriteAllTagsTask.js +3 -1
- package/dist/RewriteAllTagsTask.js.map +1 -1
- package/dist/Struct.d.ts +1 -1
- package/dist/Tags.d.ts +162 -158
- package/dist/WriteTask.d.ts +1 -1
- package/dist/WriteTask.js +13 -17
- package/dist/WriteTask.js.map +1 -1
- package/package.json +31 -22
package/dist/WriteTask.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export declare class WriteTask extends ExifToolTask<void> {
|
|
|
5
5
|
readonly sourceFile: string;
|
|
6
6
|
readonly args: string[];
|
|
7
7
|
private constructor();
|
|
8
|
-
static for(filename: string, tags: WriteTags,
|
|
8
|
+
static for(filename: string, tags: WriteTags, extraArgs?: string[]): Promise<WriteTask | ExifToolTask<void>>;
|
|
9
9
|
toString(): string;
|
|
10
10
|
protected parse(data: string, error: Error): void;
|
|
11
11
|
}
|
package/dist/WriteTask.js
CHANGED
|
@@ -31,23 +31,14 @@ const DateTime_1 = require("./DateTime");
|
|
|
31
31
|
const DeleteAllTagsArgs_1 = require("./DeleteAllTagsArgs");
|
|
32
32
|
const ExifToolTask_1 = require("./ExifToolTask");
|
|
33
33
|
const File_1 = require("./File");
|
|
34
|
+
const FilenameCharsetArgs_1 = require("./FilenameCharsetArgs");
|
|
34
35
|
const Number_1 = require("./Number");
|
|
35
36
|
const Object_1 = require("./Object");
|
|
36
37
|
const String_1 = require("./String");
|
|
37
38
|
const Struct_1 = require("./Struct");
|
|
38
39
|
const VersionTask_1 = require("./VersionTask");
|
|
39
40
|
const successRE = /1 image files? (?:created|updated)/i;
|
|
40
|
-
const sep = String.fromCharCode(31); // unit separator
|
|
41
|
-
// See https://exiftool.org/faq.html#Q10
|
|
42
|
-
// (`-charset utf8` is set by default)
|
|
43
|
-
const utfCharsetArgs = [
|
|
44
|
-
"-charset",
|
|
45
|
-
"filename=utf8",
|
|
46
|
-
"-codedcharacterset=utf8",
|
|
47
|
-
`-sep`,
|
|
48
|
-
`${sep}`,
|
|
49
|
-
"-E", // < html encoding https://exiftool.org/faq.html#Q10
|
|
50
|
-
];
|
|
41
|
+
const sep = String.fromCharCode(31); // < unit separator
|
|
51
42
|
// this is private because it's very special-purpose for just encoding ExifTool
|
|
52
43
|
// WriteTask args:
|
|
53
44
|
function htmlEncode(s) {
|
|
@@ -96,13 +87,18 @@ class WriteTask extends ExifToolTask_1.ExifToolTask {
|
|
|
96
87
|
this.sourceFile = sourceFile;
|
|
97
88
|
this.args = args;
|
|
98
89
|
}
|
|
99
|
-
static async for(filename, tags,
|
|
90
|
+
static async for(filename, tags, extraArgs = []) {
|
|
100
91
|
const sourceFile = _path.resolve(filename);
|
|
101
|
-
const args = [
|
|
92
|
+
const args = [
|
|
93
|
+
...FilenameCharsetArgs_1.Utf8FilenameCharsetArgs,
|
|
94
|
+
`-sep`,
|
|
95
|
+
`${sep}`,
|
|
96
|
+
"-E", // < html encoding https://exiftool.org/faq.html#Q10
|
|
97
|
+
];
|
|
102
98
|
// ExifTool complains "Nothing to write" if the task will only remove values
|
|
103
99
|
// and the file is missing.
|
|
104
|
-
if ((
|
|
105
|
-
(0, Array_1.shallowArrayEql)(
|
|
100
|
+
if ((extraArgs.length === 0 ||
|
|
101
|
+
(0, Array_1.shallowArrayEql)(extraArgs, DeleteAllTagsArgs_1.DeleteAllTagsArgs)) &&
|
|
106
102
|
Object.values(tags).every((ea) => ea == null) &&
|
|
107
103
|
(await (0, File_1.isFileEmpty)(filename))) {
|
|
108
104
|
// no-op!
|
|
@@ -112,9 +108,9 @@ class WriteTask extends ExifToolTask_1.ExifToolTask {
|
|
|
112
108
|
const val = tags[key];
|
|
113
109
|
args.push(`-${key}=${enc(val)}`);
|
|
114
110
|
}
|
|
115
|
-
|
|
111
|
+
args.push(...extraArgs);
|
|
116
112
|
args.push(sourceFile);
|
|
117
|
-
// console.log("new WriteTask()", { sourceFile, args, tags
|
|
113
|
+
// console.log("new WriteTask()", { sourceFile, args, tags })
|
|
118
114
|
return new WriteTask(sourceFile, args);
|
|
119
115
|
}
|
|
120
116
|
toString() {
|
package/dist/WriteTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WriteTask.js","sourceRoot":"","sources":["../src/WriteTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAA2B;AAC3B,4CAA6B;AAC7B,mCAAyC;AACzC,yCAAuD;AACvD,2DAAuD;AAEvD,iDAA6C;AAC7C,iCAAoC;
|
|
1
|
+
{"version":3,"file":"WriteTask.js","sourceRoot":"","sources":["../src/WriteTask.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "exiftool-vendored",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "20.0.0",
|
|
4
4
|
"description": "Efficient, cross-platform access to ExifTool",
|
|
5
5
|
"main": "./dist/ExifTool.js",
|
|
6
6
|
"types": "./dist/ExifTool.d.ts",
|
|
@@ -13,9 +13,12 @@
|
|
|
13
13
|
"clean": "rimraf lib dist coverage .nyc_output",
|
|
14
14
|
"precompile": "yarn clean",
|
|
15
15
|
"compile": "tsc",
|
|
16
|
+
"compile:watch": "yarn precompile && tsc --watch",
|
|
16
17
|
"premktags": "yarn compile",
|
|
17
18
|
"mktags": "node dist/update/mktags.js",
|
|
18
19
|
"lint": "yarn eslint src --ext .ts",
|
|
20
|
+
"organize-imports": "find src -maxdepth 3 -name \\*.ts | grep -v node_modules | xargs --verbose --max-args=64 --max-procs=8 npx organize-imports-cli",
|
|
21
|
+
"preprettier": "yarn organize-imports",
|
|
19
22
|
"prettier": "prettier --write src/*.ts src/**/*.ts",
|
|
20
23
|
"pretest": "run-p lint compile",
|
|
21
24
|
"test": "mocha 'dist/*.spec.js'",
|
|
@@ -30,6 +33,11 @@
|
|
|
30
33
|
"url": "https://github.com/photostructure/exiftool-vendored.js.git"
|
|
31
34
|
},
|
|
32
35
|
"release-it": {
|
|
36
|
+
"src": {
|
|
37
|
+
"tagName": "v%s",
|
|
38
|
+
"commitArgs": "-S",
|
|
39
|
+
"tagArgs": "-S"
|
|
40
|
+
},
|
|
33
41
|
"github": {
|
|
34
42
|
"release": true
|
|
35
43
|
}
|
|
@@ -63,51 +71,52 @@
|
|
|
63
71
|
"@types/chai": "^4.3.4",
|
|
64
72
|
"@types/chai-as-promised": "^7.1.5",
|
|
65
73
|
"@types/chai-subset": "^1.3.3",
|
|
66
|
-
"@types/fs-extra": "^
|
|
67
|
-
"@types/globule": "^1.1.
|
|
74
|
+
"@types/fs-extra": "^11.0.1",
|
|
75
|
+
"@types/globule": "^1.1.5",
|
|
68
76
|
"@types/he": "^1.1.2",
|
|
69
|
-
"@types/mocha": "^10.0.
|
|
70
|
-
"@types/node": "^18.11.
|
|
77
|
+
"@types/mocha": "^10.0.1",
|
|
78
|
+
"@types/node": "^18.11.18",
|
|
71
79
|
"@types/progress": "^2.0.5",
|
|
72
80
|
"@types/rimraf": "^3.0.2",
|
|
73
81
|
"@types/tar-fs": "^2.0.1",
|
|
74
82
|
"@types/tmp": "^0.2.3",
|
|
75
83
|
"@types/xmldom": "^0.1.31",
|
|
76
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
77
|
-
"@typescript-eslint/parser": "^5.
|
|
84
|
+
"@typescript-eslint/eslint-plugin": "^5.50.0",
|
|
85
|
+
"@typescript-eslint/parser": "^5.50.0",
|
|
78
86
|
"@xmldom/xmldom": "^0.8.6",
|
|
79
87
|
"chai": "^4.3.7",
|
|
80
88
|
"chai-as-promised": "^7.1.1",
|
|
81
89
|
"chai-subset": "^1.6.0",
|
|
82
|
-
"eslint": "^8.
|
|
83
|
-
"eslint-plugin-import": "^2.
|
|
90
|
+
"eslint": "^8.33.0",
|
|
91
|
+
"eslint-plugin-import": "^2.27.5",
|
|
84
92
|
"eslint-plugin-node": "^11.1.0",
|
|
85
93
|
"extract-zip": "^2.0.1",
|
|
86
|
-
"fs-extra": "^
|
|
87
|
-
"geo-tz": "^7.0.
|
|
94
|
+
"fs-extra": "^11.1.0",
|
|
95
|
+
"geo-tz": "^7.0.6",
|
|
88
96
|
"globule": "^1.3.4",
|
|
89
|
-
"mocha": "^10.
|
|
97
|
+
"mocha": "^10.2.0",
|
|
90
98
|
"npm-run-all": "^4.1.5",
|
|
91
|
-
"
|
|
99
|
+
"organize-imports-cli": "^0.10.0",
|
|
100
|
+
"prettier": "^2.8.3",
|
|
92
101
|
"progress": "^2.0.3",
|
|
93
|
-
"rimraf": "^
|
|
94
|
-
"serve": "^14.
|
|
102
|
+
"rimraf": "^4.1.2",
|
|
103
|
+
"serve": "^14.2.0",
|
|
95
104
|
"source-map-support": "^0.5.21",
|
|
96
105
|
"tmp": "^0.2.1",
|
|
97
|
-
"typedoc": "^0.23.
|
|
98
|
-
"typescript": "~4.
|
|
106
|
+
"typedoc": "^0.23.24",
|
|
107
|
+
"typescript": "~4.9.5",
|
|
99
108
|
"xpath": "^0.0.32"
|
|
100
109
|
},
|
|
101
110
|
"dependencies-note": "@types/luxon is not a devDependency, as our exported TypeScript typings reference luxon types. See <https://github.com/photostructure/exiftool-vendored.js/pull/108>",
|
|
102
111
|
"dependencies": {
|
|
103
112
|
"@photostructure/tz-lookup": "^7.0.0",
|
|
104
|
-
"@types/luxon": "^3.
|
|
105
|
-
"batch-cluster": "^
|
|
113
|
+
"@types/luxon": "^3.2.0",
|
|
114
|
+
"batch-cluster": "^12.0.0",
|
|
106
115
|
"he": "^1.2.0",
|
|
107
|
-
"luxon": "^3.1
|
|
116
|
+
"luxon": "^3.2.1"
|
|
108
117
|
},
|
|
109
118
|
"optionalDependencies": {
|
|
110
|
-
"exiftool-vendored.exe": "12.
|
|
111
|
-
"exiftool-vendored.pl": "12.
|
|
119
|
+
"exiftool-vendored.exe": "12.55.0",
|
|
120
|
+
"exiftool-vendored.pl": "12.55.0"
|
|
112
121
|
}
|
|
113
122
|
}
|