{ "name": "aily-blockly", "productName": "aily blockly", "version": "0.9.71", "author": "coloz", "description": "aily blockly dev", "main": "electron/main.js", "build": { "publish": [ { "provider": "generic", "url": "https://dl.yiyu.pro/blockly" } ], "appId": "blockly.aily.pro", "forceCodeSigning": false, "asar": true, "asarUnpack": [ "electron/preload.js", "electron/node_modules/**/*.node", "electron/node_modules/@lydell/**", "electron/node_modules/debug/**", "electron/node_modules/ms/**", "electron/node_modules/node-gyp-build/**", "electron/node_modules/@serialport/**", "electron/node_modules/serialport/**" ], "protocols": [ { "name": "Aily Blockly OAuth", "schemes": [ "ailyblockly" ] } ], "directories": { "output": "dist/aily-blockly/" }, "files": [ "!**/*", "package.json", { "from": "electron", "to": "electron", "filter": [ "**/*", "!package-lock.json", "!.gitignore" ] }, { "from": "electron/node_modules", "to": "electron/node_modules" }, { "from": "dist/aily-blockly/browser", "to": "renderer" } ], "extraResources": [ { "from": "child/scripts", "to": "child/scripts" }, { "from": "child/tools", "to": "child/tools", "filter": [ "**/*", "!node_modules/aily-blockly/**", "!node_modules/.aily-blockly-*/**" ] }, { "from": "public/icon.ico", "to": "icon.ico" }, { "from": "electron/app-update.yml", "to": "app-update.yml" } ], "win": { "target": "nsis", "sign": false, "signAndEditExecutable": true, "artifactName": "aily-blockly-${version}.${ext}", "icon": "public/icon.ico", "fileAssociations": [ { "ext": "abi", "name": "Aily Blockly Project", "description": "Aily Blockly Project File", "icon": "public/icon.ico", "role": "Editor" } ], "extraResources": [ { "from": "child/windows", "to": "child", "filter": [ "**/*", "!aily-builder-*.7z" ] } ] }, "mac": { "icon": "public/icon-512.ico", "artifactName": "aily-blockly-macos-${version}-${arch}.${ext}", "fileAssociations": [ { "ext": "abi", "name": "Aily Blockly Project", "description": "Aily Blockly Project File", "role": "Editor" } ], "extraResources": [ { "from": "child/macos", "to": "child", "filter": [ "**/*", "!aily-builder-*.7z" ] } ] }, "linux": { "icon": "public/icon.ico", "fileAssociations": [ { "ext": "abi", "name": "Aily Blockly Project", "description": "Aily Blockly Project File", "mimeType": "application/x-aily-blockly-project" } ] }, "nsis": { "oneClick": false, "allowToChangeInstallationDirectory": true, "createDesktopShortcut": false, "perMachine": true, "allowElevation": true, "deleteAppDataOnUninstall": true, "include": "build/installer.nsh", "runAfterFinish": true, "differentialPackage": false, "artifactName": "aily-blockly-Setup-${version}.${ext}", "createStartMenuShortcut": true, "shortcutName": "aily blockly" } }, "scripts": { "ng": "ng", "start": "ng serve", "watch": "ng build --watch --configuration development", "electron": "concurrently \"npm start\" \"wait-on tcp:4200 && electron ./electron/main.js --serve\"", "build": "ng build --base-href ./ && electron-builder build", "build:cn": "node ./scripts/build-electron.js --flavor cn", "build:global": "node ./scripts/build-electron.js --flavor global", "build:mac": "ng build --base-href ./ && electron-builder --mac --arm64 --x64", "build:mac:universal": "ng build --base-href ./ && electron-builder --mac --universal", "test:e2e": "node ./scripts/run-e2e.mjs test", "test:e2e:ui": "node ./scripts/run-e2e.mjs ui", "test:e2e:headed": "node ./scripts/run-e2e.mjs headed", "test:e2e:fast": "node ./scripts/run-e2e.mjs fast", "test:e2e:report": "node ./scripts/run-e2e.mjs report" }, "private": true, "dependencies": { "@angular/animations": "^19.0.0", "@angular/cdk-experimental": "^19.2.19", "@angular/common": "^19.0.0", "@angular/compiler": "^19.0.0", "@angular/core": "^19.0.0", "@angular/forms": "^19.0.0", "@angular/platform-browser": "^19.0.0", "@angular/platform-browser-dynamic": "^19.0.0", "@angular/router": "^19.0.0", "@blockly/block-dynamic-connection": "^0.7.16", "@blockly/field-colour-hsv-sliders": "^5.0.19", "@blockly/workspace-minimap": "^0.2.16", "@ctrl/tinycolor": "^4.1.0", "@lydell/node-pty": "^1.1.0", "@modelcontextprotocol/sdk": "^1.25.1", "@ngx-translate/core": "^16.0.3", "@orama/orama": "^3.1.18", "@orama/tokenizers": "^3.1.18", "@tanstack/angular-virtual": "^4.0.6", "@types/uuid": "^10.0.0", "@xterm/addon-clipboard": "^0.1.0", "@xterm/addon-fit": "^0.10.0", "@xterm/xterm": "^5.5.0", "acorn": "^8.16.0", "altcha": "^2.3.0", "angular2-draggable": "^16.0.0", "animate.css": "^4.1.1", "blockly": "npm:aily-project-blockly@^1.0.2", "buffer": "^6.0.3", "cropperjs": "^1.6.2", "dragselect": "^2.7.4", "esptool-js": "^0.6.0", "fancy-ansi": "^0.1.3", "iconv-lite": "^0.7.0", "install": "^0.13.0", "js-base64": "^3.7.8", "js-tiktoken": "^1.0.21", "jsonrepair": "^3.13.0", "lightweight-charts": "^5.1.0", "loaders.css": "^0.1.2", "marked": "^15.0.12", "marked-highlight": "^2.2.1", "mermaid": "^11.9.0", "monaco-editor": "^0.52.2", "mp4box": "^2.3.0", "ng-zorro-antd": "^19.0.1", "ngx-x-markdown": "^0.0.2", "penpal": "^7.0.6", "pinyin-pro": "^3.26.0", "rxjs": "~7.8.0", "semver": "^7.7.4", "shiki": "^3.5.0", "simplebar-angular": "^3.3.0", "sortablejs": "^1.15.6", "spark-md5": "^3.0.2", "tslib": "^2.3.0", "ua-parser-js": "^2.0.5", "uuid": "^11.1.0", "zone.js": "~0.15.0" }, "devDependencies": { "@angular-devkit/build-angular": "^19.0.0", "@angular/cli": "^19.0.0", "@angular/compiler-cli": "^19.0.0", "@playwright/test": "^1.49.0", "@types/jasmine": "~5.1.0", "@types/node": "^22.10.7", "@types/sortablejs": "^1.15.9", "@types/ua-parser-js": "^0.7.39", "concurrently": "^9.1.2", "cross-env": "^7.0.3", "electron": "^35.0.2", "electron-builder": "^25.1.8", "jasmine-core": "~5.4.0", "karma": "~6.4.0", "karma-chrome-launcher": "~3.2.0", "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", "typescript": "~5.6.2", "wait-on": "^9.0.10" }, "optionalDependencies": { "dmg-license": "^1.0.11" }, "overrides": { "blockly": "npm:aily-project-blockly@^1.0.2" } }