Skip to content

Trying to add TinyMCE as an extern #3999

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

Closed
bannostookaylo opened this issue Sep 30, 2022 · 1 comment
Closed

Trying to add TinyMCE as an extern #3999

bannostookaylo opened this issue Sep 30, 2022 · 1 comment

Comments

@bannostookaylo
Copy link

bannostookaylo commented Sep 30, 2022

Here is my script

google-closure-compiler -W QUIET -O ADVANCED --language_in UNSTABLE --externs './lib/jquery/jquery-3.6.0.min.js' --externs './lib/jquery/jquery-ui.min.custom.js' --externs './lib/tinymce/tinymce.min.js' --js './src/**.js' --js_output_file './dist/app.js';

it seems to be running for the most part until I include tinymce... it gives me this massive output

java.lang.RuntimeException: INTERNAL COMPILER ERROR.
Please report this problem.

com.google.javascript.rhino.Node cannot be cast to com.google.javascript.rhino.Node$StringNode
  Node(OBJECTLIT): ./lib/tinymce/tinymce.min.js:4:4095
!function(){"use strict";var e=function(e){if(null===e)return"null"
....
Parent(RETURN): ./lib/tinymce/tinymce.min.js:4:4095
!function(){"use strict";var e=function(e){if(null===e)return"null"
....
	at com.google.javascript.jscomp.Compiler.throwInternalError(Compiler.java:2900)
	at com.google.javascript.jscomp.NodeTraversal.throwUnexpectedException(NodeTraversal.java:509)
	at com.google.javascript.jscomp.NodeTraversal.traverse(NodeTraversal.java:529)
	at com.google.javascript.jscomp.NodeTraversal$Builder.traverse(NodeTraversal.java:465)
	at com.google.javascript.jscomp.NodeTraversal.traverse(NodeTraversal.java:535)
	at com.google.javascript.jscomp.MethodCompilerPass.process(MethodCompilerPass.java:71)
	at com.google.javascript.jscomp.InlineSimpleMethods.process(InlineSimpleMethods.java:71)
	at com.google.javascript.jscomp.PhaseOptimizer$NamedPass.process(PhaseOptimizer.java:240)
	at com.google.javascript.jscomp.PhaseOptimizer$Loop.process(PhaseOptimizer.java:378)
	at com.google.javascript.jscomp.PhaseOptimizer.process(PhaseOptimizer.java:179)
	at com.google.javascript.jscomp.Compiler.performTranspilationAndOptimizations(Compiler.java:2586)
	at com.google.javascript.jscomp.Compiler.lambda$stage2Passes$5(Compiler.java:935)
	at com.google.javascript.jscomp.CompilerExecutor.lambda$runInCompilerThread$0(CompilerExecutor.java:100)
	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.lang.Thread.run(Thread.java:833)
	at com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:705)
	at com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:202)
Caused by: java.lang.ClassCastException: com.google.javascript.rhino.Node cannot be cast to com.google.javascript.rhino.Node$StringNode
	at com.google.javascript.rhino.Node.getString(Node.java:1298)
	at com.google.javascript.jscomp.MethodCompilerPass$GetExternMethods.visit(MethodCompilerPass.java:151)
	at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:964)
	at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:954)
	at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:954)
	at com.google.javascript.jscomp.NodeTraversal.traverseFunction(NodeTraversal.java:1009)
	at com.google.javascript.jscomp.NodeTraversal.handleFunction(NodeTraversal.java:860)
	at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:906)
	at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:954)
	at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:954)
	at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:954)
	at com.google.javascript.jscomp.NodeTraversal.traverseFunction(NodeTraversal.java:1009)
	at com.google.javascript.jscomp.NodeTraversal.handleFunction(NodeTraversal.java:860)
	at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:906)
	at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:954)
	at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:954)
	at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:954)
	at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:954)
	at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:954)
	at com.google.javascript.jscomp.NodeTraversal.traverseFunction(NodeTraversal.java:1009)
	at com.google.javascript.jscomp.NodeTraversal.handleFunction(NodeTraversal.java:860)
	at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:906)
	at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:954)
	at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:954)
	at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:954)
	at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:1132)
	at com.google.javascript.jscomp.NodeTraversal.handleScript(NodeTraversal.java:848)
	at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:903)
	at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:954)
	at com.google.javascript.jscomp.NodeTraversal.traverse(NodeTraversal.java:526)
	... 16 more

I've been searching the internet for a couple days to try and solve this before posting here hopefully there is a solution

@bannostookaylo
Copy link
Author

I managed to hack my way around it by not including it in the externs and just calling the function like this

tinymce[ "function" ]();

I found some more readings on here about externs and it appears there is quit a bit that goes into making them work? I am confused why the jquery ones seem to work thought since I downloaded them from jquery and not the externs page on this github project.

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

No branches or pull requests

1 participant