Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 2.30.0 #3673

Merged
merged 175 commits into from
Jan 1, 2025
Merged

Release 2.30.0 #3673

merged 175 commits into from
Jan 1, 2025

Conversation

sdetweil
Copy link
Collaborator

@sdetweil sdetweil commented Jan 1, 2025

[2.30.0] - 2025-01-01

Thanks to: @xsorifc28, @HeikoGr, @bugsounet, @khassel, @KristjanESPERANTO, @rejas, @sdetweil.

⚠️ This release needs nodejs version v20 or v22 or higher, minimum version is v20.18.1

Added

Changed

Removed

Updated

Fixed

MichMich and others added 30 commits January 1, 2024 15:43
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from
0.5.43 to 0.5.44.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/moment/moment-timezone/releases">moment-timezone's
releases</a>.</em></p>
<blockquote>
<h2>Release 0.5.44</h2>
<ul>
<li>Updated data to IANA TZDB <code>2023d</code>.</li>
<li>Fixed <code>.valueOf()</code> to return <code>NaN</code> for invalid
zoned objects (matching default <code>moment</code>) <a
href="https://redirect.github.com/moment/moment-timezone/pull/1082">#1082</a>.</li>
<li>Performance improvements:
<ul>
<li>Use binary search when looking up zone information <a
href="https://redirect.github.com/moment/moment-timezone/pull/720">#720</a>.</li>
<li>Avoid redundant checks in <code>tz.guess()</code>.</li>
<li>Avoid redundant <code>getZone()</code> calls in
<code>.tz()</code>.</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/moment/moment-timezone/blob/develop/changelog.md">moment-timezone's
changelog</a>.</em></p>
<blockquote>
<h3><code>0.5.44</code> <em>2023-12-29</em></h3>
<ul>
<li>Updated data to IANA TZDB <code>2023d</code>.</li>
<li>Fixed <code>.valueOf()</code> to return <code>NaN</code> for invalid
zoned objects (matching default <code>moment</code>) <a
href="https://redirect.github.com/moment/moment-timezone/pull/1082">#1082</a>.</li>
<li>Performance improvements:
<ul>
<li>Use binary search when looking up zone information <a
href="https://redirect.github.com/moment/moment-timezone/pull/720">#720</a>.</li>
<li>Avoid redundant checks in <code>tz.guess()</code>.</li>
<li>Avoid redundant <code>getZone()</code> calls in
<code>.tz()</code>.</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/moment/moment-timezone/commit/25f19b6190634fdea9189039f94c639cfbd06e54"><code>25f19b6</code></a>
Build moment-timezone 0.5.44</li>
<li><a
href="https://github.com/moment/moment-timezone/commit/4734cb2515ad2790b4a8fca14570a236eb358c59"><code>4734cb2</code></a>
Bump version to 0.5.44</li>
<li><a
href="https://github.com/moment/moment-timezone/commit/585fabfcbdc02bd8ca35709d95d689fa422b47cb"><code>585fabf</code></a>
Merge pull request <a
href="https://redirect.github.com/moment/moment-timezone/issues/1085">#1085</a>
from moment/data/2023d</li>
<li><a
href="https://github.com/moment/moment-timezone/commit/ece926a59f53c72b51e8250ef97393900c0b7227"><code>ece926a</code></a>
Add test for valueOf behaviour with invalid moments (<a
href="https://redirect.github.com/moment/moment-timezone/issues/1075">#1075</a>)</li>
<li><a
href="https://github.com/moment/moment-timezone/commit/341beac0fb2c1c50fc4d3aa20f6a788d2b724a5a"><code>341beac</code></a>
Ensure valueOf returns NaN for invalid instances (<a
href="https://redirect.github.com/moment/moment-timezone/issues/1082">#1082</a>)</li>
<li><a
href="https://github.com/moment/moment-timezone/commit/69d856d5aa56a7c35df73920a15f91b5a1eb2778"><code>69d856d</code></a>
data: Add 2023d</li>
<li><a
href="https://github.com/moment/moment-timezone/commit/dc53e6cdecd6c2a9d85f4635c407366f76a8d4c8"><code>dc53e6c</code></a>
build(deps): bump <code>@​babel/traverse</code> (<a
href="https://redirect.github.com/moment/moment-timezone/issues/1076">#1076</a>)</li>
<li><a
href="https://github.com/moment/moment-timezone/commit/dffed7a8a9936e5be023ca76d389c258f1746dcd"><code>dffed7a</code></a>
perf: Reduce unnecessary getZone() calls in moment.tz()</li>
<li><a
href="https://github.com/moment/moment-timezone/commit/f7d8fc2d42a832b390c3f770ec5d52b4803a1a14"><code>f7d8fc2</code></a>
docs: Add note about maintenance mode in contributing guide</li>
<li><a
href="https://github.com/moment/moment-timezone/commit/4b1419b51f9625391f8391eaa515e2f9e5a1af16"><code>4b1419b</code></a>
docs: Update contributing guide to reflect the latest data process</li>
<li>Additional commits viewable in <a
href="https://github.com/moment/moment-timezone/compare/0.5.43...0.5.44">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=moment-timezone&package-manager=npm_and_yarn&previous-version=0.5.43&new-version=0.5.44)](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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from
46.9.1 to 47.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/gajus/eslint-plugin-jsdoc/releases">eslint-plugin-jsdoc's
releases</a>.</em></p>
<blockquote>
<h2>v47.0.2</h2>
<h2><a
href="https://github.com/gajus/eslint-plugin-jsdoc/compare/v47.0.1...v47.0.2">47.0.2</a>
(2024-01-01)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>TS:</strong> use flat config; fixes <a
href="https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1130">#1130</a>
(<a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/3677e43322f74a22d2a91a60ebed5f367e6461af">3677e43</a>)</li>
</ul>
<h2>v47.0.1</h2>
<h2><a
href="https://github.com/gajus/eslint-plugin-jsdoc/compare/v47.0.0...v47.0.1">47.0.1</a>
(2023-12-31)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>TS:</strong> make configs explicit (<a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/47f316160d0ac55b8b5c0b0239b703b44bc383c0">47f3161</a>)</li>
</ul>
<h2>v47.0.0</h2>
<h1><a
href="https://github.com/gajus/eslint-plugin-jsdoc/compare/v46.10.1...v47.0.0">47.0.0</a>
(2023-12-31)</h1>
<h3>Features</h3>
<ul>
<li>expose TS types for index file; fixes <a
href="https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1130">#1130</a>
(<a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/dd9e71daa223ff04e508b8abc4692de3172bc7b0">dd9e71d</a>)</li>
</ul>
<h3>BREAKING CHANGES</h3>
<ul>
<li>Adds types</li>
</ul>
<h2>v46.10.1</h2>
<h2><a
href="https://github.com/gajus/eslint-plugin-jsdoc/compare/v46.10.0...v46.10.1">46.10.1</a>
(2023-12-30)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>revert change to engines for now (<a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/5e6280ffd4ed57ab83a6cfff259febce847e8545">5e6280f</a>)</li>
</ul>
<h2>v46.10.0</h2>
<h1><a
href="https://github.com/gajus/eslint-plugin-jsdoc/compare/v46.9.1...v46.10.0">46.10.0</a>
(2023-12-30)</h1>
<h3>Features</h3>
<ul>
<li>support ESLint 9 (<a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/eec9d9532b58a528b7e204f74f23b3d0c46ea329">eec9d95</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/3677e43322f74a22d2a91a60ebed5f367e6461af"><code>3677e43</code></a>
fix(TS): use flat config; fixes <a
href="https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1130">#1130</a></li>
<li><a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/5f61575951d9f5e794afd9c9977dc35298509698"><code>5f61575</code></a>
chore(lint): handle disable directives in config</li>
<li><a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/47f316160d0ac55b8b5c0b0239b703b44bc383c0"><code>47f3161</code></a>
fix(TS): make configs explicit</li>
<li><a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/dd9e71daa223ff04e508b8abc4692de3172bc7b0"><code>dd9e71d</code></a>
feat: expose TS types for index file; fixes <a
href="https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1130">#1130</a></li>
<li><a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/eb3f4b47e1bf4c4527e06961621eadb701e2ae72"><code>eb3f4b4</code></a>
chore(linting): add ignores properly and disable directives for now</li>
<li><a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/5e6280ffd4ed57ab83a6cfff259febce847e8545"><code>5e6280f</code></a>
fix: revert change to engines for now</li>
<li><a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/eec9d9532b58a528b7e204f74f23b3d0c46ea329"><code>eec9d95</code></a>
feat: support ESLint 9</li>
<li><a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/5c4ccb9752c70bde1ca3a800370d146c757b71c9"><code>5c4ccb9</code></a>
chore: update devDeps.</li>
<li>See full diff in <a
href="https://github.com/gajus/eslint-plugin-jsdoc/compare/v46.9.1...v47.0.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-jsdoc&package-manager=npm_and_yarn&previous-version=46.9.1&new-version=47.0.2)](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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This is a first attempt to bring additional system information into the
console (see #3328). It's certainly not yet perfect, but with the PR we
have a better basis for discussion.

I tried to keep the output small so that we get as much information as
possible in screenshots.

This is how it looks on my development system.

```bash
[03.01.2024 00:50.19.226] [INFO] System information:
 ### SYSTEM:   manufacturer: Notebook; model: N650DU; raspberry: undefined; virtual: false
 ### OS:       platform: linux; distro: Debian GNU/Linux; release: 12
 ### VERSIONS: MagicMirror: 2.27.0-develop; electron: 27.2.0; kernel: 5.10.0-20-amd64; node: 21.1.0; npm: 10.2.4; pm2: 5.3.0; docker: 20.10.24+dfsg1
 ```
 
 Why is it still a draft:
- [x] I have doubts that utils.js is the right place for the function. What do you think?
=> Update: As long as there is no better idea, it stays there.
- [x] Instead of working through all wishes you expressed in the issue #3328, I only implemented what was easy to achieve. And wanted to hear what you think about this approach.
=> Update: Some added. Of course, more information could be added later, as soon as experience has been gained in productive use.
- [x] I don't quite like the introductory line ("The following lines provide information..."). Should I perhaps simply replace it with "System information:"?
=> Update: Changed to "System information:"
 
 [Here](https://github.com/sebhildebrandt/systeminformation#function-reference-and-os-support) you can see what information we could easily add with the systeminformation package.
 
 It would be interesting how the raspberry field is filled on a raspi system and with docker there should be another line, but I can't easily test that now.
- Add ELECTRON_ENABLE_GPU
- Remove docker version
- Differentiation between installed and used node version
- Highlight "Ready to go!" for server mode (Since we display system
information in the console, it is easy to overlook this important line.)

## Electron mode

### Before

```bash
[07.01.2024 16:37.30.591] [INFO]  System information:
 ### SYSTEM:   manufacturer: Notebook; model: N650DU; raspberry: undefined; virtual: false
 ### OS:       platform: linux; distro: Debian GNU/Linux; release: 12; arch: x64; kernel: 5.10.0-20-amd64
 ### VERSIONS: electron: 27.2.0; node: 18.17.1; npm: 10.2.4; pm2: 5.3.0; docker: 20.10.24+dfsg1
 ### OTHER:    timeZone: Europe/Berlin
```

### After

```bash
[07.01.2024 16:39.04.736] [INFO]  System information:
### SYSTEM:   manufacturer: Notebook; model: N650DU; raspberry: undefined; virtual: false
### OS:       platform: linux; distro: Debian GNU/Linux; release: 12; arch: x64; kernel: 5.10.0-20-amd64
### VERSIONS: electron: 27.2.0; used node: 18.17.1; installed node: 21.1.0; npm: 10.2.4; pm2: 5.3.0
### OTHER:    timeZone: Europe/Berlin; ELECTRON_ENABLE_GPU: undefined
```

## server mode

### Before

```bash
[07.01.2024 16:36.49.106] [LOG]   
Ready to go! Please point your browser to: http://localhost:8080
[07.01.2024 16:36.49.287] [INFO]  System information:
 ### SYSTEM:   manufacturer: Notebook; model: N650DU; raspberry: undefined; virtual: false
 ### OS:       platform: linux; distro: Debian GNU/Linux; release: 12; arch: x64; kernel: 5.10.0-20-amd64
 ### VERSIONS: electron: undefined; node: 21.1.0; npm: 10.2.4; pm2: 5.3.0; docker: 20.10.24+dfsg1
 ### OTHER:    timeZone: Europe/Berlin
```

### After

```bash
[2024-01-07 16:33:53.804] [INFO]  
>>>   Ready to go! Please point your browser to: http://localhost:8080   <<< 
[2024-01-07 16:33:53.997] [INFO]  System information:
### SYSTEM:   manufacturer: Notebook; model: N650DU; raspberry: undefined; virtual: false
### OS:       platform: linux; distro: Debian GNU/Linux; release: 12; arch: x64; kernel: 5.10.0-20-amd64
### VERSIONS: electron: undefined; used node: 21.1.0; installed node: 21.1.0; npm: 10.2.4; pm2: 5.3.0
### OTHER:    timeZone: Europe/Berlin; ELECTRON_ENABLE_GPU: undefined 
```
It is basically a cosmetic thing, but has the following advantages:

1. Consistency with the official node documentation. The prefix is used
there.
2. It is easier to recognize the build-in modules.
Removing lodash dependency by replacing merge by spread operator.

I have also split the return into two variables to make it easier to
understand what is happening.
…r 1 active news items (#3336)

When the newsfeed module has an items list of size 1, every
`updateInterval` the animation runs to transition from the active story
to itself. This is unsightly. This PR suppresses that.

To reproduce: configure newsfeed with a single news source,
`ignoreOldItems` true, a short `updateInterval` (e.g. 3000), and a
carefully-chosen small `ignoreOlderThan` lining up with the current
contents of your news source.
by excluding them from global error handling, see discussions in
#3337
Hopefully this solves the problem with arm64 (reported in PR #3337).
- Replacing old package `colors` by drop-in replacement `ansis`
- Rework `console-stamp` config to show all Log outputs in same color
(errors = red, warnings = yellow, debug = blue background (only for the
label), info = blue)
- This also fixes `npm run config:check` (broken since
6097547)

Feel free to let me know if the PR is too big and you want me to do
individual PRs for the changes.

Before:

![before](https://github.com/MagicMirrorOrg/MagicMirror/assets/35647502/88e48ec3-102c-40f3-9e9b-5d14fe446a43)

After:

![after](https://github.com/MagicMirrorOrg/MagicMirror/assets/35647502/4c8c4bad-08c9-46a3-92c9-14b996c13a7d)

---------

Co-authored-by: Veeck <[email protected]>
For experimenting, I sometimes work with different CSS files. I can
imagine that others do this too.

This setting for the css folder corresponds to the setting we already
have for the config folder.
It appears that #3336 introduced a bug where a newsfeed with >1 items
would stop updating after a while (usually after `activeItem` wraps
around the end of the list). Sorry! My bad, I hadn't tested that case
well enough.
where logLevel is not set because config is not loaded at this time, see
#3353
Bumps
[follow-redirects](https://github.com/follow-redirects/follow-redirects)
from 1.15.3 to 1.15.5.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/b1677ce00110ee50dc5da576751d39b281fc4944"><code>b1677ce</code></a>
Release version 1.15.5 of the npm package.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/d8914f7982403ea096b39bd594a00ee9d3b7e224"><code>d8914f7</code></a>
Preserve fragment in responseUrl.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/65858205e59f1e23c9bf173348a7a7cbb8ac47f5"><code>6585820</code></a>
Release version 1.15.4 of the npm package.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/7a6567e16dfa9ad18a70bfe91784c28653fbf19d"><code>7a6567e</code></a>
Disallow bracketed hostnames.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/05629af696588b90d64e738bc2e809a97a5f92fc"><code>05629af</code></a>
Prefer native URL instead of deprecated url.parse.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/1cba8e85fa73f563a439fe460cf028688e4358df"><code>1cba8e8</code></a>
Prefer native URL instead of legacy url.resolve.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/72bc2a4229bc18dc9fbd57c60579713e6264cb92"><code>72bc2a4</code></a>
Simplify _processResponse error handling.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/3d42aecdca39b144a0a2f27ea134b4cf67dd796a"><code>3d42aec</code></a>
Add bracket tests.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/bcbb096b32686ecad6cd34235358ed6f2217d4f0"><code>bcbb096</code></a>
Do not directly set Error properties.</li>
<li>See full diff in <a
href="https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=follow-redirects&package-manager=npm_and_yarn&previous-version=1.15.3&new-version=1.15.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)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/MagicMirrorOrg/MagicMirror/network/alerts).

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
#3332)

#3285

Because there is so many conflit with package,
I have rewrite the code with v2.27.0-develop

For remember:

 * recode: `update_helper.js` with `pm2` library
 * fix: default config -> `updates` is a array
 * delete: `command-exists` library (not used)
 * delete: `PM2_GetList()`  function (not used)
 * add: check `updates.length` (prevent crash)
 * add: `[PM2]` tag in log (for better visibility)
 * add: `pm2` library
 
advantage:
  * we use the pm2 library directly
* avoids weird returns from child_process.exec when requesting a json
format from pm2
  * simplified the code

inconvenient:
  * we have vulnerabilities with axios

240120 Fix:
* use `pm2_env.pm_cwd` instead of `pm2_env.PWD` : prevent using `pm2
restart <id> --update-env` in other directory (for enable GPU rendering
for exemple)
 * resolve packages (again)
`pm2` just updated to v5.3.1 with `0 vulnerabilities`

let's delete `allow-ghsas` in depsreview and update dependencies
Bumps
[actions/dependency-review-action](https://github.com/actions/dependency-review-action)
from 3 to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/dependency-review-action/releases">actions/dependency-review-action's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<ul>
<li>Update action to Node 20 by <a
href="https://github.com/takost"><code>@​takost</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/639">actions/dependency-review-action#639</a></li>
<li>Dependabot updates, see the full changelog for more details.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/takost"><code>@​takost</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/639">actions/dependency-review-action#639</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/dependency-review-action/compare/v3.1.5...v4.0.0">https://github.com/actions/dependency-review-action/compare/v3.1.5...v4.0.0</a></p>
<h2>3.1.5</h2>
<h2>What's Changed</h2>
<ul>
<li>Smaller <code>per_page</code> when requesting diff by <a
href="https://github.com/hmaurer"><code>@​hmaurer</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/649">actions/dependency-review-action#649</a></li>
<li>Update dependencies:
<ul>
<li>Bump <code>@​typescript-eslint/parser</code> from 6.10.0 to 6.13.1
by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>
in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/630">actions/dependency-review-action#630</a></li>
<li>Bump prettier from 3.0.3 to 3.1.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/629">actions/dependency-review-action#629</a></li>
<li>Bump <code>@​types/jest</code> from 29.5.8 to 29.5.11 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/637">actions/dependency-review-action#637</a></li>
<li>Bump nodemon from 3.0.1 to 3.0.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/636">actions/dependency-review-action#636</a></li>
<li>Replace pip -&gt; pypi in PURL examples by <a
href="https://github.com/febuiles"><code>@​febuiles</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/638">actions/dependency-review-action#638</a></li>
<li>Bump <code>@​typescript-eslint/eslint-plugin</code> from 6.12.0 to
6.15.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/644">actions/dependency-review-action#644</a></li>
<li>Bump eslint from 8.53.0 to 8.56.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/640">actions/dependency-review-action#640</a></li>
<li>Bump <code>@​typescript-eslint/parser</code> from 6.13.1 to 6.16.0
by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>
in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/645">actions/dependency-review-action#645</a></li>
<li>Bump prettier from 3.1.0 to 3.1.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/646">actions/dependency-review-action#646</a></li>
</ul>
</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/dependency-review-action/compare/v3.1.4...v3.1.5">https://github.com/actions/dependency-review-action/compare/v3.1.4...v3.1.5</a></p>
<h2>3.1.4</h2>
<h2>What's Changed</h2>
<ul>
<li>
<p>Fixed a <a
href="https://redirect.github.com/actions/dependency-review-action/issues/618">bug</a>
with severity filtering when using the <code>allow_ghsas</code> option:
<a
href="https://redirect.github.com/actions/dependency-review-action/pull/623">actions/dependency-review-action#623</a>.</p>
</li>
<li>
<p>Updates dependencies:</p>
<ul>
<li>Bump <code>@​types/node</code> from 16.18.61 to 16.18.62 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/619">actions/dependency-review-action#619</a>
action/pull/620</li>
<li>Bump <code>@​typescript-eslint/eslint-plugin</code> from 6.11.0 to
6.12.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/625">actions/dependency-review-action#625</a></li>
<li>Bump typescript from 5.2.2 to 5.3.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/624">actions/dependency-review-action#624</a></li>
</ul>
</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/dependency-review-action/compare/v3...v3.1.4">https://github.com/actions/dependency-review-action/compare/v3...v3.1.4</a></p>
<h2>3.1.3</h2>
<h2>What's Changed</h2>
<ul>
<li>Fixes purl &quot;version must be percent-encoded&quot; by <a
href="https://github.com/theztefan"><code>@​theztefan</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/617">actions/dependency-review-action#617</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/dependency-review-action/compare/v3...v3.1.3">https://github.com/actions/dependency-review-action/compare/v3...v3.1.3</a></p>
<h2>3.1.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix a regression for setups using self-hosted runners behind HTTP
proxies:<a
href="https://github.com/febuiles"><code>@​febuiles</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/611">actions/dependency-review-action#611</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/dependency-review-action/commit/4cd9eb2d23752464a87e00499c30d256a59a01b4"><code>4cd9eb2</code></a>
Updating docs to point to v4.</li>
<li><a
href="https://github.com/actions/dependency-review-action/commit/4901385134134e04cec5fbe5ddfe3b2c5bd5d976"><code>4901385</code></a>
bump to 4.0.0</li>
<li><a
href="https://github.com/actions/dependency-review-action/commit/dbf82a4a5e789041feb229da46628470c73c9a0a"><code>dbf82a4</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/dependency-review-action/issues/639">#639</a>
from takost/takost/update-to-node-20</li>
<li><a
href="https://github.com/actions/dependency-review-action/commit/78aeb2a9481f34926df8c3362adc914ee6d1c2c4"><code>78aeb2a</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/dependency-review-action/issues/663">#663</a>
from actions/dependabot/npm_and_yarn/typescript-eslin...</li>
<li><a
href="https://github.com/actions/dependency-review-action/commit/4e510006f53ff8d6674dedf2002e9e0b82cc5470"><code>4e51000</code></a>
Bump <code>@​typescript-eslint/parser</code> from 6.18.0 to 6.18.1</li>
<li><a
href="https://github.com/actions/dependency-review-action/commit/9560737c5e7fc2128ffae68101ce1affe1e71e19"><code>9560737</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/dependency-review-action/issues/661">#661</a>
from actions/dependabot/npm_and_yarn/typescript-eslin...</li>
<li><a
href="https://github.com/actions/dependency-review-action/commit/4125f47f7e6413e88785249688b6c9013bc2a18e"><code>4125f47</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/dependency-review-action/issues/660">#660</a>
from actions/dependabot/npm_and_yarn/types/node-16.18.70</li>
<li><a
href="https://github.com/actions/dependency-review-action/commit/07cc93e0c88d01956b9bdd07a4ae2a3dd5b03aff"><code>07cc93e</code></a>
Bump <code>@​typescript-eslint/eslint-plugin</code> from 6.18.0 to
6.18.1</li>
<li><a
href="https://github.com/actions/dependency-review-action/commit/e2c203b8b7d8c24420ab8f3b640f6c7a4379ffa8"><code>e2c203b</code></a>
Bump <code>@​types/node</code> from 16.18.62 to 16.18.70</li>
<li><a
href="https://github.com/actions/dependency-review-action/commit/f0b304d0bca35ae1f93498c415db77ce72699b7c"><code>f0b304d</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/dependency-review-action/issues/653">#653</a>
from actions/dependabot/npm_and_yarn/got-14.0.0</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/dependency-review-action/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/dependency-review-action&package-manager=github_actions&previous-version=3&new-version=4)](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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[follow-redirects](https://github.com/follow-redirects/follow-redirects)
from 1.15.3 to 1.15.5.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/b1677ce00110ee50dc5da576751d39b281fc4944"><code>b1677ce</code></a>
Release version 1.15.5 of the npm package.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/d8914f7982403ea096b39bd594a00ee9d3b7e224"><code>d8914f7</code></a>
Preserve fragment in responseUrl.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/65858205e59f1e23c9bf173348a7a7cbb8ac47f5"><code>6585820</code></a>
Release version 1.15.4 of the npm package.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/7a6567e16dfa9ad18a70bfe91784c28653fbf19d"><code>7a6567e</code></a>
Disallow bracketed hostnames.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/05629af696588b90d64e738bc2e809a97a5f92fc"><code>05629af</code></a>
Prefer native URL instead of deprecated url.parse.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/1cba8e85fa73f563a439fe460cf028688e4358df"><code>1cba8e8</code></a>
Prefer native URL instead of legacy url.resolve.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/72bc2a4229bc18dc9fbd57c60579713e6264cb92"><code>72bc2a4</code></a>
Simplify _processResponse error handling.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/3d42aecdca39b144a0a2f27ea134b4cf67dd796a"><code>3d42aec</code></a>
Add bracket tests.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/bcbb096b32686ecad6cd34235358ed6f2217d4f0"><code>bcbb096</code></a>
Do not directly set Error properties.</li>
<li>See full diff in <a
href="https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=follow-redirects&package-manager=npm_and_yarn&previous-version=1.15.3&new-version=1.15.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)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/MagicMirrorOrg/MagicMirror/network/alerts).

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Notable changes in this context:

- simplification of the ESLint calls - there is no longer a combination
of two file/directory lists (one in `package.json` and one in
`.eslintignore`)
- removal of a non-existent path from the `.eslintignore`
- use shorthand declaration for GitHub repository

Normally the new plugin would also sort the scripts in the package.json
alphabetically, but I think the current order is fine, so I deactivated
it.

Is it overkill to introduce a linter plugin just for the `package.json`
files?

In other projects I have seen that such internal changes were marked
with "chore" in the changelog. That's what I've done here. These chore
changes are less interesting for "normal" users.

Please feel free to give me feedback.
see #3358

used command: `find ./ -type f -exec perl -i -0pe
's/\/\*\s*magicmirror.*?\*\/\s*//si' {} \;`

This is a first draft, I think we should preserve some of the comments.
* Worked around several issues in the RRULE library that were causing
deleted calender events to still show, some initial and recurring events
to not show, and some event times to be off an hour. (#3291)
* Renamed variables in *calendarfetcherutils.js* to be more clear about
use of `moment` and js's `Date` class.
* Added calendar config option `forceUseCurrentTime` (default:`false`)
which will ignore overridden `Date.now` in the config in order to keep
some tests consistent.
* Added several unit tests for crossing DST in different timezones with
excluded events.
- Remove useless css class in clock
- Fix typo in calendar
- Changelog also got a little screwed after last merge
- updated dependencies
The new version of husky makes it possible to simplify the pre-commit
hook a little.

And since prettier no longer takes care of the JavaScript files in our
project, it can no longer come into conflict with ESLint while running
lint-staged. Therefore we can activate the correction of ESLint issues
here.
This PR adds an option to tweak the layout of the weather module. When
set, the humidity appears alongside the temperature:

![Screenshot from 2024-01-03
11-56-55](https://github.com/MagicMirrorOrg/MagicMirror/assets/551990/2a9fdf9a-21e4-49f5-8a48-68ea21902592)
Improved wording, fixed grammatical errors and added new translations to
the et.json file.

---------

Co-authored-by: Veeck <[email protected]>
dependabot bot and others added 24 commits December 1, 2024 12:01
Bumps
[eslint-plugin-package-json](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json)
from 0.15.4 to 0.17.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/releases">eslint-plugin-package-json's
releases</a>.</em></p>
<blockquote>
<h2>v0.17.0</h2>
<h2>What's Changed</h2>
<ul>
<li>docs: add sasial-dev as a contributor for code by <a
href="https://github.com/allcontributors"><code>@​allcontributors</code></a>
in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/669">JoshuaKGoldberg/eslint-plugin-package-json#669</a></li>
<li>feat: sort alphabetically with co-located hooks for
<code>scripts</code> by <a
href="https://github.com/sasial-dev"><code>@​sasial-dev</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/632">JoshuaKGoldberg/eslint-plugin-package-json#632</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.16.0...v0.17.0">https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.16.0...v0.17.0</a></p>
<h2>v0.16.0</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps): update dependency cspell to v8.16.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/617">JoshuaKGoldberg/eslint-plugin-package-json#617</a></li>
<li>chore(deps): update dependency eslint-plugin-jsonc to v2.17.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/618">JoshuaKGoldberg/eslint-plugin-package-json#618</a></li>
<li>docs: add unique dependencies rule by <a
href="https://github.com/davidlj95"><code>@​davidlj95</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/620">JoshuaKGoldberg/eslint-plugin-package-json#620</a></li>
<li>docs: add rakleed as a contributor for ideas by <a
href="https://github.com/allcontributors"><code>@​allcontributors</code></a>
in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/622">JoshuaKGoldberg/eslint-plugin-package-json#622</a></li>
<li>docs: add davidlj95 as a contributor for doc by <a
href="https://github.com/allcontributors"><code>@​allcontributors</code></a>
in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/621">JoshuaKGoldberg/eslint-plugin-package-json#621</a></li>
<li>chore(deps): update dependency eslint-plugin-jsonc to v2.18.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/623">JoshuaKGoldberg/eslint-plugin-package-json#623</a></li>
<li>chore(deps): update dependency knip to v5.36.4 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/624">JoshuaKGoldberg/eslint-plugin-package-json#624</a></li>
<li>chore(deps): update dependency knip to v5.36.5 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/625">JoshuaKGoldberg/eslint-plugin-package-json#625</a></li>
<li>chore(deps): update dependency eslint-plugin-jsonc to v2.18.1 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/626">JoshuaKGoldberg/eslint-plugin-package-json#626</a></li>
<li>chore(deps): update dependency knip to v5.36.6 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/627">JoshuaKGoldberg/eslint-plugin-package-json#627</a></li>
<li>chore(deps): update dependency
<code>@​typescript-eslint/parser</code> to v8.14.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/628">JoshuaKGoldberg/eslint-plugin-package-json#628</a></li>
<li>chore(deps): update dependency knip to v5.36.7 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/629">JoshuaKGoldberg/eslint-plugin-package-json#629</a></li>
<li>chore(deps): update dependency
<code>@​release-it/conventional-changelog</code> to v9.0.3 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/630">JoshuaKGoldberg/eslint-plugin-package-json#630</a></li>
<li>chore(deps): update dependency eslint-plugin-jsdoc to v50.5.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/631">JoshuaKGoldberg/eslint-plugin-package-json#631</a></li>
<li>chore(deps): update pnpm to v9.13.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/633">JoshuaKGoldberg/eslint-plugin-package-json#633</a></li>
<li>chore(deps): update dependency knip to v5.37.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/634">JoshuaKGoldberg/eslint-plugin-package-json#634</a></li>
<li>chore(deps): update pnpm to v9.13.1 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/635">JoshuaKGoldberg/eslint-plugin-package-json#635</a></li>
<li>chore(deps): update dependency eslint-plugin-regexp to v2.7.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/636">JoshuaKGoldberg/eslint-plugin-package-json#636</a></li>
<li>chore(deps): update pnpm to v9.13.2 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/637">JoshuaKGoldberg/eslint-plugin-package-json#637</a></li>
<li>chore(deps): update codecov/codecov-action action to v5 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/638">JoshuaKGoldberg/eslint-plugin-package-json#638</a></li>
<li>chore(deps): update dependency knip to v5.37.1 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/639">JoshuaKGoldberg/eslint-plugin-package-json#639</a></li>
<li>chore(deps): update dependency eslint-plugin-jsonc to v2.18.2 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/640">JoshuaKGoldberg/eslint-plugin-package-json#640</a></li>
<li>chore(deps): update dependency husky to v9.1.7 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/641">JoshuaKGoldberg/eslint-plugin-package-json#641</a></li>
<li>chore(deps): update dependency
<code>@​typescript-eslint/parser</code> to v8.15.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/642">JoshuaKGoldberg/eslint-plugin-package-json#642</a></li>
<li>chore(deps): update dependency <code>@​types/node</code> to v22.9.1
by <a href="https://github.com/renovate"><code>@​renovate</code></a> in
<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/644">JoshuaKGoldberg/eslint-plugin-package-json#644</a></li>
<li>chore(deps): update pnpm to v9.14.1 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/645">JoshuaKGoldberg/eslint-plugin-package-json#645</a></li>
<li>chore(deps): update pnpm to v9.14.2 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/646">JoshuaKGoldberg/eslint-plugin-package-json#646</a></li>
<li>chore(deps): update dependency prettier-plugin-packagejson to v2.5.5
by <a href="https://github.com/renovate"><code>@​renovate</code></a> in
<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/647">JoshuaKGoldberg/eslint-plugin-package-json#647</a></li>
<li>chore(deps): update dependency knip to v5.37.2 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/649">JoshuaKGoldberg/eslint-plugin-package-json#649</a></li>
<li>chore(deps): update dependency typescript to v5.7.2 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/650">JoshuaKGoldberg/eslint-plugin-package-json#650</a></li>
<li>chore(deps): update dependency <code>@​types/node</code> to v22.9.2
by <a href="https://github.com/renovate"><code>@​renovate</code></a> in
<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/651">JoshuaKGoldberg/eslint-plugin-package-json#651</a></li>
<li>chore(deps): update dependency <code>@​types/node</code> to v22.9.3
by <a href="https://github.com/renovate"><code>@​renovate</code></a> in
<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/652">JoshuaKGoldberg/eslint-plugin-package-json#652</a></li>
<li>chore(deps): update dependency markdownlint-cli to ^0.43.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/653">JoshuaKGoldberg/eslint-plugin-package-json#653</a></li>
<li>docs: fix jsonc-eslint-parser installation instructions by <a
href="https://github.com/JoshuaKGoldberg"><code>@​JoshuaKGoldberg</code></a>
in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/654">JoshuaKGoldberg/eslint-plugin-package-json#654</a></li>
<li>chore(deps): update dependency prettier-plugin-packagejson to v2.5.6
by <a href="https://github.com/renovate"><code>@​renovate</code></a> in
<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/648">JoshuaKGoldberg/eslint-plugin-package-json#648</a></li>
<li>chore(deps): update dependency
<code>@​typescript-eslint/parser</code> to v8.16.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/656">JoshuaKGoldberg/eslint-plugin-package-json#656</a></li>
<li>chore(deps): update dependency <code>@​types/node</code> to v22.9.4
by <a href="https://github.com/renovate"><code>@​renovate</code></a> in
<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/657">JoshuaKGoldberg/eslint-plugin-package-json#657</a></li>
<li>chore(deps): update dependency <code>@​types/node</code> to v22.10.0
by <a href="https://github.com/renovate"><code>@​renovate</code></a> in
<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/658">JoshuaKGoldberg/eslint-plugin-package-json#658</a></li>
<li>chore(deps): update dependency knip to v5.38.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/659">JoshuaKGoldberg/eslint-plugin-package-json#659</a></li>
<li>chore(deps): update dependency eslint-plugin-jsdoc to v50.6.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/pull/662">JoshuaKGoldberg/eslint-plugin-package-json#662</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/main/CHANGELOG.md">eslint-plugin-package-json's
changelog</a>.</em></p>
<blockquote>
<h1><a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.16.0...v0.17.0">0.17.0</a>
(2024-11-30)</h1>
<h3>Features</h3>
<ul>
<li>sort alphabetically with co-located hooks for <code>scripts</code>
(<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/632">#632</a>)
(<a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4ccae4f58e1695b792dd3d0daf46cedc134d9541">4ccae4f</a>),
closes <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/499">#499</a>
<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/499">#499</a></li>
</ul>
<h1><a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.15.6...v0.16.0">0.16.0</a>
(2024-11-30)</h1>
<h3>Features</h3>
<ul>
<li><strong>sort-collections:</strong> should sort
<code>overrides</code> (<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/668">#668</a>)
(<a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/18129cd5c4a0bf45709ea7fcb9fb316c2a639a71">18129cd</a>),
closes <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/619">#619</a></li>
</ul>
<h2><a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.15.5...v0.15.6">0.15.6</a>
(2024-11-09)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>add sorting exports field (<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/615">#615</a>)
(<a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/116c74be65089d7cfb39f3dae2fcae18fe19a263">116c74b</a>),
closes <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/000">#000</a></li>
</ul>
<h2><a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.15.4...v0.15.5">0.15.5</a>
(2024-11-06)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>add plugin export (<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/609">#609</a>)
(<a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/a2c83b42c231129efb97ec29a29f6ae361adcc26">a2c83b4</a>),
closes <a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/000">#000</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/a16b6ba5521fea0482a87315b769a7335e315ea3"><code>a16b6ba</code></a>
chore: release v0.17.0</li>
<li><a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4ccae4f58e1695b792dd3d0daf46cedc134d9541"><code>4ccae4f</code></a>
feat: sort alphabetically with co-located hooks for <code>scripts</code>
(<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/632">#632</a>)</li>
<li><a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/100ce08a05c569772934cdbef61d70548535c80d"><code>100ce08</code></a>
docs: add sasial-dev as a contributor for code (<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/669">#669</a>)</li>
<li><a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/79a18e278c9fac11e8ca9902b0bbce45952e6be2"><code>79a18e2</code></a>
chore: release v0.16.0</li>
<li><a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/18129cd5c4a0bf45709ea7fcb9fb316c2a639a71"><code>18129cd</code></a>
feat(sort-collections): should sort <code>overrides</code> (<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/668">#668</a>)</li>
<li><a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/36e68b70fb26d2bf7824be94882d2388c6c84cbf"><code>36e68b7</code></a>
chore(deps): update dependency cspell to v8.16.1 (<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/667">#667</a>)</li>
<li><a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/189345dfb9cd5aa9b445b1ff8042df839c93e585"><code>189345d</code></a>
docs: add rakleed as a contributor for doc (<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/666">#666</a>)</li>
<li><a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/3b23f4a054a8bdb0eb5747c4f3cdba97ebedda4d"><code>3b23f4a</code></a>
docs: add <code>Development</code> section in README (<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/665">#665</a>)</li>
<li><a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/383fe630b8aa2380720f6d0f49f3bcd3b724a211"><code>383fe63</code></a>
docs: add rakleed as a contributor for tool (<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/664">#664</a>)</li>
<li><a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4a6e3c4c4fb52a356f434d6296bf7d1362db76a7"><code>4a6e3c4</code></a>
chore(deps): update dependency knip to v5.38.1 (<a
href="https://redirect.github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/663">#663</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.15.4...v0.17.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-package-json&package-manager=npm_and_yarn&previous-version=0.15.4&new-version=0.17.0)](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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
)

Bumps
[@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome)
from 6.6.0 to 6.7.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/FortAwesome/Font-Awesome/releases"><code>@​fortawesome/fontawesome-free</code>'s
releases</a>.</em></p>
<blockquote>
<h2>Release 6.7.1</h2>
<p><strong>Change log available at <a
href="https://fontawesome.com/docs/changelog/">https://fontawesome.com/docs/changelog/</a></strong></p>
<h2>Release 6.7.0</h2>
<p><strong>Change log available at <a
href="https://fontawesome.com/docs/changelog/">https://fontawesome.com/docs/changelog/</a></strong></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/FortAwesome/Font-Awesome/commit/3447c58c6b3ff327b35171d866ec70c25c72f4ef"><code>3447c58</code></a>
Release 6.7.1 (<a
href="https://redirect.github.com/FortAwesome/Font-Awesome/issues/20426">#20426</a>)</li>
<li><a
href="https://github.com/FortAwesome/Font-Awesome/commit/a03a91d68184b973599224e9b53c2ccf439c58b0"><code>a03a91d</code></a>
Release 6.7.0 (<a
href="https://redirect.github.com/FortAwesome/Font-Awesome/issues/20418">#20418</a>)</li>
<li>See full diff in <a
href="https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...6.7.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@fortawesome/fontawesome-free&package-manager=npm_and_yarn&previous-version=6.6.0&new-version=6.7.1)](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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Somehow the plugin get lost when we moved to ESLint flat config. Now I
reactivated it.

One rules caused sorting the scripts. If this is not okay, I can undo
this and switch off the rule.

Thank's @bugsounet for the pinging in
#3637 (comment).
I am adding the animateIn/Out support to MMM-Config, but I need the list
of animations..
but they are not visible in js/animateCSS.js (from require)

adding an export satisfies that

side issue, these would go in a dropdown list
what value can I use for the default behavior? none/default?
don't want an error produced..
should I add code to check for this value to prevent error?
Even in successful tests, there are many module not defined` error
entries. Like this:
https://github.com/MagicMirrorOrg/MagicMirror/actions/runs/12199106844/job/34032254241#step:5:353

I think we can suppress them.
…0.1 (#3587)

here is an updated test version of the fixes for all kinds of calendar
date problems.

NOTE: the changed branch name
NOTE: this used the [email protected] library UNCHANGED

best to make a new folder and git clone there

git clone https://github.com/sdetweil/MagicMirror
cd MagicMirror
git checkout fixcaldates2 // <------ note this is a changed branch name
npm run install-mm
copy your config.js and custom.css from the prior folder
and the non-default modules you have installed…

this ONLY changes the default calendar
but DOES ship an updated node-ical library too

if you need to fall back, just rename the folders around again so that
your original is called MagicMirror

all the testcases for node-ical and MagicMirror execute successfully.

the ‘BIG’ change here is to get the local NON-TZ dates for the
rrule.between()

all the checking and conversion code is commented out or not used
the node-ical fixes are for excluded dates (exdate) values being
adjusted for DST/STD time… waiting to submit that PR

one fix in calendar.js for checking if a past date was too far back,
but it never checked to see IF the event date was in the past… (before
today) so it chopped off too many

and one change in calendarfetcher.js to put out a better diagnostic
message of the parsed data… (exdate was excluded cause JSON stringify
couldn’t convert the complex structure)

I added the tests you all have documented

please re-pull and checkout the new branch (I deleted the old branch)
and npm run install-mm again

---------

Co-authored-by: Veeck <[email protected]>
I also reworked the Linters section in `CONTRIBUTING.md` a bit and
switched the `prettier` config to a flat config.

Co-authored-by: Veeck <[email protected]>
It's enough if the code style checks are successful once, it's not
necessary to run them with every node version.

Also, if there is an error, we can see more quickly whether it is a code
style or a test-runner issue.
this change was dropped from #3267 by mistake
add text to config.js.sample about usage of locale variable/property

Co-authored-by: Veeck <[email protected]>
if the MagicMirror js folder is not writable (synology nas created by
different user than docker container) there is an uncaught throw

```
[ERROR] EACCES: permission denied, open 'js/positions.js' 
```

add try/catch, output new message, console.error
```text
unable to write js/positions.js with the discovered module positions
make the MagicMirror/js folder writeable by the user starting MagicMirror 
```

MM will start, but no modules will show, as no positions were discovered
this file is used to pass the list from the server side to the browser
side

fixes #3651
Fix:
 - use `path.resolve` for `moduleFolder` and `defaultModuleFolder` path
- Fix module path in case of sub/sub folder is used (sample
`module/test/test`)
 
---
case of module installation on `module/test/test`:

config will be:
```js
 {
    module: "test/test",
    ...
 }
```

module core will be:
```js
Module.register("test", {
...
```
`test.js` is used for module core (no change)

---

case of module installation on `module/test` (no change):
config will be:
```js
 {
    module: "test",
    ...
 }
```

module core will be:
```js
Module.register("test", {
...
```
so `test.js` is used for module core

---

In reality, with this patch, `module` config feature have 2
functionalites:
 -  determinate module path with more precision
 -  allow to use sub/sub folder in modules folder

---------

Co-authored-by: Veeck <[email protected]>
This way we get rid of the script entry in the `package.json` and the
whole thing becomes a little less complex.
…ml` (#3659)

node needed with new version of `node-ical`
…on armv6l (#3660)

user reporting slow/no connection/timeout errors on armv6l for calendar,
and newsfeed

we can increase the timeout by adding calls to the undici lib, but it
requires node 20.18.1 or above.

this adds the support for timeout
(also environment variable to override if needed,, mmFetchTimeout
(default 30 seconds)

and updates the base node version
continue from #3660 

Fix: package-lock.json (check node engine)
line parse used os.EOL, which failed with linux line ends in index.html,
change to '\n'
last dependency update before release
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.
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: veeck <[email protected]>
Update files impacted for release
@sdetweil sdetweil merged commit c24de64 into master Jan 1, 2025
17 checks passed
Copy link

@Mideee419 Mideee419 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool

Copy link

@sterio24 sterio24 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👌

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

positions.js is created incorrectly on Windows Weird broadcasted form of multi symbols of calendar module.