-
-
Notifications
You must be signed in to change notification settings - Fork 225
Rewrite project into TypeScript #325
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
c0a4467 to
9ef8346
Compare
|
Before making such a commitment, a good thing to do is to offer help in an issue. I'll need to put some contribution guideline later at some point. You can't know what might be cooking behind the scenes or what concerns I might have. This might be handy after all, thanks! Now, when I get to work on Regarding #311 - I don't want zero effort, zero communication requests (I consider insulting) to occupy any space and attention. That's why I closed it. |
|
If you prefer I can also not update any dependencies and just add typescript. But I thought you might want to be in the latest of rollup, etc, so it makes it even easier for you in the future. Overall, most of the changes are very lightweight so it should be easy to review. There are places I'm just switching from jsdoc to typescript. |
|
No, you're right it will be easier the way it is. If you wish, you can refer to the dependencies in https://github.com/mxxii/peberminta (or |
- Convert all source files from JavaScript to TypeScript - Add proper type annotations to classes and functions - Add WrapStateStackItem interface for stack item typing - Add assertion functions for type safety - Add tsconfig.json for TypeScript configuration
- Convert source files from JavaScript to TypeScript - Add type annotations to formatters and table printer - Add TypeScript build configuration - Add type definitions for package consumers - Update test files to TypeScript
- Convert source files from JavaScript to TypeScript - Add type annotations to formatters and table printer - Add TypeScript build configuration - Add type definitions for package consumers - Update test files to TypeScript
- Convert CLI source file from JavaScript to TypeScript - Add type annotations to CLI functions - Add TypeScript build configuration
- Add TypeScript dependencies and build scripts - Add ESLint flat config with TypeScript support - Convert example files to TypeScript - Add root tsconfig.json and tsconfig.base.json - Update .gitignore and remove .eslintignore
|
I split the PR into multiple commits, one for each package + one for everything else. I get
I'm not sure you put the ts types in the wrong place or what in your other lib, or if I need to manually import the "types" in package-json (ideally not). I made it support Node 18, so you should be safe. Feel free to review when you have time. I know maintaining a project takes a lot of time. If you have questions, disagree with anything, want partial PR or more conservative changes feel free to ask. |
|
Thank you. Yeah, I'm aware of the issue with exports of upstream packages - should be resolved once I'm done updating them. |
I like this project and decided to give a shot into rewriting to TS.
git mv, instead of newly created/duplicated, so git diff will be very easy.There should be no visible changes, and it is not supposed to be breaking.
I recognize there are many files and reviewing could be hard.
I did my best and if you need anything (such as splitting into 3 commits, one for each package) feel free to ask.
Close #311 (which was already closed? lol).