Closed foobardevpro closed 4 years ago
Output modules should form a tree with a common root, this is required for closure compiler's --chunk
flags. In your situations, two output modules does not share a common root module, and it seems to be causing those problems.
You can 'fix' it by adding a common root
"modules": {
"root": "./root.ts",
"bundle": {
"entry": "./app.tsx",
"dependencies": ["root"],
},
"bundle2": {
"entry": "./app2.tsx"
"dependencies": ["root"]
}
},
but this is probably not what you want. If two bundles does not share any code, there is no need to compile them together from the beginning.
Disclaimer: I might be doing something wrong. 😅
I've encountered this error code in 3 ways:
Scenario 1:
./js/app2.tsx
tscc.spec.json
another bundle:also to
tsconfig.json
:./js
:TS: app.tsx(30,9): warning TS0: unhandled type {type flags:0x80000 alias:"Readonly" flags:0x80000 TypeAlias aliasArgs:<{type flags:0x80000 Object objectFlags:0x2 object:Interface symbol.name:"IAppProps"}> Object objectFlags:0x96 object:Mapped object:Instantiated}
TS: app.tsx(30,9): warning TS0: unhandled type {type flags:0x80000 alias:"Pick" flags:0x80000 TypeAlias aliasArgs:<{type flags:0x80000 Object objectFlags:0x2 object:Interface symbol.name:"IAppState"},{type flags:0x40000 IncludesStructuredOrInstantiable symbol.name:"K"}> Object objectFlags:0x96 object:Mapped object:Instantiated}
TS: app.tsx(30,9): warning TS0: unhandled type {type flags:0x80000 alias:"Pick" flags:0x80000 TypeAlias aliasArgs:<{type flags:0x80000 Object objectFlags:0x2 object:Interface symbol.name:"IAppState"},{type flags:0x40000 IncludesStructuredOrInstantiable symbol.name:"K"}> Object objectFlags:0x96 object:Mapped object:Instantiated}
ClosureCompiler: java.lang.IllegalArgumentException: expected one element but was: <bundle, bundle2> at com.google.common.collect.Iterators.getOnlyElement(Iterators.java:316) at com.google.common.collect.Iterables.getOnlyElement(Iterables.java:254) at com.google.javascript.jscomp.JSModuleGraph.getRootModule(JSModuleGraph.java:325)
ClosureCompiler: at com.google.javascript.jscomp.AnalyzePrototypeProperties.(AnalyzePrototypeProperties.java:125)
at com.google.javascript.jscomp.CrossChunkMethodMotion.(CrossChunkMethodMotion.java:87)
at com.google.javascript.jscomp.DefaultPassConfig.lambda$new$60(DefaultPassConfig.java:2371)
at com.google.javascript.jscomp.PassFactory.create(PassFactory.java:118)
at com.google.javascript.jscomp.PhaseOptimizer$NamedPass.process(PhaseOptimizer.java:326)
at com.google.javascript.jscomp.PhaseOptimizer$Loop.process(PhaseOptimizer.java:471)
at com.google.javascript.jscomp.PhaseOptimizer.process(PhaseOptimizer.java:235)
at com.google.javascript.jscomp.Compiler.performOptimizations(Compiler.java:2416)
at com.google.javascript.jscomp.Compiler.lambda$stage2Passes$1(Compiler.java:793)
at com.google.javascript.jscomp.CompilerExecutor$2.call(CompilerExecutor.java:102)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:473)
at com.oracle.svm.core.windows.WindowsJavaThreads.osThreadStartRoutine(WindowsJavaThreads.java:137)
× Closure compiler error ClosureCompiler: Exited with code 4294967294. TSCC: 4294967294 TSCC: The compilation has terminated with an error.
const tscc = require('@tscc/tscc').default
tscc({ specFile: './tscc.spec.json' }, './tsconfig.json')
{ "modules": { "bundle1": "entry1.ts", "bundle2": "entry2.ts" }, "compilerFlags": { "warning_level": "VERBOSE" }, "prefix": "./" }
{ "compilerOptions": { "target": "esnext", "module": "commonjs" } }
TSCC: tsickle uses a custom tslib optimized for closure compiler. importHelpers flag is set. ClosureCompiler: java.lang.IllegalArgumentException: expected one element but was: <bundle1, bundle2> at com.google.common.collect.Iterators.getOnlyElement(Iterators.java:316) at com.google.common.collect.Iterables.getOnlyElement(Iterables.java:254) at com.google.javascript.jscomp.JSModuleGraph.getRootModule(JSModuleGraph.java:325) ClosureCompiler: at com.google.javascript.jscomp.AnalyzePrototypeProperties.(AnalyzePrototypeProperties.java:125)
at com.google.javascript.jscomp.CrossChunkMethodMotion.(CrossChunkMethodMotion.java:87)
at com.google.javascript.jscomp.DefaultPassConfig.lambda$new$60(DefaultPassConfig.java:2371)
at com.google.javascript.jscomp.PassFactory.create(PassFactory.java:118)
at com.google.javascript.jscomp.PhaseOptimizer$NamedPass.process(PhaseOptimizer.java:326)
at com.google.javascript.jscomp.PhaseOptimizer$Loop.process(PhaseOptimizer.java:471)
at com.google.javascript.jscomp.PhaseOptimizer.process(PhaseOptimizer.java:235)
at com.google.javascript.jscomp.Compiler.performOptimizations(Compiler.java:2416)
at com.google.javascript.jscomp.Compiler.lambda$stage2Passes$1(Compiler.java:793)
at com.google.javascript.jscomp.CompilerExecutor$2.call(CompilerExecutor.java:102)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:473)
at com.oracle.svm.core.windows.WindowsJavaThreads.osThreadStartRoutine(WindowsJavaThreads.java:137)
× Closure compiler error ClosureCompiler: Exited with code 4294967294. (node:16468) UnhandledPromiseRejectionWarning: Error: 4294967294 at ChildProcess.onCompilerProcessClose (D:*****\node_modules\@tscc\tscc\dist\tscc.js:128:24) at ChildProcess.emit (events.js:203:13) at maybeClose (internal/child_process.js:1021:16) at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5) (node:16468) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:16468) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
TSCC: tsickle uses a custom tslib optimized for closure compiler. importHelpers flag is set. TS: src/Play/Tilemap/App.ts(12,1): warning TS0: type/symbol conflict for default, using {?} for now
TSCC: File orders:
ClosureCompiler: args: D:*\node_modules\google-closure-compiler-windows\compiler.exe --language_in ECMASCRIPT_NEXT --language_out ECMASCRIPT5 --compilation_level ADVANCED --chunk_output_path_prefix --generate_exports --export_local_property_definitions --create_source_map %outname%.map --apply_input_source_maps --source_map_include_content --warning_level VERBOSE --chunk dist/js/homepage:3 --chunk dist/js/play:35 --json_streams BOTH --externs D:*.tscc_temp\66df952ad97c8b6685430372d4339cc6a863caccbe17b7a9dd58e2774e428734\externs_generated.js --externs D:*\node_modules\@tscc\tscc\third_party\tsickle\third_party\tslib\externs.js --externs D:*\node_modules\@tscc\tscc\third_party\tsickle\closure_externs.js
ClosureCompiler: java.lang.IllegalStateException: No common dependency found for {0, 1} at com.google.common.base.Preconditions.checkState(Preconditions.java:588)
ClosureCompiler: at com.google.javascript.jscomp.JSModuleGraph.getSmallestCoveringSubtree(JSModuleGraph.java:400) at com.google.javascript.jscomp.CrossChunkCodeMotion$DeclarationStatementGroupCycle.getPreferredModule(CrossChunkCodeMotion.java:625) at com.google.javascript.jscomp.CrossChunkCodeMotion$DeclarationStatementGroupCycle.moveToPreferredModule(CrossChunkCodeMotion.java:553) at com.google.javascript.jscomp.CrossChunkCodeMotion$GlobalSymbolCycle.moveDeclarationStatements(CrossChunkCodeMotion.java:324) at com.google.javascript.jscomp.CrossChunkCodeMotion.moveGlobalSymbols(CrossChunkCodeMotion.java:219) at com.google.javascript.jscomp.CrossChunkCodeMotion.process(CrossChunkCodeMotion.java:102) at com.google.javascript.jscomp.PhaseOptimizer$NamedPass.process(PhaseOptimizer.java:326) at com.google.javascript.jscomp.PhaseOptimizer$Loop.process(PhaseOptimizer.java:471) at com.google.javascript.jscomp.PhaseOptimizer.process(PhaseOptimizer.java:235) at com.google.javascript.jscomp.Compiler.performOptimizations(Compiler.java:2416) at com.google.javascript.jscomp.Compiler.lambda$stage2Passes$1(Compiler.java:793) at com.google.javascript.jscomp.CompilerExecutor$2.call(CompilerExecutor.java:102) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:473) at com.oracle.svm.core.windows.WindowsJavaThreads.osThreadStartRoutine(WindowsJavaThreads.java:137)
× Closure compiler error ClosureCompiler: Exited with code 4294967294. (node:20020) UnhandledPromiseRejectionWarning: Error: 4294967294 at ChildProcess.onCompilerProcessClose (D:*****\node_modules\@tscc\tscc\dist\tscc.js:128:24) at ChildProcess.emit (events.js:203:13) at maybeClose (internal/child_process.js:1021:16) at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5) (node:20020) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:20020) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.