node/tools
Joyee Cheung ff7a116ba3
src: move internal loaders out of bootstrap_node.js
- Moves the creation of `process.binding()`, `process._linkedBinding()`
  `internalBinding()` and `NativeModule` into a separate file
  `lib/internal/bootstrap_loaders.js`, and documents them there.
  This file will be compiled and run before `bootstrap_node.js`, which
  means we now bootstrap the internal module & binding system before
  actually bootstrapping Node.js.
- Rename the special ID that can be used to require `NativeModule`
  as `internal/bootstrap_loaders` since it is setup there. Also put
  `internalBinding` in the object exported by `NativeModule.require`
  instead of putting it inside the `NativeModule.wrapper`
- Use the original `getBinding()` to get the source code of native
  modules instead of getting it from `process.binding('native')`
  so that users cannot fake native modules by modifying the binding
  object.
- Names the bootstrapping functions so their names show up
  in the stack trace.

Backport-PR-URL: https://github.com/nodejs/node/pull/19374
PR-URL: https://github.com/nodejs/node/pull/19112
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
2018-04-04 16:20:45 +02:00
..
bootstrap tools: add Boxstarter script 2017-12-12 03:27:57 -05:00
configure.d tools: fix AttributeError: __exit__ on Python 2.6 2018-01-09 04:32:39 -05:00
doc tools: dry utility function in tools/doc/json.js 2018-04-02 15:56:48 +02:00
eslint-rules lint: change require-buffer rule message 2018-04-03 11:11:08 +02:00
gyp gyp: implement LD/LDXX for ninja and FIPS 2017-08-23 16:24:37 -04:00
icu tools: don’t emit illegal utf-8 from icutrim/iculslocs 2018-04-03 22:11:17 +02:00
macos-installer tools, build: refactor macOS installer 2017-09-28 02:05:59 -03:00
msvs build, win: vcbuild improvements 2018-02-26 23:42:44 +01:00
node_modules tools: update ESLint to 4.19.1 2018-03-27 16:00:58 +02:00
pkgsrc
remark-cli tools: bump remark-cli to 4.0 2017-12-11 17:24:23 -05:00
remark-preset-lint-node doc: add new documentation rule 2018-03-24 17:44:41 +01:00
rpm tools: add --prof-process flag to node binary 2015-12-08 02:00:46 +01:00
.eslintrc.yaml tools: enforce no unused trailing arguments tools directory 2017-11-14 14:21:25 -06:00
certdata.txt tools: update certdata.txt 2018-03-27 23:33:57 -04:00
check_macros.py lib: add internal check macros 2018-04-02 14:20:48 +02:00
check-imports.py tools: rewrite check-install.sh in python 2016-04-25 19:22:50 +05:30
compress_json.py src: add /json/protocol endpoint to inspector 2016-09-23 18:51:47 +02:00
cpplint.py tools: add cpplint rule for NULL usage 2017-12-12 03:27:59 -05:00
create_android_makefiles build: add script to create Android .mk files 2016-03-22 19:17:28 +01:00
create_expfile.sh build: fix dependencies on AIX 2016-08-29 16:20:18 -04:00
dcheck_macros.py lib: add internal check macros 2018-04-02 14:20:48 +02:00
genv8constants.py tools: minor performance improvement 2017-10-14 11:33:42 +02:00
getmoduleversion.py build: configure --shared 2016-06-28 17:48:22 -04:00
getnodeversion.py build: configure --shared 2016-06-28 17:48:22 -04:00
gyp_node.py build: simplify if in setting of arg_paths 2017-05-16 15:26:20 -04:00
install.py build: fix npm install with --shared 2017-10-25 17:22:04 -04:00
js2c.py src: move internal loaders out of bootstrap_node.js 2018-04-04 16:20:45 +02:00
license-builder.sh tools: add babel-eslint 2018-01-24 07:57:44 -06:00
license2rtf.js tools: modernize license2rtf 2017-10-29 19:46:43 +01:00
lint-js.js tools: move eslint from tools to tools/node_modules 2018-01-24 07:47:28 -06:00
lsan_suppressions.txt build: add --enable-asan with builtin leakcheck 2015-09-06 21:38:00 +10:00
macosx-firewall.sh tools: add macosx-firwall script to avoid popups 2016-12-09 08:31:08 +01:00
make-v8.sh v8: update make-v8.sh to use git 2016-11-09 17:34:22 -05:00
Makefile
mk-ca-bundle.pl tools: output include guards in mk-ca-bundle.pl 2016-06-23 09:25:30 +02:00
mkssldef.py build: export zlib symbols on Windows 2016-08-08 15:15:48 +02:00
nodcheck_macros.py lib: add internal check macros 2018-04-02 14:20:48 +02:00
osx-codesign.sh build,tools: do not force codesign prefix 2017-07-19 16:38:27 -05:00
osx-pkg-postinstall.sh build: add npx to installers 2017-07-17 08:49:10 -07:00
osx-productsign.sh build: update build targets for io.js 2015-06-25 15:22:27 +10:00
release.sh tools: add custom private key option 2017-08-27 11:03:50 -03:00
run-valgrind.py tools: make run-valgrind.py useful 2016-11-15 17:01:24 +01:00
sign.bat win,build: try multiple timeservers when signing 2016-10-19 00:11:02 +11:00
specialize_node_d.py tools: remove unnecessary imports and assignments 2016-07-08 20:17:08 +05:30
test-npm-package.js tools: fix test-npm-package 2018-03-20 11:34:01 +00:00
test-v8.bat build,test: run v8 tests on windows 2017-07-26 18:08:30 -07:00
test.py tools,test: throw if common.PORT used in parallel tests 2017-12-12 03:28:44 -05:00
update-authors.sh doc: make tools/update-authors.sh cross-platform 2015-03-11 13:25:17 +01:00
update-babel-eslint.sh tools: add babel-eslint 2018-01-24 07:57:44 -06:00
update-eslint.sh tools: move eslint from tools to tools/node_modules 2018-01-24 07:47:28 -06:00
utils.py build: enable compilation for linuxOne 2016-03-29 18:52:48 -04:00