Commit Graph

483 Commits

Author SHA1 Message Date
Kristjan ESPERANTO
593a4b95d6 Prepare Release 2.33.0 (#3902) 2025-09-30 16:15:50 +02:00
Karsten Hassel
1f2d1b92b5 update jsdoc and other deps (#3896)
other cosmetic code changes because of new `eslint-plugin-jsdoc` version
v60
2025-09-23 06:27:29 +02:00
Kristjan ESPERANTO
777b49c566 chore: update dependencies (#3891)
Since receiving a security warning about `axios` in `node-ical`
(https://github.com/MagicMirrorOrg/MagicMirror/security/dependabot/70),
I've created [a pull request to remove `axios` from
`node-ical`](https://github.com/jens-maus/node-ical/pull/397) — it was
accepted and we now have a new version 🙂
2025-09-15 23:58:55 +02:00
Kristjan ESPERANTO
d81386f3d9 chore: use prettier --write --ignore-unknown in lint-staged to avoid errors on unsupported files (#3888)
This prevents `prettier` from failing when `lint-staged` passes
unknown/binary files, making the pre-commit hook more robust.

In concrete terms this could happen, when we, for example, add a new PNG
file. Since we rarely do this, it has not been noticed so far.

This is recommended when using asterisk:
https://github.com/lint-staged/lint-staged#automatically-fix-code-style-with-prettier-for-any-format-prettier-supports

## before

```bash
$ npx lint-staged <-- after staging a new PNG file
✔ Backed up original state in git stash (c3247d4b)
✔ Hiding unstaged changes to partially staged files...
⚠ Running tasks for staged files...
  ❯ package.json — 2 files
    ❯ * — 2 files
      ✖ prettier --write [FAILED]
    ↓ *.js — no files
    ↓ *.css — no files
↓ Skipped because of errors from tasks.
↓ Skipped because of errors from tasks.
✔ Reverting to original state because of errors...
✔ Cleaning up temporary files...

✖ prettier --write:
[error] No parser could be inferred for file "~/MagicMirror/test.png".
...
```

## after

```bash
$ npx lint-staged <-- after staging a new PNG file
✔ Backed up original state in git stash (0c3fe285)
✔ Running tasks for staged files...
✔ Applying modifications from tasks...
✔ Cleaning up temporary files...
```
2025-09-11 18:34:08 +02:00
Veeck
08d29c3083 Add Prettier plugin for Nunjuck templates (#3887) 2025-09-11 13:10:53 +02:00
Veeck
d277a276e7 Bump github actions and dependencies (#3882)
as suggested by dependabot
[here](https://github.com/MagicMirrorOrg/MagicMirror/pull/3880) and
[here](https://github.com/MagicMirrorOrg/MagicMirror/pull/3881)
also bumped the dependencies while at it

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: veeck <gitkraken@veeck.de>
2025-09-08 14:29:06 +02:00
Karsten Hassel
be957af6a6 bump minimal node version to v22.18.0 (#3877)
electron uses node v22.18 in its [current
releases](https://releases.electronjs.org/), so we should go hand in
hand and use that as the minimal node version
2025-09-04 07:07:15 +02:00
Karsten Hassel
93d5df8d04 update electron to v38 (#3876) 2025-09-03 23:59:54 +02:00
Veeck
6f4eab9535 [core] bump dependencies into september (#3872)
nothing fancy in these though

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: veeck <gitkraken@veeck.de>
2025-09-01 21:23:24 +02:00
Kristjan ESPERANTO
4c0a4689c3 [tests] refactor translation tests (#3866)
- Remove `sinon` dependency in favor of Jest native mocking
  - Unify test helper functions across translation test suites
- Rename `setupDOMEnvironment` to `createTranslationTestEnvironment` for
consistency
  - Simplify DOM setup by removing unnecessary Promise/async patterns
- Avoid potential port conflicts by using port 3001 for translator unit
tests
  - Improve test reliability and maintainability
2025-08-28 21:26:50 +02:00
sam detweiler
483d3cd4e6 Fix limitdays regression (#3863)
fixes #3840 

this is a rewrite

---------

Co-authored-by: veeck <gitkraken@veeck.de>
2025-08-28 16:13:29 +02:00
Marcel
76da0aa55e Make User-Agent configurable (#3255)
Fixes #3253 

Adds a configuration option to overwrite the default `User-Agent` header
that is send at least by the calendar and news module. Allows other
modules to use the individual user agent as well.

The configuration accepts either a string or a function:
```
var config =
	{
		...
		userAgent: 'Mozilla/5.0 (My User Agent)',
		...
	}
```
or
```
var config =
	{
		...
		userAgent: () => 'Mozilla/5.0 (My User Agent)',
		...
	}
```

---------

Co-authored-by: Veeck <github@veeck.de>
Co-authored-by: veeck <gitkraken@veeck.de>
Co-authored-by: Karsten Hassel <hassel@gmx.de>
Co-authored-by: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com>
2025-08-27 13:50:37 +02:00
Veeck
839d074df1 Update dependencies (#3857)
Just some normal maintainance after the holidays

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: veeck <gitkraken@veeck.de>
2025-08-11 12:49:03 +02:00
Karsten Hassel
e34ef0cb6e update dependencies (#3849) 2025-07-22 22:09:29 +02:00
Karsten Hassel
a05eb23306 refactor default modules: move scheduleTimer to one place (#3837)
see #3819

---------

Co-authored-by: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com>
Co-authored-by: Veeck <github@veeck.de>
2025-07-10 08:12:09 +02:00
Veeck
e4ec8c3589 Fix missing icons in clock module (#3834)
Fixes #3818

---------

Co-authored-by: veeck <gitkraken@veeck.de>
2025-07-05 22:47:38 +02:00
Karsten Hassel
855b1d7cbf update dependencies incl. electron to v37, remove one failing unit test (#3831)
- see title and #3820
- remove failing unit calendar test until solved, see
https://github.com/MagicMirrorOrg/MagicMirror/issues/3830
2025-07-01 22:38:40 +02:00
Karsten Hassel
106b505f2c Prepare 2.33.0-develop 2025-07-01 00:22:16 +02:00
Karsten Hassel
26809725e5 Prepare Release 2.32.0 (#3825) 2025-06-30 23:52:58 +02:00
Karsten Hassel
5e506ea856 last dependency update before release (#3823) 2025-06-29 19:47:21 +02:00
Karsten Hassel
d2d4d7b37f update jest to v30 (#3815)
e2e:
- needed window.close(), otherwise the objects are not destroyed
- add missing `await` in clock test
- set maxListeners for all tests

remaining todo (comes with another PR if I find the problem):
- calendar e2e is now the only test which still needs `--forceExit`
2025-06-21 13:40:10 +02:00
Bugsounet - Cédric
9a3f4f098b Update package type to commonjs (#3814)
related to #3804 

added type to `commonjs` in package.json
2025-06-20 14:26:33 +02:00
Karsten Hassel
ee874836fe update deps and fix animateCSS_spec test (#3811)
- animateCSS_spec test did throw errors at least with newest
dependencies (running locally or on gitlab)
- dependency updates: New jest v30 breaks our tests so we have to stay
with v29 until fixed (will take a look)
2025-06-19 07:35:42 +02:00
Karsten Hassel
052ec1ca26 remove existing folders fonts and vendor from local installations (#3805)
see discussions
[here](https://github.com/MagicMirrorOrg/MagicMirror/pull/3795#issuecomment-2927804743).

The used command should work under windows too. I'm open to better
solutions.

Co-authored-by: Veeck <github@veeck.de>
2025-06-07 13:20:01 +02:00
Karsten Hassel
975ee9c97d update dependencies (#3804)
and add now required "type" to `package.json`
2025-06-01 17:51:31 +02:00
Karsten Hassel
c8625ff506 simplify install and maintaining dependencies (#3795)
I was always unhappy when maintaining dependency updates to have 3
`package.json` files.

This PR moves all deps into the main `package.json` and removes the
folders `fonts` and `vendor`.

If accepted I will update the docs too.

---------

Co-authored-by: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com>
2025-06-01 17:03:11 +02:00
Kristjan ESPERANTO
e26aed927d [refactor] Replace ansis with built-in function util.styleText (#3793)
> What does the pull request accomplish?

One external dependency less.
2025-05-27 22:36:02 +02:00
Karsten Hassel
d07912d4b2 update dependencies incl. electron to v36 (#3788) 2025-05-23 06:52:28 +02:00
Kristjan ESPERANTO
965e935881 [linter] Review linter setup (#3783)
- [2b395b9f] Fix command to lint markdown in `CONTRIBUTING.md`
- [fed4c86c] Re-activate JSDoc ESLint plugin and fix linting issues (As
far as I remember, we deactivated it when we upgraded to ESLint 9
because it was not compatible with it. But its now.)
- [a3d2064b] Refactor ESLint config to use `defineConfig` and
`globalIgnores` ([these are like new
defaults](https://eslint.org/blog/2025/03/flat-config-extends-define-config-global-ignores/))
- [a3d2064b] Replace `eslint-plugin-import` with
`eslint-plugin-import-x`
(https://github.com/es-tooling/module-replacements/blob/main/docs/modules/eslint-plugin-import.md)
- [86a185b6] Switch Stylelint config to flat format and simplify
Stylelint scripts (like we already did for ESLint and prettier)
  - [f5a2c541] Fix some typos
2025-05-12 23:40:05 +02:00
dependabot[bot]
ed419ce5b3 Bump pm2 from 5.4.3 to 6.0.5 (#3776)
Bumps [pm2](https://github.com/Unitech/pm2) from 5.4.3 to 6.0.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Unitech/pm2/releases">pm2's
releases</a>.</em></p>
<blockquote>
<h2>v6.0.5</h2>
<h1>6.0.5</h1>
<ul>
<li>Bun support - Fixes <a
href="https://redirect.github.com/Unitech/pm2/issues/5893">#5893</a> <a
href="https://redirect.github.com/Unitech/pm2/issues/5774">#5774</a> <a
href="https://redirect.github.com/Unitech/pm2/issues/5682">#5682</a> <a
href="https://redirect.github.com/Unitech/pm2/issues/5675">#5675</a> <a
href="https://redirect.github.com/Unitech/pm2/issues/5777">#5777</a></li>
<li>Disable git parsing by default <a
href="https://redirect.github.com/Unitech/pm2/issues/5909">#5909</a> <a
href="https://redirect.github.com/Unitech/pm2/issues/2182">#2182</a> <a
href="https://redirect.github.com/Unitech/pm2/issues/5801">#5801</a> <a
href="https://redirect.github.com/Unitech/pm2/issues/5051">#5051</a> <a
href="https://redirect.github.com/Unitech/pm2/issues/5696">#5696</a></li>
<li>Add WEBP content type for pm2 serve <a
href="https://redirect.github.com/Unitech/pm2/issues/5900">#5900</a> <a
href="https://github.com/tbo47"><code>@​tbo47</code></a></li>
<li>Enable PM2 module update from tarball <a
href="https://redirect.github.com/Unitech/pm2/issues/5906">#5906</a> <a
href="https://github.com/AYOKINYA"><code>@​AYOKINYA</code></a></li>
<li>Fix treekil on FreeBSD <a
href="https://redirect.github.com/Unitech/pm2/issues/5896">#5896</a> <a
href="https://github.com/skeyby"><code>@​skeyby</code></a></li>
<li>fix allowing to update namespaced pm2 NPM module
(<code>@​org/module-name</code>) <a
href="https://redirect.github.com/Unitech/pm2/issues/5915">#5915</a> <a
href="https://github.com/endelendel"><code>@​endelendel</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Unitech/pm2/blob/master/CHANGELOG.md">pm2's
changelog</a>.</em></p>
<blockquote>
<h2>6.0.5</h2>
<ul>
<li>Bun support - Fixes <a
href="https://redirect.github.com/Unitech/pm2/issues/5893">#5893</a> <a
href="https://redirect.github.com/Unitech/pm2/issues/5774">#5774</a> <a
href="https://redirect.github.com/Unitech/pm2/issues/5682">#5682</a> <a
href="https://redirect.github.com/Unitech/pm2/issues/5675">#5675</a> <a
href="https://redirect.github.com/Unitech/pm2/issues/5777">#5777</a></li>
<li>Disable git parsing by default <a
href="https://redirect.github.com/Unitech/pm2/issues/5909">#5909</a> <a
href="https://redirect.github.com/Unitech/pm2/issues/2182">#2182</a> <a
href="https://redirect.github.com/Unitech/pm2/issues/5801">#5801</a> <a
href="https://redirect.github.com/Unitech/pm2/issues/5051">#5051</a> <a
href="https://redirect.github.com/Unitech/pm2/issues/5696">#5696</a></li>
<li>Add WEBP content type for pm2 serve <a
href="https://redirect.github.com/Unitech/pm2/issues/5900">#5900</a> <a
href="https://github.com/tbo47"><code>@​tbo47</code></a></li>
<li>Enable PM2 module update from tarball <a
href="https://redirect.github.com/Unitech/pm2/issues/5906">#5906</a> <a
href="https://github.com/AYOKINYA"><code>@​AYOKINYA</code></a></li>
<li>Fix treekil on FreeBSD <a
href="https://redirect.github.com/Unitech/pm2/issues/5896">#5896</a> <a
href="https://github.com/skeyby"><code>@​skeyby</code></a></li>
<li>fix allowing to update namespaced pm2 NPM module
(<code>@​org/module-name</code>) <a
href="https://redirect.github.com/Unitech/pm2/issues/5915">#5915</a> <a
href="https://github.com/endelendel"><code>@​endelendel</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/Unitech/pm2/commits/v6.0.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pm2&package-manager=npm_and_yarn&previous-version=5.4.3&new-version=6.0.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-09 22:47:20 +02:00
Karsten Hassel
53bff7243d update dependencies (#3774) 2025-05-09 22:35:09 +02:00
Kristjan ESPERANTO
7b4d363b07 [fix] Fix start:dev script (#3773)
This will fix #3772 caused by #3764.

Since I work with `start:wayland:dev` instead of `start:dev`, I didn't
notice this, sorry.
2025-05-07 16:06:09 +02:00
Kristjan ESPERANTO
b9d63d7252 Use "node --run" instead of "npm run" (#3764)
This has the advantage that the package manager is no longer involved
after the installation process.

However, previous start commands such as `npm run start` continue to
work. So we don't even have to adapt the documentation.
2025-05-06 20:33:42 +02:00
veeck
86934c8375 Prepare v2.32.0-develop 2025-04-01 21:54:00 +02:00
Veeck
01fd41c191 Prepare 2.31.0 release (#3757)
updated CHANGELOG and release process documentation

---------

Co-authored-by: veeck <gitkraken@veeck.de>
2025-04-01 18:47:56 +02:00
Veeck
f80b1f1321 Update deps before release (#3756)
Co-authored-by: veeck <gitkraken@veeck.de>
2025-04-01 08:33:31 +02:00
Karsten Hassel
2e57d785ac update dependencies (#3754) 2025-03-28 07:31:36 +01:00
Karsten Hassel
46d64abb4b update required node version and dependencies (#3747)
see discussion in
https://github.com/MagicMirrorOrg/MagicMirror/pull/3746

As [electron v35 requires node js
v22.14.0](https://www.electronjs.org/blog/electron-35-0) we should
update this here too.
2025-03-21 12:30:08 +01:00
Kristjan ESPERANTO
68ec696c25 Update ESLint and prettier (#3746)
This will fix #3745.
2025-03-18 22:30:20 +01:00
Karsten Hassel
1fcc028e49 update dependencies incl. electron to v35 (#3733) 2025-03-05 12:28:25 +01:00
Veeck
4a398f03eb Fix empty part-of-day logic (#3726)
Fixes #3727

---------

Co-authored-by: veeck <gitkraken@veeck.de>
2025-02-27 19:31:00 +01:00
Kristjan ESPERANTO
28bcee7de6 Update ESLint and simplify config (#3724)
This does not change the rules of ESLint. It's just a little cosmetic
fine-tuning.
2025-02-22 19:12:01 +01:00
Veeck
aa20eadca3 Monthly update to dependencies (#3717)
nothing to see here really

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: veeck <gitkraken@veeck.de>
2025-02-01 22:24:49 +01:00
Kristjan ESPERANTO
53ac31dcf3 Adapt start:x11:dev script (#3700)
This doesn't actually change anything functionally, but with this we use
the same schema as for `start:wayland:dev` and `start:windows:dev`.
2025-01-19 16:29:28 +01:00
Karsten Hassel
2400e2045f update dependencies and formatting (#3693)
after updating deps 2 files needed formatting updates
2025-01-13 21:36:44 +01:00
sam detweiler
6f50a7b3bd Release 2.31.0 (#3674)
begin next release
2025-01-01 10:33:17 -06:00
sam detweiler
9be625c72b ready for release 2.30.0 (#3672)
Update files impacted for release
2025-01-01 15:18:25 +01:00
Veeck
c92fbb8a7e Final dependency updates for v2.30 (#3671)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: veeck <gitkraken@veeck.de>
2025-01-01 14:30:18 +01:00
Kristjan ESPERANTO
143dfd6b67 Add some ESLint rules + minor changes (#3665)
Main point was to enable ESLint `dot-notation` and `no-unneeded-ternary`
rules for more code consistency.

I took the occasion to add two minor commits:
- Fix a problem found by running `test:spelling
- Minor dependency update

It wouldn't be a problem if the PR didn't arrive in the next release,
the changes are cosmetic.
2024-12-30 12:24:51 +01:00
Karsten Hassel
d41ce81469 update dependencies, fix typo in Collaboration.md (#3664)
last dependency update before release
2024-12-28 20:18:45 +01:00