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

Remove dependency on Google Closure Library #3311

Open
ewpatton opened this issue Jan 5, 2025 · 1 comment
Open

Remove dependency on Google Closure Library #3311

ewpatton opened this issue Jan 5, 2025 · 1 comment

Comments

@ewpatton
Copy link
Member

ewpatton commented Jan 5, 2025

Google has stopped support for the Closure Library and has archived the project on GitHub. Based on a quick grep of the sources it looks like we are currently using the following portions of the library:

goog.Timer
goog.Uri.QueryData
goog.asserts
goog.crypt.Hash
goog.crypt.Hmac
goog.crypt.Sha1
goog.crypt.base64
goog.dom
goog.dom.DomHelper
goog.dom.xml
goog.events
goog.events.EventType
goog.events.KeyHandler
goog.iter
goog.json
goog.net.XmlHttp
goog.object
goog.string
goog.style
goog.ui.Dialog
goog.ui.HsvaPalette
goog.ui.ac.ArrayMatcher
goog.ui.ac.AutoComplete
goog.ui.ac.InputHandler
goog.ui.ac.Renderer

In most cases we can probably move to native implementations (setTimeout for Timer, XmlHttpRequest for goog.net.XmlHttp, etc.).

@YashSachdeva369
Copy link

YashSachdeva369 commented Jan 6, 2025


"I’ve noticed that Google has stopped supporting the Closure Library, and several parts of it are still in use within our project. I’d like to take ownership of refactoring and replacing these dependencies with native implementations or suitable modern alternatives to ensure long-term maintainability.

Here’s a quick plan for some of the replacements:

  • Replace goog.Timer with setTimeout or setInterval.
  • Use XMLHttpRequest or fetch to replace goog.net.XmlHttp.
  • Leverage the Web Crypto API or equivalent libraries (e.g., for Hmac and Sha1) to replace goog.crypt modules.

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

No branches or pull requests

2 participants