Skip to content
Closed
Changes from 1 commit
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
4994b7f
http: add options to http.createServer()
Oct 19, 2017
5bfc1d1
http2: add http fallback options to .createServer
hekike Oct 27, 2017
852b996
http2: add req and res options to server creation
Oct 5, 2017
0829b54
doc: fix typo in http2.md
vsemozhetbyt Feb 19, 2018
f7d96ac
http2: pass session to DEBUG_HTTP2SESSION2
danbev May 18, 2018
83cd22e
tools: speed up lint-md-build
refack Nov 10, 2017
bdbef5f
src: remove superfluous check in backtrace_posix.cc
addaleax Nov 11, 2017
141e3e9
trace_events: add file pattern cli option
AndreasMadsen Jan 31, 2018
b2b85e5
src, test: node internals' postmortem metadata
Dec 26, 2017
d27ca6d
test: fix cctest -Wunused-variable warning
bnoordhuis Feb 2, 2018
591812f
src: do not redefine private for GenDebugSymbols
joyeecheung Feb 8, 2018
3a7ad60
src: expose uv.errmap to binding
joyeecheung Dec 25, 2017
4a55524
util: implement util.getSystemErrorName()
joyeecheung Jan 16, 2018
05076ac
errors: lazy load util in internal/errors.js
joyeecheung Jan 24, 2018
de86203
util: skip type checks in internal getSystemErrorName
joyeecheung Feb 3, 2018
64f4b19
errors: move error creation helpers to errors.js
joyeecheung Feb 3, 2018
a974479
errors: make message non-enumerable
BridgeAR Apr 1, 2018
4406f6e
test: set clientOpts.port property
danbev Apr 3, 2018
4f05d1b
test: remove test case 0 from tls-cnnic-whitelist
danbev Apr 13, 2018
6251f2a
crypto: remove BIO_set_shutdown
danbev Dec 7, 2017
4512116
tools: don't lint-md as part of main lint target
refack Dec 7, 2017
a6d6325
tls: use correct class name in deprecation message
addaleax Dec 9, 2017
4cd0ab5
src: make FSEventWrap/StatWatcher::Start more robust
TimothyGu Dec 3, 2017
e0a780b
url: added space to class string of iterator objects
prohaejin Dec 9, 2017
d81a3f4
url: added url fragment lookup table
Kimeiga Dec 8, 2017
b07b9f2
test: add test for postmortem metadata validation
cjihrig Dec 14, 2017
524efb9
lib, src: use process.config instead of regex
maclover7 Dec 21, 2017
3aefc25
test: fix unreliable async-hooks/test-signalwrap
Trott Dec 22, 2017
14f29e3
src: remove duplicate words in comments
tniessen Jan 1, 2018
b046412
http2: remove duplicate words in comments
tniessen Jan 1, 2018
d8c3ecc
perf_hooks: fix scheduling regression
apapirovski Jan 9, 2018
2b941c6
src: update make for new code coverage locations
mhdawson Jan 4, 2018
a337e3a
src: fix code coverage cleanup
mhdawson Jan 10, 2018
0230caf
test: refactor test-repl
addaleax Dec 31, 2017
07e8195
benchmark: add JSStreamWrap benchmark
addaleax Jan 4, 2018
5b8e46d
src: harden JSStream callbacks
addaleax Jan 7, 2018
0082efd
src: rename `On*` -> `Emit*` for stream callbacks
addaleax Dec 15, 2017
396c96e
build: make gyp user defined variables lowercase
danbev Oct 16, 2017
04c166a
build: add node_lib_target_name to cctest deps
danbev Feb 5, 2018
e37643c
src: refactor callback #defines into C++ templates
addaleax Jan 13, 2018
453077f
http: simplify parser lifetime tracking
addaleax Jan 13, 2018
29f49e9
deps: cherry-pick dbfe4a49d8 from upstream V8
Nov 9, 2017
c4c468b
module: Set dynamic import callback
Oct 1, 2017
a0c7df8
module: enable dynamic import flag for esmodules
MylesBorins Jan 25, 2018
1af6ac2
doc: Update tools/icu/README.md
srl295 Nov 10, 2017
de963da
tools: fix icu readme lint error
apapirovski Jan 30, 2018
1a3c296
stream: delete redundant code
Jan 14, 2018
4b2792a
stream: delete redundant code
Jan 15, 2018
084ef60
n-api: take n-api out of experimental
mhdawson Mar 9, 2018
3de9b50
deps: upgrade npm to 6.1.0
iarna Apr 21, 2018
5372a44
tools: fix test-npm-package
targos Mar 12, 2018
18fb3ba
fixup: sync with upstream
MylesBorins Jun 14, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
doc: Update tools/icu/README.md
- remove TODOs: the one about defaults has been
addressed, and the one about testing is a work
item that doesn't belong in a doc.
- add some background information

Fixes: #7843

PR-URL: #16939
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
  • Loading branch information
