Skip to content

simplify install and maintaining dependencies#3795

Merged
rejas merged 5 commits intoMagicMirrorOrg:developfrom
khassel:fonts
Jun 1, 2025
Merged

simplify install and maintaining dependencies#3795
rejas merged 5 commits intoMagicMirrorOrg:developfrom
khassel:fonts

Conversation

@khassel
Copy link
Collaborator

@khassel khassel commented May 29, 2025

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.

@rejas
Copy link
Collaborator

rejas commented May 30, 2025

I wonder what the original Intention of this seperation was. Maybe @MichMich can explain?

@khassel
Copy link
Collaborator Author

khassel commented May 30, 2025

I wonder what the original Intention of this seperation was. Maybe @MichMich can explain?

well, I wouldn't remember...

Digging in the old sources the directories fonts and vendor were first filled with needed files but without package.json. So I think they decided later to use npm to get the files and put a package.json in the existing folders.

Other point is that only the directories fonts and vendor were published by the web server. In my first approach here I published the whole node_modules dir which seems not be good practice.

With the last commit I changed this by publishing only the needed subfolders of node_modules so now nothing more is published as before this PR.

@khassel
Copy link
Collaborator Author

khassel commented Jun 1, 2025

@rejas any objections to merge this?

We have 4 weeks to test until release and can fix/revert if needed.

Not merging in time will produce merge conflicts here which I would like to avoid.

@rejas rejas merged commit c8625ff into MagicMirrorOrg:develop Jun 1, 2025
12 of 13 checks passed
@khassel khassel deleted the fonts branch June 1, 2025 15:08
@KristjanESPERANTO
Copy link
Collaborator

KristjanESPERANTO commented Jun 1, 2025

Maybe removing this from .gitignore was a bit to early.

fonts/node_modules/**/*
vendor/node_modules/**/*

I just updated my system working on develop branch, and with this commit git didn't ignores the files in these two directories anymore. So I had over 3000 unstaged files 😅. With the next release the users which will update would have the same problem. With a new install their is no issue. Either we should re-add these two lines for a while or somehow manage to delete the directories during update.

@khassel
Copy link
Collaborator Author

khassel commented Jun 1, 2025

maybe best to add them back. Other idea would be a postinstall with rm -rf vendor && rm -rf fonts.

@khassel
Copy link
Collaborator Author

khassel commented Jun 1, 2025

maybe best to add them back

would not be sufficient, we would have to add

fonts/
vendor/

I'm for deleting in postinstall so this is cleaned up on the user side.

What do you prefer @KristjanESPERANTO @rejas @sdetweil ?

@sdetweil
Copy link
Collaborator

sdetweil commented Jun 1, 2025

why didn't delete and git rm remove the folder altogether? it worked for installers

@KristjanESPERANTO
Copy link
Collaborator

I am okay with both options. Removing the directories would be the cleaner option, but two more lines in .gitignore wouldn't hurt us either.

@sdetweil
Copy link
Collaborator

sdetweil commented Jun 1, 2025

why wouldnt we remove folders

@KristjanESPERANTO
Copy link
Collaborator

why wouldnt we remove folders

This is how I understand it: When git pulls the commit, it should usually delete the two directories fonts and vendor because they aren't in the GitHub repo, but since locally there is a subdirectory (node_modules), it can not delete them.

@khassel
Copy link
Collaborator Author

khassel commented Jun 1, 2025

opened #3805 , we should continue the discussion there...

rejas added a commit that referenced this pull request Jun 7, 2025
)

