1
0
mirror of https://github.com/mifi/lossless-cut.git synced 2024-11-22 02:12:30 +01:00
lossless-cut/package.json
2024-08-27 21:03:27 +02:00

463 lines
13 KiB
JSON

{
"name": "lossless-cut",
"productName": "LosslessCut",
"description": "The swiss army knife of lossless video/audio editing",
"copyright": "Copyright © 2021 ${author}",
"version": "3.62.0",
"main": "./out/main/index.js",
"homepage": "./",
"scripts": {
"clean": "rimraf dist out ts-dist build-resources icon-build",
"start": "electron-vite preview",
"dev": "electron-vite dev -w",
"icon-gen": "mkdirp icon-build build-resources/appx && tsx script/icon-gen.mts",
"download-ffmpeg-darwin-x64": "mkdirp ffmpeg/darwin-x64 && cd ffmpeg/darwin-x64 && wget https://github.com/mifi/ffmpeg-build-script/releases/download/6.0-5/ffmpeg-macos-X64 -O ffmpeg && wget https://github.com/mifi/ffmpeg-build-script/releases/download/6.0-5/ffprobe-macos-X64 -O ffprobe && chmod +x ffmpeg && chmod +x ffprobe",
"download-ffmpeg-darwin-arm64": "mkdirp ffmpeg/darwin-arm64 && cd ffmpeg/darwin-arm64 && wget https://github.com/mifi/ffmpeg-build-script/releases/download/6.0-5/ffmpeg-macos-ARM64 -O ffmpeg && wget https://github.com/mifi/ffmpeg-build-script/releases/download/6.0-5/ffprobe-macos-ARM64 -O ffprobe && chmod +x ffmpeg && chmod +x ffprobe",
"download-ffmpeg-linux-x64": "mkdirp ffmpeg/linux-x64 && cd ffmpeg/linux-x64 && wget https://github.com/mifi/ffmpeg-builds/releases/download/6.0/ffmpeg-n6.0-12-ga6dc92968a-linux64-gpl-shared-6.0.tar.xz -O ffmpeg-ffprobe.xz && tar -xv -f ffmpeg-ffprobe.xz && mv ffmpeg-n6.0-12-ga6dc92968a-linux64-gpl-shared-6.0 extracted && mkdirp lib && mv extracted/bin/ffmpeg extracted/bin/ffprobe extracted/lib/lib*.so* lib",
"download-ffmpeg-win32-x64": "mkdirp ffmpeg/win32-x64 && cd ffmpeg/win32-x64 && npx download-cli https://github.com/mifi/ffmpeg-builds/releases/download/6.0/ffmpeg-n6.0-12-ga6dc92968a-win64-gpl-shared-6.0.zip --out . --filename ffmpeg-ffprobe.zip && 7z x ffmpeg-ffprobe.zip && mkdirp lib && cd ffmpeg-n6.0-12-ga6dc92968a-win64-gpl-shared-6.0/bin && npx shx mv ffmpeg.exe ffprobe.exe *.dll ../../lib",
"build": "yarn icon-gen && electron-vite build",
"tsc": "tsc --build",
"test": "vitest",
"lint": "eslint --ext .js,.ts,.jsx,.tsx,.mjs,.mts .",
"pack-mac": "yarn build && electron-builder --mac dmg",
"pack-mas-dev": "yarn build && electron-builder --mac mas-dev -c.mas.provisioningProfile=LosslessCut_Dev.provisionprofile -c.mas.identity='Apple Development: Mikael Finstad (JH4PH8B3C8)'",
"pack-win": "yarn build && electron-builder --win zip --x64",
"postinstall": "electron-builder install-app-deps",
"version": "tsx script/postversion.mts && git add no.mifi.losslesscut.appdata.xml",
"pack-linux": "yarn build && electron-builder --linux",
"scan-i18n": "i18next --config i18next-parser.config.mjs",
"generate-licenses": "yarn licenses generate-disclaimer > licenses.txt && echo '\n\nffmpeg is licensed under GPL v2+:\n\nhttp://www.gnu.org/licenses/old-licenses/gpl-2.0.html' >> licenses.txt"
},
"author": {
"name": "Mikael Finstad",
"email": "finstaden@gmail.com",
"url": "https://mifi.no/losslesscut/"
},
"repository": {
"type": "git",
"url": "https://github.com/mifi/lossless-cut.git"
},
"license": "GPL-2.0-only",
"devDependencies": {
"@adamscybot/react-leaflet-component-marker": "^2.0.0",
"@fontsource/open-sans": "^4.5.14",
"@radix-ui/colors": "^0.1.8",
"@radix-ui/react-checkbox": "^1.0.4",
"@radix-ui/react-switch": "^1.0.1",
"@tsconfig/node18": "^18.2.2",
"@tsconfig/strictest": "^2.0.2",
"@tsconfig/vite-react": "^3.0.0",
"@types/color": "^3.0.6",
"@types/css-modules": "^1.0.5",
"@types/eslint": "^8",
"@types/express": "^4.17.21",
"@types/leaflet": "^1",
"@types/lodash": "^4.14.202",
"@types/lodash.debounce": "^4",
"@types/luxon": "^3.4.2",
"@types/mime-types": "^2.1.4",
"@types/morgan": "^1.9.9",
"@types/node": "18",
"@types/react": "^18.2.66",
"@types/react-dom": "^18.2.22",
"@types/sortablejs": "^1.15.0",
"@types/yargs-parser": "^21.0.3",
"@typescript-eslint/eslint-plugin": "^6.12.0",
"@typescript-eslint/parser": "^6.12.0",
"@uidotdev/usehooks": "^2.4.1",
"@vitejs/plugin-react": "^4.3.1",
"color": "^3.1.0",
"concurrently": "^6.0.0",
"csv-parse": "^4.15.3",
"csv-stringify": "^5.6.2",
"data-uri-to-buffer": "^4.0.0",
"electron": "^31.3.1",
"electron-builder": "^24.13.3",
"electron-devtools-installer": "^3.2.0",
"electron-vite": "^2.3.0",
"eslint": "^8.2.0",
"eslint-config-mifi": "^0.0.3",
"eslint-plugin-import": "^2.25.3",
"eslint-plugin-jsx-a11y": "^6.5.1",
"eslint-plugin-react": "^7.28.0",
"eslint-plugin-react-hooks": "^4.3.0",
"eslint-plugin-unicorn": "^51.0.1",
"evergreen-ui": "^6.13.1",
"fast-xml-parser": "^4.4.1",
"framer-motion": "^9.0.3",
"i18next-parser": "^9.0.1",
"icon-gen": "^4.0.0",
"immer": "^10.0.2",
"ky": "^0.33.1",
"leaflet": "^1.9.4",
"lodash": "^4.17.19",
"luxon": "^3.3.0",
"mkdirp": "^1.0.3",
"mousetrap": "^1.6.5",
"nanoid": "^5.0.6",
"p-map": "^5.5.0",
"p-retry": "^6.2.0",
"pify": "^5.0.0",
"pretty-bytes": "^6.0.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-i18next": "^15.0.0",
"react-icons": "^4.1.0",
"react-leaflet": "^4.2.1",
"react-lottie-player": "^1.5.0",
"react-sortablejs": "^6.1.4",
"react-syntax-highlighter": "^15.4.3",
"react-use": "^17.4.0",
"rimraf": "^5.0.5",
"sass": "^1.77.2",
"screenfull": "^6.0.2",
"scroll-into-view-if-needed": "^2.2.28",
"sharp": "^0.32.6",
"smpte-timecode": "^1.2.3",
"sortablejs": "^1.13.0",
"sweetalert2": "^11.11.0",
"sweetalert2-react-content": "^5.0.7",
"tiny-invariant": "^1.3.3",
"tsx": "^4.7.1",
"type-fest": "^4.23.0",
"typescript": "^5.5.4",
"use-debounce": "^5.1.0",
"use-trace-update": "^1.3.0",
"vite": "^5.3.4",
"vitest": "^2.0.3"
},
"dependencies": {
"@electron/remote": "^2.1.2",
"@octokit/core": "5",
"cue-parser": "^0.3.0",
"electron-store": "5.1.1",
"electron-unhandled": "^5.0.0",
"execa": "^8.0.1",
"express": "^4.19.2",
"express-async-handler": "^1.2.0",
"file-type": "16",
"fs-extra": "^8.1.0",
"i18next": "^23.12.2",
"i18next-fs-backend": "^2.3.2",
"json5": "^2.2.2",
"lodash.debounce": "^4.0.8",
"mime-types": "^2.1.14",
"morgan": "^1.10.0",
"semver": "^7.6.0",
"string-to-stream": "^3.0.1",
"winston": "^3.8.1",
"yargs-parser": "^21.1.1",
"zod": "^3.22.5"
},
"build": {
"directories": {
"buildResources": "build-resources"
},
"files": [
"out/**/*"
],
"asar": {
"smartUnpack": false
},
"appId": "no.mifi.losslesscut",
"artifactName": "${productName}-${os}-${arch}.${ext}",
"extraResources": [
{
"from": "locales",
"to": "locales"
}
],
"mac": {
"hardenedRuntime": true,
"notarize": true,
"appId": "no.mifi.losslesscut-mac",
"category": "public.app-category.productivity",
"target": [
{
"target": "mas",
"arch": "universal"
},
{
"target": "dmg",
"arch": [
"x64",
"arm64"
]
}
],
"electronLanguages": [
"en"
],
"extraResources": [
{
"from": "ffmpeg/darwin-${arch}",
"to": "."
}
],
"icon": "icon-build/app.icns",
"fileAssociations": [
{
"ext": [
"webm",
"mkv",
"flv",
"vob",
"ogv",
"drc",
"gif",
"gifv",
"mng",
"avi",
"mts",
"m2ts",
"ts",
"mov",
"qt",
"wmv",
"yuv",
"rm",
"rmvb",
"asf",
"amv",
"mp4",
"m4v",
"mpg",
"mp2",
"mpeg",
"mpe",
"mpv",
"m2v",
"svi",
"3gp",
"3g2",
"mxf",
"roq",
"nsv",
"f4v",
"f4p",
"f4a",
"f4b"
],
"name": "Video",
"description": "Video files",
"role": "Viewer"
},
{
"ext": [
"aa",
"aac",
"aax",
"act",
"aiff",
"alac",
"amr",
"ape",
"au",
"awb",
"dct",
"dss",
"dvf",
"flac",
"gsm",
"iklax",
"ivs",
"m4a",
"m4b",
"m4p",
"mmf",
"mp3",
"mpc",
"msv",
"nmf",
"nsf",
"ogg",
"oga",
"mogg",
"opus",
"ra",
"rf64",
"sln",
"tta",
"voc",
"vox",
"wav",
"wma",
"wv",
"8svx",
"cda"
],
"name": "Audio",
"description": "Audio files",
"role": "Viewer"
}
]
},
"mas": {
"hardenedRuntime": false,
"notarize": false,
"entitlements": "entitlements.mas.plist",
"entitlementsInherit": "entitlements.mas.inherit.plist",
"provisioningProfile": "LosslessCut_Mac_App_Store_provisioning_profile.provisionprofile",
"binaries": [
"Contents/Resources/ffmpeg",
"Contents/Resources/ffprobe"
]
},
"win": {
"target": [
"7z",
"appx"
],
"extraResources": [
{
"from": "ffmpeg/win32-${arch}/lib",
"to": "."
}
],
"icon": "icon-build/app.ico",
"fileAssociations": [
{
"ext": [
"webm",
"mkv",
"flv",
"vob",
"ogv",
"drc",
"gif",
"gifv",
"mng",
"avi",
"mts",
"m2ts",
"ts",
"mov",
"qt",
"wmv",
"yuv",
"rm",
"rmvb",
"asf",
"amv",
"mp4",
"m4v",
"mpg",
"mp2",
"mpeg",
"mpe",
"mpv",
"m2v",
"svi",
"3gp",
"3g2",
"mxf",
"roq",
"nsv",
"f4v",
"f4p",
"f4a",
"f4b"
],
"name": "Video",
"description": "Video files",
"role": "Viewer"
},
{
"ext": [
"aa",
"aac",
"aax",
"act",
"aiff",
"alac",
"amr",
"ape",
"au",
"awb",
"dct",
"dss",
"dvf",
"flac",
"gsm",
"iklax",
"ivs",
"m4a",
"m4b",
"m4p",
"mmf",
"mp3",
"mpc",
"msv",
"nmf",
"nsf",
"ogg",
"oga",
"mogg",
"opus",
"ra",
"rf64",
"sln",
"tta",
"voc",
"vox",
"wav",
"wma",
"wv",
"8svx",
"cda"
],
"name": "Audio",
"description": "Audio files",
"role": "Viewer"
}
]
},
"appx": {
"applicationId": "LosslessCut",
"identityName": "57275mifi.no.LosslessCut",
"publisher": "CN=2C479316-22A8-4D63-BC38-F0FB9AB0B974",
"publisherDisplayName": "mifi.no"
},
"linux": {
"executableName": "losslesscut",
"extraResources": [
{
"from": "ffmpeg/linux-${arch}/lib",
"to": "."
}
],
"category": "AudioVideo",
"icon": "icon-build/app-512.png",
"target": [
{
"arch": "x64",
"target": "tar.bz2"
},
{
"arch": "x64",
"target": "AppImage"
},
{
"arch": "x64",
"target": "snap"
},
{
"arch": "arm64",
"target": "tar.bz2"
},
{
"arch": "armv7l",
"target": "tar.bz2"
}
]
},
"snap": {
"plugs": [
"default",
"removable-media"
]
}
},
"packageManager": "yarn@4.4.0"
}