srl295 authored and MylesBorins committed May 23, 2018
commit 1af6ac2f1037d05918252252393e4625a81479f8
61 changes: 34 additions & 27 deletions tools/icu/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,15 @@
# Notes about the icu directory.
# Notes about the `tools/icu` subdirectory

This directory contains tools, data, and information about the [http://icu-project.org](ICU) (International Components for Unicode) integration. ICU is used to provide Intl functionality.

- `patches/` are one-off patches, actually entire source file replacements, organized by ICU version number.
- `icu_small.json` controls the "small" (English only) ICU. It is input to `icutrim.py`
- `icu-generic.gyp` is the build file used for most ICU builds within ICU. <!-- have fun -->
- `icu-system.gyp` is an alternate build file used when `--with-intl=system-icu` is invoked. It builds against the `pkg-config` located ICU.
- `iculslocs.cc` is source for the `iculslocs` utility, invoked by `icutrim.py` as part of repackaging. Not used separately. See source for more details.
- `no-op.cc` — empty function to convince gyp to use a C++ compiler.
- `README.md` — you are here
- `shrink-icu-src.py` — this is used during upgrade (see guide below)

## How to upgrade ICU

Expand All @@ -12,13 +23,13 @@
make
```

(The equivalent `vcbuild.bat` commands should work also. Note that we use the `.tgz` and not the `.zip` here,
that is because of line endings.)
> _Note_ in theory, the equivalent `vcbuild.bat` commands should work also,
but the commands below are makefile-centric.

- (note- may need to make changes in `icu-generic.gyp` or `tools/icu/patches` for
version specific stuff)
- If there are ICU version-specific changes needed, you may need to make changes in `icu-generic.gyp` or add patch files to `tools/icu/patches`.
- Specifically, look for the lists in `sources!` in the `icu-generic.gyp` for files to exclude.

- Verify the node build works
- Verify the node build works:

```shell
make test-ci
Expand All @@ -27,13 +38,12 @@ make test-ci
Also running

<!-- eslint-disable strict -->

```js
new Intl.DateTimeFormat('es', {month: 'long'}).format(new Date(9E8));
```

…Should return `January` not `enero`.
(TODO here: improve [testing](https://github.com/nodejs/Intl/issues/16))


- Now, copy `deps/icu` over to `deps/icu-small`

Expand All @@ -43,25 +53,25 @@ python tools/icu/shrink-icu-src.py

- Now, do a clean rebuild of node to test:

(TODO: fix this when these options become default)

```shell
./configure --with-intl=small-icu --with-icu-source=deps/icu-small
make -k distclean
./configure
make
```

- Test this newly default-generated Node.js

<!-- eslint-disable strict -->

```js
process.versions.icu;
new Intl.DateTimeFormat('es', {month: 'long'}).format(new Date(9E8));
```

(should return your updated ICU version number, and also `January` again.)
(This should print your updated ICU version number, and also `January` again.)

- You are ready to check in the updated `deps/small-icu`.
This is a big commit, so make this a separate commit from other changes.
You are ready to check in the updated `deps/small-icu`. This is a big commit,
so make this a separate commit from the smaller changes.

- Now, rebuild the Node license.

Expand All @@ -85,30 +95,27 @@ make test-ci

- commit the change to `configure` along with the updated `LICENSE` file.

- Note: To simplify review, I often will “pre-land” this patch, meaning that I run the patch through `curl -L https://github.com/nodejs/node/pull/xxx.patch | git am -3 --whitespace=fix` per the collaborator’s guide… and then push that patched branch into my PR's branch. This reduces the whitespace changes that show up in the PR, since the final land will eliminate those anyway.

-----

## Notes about these tools
## Postscript about the tools

The files in this directory were written for the node.js effort. It's
the intent of their author (Steven R. Loomis / srl295) to merge them
upstream into ICU, pending much discussion within the ICU-PMC.
The files in this directory were written for the node.js effort.
It was the intent of their author (Steven R. Loomis / srl295) to
merge them upstream into ICU, pending much discussion within the
ICU-TC.

`icu_small.json` is somewhat node-specific as it specifies a "small ICU"
configuration file for the `icutrim.py` script. `icutrim.py` and
`iculslocs.cpp` may themselves be superseded by components built into
ICU in the future.

The following tickets were opened during this work, and their
resolution may inform the reader as to the current state of icu-trim
upstream:
ICU in the future. As of this writing, however, the tools are separate
entities within Node, although theyare being scrutinized by interested
members of the ICU-TC. The “upstream” ICU bugs are given below.

* [#10919](http://bugs.icu-project.org/trac/ticket/10919)
(experimental branch - may copy any source patches here)
* [#10922](http://bugs.icu-project.org/trac/ticket/10922)
(data packaging improvements)
* [#10923](http://bugs.icu-project.org/trac/ticket/10923)
(rewrite data building in python)

When/if components (not including the `.json` file) are merged into
ICU, this code and `configure` will be updated to detect and use those
variants rather than the ones in this directory.