taglib-wasm 0.3.13 → 0.3.14
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/README.md +34 -17
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.ts +1 -1
- package/dist/src/simple.d.ts.map +1 -1
- package/dist/src/simple.ts +0 -1
- package/dist/taglib-wrapper.js +8 -2528
- package/index.ts +1 -1
- package/package.json +1 -1
- package/src/simple.ts +0 -1
package/README.md
CHANGED
|
@@ -14,17 +14,14 @@
|
|
|
14
14
|
[](https://www.electronjs.org/)
|
|
15
15
|
[]()
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
Node.js, Bun, Cloudflare Workers, Electron, and
|
|
19
|
-
|
|
17
|
+
TagLib-Wasm is the **universal tagging library for TypeScript/JavaScript**
|
|
18
|
+
(TS|JS) platforms: Deno, Node.js, Bun, Cloudflare Workers, Electron, and
|
|
19
|
+
browsers.
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
metadata to all popular audio formats. It aspires to be a universal solution for
|
|
26
|
-
all **TypeScript**-capable platforms — Deno, Node.js, Bun, Electron, Cloudflare
|
|
27
|
-
Workers, and browsers.
|
|
21
|
+
This project exists because the TS|JS ecosystem had no battle-tested audio
|
|
22
|
+
tagging library that supports reading and writing music metadata to all popular
|
|
23
|
+
audio formats. It aspires to be a universal solution for all TS|JS*-capable
|
|
24
|
+
platforms — Deno, Node.js, Bun, Electron, Cloudflare Workers, and browsers.
|
|
28
25
|
|
|
29
26
|
TagLib-Wasm stands on the shoulders of giants, including
|
|
30
27
|
[TagLib](https://taglib.org/) itself, [Emscripten](https://emscripten.org/), and
|
|
@@ -60,25 +57,44 @@ import { TagLib } from "npm:taglib-wasm";
|
|
|
60
57
|
npm install taglib-wasm
|
|
61
58
|
```
|
|
62
59
|
|
|
63
|
-
|
|
60
|
+
**Requirements:** Node.js v22.6.0 or higher
|
|
61
|
+
|
|
62
|
+
#### Using with TypeScript (.ts files)
|
|
63
|
+
|
|
64
|
+
Two options for TypeScript:
|
|
64
65
|
|
|
65
|
-
|
|
66
|
+
1. **Node's experimental TypeScript support**
|
|
66
67
|
|
|
67
68
|
```bash
|
|
68
69
|
# Node.js 22.6.0+ with experimental flag
|
|
69
70
|
node --experimental-strip-types your-script.ts
|
|
70
71
|
|
|
71
|
-
#
|
|
72
|
-
node your-script.ts
|
|
72
|
+
# Future versions may not need the flag
|
|
73
73
|
```
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
2. **TypeScript loader (recommended)**
|
|
76
76
|
|
|
77
77
|
```bash
|
|
78
78
|
npm install --save-dev tsx
|
|
79
79
|
npx tsx your-script.ts
|
|
80
80
|
```
|
|
81
81
|
|
|
82
|
+
#### Using with JavaScript (.js files)
|
|
83
|
+
|
|
84
|
+
```javascript
|
|
85
|
+
// Use the pre-compiled JavaScript version
|
|
86
|
+
import { TagLib } from "taglib-wasm";
|
|
87
|
+
import { applyTags, readTags } from "taglib-wasm/simple";
|
|
88
|
+
|
|
89
|
+
// Everything works the same as TypeScript
|
|
90
|
+
const taglib = await TagLib.initialize();
|
|
91
|
+
const tags = await readTags("song.mp3");
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
> **Note:** See our
|
|
95
|
+
> [full documentation](https://charleswiltgen.github.io/taglib-wasm/guide/installation.html)
|
|
96
|
+
> for details on Node.js experimental TypeScript support.
|
|
97
|
+
|
|
82
98
|
### Bun
|
|
83
99
|
|
|
84
100
|
```bash
|
|
@@ -106,7 +122,7 @@ const { TagLib } = require("taglib-wasm");
|
|
|
106
122
|
### Simple API (Recommended)
|
|
107
123
|
|
|
108
124
|
```typescript
|
|
109
|
-
import {
|
|
125
|
+
import { applyTags, readTags, updateTags } from "taglib-wasm/simple";
|
|
110
126
|
|
|
111
127
|
// Read tags - just one function call!
|
|
112
128
|
const tags = await readTags("song.mp3");
|
|
@@ -199,7 +215,8 @@ const modifiedBuffer = await setCoverArt("song.mp3", imageData, "image/jpeg");
|
|
|
199
215
|
- ✅ **.flac** – Vorbis comments and audio properties
|
|
200
216
|
- ✅ **.ogg** – Ogg Vorbis format with full metadata support
|
|
201
217
|
- ✅ **.wav** – INFO chunk metadata
|
|
202
|
-
- ✅ **Additional formats** – Opus, APE, MPC, WavPack, TrueAudio, AIFF, WMA, and
|
|
218
|
+
- ✅ **Additional formats** – Opus, APE, MPC, WavPack, TrueAudio, AIFF, WMA, and
|
|
219
|
+
more
|
|
203
220
|
|
|
204
221
|
## 🎯 Key Features
|
|
205
222
|
|
package/dist/index.d.ts
CHANGED
|
@@ -63,7 +63,7 @@ export { EnvironmentError, FileOperationError, InvalidFormatError, isEnvironment
|
|
|
63
63
|
* @see {@link getCoverArt} - Get primary cover art data
|
|
64
64
|
* @see {@link setCoverArt} - Set primary cover art
|
|
65
65
|
*/
|
|
66
|
-
export { addPicture, applyPictures, applyTags, clearPictures, clearTags, findPictureByType, getCoverArt, getFormat, getPictureMetadata, isValidAudioFile, readPictures, readProperties, readTags, replacePictureByType, setCoverArt, updateTags } from "./src/simple.ts";
|
|
66
|
+
export { addPicture, applyPictures, applyTags, clearPictures, clearTags, findPictureByType, getCoverArt, getFormat, getPictureMetadata, isValidAudioFile, readPictures, readProperties, readTags, replacePictureByType, setCoverArt, updateTags, } from "./src/simple.ts";
|
|
67
67
|
/**
|
|
68
68
|
* Constants and utilities for tag name validation.
|
|
69
69
|
* @see {@link Tags} - Standard tag name constants
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH;;;;;GAKG;AACH,OAAO,EACL,aAAa,IAAI,SAAS,EAC1B,YAAY,EACZ,MAAM,GACP,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;GAUG;AACH,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,aAAa,EACb,wBAAwB,EACxB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;GAWG;AACH,OAAO,EACL,UAAU,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,oBAAoB,EACpB,WAAW,EACX,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH;;;;;GAKG;AACH,OAAO,EACL,aAAa,IAAI,SAAS,EAC1B,YAAY,EACZ,MAAM,GACP,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;GAUG;AACH,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,aAAa,EACb,wBAAwB,EACxB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;GAWG;AACH,OAAO,EACL,UAAU,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,oBAAoB,EACpB,WAAW,EACX,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB;;;;;;GAMG;AACH,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,IAAI,GACL,MAAM,oBAAoB,CAAC;AAC5B;;;;;GAKG;AACH,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B;;;;;GAKG;AACH,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;GASG;AACH,YAAY,EACV,WAAW,EACX,eAAe,EACf,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,WAAW,EACX,GAAG,EACH,YAAY,EACZ,OAAO,GACR,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;GAIG;AACH,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC,CAO9D"}
|
package/dist/index.ts
CHANGED
package/dist/src/simple.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple.d.ts","sourceRoot":"","sources":["../../src/simple.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA4BzC;;;;;;;;;;;GAWG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,GAC7C,OAAO,CAAC,GAAG,CAAC,CAcd;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,EAC9C,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC,CAiCrB;
|
|
1
|
+
{"version":3,"file":"simple.d.ts","sourceRoot":"","sources":["../../src/simple.ts"],"names":[],"mappings":"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"}
|