cssinjs / jss

JSS is an authoring tool for CSS which uses JavaScript as a host language.
https://cssinjs.org
MIT License
7.06k stars 397 forks source link

Move jss code to a "core" repository #538

Closed kof closed 5 years ago

kof commented 6 years ago

I think it will help to communicate organizational structure of jss more clearly if we move this code to the core. I want to avoid people thinking of jss as of this repository only, but rather to show that it is the core and there is much more to discover.

I would keep docs in this repo. Maybe also benchmarks which use all other repos.

Also the question is if we should also change the package name in this case.

Also the question is should we rename this package to "core" or move the code. Its a matter of what should users star. I think this repo still remains the main one for the user.

cc @cssinjs/core wdyt?

typical000 commented 6 years ago

Good idea, as for me! For statistic - there are many people who is using jss-core without react-jss or styled-jss? Maybe they are against. :)

kof commented 6 years ago

we may want to keep jss package name …

iamstarkov commented 6 years ago

The reasoning is unclear for me

kof commented 6 years ago

Ok, so the reasoning is: when we communicate about JSS, it is not exactly clear what it is. Some think it is just this repo, but it is actually multiple projects like react-jss and styled-jss. Also it is not clear to many that react-jss is using jss core.

better?

iamstarkov commented 6 years ago

yes, i got it.

iamstarkov commented 6 years ago

lets see what other eco-systems do.

and back to ours one:

do we need jss-core?

kof commented 6 years ago

eslint is the core and the only interface at the same time, jss has a core but it is more a low level thing, react-jss is for e.g. interface for react. So in react world jss is actually react-jss.

It happened already multiple times that people compared SC with jss core for e.g.

On Jul 17, 2017 23:26, "Vladimir Starkov" notifications@github.com wrote:

lets see what other eco-systems do.

  • eslint, eslint-plugin-, eslint-preset-, babel-eslint
  • babel, babel-plugin-, babel-preset-, babel-{runtime,polyfill, register}

and back to ours one:

  • jss, jss-plugin-, jss-preset-, styled-jss

do we need jss-core?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/cssinjs/jss/issues/538#issuecomment-315889670, or mute the thread https://github.com/notifications/unsubscribe-auth/AADOWPJmYY1JhieTELEIOU30pu34-lTOks5sO9F-gaJpZM4OZBeG .

lttb commented 6 years ago

I think that this makes sense. For me it's clear to have jss as an entry point to the jss-eco-system, that would aggregate jss-solutions, docs etc.

Today jss looks more like a cssinjs library, not like an eco-system at all, and jss-core would help to clarify these things.

In example with babel, babel has babel-core, but babel is like an eco-system front, that links to its components.

kof commented 6 years ago

I agree. Basically we have been good with jss repo before react-jss and styled-jss, but now, it makes less sense.

oliviertassinari commented 6 years ago

I haven't been involved in the decision of using one repository per package. What's wrong with the other way around, putting everything into this repository? As far I can tell from my experience hacking around Babel to write plugins, it would have been really painful with one repository per package.

kof commented 6 years ago

Its a different discussion, this issue is just about repo renaming. There are many pros and contras about monorepo vs multirepo approaches. Last time I did the research I ended up with multirepo. Right now I need to try out https://github.com/sapegin/mrm to see if it solves the problem with managing same files across repos, like package.json dependencies etc.