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

Hack node.js internal ... #4931

Closed
jackzzjack opened this issue Jan 28, 2016 · 17 comments
Closed

Hack node.js internal ... #4931

jackzzjack opened this issue Jan 28, 2016 · 17 comments
Labels
question Issues that look for answers.

Comments

@jackzzjack
Copy link

If I want to hack node.js internal, how can I start it ?

Are there any internal developer documents ? or about some node.js architecture documents ?

Thanks

@mscdex mscdex added the question Issues that look for answers. label Jan 28, 2016
@benjamingr
Copy link
Member

cc @nodejs/inclusivity @nodejs/documentation

@Qard
Copy link
Member

Qard commented Jan 28, 2016

There's a little bit of info here: https://github.com/nodejs/nodejs.org/blob/master/locale/en/docs/meta/topics/dependencies.md. We need more docs on internals though. We'd really appreciate help identifying what things newbies to the internals don't understand. 😺

@stevemao
Copy link
Contributor

We need to narrow down this issue here. What part of the internal you wanna hack? If you wanna build a native add-on there is https://nodejs.org/dist/latest-v5.x/docs/api/addons.html

@ashleygwilliams
Copy link
Contributor

hi @jackzzjack ! right now there aren't many great docs to help you get started, but there are a few working groups who are very interested in improving that experience. do you have some specific questions that we can answer? they'll also help us know what new contributors are looking for. thanks!

@Fishrock123
Copy link
Contributor

I'm a a little bit disappointed no one linked it yet, but currently the best resource for this is probably a talk I recently gave at Node.js Interactive.

The documentation is not really so good right now, but a lot of people are interested in it and hopefully there will be more motion soon.

For now, the best place to look is issue labels. There are a couple good ones that list issues where newer people may find it easier to help out:

  • good first contribution -- issues we've specifically tagged for people looking to contribute.
  • test -- Investigating test failures. There have been several people who have gotten involved this way.

If you have questions, please feel free to ask. :) (even like this!)

There is also a #node-dev IRC channel where most of the collaborators hang out to help collaboration around core, which is always a good place to ask questions.

@Knighton910
Copy link

yea dude @jackzzjack, you should totally watch @Fishrock123 talk. I think that's what you're looking for. It's not exactly docs, but it should get you sorted out.

@chrisdickinson Just bought more developers to the Docs team so I'm sure we will tackle this in the near future.

@jackzzjack
Copy link
Author

There are some big topics, V8 and libuv. Maybe somebody can provide some big pictures about the whole node.js architecture to lead the newbies get in.

I am curious about the relationship between V8, libuv and node.js.

@Trott
Copy link
Member

Trott commented Jan 29, 2016

Fishrock's talk is far better, but my talk about getting involved with Node has more Muppets. So there's that. https://www.youtube.com/watch?v=1F8F-EbdX40

I'm not a libuv expert by a long shot, so ignore me if someone else points to something better, but I've found this helpful from time to time: https://nikhilm.github.io/uvbook/index.html

I don't think there's a canonical overview document explaining v8 and libuv and how it all fits into Node.js. If you're super-motivated, maybe do your best to write up what it is that you do know (or can find in other sources), and hop on the #node-dev IRC channel and start asking questions to fill in the gaps. Then submit the resulting doc in markdown format as a PR. (Sorry if that's a distinctly not-helpful response.)

@Knighton910
Copy link

+1 @Trott

Libuv book https://nikhilm.github.io/uvbook/index.html

And introduction to libuv, I just downloaded that book last week and don't hesitate to check out the
V8 repository https://github.com/v8/v8 and just for kicks as well check out the Chromium Repo https://github.com/chromium/chromium 🔥 🚀

@rvagg
Copy link
Member

rvagg commented Jan 29, 2016

I think uvbook might be quite out of date so don't expect all the code samples to work. At least it was very out of date last time I has a proper look at it, maybe someone's done some work on it recently?

There's also a neat workshopper for libuv called learnuv: https://github.com/thlorenz/learnuv and it comes with a short gitbook: http://thlorenz.com/learnuv/book/

@Fishrock123
Copy link
Contributor

Fishrock's talk is far better, but my talk about getting involved with Node has more Muppets. So there's that. https://www.youtube.com/watch?v=1F8F-EbdX40

:O :O :O

There are some big topics, V8 and libuv. Maybe somebody can provide some big pictures about the whole node.js architecture to lead the newbies get in.

I agree it would be useful to have some of this, but I wouldn't worry to much about not knowing all the details. I'm on the core technical committee and I definitely don't claim to know all the details either! :)

@bnoordhuis
Copy link
Member

I'm happy to answer questions on node.js / libuv / V8 for anyone doing a write-up.

@techjeffharris
Copy link
Contributor

I'm happy to answer questions on node.js / libuv / V8 for anyone doing a write-up.

@bnoordhuis if you haven't already, would you PTAL at my pull request regarding the event loop and provide any feedback that might be helpful :) #4936

@Knighton910
Copy link

+1 @bnoordhuis

I'm happy to answer questions on node.js / libuv / V8 for anyone doing a write-up.

@jkrems
Copy link
Contributor

jkrems commented Feb 2, 2016

What got me confused when starting to work with node internals was the JS/native interface (HandleWrap/_handle) and how ownership works out between the two. Not sure if there are docs covering that topic already..?

@rvagg
Copy link
Member

rvagg commented Feb 3, 2016

Since there is much more documentation and examples for writing native addons for Node, perhaps that's the best way to enter into this kind of work, have a look at the addons docs, examples and what's out there in the ecosystem. That might give you a better understanding of what's going on between Node's C++ and JS.

@silverwind
Copy link
Contributor

Look like this is answered!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Issues that look for answers.
Projects
None yet
Development

No branches or pull requests