gitextract_7dpmj4fc/ ├── .gitignore ├── LICENSE ├── README.md ├── package.json ├── src/ │ ├── cli.ts │ ├── converter/ │ │ ├── add-class-property-declarations/ │ │ │ ├── add-class-property-declarations.ts │ │ │ ├── correct-js-properties.ts │ │ │ ├── js-class.ts │ │ │ ├── parse-js-classes.ts │ │ │ └── parse-superclass-name-and-path.ts │ │ ├── add-optionals-to-function-params.ts │ │ ├── convert.ts │ │ └── filter-out-node-modules.ts │ ├── create-ts-morph-project.ts │ ├── index.ts │ ├── js-to-ts-converter.ts │ ├── logger/ │ │ ├── index.ts │ │ ├── log-level.ts │ │ └── logger.ts │ └── util/ │ ├── find-import-for-identifier.ts │ ├── is-element-access-with-obj.ts │ ├── is-property-access-with-obj.ts │ ├── is-property-or-elemement-access-with-obj.ts │ ├── is-this-referencing-var.ts │ ├── is-valid-identifier.ts │ ├── parse-destructured-props.ts │ └── set-utils.ts ├── test/ │ ├── convert.spec.ts │ └── fixture/ │ ├── class-with-this-constructor-reference/ │ │ ├── expected/ │ │ │ └── my-class.ts │ │ └── input/ │ │ └── my-class.js │ ├── expression-extends/ │ │ ├── expected/ │ │ │ └── expression-extends.ts │ │ └── input/ │ │ └── expression-extends.js │ ├── function-calls-with-fewer-args-than-params/ │ │ ├── expected/ │ │ │ ├── call-to-exported-function.ts │ │ │ ├── call-to-local-function-with-default-value.ts │ │ │ ├── call-to-local-function.ts │ │ │ ├── call-to-sub-class-method.ts │ │ │ ├── call-to-super-class-method.ts │ │ │ ├── constructor-with-rest-param.ts │ │ │ ├── exported-function.ts │ │ │ ├── sub-class.ts │ │ │ └── super-class.ts │ │ └── input/ │ │ ├── call-to-exported-function.js │ │ ├── call-to-local-function-with-default-value.js │ │ ├── call-to-local-function.js │ │ ├── call-to-sub-class-method.js │ │ ├── call-to-super-class-method.js │ │ ├── constructor-with-rest-param.js │ │ ├── exported-function.js │ │ ├── sub-class.js │ │ └── super-class.js │ ├── function-expressions-and-declarations/ │ │ ├── expected/ │ │ │ └── class-with-function-expressions.ts │ │ └── input/ │ │ └── class-with-function-expressions.js │ ├── include-exclude-patterns/ │ │ ├── expected/ │ │ │ └── included/ │ │ │ └── included-file.ts │ │ └── input/ │ │ ├── included/ │ │ │ ├── excluded/ │ │ │ │ └── excluded-file.js │ │ │ └── included-file.js │ │ └── other-file-that-should-not-be-included.js │ ├── react-class-js/ │ │ ├── expected/ │ │ │ └── react-class.tsx │ │ └── input/ │ │ └── react-class.js │ ├── react-class-jsx/ │ │ ├── expected/ │ │ │ └── react-class.tsx │ │ └── input/ │ │ └── react-class.jsx │ ├── react-jsx-self-closing-element/ │ │ ├── expected/ │ │ │ └── react-self-closing-element.tsx │ │ └── input/ │ │ └── react-self-closing-element.js │ ├── superclass-subclass/ │ │ ├── expected/ │ │ │ ├── another-sub-class.ts │ │ │ ├── default-export-class.ts │ │ │ ├── my-class.ts │ │ │ ├── my-sub-class.ts │ │ │ ├── my-super-class.ts │ │ │ ├── superclass-in-node-modules.ts │ │ │ └── two-classes.ts │ │ └── input/ │ │ ├── another-sub-class.js │ │ ├── default-export-class.js │ │ ├── my-class.js │ │ ├── my-sub-class.js │ │ ├── my-super-class.js │ │ ├── package.json │ │ ├── superclass-in-node-modules.js │ │ └── two-classes.js │ ├── superclass-subclass-node-modules-not-installed/ │ │ ├── expected/ │ │ │ └── superclass-in-node-modules.ts │ │ └── input/ │ │ └── superclass-in-node-modules.js │ └── typescript-class/ │ ├── expected/ │ │ ├── declarations-in-superclass.ts │ │ ├── typescript-class.ts │ │ └── typescript-sub-class.ts │ └── input/ │ ├── declarations-in-superclass.ts │ ├── typescript-class.ts │ └── typescript-sub-class.ts ├── test.ts └── tsconfig.json