This is a list of features I would love to see in the first major version of tiptap. (WIP)
[x] Overhaul components
Replace scoped slots with components (see #20). Add <editor />, <editor-menubar /> and <editor-menububble /> components. Implementing separated components lets us nest markup more easier.
[x] Improve commands
Currently you can only register one command per extension (see #44). Sometimes this is limiting. For example, it would be nice to register an undo and redo command in the HistoryExtension. It would make sense to rename command to commands.
[x] Better support for Tree-Shaking (see #16)
[x] Unit tests + coverage
A minimum of unit test + coverage should be part of this release.
[x] Setup a CI server (e.g. Travis)
I am open to further suggestions 馃檶
I do believe that there is something fishy with tree shaking and I would make #16 a goal for this Roadmap. What are your thoughts?
I thought about possible topics for the version 1.x and the following came to my mind:
After changing the source code a bit I think that a minimum of unit test + coverage should be part of this release as well. The only way I had to check if my changes didn't break anything was to manually go through all examples and somehow try to break them. This approach works well to quickly prototype/propose features but it is very error prone: even the most dedicated developer can forget some corner case and some regressions may get introduced. It is also very counter productive, as I had to rerun all the manual test session for every change that could possibly introduce a bug.
Given that context I want to propose adopting Jest and come up with a minimum of coverage to be set as a goal.
I would go with Travis as it's free for open source projects and it's very well integrated with node/npm already. With tests (and the recent addition of linting) we could mark pull requests as not ready as soon as they hit the CI server with violations/broken tests.
@erickwilder Good ones! Added them to the todo list! 馃憤
Cool. Are you already working with the change from scoped slots towards components or is it just an idea?
@erickwilder I did some tests locally and will soon create a public branch for it.
I'm working on this at https://github.com/heyscrumpy/tiptap/tree/v1.0 馃挭
I recommend Circle CI to you. It's fast to start and it can run in parallel. Maybe I can assist you.
TypeScript support would be great
I have a rather obvious suggestion. An improvement to your documentation - the importance of which is always underestimated!
I literally started on Vue an hour ago because Laravel plays well with Vue, and this editor looks great. Things were pretty easy to set up but something as simple and crucial as submission has me stumped.
Your TipTap page looks great. I think it's important to have an example that works precisely as those pages do. So for example, I have the MenuBubble example working but the bubble is not styled as it is on your page, and makes a post submission whenever I click the bubble but I can't see what's controlling that submission. A little more detail would really help.
That said, thanks for the amazing looking editor.
1.0 is online. This was a full rewrite but TypeScript hasn't made it yet. Maybe someone can now try to create some type definitions.
Cool. I was waiting for this so that I could pickup again other issues
Most helpful comment
I thought about possible topics for the version 1.x and the following came to my mind:
Unit tests + coverage
After changing the source code a bit I think that a minimum of unit test + coverage should be part of this release as well. The only way I had to check if my changes didn't break anything was to manually go through all examples and somehow try to break them. This approach works well to quickly prototype/propose features but it is very error prone: even the most dedicated developer can forget some corner case and some regressions may get introduced. It is also very counter productive, as I had to rerun all the manual test session for every change that could possibly introduce a bug.
Given that context I want to propose adopting Jest and come up with a minimum of coverage to be set as a goal.
Setup a CI server
I would go with Travis as it's free for open source projects and it's very well integrated with node/npm already. With tests (and the recent addition of linting) we could mark pull requests as not ready as soon as they hit the CI server with violations/broken tests.