Closed hiroppy closed 7 years ago
cc @Trott @addaleax
Also, I will be there. Happy to help out with whatever needed.
Of course I will be there 👍
Possible case in tests: https://github.com/nodejs/node/pull/16243#discussion_r145045432 + next comment: check else if
by if
replacements when a previous if
contains return
. Also check else
eliminations on similar condition.
@vsemozhetbyt Thank you for your information!
Note: Here is the last time we had - https://github.com/nodejs/code-and-learn/issues/58
This is awesome. Keep in mind that we're also running a small code-and-learn at NodeConf EU at the beginning of November so some of the tasks may adjust after that. We should likely coordinate a bit in advance to make sure we don't end up duplicating any effort! :-) (I totally wish I was able to get to Tokyo this year)
One possible set of tasks that I can suggest for new contributors who are bit more confident in their Node.js skills, would be converting tests to use the new ../common/countdown
utility module.
For instance, if you take a look at: https://github.com/nodejs/node/blob/master/test/parallel/test-http2-client-destroy.js, you'll see that there is a remaining
counter (https://github.com/nodejs/node/blob/master/test/parallel/test-http2-client-destroy.js#L19). The test then counts down remaining
before closing the server. There are quite a large number of tests in our suite that perform similar actions in ways that are rather inconsistent. The ../common/countdown
utility was designed to bring some consistency there.
The way the Countdown utility works is straightforward:
const common = require('../common');
const Countdown = require('../common/countdown');
// ...
const countdown = new Countdown(n, common.mustCall(() => {
// do something here
}));
// Decrement the counter, the callback is called synchronously when
// countdown.dec is called n times.
countdown.dec();
I know that there are quite a few of the http2 tests that can benefit from this, along with a bunch of other http and https tests.
These tasks would be for folks who are a bit more comfortable with their Node.js skills.
Another potential suggestion is replacing assert.throws(fn, common.expectsError(err));
with common.expectsError(fn, err);
It's another thing I would like to ideally introduce an eslint rule for (already have it written) but there are currently a ton of instances where we use the former.
I think that's pretty similar in difficulty to the change that was done at Node.js Interactive this year.
A simple thing is removing the redundant +
from +conf.n
in the benchmarks. If the values are integers in the bench(main, conf)
object they will be integers in the main(conf)
object too.
example: https://github.com/nodejs/node/blob/master/benchmark/assert/deepequal-object.js#L30L31
@jasnell @apapirovski @AndreasMadsen Thanks.🙌 I try to summarize that information in Gist.
You should come to Nodefest2017!!
I can help!
Any interest in running a values session similar to what we did at node interactive?
On Oct 19, 2017 5:01 AM, "Yuta Hiroto" notifications@github.com wrote:
@jasnell https://github.com/jasnell @apapirovski https://github.com/apapirovski @AndreasMadsen https://github.com/andreasmadsen Thanks.🙌 I try to summarize that information in Gist. You should come to Nodefest2017!!
— You are receiving this because you are on a team that was mentioned. Reply to this email directly, view it on GitHub https://github.com/nodejs/code-and-learn/issues/72#issuecomment-337845316, or mute the thread https://github.com/notifications/unsubscribe-auth/AAecVwrKcRTYEduY19ofZjv5tBf_N2vsks5stw_XgaJpZM4P9VKJ .
@abouthiroppy For my suggestion above, I created a gist with an eslint rule that will let you find all instances of assert.throws(fn, common.expectsError(err));
.
@MylesBorins Thanks!! yep, but I don't know the values session of node interactive. Would you give me this information?
@apapirovski wow, thank you so much 🙇 I'll use it!
I'm on the fence about attending (concerned about the cost mostly).
Also, I will be there. Happy to help out with whatever needed.
Sorry for my late reply.
@seishun I think that Node.js Foundation will help with the cost. @fhinkel Thanks!
@seishun I think that Node.js Foundation will help with the cost.
I don't think the foundation typically sends Collaborators to an event simply because it's a Node.js event. It's usually a Collaborator Summit. There have been some exceptions though, like sending particular people to a TC-39 meeting one time.
That said, there's absolutely nothing stopping any Collaborator from requesting funds from the TSC for something by opening an issue in the TSC repository.
Have we prepared a list of changes for participants to implement?
How many people are we expecting?
I guess 30 - 50 people.
Have we prepared a list of changes for participants to implement? Not yet !! I will create the list asap...
I can help collect some changes after I run the Taiwan code and learn
On Nov 20, 2017 4:53 AM, "Yosuke Furukawa" notifications@github.com wrote:
Have we prepared a list of changes for participants to implement? Not yet !! I will create the list asap...
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/nodejs/code-and-learn/issues/72#issuecomment-345645203, or mute the thread https://github.com/notifications/unsubscribe-auth/AAecV2P7RIvNo1FfAQ8eK5A-sJwbyhLpks5s4UwQgaJpZM4P9VKJ .
TODO | file | line | note | status |
---|---|---|---|---|
Fix typo | doc/api/util.md | 695 | occuring | |
Add link of ECMAScript 2015 |
doc/api/buffer.md | 2740 | ||
Add link to dns.resolve() |
doc/api/dns.md | 632 | ||
Use common.hasIntl instead of typeof Intl |
test/parallel/test-intl-v8BreakIterator.js | 6 | ||
replace Function with Arrow Function | doc/api/util.md | 442, 552, 567, 568 | ||
test-writeint.js | ||||
test-querystring.js | ||||
test-assert.js | ||||
test-http.js | 109, 118, 127, 128 | |||
test-http-pause.js | ||||
doc/api/vm.md | 477 | |||
test-timers.js | ||||
test-whatwg-url-searchparams-getall.js | ||||
test-writeuint.js | ||||
test-child-process-send-cb.js | ||||
test-zerolengthbufferbug.js | ||||
test-domain-top-level-error-handler-clears-stack.js | ||||
use === and ' |
test-whatwg-url-setters.js | 43 | ||
add ; |
test-whatwg-url-setters.js | 35, 81 | ||
make use of const or let |
test-whatwg-url-setters.js | 41 - 49 | ||
many files.... | find ./ -type f -print | xargs grep var | |||
fix comments | test-assert.js | 617, 5292 | ||
make use of Number.isNaN |
test-process-emit.js | 22 | ||
test-readdouble.js | ||||
test-readfloat.js | ||||
test-writedouble.js | ||||
test-writefloat.js |
please modify freely!
We can try replacing all the google.com
or this.hostname.is.invalid
etc. references in test/parallel
with configurable variables defined in internet.addresses
Also there are a few tasks that could be more advanced: find the tests in test/parallel
that are making actual dns calls, use mocked lookup functions or put those in test/internet
. Searching for DNS error codes like EAI_AGAIN
or ENOTFOUND
in test/parallel
would yield a bunch of tests that try to work around this even though they are not supposed to work around that.
I've added some to https://github.com/nodejs/code-and-learn/issues/72#issuecomment-345667395.
TODO | file | line | note | status |
---|---|---|---|---|
Replace e->ToObject(env->isolate()) with e->ToObject(env->context()).ToLocalChecked() |
src/node.cc | line 592 | ||
Replace e->ToObject(env->isolate()) with e->ToObject(env->context()).ToLocalChecked() |
src/node.cc | line 754 | ||
Replace er->ToObject(env->isolate()) with er->ToObject(env->context()).ToLocalChecked() |
src/node.cc | line 1485 | ||
Replace args[0]->ToObject(env->isolate()) with args[0]->ToObject(env->context()).ToLocalChecked() |
src/node.cc | line 2304 | ||
Replace args[1]->ToString(env->isolate()) with args[1]->ToString(env->context()).ToLocalChecked() |
src/node.cc | line 2322 | ||
Replace module->Get(exports_string)->ToObject(env->isolate()) with module->Get(exports_string)->ToObject(env->context()).ToLocalChecked() |
src/node.cc | line 2367 | ||
Replace process_object->Get(exit_code)->ToInteger(env->isolate()) with process_object->Get(exit_code)->ToInteger(env->context()).ToLocalChecked() |
src/node.cc | line 4340 | ||
Replace args[1]->ToString(env->isolate()) with args[1]->ToString(env->context()).ToLocalChecked() |
src/node_buffer.cc | line 609 | ||
Replace args[0]->ToString(env->isolate()) with args[0]->ToString(env->context()).ToLocalChecked() |
src/node_buffer.cc | line 680 | ||
Replace args[0]->ToString(env->isolate()) with args[0]->ToString(env->context()).ToLocalChecked() |
src/node_contextify.cc | line 624 | ||
Replace args[1]->ToObject(env->isolate()) with args[1]->ToObject(env->context()).ToLocalChecked() |
src/node_file.cc | line 1222 | ||
Replace e->ToObject(env->isolate()) with e->ToObject(env->context()).ToLocalChecked() |
src/node_http_parser.cc | line 469 | ||
Replace args[1]->ToObject(env->isolate()) with args[1]->ToObject(env->context()).ToLocalChecked() |
src/node_zlib.cc | line 181 | ||
Replace args[4]->ToObject(env->isolate()) with args[4]->ToObject(env->context()).ToLocalChecked() |
src/node_zlib.cc | line 190 | ||
Replace args[0]->ToObject(env->isolate()) with args[0]->ToObject(env->context()).ToLocalChecked() |
src/process_wrap.cc | line 146 | ||
Replace chunk->ToString(env->isolate()) with chunk->ToString(env->context()).ToLocalChecked() |
src/stream_base.cc | line 130 | ||
Replace chunk->ToString(env->isolate()) with chunk->ToString(env->context()).ToLocalChecked() |
src/stream_base.cc | line 182 |
This is generated with a script but should be a safe list
Sorry, accidentally pressed the wrong button
All of the following files have string concatenation that can be replaced with template strings
Refactor instances of concatenated strings to use template strings as long as the result is less than 80 characters (our max line length). Not all instances of concatenated strings need to be replaced, specifically look out for strings that are using concatenation for variables. If you are unsure please feel free to raise your hand an ask for assistance. Alternatively a collaborator will be able to verify your work when you submit your pull request.
'test/abort/test-zlib-invalid-internals-usage.js'
'test/async-hooks/init-hooks.js'
'tools/doc/json.js'
'benchmark/zlib/creation.js'
'doc/api/stream.md'
TODO | file | line | note | status |
---|---|---|---|---|
replaced with template strings | ||||
test/async-hooks/init-hooks.js | ||||
test/abort/test-zlib-invalid-internals-usage.js | 15 | |||
tools/doc/json.js | 15 | |||
doc/api/stream.md | 767 |
can i just say, you guys are doing fantastic stuff here.
It was very fun! thank you!
@yosuke-furukawa @joyeecheung @MylesBorins Thank you for your help! I was really happy :)
Hi!
We will hold NodeFest which is the largest Node.js conference in Japan. I’m one of the organizers this year. The team members are @yosuke-furukawa, @watilde, myself and some other great nodeschool staff.
We would like to open code-and-learn-jp on NodeFest and support the contribution to nodejs/core.
Please feel free to suggest any contribution areas for the participants! @nodejs/collaborators We will receive some PRs on 26th November.(http://nodefest.jp/2017/schedule.html)
/cc @yosuke-furukawa @watilde @nodejs/nodejs-ja
Thanks.
Mentors