{
  "name": "lossless-cut",
  "productName": "LosslessCut",
  "description": "The swiss army knife of lossless video/audio editing",
  "copyright": "Copyright © 2026 ${author}",
  "version": "3.69.0",
  "main": "./out/main/index.js",
  "homepage": "./",
  "type": "module",
  "scripts": {
    "clean": "rimraf dist out common-ts-dist main-ts-dist build-resources icon-build",
    "start": "electron-vite preview",
    "dev": "electron-vite dev -w",
    "download-ffmpeg-darwin-x64": "mkdirp ffmpeg/darwin-x64 && cd ffmpeg/darwin-x64 && wget https://github.com/mifi/ffmpeg-build-script/releases/download/8.0-1/ffmpeg-macos-X64 -O ffmpeg && wget https://github.com/mifi/ffmpeg-build-script/releases/download/8.0-1/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/8.0-1/ffmpeg-macos-ARM64 -O ffmpeg && wget https://github.com/mifi/ffmpeg-build-script/releases/download/8.0-1/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/8.0-1/ffmpeg-n8.0-latest-linux64-gpl-shared-8.0.tar.xz -O ffmpeg-ffprobe.xz && tar -xv -f ffmpeg-ffprobe.xz && mv ffmpeg-n8.0-latest-linux64-gpl-shared-8.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/8.0-1/ffmpeg-n8.0-latest-win64-gpl-shared-8.0.zip --out . --filename ffmpeg-ffprobe.zip && 7z x ffmpeg-ffprobe.zip && mkdirp lib && cd ffmpeg-n8.0-latest-win64-gpl-shared-8.0/bin && npx shx mv ffmpeg.exe ffprobe.exe *.dll ../../lib",
    "download-ffmpeg-win32-arm64": "mkdirp ffmpeg/win32-arm64 && cd ffmpeg/win32-arm64 && npx download-cli https://github.com/mifi/ffmpeg-builds/releases/download/8.0-1/ffmpeg-n8.0.1-76-gfa4ee7ab3c-winarm64-gpl-shared-8.0.zip --out . --filename ffmpeg-ffprobe.zip && 7z x ffmpeg-ffprobe.zip && mkdirp lib && cd ffmpeg-n8.0.1-76-gfa4ee7ab3c-winarm64-gpl-shared-8.0/bin && npx shx mv ffmpeg.exe ffprobe.exe *.dll ../../lib",
    "build": "yarn generate-icon && electron-vite build",
    "tsc": "tsc --build",
    "test": "vitest",
    "lint": "eslint --ext .js,.ts,.jsx,.tsx,.mjs,.mts .",
    "check": "yarn tsc && yarn lint && yarn test run && yarn build && yarn check-licenses && yarn scan-i18n && yarn dedupe --check && yarn generate-docs",
    "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='Mikael Finstad (JH4PH8B3C8)'",
    "pack-win": "yarn build && electron-builder --win zip --x64",
    "postinstall": "electron-builder install-app-deps",
    "version": "node script/postversion.ts && git add no.mifi.losslesscut.appdata.xml",
    "pack-linux": "yarn build && electron-builder --linux",
    "scan-i18n": "i18next-cli -c i18next.config.scan.ts extract",
    "generate-icon": "mkdirp icon-build build-resources/appx && node script/generateIcon.ts",
    "generate-licenses": "yarn licenses generate-disclaimer -R > licenses.txt && echo '\n\nffmpeg is licensed under GPL v2+:\n\nhttp://www.gnu.org/licenses/old-licenses/gpl-2.0.html' >> licenses.txt",
    "generate-docs": "node script/generateDocs.ts",
    "check-licenses": "node script/checkLicenses.ts",
    "upload-artifacts": "node script/uploadArtifacts.ts"
  },
  "author": {
    "name": "Mikael Finstad",
    "email": "finstaden@gmail.com",
    "url": "https://mifi.no/"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/mifi/lossless-cut.git"
  },
  "license": "GPL-2.0-only",
  "devDependencies": {
    "@actions/artifact": "^6.2.1",
    "@adamscybot/react-leaflet-component-marker": "^2.0.3",
    "@dnd-kit/core": "^6.3.1",
    "@dnd-kit/modifiers": "^9.0.0",
    "@dnd-kit/sortable": "^10.0.0",
    "@fontsource/open-sans": "^5.2.7",
    "@radix-ui/colors": "^3.0.0",
    "@radix-ui/react-alert-dialog": "^1.1.15",
    "@radix-ui/react-checkbox": "^1.3.3",
    "@radix-ui/react-dialog": "^1.1.15",
    "@radix-ui/react-dropdown-menu": "^2.1.16",
    "@radix-ui/react-switch": "^1.2.6",
    "@radix-ui/themes": "^3.3.0",
    "@tanstack/react-virtual": "3.13.26",
    "@tsconfig/node22": "^22.0.5",
    "@tsconfig/strictest": "^2.0.8",
    "@tsconfig/vite-react": "^8.0.6",
    "@types/canvas-confetti": "^1.9.0",
    "@types/color": "^4.2.1",
    "@types/css-modules": "^1.0.5",
    "@types/eslint": "^8.56.12",
    "@types/express": "^5.0.6",
    "@types/leaflet": "^1.9.21",
    "@types/lodash": "^4.17.24",
    "@types/lodash.debounce": "^4.0.9",
    "@types/luxon": "^3.7.1",
    "@types/mime-types": "^3.0.1",
    "@types/morgan": "^1.9.10",
    "@types/node": "22.19.19",
    "@types/react": "^19.2.15",
    "@types/react-dom": "^19.2.3",
    "@types/react-syntax-highlighter": "^15.5.13",
    "@types/semver": "^7.7.1",
    "@types/smpte-timecode": "^1.2.5",
    "@types/yargs": "^17.0.35",
    "@types/yargs-parser": "^21.0.3",
    "@typescript-eslint/eslint-plugin": "^8.60.0",
    "@typescript-eslint/parser": "^8.60.0",
    "@uidotdev/usehooks": "^2.4.1",
    "@vitejs/plugin-react": "^5.2.0",
    "canvas-confetti": "^1.9.4",
    "color": "^5.0.3",
    "csv-parse": "^6.2.1",
    "csv-stringify": "^6.7.0",
    "data-uri-to-buffer": "^8.0.0",
    "electron": "^42.3.0",
    "electron-builder": "26.15.2",
    "electron-vite": "^5.0.0",
    "eslint": "^8.57.1",
    "eslint-config-mifi": "^0.1.1",
    "eslint-plugin-import": "^2.32.0",
    "eslint-plugin-jsx-a11y": "^6.10.2",
    "eslint-plugin-react": "^7.37.5",
    "eslint-plugin-react-hooks": "^7.1.1",
    "eslint-plugin-unicorn": "56.0.1",
    "fast-xml-parser": "^5.8.0",
    "i18next-cli": "^1.58.1",
    "icon-gen": "^5.0.0",
    "immer": "^11.1.8",
    "ky": "^2.0.2",
    "leaflet": "^1.9.4",
    "lodash": "^4.18.1",
    "luxon": "^3.7.2",
    "mkdirp": "^3.0.1",
    "motion": "^12.40.0",
    "nanoid": "^5.1.11",
    "p-map": "^7.0.4",
    "p-retry": "^8.0.0",
    "pretty-bytes": "^7.1.0",
    "react": "^19.2.6",
    "react-dom": "^19.2.6",
    "react-i18next": "^17.0.8",
    "react-icons": "^5.6.0",
    "react-leaflet": "^5.0.0",
    "react-lottie-player": "^2.1.0",
    "react-markdown": "^10.1.0",
    "react-syntax-highlighter": "^16.1.1",
    "react-use": "^17.6.0",
    "sass": "^1.100.0",
    "screenfull": "^6.0.2",
    "sharp": "^0.34.5",
    "smpte-timecode": "^1.3.6",
    "sweetalert2": "^11.26.17",
    "sweetalert2-react-content": "^5.1.1",
    "tiny-invariant": "^1.3.3",
    "ts-morph": "^28.0.0",
    "type-fest": "^5.7.0",
    "typescript": "~6.0.3",
    "use-debounce": "^10.1.1",
    "use-trace-update": "^1.3.3",
    "vite": "7.3.3",
    "vitest": "^4.1.8",
    "yargs": "^18.0.0"
  },
  "dependencies": {
    "@electron/remote": "^2.1.3",
    "@octokit/core": "7.0.6",
    "cue-parser": "^0.3.0",
    "electron-devtools-installer": "^4.0.0",
    "electron-store": "5.1.1",
    "electron-unhandled": "^5.0.0",
    "execa": "^9.6.1",
    "express": "^5.2.1",
    "express-async-handler": "^1.2.0",
    "file-type": "^22.0.1",
    "i18next": "^26.3.0",
    "i18next-fs-backend": "^2.6.6",
    "json5": "^2.2.3",
    "lodash.debounce": "^4.0.8",
    "mime-types": "^3.0.2",
    "mitt": "patch:mitt@npm%3A3.0.1#~/.yarn/patches/mitt-npm-3.0.1-ce290ffa77.patch",
    "morgan": "^1.10.1",
    "semver": "^7.8.1",
    "string-to-stream": "^3.0.1",
    "winston": "^3.19.0",
    "yargs-parser": "^22.0.0",
    "zod": "^4.4.3"
  },
  "build": {
    "directories": {
      "buildResources": "build-resources"
    },
    "files": [
      "out/**/*"
    ],
    "publish": "onTag",
    "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": {
      "artifactName": "${productName}-${os}-${arch}-DONT-USE-THIS-FILE.${ext}",
      "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": [
        {
          "arch": "x64",
          "target": "7z"
        },
        {
          "arch": "x64",
          "target": "appx"
        },
        {
          "arch": "arm64",
          "target": "7z"
        },
        {
          "arch": "arm64",
          "target": "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": {
      "artifactName": "${productName}-${os}-${arch}-DONT-USE-THIS-FILE.${ext}",
      "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": {
      "base": "core22",
      "plugs": [
        "default",
        "removable-media"
      ]
    }
  },
  "resolutions": {
    "icon-gen/sharp": "^0.34.5"
  },
  "packageManager": "yarn@4.11.0"
}
