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

📅 News and updates: January 17, 2017 #171

Open
Reinmar opened this issue Jan 17, 2017 · 0 comments
Open

📅 News and updates: January 17, 2017 #171

Reinmar opened this issue Jan 17, 2017 · 0 comments

Comments

@Reinmar
Copy link
Member

Reinmar commented Jan 17, 2017

It's the first News and Updates issue since the end of November which closed iteration 5.

Iteration 6 triggered various infrastructure topics which absorbed us so much that we decided to extend this iteration until the end of January. This could be a nice way of saying that we have a delay ;), but the changes that we have made and on which we are still working are really significant and could only be done before we release CKEditor 5 and could not be split into multiple iterations. Let's start from the beginning.

Project infrastructure

We are getting closer and closer to the final release, so it is high time to re-evaluate architectural decisions which we have taken earlier. This is especially important for the project infrastructure because all the software (which includes the official packages as well as 3rd party ones) is built upon it. Some of the topics which we (re)opened were:

However, the two most influential issues turned out to be a question whether we need the compilation step and how to switch to scoped packages and versioned dependencies.

Compilation was a building step performed before bundling CKEditor which was meant to encapsulate all CKEditor-specific tasks so CKEditor could be later bundled using any bundler of one's choice. This was a noble idea but turned to be really inconvenient and complicate things instead of simplifying them. We decided to get rid of the compilation step by aligning our building process as much as possible to the "JS standard(s)" (like there is only one) and encapsulate the remaining things (such as language files compilation) in plugins prepared for existing bundlers.

Even now, the change required a lot of work, but we have already seen that it makes it a lot easier to integrate building CKEditor with your workflow.

After settling on the building without compilation, we turned our faces towards switching to scoped packages and versioned dependencies. So far, we have been using npm to install dependencies from GitHub by using GitHub URLs in package.json. We need to stop doing this and use proper versioned dependencies. We also want to have all the official packages scoped in @ckeditor. This meant that we needed to review all our existing dev tools. We took that chance and proposed a simple (and generic) tool called mgit2. It allows to manage multi-repo projects and together with Lerna make a perfect pair for multi-repo multi-package projects.

We are now working on integrating mgit2 into our Travis setup. Once this is done, CKEditor 5 will be super easy to integrate, work with and develop.

Other changes

After this lengthy introduction about infrastructure I will just list some of the other things that we worked on because, besides infrastructure, we are also constantly pushing forward features and improvements for CKEditor 5 itself.

jan-17-2017 12-58-21

@Reinmar Reinmar changed the title 📅 News and Updates: January 17, 2016 📅 News and updates: January 17, 2016 Feb 7, 2017
@Reinmar Reinmar changed the title 📅 News and updates: January 17, 2016 📅 News and updates: January 17, 2017 Jul 31, 2017
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

1 participant