music-metadata 7.12.3 → 7.12.4

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.
Files changed (155) hide show
  1. package/LICENSE.txt +9 -9
  2. package/README.md +434 -434
  3. package/lib/ParserFactory.d.ts +48 -48
  4. package/lib/ParserFactory.js +252 -252
  5. package/lib/aiff/AiffParser.d.ts +14 -14
  6. package/lib/aiff/AiffParser.js +84 -84
  7. package/lib/aiff/AiffToken.d.ts +22 -22
  8. package/lib/aiff/AiffToken.js +43 -43
  9. package/lib/apev2/APEv2Parser.d.ts +30 -30
  10. package/lib/apev2/APEv2Parser.js +164 -164
  11. package/lib/apev2/APEv2TagMapper.d.ts +4 -4
  12. package/lib/apev2/APEv2TagMapper.js +86 -86
  13. package/lib/apev2/APEv2Token.d.ts +100 -100
  14. package/lib/apev2/APEv2Token.js +126 -126
  15. package/lib/asf/AsfObject.d.ts +319 -319
  16. package/lib/asf/AsfObject.js +381 -381
  17. package/lib/asf/AsfParser.d.ts +17 -17
  18. package/lib/asf/AsfParser.js +135 -135
  19. package/lib/asf/AsfTagMapper.d.ts +7 -7
  20. package/lib/asf/AsfTagMapper.js +95 -95
  21. package/lib/asf/AsfUtil.d.ts +13 -13
  22. package/lib/asf/AsfUtil.js +38 -38
  23. package/lib/asf/GUID.d.ts +84 -84
  24. package/lib/asf/GUID.js +121 -121
  25. package/lib/common/BasicParser.d.ts +17 -17
  26. package/lib/common/BasicParser.js +18 -18
  27. package/lib/common/CaseInsensitiveTagMap.d.ts +10 -10
  28. package/lib/common/CaseInsensitiveTagMap.js +21 -21
  29. package/lib/common/CombinedTagMapper.d.ts +19 -19
  30. package/lib/common/CombinedTagMapper.js +51 -51
  31. package/lib/common/FourCC.d.ts +6 -6
  32. package/lib/common/FourCC.js +28 -28
  33. package/lib/common/GenericTagMapper.d.ts +51 -51
  34. package/lib/common/GenericTagMapper.js +55 -55
  35. package/lib/common/GenericTagTypes.d.ts +33 -33
  36. package/lib/common/GenericTagTypes.js +131 -131
  37. package/lib/common/MetadataCollector.d.ts +76 -76
  38. package/lib/common/MetadataCollector.js +275 -275
  39. package/lib/common/RandomFileReader.d.ts +22 -22
  40. package/lib/common/RandomFileReader.js +34 -34
  41. package/lib/common/RandomUint8ArrayReader.d.ts +18 -18
  42. package/lib/common/RandomUint8ArrayReader.js +25 -25
  43. package/lib/common/Util.d.ts +57 -57
  44. package/lib/common/Util.js +157 -157
  45. package/lib/core.d.ts +48 -48
  46. package/lib/core.js +90 -90
  47. package/lib/dsdiff/DsdiffParser.d.ts +14 -14
  48. package/lib/dsdiff/DsdiffParser.js +143 -143
  49. package/lib/dsdiff/DsdiffToken.d.ts +9 -9
  50. package/lib/dsdiff/DsdiffToken.js +21 -21
  51. package/lib/dsf/DsfChunk.d.ts +86 -86
  52. package/lib/dsf/DsfChunk.js +54 -54
  53. package/lib/dsf/DsfParser.d.ts +9 -9
  54. package/lib/dsf/DsfParser.js +56 -56
  55. package/lib/flac/FlacParser.d.ts +28 -28
  56. package/lib/flac/FlacParser.js +175 -175
  57. package/lib/id3v1/ID3v1Parser.d.ts +13 -13
  58. package/lib/id3v1/ID3v1Parser.js +134 -134
  59. package/lib/id3v1/ID3v1TagMap.d.ts +4 -4
  60. package/lib/id3v1/ID3v1TagMap.js +22 -22
  61. package/lib/id3v2/AbstractID3Parser.d.ts +17 -17
  62. package/lib/id3v2/AbstractID3Parser.js +60 -60
  63. package/lib/id3v2/FrameParser.d.ts +31 -31
  64. package/lib/id3v2/FrameParser.js +329 -329
  65. package/lib/id3v2/ID3v22TagMapper.d.ts +9 -9
  66. package/lib/id3v2/ID3v22TagMapper.js +55 -55
  67. package/lib/id3v2/ID3v24TagMapper.d.ts +14 -14
  68. package/lib/id3v2/ID3v24TagMapper.js +193 -193
  69. package/lib/id3v2/ID3v2Parser.d.ts +28 -28
  70. package/lib/id3v2/ID3v2Parser.js +182 -182
  71. package/lib/id3v2/ID3v2Token.d.ts +73 -73
  72. package/lib/id3v2/ID3v2Token.js +106 -106
  73. package/lib/iff/index.d.ts +33 -33
  74. package/lib/iff/index.js +19 -19
  75. package/lib/index.d.ts +45 -45
  76. package/lib/index.js +74 -74
  77. package/lib/lyrics3/Lyrics3.d.ts +3 -3
  78. package/lib/lyrics3/Lyrics3.js +17 -17
  79. package/lib/matroska/MatroskaDtd.d.ts +8 -8
  80. package/lib/matroska/MatroskaDtd.js +279 -279
  81. package/lib/matroska/MatroskaParser.d.ts +37 -37
  82. package/lib/matroska/MatroskaParser.js +235 -235
  83. package/lib/matroska/MatroskaTagMapper.d.ts +4 -4
  84. package/lib/matroska/MatroskaTagMapper.js +35 -35
  85. package/lib/matroska/types.d.ts +175 -175
  86. package/lib/matroska/types.js +32 -32
  87. package/lib/mp4/Atom.d.ts +16 -16
  88. package/lib/mp4/Atom.js +70 -70
  89. package/lib/mp4/AtomToken.d.ts +395 -395
  90. package/lib/mp4/AtomToken.js +406 -406
  91. package/lib/mp4/MP4Parser.d.ts +30 -30
  92. package/lib/mp4/MP4Parser.js +511 -511
  93. package/lib/mp4/MP4TagMapper.d.ts +5 -5
  94. package/lib/mp4/MP4TagMapper.js +115 -115
  95. package/lib/mpeg/ExtendedLameHeader.d.ts +27 -27
  96. package/lib/mpeg/ExtendedLameHeader.js +31 -31
  97. package/lib/mpeg/MpegParser.d.ts +49 -49
  98. package/lib/mpeg/MpegParser.js +524 -524
  99. package/lib/mpeg/ReplayGainDataFormat.d.ts +55 -55
  100. package/lib/mpeg/ReplayGainDataFormat.js +69 -69
  101. package/lib/mpeg/XingTag.d.ts +45 -45
  102. package/lib/mpeg/XingTag.js +69 -69
  103. package/lib/musepack/index.d.ts +5 -5
  104. package/lib/musepack/index.js +32 -32
  105. package/lib/musepack/sv7/BitReader.d.ts +13 -13
  106. package/lib/musepack/sv7/BitReader.js +54 -54
  107. package/lib/musepack/sv7/MpcSv7Parser.d.ts +8 -8
  108. package/lib/musepack/sv7/MpcSv7Parser.js +46 -46
  109. package/lib/musepack/sv7/StreamVersion7.d.ts +28 -28
  110. package/lib/musepack/sv7/StreamVersion7.js +41 -41
  111. package/lib/musepack/sv8/MpcSv8Parser.d.ts +6 -6
  112. package/lib/musepack/sv8/MpcSv8Parser.js +55 -55
  113. package/lib/musepack/sv8/StreamVersion8.d.ts +40 -40
  114. package/lib/musepack/sv8/StreamVersion8.js +80 -80
  115. package/lib/ogg/Ogg.d.ts +72 -72
  116. package/lib/ogg/Ogg.js +2 -2
  117. package/lib/ogg/OggParser.d.ts +23 -23
  118. package/lib/ogg/OggParser.js +126 -126
  119. package/lib/ogg/opus/Opus.d.ts +48 -48
  120. package/lib/ogg/opus/Opus.js +28 -28
  121. package/lib/ogg/opus/OpusParser.d.ts +25 -25
  122. package/lib/ogg/opus/OpusParser.js +56 -56
  123. package/lib/ogg/speex/Speex.d.ts +36 -36
  124. package/lib/ogg/speex/Speex.js +31 -31
  125. package/lib/ogg/speex/SpeexParser.d.ts +22 -22
  126. package/lib/ogg/speex/SpeexParser.js +35 -35
  127. package/lib/ogg/theora/Theora.d.ts +20 -20
  128. package/lib/ogg/theora/Theora.js +23 -23
  129. package/lib/ogg/theora/TheoraParser.d.ts +28 -28
  130. package/lib/ogg/theora/TheoraParser.js +44 -44
  131. package/lib/ogg/vorbis/Vorbis.d.ts +69 -69
  132. package/lib/ogg/vorbis/Vorbis.js +78 -78
  133. package/lib/ogg/vorbis/VorbisDecoder.d.ts +12 -12
  134. package/lib/ogg/vorbis/VorbisDecoder.js +32 -32
  135. package/lib/ogg/vorbis/VorbisParser.d.ts +36 -36
  136. package/lib/ogg/vorbis/VorbisParser.js +128 -128
  137. package/lib/ogg/vorbis/VorbisTagMapper.d.ts +7 -7
  138. package/lib/ogg/vorbis/VorbisTagMapper.js +132 -132
  139. package/lib/riff/RiffChunk.d.ts +16 -16
  140. package/lib/riff/RiffChunk.js +32 -32
  141. package/lib/riff/RiffInfoTagMap.d.ts +10 -10
  142. package/lib/riff/RiffInfoTagMap.js +37 -37
  143. package/lib/type.d.ts +592 -592
  144. package/lib/type.js +5 -5
  145. package/lib/wav/BwfChunk.d.ts +17 -17
  146. package/lib/wav/BwfChunk.js +29 -28
  147. package/lib/wav/WaveChunk.d.ts +64 -64
  148. package/lib/wav/WaveChunk.js +65 -65
  149. package/lib/wav/WaveParser.d.ts +24 -24
  150. package/lib/wav/WaveParser.js +158 -156
  151. package/lib/wavpack/WavPackParser.d.ts +14 -14
  152. package/lib/wavpack/WavPackParser.js +99 -99
  153. package/lib/wavpack/WavPackToken.d.ts +64 -64
  154. package/lib/wavpack/WavPackToken.js +76 -76
  155. package/package.json +150 -150
