@remotion/media-parser 4.0.317 → 4.0.319
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/dist/containers/avc/parse-avc.js +5 -1
- package/dist/containers/flac/parse-flac-frame.js +5 -1
- package/dist/containers/iso-base-media/get-moov-atom.js +5 -1
- package/dist/containers/iso-base-media/mfra/get-mfra-atom.js +5 -1
- package/dist/containers/iso-base-media/mfra/get-mfro-atom.js +5 -1
- package/dist/containers/iso-base-media/moov/mvhd.js +10 -2
- package/dist/containers/iso-base-media/parse-icc-profile.js +10 -2
- package/dist/containers/riff/seek/fetch-idx1.js +5 -1
- package/dist/containers/transport-stream/adts-header.js +5 -1
- package/dist/containers/wav/parse-fact.d.ts +5 -0
- package/dist/containers/wav/parse-fact.js +18 -0
- package/dist/containers/wav/parse-fmt.js +9 -5
- package/dist/containers/wav/parse-wav.js +4 -0
- package/dist/containers/wav/subformats.d.ts +4 -0
- package/dist/containers/wav/subformats.js +17 -0
- package/dist/containers/wav/types.d.ts +5 -1
- package/dist/containers/webm/av1-codec-private.js +5 -1
- package/dist/containers/webm/description.js +5 -1
- package/dist/containers/webm/get-sample-from-block.js +5 -1
- package/dist/containers/webm/make-track.js +10 -2
- package/dist/containers/webm/seek/fetch-web-cues.js +5 -1
- package/dist/esm/index.mjs +237 -78
- package/dist/esm/universal.mjs +3 -3
- package/dist/esm/web.mjs +3 -3
- package/dist/esm/worker-server-entry.mjs +236 -77
- package/dist/esm/worker-web-entry.mjs +236 -77
- package/dist/index.d.ts +5 -1
- package/dist/iterator/buffer-iterator.d.ts +6 -1
- package/dist/iterator/buffer-iterator.js +25 -25
- package/dist/iterator/buffer-manager.d.ts +5 -3
- package/dist/iterator/buffer-manager.js +24 -23
- package/dist/iterator/polyfilled-arraybuffer.d.ts +6 -0
- package/dist/iterator/polyfilled-arraybuffer.js +21 -0
- package/dist/readers/from-fetch.js +3 -4
- package/dist/remotion-license-acknowledge.js +1 -2
- package/dist/state/parser-state.js +5 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -4
|
@@ -7,9 +7,9 @@ const file_types_1 = require("../file-types");
|
|
|
7
7
|
const log_1 = require("../log");
|
|
8
8
|
const buffer_manager_1 = require("./buffer-manager");
|
|
9
9
|
const offset_counter_1 = require("./offset-counter");
|
|
10
|
-
const getArrayBufferIterator = (initialData, maxBytes) => {
|
|
10
|
+
const getArrayBufferIterator = ({ initialData, maxBytes, logLevel, }) => {
|
|
11
11
|
const counter = (0, offset_counter_1.makeOffsetCounter)(0);
|
|
12
|
-
const {
|
|
12
|
+
const { getUint8Array, getView, addData, destroy, removeBytesRead, skipTo, replaceData, } = (0, buffer_manager_1.bufferManager)({ initialData, maxBytes, counter, logLevel });
|
|
13
13
|
const startCheckpoint = () => {
|
|
14
14
|
const checkpoint = counter.getOffset();
|
|
15
15
|
return {
|
|
@@ -19,7 +19,7 @@ const getArrayBufferIterator = (initialData, maxBytes) => {
|
|
|
19
19
|
};
|
|
20
20
|
};
|
|
21
21
|
const getSlice = (amount) => {
|
|
22
|
-
const value =
|
|
22
|
+
const value = getUint8Array().slice(counter.getDiscardedOffset(), counter.getDiscardedOffset() + amount);
|
|
23
23
|
counter.increment(value.length);
|
|
24
24
|
return value;
|
|
25
25
|
};
|
|
@@ -52,7 +52,7 @@ const getArrayBufferIterator = (initialData, maxBytes) => {
|
|
|
52
52
|
return str;
|
|
53
53
|
};
|
|
54
54
|
const getUint8 = () => {
|
|
55
|
-
const val =
|
|
55
|
+
const val = getView().getUint8(counter.getDiscardedOffset());
|
|
56
56
|
counter.increment(1);
|
|
57
57
|
return val;
|
|
58
58
|
};
|
|
@@ -107,12 +107,12 @@ const getArrayBufferIterator = (initialData, maxBytes) => {
|
|
|
107
107
|
return lastInt;
|
|
108
108
|
};
|
|
109
109
|
const getUint32 = () => {
|
|
110
|
-
const val =
|
|
110
|
+
const val = getView().getUint32(counter.getDiscardedOffset());
|
|
111
111
|
counter.increment(4);
|
|
112
112
|
return val;
|
|
113
113
|
};
|
|
114
114
|
const getSyncSafeInt32 = () => {
|
|
115
|
-
const val =
|
|
115
|
+
const val = getView().getUint32(counter.getDiscardedOffset());
|
|
116
116
|
counter.increment(4);
|
|
117
117
|
return (((val & 0x7f000000) >> 3) |
|
|
118
118
|
((val & 0x007f0000) >> 2) |
|
|
@@ -120,12 +120,12 @@ const getArrayBufferIterator = (initialData, maxBytes) => {
|
|
|
120
120
|
(val & 0x0000007f));
|
|
121
121
|
};
|
|
122
122
|
const getUint64 = (littleEndian = false) => {
|
|
123
|
-
const val =
|
|
123
|
+
const val = getView().getBigUint64(counter.getDiscardedOffset(), littleEndian);
|
|
124
124
|
counter.increment(8);
|
|
125
125
|
return val;
|
|
126
126
|
};
|
|
127
127
|
const getInt64 = (littleEndian = false) => {
|
|
128
|
-
const val =
|
|
128
|
+
const val = getView().getBigInt64(counter.getDiscardedOffset(), littleEndian);
|
|
129
129
|
counter.increment(8);
|
|
130
130
|
return val;
|
|
131
131
|
};
|
|
@@ -142,22 +142,22 @@ const getArrayBufferIterator = (initialData, maxBytes) => {
|
|
|
142
142
|
};
|
|
143
143
|
};
|
|
144
144
|
const getUint32Le = () => {
|
|
145
|
-
const val =
|
|
145
|
+
const val = getView().getUint32(counter.getDiscardedOffset(), true);
|
|
146
146
|
counter.increment(4);
|
|
147
147
|
return val;
|
|
148
148
|
};
|
|
149
149
|
const getInt32Le = () => {
|
|
150
|
-
const val =
|
|
150
|
+
const val = getView().getInt32(counter.getDiscardedOffset(), true);
|
|
151
151
|
counter.increment(4);
|
|
152
152
|
return val;
|
|
153
153
|
};
|
|
154
154
|
const getInt32 = () => {
|
|
155
|
-
const val =
|
|
155
|
+
const val = getView().getInt32(counter.getDiscardedOffset());
|
|
156
156
|
counter.increment(4);
|
|
157
157
|
return val;
|
|
158
158
|
};
|
|
159
159
|
const bytesRemaining = () => {
|
|
160
|
-
return
|
|
160
|
+
return getUint8Array().byteLength - counter.getDiscardedOffset();
|
|
161
161
|
};
|
|
162
162
|
const readExpGolomb = () => {
|
|
163
163
|
if (!bitReadingMode) {
|
|
@@ -277,7 +277,7 @@ const getArrayBufferIterator = (initialData, maxBytes) => {
|
|
|
277
277
|
return new TextDecoder().decode(atom);
|
|
278
278
|
},
|
|
279
279
|
detectFileType: () => {
|
|
280
|
-
return (0, file_types_1.detectFileType)(
|
|
280
|
+
return (0, file_types_1.detectFileType)(getUint8Array());
|
|
281
281
|
},
|
|
282
282
|
getPaddedFourByteNumber,
|
|
283
283
|
getMatroskaSegmentId: () => {
|
|
@@ -373,36 +373,36 @@ const getArrayBufferIterator = (initialData, maxBytes) => {
|
|
|
373
373
|
return actualValue;
|
|
374
374
|
},
|
|
375
375
|
getInt8: () => {
|
|
376
|
-
const val =
|
|
376
|
+
const val = getView().getInt8(counter.getDiscardedOffset());
|
|
377
377
|
counter.increment(1);
|
|
378
378
|
return val;
|
|
379
379
|
},
|
|
380
380
|
getUint16: () => {
|
|
381
|
-
const val =
|
|
381
|
+
const val = getView().getUint16(counter.getDiscardedOffset());
|
|
382
382
|
counter.increment(2);
|
|
383
383
|
return val;
|
|
384
384
|
},
|
|
385
385
|
getUint16Le: () => {
|
|
386
|
-
const val =
|
|
386
|
+
const val = getView().getUint16(counter.getDiscardedOffset(), true);
|
|
387
387
|
counter.increment(2);
|
|
388
388
|
return val;
|
|
389
389
|
},
|
|
390
390
|
getUint24: () => {
|
|
391
|
-
const val1 =
|
|
392
|
-
const val2 =
|
|
393
|
-
const val3 =
|
|
391
|
+
const val1 = getView().getUint8(counter.getDiscardedOffset());
|
|
392
|
+
const val2 = getView().getUint8(counter.getDiscardedOffset() + 1);
|
|
393
|
+
const val3 = getView().getUint8(counter.getDiscardedOffset() + 2);
|
|
394
394
|
counter.increment(3);
|
|
395
395
|
return (val1 << 16) | (val2 << 8) | val3;
|
|
396
396
|
},
|
|
397
397
|
getInt24: () => {
|
|
398
|
-
const val1 =
|
|
399
|
-
const val2 =
|
|
400
|
-
const val3 =
|
|
398
|
+
const val1 = getView().getInt8(counter.getDiscardedOffset());
|
|
399
|
+
const val2 = getView().getUint8(counter.getDiscardedOffset() + 1);
|
|
400
|
+
const val3 = getView().getUint8(counter.getDiscardedOffset() + 2);
|
|
401
401
|
counter.increment(3);
|
|
402
402
|
return (val1 << 16) | (val2 << 8) | val3;
|
|
403
403
|
},
|
|
404
404
|
getInt16: () => {
|
|
405
|
-
const val =
|
|
405
|
+
const val = getView().getInt16(counter.getDiscardedOffset());
|
|
406
406
|
counter.increment(2);
|
|
407
407
|
return val;
|
|
408
408
|
},
|
|
@@ -455,13 +455,13 @@ const getArrayBufferIterator = (initialData, maxBytes) => {
|
|
|
455
455
|
};
|
|
456
456
|
},
|
|
457
457
|
getFloat64: () => {
|
|
458
|
-
const val =
|
|
458
|
+
const val = getView().getFloat64(counter.getDiscardedOffset());
|
|
459
459
|
counter.increment(8);
|
|
460
460
|
return val;
|
|
461
461
|
},
|
|
462
462
|
readUntilNullTerminator,
|
|
463
463
|
getFloat32: () => {
|
|
464
|
-
const val =
|
|
464
|
+
const val = getView().getFloat32(counter.getDiscardedOffset());
|
|
465
465
|
counter.increment(4);
|
|
466
466
|
return val;
|
|
467
467
|
},
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
import type { MediaParserLogLevel } from '../log';
|
|
1
2
|
import type { ParseMediaMode } from '../options';
|
|
2
3
|
import type { OffsetCounter } from './offset-counter';
|
|
3
|
-
export declare const bufferManager: ({ initialData, maxBytes, counter, }: {
|
|
4
|
+
export declare const bufferManager: ({ initialData, maxBytes, counter, logLevel, }: {
|
|
4
5
|
initialData: Uint8Array;
|
|
5
6
|
maxBytes: number;
|
|
6
7
|
counter: OffsetCounter;
|
|
8
|
+
logLevel: MediaParserLogLevel;
|
|
7
9
|
}) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
getView: () => DataView<ArrayBufferLike>;
|
|
11
|
+
getUint8Array: () => Uint8Array<ArrayBufferLike>;
|
|
10
12
|
destroy: () => void;
|
|
11
13
|
addData: (newData: Uint8Array) => void;
|
|
12
14
|
skipTo: (offset: number) => void;
|
|
@@ -1,34 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.bufferManager = void 0;
|
|
4
|
+
const log_1 = require("../log");
|
|
5
|
+
const polyfilled_arraybuffer_1 = require("./polyfilled-arraybuffer");
|
|
4
6
|
const makeBufferWithMaxBytes = (initialData, maxBytes) => {
|
|
5
7
|
const maxByteLength = Math.min(maxBytes, 2 ** 31);
|
|
6
8
|
try {
|
|
7
9
|
const buf = new ArrayBuffer(initialData.byteLength, {
|
|
8
10
|
maxByteLength,
|
|
9
11
|
});
|
|
10
|
-
return buf;
|
|
12
|
+
return new polyfilled_arraybuffer_1.ResizableBuffer(buf);
|
|
11
13
|
}
|
|
12
14
|
catch (e) {
|
|
13
15
|
// Cloudflare Workers have a limit of 128MB max array buffer size
|
|
14
16
|
if (e instanceof RangeError && maxBytes > 2 ** 27) {
|
|
15
|
-
return new ArrayBuffer(initialData.byteLength, {
|
|
17
|
+
return new polyfilled_arraybuffer_1.ResizableBuffer(new ArrayBuffer(initialData.byteLength, {
|
|
16
18
|
maxByteLength: 2 ** 27,
|
|
17
|
-
});
|
|
19
|
+
}));
|
|
18
20
|
}
|
|
19
21
|
throw e;
|
|
20
22
|
}
|
|
21
23
|
};
|
|
22
|
-
const bufferManager = ({ initialData, maxBytes, counter, }) => {
|
|
24
|
+
const bufferManager = ({ initialData, maxBytes, counter, logLevel, }) => {
|
|
23
25
|
const buf = makeBufferWithMaxBytes(initialData, maxBytes);
|
|
24
|
-
if (!buf.resize) {
|
|
25
|
-
|
|
26
|
+
if (!buf.buffer.resize) {
|
|
27
|
+
log_1.Log.warn(logLevel, '`ArrayBuffer.resize` is not supported in this Runtime. Using slow polyfill.');
|
|
26
28
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
let view = new DataView(uintArray.buffer);
|
|
29
|
+
buf.uintarray.set(initialData);
|
|
30
|
+
let view = new DataView(buf.uintarray.buffer);
|
|
30
31
|
const destroy = () => {
|
|
31
|
-
|
|
32
|
+
buf.uintarray = new Uint8Array(0);
|
|
32
33
|
buf.resize(0);
|
|
33
34
|
};
|
|
34
35
|
const flushBytesRead = (force, mode) => {
|
|
@@ -43,11 +44,11 @@ const bufferManager = ({ initialData, maxBytes, counter, }) => {
|
|
|
43
44
|
return { bytesRemoved: 0, removedData: null };
|
|
44
45
|
}
|
|
45
46
|
counter.discardBytes(bytesToRemove);
|
|
46
|
-
const removedData = mode === 'download' ?
|
|
47
|
-
const newData =
|
|
48
|
-
|
|
47
|
+
const removedData = mode === 'download' ? buf.uintarray.slice(0, bytesToRemove) : null;
|
|
48
|
+
const newData = buf.uintarray.slice(bytesToRemove);
|
|
49
|
+
buf.uintarray.set(newData);
|
|
49
50
|
buf.resize(newData.byteLength);
|
|
50
|
-
view = new DataView(
|
|
51
|
+
view = new DataView(buf.uintarray.buffer);
|
|
51
52
|
return { bytesRemoved: bytesToRemove, removedData };
|
|
52
53
|
};
|
|
53
54
|
const skipTo = (offset) => {
|
|
@@ -63,7 +64,7 @@ const bufferManager = ({ initialData, maxBytes, counter, }) => {
|
|
|
63
64
|
counter.increment(offset - currentOffset);
|
|
64
65
|
};
|
|
65
66
|
const addData = (newData) => {
|
|
66
|
-
const oldLength = buf.byteLength;
|
|
67
|
+
const oldLength = buf.buffer.byteLength;
|
|
67
68
|
const newLength = oldLength + newData.byteLength;
|
|
68
69
|
if (newLength < oldLength) {
|
|
69
70
|
throw new Error('Cannot decrement size');
|
|
@@ -72,15 +73,15 @@ const bufferManager = ({ initialData, maxBytes, counter, }) => {
|
|
|
72
73
|
throw new Error(`Exceeded maximum byte length ${maxBytes} with ${newLength}`);
|
|
73
74
|
}
|
|
74
75
|
buf.resize(newLength);
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
view = new DataView(
|
|
76
|
+
buf.uintarray = new Uint8Array(buf.buffer);
|
|
77
|
+
buf.uintarray.set(newData, oldLength);
|
|
78
|
+
view = new DataView(buf.uintarray.buffer);
|
|
78
79
|
};
|
|
79
80
|
const replaceData = (newData, seekTo) => {
|
|
80
81
|
buf.resize(newData.byteLength);
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
view = new DataView(
|
|
82
|
+
buf.uintarray = new Uint8Array(buf.buffer);
|
|
83
|
+
buf.uintarray.set(newData);
|
|
84
|
+
view = new DataView(buf.uintarray.buffer);
|
|
84
85
|
counter.setDiscardedOffset(seekTo);
|
|
85
86
|
// reset counter to 0
|
|
86
87
|
counter.decrement(counter.getOffset());
|
|
@@ -88,8 +89,8 @@ const bufferManager = ({ initialData, maxBytes, counter, }) => {
|
|
|
88
89
|
counter.increment(seekTo);
|
|
89
90
|
};
|
|
90
91
|
return {
|
|
91
|
-
view,
|
|
92
|
-
|
|
92
|
+
getView: () => view,
|
|
93
|
+
getUint8Array: () => buf.uintarray,
|
|
93
94
|
destroy,
|
|
94
95
|
addData,
|
|
95
96
|
skipTo,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResizableBuffer = void 0;
|
|
4
|
+
class ResizableBuffer {
|
|
5
|
+
constructor(buffer) {
|
|
6
|
+
this.buffer = buffer;
|
|
7
|
+
this.uintarray = new Uint8Array(buffer);
|
|
8
|
+
}
|
|
9
|
+
resize(newLength) {
|
|
10
|
+
if (typeof this.buffer.resize === 'function') {
|
|
11
|
+
this.buffer.resize(newLength);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
const newBuffer = new ArrayBuffer(newLength);
|
|
15
|
+
new Uint8Array(newBuffer).set(new Uint8Array(this.buffer).subarray(0, Math.min(this.buffer.byteLength, newLength)));
|
|
16
|
+
this.buffer = newBuffer;
|
|
17
|
+
this.uintarray = new Uint8Array(newBuffer);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.ResizableBuffer = ResizableBuffer;
|
|
@@ -82,6 +82,9 @@ const makeFetchRequest = async ({ range, src, controller, }) => {
|
|
|
82
82
|
const parsedContentRange = contentRange
|
|
83
83
|
? parseContentRange(contentRange)
|
|
84
84
|
: null;
|
|
85
|
+
if (!res.ok) {
|
|
86
|
+
throw new Error(`Server returned status code ${res.status} for ${resolvedUrl} and range ${requestedRange}`);
|
|
87
|
+
}
|
|
85
88
|
const { supportsContentRange } = validateContentRangeAndDetectIfSupported({
|
|
86
89
|
requestedRange,
|
|
87
90
|
parsedContentRange,
|
|
@@ -92,10 +95,6 @@ const makeFetchRequest = async ({ range, src, controller, }) => {
|
|
|
92
95
|
ownController.abort(new errors_1.MediaParserAbortError('Aborted by user'));
|
|
93
96
|
}, { once: true });
|
|
94
97
|
}
|
|
95
|
-
if (res.status.toString().startsWith('4') ||
|
|
96
|
-
res.status.toString().startsWith('5')) {
|
|
97
|
-
throw new Error(`Server returned status code ${res.status} for ${resolvedUrl} and range ${requestedRange}`);
|
|
98
|
-
}
|
|
99
98
|
const contentDisposition = res.headers.get('content-disposition');
|
|
100
99
|
const name = (_a = contentDisposition === null || contentDisposition === void 0 ? void 0 : contentDisposition.match(/filename="([^"]+)"/)) === null || _a === void 0 ? void 0 : _a[1];
|
|
101
100
|
const { contentLength, needsContentRange, reader } = await (0, get_body_and_reader_1.getLengthAndReader)({
|
|
@@ -11,7 +11,6 @@ const warnIfRemotionLicenseNotAcknowledged = ({ acknowledgeRemotionLicense, logL
|
|
|
11
11
|
return;
|
|
12
12
|
}
|
|
13
13
|
warningShown = true;
|
|
14
|
-
log_1.Log.warn(logLevel,
|
|
15
|
-
log_1.Log.warn(logLevel, `Pass \`acknowledgeRemotionLicense: true\` to \`${apiName}\` function to make this message disappear.`);
|
|
14
|
+
log_1.Log.warn(logLevel, `Note: Some companies are required to obtain a license to use @remotion/media-parser. See: https://remotion.dev/license\nPass \`acknowledgeRemotionLicense: true\` to \`${apiName}\` function to make this message disappear.`);
|
|
16
15
|
};
|
|
17
16
|
exports.warnIfRemotionLicenseNotAcknowledged = warnIfRemotionLicenseNotAcknowledged;
|
|
@@ -26,7 +26,11 @@ const video_section_1 = require("./video-section");
|
|
|
26
26
|
const makeParserState = ({ hasAudioTrackHandlers, hasVideoTrackHandlers, controller, onAudioTrack, onVideoTrack, contentLength, logLevel, mode, src, readerInterface, onDiscardedData, selectM3uStreamFn, selectM3uAssociatedPlaylistsFn, m3uPlaylistContext, contentType, name, callbacks, fieldsInReturnValue, mimeType, initialReaderInstance, makeSamplesStartAtZero, prefetchCache, }) => {
|
|
27
27
|
let skippedBytes = 0;
|
|
28
28
|
const returnValue = {};
|
|
29
|
-
const iterator = (0, buffer_iterator_1.getArrayBufferIterator)(
|
|
29
|
+
const iterator = (0, buffer_iterator_1.getArrayBufferIterator)({
|
|
30
|
+
initialData: new Uint8Array([]),
|
|
31
|
+
maxBytes: contentLength,
|
|
32
|
+
logLevel,
|
|
33
|
+
});
|
|
30
34
|
const increaseSkippedBytes = (bytes) => {
|
|
31
35
|
skippedBytes += bytes;
|
|
32
36
|
};
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "4.0.
|
|
1
|
+
export declare const VERSION = "4.0.319";
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/media-parser"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/media-parser",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.319",
|
|
7
7
|
"main": "dist/index.js",
|
|
8
8
|
"sideEffects": false,
|
|
9
9
|
"devDependencies": {
|
|
10
10
|
"@types/wicg-file-system-access": "2023.10.5",
|
|
11
11
|
"eslint": "9.19.0",
|
|
12
12
|
"@types/bun": "1.2.8",
|
|
13
|
-
"@remotion/example-videos": "4.0.
|
|
14
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
13
|
+
"@remotion/example-videos": "4.0.319",
|
|
14
|
+
"@remotion/eslint-config-internal": "4.0.319"
|
|
15
15
|
},
|
|
16
16
|
"publishConfig": {
|
|
17
17
|
"access": "public"
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
"homepage": "https://www.remotion.dev/docs/media-parser",
|
|
117
117
|
"description": "A pure JavaScript library for parsing video files",
|
|
118
118
|
"scripts": {
|
|
119
|
-
"formatting": "prettier src --check",
|
|
119
|
+
"formatting": "prettier --experimental-cli src --check",
|
|
120
120
|
"lint": "eslint src",
|
|
121
121
|
"test": "bun test src/test",
|
|
122
122
|
"make": "tsc -d && bun --env-file=../.env.bundle bundle.ts"
|