lusaxweb / vuesax-next

Vuesax v4: framework components for Vuejs
https://vuesax.com/
GNU General Public License v3.0
1.81k stars 201 forks source link

Absurd Project Structure #90

Closed ayushsharma82 closed 3 years ago

ayushsharma82 commented 4 years ago

With all due respect, this is not how we should structure repositories which contain NPM package.

Please add all vuesax 4.0 files in the default vuesax@next branch so that somebody who wants to clone the repository directly can do so in NPM without any hassle.

Keep this repository to host your docs. Make a separate repo for all the vuesax core functionality.

For Example, right now I can't even do this: npm i ayushsharma82/vuesax-next to test my changes.

luisDanielRoviraContreras commented 3 years ago

explain better what you mean to improve the structure

ayushsharma82 commented 3 years ago

@luisDanielRoviraContreras , Right now, there is no way to get the source code 'only' and help it improve, we have to download whole vuesax 4.0 docs to review our bug fixes.

As this is hosted on NPM, I suggest keeping Vuesax source files 'only' in this repository and documentation can be hosted on any other repository which will greatly help this project.

ayushsharma82 commented 3 years ago

Or maybe it is because your vuesax@next branch is not publically available, which is a terrible decision.

luisDanielRoviraContreras commented 3 years ago

What do you mean by not having the source code? here is all the vuesax 4 code in which you can help and fix bugs https://github.com/lusaxweb/vuesax-next/tree/master/packages/vuesax/src

ayushsharma82 commented 3 years ago

@luisDanielRoviraContreras I think you are missing my point, Currently, the source code is deep inside the repository, It should be at the top level.

Reason: NPM allows us to install repositories directly from github and we can't do like this: npm i lusaxweb/vuesax-next , or in case I clone this repo to fix bugs, I can't do npm i ayushsharma82/vuesax-next. It is something which is very serious as we all will have to depend on you packing the vuesax folder & creating a new release so that we can have our changes in our own project.

luisDanielRoviraContreras commented 3 years ago

https://github.com/nuxt/nuxt.js

so is this repository wrong too?

now the repositories are maintained by lerna and thus it is easier to manage each of the plugins of the ecosystem

ayushsharma82 commented 3 years ago

It comes to the scope of the repository, Nuxt is a whole framework and Vuesax is just a component library, you can check their packages folder, It contains various small packages which contribute to the whole project. In this repository, all we need is a /packages/vuesax folder which has everything.

Sadly, it's just making the project less developer-friendly. When all of the functionality is in a single folder, there is no point in using Lerna. Docs and Vuepress theme can be separated out.

ayushsharma82 commented 3 years ago

The decision is yours, I felt it is convoluted when I wanted to check my changes in my own projects, and I could not install my cloned repository. I had to essentially wait for you to merge the pull request and create a release which is just delaying things.

If you are going to use Lerna then you can add a couple of points in the documentation:

  1. How to Install cloned Vuesax repository as a package in a project?
  2. Add a link to a sample ( glitch? ) page which contains all components for testing our changes.
luisDanielRoviraContreras commented 3 years ago

Thank you very much for the advice. I will improve the way to test the components and add documentation for those who want to help and how they can do it

luisDanielRoviraContreras commented 3 years ago

https://github.com/vuetifyjs/vuetify/tree/master/packages