New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

exiftool-vendored

Package Overview
Dependencies
Maintainers
1
Versions
252
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

exiftool-vendored - npm Package Compare versions

Comparing version 23.3.0 to 23.4.0

11

CHANGELOG.md

@@ -29,2 +29,11 @@ # Changelog/Versioning

### v23.4.0
- 🌱 ExifTool upgraded to [v12.69](https://exiftool.org/history.html#v12.69)
- 📦 `ExifTool.read`: `ExifTime` now adopts the default zone extracted from
the file. **This may result in different values for timestamps.**
- 📦 Updated dependencies
### v23.3.0

@@ -60,3 +69,3 @@

- 📦 Upgrade all deps, but only `devDependencies` were impacted.
- 📦 Updated all dependencies, but only `devDependencies` were impacted.

@@ -63,0 +72,0 @@ ### v23.0.0

4

dist/ExifToolTask.js

@@ -38,3 +38,5 @@ "use strict";

if ((0, String_1.notBlank)(stderr) || !passed) {
const errMsg = (stderr !== null && stderr !== void 0 ? stderr : stdout).trim().replace(/error(:\s*|\b)/i, "");
const errMsg = (stderr !== null && stderr !== void 0 ? stderr : stdout)
.trim()
.replace(/error(?::\s*|\b)/i, "");
if (!this.isIgnorableError(errMsg)) {

@@ -41,0 +43,0 @@ this.errors.push(errMsg);

@@ -5,6 +5,6 @@ import { ExifToolTask } from "./ExifToolTask";

export declare const DefaultReadTaskOptions: {
readonly includeImageDataMD5: boolean | undefined;
readonly imageHashType: false | "MD5" | "SHA256" | "SHA512";
readonly useMWG: boolean;
readonly numericTags: string[];
readonly imageHashType: false | "MD5" | "SHA256" | "SHA512";
readonly includeImageDataMD5: boolean | undefined;
readonly defaultVideosToUTC: boolean;

@@ -11,0 +11,0 @@ readonly backfillTimezones: boolean;

@@ -287,3 +287,3 @@ "use strict";

// Time-only tags have "time" but not "date" in their name:
const keyIncludesTime = /time/i.test(tagName);
const keyIncludesTime = /subsec|time/i.test(tagName);
const keyIncludesDate = /date/i.test(tagName);

@@ -294,3 +294,3 @@ const keyIncludesWhen = /when/i.test(tagName); // < ResourceEvent.When

: undefined)) !== null && _a !== void 0 ? _a : (keyIncludesTime || keyIncludesWhen
? ExifTime_1.ExifTime.fromEXIF(value)
? ExifTime_1.ExifTime.fromEXIF(value, tz)
: undefined)) !== null && _b !== void 0 ? _b : (keyIncludesDate || keyIncludesWhen

@@ -297,0 +297,0 @@ ? ExifDate_1.ExifDate.from(value)

@@ -83,3 +83,2 @@ "use strict";

}
// export const localTzOffsetMinutes = lazy(() => DateTime.local().offset, hourMs)
const ValidOffsetMinutes = (0, Lazy_1.lazy)(() => new Set(ValidTimezoneOffsets.map(offsetToMinutes)));

@@ -153,3 +152,3 @@ /**

if (typeof z === "string") {
z = z.replace(/^(Zulu|Z|GMT)(\b|$)/, "UTC");
z = z.replace(/^(?:Zulu|Z|GMT)(?:\b|$)/, "UTC");
// Info.normalizeZone("") returns the system zone, which we never want.

@@ -267,3 +266,3 @@ // We also don't need to tease Info.normalizeZone with obviously

// or "Z"
!/[.\d\s](UTC|Z)$/.test(str)) {
!/[.\d\s](?:UTC|Z)$/.test(str)) {
str = str.replace(/\s[a-z]{2,5}$/i, "");

@@ -270,0 +269,0 @@ }

@@ -20,3 +20,3 @@ "use strict";

exports.VersionTask = VersionTask;
VersionTask.versionRegex = /^\d{1,3}\.\d{1,3}(\.\d{1,3}})?$/;
VersionTask.versionRegex = /^\d{1,3}\.\d{1,3}(?:\.\d{1,3})?$/;
//# sourceMappingURL=VersionTask.js.map
{
"name": "exiftool-vendored",
"version": "23.3.0",
"version": "23.4.0",
"description": "Efficient, cross-platform access to ExifTool",

@@ -70,14 +70,14 @@ "main": "./dist/ExifTool.js",

"devDependencies": {
"@types/chai": "^4.3.6",
"@types/chai-as-promised": "^7.1.6",
"@types/chai-subset": "^1.3.3",
"@types/globule": "^1.1.7",
"@types/he": "^1.2.1",
"@types/mocha": "^10.0.2",
"@types/node": "^20.8.2",
"@types/progress": "^2.0.5",
"@types/tmp": "^0.2.4",
"@types/xmldom": "^0.1.32",
"@typescript-eslint/eslint-plugin": "^6.7.4",
"@typescript-eslint/parser": "^6.7.4",
"@types/chai": "^4.3.9",
"@types/chai-as-promised": "^7.1.7",
"@types/chai-subset": "^1.3.4",
"@types/globule": "^1.1.8",
"@types/he": "^1.2.2",
"@types/mocha": "^10.0.3",
"@types/node": "^20.8.9",
"@types/progress": "^2.0.6",
"@types/tmp": "^0.2.5",
"@types/xmldom": "^0.1.33",
"@typescript-eslint/eslint-plugin": "^6.9.0",
"@typescript-eslint/parser": "^6.9.0",
"@xmldom/xmldom": "^0.8.10",

@@ -87,5 +87,6 @@ "chai": "^4.3.10",

"chai-subset": "^1.6.0",
"eslint": "^8.50.0",
"eslint-plugin-import": "^2.28.1",
"eslint": "^8.52.0",
"eslint-plugin-import": "^2.29.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-regexp": "^2.1.1",
"extract-zip": "^2.0.1",

@@ -95,3 +96,3 @@ "geo-tz": "^7.0.7",

"mocha": "^10.2.0",
"npm-check-updates": "^16.14.4",
"npm-check-updates": "^16.14.6",
"npm-run-all": "^4.1.5",

@@ -105,3 +106,3 @@ "prettier": "^3.0.3",

"tmp": "^0.2.1",
"typedoc": "^0.25.1",
"typedoc": "^0.25.2",
"typescript": "^5.2.2",

@@ -113,3 +114,3 @@ "xpath": "^0.0.33"

"@photostructure/tz-lookup": "^8.0.0",
"@types/luxon": "^3.3.2",
"@types/luxon": "^3.3.3",
"batch-cluster": "^12.1.0",

@@ -120,5 +121,5 @@ "he": "^1.2.0",

"optionalDependencies": {
"exiftool-vendored.exe": "12.67.0",
"exiftool-vendored.pl": "12.67.0"
"exiftool-vendored.exe": "12.69.0",
"exiftool-vendored.pl": "12.69.0"
}
}
# exiftool-vendored
**Fast, cross-platform [Node.js](https://nodejs.org/) access to [ExifTool](https://exiftool.org/).**
**Fast, cross-platform [Node.js](https://nodejs.org/) access to [ExifTool](https://exiftool.org/). Built and supported by [PhotoStructure](https://photostructure.com).**

@@ -14,7 +14,9 @@ [![npm version](https://img.shields.io/npm/v/exiftool-vendored.svg)](https://www.npmjs.com/package/exiftool-vendored)

_Expect [an order of magnitude faster performance](#performance) than other packages._
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.
1. Proper extraction of
Expect [an order of magnitude faster performance](#performance) than other Node.js ExifTool modules.
- **dates** with [correct timezone offset encoding, when available](#dates))
1. Best-effort extraction of
- **dates** with [correct timezone offset encoding](#dates)
- **latitudes & longitudes** as floats (where negative values indicate west or south of the meridian)

@@ -30,6 +32,6 @@

1. **[Robust type definitions](#tags)** of the top 99.5% tags used by over 6,000
different camera makes and models (see an [example](https://photostructure.github.io/exiftool-vendored.js/interfaces/EXIFTags.html))
different camera makes and models (see an [example](https://photostructure.github.io/exiftool-vendored.js/interfaces/EXIFTags.html#CreateDate))
1. **Automated updates** to ExifTool ([as new versions come out
monthly](https://exiftool.org/history.html))
frequently](https://exiftool.org/history.html))

@@ -47,12 +49,14 @@ 1. **Robust test coverage**, performed with on [macOS, Linux, and

Note that `exiftool-vendored` provides an installation of ExifTool relevant
for your local platform through
[optionalDependencies](https://docs.npmjs.com/files/package.json#optionaldependencies).
### Installation notes
You shouldn't include either the `exiftool-vendored.exe` or
`exiftool-vendored.pl` as direct dependencies to your project.
- `exiftool-vendored` provides an installation of ExifTool relevant for your
local platform through
[optionalDependencies](https://docs.npmjs.com/files/package.json#optionaldependencies).
If you're installing on a minimal Linux distribution, like
[Alpine](https://alpinelinux.org/), you may need to install `perl` (à la "`apk add perl`").
- You shouldn't include either the `exiftool-vendored.exe` or
`exiftool-vendored.pl` as direct dependencies to your project, unless you know
what you're doing.
- If you're installing on a minimal Linux distribution, you may need to install `perl`. On Alpine, run `apk add perl`.
## Upgrading

@@ -59,0 +63,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc