2016-03-27 20:40:07 +02:00
|
|
|
{
|
2020-05-11 21:59:45 +02:00
|
|
|
"name": "magicmirror",
|
2026-04-30 22:55:47 +02:00
|
|
|
"version": "2.37.0-develop",
|
2020-05-11 21:59:45 +02:00
|
|
|
"description": "The open source modular smart mirror platform.",
|
2024-05-01 19:54:38 +02:00
|
|
|
"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": [
|
2025-12-01 20:05:06 +01:00
|
|
|
{
|
|
|
|
|
"name": "MagicMirror contributors",
|
|
|
|
|
"url": "https://github.com/MagicMirrorOrg/MagicMirror/graphs/contributors"
|
|
|
|
|
}
|
2024-05-01 19:54:38 +02:00
|
|
|
],
|
2025-06-20 14:26:33 +02:00
|
|
|
"type": "commonjs",
|
2025-07-10 08:12:09 +02:00
|
|
|
"imports": {
|
2025-08-27 13:50:37 +02:00
|
|
|
"#server_functions": {
|
|
|
|
|
"default": "./js/server_functions.js"
|
2026-01-22 19:24:37 +01:00
|
|
|
},
|
|
|
|
|
"#http_fetcher": {
|
|
|
|
|
"default": "./js/http_fetcher.js"
|
2025-07-10 08:12:09 +02:00
|
|
|
}
|
|
|
|
|
},
|
2020-05-11 21:59:45 +02:00
|
|
|
"main": "js/electron.js",
|
2026-03-01 08:30:24 +01:00
|
|
|
"exports": "./js/electron.js",
|
|
|
|
|
"files": [
|
|
|
|
|
"clientonly",
|
|
|
|
|
"css",
|
|
|
|
|
"defaultmodules",
|
|
|
|
|
"js",
|
|
|
|
|
"serveronly",
|
|
|
|
|
"translations",
|
|
|
|
|
"favicon.svg",
|
|
|
|
|
"index.html"
|
|
|
|
|
],
|
|
|
|
|
"sideEffects": true,
|
2020-05-11 21:59:45 +02:00
|
|
|
"scripts": {
|
2024-12-01 15:26:23 +01:00
|
|
|
"config:check": "node js/check_config.js",
|
|
|
|
|
"install-mm": "npm install --no-audit --no-fund --no-update-notifier --only=prod --omit=dev",
|
2025-11-08 21:59:05 +01:00
|
|
|
"install-mm:dev": "npm install --no-audit --no-fund --no-update-notifier && npx playwright install chromium",
|
2026-01-28 10:50:25 +01:00
|
|
|
"lint:css": "stylelint 'css/**/*.css' 'defaultmodules/**/*.css' --fix",
|
2025-02-22 19:12:01 +01:00
|
|
|
"lint:js": "eslint --fix",
|
2024-12-07 10:12:28 +01:00
|
|
|
"lint:markdown": "markdownlint-cli2 . --fix",
|
2024-12-01 15:26:23 +01:00
|
|
|
"lint:prettier": "prettier . --write",
|
|
|
|
|
"prepare": "[ -f node_modules/.bin/husky ] && husky || echo no husky installed.",
|
|
|
|
|
"server": "node ./serveronly",
|
feat(core): add `server:watch` script with automatic restart on file changes (#3920)
## Description
This PR adds a new `server:watch` script that runs MagicMirror² in
server-only mode with automatic restart and browser reload capabilities.
Particularly helpful for:
- **Developers** who need to see changes immediately without manual
restarts.
- **Users setting up their mirror** who make many changes to `config.js`
or `custom.css` and need quick feedback.
### What it does
When you run `npm run server:watch`, the watcher monitors files you
specify in `config.watchTargets`. Whenever a monitored file changes:
1. The server automatically restarts
2. Waits for the port to become available
3. Sends a reload notification to all connected browsers via Socket.io
4. Browsers automatically refresh to show the changes
This creates a seamless development experience where you can edit code,
save, and see the results within seconds.
### Implementation highlights
**Zero dependencies:** Uses only Node.js built-ins (`fs.watch`,
`child_process.spawn`, `net`, `http`) - no nodemon or external watchers
needed.
**Smart file watching:** Monitors parent directories instead of files
directly to handle atomic writes from modern editors (VSCode, etc.) that
create temporary files during save operations.
**Port management:** Waits for the old server instance to fully release
the port before starting a new one, preventing "port already in use"
errors.
### Configuration
Users explicitly define which files to monitor in their `config.js`:
```js
let config = {
watchTargets: [
"config/config.js",
"css/custom.css",
"modules/MMM-MyModule/MMM-MyModule.js",
"modules/MMM-MyModule/node_helper.js"
],
// ... rest of config
};
```
This explicit approach keeps the implementation simple (~260 lines)
while giving users full control over what triggers restarts. If
`watchTargets` is empty or undefined, the watcher starts but monitors
nothing, logging a clear warning message.
---
**Note:** This PR description has been updated to reflect the final
implementation. During the review process, we refined the approach
multiple times based on feedback.
---------
Co-authored-by: Jboucly <contact@jboucly.fr>
Co-authored-by: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com>
2025-10-28 19:14:51 +01:00
|
|
|
"server:watch": "node ./serveronly/watcher.js",
|
2026-01-11 00:01:55 +01:00
|
|
|
"start": "node --run start:wayland",
|
|
|
|
|
"start:dev": "node --run start:wayland -- dev",
|
2025-12-14 19:45:20 +01:00
|
|
|
"start:wayland": "WAYLAND_DISPLAY=\"${WAYLAND_DISPLAY:=wayland-1}\" ./node_modules/.bin/electron js/electron.js --ozone-platform=wayland",
|
2025-05-06 20:33:42 +02:00
|
|
|
"start:wayland:dev": "node --run start:wayland -- dev",
|
2024-10-23 21:42:29 +02:00
|
|
|
"start:windows": ".\\node_modules\\.bin\\electron js\\electron.js",
|
2025-05-06 20:33:42 +02:00
|
|
|
"start:windows:dev": "node --run start:windows -- dev",
|
2024-10-23 21:42:29 +02:00
|
|
|
"start:x11": "DISPLAY=\"${DISPLAY:=:0}\" ./node_modules/.bin/electron js/electron.js",
|
2025-05-06 20:33:42 +02:00
|
|
|
"start:x11:dev": "node --run start:x11 -- dev",
|
2025-11-03 19:47:01 +01:00
|
|
|
"test": "vitest run",
|
2026-01-27 08:37:52 +01:00
|
|
|
"test:calendar": "node ./defaultmodules/calendar/debug.js",
|
2025-11-03 19:47:01 +01:00
|
|
|
"test:coverage": "vitest run --coverage",
|
2026-01-28 10:50:25 +01:00
|
|
|
"test:css": "stylelint 'css/**/*.css' 'defaultmodules/**/*.css'",
|
2025-11-03 19:47:01 +01:00
|
|
|
"test:e2e": "vitest run tests/e2e",
|
|
|
|
|
"test:electron": "vitest run tests/electron",
|
2025-02-22 19:12:01 +01:00
|
|
|
"test:js": "eslint",
|
2024-12-07 10:12:28 +01:00
|
|
|
"test:markdown": "markdownlint-cli2 .",
|
2024-12-01 15:26:23 +01:00
|
|
|
"test:prettier": "prettier . --check",
|
2024-09-18 07:37:09 +02:00
|
|
|
"test:spelling": "cspell . --gitignore",
|
2025-11-03 19:47:01 +01:00
|
|
|
"test:ui": "vitest --ui",
|
|
|
|
|
"test:unit": "vitest run tests/unit",
|
|
|
|
|
"test:watch": "vitest"
|
2020-05-11 21:59:45 +02:00
|
|
|
},
|
2024-05-01 19:54:38 +02:00
|
|
|
"lint-staged": {
|
2025-09-11 18:34:08 +02:00
|
|
|
"*": "prettier --ignore-unknown --write",
|
2024-05-01 19:54:38 +02:00
|
|
|
"*.js": "eslint --fix",
|
|
|
|
|
"*.css": "stylelint --fix"
|
2020-05-11 21:59:45 +02:00
|
|
|
},
|
|
|
|
|
"dependencies": {
|
2026-03-01 08:30:24 +01:00
|
|
|
"@fontsource/roboto": "^5.2.10",
|
2025-09-23 06:27:29 +02:00
|
|
|
"@fontsource/roboto-condensed": "^5.2.8",
|
2026-03-01 08:30:24 +01:00
|
|
|
"@fortawesome/fontawesome-free": "^7.2.0",
|
2025-06-01 17:03:11 +02:00
|
|
|
"animate.css": "^4.1.1",
|
2026-03-01 08:30:24 +01:00
|
|
|
"croner": "^10.0.1",
|
2026-05-06 09:15:42 +02:00
|
|
|
"eslint": "^10.3.0",
|
2025-12-10 19:42:20 +01:00
|
|
|
"express": "^5.2.1",
|
2020-12-11 11:09:52 +01:00
|
|
|
"feedme": "^2.0.2",
|
2026-05-06 09:15:42 +02:00
|
|
|
"globals": "^17.6.0",
|
2025-03-21 12:30:08 +01:00
|
|
|
"helmet": "^8.1.0",
|
2026-05-06 09:15:42 +02:00
|
|
|
"html-to-text": "^10.0.0",
|
2026-01-24 13:15:15 +01:00
|
|
|
"iconv-lite": "^0.7.2",
|
2026-05-06 09:15:42 +02:00
|
|
|
"ipaddr.js": "^2.4.0",
|
Release 2.26.0 (#3319)
## [2.26.0] - 01-01-2024
Thanks to: @bnitkin, @bugsounet, @dependabot, @jkriegshauser,
@kaennchenstruggle, @KristjanESPERANTO and @Ybbet.
Special thanks to @khassel, @rejas and @sdetweil for taking over most
(if not all) of the work on this release as project collaborators. This
version would not be there without their effort. Thank you guys! You are
awesome!
This release also marks the latest release by Michael Teeuw. For more
info, please read the following post: [A New Chapter for MagicMirror:
The Community Takes the
Lead](https://forum.magicmirror.builders/topic/18329/a-new-chapter-for-magicmirror-the-community-takes-the-lead).
### Added
- Added update notification updater (for 3rd party modules)
- Added node 21 to the test matrix
- Added transform object to calendar:customEvents
- Added ESLint rules for jest (including jest/expect-expect and
jest/no-done-callback)
### Removed
- Removed Codecov workflow (not working anymore, other workflow
required) (#3107)
- Removed titleReplace from calendar, replaced + extended by
customEvents (backward compatibility included) (#3249)
- Removed failing unit test (#3254)
- Removed some unused variables
### Updated
- Update electron to v27 and update other dependencies as well as github
actions
- Update newsfeed: Use `html-to-text` instead of regex for transform
description
- Review ESLint config (#3269)
- Updated dependencies
- Clock module: optionally display current moon phase in addition to
rise/set times
- electron is now per default started without gpu, if needed it must be
enabled with new env var `ELECTRON_ENABLE_GPU=1` on startup (#3226)
- Replace prettier by stylistic in ESLint config to lint JavaScript (and
disable some rules for `config/config.js*` files)
- Update node-ical to v0.17.1 and fix tests
### Fixed
- Avoid fade out/in on updateDom when many calendars are used
- Fix the option eventClass on customEvents.
- Fix yr API version in locationforecast and sunrise call (#3227)
- Fix cloneObject() function to respect RegExp (#3237)
- Fix newsfeed module for feeds using "a10:updated" tag (#3238)
- Fix issue template (#3167)
- Fix #3256 filter out bad results from rrule.between
- Fix calendar events sometimes not respecting deleted events (#3250)
- Fix electron loadurl locally on Windows when address "0.0.0.0" (#2550)
- Fix updatanotification (update_helper.js): catch error if reponse is
not an JSON format (check PM2)
- Fix missing typeof in calendar module
- Fix style issues after prettier update
- Fix calendar test (#3291) by moving "Exdate check" from e2e to
electron to run on a Thursday
- Fix calendar config params `fetchInterval` and `excludedEvents` were
never used from single calendar config (#3297)
- Fix MM_PORT variable not used in electron and allow full path for
MM_CONFIG_FILE variable (#3302)
---------
Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Karsten Hassel <hassel@gmx.de>
Co-authored-by: Malte Hallström <46646495+SkySails@users.noreply.github.com>
Co-authored-by: Veeck <github@veeck.de>
Co-authored-by: veeck <michael@veeck.de>
Co-authored-by: dWoolridge <dwoolridge@charter.net>
Co-authored-by: Johan <jojjepersson@yahoo.se>
Co-authored-by: Dario Mratovich <dario_mratovich@hotmail.com>
Co-authored-by: Dario Mratovich <dario.mratovich@outlook.com>
Co-authored-by: Magnus <34011212+MagMar94@users.noreply.github.com>
Co-authored-by: Naveen <172697+naveensrinivasan@users.noreply.github.com>
Co-authored-by: buxxi <buxxi@omfilm.net>
Co-authored-by: Thomas Hirschberger <47733292+Tom-Hirschberger@users.noreply.github.com>
Co-authored-by: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com>
Co-authored-by: Andrés Vanegas Jiménez <142350+angeldeejay@users.noreply.github.com>
Co-authored-by: Dave Child <dave@addedbytes.com>
Co-authored-by: grenagit <46225780+grenagit@users.noreply.github.com>
Co-authored-by: Grena <grena@grenabox.fr>
Co-authored-by: Magnus Marthinsen <magmar@online.no>
Co-authored-by: Patrick <psieg@users.noreply.github.com>
Co-authored-by: Piotr Rajnisz <56397164+rajniszp@users.noreply.github.com>
Co-authored-by: Suthep Yonphimai <tomzt@users.noreply.github.com>
Co-authored-by: CarJem Generations (Carter Wallace) <cwallacecs@gmail.com>
Co-authored-by: Nicholas Fogal <nfogal.misc@gmail.com>
Co-authored-by: JakeBinney <126349119+JakeBinney@users.noreply.github.com>
Co-authored-by: OWL4C <124401812+OWL4C@users.noreply.github.com>
Co-authored-by: Oscar Björkman <17575446+oscarb@users.noreply.github.com>
Co-authored-by: Ismar Slomic <ismar@slomic.no>
Co-authored-by: Jørgen Veum-Wahlberg <jorgen.wahlberg@amedia.no>
Co-authored-by: Eddie Hung <6740044+eddiehung@users.noreply.github.com>
Co-authored-by: Bugsounet - Cédric <github@bugsounet.fr>
Co-authored-by: bugsounet <bugsounet@bugsounet.fr>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Knapoc <Knapoc@users.noreply.github.com>
Co-authored-by: sam detweiler <sdetweil@gmail.com>
Co-authored-by: veeck <michael.veeck@nebenan.de>
Co-authored-by: Paranoid93 <6515818+Paranoid93@users.noreply.github.com>
Co-authored-by: NolanKingdon <27908974+NolanKingdon@users.noreply.github.com>
Co-authored-by: J. Kenzal Hunter <kenzal.hunter@gmail.com>
Co-authored-by: Teddy <teddy.payet@gmail.com>
Co-authored-by: TeddyStarinvest <teddy.payet@starinvest.com>
Co-authored-by: martingron <61826403+martingron@users.noreply.github.com>
Co-authored-by: dgoth <132394363+dgoth@users.noreply.github.com>
Co-authored-by: kaennchenstruggle <54073894+kaennchenstruggle@users.noreply.github.com>
Co-authored-by: jkriegshauser <jkriegshauser@gmail.com>
Co-authored-by: Ben Nitkin <ben@nitkin.net>
2024-01-01 15:38:08 +01:00
|
|
|
"moment": "^2.30.1",
|
2026-04-29 06:32:24 +02:00
|
|
|
"moment-timezone": "^0.6.2",
|
2026-05-06 09:15:42 +02:00
|
|
|
"node-ical": "^0.26.1",
|
2025-06-01 17:03:11 +02:00
|
|
|
"nunjucks": "^3.2.4",
|
2025-12-28 12:14:31 +01:00
|
|
|
"socket.io": "^4.8.3",
|
2024-03-22 11:49:40 -07:00
|
|
|
"suncalc": "^1.9.0",
|
2026-03-31 23:59:10 +02:00
|
|
|
"systeminformation": "^5.31.5",
|
2026-05-06 09:15:42 +02:00
|
|
|
"undici": "^8.2.0",
|
2025-06-01 17:03:11 +02:00
|
|
|
"weathericons": "^2.1.0"
|
Release v2.25.0 (#3214)
## [2.25.0] - 2023-10-01
Thanks to: @bugsounet, @dgoth, @dependabot, @kenzal, @Knapoc,
@KristjanESPERANTO, @martingron, @NolanKingdon, @Paranoid93,
@TeddyStarinvest and @Ybbet.
Special thanks to @khassel, @rejas and @sdetweil for taking over most
(if not all) of the work on this release as project collaborators. This
version would not be there without their effort. Thank you guys! You are
awesome!
> ⚠️ This release needs nodejs version >= `v18`, older releases have
reached end of life and will not work!
### Added
- Added UV Index support to OpenWeatherMap
- Added 'hideDuplicates' flag to the calendar module
- Added `allowOverrideNotification` to weather module to enable sending
current weather objects with the `CURRENT_WEATHER_OVERRIDE` notification
to supplement/replace the current weather displayed
- Added optional AnimateCSS animate for `hide()`, `show()`,
`updateDom()`
- Added AnimateIn and animateOut in module config definition
- Apply AnimateIn rules on the first start
- Added automatic client page reload when server was restarted by
setting `reloadAfterServerRestart: true` in `config.js`, per default
`false` (#3105)
- Added eventClass option for customEvents on the default calendar
- Added AnimateCSS integration in tests suite (#3206)
- Added npm dependabot [Reserved to developer] (#3210)
- Added improved logging for calendar (#3110)
### Removed
- **Breaking Change**: Removed `digest` authentication method from
calendar module (which was already broken since release `2.15.0`)
### Updated
- Update roboto fonts to version v5
- Update issue template
- Update dev/dependencies incl. electron to v26
- Replace pretty-quick by lint-staged
(<https://github.com/azz/pretty-quick/issues/164>)
- Update engine node >=18. v16 reached it's end of life. (#3170)
- Update typescript definition for modules
- Cleaned up nunjuck templates
- Replace `node-fetch` with internal fetch (#2649) and remove
`digest-fetch`
- Update the French translation according to the English file.
- Update dependabot incl. vendor/fonts (monthly check)
- Renew `package-lock.json` for release
### Fixed
- Fix engine check on npm install (#3135)
- Fix undefined formatTime method in clock module (#3143)
- Fix clientonly startup fails after async added (#3151)
- Fix electron width/heigth when using xrandr under bullseye
- Fix time issue with certain recurring events in calendar module
- Fix ipWhiteList test (#3179)
- Fix newsfeed: Convert HTML entities, codes and tag in description
(#3191)
- Respect width/height (no fullscreen) if set in electronOptions
(together with `fullscreen: false`) in `config.js` (#3174)
- Fix: AnimateCSS merge hide() and show() animated css class when we do
multiple call
- Fix `Uncaught SyntaxError: Identifier 'getCorsUrl' has already been
declared (at utils.js:1:1)` when using `clock` and `weather` module
(#3204)
- Fix overriding `config.js` when running tests (#3201)
- Fix issue in weathergov provider with probability of precipitation not
showing up on hourly or daily forecast
---------
Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Karsten Hassel <hassel@gmx.de>
Co-authored-by: Malte Hallström <46646495+SkySails@users.noreply.github.com>
Co-authored-by: Veeck <github@veeck.de>
Co-authored-by: veeck <michael@veeck.de>
Co-authored-by: dWoolridge <dwoolridge@charter.net>
Co-authored-by: Johan <jojjepersson@yahoo.se>
Co-authored-by: Dario Mratovich <dario_mratovich@hotmail.com>
Co-authored-by: Dario Mratovich <dario.mratovich@outlook.com>
Co-authored-by: Magnus <34011212+MagMar94@users.noreply.github.com>
Co-authored-by: Naveen <172697+naveensrinivasan@users.noreply.github.com>
Co-authored-by: buxxi <buxxi@omfilm.net>
Co-authored-by: Thomas Hirschberger <47733292+Tom-Hirschberger@users.noreply.github.com>
Co-authored-by: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com>
Co-authored-by: Andrés Vanegas Jiménez <142350+angeldeejay@users.noreply.github.com>
Co-authored-by: Dave Child <dave@addedbytes.com>
Co-authored-by: grenagit <46225780+grenagit@users.noreply.github.com>
Co-authored-by: Grena <grena@grenabox.fr>
Co-authored-by: Magnus Marthinsen <magmar@online.no>
Co-authored-by: Patrick <psieg@users.noreply.github.com>
Co-authored-by: Piotr Rajnisz <56397164+rajniszp@users.noreply.github.com>
Co-authored-by: Suthep Yonphimai <tomzt@users.noreply.github.com>
Co-authored-by: CarJem Generations (Carter Wallace) <cwallacecs@gmail.com>
Co-authored-by: Nicholas Fogal <nfogal.misc@gmail.com>
Co-authored-by: JakeBinney <126349119+JakeBinney@users.noreply.github.com>
Co-authored-by: OWL4C <124401812+OWL4C@users.noreply.github.com>
Co-authored-by: Oscar Björkman <17575446+oscarb@users.noreply.github.com>
Co-authored-by: Ismar Slomic <ismar@slomic.no>
Co-authored-by: Jørgen Veum-Wahlberg <jorgen.wahlberg@amedia.no>
Co-authored-by: Eddie Hung <6740044+eddiehung@users.noreply.github.com>
Co-authored-by: Bugsounet - Cédric <github@bugsounet.fr>
Co-authored-by: bugsounet <bugsounet@bugsounet.fr>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Knapoc <Knapoc@users.noreply.github.com>
Co-authored-by: sam detweiler <sdetweil@gmail.com>
Co-authored-by: veeck <michael.veeck@nebenan.de>
Co-authored-by: Paranoid93 <6515818+Paranoid93@users.noreply.github.com>
Co-authored-by: NolanKingdon <27908974+NolanKingdon@users.noreply.github.com>
Co-authored-by: J. Kenzal Hunter <kenzal.hunter@gmail.com>
Co-authored-by: Teddy <teddy.payet@gmail.com>
Co-authored-by: TeddyStarinvest <teddy.payet@starinvest.com>
Co-authored-by: martingron <61826403+martingron@users.noreply.github.com>
Co-authored-by: dgoth <132394363+dgoth@users.noreply.github.com>
2023-10-01 20:13:41 +02:00
|
|
|
},
|
2024-05-01 19:54:38 +02:00
|
|
|
"devDependencies": {
|
2026-03-12 11:58:26 +01:00
|
|
|
"@eslint/js": "^10.0.1",
|
2026-03-07 16:34:28 +01:00
|
|
|
"@stylistic/eslint-plugin": "^5.10.0",
|
2026-04-29 06:32:24 +02:00
|
|
|
"@vitest/coverage-v8": "^4.1.5",
|
|
|
|
|
"@vitest/eslint-plugin": "^1.6.16",
|
|
|
|
|
"@vitest/ui": "^4.1.5",
|
|
|
|
|
"cspell": "^10.0.0",
|
2026-03-12 11:58:26 +01:00
|
|
|
"eslint-plugin-import-x": "^4.16.2",
|
2026-04-04 15:01:27 +02:00
|
|
|
"eslint-plugin-jsdoc": "^62.9.0",
|
2026-04-29 06:32:24 +02:00
|
|
|
"eslint-plugin-package-json": "^0.91.2",
|
|
|
|
|
"eslint-plugin-playwright": "^2.10.2",
|
2024-05-01 19:54:38 +02:00
|
|
|
"express-basic-auth": "^1.2.1",
|
2024-12-18 22:04:16 +01:00
|
|
|
"husky": "^9.1.7",
|
2026-05-06 09:15:42 +02:00
|
|
|
"jsdom": "^29.1.1",
|
2026-05-06 20:25:37 +02:00
|
|
|
"lint-staged": "^17.0.2",
|
2026-04-29 06:32:24 +02:00
|
|
|
"markdownlint-cli2": "^0.22.1",
|
2026-05-06 09:15:42 +02:00
|
|
|
"msw": "^2.14.3",
|
2026-04-04 15:01:27 +02:00
|
|
|
"playwright": "^1.59.1",
|
2026-04-29 06:32:24 +02:00
|
|
|
"prettier": "^3.8.3",
|
2026-05-06 09:15:42 +02:00
|
|
|
"prettier-plugin-jinja-template": "^2.2.0",
|
|
|
|
|
"stylelint": "^17.11.0",
|
2026-01-24 13:15:15 +01:00
|
|
|
"stylelint-config-standard": "^40.0.0",
|
2025-11-03 19:47:01 +01:00
|
|
|
"stylelint-prettier": "^5.0.3",
|
2026-04-29 06:32:24 +02:00
|
|
|
"vitest": "^4.1.5"
|
2020-05-11 21:59:45 +02:00
|
|
|
},
|
2024-05-01 19:54:38 +02:00
|
|
|
"optionalDependencies": {
|
2026-05-06 20:25:37 +02:00
|
|
|
"electron": "^42.0.0"
|
2020-05-11 21:59:45 +02:00
|
|
|
},
|
2021-01-05 09:54:03 +01:00
|
|
|
"engines": {
|
2025-12-10 19:42:20 +01:00
|
|
|
"node": ">=22.21.1 <23 || >=24"
|
2020-05-11 21:59:45 +02:00
|
|
|
}
|
2016-09-08 15:14:00 -04:00
|
|
|
}
|