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

Monorepo #547

Merged
merged 73 commits into from
Aug 24, 2018
Merged

Monorepo #547

merged 73 commits into from
Aug 24, 2018

Conversation

hipstersmoothie
Copy link
Collaborator

@hipstersmoothie hipstersmoothie commented Aug 13, 2018

What's Changing and Why

Breaks jimp up into a set of many packages. Great news is this doesn't break the API at all!

Types - plugins that enable encoding/decoding for a format:

  • @jimp/type-png
  • @jimp/type-jpeg
  • @jimp/type-bmp
  • @jimp/type-tiff
  • @jimp/type-gif

Motiviation:

  • Allows users to use other libraries for decoding/encoding easily.
  • Maybe someone doesn't care about JS only and wants to use wrappers around lower level image libraries.

Plugins - plugins that enable encoding/decoding for a format:

  • @jimp/plugin-resize
  • @jimp/plugin-rotate
  • @jimp/plugin-crop
  • @jimp/plugin-blit

Motiviation:

  • Allows users to write their own jimp function
  • Allows users to include and exclude whatever manipulation methods they want to

Other Packages

  • @jimp/core - all the code you know and love from current jimp
  • @jimp/custom - an API to customize a jimp configuration
  • jimp - a customized jimp with all the current types and functions

Todo

Make all functions into packages that are also plugins. This will enable people to write plugins for jimp (like circle or any other custom bitmap manipulation). It will also enable configuring a jimp the only does certain things.

What else might be affected

Everything has been moved around so everthing

@edi9999 Input?

Tasks

  • Add tests
  • Update Documentation
  • Update jimp.d.ts
  • Add SemVer Label

@edi9999
Copy link
Contributor

edi9999 commented Aug 20, 2018

Ok, indeed it makes no sense to split encoder/decoder if the underlying libraries do not split them.

Let me know when you've finished the new packages you've talked about

@hipstersmoothie
Copy link
Collaborator Author

@edi9999 all packages finished. once this is merged I'll make issues to document things a little more and get to work

@hipstersmoothie hipstersmoothie changed the title Monorepo [POC/WIP] Monorepo Aug 21, 2018
@hipstersmoothie
Copy link
Collaborator Author

I’m going to merge in the next 24 hours. The tiff library is giving us a bunch of problems and this will help users be able to exclude that particular file type from their jimp

@hipstersmoothie
Copy link
Collaborator Author

@edi9999

@edi9999
Copy link
Contributor

edi9999 commented Aug 24, 2018

Sorry for the late reply, I'm ok to merge too !

@edi9999 edi9999 merged commit d23d5ec into jimp-dev:master Aug 24, 2018
@hipstersmoothie hipstersmoothie deleted the monorepo branch August 24, 2018 23:37
@hipstersmoothie hipstersmoothie mentioned this pull request Aug 25, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug there is a bug in the way jimp behaves
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants