core: reduce mime db footprint

This commit is contained in:
Koushik Dutta
2022-02-11 12:42:32 -08:00
parent 1af5a35635
commit bfd075eee9
3 changed files with 34 additions and 36 deletions

View File

@@ -1,21 +1,22 @@
{
"name": "@scrypted/core",
"version": "0.0.194",
"version": "0.0.195",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@scrypted/core",
"version": "0.0.194",
"version": "0.0.195",
"license": "Apache-2.0",
"dependencies": {
"@koush/wrtc": "^0.5.2",
"@scrypted/sdk": "file:../../sdk",
"mime-types": "^2.1.34",
"mime": "^3.0.0",
"router": "^1.3.6",
"typescript": "^4.5.5"
},
"devDependencies": {
"@types/mime": "^2.0.3",
"@types/node": "^16.9.0"
}
},
@@ -71,7 +72,7 @@
},
"../../sdk": {
"name": "@scrypted/sdk",
"version": "0.0.161",
"version": "0.0.167",
"license": "ISC",
"dependencies": {
"@babel/plugin-proposal-class-properties": "^7.14.5",
@@ -166,6 +167,12 @@
"resolved": "../../sdk",
"link": true
},
"node_modules/@types/mime": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz",
"integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==",
"dev": true
},
"node_modules/@types/node": {
"version": "16.9.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.0.tgz",
@@ -673,23 +680,15 @@
"node": ">= 0.6"
}
},
"node_modules/mime-db": {
"version": "1.51.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz",
"integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
"version": "2.1.34",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz",
"integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==",
"dependencies": {
"mime-db": "1.51.0"
"node_modules/mime": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
"integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
"bin": {
"mime": "cli.js"
},
"engines": {
"node": ">= 0.6"
"node": ">=10.0.0"
}
},
"node_modules/minimatch": {
@@ -1413,6 +1412,12 @@
"webpack-bundle-analyzer": "^4.5.0"
}
},
"@types/mime": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz",
"integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==",
"dev": true
},
"@types/node": {
"version": "16.9.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.0.tgz",
@@ -1808,18 +1813,10 @@
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
},
"mime-db": {
"version": "1.51.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz",
"integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g=="
},
"mime-types": {
"version": "2.1.34",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz",
"integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==",
"requires": {
"mime-db": "1.51.0"
}
"mime": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
"integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A=="
},
"minimatch": {
"version": "3.0.4",

View File

@@ -1,6 +1,6 @@
{
"name": "@scrypted/core",
"version": "0.0.194",
"version": "0.0.195",
"description": "Scrypted Core plugin. Provides the UI, websocket, and engine.io APIs.",
"author": "Scrypted",
"license": "Apache-2.0",
@@ -32,11 +32,12 @@
"dependencies": {
"@koush/wrtc": "^0.5.2",
"@scrypted/sdk": "file:../../sdk",
"mime-types": "^2.1.34",
"mime": "^3.0.0",
"router": "^1.3.6",
"typescript": "^4.5.5"
},
"devDependencies": {
"@types/mime": "^2.0.3",
"@types/node": "^16.9.0"
}
}

View File

@@ -1,6 +1,6 @@
import { MediaStreamUrl, BufferConverter, FFMpegInput, HttpRequest, HttpRequestHandler, HttpResponse, ScryptedDeviceBase, ScryptedMimeTypes, MediaObject } from "@scrypted/sdk";
import { BufferConverter, HttpRequest, HttpRequestHandler, HttpResponse, ScryptedDeviceBase, ScryptedMimeTypes } from "@scrypted/sdk";
import sdk from "@scrypted/sdk";
import mimeTypes from "mime-types";
import mime from "mime/lite";
const {endpointManager} = sdk;
@@ -49,7 +49,7 @@ export class UrlConverter extends ScryptedDeviceBase implements HttpRequestHandl
const uuid = uuidv4();
const endpoint = await (this.secure ? endpointManager.getPublicLocalEndpoint(this.nativeId) : endpointManager.getInsecurePublicLocalEndpoint(this.nativeId));
const extension = mimeTypes.extension(fromMimeType);
const extension = mime.getExtension(fromMimeType);
const filename = uuid + (extension ? `.${extension}` : '');