{ "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:mobile-ui": "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:demo-video:mobile": "npx tsc && node dist/src/spec/demoVideoMobile.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)", "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:eslint lint:spellcheck", "lint:fix": "npm-run-all lint:eslint:fix lint:prettier:fix", "lint:prettier": "prettier --check \"**/*.ts{x,}\"", "lint:prettier:fix": "prettier --write \"**/*.ts{x,}\"", "lint:eslint": "eslint --ext .ts,.tsx .", "lint:eslint:fix": "eslint --ext .ts,.tsx . --fix", "lint:spellcheck": "cspell -e ./build -e \"node_modules\" \"**/*.ts{x,}\"", "build": "tsc && (cd app && yarn run build)", "build:server": "npx tsc && (cd app && npx webpack --config webpack.browser.config.mjs --mode production)", "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" }, "resolutions": { "@electron/node-gyp": "10.2.0-electron.1" }, "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-SA-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", "@typescript-eslint/eslint-plugin": "7.18.0", "@typescript-eslint/parser": "7.18.0", "builder-util-runtime": "9.3.1", "chai": "4.5.0", "cspell": "8.19.4", "electron": "39.2.7", "electron-builder": "26.4.0", "eslint": "8.57.0", "eslint-config-airbnb": "19.0.4", "eslint-config-airbnb-typescript": "18.0.0", "eslint-import-resolver-typescript": "4.4.4", "eslint-plugin-import": "2.32.0", "eslint-plugin-jsx-a11y": "6.10.2", "eslint-plugin-react": "7.37.5", "eslint-plugin-react-hooks": "7.0.1", "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", "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.7.3", "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", "openai": "6.16.0", "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" } }