Comments (6)
Furthermore I don't know exactly what it does but if it holds state between files and directories would be good to have an exclude option, to exclude certain files/sub-directories if it does not have.
from js-to-ts-converter.
I ran into a similar problem while converting a Class extended from Error. This might be what happened:
It seems that js-to-ts-converter
had treated constructor
as a property of class, it makes sense that in js we declare and add property by simply set a value to this.xxx
in the constructor
function, so parse the code of constructor
function, and find any accessing like this.xxx
, we get the properties of the class, but when we have a class extends from Error, in constructor, we usually need to access this.constructor(pass as argument to Error.captureStackTree
), and js-to-ts-converter
mistakes constructor
is a property of this class. Here is the output error message:
Adding property declarations for properties: 'name', 'code', 'userMessage', 'constructor'
C:\Users\Administrator\AppData\Roaming\npm\node_modules\js-to-ts-converter\node_modules\ts-morph\dist\manipulation\helpers\getRangeWithoutCommentsFromArray.js:18
throw new errors.NotImplementedError(`Unexpected! Inserting syntax kind of ${utils_1.getSyntaxKindName(expectedKind)}` +
^
NotImplementedError: Unexpected! Inserting syntax kind of PropertyDeclaration, but Constructor was inserted.
at Object.getRangeWithoutCommentsFromArray (C:\Users\Administrator\AppData\Roaming\npm\node_modules\js-to-ts-converter\node_modules\ts-morph\dist\manipulation\helpers\getRangeWithoutCommentsFromArray.js:18:23)
at Object.insertIntoBracesOrSourceFileWithGetChildren (C:\Users\Administrator\AppData\Roaming\npm\node_modules\js-to-ts-converter\node_modules\ts-morph\dist\manipulation\manipulations\insertion.js:183:22)
at insertChildren (C:\Users\Administrator\AppData\Roaming\npm\node_modules\js-to-ts-converter\node_modules\ts-morph\dist\compiler\ast\class\base\ClassLikeDeclarationBase.js:428:27)
at ClassDeclaration.insertProperties (C:\Users\Administrator\AppData\Roaming\npm\node_modules\js-to-ts-converter\node_modules\ts-morph\dist\compiler\ast\class\base\ClassLikeDeclarationBase.js:169:20)
at C:\Users\Administrator\AppData\Roaming\npm\node_modules\js-to-ts-converter\dist\converter\add-class-property-declarations\add-class-property-declarations.js:63:26
at Array.forEach (<anonymous>)
at Object.addClassPropertyDeclarations (C:\Users\Administrator\AppData\Roaming\npm\node_modules\js-to-ts-converter\dist\converter\add-class-property-declarations\add-class-property-declarations.js:37:34)
at Object.convert (C:\Users\Administrator\AppData\Roaming\npm\node_modules\js-to-ts-converter\dist\converter\convert.js:26:54)
at doConvert (C:\Users\Administrator\AppData\Roaming\npm\node_modules\js-to-ts-converter\dist\js-to-ts-converter.js:62:22)
at Object.convertJsToTsSync (C:\Users\Administrator\AppData\Roaming\npm\node_modules\js-to-ts-converter\dist\js-to-ts-converter.js:40:35)
Highlights:
verbose: Adding property declarations for properties: 'name', 'code', 'userMessage', 'constructor'
It tried to add a property declarations for 'constructor'.
NotImplementedError: Unexpected! Inserting syntax kind of PropertyDeclaration, but Constructor was inserted.
from js-to-ts-converter.
I have the exact same problem as seen above.
from js-to-ts-converter.
Anyone found a workaround or a solution?
from js-to-ts-converter.
I have only one file one class that use this.constructor
in the constructor function, so I just simply convert it by hand.
Anyone found a workaround or a solution?
from js-to-ts-converter.
Fixed in 0.17.1
from js-to-ts-converter.
Related Issues (17)
- Add 'any' type to all function parameters HOT 1
- Stack: Error: Error replacing tree HOT 6
- Add an option to convert all *.js to *.tsx for react native HOT 1
- converted a react native component from js to ts where it should be tsx HOT 2
- Require statements not converted to import HOT 1
- Wau, this package rename js file to ts file HOT 1
- Git file history is lost for some file HOT 1
- Not able to convert my JS to TS throws error HOT 6
- Stack: RangeError: Maximum call stack size exceeded
- Stack: RangeError: Maximum call stack size exceede HOT 8
- Getting parameter types info from JSDoc comments
- [ERROR] Debug Failure. Expected 3 === 1. HOT 2
- Converter gets stuck on 'info: Renaming .js files to .ts' step HOT 12
- type inference? HOT 1
- Crash on Self Closing JSX Elements HOT 7
- Anyway to convert all js to ts. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from js-to-ts-converter.