Write optionalDependencies explicitly in package{,-lock}.json#7672
Write optionalDependencies explicitly in package{,-lock}.json#7672doronbehar wants to merge 2 commits intoYlianst:masterfrom
package{,-lock}.json#7672Conversation
|
can you explain this a little more? the problem we have is meshcentral is designed to be run with as little packages as possible, also from my past experience using also we DONT use |
8715a39 to
c5ef3f5
Compare
That can be solved easily by using
I see, though that's easily fixed with |
|
@doronbehar unfortunately when i run you are also installing extra packages like also changing all our documentations etc to tell people to instead run i really dont think we can accept this PR at the moment, until a proper solution can be resolved/found do you maybe need us to change the edit: just updated package-lock.json for you so it matches the package.json! |
|
@si458 I understand now. Would you be accepting a modification to |
|
@doronbehar ive never fully understood the |
Yes. The idea is reproducibility - users should use the exact same versions of dependencies used by the developer, to reduce the potential for mismatches. This is indeed not a hard requirement for most cases, but for Nix it is fully required. |
|
@si458 I now realized that using
It seems to me that you only write a I asked a LLM to summarize the arguments for including these Why
|
|
@doronbehar I don't believe some of those points are valid. For example we have a windows exe installer app which would need changing, rebuilding, signing etc. Also a few mb difference is a complete lie as its more like 100mb difference!!! Also as explained u are installing packages that just arent required at runtime! Like the translate packages for example. Im not going to merge this until we have our community meeting at the end of the month, then the community can chat about it and we can hear their opinions Please do come join the meeting tho so we can talk about, and i don't forget! |
Was done using the following (with nodejs_22): ``` npm install \ passport@0.7.0 \ connect-flash@0.1.1 \ passport-twitter@1.0.4 \ passport-google-oauth20@2.0.0 \ passport-github2@0.1.12 \ passport-azure-oauth2@0.1.0 \ jwt-simple@0.5.6 \ openid-client@5.7.1 \ passport-saml \ @duosecurity/duo_universal@2.1.0 \ node-windows@0.1.14 \ loadavg-windows@1.1.1 \ node-sspi@0.2.10 \ ldapauth-fork@5.0.5 \ ssh2@1.17.0 \ svg-captcha@1.4.0 \ image-size@2.0.2 \ acme-client@4.2.5 \ aedes@0.51.3 \ mysql2@3.15.1 \ @mysql/xdevapi@8.0.33 \ mongodb@4.17.2 \ @mongodb-js/saslprep@1.3.1 \ pg@8.16.3 \ mariadb@3.4.5 \ acebase@1.29.5 \ sqlite3@5.1.7 \ node-vault@0.10.5 \ https-proxy-agent@7.0.6 \ mongojs@3.1.0 \ nodemailer@6.10.1 \ @sendgrid/mail@8.1.6 \ jsdom@22.1.0 \ esprima@4.0.1 \ html-minifier-terser@7.2.0 \ @crowdsec/express-bouncer@0.1.0 \ prom-client@15.1.3 \ archiver-zip-encrypted@2.0.0 \ googleapis@128.0.0 \ webdav@5.9.0 \ minio@8.0.6 \ wildleek@2.0.0 \ yub@0.11.1 \ image-size@2.0.2 \ twilio@4.23.0 \ plivo@4.75.1 \ telnyx@1.25.5 \ telegram@2.26.22 \ input@1.0.1 \ discord.js@14.6.0 \ @xmpp/client@0.13.6 \ node-pushover@1.0.0 \ zulip@0.1.0 \ web-push@3.6.7 \ firebase-admin@12.7.0 \ syslog@0.1.1-1 \ --save-optional --save-exact ``` Then, to work around [this bug][1], I ran: ``` npm install ``` [1]: npm/cli#7530
c5ef3f5 to
def280e
Compare
|
OK I'm too would be in favor of using
I didn't add directly any translation packages. The commit message of the current PR commit documents exactly what I ran.
I see. Still though, adding
Sure I'd like to express this concern. Please tell me where will I be able to get a link to the meeting etc. |
|
The next meeting is 26th March 2026 at 2pm UTC (PLZ CONVERT TO YOUR TIMEZONE) |
Hello,
As part of the efforts to package this properly in Nixpkgs (continuation of #7643), we noticed the file
./meshcentral.jsimports conditionally many dependencies. Iterating allmodules.pushlines in it, and runningnpm install "$p" --save-optionalfor each of these packages, modifiedpackage-lock.jsonas done here. The version of Meshcentral itself too had to be updated to 1.1.57 inpackage-lock.json, so it was done in a separate commit.If you would be able to continue maintaining
package-lock.jsonlike this it would help us a lot.Note
This package-lock.json file was generated with nodejs 22 - LTS version as stated in the docs.