add699a320
- Avoid per-render target.set dispatch that reset playback - Stop timer-based and per-frame React ticking while playing - Add regression tests for render-loop sources Made-with: Cursor
125 lines
4.1 KiB
JSON
125 lines
4.1 KiB
JSON
{
|
|
"name": "DndGamePlayer",
|
|
"version": "1.0.0",
|
|
"description": "DNDGamePlayer — редактор и проигрыватель игр",
|
|
"main": "dist/main/index.cjs",
|
|
"scripts": {
|
|
"dev": "node scripts/dev.mjs",
|
|
"build": "node scripts/build.mjs --production",
|
|
"build:dev": "node scripts/build.mjs",
|
|
"build:obfuscate": "node scripts/build.mjs --production --obfuscate",
|
|
"lint": "eslint . --max-warnings 0",
|
|
"typecheck": "tsc -p tsconfig.eslint.json --noEmit",
|
|
"test": "tsx --test app/renderer/shared/ui/controls.tooltip.test.ts app/shared/ipc/contracts.mediaRemoval.test.ts app/shared/effectEraserHitTest.test.ts app/renderer/control/controlApp.effectsPanel.test.ts app/renderer/shared/effects/PxiEffectsOverlay.pointer.test.ts app/main/windows/createWindows.editorClose.test.ts app/main/windows/bootWindow.test.ts app/main/effects/effectsStore.test.ts app/main/project/assetPrune.test.ts app/main/project/zipRead.test.ts app/shared/package.build.test.ts app/shared/license/canonicalJson.test.ts app/shared/license/productKey.test.ts app/shared/license/licenseService.networkRegression.test.ts app/shared/video/videoPlaybackPerf.networkRegression.test.ts app/shared/video/videoPlaybackLoop.networkRegression.test.ts app/main/license/verifyLicenseToken.test.ts && node --test scripts/build-env.test.mjs scripts/obfuscate-main.test.mjs",
|
|
"format": "prettier . --check",
|
|
"format:write": "prettier . --write",
|
|
"release:info": "node scripts/print-release-info.mjs",
|
|
"pack": "npm run build && node scripts/release-win-prep.mjs && electron-builder",
|
|
"pack:dir": "npm run build && node scripts/release-win-prep.mjs && electron-builder --dir",
|
|
"pack:mac": "npm run build && electron-builder --mac",
|
|
"pack:win": "npm run build && node scripts/release-win-prep.mjs && electron-builder --win"
|
|
},
|
|
"keywords": [],
|
|
"author": "",
|
|
"license": "ISC",
|
|
"type": "module",
|
|
"dependencies": {
|
|
"@fontsource/inter": "^5.2.8",
|
|
"pixi.js": "^8.18.1",
|
|
"react": "^19.2.5",
|
|
"react-dom": "^19.2.5",
|
|
"reactflow": "^11.11.4"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^9.39.4",
|
|
"@resvg/resvg-js": "^2.6.2",
|
|
"@rollup/plugin-strip": "^3.0.4",
|
|
"@types/node": "^25.6.0",
|
|
"@types/react": "^19.2.14",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@types/yauzl": "^2.10.3",
|
|
"@types/yazl": "^3.3.1",
|
|
"@vitejs/plugin-react": "^6.0.1",
|
|
"babel-plugin-react-compiler": "^1.0.0",
|
|
"electron": "^41.2.0",
|
|
"electron-builder": "^26.8.1",
|
|
"esbuild": "^0.28.0",
|
|
"eslint": "^9.39.4",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"eslint-import-resolver-typescript": "^4.4.4",
|
|
"eslint-plugin-import": "^2.32.0",
|
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
"eslint-plugin-prettier": "^5.5.5",
|
|
"eslint-plugin-react": "^7.37.5",
|
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
"eslint-plugin-unicorn": "^64.0.0",
|
|
"javascript-obfuscator": "^4.2.2",
|
|
"prettier": "^3.8.3",
|
|
"tsx": "^4.21.0",
|
|
"typescript": "^6.0.2",
|
|
"typescript-eslint": "^8.58.2",
|
|
"vite": "^8.0.8",
|
|
"yauzl": "^3.3.0",
|
|
"yazl": "^3.3.1"
|
|
},
|
|
"build": {
|
|
"appId": "com.dndplayer.app",
|
|
"productName": "DNDGamePlayer",
|
|
"copyright": "Copyright © DNDGamePlayer",
|
|
"directories": {
|
|
"output": "release",
|
|
"buildResources": "build"
|
|
},
|
|
"files": [
|
|
"dist/**/*",
|
|
"package.json"
|
|
],
|
|
"asar": true,
|
|
"asarUnpack": [
|
|
"dist/preload/**"
|
|
],
|
|
"mac": {
|
|
"category": "public.app-category.games",
|
|
"target": [
|
|
{
|
|
"target": "dmg",
|
|
"arch": [
|
|
"x64",
|
|
"arm64"
|
|
]
|
|
},
|
|
{
|
|
"target": "zip",
|
|
"arch": [
|
|
"x64",
|
|
"arm64"
|
|
]
|
|
}
|
|
],
|
|
"icon": "build/icon.png"
|
|
},
|
|
"win": {
|
|
"target": [
|
|
{
|
|
"target": "nsis",
|
|
"arch": [
|
|
"x64"
|
|
]
|
|
},
|
|
{
|
|
"target": "zip",
|
|
"arch": [
|
|
"x64"
|
|
]
|
|
}
|
|
],
|
|
"icon": "build/icon.png"
|
|
},
|
|
"nsis": {
|
|
"oneClick": false,
|
|
"allowToChangeInstallationDirectory": true,
|
|
"deleteAppDataOnUninstall": false
|
|
}
|
|
}
|
|
}
|