{
    "name": "@flowfuse/node-red-dashboard",
    "version": "1.30.2",
    "description": "FlowFuse Dashboard - A collection of Node-RED nodes that provide functionality to build your own UI applications (inc. forms, buttons, charts).",
    "keywords": [
        "node-red"
    ],
    "homepage": "https://dashboard.flowfuse.com",
    "repository": {
        "type": "git",
        "url": "https://github.com/FlowFuse/node-red-dashboard.git"
    },
    "license": "Apache-2.0",
    "author": {
        "name": "Joe Pavitt",
        "url": "https://github.com/joepavitt"
    },
    "contributors": [
        {
            "name": "Pez Cuckow",
            "url": "https://github.com/pezmc"
        },
        {
            "name": "Steve McLaughlin",
            "url": "https://github.com/Steve-Mcl"
        },
        {
            "name": "FlowFuse",
            "url": "https://flowfuse.com"
        }
    ],
    "files": [
        "dist/*",
        "nodes/*"
    ],
    "scripts": {
        "build": "vite build",
        "build:dev": "cross-env NODE_ENV=development vite build --mode development",
        "cy:open": "cypress open",
        "cy:run": "cypress run",
        "cy:server": "node-red -u ./cypress/fixtures/user-dir/ -p 1881",
        "dev": "cross-env NODE_ENV=development vite build --mode development --watch",
        "dev:prod": "vite build --watch",
        "docs:build": "vitepress build docs",
        "docs:dev": "vitepress dev docs",
        "generate-pwa-assets": "pwa-assets-generator",
        "lint": "npm run lint:js && npm run lint:html && npm run lint:package",
        "lint:fix": "npm run lint:js:fix && npm run lint:html:fix && npm run lint:package:fix",
        "lint:js": "eslint --ext .js,.vue,.cjs,.mjs .",
        "lint:html": "eslint --ext .html .",
        "lint:js:fix": "npm run lint:js -- --fix",
        "lint:html:fix": "npm run lint:html -- --fix",
        "lint:package": "sort-package-json --check 'package.json'",
        "lint:package:fix": "sort-package-json 'package.json'",
        "test": "mocha \"test/**/*.spec.js\"",
        "test:cov": "npx nyc mocha \"test/**/*.spec.js\" && npx nyc report --reporter=html",
        "test:cov:view": "npx open-cli coverage/index.html",
        "test:debug": "mocha --inspect=9226 \"test/**/*.spec.js\"",
        "watch": "npm-run-all --parallel watch:dashboard watch:node-red",
        "watch:dashboard": "npm run dev",
        "watch:node-red": "cd ~/.node-red && npx nodemon --watch $(realpath ./node_modules/@flowfuse/node-red-dashboard/nodes) --ext '*' --exec node-red"
    },
    "dependencies": {
        "acorn": "^8.15.0",
        "axios": "^1.13.2",
        "core-js": "^3.47.0",
        "d3": "^7.9.0",
        "echarts": "^6.0.0",
        "escodegen": "^2.1.0",
        "express": "^4.22.1",
        "lodash.merge": "^4.6.2",
        "socket.io": "^4.8.1",
        "vue": "^3.5.25"
    },
    "devDependencies": {
        "@flowfuse/flow-renderer": "^0.5.0",
        "@mdi/font": "^7.4.47",
        "@unhead/vue": "^1.11.20",
        "@vite-pwa/assets-generator": "^1.0.0",
        "@vitejs/plugin-vue": "^5.0.4",
        "cross-env": "^7.0.3",
        "cypress": "^13.17.0",
        "dompurify": "^3.3.1",
        "eslint": "^8.57.1",
        "eslint-config-standard": "^17.1.0",
        "eslint-plugin-cypress": "^3.6.0",
        "eslint-plugin-html": "^7.1.0",
        "eslint-plugin-import": "^2.31.0",
        "eslint-plugin-n": "^16.6.2",
        "eslint-plugin-no-only-tests": "^3.3.0",
        "eslint-plugin-promise": "^6.6.0",
        "eslint-plugin-vue": "^9.33.0",
        "eslint-plugin-vuetify": "^2.5.2",
        "glob": "^10.4.5",
        "highlight.js": "^11.11.1",
        "luxon": "^3.7.2",
        "marked": "^17.0.1",
        "marked-highlight": "^2.2.3",
        "medium-zoom": "^1.1.0",
        "mermaid": "^11.12.2",
        "mocha": "^11.7.5",
        "node-red": "^4.1.2",
        "node-red-node-test-helper": "^0.3.5",
        "npm-run-all": "^4.1.5",
        "sass": "^1.96.0",
        "sharp": "^0.34.5",
        "should": "^13.2.3",
        "should-sinon": "^0.0.6",
        "sinon": "^21.0.0",
        "socket.io-client": "^4.8.1",
        "sort-package-json": "^2.15.1",
        "svgo": "^4.0.0",
        "vite": "^5.4.17",
        "vite-plugin-image-optimizer": "^2.0.2",
        "vite-plugin-pwa": "^1.0.0",
        "vitepress": "^1.0.2",
        "vue-router": "^4.6.4",
        "vuetify": "^3.11.3",
        "vuex": "^4.1.0",
        "workbox-core": "^7.4.0",
        "workbox-precaching": "^7.4.0",
        "workbox-routing": "^7.4.0",
        "workbox-strategies": "^7.4.0",
        "workbox-window": "^7.4.0"
    },
    "engines": {
        "node": ">=14"
    },
    "node-red": {
        "version": ">=3.0.0",
        "nodes": {
            "ui-base": "nodes/config/ui_base.js",
            "ui-page": "nodes/config/ui_page.js",
            "ui-link": "nodes/config/ui_link.js",
            "ui-group": "nodes/config/ui_group.js",
            "ui-theme": "nodes/config/ui_theme.js",
            "ui-form": "nodes/widgets/ui_form.js",
            "ui-text-input": "nodes/widgets/ui_text_input.js",
            "ui-number-input": "nodes/widgets/ui_number_input.js",
            "ui-file-input": "nodes/widgets/ui_file_input.js",
            "ui-button": "nodes/widgets/ui_button.js",
            "ui-button-group": "nodes/widgets/ui_button_group.js",
            "ui-dropdown": "nodes/widgets/ui_dropdown.js",
            "ui-radio-group": "nodes/widgets/ui_radio_group.js",
            "ui-slider": "nodes/widgets/ui_slider.js",
            "ui-spacer": "nodes/widgets/ui_spacer.js",
            "ui-switch": "nodes/widgets/ui_switch.js",
            "ui-text": "nodes/widgets/ui_text.js",
            "ui-table": "nodes/widgets/ui_table.js",
            "ui-chart": "nodes/widgets/ui_chart.js",
            "ui-gauge": "nodes/widgets/ui_gauge.js",
            "ui-notification": "nodes/widgets/ui_notification.js",
            "ui-audio": "nodes/widgets/ui_audio.js",
            "ui-markdown": "nodes/widgets/ui_markdown.js",
            "ui-template": "nodes/widgets/ui_template.js",
            "ui-event": "nodes/widgets/ui_event.js",
            "ui-control": "nodes/widgets/ui_control.js",
            "ui-progress": "nodes/widgets/ui_progress.js"
        }
    },
    "overrides": {
        "node-red-admin@4.1.2": {
            "axios": "^1.13.2"
        },
        "nise@5.1.9": {
            "path-to-regexp": "6.3.0"
        },
        "esbuild": ">=0.25.0",
        "cross-spawn": "~7.0.5",
        "js-yaml": ">=4.1.1",
        "tar": ">=7.5.4"
    }
}
