js_facade_gen
js_facade_gen copied to clipboard
Cannot read properties of undefined (reading 'getSourceFile')
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
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 (
@sigmundch @kevmoo any plans to fix this in near future?
@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.
CC @devoncarew