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

refactor: monorepo, microbundler, docs, deprecation #1913

Merged
merged 15 commits into from
Sep 14, 2020
Merged

refactor: monorepo, microbundler, docs, deprecation #1913

merged 15 commits into from
Sep 14, 2020

Conversation

waynevanson
Copy link
Contributor

Now this may not be the best practice, but I've made huge amount of changes due to the nature of the changes

Monorepo

Create a monorepo configuration with Lerna.
Lerna was chosen because it can be used with NPM or Yarn and aids us in publishing and bumping up the value of packages.

Each plugin is now a separate package internally. In 2.0, we'll expose each plugin as a separate package along side a bigger @sortable/plugins.

Closes #1910

todo: still need docs in the contribute section for how to use lerna. bootstrap, clean, publish.

Microbundler

We'll be using the infamous microbundler to bundle sortable! I was going to use parcel, but the lack of documentation for parcel 2 was enough to come across something else. It basically creates a rollup.config.js and runs rollup for us, so much of the files will be the same without too much change.

To make this work, all files had to become typescript. With enough //@ts-ignore comments, it will compile.
This was going to happen anyway.

Documentation

I moved around some documentation form the main README into the docs directory.
One day we'll use this on a website.

Deprecation

Some users have used GitHub as a CDN, meaning that users have been importing directly from the master tree.
These files are now filled with warnings about how they're not going to be updated any longer.

This lets people still using it have an unchanged experience and guides new users to not use it any longer.

@waynevanson waynevanson merged commit cc4a957 into SortableJS:master Sep 14, 2020
@waclaw66
Copy link

waclaw66 commented Oct 4, 2020

Object.assign is not supported by IE, compatibility with IE is broken now.
EDIT: I haven't notice the notice about <=IE11, it's not on the main page.

@waynevanson
Copy link
Contributor Author

@waclaw66 we shouldn't be making breaking changes on non major releases.

I'll add deprecation notice to the current release, fix object.entries if I find it and bump a major release in case it happens again.

@waynevanson
Copy link
Contributor Author

@waclaw66 On investigation, this source code has always been here and is included in Sortable, but was transformed with "@babel/plugin-transform-object-assign": "^7.2.0".

I will deprecate and issue a new release.

@waclaw66
Copy link

waclaw66 commented Oct 5, 2020

@waynevanson No problem, I had to return back to 1.10.2 anyway. IMO there should be increased major version because of breaking changes, to not get surprised and automatically updated by npm to 1.12.0 with no IE support.

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

Successfully merging this pull request may close these issues.

convert repo to monorepo
2 participants