exiftool-vendored 16.1.0 → 16.4.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.
@@ -0,0 +1,13 @@
1
+ import { ExifDate } from "./ExifDate";
2
+ import { ExifDateTime } from "./ExifDateTime";
3
+ import { ResourceEvent } from "./ResourceEvent";
4
+ /**
5
+ * @see https://exiftool.org/TagNames/XMP.html#Version
6
+ */
7
+ export interface Version {
8
+ Comments?: string;
9
+ Event?: ResourceEvent;
10
+ Modifier?: string;
11
+ ModifyDate?: ExifDateTime | ExifDate | string;
12
+ Version?: string;
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Version.js","sourceRoot":"","sources":["../src/Version.ts"],"names":[],"mappings":""}
@@ -1,5 +1,6 @@
1
1
  import { WriteTags } from "./ExifTool";
2
2
  import { ExifToolTask } from "./ExifToolTask";
3
+ export declare function htmlEncode(s: string): string;
3
4
  export declare class WriteTask extends ExifToolTask<void> {
4
5
  readonly sourceFile: string;
5
6
  readonly args: string[];
package/dist/WriteTask.js CHANGED
@@ -23,7 +23,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.WriteTask = void 0;
26
+ exports.WriteTask = exports.htmlEncode = void 0;
27
+ const he_1 = require("he");
27
28
  const _path = __importStar(require("path"));
28
29
  const Array_1 = require("./Array");
29
30
  const DateTime_1 = require("./DateTime");
@@ -47,7 +48,17 @@ const utfCharsetArgs = [
47
48
  `${sep}`,
48
49
  "-E", // < html encoding https://exiftool.org/faq.html#Q10
49
50
  ];
50
- function enc(o) {
51
+ // this is private because it's very special-purpose for just encoding ExifTool
52
+ // WriteTask args:
53
+ function htmlEncode(s) {
54
+ return (
55
+ // allowUnsafeSymbols is true because ExifTool doesn't care about &, <, >, ", ', * and `
56
+ (0, he_1.encode)(s, { decimal: true, allowUnsafeSymbols: true })
57
+ // `he` doesn't encode whitespaces (like newlines), but we need that:
58
+ .replace(/\s/g, (m) => (m === " " ? " " : `&#${m.charCodeAt(0)};`)));
59
+ }
60
+ exports.htmlEncode = htmlEncode;
61
+ function enc(o, structValue = false) {
51
62
  if (o == null) {
52
63
  return "";
53
64
  }
@@ -55,7 +66,10 @@ function enc(o) {
55
66
  return String(o);
56
67
  }
57
68
  else if ((0, String_1.isString)(o)) {
58
- return (0, String_1.htmlEncode)(String(o));
69
+ // Structs need their own escaping here.
70
+ // See https://exiftool.org/struct.html#Serialize
71
+ return htmlEncode(structValue ? o.replace(/[,[\]{}|]/g, (ea) => "|" + ea) : o);
72
+ // const s = htmlEncode(String(o))
59
73
  }
60
74
  else if ((0, DateTime_1.isDateOrTime)(o)) {
61
75
  return (0, DateTime_1.toExifString)(o);
@@ -63,12 +77,13 @@ function enc(o) {
63
77
  else if (Array.isArray(o)) {
64
78
  const primitiveArray = o.every((ea) => (0, String_1.isString)(ea) || (0, Number_1.isNumber)(ea));
65
79
  return primitiveArray
66
- ? `${o.map(enc).join(sep)}`
67
- : `[${o.map(enc).join(",")}]`;
80
+ ? `${o.map((ea) => enc(ea)).join(sep)}`
81
+ : `[${o.map((ea) => enc(ea)).join(",")}]`;
68
82
  }
69
83
  else if ((0, Struct_1.isStruct)(o)) {
84
+ // See https://exiftool.org/struct.html#Serialize
70
85
  return `{${(0, Object_1.keys)(o)
71
- .map((k) => enc(k) + " = " + enc(o[k]))
86
+ .map((k) => enc(k, true) + "=" + enc(o[k], true))
72
87
  .join(",")}}`;
73
88
  }
74
89
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"WriteTask.js","sourceRoot":"","sources":["../src/WriteTask.ts"],"names":[],"mappings":"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"}
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": "16.1.0",
3
+ "version": "16.4.0",
4
4
  "description": "Efficient, cross-platform access to ExifTool",
5
5
  "main": "./dist/ExifTool.js",
6
6
  "types": "./dist/ExifTool.d.ts",
@@ -79,53 +79,53 @@
79
79
  ]
80
80
  },
81
81
  "devDependencies": {
82
- "@types/chai": "^4.3.0",
82
+ "@types/chai": "^4.3.1",
83
83
  "@types/chai-as-promised": "^7.1.5",
84
84
  "@types/chai-subset": "^1.3.3",
85
85
  "@types/fs-extra": "^9.0.13",
86
86
  "@types/globule": "^1.1.4",
87
87
  "@types/he": "^1.1.2",
88
88
  "@types/mocha": "^9.1.0",
89
- "@types/node": "^17.0.23",
89
+ "@types/node": "^17.0.25",
90
90
  "@types/progress": "^2.0.5",
91
91
  "@types/rimraf": "^3.0.2",
92
92
  "@types/tar-fs": "^2.0.1",
93
93
  "@types/tmp": "^0.2.3",
94
94
  "@types/xmldom": "^0.1.31",
95
- "@typescript-eslint/eslint-plugin": "^5.17.0",
96
- "@typescript-eslint/parser": "^5.17.0",
95
+ "@typescript-eslint/eslint-plugin": "^5.20.0",
96
+ "@typescript-eslint/parser": "^5.20.0",
97
97
  "chai": "^4.3.6",
98
98
  "chai-as-promised": "^7.1.1",
99
99
  "chai-subset": "^1.6.0",
100
- "eslint": "^8.12.0",
101
- "eslint-plugin-import": "^2.25.4",
100
+ "eslint": "^8.13.0",
101
+ "eslint-plugin-import": "^2.26.0",
102
102
  "eslint-plugin-node": "^11.1.0",
103
103
  "extract-zip": "^2.0.1",
104
- "fs-extra": "^10.0.1",
104
+ "fs-extra": "^10.1.0",
105
105
  "globule": "^1.3.3",
106
106
  "mocha": "^9.2.2",
107
107
  "npm-run-all": "^4.1.5",
108
- "prettier": "^2.6.1",
108
+ "prettier": "^2.6.2",
109
109
  "progress": "^2.0.3",
110
110
  "rimraf": "^3.0.2",
111
111
  "serve": "^13.0.2",
112
112
  "source-map-support": "^0.5.21",
113
113
  "tar-fs": "^2.1.1",
114
114
  "tmp": "^0.2.1",
115
- "typedoc": "^0.22.13",
115
+ "typedoc": "^0.22.15",
116
116
  "typescript": "~4.6.3",
117
- "@xmldom/xmldom": "^0.8.1",
117
+ "@xmldom/xmldom": "^0.8.2",
118
118
  "xpath": "^0.0.32"
119
119
  },
120
120
  "dependencies": {
121
121
  "@types/luxon": "^2.3.1",
122
- "batch-cluster": "^10.4.0",
122
+ "batch-cluster": "^10.4.1",
123
123
  "he": "^1.2.0",
124
- "luxon": "^2.3.1",
124
+ "luxon": "^2.3.2",
125
125
  "tz-lookup": "^6.1.25"
126
126
  },
127
127
  "optionalDependencies": {
128
- "exiftool-vendored.exe": "12.40.0",
129
- "exiftool-vendored.pl": "12.40.0"
128
+ "exiftool-vendored.exe": "12.41.0",
129
+ "exiftool-vendored.pl": "12.41.0"
130
130
  }
131
131
  }