{ "name": "MQTT-Explorer", "version": "0.4.0-beta.5", "description": "Explore your message queues", "main": "dist/src/electron.js", "engines": { "node": ">=20" }, "private": "true", "scripts": { "start": "electron .", "start:server": "npx tsc && node dist/src/server.js", "test": "yarn test:app && yarn test:backend", "test:all": "yarn test:app && yarn test:backend && yarn test:demo-video", "test:app": "cd app && yarn test", "test:backend": "cd backend && yarn test", "test:electron": "tsc && mocha --require source-map-support/register dist/src/spec/ui-tests.spec.js", "test:browser": "tsc && mocha --require source-map-support/register dist/src/spec/ui-tests.spec.js", "test:demo-video": "npx tsc && node dist/src/spec/demoVideo.js", "test:ui": "tsc && mocha --require source-map-support/register dist/src/spec/ui-tests.spec.js", "test:ui:vnc": "tsc && ./scripts/uiTestsWithVnc.sh", "test:mcp": "tsc && node dist/src/spec/testMcpIntrospection.js", "install": "cd app && yarn && cd ..", "dev": "npm-run-all --parallel dev:*", "dev:app": "cd app && npm run dev", "dev:electron": "tsc && electron . --development", "dev:server": "npm-run-all --parallel dev:server:*", "dev:server:app": "cd app && npx webpack-dev-server --config webpack.browser.config.mjs --mode development --progress", "dev:server:backend": "tsc && node dist/src/server.js", "lint": "npm-run-all --parallel lint:prettier lint:tslint lint:spellcheck", "lint:fix": "npm-run-all lint:tslint:fix lint:prettier:fix", "lint:prettier": "prettier --check \"**/*.ts{x,}\"", "lint:prettier:fix": "prettier --write \"**/*.ts{x,}\"", "lint:tslint": "tslint -p ./", "lint:tslint:fix": "tslint -p ./ --fix", "lint:spellcheck": "cspell -e ./build -e \"node_modules\" \"**/*.ts{x,}\"", "build": "tsc && cd app && yarn run build && cd ..", "build:server": "npx tsc && cd app && npx webpack --config webpack.browser.config.mjs --mode production && cd ..", "prepare-release": "tsx scripts/prepare-release.ts", "package": "tsx package.ts", "ui-test": "./scripts/uiTests.sh", "upload-video-artifacts": "./scripts/uploadVideoAsset.ts ui-test.mp4 ui-test.gif", "package-with-docker": "./scripts/package-with-docker.sh" }, "repository": { "type": "git", "url": "https://github.com/thomasnordquist/MQTT-Explorer.git" }, "build": { "appId": "mqtt-explorer", "productName": "MQTT Explorer", "nodeGypRebuild": false, "mac": { "appId": "de.t7n.apps.mqtt-explorer", "category": "public.app-category.developer-tools", "hardenedRuntime": true, "gatekeeperAssess": false, "publish": [ "github" ] }, "linux": { "category": "Development", "maintainer": "Thomas Nordquist" }, "snap": { "environment": { "DISABLE_WAYLAND": "1" } }, "appx": { "applicationId": "mqttexplorer", "identityName": "51031thomas.nordquist.MQTT-Explorer", "publisherDisplayName": "Thomas Nordquist", "publisher": "CN=0A6DE643-4AA2-4FF2-9729-6935C9ED8C13", "backgroundColor": "transparent", "showNameOnTiles": true }, "directories": { "app": "./", "buildResources": "res", "output": "build" }, "afterPack": "./dist/scripts/afterPack.js", "afterSign": "./dist/scripts/notarize.js" }, "author": "Thomas Nordquist", "email": "xxnerowingerxx@gmail.com", "homepage": "https://github.com", "license": "CC-BY-ND-4.0", "devDependencies": { "@babel/runtime": "^7.28.4", "@cspell/dict-typescript": "^3.2.3", "@electron/notarize": "^3.1.1", "@semantic-release/changelog": "^6.0.3", "@semantic-release/commit-analyzer": "^13.0.1", "@semantic-release/git": "^10.0.1", "@types/bcryptjs": "^3.0.0", "@types/chai": "^4.3.20", "@types/express": "^5.0.6", "@types/express-rate-limit": "^6.0.2", "@types/fs-extra": "^11.0.4", "@types/helmet": "^4.0.0", "@types/json-to-ast": "^2.1.4", "@types/lowdb": "^1.0.15", "@types/mime": "^4.0.0", "@types/mocha": "^10.0.10", "@types/mustache": "^4.2.5", "@types/node": "^25.0.3", "@types/semver": "^7.7.1", "@types/sha1": "^1.1.1", "@types/socket.io": "^3.0.2", "@types/uuid": "^8.3.4", "builder-util-runtime": "^9.3.1", "chai": "^4.5.0", "cspell": "^8.19.4", "electron": "39.2.7", "electron-builder": "^26.0.12", "mocha": "^10.8.2", "mustache": "^4.2.0", "npm-run-all": "^4.1.5", "nyc": "^17.1.0", "playwright": "^1.57.0", "prettier": "^3.7.4", "redux-thunk": "^3.1.0", "semantic-release": "^25.0.2", "semantic-release-export-data": "^1.2.0", "source-map-support": "^0.5.9", "sparkplug-client": "^3.2.4", "tslint": "^6.1.3", "tslint-config-airbnb": "^5.11.2", "tslint-react": "^5.0.0", "tslint-react-recommended": "^1.0.15", "tsx": "^4.21.0", "typescript": "^5.9.3" }, "dependencies": { "about-window": "^1.12.1", "axios": "^1.13.2", "bcryptjs": "^3.0.3", "debug": "^4.4.3", "dot-prop": "^5.3.0", "electron-log": "^5.4.3", "electron-updater": "^6.6.2", "express": "^5.2.1", "express-rate-limit": "^8.2.1", "express-validator": "^7.3.1", "fs-extra": "^11.3.3", "helmet": "^8.1.0", "js-base64": "^3.7.8", "json-to-ast": "^2.1.0", "lowdb": "^1.0.0", "mime": "^4.1.0", "mqtt": "^5.14.1", "protobufjs": "^8.0.0", "sha1": "^1.1.1", "socket.io": "^4.8.1", "sparkplug-payload": "^1.0.3", "uuid": "^11.0.0", "yarn-run-all": "^3.1.1" } }