see discussions
[here](#3795 (comment)).

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

Co-authored-by: Veeck <[email protected]>
@khassel khassel mentioned this pull request Jun 30, 2025
khassel added a commit that referenced this pull request Jun 30, 2025
## [2.32.0] - 2025-07-01

Thanks to: @bughaver, @bugsounet, @khassel, @KristjanESPERANTO,
@plebcity, @rejas, @sdetweil.

> ⚠️ This release needs nodejs version `v22.14.0 or higher`

### Added

- [config] Allow to change module order for final renderer (or
dynamically with CSS): Feature `order` in config (#3762)
- [clock] Added option 'disableNextEvent' to hide next sun event (#3769)
- [clock] Implement short syntax for clock week (#3775)

### Changed

- [refactor] Simplify module loading process (#3766)
- Use `node --run` instead of `npm run` (#3764) and adapt `start:dev`
script (#3773)
- [workflow] Run linter and spellcheck with LTS node version (#3767)
- [workflow] Split "Run test" step into two steps for more clarity
(#3767)
- [linter] Review linter setup (#3783)
  - Fix command to lint markdown in `CONTRIBUTING.md`
  - Re-activate JSDoc linting and fix linting issues
  - Refactor ESLint config to use `defineConfig` and `globalIgnores`
  - Replace `eslint-plugin-import` with `eslint-plugin-import-x`
- Switch Stylelint config to flat format and simplify Stylelint scripts
- [workflow] Replace Node.js version v23 with v24 (#3770)
- [refactor] Replace deprecated constants `fs.F_OK` and `fs.R_OK`
(#3789)
- [refactor] Replace `ansis` with built-in function `util.styleText`
(#3793)
- [core] Integrate stuff from `vendor` and `fonts` folders into main
`package.json`, simplifies install and maintaining dependencies (#3795,
#3805)
- [l10n] Complete translations (with the help of translation tools)
(#3794)
- [refactor] Refactored `calendarfetcherutils` in Calendar module to
handle timezones better (#3806)
  - Removed as many of the date conversions as possible
- Use `moment-timezone` when calculating recurring events, this will fix
problems from the past with offsets and DST not being handled properly
- Added some tests to test the behavior of the refactored methods to
make sure the correct event dates are returned
- [linter] Enable ESLint rule `no-console` and replace `console` with
`Log` in some files (#3810)
- [tests] Review and refactor translation tests (#3792)

### Fixed

- [fix] Handle spellcheck issues (#3783)
- [calendar] fix fullday event rrule until with timezone offset (#3781)
- [feat] Add rule `no-undef` in config file validation to fix #3785
(#3786)
- [fonts] Fix `roboto.css` to avoid error message `Unknown descriptor
'var(' in @font-face rule.` in firefox console (#3787)
- [tests] Fix and refactor e2e test `Same keys` in
`translations_spec.js` (#3809)
- [tests] Fix e2e tests newsfeed and calendar to exit without open
handles (#3817)

### Updated

- [core] Update dependencies including electron to v36 (#3774, #3788,
#3811, #3804, #3815, #3823)
- [core] Update package type to `commonjs`
- [logger] Review factory code part: use `switch/case` instead of
`if/else if` (#3812)

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Michael Teeuw <[email protected]>
Co-authored-by: Kristjan ESPERANTO <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ross Younger <[email protected]>
Co-authored-by: Veeck <[email protected]>
Co-authored-by: Bugsounet - Cédric <[email protected]>
Co-authored-by: jkriegshauser <[email protected]>
Co-authored-by: illimarkangur <[email protected]>
Co-authored-by: sam detweiler <[email protected]>
Co-authored-by: vppencilsharpener <[email protected]>
Co-authored-by: veeck <[email protected]>
Co-authored-by: Paranoid93 <[email protected]>
Co-authored-by: Brian O'Connor <[email protected]>
Co-authored-by: WallysWellies <[email protected]>
Co-authored-by: Jason Stieber <[email protected]>
Co-authored-by: jargordon <[email protected]>
Co-authored-by: Daniel <[email protected]>
Co-authored-by: Ryan Williams <[email protected]>
Co-authored-by: Panagiotis Skias <[email protected]>
Co-authored-by: Marc Landis <[email protected]>
Co-authored-by: HeikoGr <[email protected]>
Co-authored-by: Pedro Lamas <[email protected]>
Co-authored-by: veeck <[email protected]>
Co-authored-by: Magnus <[email protected]>
Co-authored-by: Ikko Eltociear Ashimine <[email protected]>
Co-authored-by: DevIncomin <[email protected]>
Co-authored-by: Nathan <[email protected]>
Co-authored-by: mixasgr <[email protected]>
Co-authored-by: Savvas Adamtziloglou <[email protected]>
Co-authored-by: Konstantinos <[email protected]>
Co-authored-by: OWL4C <[email protected]>
Co-authored-by: BugHaver <[email protected]>
Co-authored-by: BugHaver <[email protected]>
Co-authored-by: Koen Konst <[email protected]>
Co-authored-by: Koen Konst <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants