Skip to content

CLJS-3322: Upgrade to latest Closure Library - handle non-legacy GCL goog.module namespaces #105

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

Merged
merged 13 commits into from
Oct 15, 2021

Conversation

swannodette
Copy link
Member

@swannodette swannodette commented Oct 11, 2021

(WIP) two things are still failing:

  • goog.module files not parsed properly for var checking support
  • int predicates in self-parity tests

* bump glib
* :require module loader instead of :import - not a legacy namespace anymore
* add goog.module handling case to analyzer
* add goog.module handling case to compiler
* add tests
* add missing case to browser REPL bootstrap for goog.module
* revert cljs.loader change for now
* generalize munge-goog-module-lib
* add resolve-import helper
* fixup emission test
* resolve goog.module imports in resolve-var
* test cases
* check that emission doesn't shadow import usage
@swannodette swannodette force-pushed the cljs-3322-update-glib branch from e6f3586 to b50e5d2 Compare October 11, 2021 22:15
* bump gcl
* wrap goog.module.get in goog.scope to avoid silly Closure warnings
* remove dependency on goog.object from cljs.core macros file
@swannodette swannodette changed the title CLJS-3322: Upgrade to Closure Library 0.0-20210811-6da97fe1 - handle non-legacy goog.module CLJS-3322: Upgrade to latest Closure Library - handle non-legacy goog.module Oct 12, 2021
@swannodette swannodette changed the title CLJS-3322: Upgrade to latest Closure Library - handle non-legacy goog.module CLJS-3322: Upgrade to latest Closure Library - handle non-legacy GCL goog.module namespaces Oct 12, 2021
* add comment about goog.scope workaround
* add docstrings to extern parsing ns
* cleanup formatting
* cleanup requires
* add Token/FUNCTION case
* Token/NAME should check for simple name
* handle goog.module case in parse-externs
* make parsed->defs a multimethod
* add resource->source-file helper
* ^Node type hints
* in NAME case stop if parent is OBJECTLIT
* STRING_KEY case does not need split on .
* when parsing goog.modules, only provide ClojureScript defs for exported defs
* remove unneeded condition
* add internal reference to goog.math.Long
* update tests, leave explanatory comment
@swannodette swannodette merged commit 76ac6bf into master Oct 15, 2021
@swannodette swannodette deleted the cljs-3322-update-glib branch December 16, 2021 17:14
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.

1 participant