Skip to content
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

Enhance project organisation #83

Open
jooola opened this issue Mar 8, 2020 · 2 comments
Open

Enhance project organisation #83

jooola opened this issue Mar 8, 2020 · 2 comments

Comments

@jooola
Copy link
Contributor

jooola commented Mar 8, 2020

I'd like to enhance the project organization:

  • Cleanup old files and add some useful files Cleanup project #82
  • Enhance prettier scope and add eslint to check for the code.
  • Use jest for easier and more testing.
  • Setup good CI/CD with linting, testing and releasing.
  • Slowly migrate to typescript.

But as shown in the contributing document I wanted to first discuss changes in here.

Some point are almost fulfilled, but I had some improvement to propose.

@BlueHatbRit What do you think of my proposal ? In the long run in think this will make to project easier to maintain.

@elliotblackburn
Copy link
Owner

Hi @jooola, thanks for the thoughts 😄 I'm glad you're interested in keeping the project alive and thinking about the longevity of it.

First of all, I don't think any of these suggestions are bad or wrong, they're great and I really appreciate having them proposed! Mdpdf is a small portion of my time and I'd like to see it remain easy for others to work on. I've got a bit of gut-reaction feedback on some of the ideas so I thought I'd put them down so you can expand on your thoughts a bit more.

  1. Cleaning up old files seems generally a good idea, I'll review PR Cleanup project #82 seperately to this 😄
  2. I like Prettier and I'm up for changing the scope of the commands a bit if there are things it isn't catching. It's been a while since I've re-visited its configuration. What files does the current scope miss? Eslint is great on larger projects, I've not really ever bothered with it for things on the scale of mdpdf. I don't think I'm against including it, but I think I'd prefer it didn't block merging and was just informational if we did decide to add it. I find sometimes it can get in the way although most of the time it makes good suggestions.
  3. I'm not sure I see the value of Jest over mocha right now. I've used Jest a bit and it's a good testing library but from my understanding Jest won't give us anything we don't already have with mocha. I'm much more familiar with mocha as well which makes my life a lot easier. Why do you think Jest will make testing easier and enable us to write tests we can't already write? On a side note, I think in the best case scenario I'd like tests that do deeper inspection of the PDF. However, this would require a lot of work writing something to inspect PDF structures so it's probably not worth it right now.
  4. Could you expand on this point a little more, I'm not clear what you wish to change with the CI/CD, is it just adding linting and automated releases? I'm up for adding both I think, I actually spent a while getting releases in place but found github actions a royal pain to get releases working. I'm not too fussed about manual releases for mdpdf right now as it's fairly irregular that releases are made and it's very low effort. That said, if automating them was much easier and done in a way that fit my existing workflow, I'd definetely be up for accepting something.
  5. I really like TS, and I do/have used it for a lot of projects. In the case of mdpdf, I think typescript is a little bit overkill. This is a small project maintained really by just myself, TS is getting better but it's still not quite as easy as JS is to get up and running with. I find the simplicity of just running raw JS to be a big reason I'm able to move so fast on this project at the moment. It might be something worth looking into if the project expanded, but at it's current size I'm not sure I'm a fan of migrating over. Right now it's pretty easy to manage and I don't have to faff around with transpiling or types. If it grows substantially then I'd definetely be up for revisiting this point, but considering the project has stayed roughly the same size since it's first release, I'm not sure it's something I'd want to do right now.

Thanks so much for the suggestions, please do let me know what you think and feel free to expand more on some of your ideas. It's great having contributions like this and I really appreciate them. Thanks for your time and energy 😄

@elliotblackburn
Copy link
Owner

Updated:

  • I've just realised that I already automated releases a few months back, so that's already working :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants