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

Upgrade strong-globalize to the latest version #4585

Closed
20 of 51 tasks
bajtos opened this issue Feb 7, 2020 · 7 comments
Closed
20 of 51 tasks

Upgrade strong-globalize to the latest version #4585

bajtos opened this issue Feb 7, 2020 · 7 comments
Labels
feature Performance Issues related to runtime performance stale

Comments

@bajtos
Copy link
Member

bajtos commented Feb 7, 2020

In a typical application, there are multiple versions (and copies) of strong-globalize in the dependency tree.

Take our examples/todo as an example:

$ npm ls strong-globalize
@loopback/[email protected] /private/tmp/loopback4-example-todo
├─┬ @loopback/[email protected]
│ └─┬ [email protected]
│   ├─┬ [email protected]
│   │ └── [email protected]  deduped
│   └── [email protected]
├─┬ @loopback/[email protected]
│ └─┬ [email protected]
│   └── [email protected]  deduped
└─┬ [email protected]
  └── [email protected]

At the moment, require('strong-globalize') is taking about 0.3s (see strongloop/strong-globalize#158). Every copy of the module adds another 1/3 of a second to the application load time.

Let's upgrade strong-globalize to the latest version in LB modules maintained by StrongLoop (unless they are in Active or Maintenance LTS mode).

Acceptance criteria

Connectors

Others

@bajtos bajtos added feature Performance Issues related to runtime performance labels Feb 7, 2020
@dhmlau
Copy link
Member

dhmlau commented Feb 8, 2020

@bajtos, I've updated the original description with the list of repos. I'm not sure whether we need to update for *loopback-sdk* repos.

@dhmlau dhmlau added the 2020Q2 label Feb 9, 2020
@bajtos
Copy link
Member Author

bajtos commented Feb 11, 2020

The following modules are in LTS modes, I am not sure if it's a good idea to update them - I am not sure about the impact of breaking changes made in strong-globalize on the consumers of those modules.

Maybe we can leave them out from the first wave of upgrades?

  • strong-remoting
  • loopback-phase
  • loopback
  • loopback-filters
  • loopback-sdk-angular
  • loopback-sdk-angular-cli
  • grunt-loopback-sdk-angular
  • gulp-loopback-sdk-angular
  • loopback-workspace
  • loopback-sandbox
  • generator-loopback
  • loopback-boot
  • loopback-swagger
  • loopback-component-explorer
  • loopback-component-push
  • loopback-component-storage
  • loopback-cli
  • loopback-context
  • loopback-soap
  • loopback-component-passport

Important: loopback-datasource-juggler is used by LB4, we need to update it.

@jannyHou
Copy link
Contributor

The latest strong-globalize requires node>=8.9, but not all repos are compatible, e.g. loopback-connector-cloudant's node version limit is >8.

A possible solution: upgrade the strong-globalize version and node engine then make a major release.

Another thing to consider: all connectors have juggler3.x as dev-dependency, which also has the engine limit as >8.

@bajtos
Copy link
Member Author

bajtos commented Feb 13, 2020

Thank you @jannyHou for pointing out important details we should keep in consideration.

Since Node.js 8.x has reached end of life in December 2019, it's perfectly fine to stop supporting in actively developed repositories (e.g. connectors) and it's probably ok to drop it from repos in LTS mode too.

upgrade the strong-globalize version and node engine then make a major release.

+1, I agree with your proposal. While bumping up the minimal supported Node.js version, let's set it to Node.js 10.x, the oldest major version that's still maintained.

@bajtos
Copy link
Member Author

bajtos commented Feb 13, 2020

As part of releasing a new semver-major version of the connectors, we should update LTS information README files. Move the Current version to Active LTS, the Active LTS version to Maintenance LTS, and check which Maintenance LTS versions has reached end of life. See https://loopback.io/doc/en/contrib/Long-term-support.html

@stale
Copy link

stale bot commented Jul 14, 2021

This issue has been marked stale because it has not seen activity within six months. If you believe this to be in error, please contact one of the code owners, listed in the CODEOWNERS file at the top-level of this repository. This issue will be closed within 30 days of being stale.

@stale stale bot added the stale label Jul 14, 2021
@stale
Copy link

stale bot commented Aug 13, 2021

This issue has been closed due to continued inactivity. Thank you for your understanding. If you believe this to be in error, please contact one of the code owners, listed in the CODEOWNERS file at the top-level of this repository.

@stale stale bot closed this as completed Aug 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Performance Issues related to runtime performance stale
Projects
None yet
Development

No branches or pull requests

3 participants