@@ -1,64 +1,64 @@
1
- import { IGetToken } from 'strtok3/lib/core';
2
- /**
3
- * WavPack Block Header
4
- *
5
- * 32-byte little-endian header at the front of every WavPack block
6
- *
7
- * Ref:
8
- * - http://www.wavpack.com/WavPack5FileFormat.pdf (page 2/6: 2.0 "Block Header")
9
- */
10
- export interface IBlockHeader {
11
- BlockID: string;
12
- blockSize: number;
13
- version: number;
14
- blockIndex: number;
15
- totalSamples: number;
16
- blockSamples: number;
17
- flags: {
18
- bitsPerSample: number;
19
- isMono: boolean;
20
- isHybrid: boolean;
21
- isJointStereo: boolean;
22
- crossChannel: boolean;
23
- hybridNoiseShaping: boolean;
24
- floatingPoint: boolean;
25
- samplingRate: number;
26
- isDSD: boolean;
27
- };
28
- crc: Uint8Array;
29
- }
30
- export interface IMetadataId {
31
- /**
32
- * metadata function id
33
- */
34
- functionId: number;
35
- /**
36
- * If true, audio-decoder does not need to understand the metadata field
37
- */
38
- isOptional: boolean;
39
- /**
40
- * actual data byte length is 1 less
41
- */
42
- isOddSize: boolean;
43
- /**
44
- * large block (> 255 words)
45
- */
46
- largeBlock: boolean;
47
- }
48
- export declare class WavPack {
49
- /**
50
- * WavPack Block Header
51
- *
52
- * 32-byte little-endian header at the front of every WavPack block
53
- *
54
- * Ref: http://www.wavpack.com/WavPack5FileFormat.pdf (page 2/6: 2.0 "Block Header")
55
- */
56
- static BlockHeaderToken: IGetToken<IBlockHeader>;
57
- /**
58
- * 3.0 Metadata Sub-Blocks
59
- * Ref: http://www.wavpack.com/WavPack5FileFormat.pdf (page 4/6: 3.0 "Metadata Sub-Block")
60
- */
61
- static MetadataIdToken: IGetToken<IMetadataId>;
62
- private static isBitSet;
63
- private static getBitAllignedNumber;
64
- }
1
+ import { IGetToken } from 'strtok3/lib/core';
2
+ /**
3
+ * WavPack Block Header
4
+ *
5
+ * 32-byte little-endian header at the front of every WavPack block
6
+ *
7
+ * Ref:
8
+ * - http://www.wavpack.com/WavPack5FileFormat.pdf (page 2/6: 2.0 "Block Header")
9
+ */
10
+ export interface IBlockHeader {
11
+ BlockID: string;
12
+ blockSize: number;
13
+ version: number;
14
+ blockIndex: number;
15
+ totalSamples: number;
16
+ blockSamples: number;
17
+ flags: {
18
+ bitsPerSample: number;
19
+ isMono: boolean;
20
+ isHybrid: boolean;
21
+ isJointStereo: boolean;
22
+ crossChannel: boolean;
23
+ hybridNoiseShaping: boolean;
24
+ floatingPoint: boolean;
25
+ samplingRate: number;
26
+ isDSD: boolean;
27
+ };
28
+ crc: Uint8Array;
29
+ }
30
+ export interface IMetadataId {
31
+ /**
32
+ * metadata function id
33
+ */
34
+ functionId: number;
35
+ /**
36
+ * If true, audio-decoder does not need to understand the metadata field
37
+ */
38
+ isOptional: boolean;
39
+ /**
40
+ * actual data byte length is 1 less
41
+ */
42
+ isOddSize: boolean;
43
+ /**
44
+ * large block (> 255 words)
45
+ */
46
+ largeBlock: boolean;
47
+ }
48
+ export declare class WavPack {
49
+ /**
50
+ * WavPack Block Header
51
+ *
52
+ * 32-byte little-endian header at the front of every WavPack block
53
+ *
54
+ * Ref: http://www.wavpack.com/WavPack5FileFormat.pdf (page 2/6: 2.0 "Block Header")
55
+ */
56
+ static BlockHeaderToken: IGetToken<IBlockHeader>;
57
+ /**
58
+ * 3.0 Metadata Sub-Blocks
59
+ * Ref: http://www.wavpack.com/WavPack5FileFormat.pdf (page 4/6: 3.0 "Metadata Sub-Block")
60
+ */
61
+ static MetadataIdToken: IGetToken<IMetadataId>;
62
+ private static isBitSet;
63
+ private static getBitAllignedNumber;
64
+ }
@@ -1,76 +1,76 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WavPack = void 0;
4
- const Token = require("token-types");
5
- const FourCC_1 = require("../common/FourCC");
6
- const SampleRates = [6000, 8000, 9600, 11025, 12000, 16000, 22050, 24000, 32000, 44100,
7
- 48000, 64000, 88200, 96000, 192000, -1];
8
- class WavPack {
9
- static isBitSet(flags, bitOffset) {
10
- return WavPack.getBitAllignedNumber(flags, bitOffset, 1) === 1;
11
- }
12
- static getBitAllignedNumber(flags, bitOffset, len) {
13
- return (flags >>> bitOffset) & (0xffffffff >>> (32 - len));
14
- }
15
- }
16
- exports.WavPack = WavPack;
17
- /**
18
- * WavPack Block Header
19
- *
20
- * 32-byte little-endian header at the front of every WavPack block
21
- *
22
- * Ref: http://www.wavpack.com/WavPack5FileFormat.pdf (page 2/6: 2.0 "Block Header")
23
- */
24
- WavPack.BlockHeaderToken = {
25
- len: 32,
26
- get: (buf, off) => {
27
- const flags = Token.UINT32_LE.get(buf, off + 24);
28
- const res = {
29
- // should equal 'wvpk'
30
- BlockID: FourCC_1.FourCcToken.get(buf, off),
31
- // 0x402 to 0x410 are valid for decode
32
- blockSize: Token.UINT32_LE.get(buf, off + 4),
33
- // 0x402 (1026) to 0x410 are valid for decode
34
- version: Token.UINT16_LE.get(buf, off + 8),
35
- // 40-bit total samples for entire file (if block_index == 0 and a value of -1 indicates an unknown length)
36
- totalSamples: /* replace with bigint? (Token.UINT8.get(buf, off + 11) << 32) + */ Token.UINT32_LE.get(buf, off + 12),
37
- // 40-bit block_index
38
- blockIndex: /* replace with bigint? (Token.UINT8.get(buf, off + 10) << 32) + */ Token.UINT32_LE.get(buf, off + 16),
39
- // 40-bit total samples for entire file (if block_index == 0 and a value of -1 indicates an unknown length)
40
- blockSamples: Token.UINT32_LE.get(buf, off + 20),
41
- // various flags for id and decoding
42
- flags: {
43
- bitsPerSample: (1 + WavPack.getBitAllignedNumber(flags, 0, 2)) * 8,
44
- isMono: WavPack.isBitSet(flags, 2),
45
- isHybrid: WavPack.isBitSet(flags, 3),
46
- isJointStereo: WavPack.isBitSet(flags, 4),
47
- crossChannel: WavPack.isBitSet(flags, 5),
48
- hybridNoiseShaping: WavPack.isBitSet(flags, 6),
49
- floatingPoint: WavPack.isBitSet(flags, 7),
50
- samplingRate: SampleRates[WavPack.getBitAllignedNumber(flags, 23, 4)],
51
- isDSD: WavPack.isBitSet(flags, 31)
52
- },
53
- // crc for actual decoded data
54
- crc: new Token.Uint8ArrayType(4).get(buf, off + 28)
55
- };
56
- if (res.flags.isDSD) {
57
- res.totalSamples *= 8;
58
- }
59
- return res;
60
- }
61
- };
62
- /**
63
- * 3.0 Metadata Sub-Blocks
64
- * Ref: http://www.wavpack.com/WavPack5FileFormat.pdf (page 4/6: 3.0 "Metadata Sub-Block")
65
- */
66
- WavPack.MetadataIdToken = {
67
- len: 1,
68
- get: (buf, off) => {
69
- return {
70
- functionId: WavPack.getBitAllignedNumber(buf[off], 0, 6),
71
- isOptional: WavPack.isBitSet(buf[off], 5),
72
- isOddSize: WavPack.isBitSet(buf[off], 6),
73
- largeBlock: WavPack.isBitSet(buf[off], 7)
74
- };
75
- }
76
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WavPack = void 0;
4
+ const Token = require("token-types");
5
+ const FourCC_1 = require("../common/FourCC");
6
+ const SampleRates = [6000, 8000, 9600, 11025, 12000, 16000, 22050, 24000, 32000, 44100,
7
+ 48000, 64000, 88200, 96000, 192000, -1];
8
+ class WavPack {
9
+ static isBitSet(flags, bitOffset) {
10
+ return WavPack.getBitAllignedNumber(flags, bitOffset, 1) === 1;
11
+ }
12
+ static getBitAllignedNumber(flags, bitOffset, len) {
13
+ return (flags >>> bitOffset) & (0xffffffff >>> (32 - len));
14
+ }
15
+ }
16
+ exports.WavPack = WavPack;
17
+ /**
18
+ * WavPack Block Header
19
+ *
20
+ * 32-byte little-endian header at the front of every WavPack block
21
+ *
22
+ * Ref: http://www.wavpack.com/WavPack5FileFormat.pdf (page 2/6: 2.0 "Block Header")
23
+ */
24
+ WavPack.BlockHeaderToken = {
25
+ len: 32,
26
+ get: (buf, off) => {
27
+ const flags = Token.UINT32_LE.get(buf, off + 24);
28
+ const res = {
29
+ // should equal 'wvpk'
30
+ BlockID: FourCC_1.FourCcToken.get(buf, off),
31
+ // 0x402 to 0x410 are valid for decode
32
+ blockSize: Token.UINT32_LE.get(buf, off + 4),
33
+ // 0x402 (1026) to 0x410 are valid for decode
34
+ version: Token.UINT16_LE.get(buf, off + 8),
35
+ // 40-bit total samples for entire file (if block_index == 0 and a value of -1 indicates an unknown length)
36
+ totalSamples: /* replace with bigint? (Token.UINT8.get(buf, off + 11) << 32) + */ Token.UINT32_LE.get(buf, off + 12),
37
+ // 40-bit block_index
38
+ blockIndex: /* replace with bigint? (Token.UINT8.get(buf, off + 10) << 32) + */ Token.UINT32_LE.get(buf, off + 16),
39
+ // 40-bit total samples for entire file (if block_index == 0 and a value of -1 indicates an unknown length)
40
+ blockSamples: Token.UINT32_LE.get(buf, off + 20),
41
+ // various flags for id and decoding
42
+ flags: {
43
+ bitsPerSample: (1 + WavPack.getBitAllignedNumber(flags, 0, 2)) * 8,
44
+ isMono: WavPack.isBitSet(flags, 2),
45
+ isHybrid: WavPack.isBitSet(flags, 3),
46
+ isJointStereo: WavPack.isBitSet(flags, 4),
47
+ crossChannel: WavPack.isBitSet(flags, 5),
48
+ hybridNoiseShaping: WavPack.isBitSet(flags, 6),
49
+ floatingPoint: WavPack.isBitSet(flags, 7),
50
+ samplingRate: SampleRates[WavPack.getBitAllignedNumber(flags, 23, 4)],
51
+ isDSD: WavPack.isBitSet(flags, 31)
52
+ },
53
+ // crc for actual decoded data
54
+ crc: new Token.Uint8ArrayType(4).get(buf, off + 28)
55
+ };
56
+ if (res.flags.isDSD) {
57
+ res.totalSamples *= 8;
58
+ }
59
+ return res;
60
+ }
61
+ };
62
+ /**
63
+ * 3.0 Metadata Sub-Blocks
64
+ * Ref: http://www.wavpack.com/WavPack5FileFormat.pdf (page 4/6: 3.0 "Metadata Sub-Block")
65
+ */
66
+ WavPack.MetadataIdToken = {
67
+ len: 1,
68
+ get: (buf, off) => {
69
+ return {
70
+ functionId: WavPack.getBitAllignedNumber(buf[off], 0, 6),
71
+ isOptional: WavPack.isBitSet(buf[off], 5),
72
+ isOddSize: WavPack.isBitSet(buf[off], 6),
73
+ largeBlock: WavPack.isBitSet(buf[off], 7)
74
+ };
75
+ }
76
+ };
package/package.json CHANGED
@@ -1,150 +1,150 @@
1
- {
2
- "name": "music-metadata",
3
- "description": "Music metadata parser for Node.js, supporting virtual any audio and tag format.",
4
- "version": "7.12.3",
5
- "author": {
6
- "name": "Borewit",
7
- "url": "https://github.com/Borewit"
8
- },
9
- "funding": {
10
- "type": "github",
11
- "url": "https://github.com/sponsors/Borewit"
12
- },
13
- "keywords": [
14
- "music",
15
- "metadata",
16
- "meta",
17
- "audio",
18
- "tag",
19
- "tags",
20
- "duration",
21
- "MusicBrainz",
22
- "Discogs",
23
- "Picard",
24
- "ID3",
25
- "ID3v1",
26
- "ID3v2",
27
- "m4a",
28
- "m4b",
29
- "mp3",
30
- "mp4",
31
- "Vorbis",
32
- "ogg",
33
- "flac",
34
- "Matroska",
35
- "WebM",
36
- "EBML",
37
- "asf",
38
- "wma",
39
- "wmv",
40
- "ape",
41
- "MonkeyAudio",
42
- "aiff",
43
- "wav",
44
- "WavPack",
45
- "Opus",
46
- "speex",
47
- "musepack",
48
- "mpc",
49
- "dsd",
50
- "dsf",
51
- "mpc",
52
- "dff",
53
- "dsdiff",
54
- "aac",
55
- "adts",
56
- "length",
57
- "chapter",
58
- "info",
59
- "parse",
60
- "parser",
61
- "bwf"
62
- ],
63
- "main": "lib/index.js",
64
- "types": "lib/index.d.ts",
65
- "files": [
66
- "lib/**/*.js",
67
- "lib/**/*.d.ts"
68
- ],
69
- "scripts": {
70
- "clean": "del-cli lib/**/*.js lib/**/*.js.map lib/**/*.d.ts src/**/*.d.ts test/**/*.js test/**/*.js.map test/**/*.js test/**/*.js.map doc-gen/**/*.js doc-gen/**/*.js.map",
71
- "compile-src": "tsc -p lib",
72
- "compile-test": "tsc -p test",
73
- "compile-doc": "tsc -p doc-gen",
74
- "compile": "npm run compile-src && npm run compile-test && npm run compile-doc",
75
- "eslint": "eslint lib/**/*.ts --ignore-pattern lib/**/*.d.ts example/typescript/**/*.ts test/**/*.ts doc-gen/**/*.ts",
76
- "lint-md": "remark -u preset-lint-recommended .",
77
- "lint": "npm run lint-md && npm run eslint",
78
- "test": "mocha --require ts-node/register --require source-map-support/register --full-trace test/test-*.ts",
79
- "build": "npm run clean && npm run compile && npm run doc-gen",
80
- "start": "npm-run-all compile lint cover-test",
81
- "test-coverage": "nyc npm run test",
82
- "send-coveralls": "nyc report --reporter=text-lcov | coveralls",
83
- "send-codacy": "nyc report --reporter=text-lcov | codacy-coverage",
84
- "doc-gen": "node doc-gen/gen.js"
85
- },
86
- "dependencies": {
87
- "@tokenizer/token": "^0.3.0",
88
- "content-type": "^1.0.4",
89
- "debug": "^4.3.4",
90
- "file-type": "16.5.3",
91
- "media-typer": "^1.1.0",
92
- "strtok3": "^6.3.0",
93
- "token-types": "^4.2.0"
94
- },
95
- "devDependencies": {
96
- "@types/chai": "^4.3.0",
97
- "@types/debug": "^4.1.7",
98
- "@types/file-type": "^10.9.1",
99
- "@types/mocha": "^9.1.0",
100
- "@types/node": "^17.0.21",
101
- "@typescript-eslint/eslint-plugin": "^5.17.0",
102
- "@typescript-eslint/parser": "^5.17.0",
103
- "chai": "^4.3.6",
104
- "coveralls": "^3.1.1",
105
- "del-cli": "4.0.1",
106
- "eslint": "^8.12.0",
107
- "eslint-config-prettier": "^8.5.0",
108
- "eslint-import-resolver-typescript": "^2.5.0",
109
- "eslint-plugin-import": "^2.25.4",
110
- "eslint-plugin-jsdoc": "^38.1.4",
111
- "eslint-plugin-node": "^11.1.0",
112
- "eslint-plugin-unicorn": "^41.0.0",
113
- "mime": "^3.0.0",
114
- "mocha": "^9.2.2",
115
- "npm-run-all": "^4.1.5",
116
- "nyc": "^15.1.0",
117
- "remark-cli": "^10.0.1",
118
- "remark-preset-lint-recommended": "^6.1.2",
119
- "source-map-support": "^0.5.21",
120
- "ts-node": "^10.7.0",
121
- "typescript": "^4.6.2"
122
- },
123
- "engines": {
124
- "node": ">=10"
125
- },
126
- "repository": {
127
- "type": "git",
128
- "url": "git+https://github.com/borewit/music-metadata.git"
129
- },
130
- "license": "MIT",
131
- "bugs": {
132
- "url": "https://github.com/Borewit/music-metadata/issues"
133
- },
134
- "nyc": {
135
- "exclude": [
136
- "test/**/*.ts",
137
- "src/**/*.js"
138
- ],
139
- "extension": [
140
- ".ts"
141
- ],
142
- "sourceMap": true,
143
- "instrument": true,
144
- "reporter": [
145
- "lcov",
146
- "text"
147
- ],
148
- "report-dir": "coverage"
149
- }
150
- }
1
+ {
2
+ "name": "music-metadata",
3
+ "description": "Music metadata parser for Node.js, supporting virtual any audio and tag format.",
4
+ "version": "7.12.4",
5
+ "author": {
6
+ "name": "Borewit",
7
+ "url": "https://github.com/Borewit"
8
+ },
9
+ "funding": {
10
+ "type": "github",
11
+ "url": "https://github.com/sponsors/Borewit"
12
+ },
13
+ "keywords": [
14
+ "music",
15
+ "metadata",
16
+ "meta",
17
+ "audio",
18
+ "tag",
19
+ "tags",
20
+ "duration",
21
+ "MusicBrainz",
22
+ "Discogs",
23
+ "Picard",
24
+ "ID3",
25
+ "ID3v1",
26
+ "ID3v2",
27
+ "m4a",
28
+ "m4b",
29
+ "mp3",
30
+ "mp4",
31
+ "Vorbis",
32
+ "ogg",
33
+ "flac",
34
+ "Matroska",
35
+ "WebM",
36
+ "EBML",
37
+ "asf",
38
+ "wma",
39
+ "wmv",
40
+ "ape",
41
+ "MonkeyAudio",
42
+ "aiff",
43
+ "wav",
44
+ "WavPack",
45
+ "Opus",
46
+ "speex",
47
+ "musepack",
48
+ "mpc",
49
+ "dsd",
50
+ "dsf",
51
+ "mpc",
52
+ "dff",
53
+ "dsdiff",
54
+ "aac",
55
+ "adts",
56
+ "length",
57
+ "chapter",
58
+ "info",
59
+ "parse",
60
+ "parser",
61
+ "bwf"
62
+ ],
63
+ "main": "lib/index.js",
64
+ "types": "lib/index.d.ts",
65
+ "files": [
66
+ "lib/**/*.js",
67
+ "lib/**/*.d.ts"
68
+ ],
69
+ "scripts": {
70
+ "clean": "del-cli lib/**/*.js lib/**/*.js.map lib/**/*.d.ts src/**/*.d.ts test/**/*.js test/**/*.js.map test/**/*.js test/**/*.js.map doc-gen/**/*.js doc-gen/**/*.js.map",
71
+ "compile-src": "tsc -p lib",
72
+ "compile-test": "tsc -p test",
73
+ "compile-doc": "tsc -p doc-gen",
74
+ "compile": "npm run compile-src && npm run compile-test && npm run compile-doc",
75
+ "eslint": "eslint lib/**/*.ts --ignore-pattern lib/**/*.d.ts example/typescript/**/*.ts test/**/*.ts doc-gen/**/*.ts",
76
+ "lint-md": "remark -u preset-lint-recommended .",
77
+ "lint": "npm run lint-md && npm run eslint",
78
+ "test": "mocha --require ts-node/register --require source-map-support/register --full-trace test/test-*.ts",
79
+ "build": "npm run clean && npm run compile && npm run doc-gen",
80
+ "start": "npm-run-all compile lint cover-test",
81
+ "test-coverage": "nyc npm run test",
82
+ "send-coveralls": "nyc report --reporter=text-lcov | coveralls",
83
+ "send-codacy": "nyc report --reporter=text-lcov | codacy-coverage",
84
+ "doc-gen": "node doc-gen/gen.js"
85
+ },
86
+ "dependencies": {
87
+ "@tokenizer/token": "^0.3.0",
88
+ "content-type": "^1.0.4",
89
+ "debug": "^4.3.4",
90
+ "file-type": "16.5.3",
91
+ "media-typer": "^1.1.0",
92
+ "strtok3": "^6.3.0",
93
+ "token-types": "^4.2.0"
94
+ },
95
+ "devDependencies": {
96
+ "@types/chai": "^4.3.1",
97
+ "@types/debug": "^4.1.7",
98
+ "@types/file-type": "^10.9.1",
99
+ "@types/mocha": "^9.1.0",
100
+ "@types/node": "^18.0.0",
101
+ "@typescript-eslint/eslint-plugin": "^5.30.4",
102
+ "@typescript-eslint/parser": "^5.30.4",
103
+ "chai": "^4.3.6",
104
+ "coveralls": "^3.1.1",
105
+ "del-cli": "4.0.1",
106
+ "eslint": "^8.19.0",
107
+ "eslint-config-prettier": "^8.5.0",
108
+ "eslint-import-resolver-typescript": "^2.7.1",
109
+ "eslint-plugin-import": "^2.26.0",
110
+ "eslint-plugin-jsdoc": "^39.3.3",
111
+ "eslint-plugin-node": "^11.1.0",
112
+ "eslint-plugin-unicorn": "^42.0.0",
113
+ "mime": "^3.0.0",
114
+ "mocha": "^9.2.2",
115
+ "npm-run-all": "^4.1.5",
116
+ "nyc": "^15.1.0",
117
+ "remark-cli": "^11.0.0",
118
+ "remark-preset-lint-recommended": "^6.1.2",
119
+ "source-map-support": "^0.5.21",
120
+ "ts-node": "^10.8.1",
121
+ "typescript": "^4.7.4"
122
+ },
123
+ "engines": {
124
+ "node": ">=10"
125
+ },
126
+ "repository": {
127
+ "type": "git",
128
+ "url": "git+https://github.com/borewit/music-metadata.git"
129
+ },
130
+ "license": "MIT",
131
+ "bugs": {
132
+ "url": "https://github.com/Borewit/music-metadata/issues"
133
+ },
134
+ "nyc": {
135
+ "exclude": [
136
+ "test/**/*.ts",
137
+ "src/**/*.js"
138
+ ],
139
+ "extension": [
140
+ ".ts"
141
+ ],
142
+ "sourceMap": true,
143
+ "instrument": true,
144
+ "reporter": [
145
+ "lcov",
146
+ "text"
147
+ ],
148
+ "report-dir": "coverage"
149
+ }
150
+ }