question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Splitting core functionality to separate plugins

See original GitHub issue

Hello, dear contributors and Cerebro users!

In this issue I want to raise awareness and hear your feedback about my thoughts. I see that complexity and amount of core features are growing and now it is a time to split everything and leave only really core features in the main repository and move other stuff to separate packages. For that purpose I’ve already created repositories for everything, that I think should be moved out, such as:

  • https://github.com/KELiON/cerebro-ui – here I want to create another package, like cerebro-tools, but with common react-components, that could be reused in plugins. It will help to have consistent UI across all plugins

Repositories for plugins:

Moving all plugins to separate repositories/packages will help to keep them small, clear, and testable. It will reduce size of application installer. Also, it will help to involve more contributors, because some developers could be more interested in helping with a specific plugin instead of dealing with huge amount of code and building process of main application.

At the same time it helps us with UX, because after that change every plugin in the system could be installed or uninstalled by the user (so, i.e. currently some users already uses duck-duck-go search, but disabling google is not possible). I thought about adding “disable” option, but why should we keep plugins, that are not used?

So, I want to track here updates of moving code out. Contributors are welcome to help – it will increase our speed of doing it! Just leave a comment if you start to extracting any plugin.

As a last step here we will have to add initial installing of some plugins and we have to decide which plugins should be included as core. As I see it, it will be:

  • basic-apps (apps search and launch on windows and linux)
  • osx-app
  • math
  • converter
  • files navigation
  • google
  • open web

So, basically translate and google maps plugins could be removed from core. Share you thoughts in comments!

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Reactions:3
  • Comments:8 (2 by maintainers)

github_iconTop GitHub Comments

2reactions
glja021commented, Apr 13, 2017

This looks like a great change 👍 It’d make developing new features a lot easier and quicker.

Tonight I’m going to extract the Google plugin 😄 Starting the math after that one is done

1reaction
KELiONcommented, Apr 26, 2017

Going to extract google maps now

Read more comments on GitHub >

github_iconTop Results From Across the Web

Code Splitting - webpack
Code splitting is one of the most compelling features of webpack. This feature allows you to split your code into various bundles which...
Read more >
Add possibility to disable code splitting / chunks generation
Another solution is to put all these shared modules (output chunks) into a separate folder and include them with every single serverless ...
Read more >
Core Plugin or Multiple Plugins - High Performance Minecraft
Splitting things up, you're forced to think about responsibilities and boundaries of each plugin, which inevitably forces you to build your ...
Read more >
Splitting loaded WP install into smaller websites | WordPress.org
I really need the functionality offered by the plugins. ... 1. split the website into 2: a “Landing Page” website and a “ELearning”...
Read more >
Split filter plugin | Logstash Reference [8.5] - Elastic
The split filter clones an event by splitting one of its fields and placing each value resulting from the split into a clone...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found