cherrytree icon indicating copy to clipboard operation
cherrytree copied to clipboard

Interest in keeping cherrytree development

Open blikblum opened this issue 5 years ago • 7 comments

Hi,

I've been developing a fork of cherrytree published as cherrytreex, currently as version 3.4.

It's API is compatible with v2 but adds some features from v3

Here's what changed:

  • Implement next, done, error, cancel hooks (fixes #155 )
  • Optionally describe routes as arrays of objects
  • Bundles with Rollup for smaller bundles
  • Optionally routes can be defined as a constructor option
  • Update dev dependencies / tests

The incompatibility with cherrytree v2 are :

  • package is distributed as an ES Module
  • the constructor is exported instead of a factory function
  • do not use current state in generate
  • requires window.Promise (native or pollyfied)

I'm planing a v4 with a few breaking changes:

  • Use named exports for better tree shaking
  • Publish with ES Classes, ES6 features, no transpilling down to ES5
  • Make route.name optional

Since there's no activity here for a while, i'd like to know if there's interest that i take the ownership of cherrytree repository / npm package so the project keeps going on.

blikblum avatar Apr 03 '19 17:04 blikblum

Hi! This is exciting! I am no longer using this library myself, but I think we could figure out how to keep it going. Just give me a bit of time to do a review of cherrytreex and come up with a plan.

I no longer have access to this repo or npm package, but I can get those back in the next week or so.

I'm wondering where it would be best to keep the source, this repo, your repo? I'd also be happy to transfer to my username or create a dedicated org for cherrytree.

Out of curiosity, what JS framework are you using Cherrytree with?

KidkArolis avatar Apr 04 '19 15:04 KidkArolis

Out of curiosity, what JS framework are you using Cherrytree with?

Web component / LitElement

I'm using https://github.com/blikblum/nextbone-routing but i plan to create a smaller middleware for web components for those that don't need all that features

I'm wondering where it would be best to keep the source, this repo, your repo?

Anyone. What be more feasible

blikblum avatar Apr 05 '19 00:04 blikblum

I've contacted Qubit, my contact will be back next week, so I'll check back in then.

If it works for you, we could add you as a collaborator to the repo, whilst controlling the npm releases on our end. This way we'd merge the 2 efforts and continue development of Cherrytree into V3 and V4 etc.

Myself, I've actually been using https://github.com/KidkArolis/space-router for a couple years instead of Cherrytree, it's much lighter ~2kb and works well with React patterns. Instead of middleware functions with lifecycle hooks, you just get passed an array of say components and you render them. But it's also possible to configure objects with some lifecycle hooks instead of components and loop over those, etc. It might be possible to get some of the Cherrytree style functionality, but in an overall simpler package. I'm working towards 1.0.0 there, still going through some breaking API changes/improvements.

KidkArolis avatar Apr 11 '19 15:04 KidkArolis

Thanks. This works for me

blikblum avatar Apr 11 '19 15:04 blikblum

Sorry for dropping the ball on this completely. Didn't get access to this yet. But given the circumstance, wondering if it's best to leave this as is and continue on cherrytreex..

KidkArolis avatar May 16 '19 18:05 KidkArolis

Thanks i ve just renamed to Slick Router. For anyone interested see https://github.com/blikblum/slick-router

blikblum avatar May 16 '19 23:05 blikblum

Awesome! I think that's probably the best course of action.

KidkArolis avatar May 20 '19 09:05 KidkArolis