Skip to content
This repository has been archived by the owner on Dec 5, 2022. It is now read-only.

Cannot read properties of undefined (reading 'getSourceFile') #107

Open
jsiedentop opened this issue Aug 29, 2022 · 4 comments
Open

Cannot read properties of undefined (reading 'getSourceFile') #107

jsiedentop opened this issue Aug 29, 2022 · 4 comments

Comments

@jsiedentop
Copy link

I tried to generate a facade of the chrome extensions api but got this error:

/usr/local/lib/node_modules/dart_js_facade_gen/index.js:28
  if (e.name !== 'DartFacadeError') throw e;
                                    ^

TypeError: Cannot read properties of undefined (reading 'getSourceFile')
    at Transpiler.reportError (/usr/local/lib/node_modules/dart_js_facade_gen/build/lib/main.js:407:22)
    at FacadeConverter.reportError (/usr/local/lib/node_modules/dart_js_facade_gen/build/lib/base.js:395:25)
    at FacadeConverter.getTypeDeclarationOfSymbol (/usr/local/lib/node_modules/dart_js_facade_gen/build/lib/facade_converter.js:615:18)
    at MergedType.merge (/usr/local/lib/node_modules/dart_js_facade_gen/build/lib/merge.js:39:42)
    at Array.forEach (<anonymous>)
    at MergedType.merge (/usr/local/lib/node_modules/dart_js_facade_gen/build/lib/merge.js:24:33)
    at FacadeConverter.generateDartTypeName (/usr/local/lib/node_modules/dart_js_facade_gen/build/lib/facade_converter.js:399:20)
    at TypeTranspiler.visitNode (/usr/local/lib/node_modules/dart_js_facade_gen/build/lib/type.js:13:31)
    at Transpiler.visit (/usr/local/lib/node_modules/dart_js_facade_gen/build/lib/main.js:446:37)
    at DeclarationTranspiler.visit (/usr/local/lib/node_modules/dart_js_facade_gen/build/lib/base.js:301:25)

Node.js v18.8.0

Steps to reproduce

# create interactive node docker container and execute a bash
docker run -it --rm node:18 bash

# setup build environment inside of the docker container
mkdir /build
cd /build
npm install -g dart_js_facade_gen

# load chrome interfaces
npm install --save @types/chrome

# execute the dart_js facade generator
dart_js_facade_gen --destination=/build/lib --base-path=/build/node_modules/@types/chrome /build/node_modules/@types/chrome/index.d.ts

My approach worked with some minimal typescript interfaces. I tried to isolate the error and found out that there are several interfaces with such a line: export var TAB_ID_NONE: -1; that cause problems. But there are more errors.

Because I only need a small portion of the interface I decided to use direct js interop instead of this generator. Would be awesome, if this project could be resumed. I would have liked to publish a dart version of the chrome extension api on pub.dev

@ps9310
Copy link

ps9310 commented Nov 9, 2022

Same error for me as well.

/opt/homebrew/lib/node_modules/dart_js_facade_gen/index.js:28
if (e.name !== 'DartFacadeError') throw e;
^

TypeError: Cannot read properties of undefined (reading 'getSourceFile')
at Transpiler.reportError (/opt/homebrew/lib/node_modules/dart_js_facade_gen/build/lib/main.js:407:22)
at FacadeConverter.reportError (/opt/homebrew/lib/node_modules/dart_js_facade_gen/build/lib/base.js:395:25)
at FacadeConverter.getTypeDeclarationOfSymbol (/opt/homebrew/lib/node_modules/dart_js_facade_gen/build/lib/facade_converter.js:615:18)
at MergedType.merge (/opt/homebrew/lib/node_modules/dart_js_facade_gen/build/lib/merge.js:39:42)
at Array.forEach ()
at MergedType.merge (/opt/homebrew/lib/node_modules/dart_js_facade_gen/build/lib/merge.js:24:33)
at FacadeConverter.generateDartTypeName (/opt/homebrew/lib/node_modules/dart_js_facade_gen/build/lib/facade_converter.js:399:20)
at TypeTranspiler.visitNode (/opt/homebrew/lib/node_modules/dart_js_facade_gen/build/lib/type.js:13:31)
at Transpiler.visit (/opt/homebrew/lib/node_modules/dart_js_facade_gen/build/lib/main.js:446:37)
at DeclarationTranspiler.visit (/opt/homebrew/lib/node_modules/dart_js_facade_gen/build/lib/base.js:301:25)

@ps9310
Copy link

ps9310 commented Nov 9, 2022

@sigmundch @kevmoo any plans to fix this in near future?

@kevmoo
Copy link
Contributor

kevmoo commented Nov 9, 2022

@ps9310 no. We're likely going to sunset this project. It has not been maintained and it's VERY outdated.

I'd love to have a solution in this space, though.

@kevmoo
Copy link
Contributor

kevmoo commented Nov 9, 2022

CC @devoncarew

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

No branches or pull requests

3 participants