Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make it a proper multipackage monorepo #403

Closed
gaearon opened this issue Aug 8, 2016 · 12 comments
Closed

Make it a proper multipackage monorepo #403

gaearon opened this issue Aug 8, 2016 · 12 comments

Comments

@gaearon
Copy link
Contributor

gaearon commented Aug 8, 2016

I think we should change the directory structure to make it easier to add more packages to the project in the future. I’m thinking something like this:

packages
  - create-react-app (this is global-cli in current layout)
    - index.js
    - package.json
  - react-scripts (this is project root in current layout)
    - bin
    - config
    - scripts
    - package.json
tasks
template

A PR doing this is welcome. (You’ll probably want to adjust config/paths.js to account for this change.)

If you plan to work on this please leave a comment here so multiple people don’t work on the same thing. Please respect it if somebody has taken the task, and let them finish it.

@gaearon
Copy link
Contributor Author

gaearon commented Aug 8, 2016

(There is no need to add something like Lerna yet, I think, but if you’re sure it’s better then go ahead with it. Note that we want to have independent versioning for all packages.)

@ryanyogan
Copy link

I'd like to take a crack at this tonight/tomorrow if no one else started?

@gaearon
Copy link
Contributor Author

gaearon commented Aug 8, 2016

Sounds good @ryanyogan!

@suchipi
Copy link

suchipi commented Aug 8, 2016

Some discussion on the topic that might be worth considering: https://github.com/boennemann/alle

@ryanyogan
Copy link

ryanyogan commented Aug 8, 2016

Thanks @suchipi I am going to look at that now.

I do like the philosophy behind Lerna however I do concur with @gaearon that it may be overkill at this time.

I personally believe the project is small enough at this time adding additional complexities may incur more cost later. But crack an egg of wisdom on me if you feel strongly otherwise!

@hzoo
Copy link

hzoo commented Aug 8, 2016

I agree Lerna isn't necessary atm but it's relatively simple to setup with independent mode (you don't need crazy options)

# or global?
npm install lerna --save-dev
./node_modules/.bin/lerna init (add lerna.json)
./node_modules/.bin/lerna bootstrap (npm installs packages, links)
# when publish is necessary
./node_modules/.bin/lerna publish --independent

Should write up that usage guide sometime..

@ryanyogan
Copy link

I'll crack a branch with the basic requirements, then I will toy around with Lerna's independent mode.

I don't think it could hurt to show two variants, and let you all decide on what ya like better. I prefer simplicity until required, but from what it looks like Lerna independant is perhaps a fair compromise.

@hzoo
Copy link

hzoo commented Aug 8, 2016

If it isn't too much overheard, but otherwise yeah just stick with what works/simple.

ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 8, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 8, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 8, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 8, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 8, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 8, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 8, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 10, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 10, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 10, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 10, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 10, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 10, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 10, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 10, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 10, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 11, 2016
@ryanyogan
Copy link

@gaearon addressed in PR #419

ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 15, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 15, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 15, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 15, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 15, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 15, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 15, 2016
ryanyogan added a commit to ryanyogan/create-react-app that referenced this issue Aug 15, 2016
@boxxxie
Copy link

boxxxie commented Aug 29, 2016

i suggest waiting until lerna uses symlinks (this is part of one of the PRs that is about to be merged)

@gaearon
Copy link
Contributor Author

gaearon commented Sep 24, 2016

Done thanks to @ryanyogan and @fson. This unlocked many opportunities for us so thank you for moving this project forward.

@gaearon gaearon closed this as completed Sep 24, 2016
@ryanyogan
Copy link

No problemo, once my schedule gets a tad calmer I can't wait to start
creating some plugins, or whatever the group decides on for extending upon
the mono repo!

On Sat, Sep 24, 2016 at 5:51 AM, Dan Abramov [email protected]
wrote:

Done thanks to @ryanyogan https://github.com/ryanyogan and @fson
https://github.com/fson. This unlocked many opportunities for us so
thank you for moving this project forward.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#403 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACifHOknsINUN9G5X10yOSPGebllOiNks5qtRzDgaJpZM4JfUSG
.

@lock lock bot locked and limited conversation to collaborators Jan 22, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants