@nxtedition/mime 1.1.3 → 1.1.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.
package/README.md CHANGED
@@ -21,6 +21,10 @@ lookup('video.nut') // 'video/x-nut'
21
21
  lookup('audio.ac3') // 'audio/ac3'
22
22
  lookup('subs.stl') // 'application/x-ebu-stl'
23
23
  lookup('subs.scc') // 'text/x-scc'
24
+
25
+ // Bare extensions work too (like the standard mime package):
26
+ lookup('nut') // 'video/x-nut'
27
+ lookup('dnxhd') // 'video/x-dnxhd'
24
28
  ```
25
29
 
26
30
  ### Get extension from MIME type
@@ -32,49 +36,91 @@ extension('video/mp4') // 'mp4'
32
36
  extension('video/x-dnxhd') // 'dnxhd'
33
37
  extension('audio/ac3') // 'ac3'
34
38
  extension('application/x-ebu-stl') // 'stl'
35
- extension('video/quicktime', 'clip.mov') // 'mov'
39
+ extension('video/quicktime') // 'mov'
40
+
41
+ // MIME types are case-insensitive and parameters are ignored:
42
+ extension('Video/X-DnxHD; profile=hd') // 'dnxhd'
36
43
  ```
37
44
 
38
45
  ## Broadcast & media types
39
46
 
40
- Types handled beyond the standard `mime` package:
41
-
42
- | Extension | MIME Type | Format |
43
- | ------------ | ----------------------------- | ------------------------- |
44
- | `.nut` | `video/x-nut` | NUT container |
45
- | `.dnxhd` | `video/x-dnxhd` | Avid DNxHD/DNxHR |
46
- | `.dv` | `video/x-dv` | DV video |
47
- | `.h265` | `video/h265` | Raw HEVC stream |
48
- | `.av1` | `video/av1` | Raw AV1 stream |
49
- | `.ffv1` | `video/ffv1` | FFV1 archival codec |
50
- | `.vc1` | `video/vc1` | VC-1 video |
51
- | `.ac3` | `audio/ac3` | Dolby Digital |
52
- | `.eac3` | `audio/eac3` | Dolby Digital Plus |
53
- | `.opus` | `audio/opus` | Opus audio |
54
- | `.flac` | `audio/flac` | FLAC lossless |
55
- | `.pcm-s16le` | `audio/x-pcm-s16le` | Raw 16-bit PCM |
56
- | `.pcm-s24le` | `audio/x-pcm-s24le` | Raw 24-bit PCM |
57
- | `.pcm-s32le` | `audio/x-pcm-s32le` | Raw 32-bit PCM |
58
- | `.stl` | `application/x-ebu-stl` | EBU STL subtitles |
59
- | `.scc` | `text/x-scc` | Scenarist Closed Captions |
60
- | `.cap` | `application/x-cap` | Softel CAP captions |
61
- | `.890` | `application/x-890` | Cavena 890 subtitles |
62
- | `.pac` | `application/x-pac` | Screen Electronics PAC |
63
- | `.ass` | `text/x-ass` | Advanced SubStation Alpha |
64
- | `.ssa` | `text/x-ssa` | SubStation Alpha |
65
- | `.exr` | `image/x-exr` | OpenEXR |
66
- | `.cin` | `image/x-cin` | Cineon |
67
- | `.ism` | `application/vnd.ms-sstr+xml` | Smooth Streaming |
47
+ Types handled beyond (or instead of) the standard `mime` package:
48
+
49
+ | Extension | MIME Type | Format |
50
+ | ---------------------- | ----------------------------- | ------------------------- |
51
+ | `.nut` | `video/x-nut` | NUT container |
52
+ | `.aaf` | `application/x-aaf` | Avid AAF |
53
+ | `.lxf` | `application/x-lxf` | Leitch LXF |
54
+ | `.dnxhd` `.dnxhr` | `video/x-dnxhd` | Avid DNxHD/DNxHR |
55
+ | `.dv` | `video/x-dv` | DV video |
56
+ | `.h265` `.265` `.hevc` | `video/h265` | Raw HEVC stream |
57
+ | `.264` `.avc` | `video/h264` | Raw AVC stream |
58
+ | `.h266` `.266` `.vvc` | `video/h266` | Raw VVC stream |
59
+ | `.av1` | `video/av1` | Raw AV1 stream |
60
+ | `.ffv1` | `video/ffv1` | FFV1 archival codec |
61
+ | `.vc1` | `video/vc1` | VC-1 video |
62
+ | `.prores` | `video/x-prores` | Apple ProRes |
63
+ | `.r3d` | `video/x-red-r3d` | RED REDCODE RAW |
64
+ | `.braw` | `video/x-blackmagic-braw` | Blackmagic RAW |
65
+ | `.ari` | `image/x-arri-ari` | ARRIRAW frame |
66
+ | `.ac3` | `audio/ac3` | Dolby Digital |
67
+ | `.eac3` `.ec3` | `audio/eac3` | Dolby Digital Plus |
68
+ | `.opus` | `audio/opus` | Opus audio |
69
+ | `.flac` | `audio/flac` | FLAC lossless |
70
+ | `.pcm-s16le` | `audio/x-pcm-s16le` | Raw 16-bit PCM |
71
+ | `.pcm-s24le` | `audio/x-pcm-s24le` | Raw 24-bit PCM |
72
+ | `.pcm-s32le` | `audio/x-pcm-s32le` | Raw 32-bit PCM |
73
+ | `.bwf` | `audio/wav` | Broadcast Wave |
74
+ | `.w64` | `audio/x-w64` | Sony Wave64 |
75
+ | `.rf64` | `audio/x-rf64` | EBU RF64 |
76
+ | `.stl` | `application/x-ebu-stl` | EBU STL subtitles |
77
+ | `.scc` | `text/x-scc` | Scenarist Closed Captions |
78
+ | `.cap` | `application/x-cap` | Softel CAP captions |
79
+ | `.890` | `application/x-890` | Cavena 890 subtitles |
80
+ | `.pac` | `application/x-pac` | Screen Electronics PAC |
81
+ | `.ass` | `text/x-ass` | Advanced SubStation Alpha |
82
+ | `.ssa` | `text/x-ssa` | SubStation Alpha |
83
+ | `.dfxp` `.itt` | `application/ttml+xml` | TTML dialects |
84
+ | `.exr` | `image/x-exr` | OpenEXR |
85
+ | `.cin` | `image/x-cin` | Cineon |
86
+ | `.ism` | `application/vnd.ms-sstr+xml` | Smooth Streaming |
87
+ | `.mp3` | `audio/mp3` | MP3 (Chrome workaround) |
88
+
89
+ Camera RAW stills are also covered: `cr2`, `cr3`, `nef`, `nrw`, `arw`, `srf`, `sr2`, `raf`, `rw2`, `orf`, `pef`, `ptx`, `x3f`, `3fr`, `fff`, `iiq`, `mrw`, `mef`, `dng`, `raw`, `rwl`, `k25`, `kdc`, `bay`, `erf`, `srw`, `mos` — each mapped to its vendor `image/x-*` type.
90
+
91
+ ### Deliberate differences from `mime`
92
+
93
+ Some mappings intentionally shadow standard ones for broadcast use. If you serve 3D models, pcap captures, or proxy autoconfig files, this package is not for you:
94
+
95
+ - `.stl` → `application/x-ebu-stl` (not `model/stl`)
96
+ - `.cap` → `application/x-cap` (not `application/vnd.tcpdump.pcap`)
97
+ - `.pac` → `application/x-pac` (not `application/x-ns-proxy-autoconfig`)
98
+ - `.opus` → `audio/opus` (not `audio/ogg`)
99
+ - `.flac` → `audio/flac` (not `audio/x-flac`)
100
+ - `.exr` → `image/x-exr` (not `image/aces`)
101
+ - `.mp3` → `audio/mp3` (not `audio/mpeg`, see [Chromium #227004](https://bugs.chromium.org/p/chromium/issues/detail?id=227004))
102
+
103
+ In the reverse direction, common media extensions are preferred over mime-db's first entries:
104
+
105
+ - `video/quicktime` → `mov` (not `qt`)
106
+ - `audio/mpeg` → `mp3` (not `mpga`)
107
+ - `audio/aac` → `aac` (not `adts`)
108
+
109
+ `extension()` also accepts common alias spellings that have no forward mapping: `video/nut`, `video/dnxhd`, `video/dv`, `video/hevc` (→ `h265`), `video/x-m2ts`, `audio/pcm-s16le`/`-s24le`/`-s32le` (without the `x-` prefix), and `image/x-dpx`.
68
110
 
69
111
  ## API
70
112
 
71
113
  ### `lookup(name: string): string | null`
72
114
 
73
- Returns the MIME type for the given filename or path, or `null` if unknown.
115
+ Returns the MIME type for the given filename, path, or bare extension, or `null` if unknown. Matching is case-insensitive and follows the standard `mime` package's path semantics: the extension is what follows the last dot of the basename, provided that dot is not the basename's first character (a dotfile with a path, like `/path/.nut`, is extensionless). A name without such an extension is treated as a bare extension only when it has no path component (`nut` and `.nut` both resolve).
116
+
117
+ Also exported as `getType`.
118
+
119
+ ### `extension(mimeType: string): string | null`
74
120
 
75
- ### `extension(mimeType: string, fileName?: string): string | null`
121
+ Returns the file extension for the given MIME type, or `null` if unknown. Matching is case-insensitive and ignores parameters (e.g. `; charset=...`).
76
122
 
77
- Returns the file extension for the given MIME type, or `null` if unknown. The optional `fileName` parameter is used to disambiguate (e.g. `video/quicktime` → `mov` when the filename ends in `.mov`).
123
+ Also exported as `getExtension`.
78
124
 
79
125
  ## License
80
126
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA8JA,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAalD;AAED,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,CAAA;AAE5B,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUzD;AAED,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAwOA,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmClD;AAED,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,CAAA;AAE5B,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmBzD;AAED,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,CAAA"}
package/lib/index.js CHANGED
@@ -1,18 +1,56 @@
1
- import mime from 'mime';
2
- const EXT_TO_MIME = {
1
+ import standardTypes from 'mime/types/standard.js';
2
+ import otherTypes from 'mime/types/other.js';
3
+ const EXT_TO_MIME = new Map();
4
+ const MIME_TO_EXT = new Map();
5
+ // Replicates Mime#define over mime's public data exports. The default mime
6
+ // instance is frozen (no runtime define), so merging at load time is exactly
7
+ // equivalent: the first extension of a type wins the reverse mapping, and
8
+ // '*'-prefixed extensions don't claim the forward mapping.
9
+ for (const typeMap of [standardTypes, otherTypes]) {
10
+ for (const [type, extensions] of Object.entries(typeMap)) {
11
+ let first = true;
12
+ for (let ext of extensions) {
13
+ const starred = ext.startsWith('*');
14
+ if (starred) {
15
+ ext = ext.slice(1);
16
+ }
17
+ if (first) {
18
+ MIME_TO_EXT.set(type, ext);
19
+ first = false;
20
+ }
21
+ if (!starred) {
22
+ EXT_TO_MIME.set(ext, type);
23
+ }
24
+ }
25
+ }
26
+ }
27
+ // Custom mappings applied on top of mime-db. Some deliberately shadow
28
+ // standard mappings (stl, cap, pac, opus, flac, exr, mp3) — see README.
29
+ for (const [ext, type] of Object.entries({
3
30
  // Broadcast containers
4
31
  nut: 'video/x-nut',
5
- aaf: 'application/octet-stream',
6
- lxf: 'application/octet-stream',
32
+ aaf: 'application/x-aaf',
33
+ lxf: 'application/x-lxf',
7
34
  // Raw codecs
8
35
  dnxhd: 'video/x-dnxhd',
9
36
  dnxhr: 'video/x-dnxhd',
10
37
  dv: 'video/x-dv',
11
38
  h265: 'video/h265',
12
39
  265: 'video/h265',
40
+ hevc: 'video/h265',
41
+ 264: 'video/h264',
42
+ avc: 'video/h264',
43
+ h266: 'video/h266',
44
+ 266: 'video/h266',
45
+ vvc: 'video/h266',
13
46
  av1: 'video/av1',
14
47
  ffv1: 'video/ffv1',
15
48
  vc1: 'video/vc1',
49
+ prores: 'video/x-prores',
50
+ // Cinema camera RAW
51
+ r3d: 'video/x-red-r3d',
52
+ braw: 'video/x-blackmagic-braw',
53
+ ari: 'image/x-arri-ari',
16
54
  // Raw PCM
17
55
  'pcm-s32le': 'audio/x-pcm-s32le',
18
56
  'pcm-s24le': 'audio/x-pcm-s24le',
@@ -23,6 +61,10 @@ const EXT_TO_MIME = {
23
61
  ec3: 'audio/eac3',
24
62
  opus: 'audio/opus',
25
63
  flac: 'audio/flac',
64
+ // Broadcast audio containers
65
+ bwf: 'audio/wav',
66
+ w64: 'audio/x-w64',
67
+ rf64: 'audio/x-rf64',
26
68
  // Broadcast subtitle/caption formats
27
69
  stl: 'application/x-ebu-stl',
28
70
  scc: 'text/x-scc',
@@ -31,6 +73,8 @@ const EXT_TO_MIME = {
31
73
  pac: 'application/x-pac',
32
74
  ass: 'text/x-ass',
33
75
  ssa: 'text/x-ssa',
76
+ dfxp: 'application/ttml+xml',
77
+ itt: 'application/ttml+xml',
34
78
  // Camera RAW
35
79
  cr2: 'image/x-canon-cr2',
36
80
  nef: 'image/x-nikon-nef',
@@ -67,20 +111,32 @@ const EXT_TO_MIME = {
67
111
  // NOTE: Workaround for Chrome.
68
112
  // See, https://bugs.chromium.org/p/chromium/issues/detail?id=227004.
69
113
  mp3: 'audio/mp3',
70
- };
71
- const MIME_TO_EXT = {
114
+ })) {
115
+ EXT_TO_MIME.set(ext, type);
116
+ }
117
+ for (const [type, ext] of Object.entries({
72
118
  // Broadcast containers
73
119
  'video/x-nut': 'nut',
74
120
  'video/nut': 'nut',
121
+ 'video/x-m2ts': 'm2ts',
122
+ 'application/x-aaf': 'aaf',
123
+ 'application/x-lxf': 'lxf',
75
124
  // Raw codecs
76
125
  'video/x-dnxhd': 'dnxhd',
77
126
  'video/dnxhd': 'dnxhd',
78
127
  'video/x-dv': 'dv',
79
128
  'video/dv': 'dv',
80
129
  'video/h265': 'h265',
130
+ 'video/hevc': 'h265',
131
+ 'video/h266': 'h266',
81
132
  'video/av1': 'av1',
82
133
  'video/ffv1': 'ffv1',
83
134
  'video/vc1': 'vc1',
135
+ 'video/x-prores': 'prores',
136
+ // Cinema camera RAW
137
+ 'video/x-red-r3d': 'r3d',
138
+ 'video/x-blackmagic-braw': 'braw',
139
+ 'image/x-arri-ari': 'ari',
84
140
  // Raw PCM
85
141
  'audio/x-pcm-s32le': 'pcm-s32le',
86
142
  'audio/pcm-s32le': 'pcm-s32le',
@@ -93,6 +149,14 @@ const MIME_TO_EXT = {
93
149
  'audio/eac3': 'eac3',
94
150
  'audio/opus': 'opus',
95
151
  'audio/flac': 'flac',
152
+ // Broadcast audio containers
153
+ 'audio/x-w64': 'w64',
154
+ 'audio/x-rf64': 'rf64',
155
+ // Prefer the ubiquitous extensions over mime-db's first entries
156
+ // ('mpga' and 'adts').
157
+ 'audio/mpeg': 'mp3',
158
+ 'audio/mp3': 'mp3',
159
+ 'audio/aac': 'aac',
96
160
  // Broadcast subtitle/caption formats
97
161
  'application/x-ebu-stl': 'stl',
98
162
  'text/x-scc': 'scc',
@@ -132,31 +196,64 @@ const MIME_TO_EXT = {
132
196
  // Imaging
133
197
  'image/x-exr': 'exr',
134
198
  'image/x-cin': 'cin',
199
+ 'image/x-dpx': 'dpx',
135
200
  // Streaming
136
201
  'application/vnd.ms-sstr+xml': 'ism',
137
202
  // QuickTime — prefer .mov over .qt
138
203
  'video/quicktime': 'mov',
139
- };
204
+ })) {
205
+ MIME_TO_EXT.set(type, ext);
206
+ }
140
207
  export function lookup(name) {
141
208
  if (typeof name !== 'string' || name.length === 0) {
142
209
  return null;
143
210
  }
144
- const match = name.match(/\.([^.]+)$/);
145
- const ext = match?.[1]?.toLowerCase();
146
- if (ext && EXT_TO_MIME[ext]) {
147
- return EXT_TO_MIME[ext];
211
+ // Mirrors mime's path parsing: the extension is what follows the last dot
212
+ // of the basename, provided that dot is not the basename's first character
213
+ // (a dotfile with a path, like '/path/.nut', is extensionless). A name
214
+ // without such an extension is treated as a bare extension, but only when
215
+ // it has no path component ('nut' and '.nut' both resolve).
216
+ let start = 0;
217
+ for (let i = name.length - 1; i >= 0; i--) {
218
+ const code = name.charCodeAt(i);
219
+ if (code === 0x2f /* / */ || code === 0x5c /* \ */) {
220
+ start = i + 1;
221
+ break;
222
+ }
223
+ }
224
+ const dot = name.lastIndexOf('.');
225
+ let ext;
226
+ if (dot > start) {
227
+ ext = name.slice(dot + 1).toLowerCase();
228
+ }
229
+ else if (start === 0) {
230
+ ext = (dot === 0 ? name.slice(1) : name).toLowerCase();
231
+ }
232
+ else {
233
+ return null;
234
+ }
235
+ if (ext.length === 0) {
236
+ return null;
148
237
  }
149
- return mime.getType(name);
238
+ return EXT_TO_MIME.get(ext) ?? null;
150
239
  }
151
240
  export { lookup as getType };
152
241
  export function extension(mimeType) {
153
242
  if (typeof mimeType !== 'string' || mimeType.length === 0) {
154
243
  return null;
155
244
  }
156
- if (MIME_TO_EXT[mimeType]) {
157
- return MIME_TO_EXT[mimeType];
245
+ // Fast path for canonical (lowercase, parameterless) types.
246
+ const ext = MIME_TO_EXT.get(mimeType);
247
+ if (ext !== undefined) {
248
+ return ext;
249
+ }
250
+ // Mirrors mime's normalization: parameters stripped, trimmed, lowercased.
251
+ const semi = mimeType.indexOf(';');
252
+ const essence = (semi === -1 ? mimeType : mimeType.slice(0, semi)).trim().toLowerCase();
253
+ if (essence === mimeType) {
254
+ return null;
158
255
  }
159
- return mime.getExtension(mimeType) || null;
256
+ return MIME_TO_EXT.get(essence) ?? null;
160
257
  }
161
258
  export { extension as getExtension };
162
259
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxtedition/mime",
3
- "version": "1.1.3",
3
+ "version": "1.1.4",
4
4
  "type": "module",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -25,9 +25,10 @@
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/node": "^25.5.0",
28
+ "mitata": "^1.0.34",
28
29
  "oxlint-tsgolint": "^0.17.0",
29
30
  "rimraf": "^6.1.3",
30
31
  "typescript": "^5.9.3"
31
32
  },
32
- "gitHead": "7c9c7457c885c644c7a1e70ef894d4727ce240d6"
33
+ "gitHead": "c9f2526dc870597de119b8ec5083f97901d4a2e2"
33
34
  }