exiftool-vendored 28.6.0 → 28.8.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 CHANGED
@@ -25,6 +25,20 @@ vendored versions of ExifTool match the version that they vendor.
25
25
 
26
26
  ## Version history
27
27
 
28
+ ### v28.8.0
29
+
30
+ **Important:** ExifTool versions use the format `NN.NN` and do not follow semantic versioning. The version from ExifTool will not parse correctly with the `semver` library (for the next 10 versions) since they are zero- padded.
31
+
32
+ - 🌱 Upgraded ExifTool to version [13.00](https://exiftool.org/history.html#13.00)
33
+
34
+ **Note:** ExifTool version numbers increment by 0.01 and do not follow semantic versioning conventions. The changes between version 12.99 and 13.00 are minor updates without any known breaking changes.
35
+
36
+ - 📦 Added Node.js v23 to the build matrix.
37
+
38
+ ### v28.7.0
39
+
40
+ - 🌱 ExifTool upgraded to version [12.99](https://exiftool.org/history.html#12.99)
41
+
28
42
  ### v28.6.0
29
43
 
30
44
  - 🌱 ExifTool upgraded to version [12.97](https://exiftool.org/history.html#12.97)
package/README.md CHANGED
@@ -11,10 +11,12 @@
11
11
 
12
12
  1. **Best-of-class cross-platform performance and reliability**.
13
13
 
14
- This is the module that [PhotoStructure](https://photostructure.com) (and [500+](https://github.com/photostructure/exiftool-vendored.js/network/dependents) other projects) use for photo and video metadata reading and writing.
14
+ This library enables [PhotoStructure](https://photostructure.com) and [500+](https://github.com/photostructure/exiftool-vendored.js/network/dependents?package_id=UGFja2FnZS0xNjYxNjY2MQ%3D%3D) other projects to read and write metadata in photos and videos.
15
15
 
16
16
  Expect [an order of magnitude faster performance](#performance) than other Node.js ExifTool modules.
17
17
 
18
+ Thanks to being based on [ExifTool](https://exiftool.org/), it's the state of the art in high quality metadata extraction for thousands of file types.
19
+
18
20
  1. Best-effort extraction of
19
21
 
20
22
  - **dates** with [correct timezone offset encoding](#dates)
package/dist/Tags.d.ts CHANGED
@@ -18,7 +18,7 @@ import { Version } from "./Version";
18
18
  export interface ExifToolTags {
19
19
  /** ☆☆☆☆ ✔ Example: "File is empty" */
20
20
  Error?: string;
21
- /** ★★★★ ✔ Example: 12.97 */
21
+ /** ★★★★ ✔ Example: 13 */
22
22
  ExifToolVersion?: number;
23
23
  /** ☆☆☆☆ Example: "path/to/file.jpg" */
24
24
  SourceFile?: string;
@@ -44,11 +44,11 @@ export interface FileTags {
44
44
  EncodingProcess?: string;
45
45
  /** ★★★★ ✔ Example: "Little-endian (Intel, II)" */
46
46
  ExifByteOrder?: string;
47
- /** ★★★★ ✔ Example: "2024:10:06 17:12:25-07:00" */
47
+ /** ★★★★ ✔ Example: "2024:10:29 12:25:32-07:00" */
48
48
  FileAccessDate?: ExifDateTime | string;
49
49
  /** ☆☆☆☆ Example: */
50
50
  FileCreateDate?: ExifDateTime | string;
51
- /** ★★★★ ✔ Example: "2024:10:06 13:56:21-07:00" */
51
+ /** ★★★★ ✔ Example: "2024:10:23 16:05:23-07:00" */
52
52
  FileInodeChangeDate?: ExifDateTime | string;
53
53
  /** ★★★★ ✔ Example: "2024:06:15 18:39:22-07:00" */
54
54
  FileModifyDate?: ExifDateTime | string;
@@ -156,7 +156,7 @@ export interface APPTags {
156
156
  DCTEncodeVersion?: number;
157
157
  /** ☆☆☆☆ ✔ Example: "Photo Global Settings" */
158
158
  DeviceName?: string;
159
- /** ☆☆☆☆ Example: "(Binary data 275008 bytes, use -b option to extract)" */
159
+ /** ☆☆☆☆ Example: "(Binary data 1998654 bytes, use -b option to extract)" */
160
160
  EmbeddedImage?: BinaryField | string;
161
161
  /** ☆☆☆☆ Example: 960 */
162
162
  EmbeddedImageHeight?: number;
@@ -298,7 +298,7 @@ export interface APPTags {
298
298
  R5100?: number;
299
299
  /** ☆☆☆☆ ✔ Example: "4_1SEC" */
300
300
  Rate?: string;
301
- /** ☆☆☆☆ Example: "(Binary data 614604 bytes, use -b option to extract)" */
301
+ /** ☆☆☆☆ Example: "(Binary data 655564 bytes, use -b option to extract)" */
302
302
  RawThermalImage?: BinaryField | string;
303
303
  /** ☆☆☆☆ Example: 90 */
304
304
  RawThermalImageHeight?: number;
@@ -427,7 +427,7 @@ export interface CompositeTags {
427
427
  OriginalDecisionData?: BinaryField | string;
428
428
  /** ☆☆☆☆ Example: "9.9 um" */
429
429
  PeakSpectralSensitivity?: string;
430
- /** ★★★☆ ✔ Example: "(Binary data 37244 bytes, use -b option to extract)" */
430
+ /** ★★★☆ ✔ Example: "(Binary data 315546 bytes, use -b option to extract)" */
431
431
  PreviewImage?: BinaryField;
432
432
  /** ★★☆☆ ✔ Example: 38.625 */
433
433
  RedBalance?: number;
@@ -462,7 +462,7 @@ export interface CompositeTags {
462
462
  * @see https://exiftool.org/TagNames/FlashPix.html
463
463
  */
464
464
  export interface FlashPixTags {
465
- /** ☆☆☆☆ Example: "(Binary data 20796 bytes, use -b option to extract)" */
465
+ /** ☆☆☆☆ Example: "(Binary data 18 bytes, use -b option to extract)" */
466
466
  AudioStream?: BinaryField | string;
467
467
  /** ☆☆☆☆ ✔ Example: "Unicode UTF-16, little endian" */
468
468
  CodePage?: string;
@@ -480,7 +480,7 @@ export interface FlashPixTags {
480
480
  ExtensionName?: string;
481
481
  /** ☆☆☆☆ ✔ Example: "Invalidated By Modification" */
482
482
  ExtensionPersistence?: string;
483
- /** ☆☆☆☆ ✔ Example: "(Binary data 46285 bytes, use -b option to extract)" */
483
+ /** ☆☆☆☆ ✔ Example: "(Binary data 57881 bytes, use -b option to extract)" */
484
484
  ScreenNail?: BinaryField | string;
485
485
  /** ☆☆☆☆ ✔ Example: 1 */
486
486
  UsedExtensionNumbers?: number;
@@ -691,6 +691,8 @@ export interface EXIFTags {
691
691
  HostComputer?: string;
692
692
  /** ★★★☆ ✔ Example: "untitled" */
693
693
  ImageDescription?: string;
694
+ /** ☆☆☆☆ Example: 0 */
695
+ ImageTitle?: number;
694
696
  /** ★★★★ ✔ Example: "Unknown ([None])" */
695
697
  InteropIndex?: string;
696
698
  /** ★★★★ ✔ Example: "undef undef undef" */
@@ -855,7 +857,7 @@ export interface EXIFTags {
855
857
  SubSecTimeDigitized?: number;
856
858
  /** ★☆☆☆ ✔ Example: 999 */
857
859
  SubSecTimeOriginal?: number;
858
- /** ★★★★ ✔ Example: "(Binary data 39781 bytes, use -b option to extract)" */
860
+ /** ★★★★ ✔ Example: "(Binary data 12652 bytes, use -b option to extract)" */
859
861
  ThumbnailImage?: BinaryField;
860
862
  /** ★★★★ ✔ Example: 9998 */
861
863
  ThumbnailLength?: number;
@@ -867,7 +869,7 @@ export interface EXIFTags {
867
869
  TileByteCounts?: BinaryField | string;
868
870
  /** ☆☆☆☆ ✔ Example: 512 */
869
871
  TileLength?: number;
870
- /** ☆☆☆☆ ✔ Example: "(Binary data 507 bytes, use -b option to extract)" */
872
+ /** ☆☆☆☆ ✔ Example: "(Binary data 508 bytes, use -b option to extract)" */
871
873
  TileOffsets?: BinaryField | string;
872
874
  /** ☆☆☆☆ ✔ Example: 512 */
873
875
  TileWidth?: number;
@@ -3451,7 +3453,7 @@ export interface MakerNotesTags {
3451
3453
  NEFBitDepth?: string;
3452
3454
  /** ☆☆☆☆ ✔ Example: "Uncompressed (reduced to 12 bit)" */
3453
3455
  NEFCompression?: string;
3454
- /** ☆☆☆☆ ✔ Example: "(Binary data 624 bytes, use -b option to extract)" */
3456
+ /** ☆☆☆☆ ✔ Example: "(Binary data 46 bytes, use -b option to extract)" */
3455
3457
  NEFLinearizationTable?: BinaryField | string;
3456
3458
  /** ☆☆☆☆ Example: "Off (Auto)" */
3457
3459
  NeutralDensityFilter?: string;
@@ -4355,8 +4357,6 @@ export interface MakerNotesTags {
4355
4357
  UserProfile?: string;
4356
4358
  /** ☆☆☆☆ ✔ Example: "Turns on after one-shot AF" */
4357
4359
  USMLensElectronicMF?: string;
4358
- /** ★☆☆☆ ✔ Example: 99 */
4359
- ValidAFPoints?: number;
4360
4360
  /** ☆☆☆☆ ✔ Example: "12 0" */
4361
4361
  ValidBits?: string;
4362
4362
  /** ☆☆☆☆ ✔ Example: "n/a" */
@@ -4564,7 +4564,7 @@ export interface XMPTags {
4564
4564
  CameraProfile?: string;
4565
4565
  /** ☆☆☆☆ ✔ Example: "D4FE5D91640D0C5A01B5633EB8061002" */
4566
4566
  CameraProfileDigest?: string;
4567
- /** ☆☆☆☆ ✔ Example: [{"Camera":{"DepthMap":{"ConfidenceURI":"android/confidencal"}}] */
4567
+ /** ☆☆☆☆ ✔ Example: [{"DepthMap":{"ConfidenceURI":"android/confidencemap","Deical"}] */
4568
4568
  Cameras?: Struct[];
4569
4569
  /** ☆☆☆☆ Example: "Rear" */
4570
4570
  CameraUnit?: string;
@@ -4604,7 +4604,7 @@ export interface XMPTags {
4604
4604
  ColorNoiseReductionSmoothness?: number;
4605
4605
  /** ☆☆☆☆ ✔ Example: "This is a comment." */
4606
4606
  Comment?: string;
4607
- /** ☆☆☆☆ ✔ Example: {"Directory":[{"Item":{"DataURI":"primary_image","Length"…eg"}}]} */
4607
+ /** ☆☆☆☆ ✔ Example: {"Directory":[{"DataURI":"primary_image","Length":0,"Mimepeg"}]} */
4608
4608
  Container?: Struct;
4609
4609
  /** ☆☆☆☆ Example: "/home/username/pictures" */
4610
4610
  ContainerDirectory?: ContainerDirectoryItem[] | Struct[];
@@ -4936,7 +4936,7 @@ export interface XMPTags {
4936
4936
  PreservedFileName?: string;
4937
4937
  /** ☆☆☆☆ ✔ Example: 11 */
4938
4938
  ProcessVersion?: number;
4939
- /** ☆☆☆☆ ✔ Example: [{"Profile":{"CameraIndices":[0],"Type":"DepthPhoto"}}] */
4939
+ /** ☆☆☆☆ ✔ Example: [{"CameraIndices":[0],"Type":"DepthPhoto"}] */
4940
4940
  Profiles?: Struct[];
4941
4941
  /** ☆☆☆☆ Example: */
4942
4942
  ProgramMode?: string;
@@ -5092,8 +5092,8 @@ export interface XMPTags {
5092
5092
  * - a checkmark if the tag is used by popular devices (like iPhones), and
5093
5093
  * - an example value, JSON stringified.
5094
5094
  *
5095
- * Autogenerated by "npm run mktags" by ExifTool 12.97 on Sun Oct 06 2024.
5096
- * 2752 unique tags were found in 10128 photo and video files.
5095
+ * Autogenerated by "npm run mktags" by ExifTool 13.00 on Tue Oct 29 2024.
5096
+ * 2753 unique tags were found in 10128 photo and video files.
5097
5097
  *
5098
5098
  * @see https://exiftool.org/TagNames/
5099
5099
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "exiftool-vendored",
3
- "version": "28.6.0",
3
+ "version": "28.8.0",
4
4
  "description": "Efficient, cross-platform access to ExifTool",
5
5
  "main": "./dist/ExifTool.js",
6
6
  "types": "./dist/ExifTool.d.ts",
@@ -77,14 +77,14 @@
77
77
  "@types/deep-eql": "^4.0.2",
78
78
  "@types/globule": "^1.1.9",
79
79
  "@types/he": "^1.2.3",
80
- "@types/mocha": "^10.0.8",
81
- "@types/node": "^22.7.4",
80
+ "@types/mocha": "^10.0.9",
81
+ "@types/node": "^22.8.4",
82
82
  "@types/progress": "^2.0.7",
83
83
  "@types/tmp": "^0.2.6",
84
84
  "@types/xmldom": "^0.1.34",
85
- "@typescript-eslint/eslint-plugin": "^8.8.0",
86
- "@typescript-eslint/parser": "^8.8.0",
87
- "@xmldom/xmldom": "^0.9.3",
85
+ "@typescript-eslint/eslint-plugin": "^8.12.2",
86
+ "@typescript-eslint/parser": "^8.12.2",
87
+ "@xmldom/xmldom": "^0.9.5",
88
88
  "chai": "^4.3.10",
89
89
  "chai-as-promised": "^7.1.2",
90
90
  "deep-eql": "^4.1.4",
@@ -94,20 +94,20 @@
94
94
  "eslint-plugin-redos": "^4.4.5",
95
95
  "eslint-plugin-regexp": "^2.6.0",
96
96
  "extract-zip": "^2.0.1",
97
- "geo-tz": "^8.1.1",
97
+ "geo-tz": "^8.1.2",
98
98
  "globule": "^1.3.4",
99
- "mocha": "^10.7.3",
100
- "npm-check-updates": "^17.1.3",
99
+ "mocha": "^10.8.0",
100
+ "npm-check-updates": "^17.1.9",
101
101
  "npm-run-all": "^4.1.5",
102
102
  "prettier": "^3.3.3",
103
103
  "prettier-plugin-organize-imports": "^4.1.0",
104
104
  "progress": "^2.0.3",
105
105
  "rimraf": "^5.0.9",
106
- "serve": "^14.2.3",
106
+ "serve": "^14.2.4",
107
107
  "source-map-support": "^0.5.21",
108
108
  "tmp": "^0.2.3",
109
- "typedoc": "^0.26.8",
110
- "typescript": "^5.6.2",
109
+ "typedoc": "^0.26.10",
110
+ "typescript": "^5.6.3",
111
111
  "xpath": "^0.0.34"
112
112
  },
113
113
  "dependencies-note": "@types/luxon is a proper dependency, not devDependency, as our exported TypeScript typings reference luxon types. See <https://github.com/photostructure/exiftool-vendored.js/pull/108>",
@@ -119,7 +119,7 @@
119
119
  "luxon": "^3.5.0"
120
120
  },
121
121
  "optionalDependencies": {
122
- "exiftool-vendored.exe": "12.97.0",
123
- "exiftool-vendored.pl": "12.97.0"
122
+ "exiftool-vendored.exe": "13.0.0",
123
+ "exiftool-vendored.pl": "13.0.1"
124
124
  }
125
125
  }