{ "name": "magicmirror", "version": "2.30.0-develop", "description": "The open source modular smart mirror platform.", "keywords": [ "magic mirror", "magicmirror", "smart mirror", "mirror UI", "modular" ], "homepage": "https://magicmirror.builders", "bugs": { "url": "https://github.com/MagicMirrorOrg/MagicMirror/issues" }, "repository": { "type": "git", "url": "https://github.com/MagicMirrorOrg/MagicMirror" }, "license": "MIT", "author": "Michael Teeuw", "contributors": [ "https://github.com/MagicMirrorOrg/MagicMirror/graphs/contributors" ], "main": "js/electron.js", "scripts": { "config:check": "node js/check_config.js", "install-fonts": "echo \"Installing fonts ...\n\" && cd fonts && npm install --loglevel=error --no-audit --no-fund --no-update-notifier", "install-mm": "npm install --no-audit --no-fund --no-update-notifier --only=prod --omit=dev", "install-mm:dev": "npm install --no-audit --no-fund --no-update-notifier", "install-vendor": "echo \"Installing vendor files ...\n\" && cd vendor && npm install --loglevel=error --no-audit --no-fund --no-update-notifier", "lint:css": "stylelint 'css/main.css' 'fonts/*.css' 'modules/default/**/*.css' 'vendor/*.css' --config .stylelintrc.json --fix", "lint:js": "eslint . --fix", "lint:markdown": "markdownlint-cli2 . --fix", "lint:prettier": "prettier . --write", "lint:staged": "lint-staged", "postinstall": "npm run install-vendor && npm run install-fonts && echo \"MagicMirror² installation finished successfully! \n\"", "prepare": "[ -f node_modules/.bin/husky ] && husky || echo no husky installed.", "server": "node ./serveronly", "start": "npm run start:x11", "start:dev": "npm run start -- dev", "start:wayland": "WAYLAND_DISPLAY=\"${WAYLAND_DISPLAY:=wayland-1}\" ./node_modules/.bin/electron js/electron.js --enable-features=UseOzonePlatform --ozone-platform=wayland", "start:wayland:dev": "npm run start:wayland -- dev", "start:windows": ".\\node_modules\\.bin\\electron js\\electron.js", "start:windows:dev": "npm run start:windows -- dev", "start:x11": "DISPLAY=\"${DISPLAY:=:0}\" ./node_modules/.bin/electron js/electron.js", "start:x11:dev": "npm run start -- dev", "test": "NODE_ENV=test jest -i --forceExit", "test:calendar": "node ./modules/default/calendar/debug.js", "test:coverage": "NODE_ENV=test jest --coverage -i --verbose false --forceExit", "test:css": "stylelint 'css/main.css' 'fonts/*.css' 'modules/default/**/*.css' 'vendor/*.css' --config .stylelintrc.json", "test:e2e": "NODE_ENV=test jest --selectProjects e2e -i --forceExit", "test:electron": "NODE_ENV=test jest --selectProjects electron -i --forceExit", "test:js": "eslint .", "test:markdown": "markdownlint-cli2 .", "test:prettier": "prettier . --check", "test:spelling": "cspell . --gitignore", "test:unit": "NODE_ENV=test jest --selectProjects unit" }, "lint-staged": { "*": "prettier --write", "*.js": "eslint --fix", "*.css": "stylelint --fix" }, "dependencies": { "ajv": "^8.17.1", "ansis": "^3.4.0", "console-stamp": "^3.1.2", "envsub": "^4.1.0", "eslint": "^9.17.0", "express": "^4.21.2", "express-ipfilter": "^1.3.2", "feedme": "^2.0.2", "helmet": "^8.0.0", "html-to-text": "^9.0.5", "iconv-lite": "^0.6.3", "module-alias": "^2.2.3", "moment": "^2.30.1", "node-ical": "^0.20.1", "pm2": "^5.4.2", "socket.io": "^4.8.1", "suncalc": "^1.9.0", "systeminformation": "^5.23.14" }, "devDependencies": { "@stylistic/eslint-plugin": "^2.12.1", "cspell": "^8.17.1", "eslint-plugin-import": "^2.31.0", "eslint-plugin-jest": "^28.9.0", "eslint-plugin-jsdoc": "^50.6.1", "eslint-plugin-package-json": "^0.18.0", "express-basic-auth": "^1.2.1", "husky": "^9.1.7", "jest": "^29.7.0", "jsdom": "^25.0.1", "lint-staged": "^15.2.11", "markdownlint-cli2": "^0.16.0", "playwright": "^1.49.1", "prettier": "^3.4.2", "sinon": "^19.0.2", "stylelint": "^16.12.0", "stylelint-config-standard": "^36.0.1", "stylelint-prettier": "^5.0.2" }, "optionalDependencies": { "electron": "^32.2.7" }, "engines": { "node": ">=20.9.0 <21 || >=22" }, "_moduleAliases": { "node_helper": "js/node_helper.js", "logger": "js/logger.js" } }