upgrade some packages

including electron
closes #2895
pull/2899/head
Mikael Finstad 2 months ago
parent 20b5213b9a
commit 260531ac9a
No known key found for this signature in database
GPG Key ID: 25AB36E3E81CBC26

@ -11,6 +11,7 @@ Make sure you have at least Node v16. The app uses ffmpeg from PATH when develop
git clone https://github.com/mifi/lossless-cut.git
cd lossless-cut
yarn
yarn install-electron
```
Note: `yarn` may take some time to complete.

@ -7,13 +7,13 @@ export default defineConfig({
build: {
// https://electron-vite.org/guide/dev#dependencies-vs-devdependencies
// For the main process and preload, the best practice is to externalize dependencies and only bundle our own code.
target: 'node22.18',
target: 'node24.15',
sourcemap: true,
},
},
preload: {
build: {
target: 'node22.18',
target: 'node24.15',
sourcemap: true,
rollupOptions: {
output: {
@ -25,7 +25,7 @@ export default defineConfig({
renderer: {
plugins: [react()],
build: {
target: 'chrome140',
target: 'chrome148',
sourcemap: true,
chunkSizeWarningLimit: 3e6,
},

@ -45,7 +45,7 @@
},
"license": "GPL-2.0-only",
"devDependencies": {
"@actions/artifact": "^5.0.1",
"@actions/artifact": "^5.0.3",
"@adamscybot/react-leaflet-component-marker": "^2.0.3",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/modifiers": "^9.0.0",
@ -58,39 +58,39 @@
"@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.18",
"@tanstack/react-virtual": "3.13.26",
"@tsconfig/node22": "^22.0.5",
"@tsconfig/strictest": "^2.0.8",
"@tsconfig/vite-react": "^7.0.2",
"@tsconfig/vite-react": "^8.0.6",
"@types/canvas-confetti": "^1.9.0",
"@types/color": "^4.2.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.23",
"@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.3",
"@types/react": "^18.3.27",
"@types/node": "22.19.19",
"@types/react": "^18.3.29",
"@types/react-dom": "^18.3.7",
"@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.52.0",
"@typescript-eslint/parser": "^8.52.0",
"@typescript-eslint/eslint-plugin": "^8.60.0",
"@typescript-eslint/parser": "^8.60.0",
"@uidotdev/usehooks": "^2.4.1",
"@vitejs/plugin-react": "^5.1.2",
"@vitejs/plugin-react": "^5.2.0",
"canvas-confetti": "^1.9.4",
"color": "^5.0.3",
"csv-parse": "^6.1.0",
"csv-stringify": "^6.6.0",
"data-uri-to-buffer": "^6.0.2",
"electron": "^38.7.2",
"electron": "^42.3.0",
"electron-builder": "26.8.1",
"electron-vite": "^5.0.0",
"eslint": "^8.57.1",
@ -104,7 +104,7 @@
"i18next-cli": "^1.34.1",
"icon-gen": "^5.0.0",
"immer": "^11.1.3",
"ky": "^1.14.2",
"ky": "^2.0.2",
"leaflet": "^1.9.4",
"lodash": "^4.18.1",
"luxon": "^3.7.2",
@ -131,12 +131,12 @@
"sweetalert2-react-content": "^5.1.1",
"tiny-invariant": "^1.3.3",
"ts-morph": "^27.0.2",
"type-fest": "^5.3.1",
"typescript": "~5.9.3",
"type-fest": "^5.6.0",
"typescript": "~6.0.3",
"use-debounce": "^5.2.1",
"use-trace-update": "^1.3.3",
"vite": "^7.3.2",
"vitest": "^4.0.16",
"vite": "7.3.3",
"vitest": "^4.1.7",
"yargs": "^18.0.0"
},
"dependencies": {
@ -157,11 +157,11 @@
"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.7.3",
"semver": "^7.8.1",
"string-to-stream": "^3.0.1",
"winston": "^3.19.0",
"yargs-parser": "^22.0.0",
"zod": "^4.3.5"
"zod": "^4.4.3"
},
"build": {
"directories": {

@ -28,7 +28,7 @@ console.log('Started', losslessCutExePath);
// eslint-disable-next-line unicorn/prefer-top-level-await
ps.catch((err) => console.error(err));
const client = ky.extend({ prefixUrl: `http://127.0.0.1:${port}` });
const client = ky.extend({ baseUrl: `http://127.0.0.1:${port}` });
async function captureScreenshot(outPath: string) {
// https://trac.ffmpeg.org/wiki/Capture/Desktop#Windows

@ -105,10 +105,6 @@ export interface Config {
ffmpegHwaccel: FfmpegHwAccel,
}
export interface Waveform {
buffer: Buffer,
}
export interface ApiActionRequest {
id: number
action: string

@ -9,7 +9,7 @@ import type { Readable } from 'node:stream';
import { app, clipboard, nativeImage } from 'electron';
import { platform, arch, isWindows, isLinux } from './util.js';
import type { CaptureFormat, FfmpegHwAccel, Waveform } from '../common/types.js';
import type { CaptureFormat, FfmpegHwAccel } from '../common/types.js';
import type { FFprobeFormat } from '../common/ffprobe.js';
import isDev from './isDev.js';
import logger from './logger.js';
@ -196,6 +196,10 @@ export async function runFfprobe(args: readonly string[], { timeout = isDev ? 10
}
}
export interface Waveform {
buffer: Buffer,
}
export async function renderWaveformPng({ filePath, start, duration, resample, color, streamIndex, timeout }: {
filePath: string,
start?: number,

@ -616,6 +616,7 @@ function App() {
useEffect(() => {
// Reset the user preference when we go from not having compat player to having it
// eslint-disable-next-line react-hooks/set-state-in-effect
if (compatPlayerEnabled) setHideCompatPlayer(false);
}, [compatPlayerEnabled]);

@ -532,6 +532,8 @@ function SegmentList({
},
}));
// todo https://github.com/TanStack/virtual/issues/1119
// eslint-disable-next-line react-hooks/incompatible-library
const rowVirtualizer = useVirtualizer({
count: sortableList.length,
gap: 7,

@ -52,10 +52,12 @@ function FileNameTemplateEditor(opts: {
useEffect(() => {
// if an important message appears, make sure we don't auto-close after it's resolved
// https://github.com/mifi/lossless-cut/issues/2567
// eslint-disable-next-line react-hooks/set-state-in-effect
if (haveImportantMessage) setOpen(true);
}, [haveImportantMessage]);
useEffect(() => {
// eslint-disable-next-line react-hooks/set-state-in-effect
setText(templateIn);
}, [templateIn]);

@ -44,6 +44,7 @@ function useKeyframes({ keyframesEnabled, filePath, commandedTime, videoStream,
const findNearestKeyFrameTime = useCallback(({ time, direction }: { time: number, direction: number }) => ffmpegFindNearestKeyFrameTime({ frames: neighbouringKeyFrames, time, direction }), [neighbouringKeyFrames]);
// eslint-disable-next-line react-hooks/set-state-in-effect
useEffect(() => setNeighbouringKeyFrames({}), [filePath, videoStream]);
useDebounceOld(() => {

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save