{ "name": "magicmirror", "version": "2.18.0", "description": "The open source modular smart mirror platform.", "main": "js/electron.js", "scripts": { "start": "DISPLAY=\"${DISPLAY:=:0}\" ./node_modules/.bin/electron js/electron.js", "start:dev": "DISPLAY=\"${DISPLAY:=:0}\" ./node_modules/.bin/electron js/electron.js dev", "server": "node ./serveronly", "install": "echo \"Installing vendor files ...\n\" && cd vendor && npm install --loglevel=error", "install-fonts": "echo \"Installing fonts ...\n\" && cd fonts && npm install --loglevel=error", "postinstall": "npm run install-fonts && echo \"MagicMirror installation finished successfully! \n\"", "test": "NODE_ENV=test jest -i --forceExit", "test:coverage": "NODE_ENV=test nyc --reporter=lcov --reporter=text jest -i --forceExit", "test:electron": "NODE_ENV=test jest --selectProjects electron -i --forceExit", "test:e2e": "NODE_ENV=test jest --selectProjects e2e -i --forceExit", "test:unit": "NODE_ENV=test jest --selectProjects unit -i --forceExit", "test:prettier": "prettier . --check", "test:js": "eslint 'js/**/*.js' 'modules/default/**/*.js' 'clientonly/*.js' 'serveronly/*.js' 'translations/*.js' 'vendor/*.js' 'tests/**/*.js' 'config/*' --config .eslintrc.json", "test:css": "stylelint 'css/main.css' 'fonts/*.css' 'modules/default/**/*.css' 'vendor/*.css' --config .stylelintrc.json", "test:calendar": "node ./modules/default/calendar/debug.js", "config:check": "node js/check_config.js", "lint:prettier": "prettier . --write", "lint:js": "eslint 'js/**/*.js' 'modules/default/**/*.js' 'clientonly/*.js' 'serveronly/*.js' 'translations/*.js' 'vendor/*.js' 'tests/**/*.js' 'config/*' --config .eslintrc.json --fix", "lint:css": "stylelint 'css/main.css' 'fonts/*.css' 'modules/default/**/*.css' 'vendor/*.css' --config .stylelintrc.json --fix", "lint:staged": "pretty-quick --staged", "prepare": "[ -f node_modules/.bin/husky ] && husky install || echo no husky installed." }, "repository": { "type": "git", "url": "git+https://github.com/MichMich/MagicMirror.git" }, "keywords": [ "magic mirror", "smart mirror", "mirror UI", "modular" ], "author": "Michael Teeuw", "contributors": [ "https://github.com/MichMich/MagicMirror/graphs/contributors" ], "license": "MIT", "bugs": { "url": "https://github.com/MichMich/MagicMirror/issues" }, "homepage": "https://magicmirror.builders", "devDependencies": { "eslint-config-prettier": "^8.3.0", "eslint-plugin-jest": "^25.3.0", "eslint-plugin-jsdoc": "^37.4.0", "eslint-plugin-prettier": "^4.0.0", "express-basic-auth": "^1.2.1", "husky": "^7.0.4", "jest": "^27.4.5", "jsdom": "^19.0.0", "lodash": "^4.17.21", "nyc": "^15.1.0", "playwright": "^1.17.1", "prettier": "^2.5.1", "pretty-quick": "^3.1.3", "sinon": "^12.0.1", "stylelint": "^14.2.0", "stylelint-config-prettier": "^9.0.3", "stylelint-config-standard": "^24.0.0", "stylelint-prettier": "^2.0.0", "suncalc": "^1.8.0" }, "optionalDependencies": { "electron": "^16.0.5" }, "dependencies": { "colors": "^1.4.0", "console-stamp": "^3.0.3", "digest-fetch": "^1.2.1", "eslint": "^8.5.0", "express": "^4.17.2", "express-ipfilter": "^1.2.0", "feedme": "^2.0.2", "helmet": "^4.6.0", "iconv-lite": "^0.6.3", "module-alias": "^2.2.2", "moment": "^2.29.1", "node-fetch": "^2.6.6", "node-ical": "^0.13.0", "socket.io": "^4.4.0" }, "_moduleAliases": { "node_helper": "js/node_helper.js", "logger": "js/logger.js" }, "engines": { "node": ">=12" }, "jest": { "verbose": true, "testTimeout": 10000, "projects": [ { "displayName": "unit", "moduleNameMapper": { "logger": "/js/logger.js" }, "testMatch": [ "**/tests/unit/**/*.[jt]s?(x)" ], "testPathIgnorePatterns": [ "/tests/unit/mocks" ] }, { "displayName": "electron", "testMatch": [ "**/tests/electron/**/*.[jt]s?(x)" ] }, { "displayName": "e2e", "setupFilesAfterEnv": [ "/tests/e2e/mock-console.js" ], "testMatch": [ "**/tests/e2e/**/*.[jt]s?(x)" ], "modulePaths": [ "/js/" ], "testPathIgnorePatterns": [ "/tests/e2e/modules/mocks", "/tests/e2e/modules/basic-auth.js", "/tests/e2e/global-setup.js", "/tests/e2e/mock-console.js" ] } ] } }