tern icon indicating copy to clipboard operation
tern copied to clipboard

Error using tern with threejs library

Open kjuen opened this issue 6 years ago • 0 comments

Trying to use tern with the threejs library, https://threejs.org, resulted in the following error:

Request failed: Could not start Tern server def.js:439 throw new Error("Invalid !type spec: " + tp); ^

Error: Invalid !type spec: number at passOne (def.js:439:17) at doLoadEnvironment (def.js:515:74) at Object.exports.load (def.js:535:7) at infer.js:869:13 at Object.exports.withContext (infer.js:883:18) at new exports.Context (infer.js:851:13) at exports.Server.reset (tern.js:153:17) at new exports.Server (tern.js:130:10) at startServer (bootstrap.js:139:16) at bootstrapServer (bootstrap.js:162:10)

(Note that I removed absolute paths from the error message and traceback) The tern version is 0.24.1.. I created the threejs.json file with the following command: ./condense --name threejs /opt/js/three.js/build/three.min.js > ../defs/threejs.json

With a bit of trial and error I got tern to work by removing some lines of the threejs.json file. But it seems that something is wrong either with generating or parsing the json definition file.

These are the lines I removed from threejs.json to make the whole thing work:

  • "THREE.PropertyMixer.prototype.accumulate.!0": {
  •  "!type": "number",
    
  •  "!span": "494860[838:378]-494861[838:379]"
    
  • },
  • "THREE.PropertyMixer.prototype._select.!1": {
  •  "!type": "number",
    
  •  "!span": "495506[840:4]-495507[840:5]"
    
  • },
  • "THREE.PropertyMixer.prototype._lerp.!1": {
  •  "!type": "number",
    
  •  "!span": "495647[840:145]-495648[840:146]"
    
  • },

and

  • "THREE.PropertyMixer._mixBufferRegion.!1": {
  •  "!type": "number",
    
  •  "!span": "495647[840:145]-495648[840:146]"
    
  • },
  • "THREE.AnimationMixer._actions.": {
  •  "_byClipCacheIndex": {
    
  •    "!type": "number",
    
  •    "!span": "511077[869:472]-511094[869:489]"
    
  •  },
    
  •  "_cacheIndex": {
    
  •    "!type": "number",
    
  •    "!span": "511166[870:57]-511177[870:68]"
    
  •  }
    
  • },

Tern is great. Thanks for providing it!

kjuen avatar Jul 14 '19 05:07 kjuen