Skip to content

Commit

Permalink
Merge branch 'main' of github.com:photostructure/exiftool-vendored.js
Browse files Browse the repository at this point in the history
  • Loading branch information
mceachen committed Jul 20, 2024
2 parents 7651ff0 + 87ebf75 commit eaf2f70
Show file tree
Hide file tree
Showing 41 changed files with 846 additions and 328 deletions.
6 changes: 4 additions & 2 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,17 @@ module.exports = {
"@typescript-eslint",
"eslint-plugin-import",
"eslint-plugin-node",
"regexp"
"regexp",
"redos"
],
extends: [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:eslint-plugin-import/recommended",
"plugin:node/recommended",
"plugin:regexp/recommended"
"plugin:regexp/recommended",
"plugin:redos/recommended"
],
parser: "@typescript-eslint/parser",
parserOptions: {
Expand Down
4 changes: 3 additions & 1 deletion .ncurc.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@
"reject": [
"chai",
"@types/chai",
"chai-why: v5.0 switched to ESM, and we're not ready for that yet",
"chai-as-promised",
"deep-eql",
"everything above switched to ESM. We're not ready for that.",
"eslint",
"eslint-why: they broke their own config format and now plugins seem to all be broken"
]
Expand Down
7 changes: 1 addition & 6 deletions .typedoc.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,6 @@ module.exports = {
exclude: ["**/update/*", "**/*test*", "**/*spec*"],
excludePrivate: true,
entryPoints: [
// "./src/ExifDate.ts",
// "./src/ExifDateTime.ts",
// "./src/ExifTime.ts",
"./src/ExifTool.ts",
// "./src/Tags.ts",
],
// entryPoints: ["./src"]
]
}
2 changes: 1 addition & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"--timeout",
"999999",
"--colors",
"${workspaceFolder}/dist/ReadTask.spec.js"
"${workspaceFolder}/dist/ExifToolOptions.spec.js"
],
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
Expand Down
21 changes: 18 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,21 @@ vendored versions of ExifTool match the version that they vendor.

## Version history

### v27.0.0

- 💔 `ExifToolOptions.struct` is now `"undef" | 0 | 1 | 2`. See
[#184](https://github.com/photostructure/exiftool-vendored.js/issues/184)

-`ExifToolOptions` now includes `readArgs` and `writeArgs`, which can be
specified both at `ExifTool` construction, as well as calls to `ExifTool.read`
and `ExifTool.write`. The prior method signatures are deprecated.

### v26.2.0

- ✨ Support for all ExifTool `struct` modes (fixes [#184](https://github.com/photostructure/exiftool-vendored.js/issues/184)). See [ExifToolOptions.struct](https://photostructure.github.io/exiftool-vendored.js/interfaces/ExifToolOptions.html#struct) for details.

- 📦 Fix documentation to reference ExifTool.read() (fixes [#183](https://github.com/photostructure/exiftool-vendored.js/issues/183))

### v26.1.0

- 🌱/✨/🐞 ExifTool upgraded to [v12.85](https://exiftool.org/history.html#12.85). Notably, this addresses [reversed HEIC orientation](https://exiftool.org/forum/index.php?topic=15240.msg86229#msg86229).
Expand Down Expand Up @@ -497,7 +512,7 @@ const exiftool = new ExifTool({
adjusted across daylight savings offset boundaries.

- 💔/🐞 Timezone application is now has been improved: if a timezone can be
extracted for a given file, `readTags` will now make all `ExifDateTime`
extracted for a given file, `ExifTool.read()` will now make all `ExifDateTime`
entries match that timezone. The timestamps should refer to the same
timestamp/seconds-from-common-epoch, but "local time" may be different as
we've adjusted the timezone accordingly.
Expand All @@ -512,7 +527,7 @@ const exiftool = new ExifTool({
prior versions could return `CreateDate: 2022-02-02 02:02:22-07:00`. This
version will translate that time into `CreateDate: 2022-02-02 11:02:22+01:00`.

Note that this fix results in `readTags` rendering different `ExifDateTime`
Note that this fix results in `ExifTool.read()` rendering different `ExifDateTime`
values from prior versions, so I bumped the major version to highlight this
change.

Expand All @@ -521,7 +536,7 @@ const exiftool = new ExifTool({
don't disappear or change types.

As a reminder, the `Tags` interface is only a subset of fields returned, due
to TypeScript limitations. `readTags` still returns all values that ExifTool
to TypeScript limitations. `ExifTool.read()` still returns all values that ExifTool
provides.

- 🐞 Fixed a bunch of broken API links in the README due to `typedoc` changing
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -442,14 +442,14 @@ reasonable for safety.
## Serialization
The `Tags` object returned by `.readTags()` can be serialized to JSON with `JSON.stringify`.
The `Tags` object returned by `ExifTool.read()` can be serialized to JSON with `JSON.stringify`.
To reconstitute, use the `parseJSON()` method.
```ts
import { exiftool, parseJSON } from "exiftool-vendored"

const tags: Tags = await exiftool.readTags("/path/to/file.jpg")
const tags: Tags = await exiftool.read("/path/to/file.jpg")
const str: string = JSON.stringify(tags)

// parseJSON doesn't validate the input, so we don't assert that it's a Tags
Expand Down
2 changes: 1 addition & 1 deletion docs/assets/navigation.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion docs/assets/search.js

Large diffs are not rendered by default.

Loading

0 comments on commit eaf2f70

Please sign in to comment.