node/.github/CODEOWNERS
Joyee Cheung 075c95f61f
module: refactor ESM loader initialization and entry point handling
Split the `internal/process/esm_loader` file which contains the
singleton cascaded loader:

- The the singleton cascaded loader now directly resides in
  `internal/modules/esm/loader`, where the constructor also lives.
  This file is the root of most circular dependency of ESM code,
  (because components of the loader need the singleton itself),
  so this makes the dependency more obvious. Added comments about
  loading it lazily to avoid circular dependency.
- The getter to the cascaded loader is also turned into a method
  to make the side effect explicit.
- The sequence of `loadESM()` and `handleMainPromise` is now merged
  together into `runEntryPointWithESMLoader()` in
  `internal/modules/run_main` because this is intended to run entry
  points with the ESM loader and not just any module.
- Documents how top-level await is handled.

PR-URL: https://github.com/nodejs/node/pull/51999
Fixes: https://github.com/nodejs/node/issues/42868
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
2024-03-10 08:21:18 +08:00

184 lines
5.3 KiB
Plaintext

# Node.js Project Codeowners
# This file does not define any requirements for landing PRs.
# Its purpose is to allow automation of courtesy pings to the
# relevant team(s) when any of the paths listed here are modified.
# Criteria for landing PRs are defined in
# https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md#code-reviews.
#
# Codeowners must always be teams, never individuals.
# tsc
/.github/CODEOWNERS @nodejs/tsc
/.github/PULL_REQUEST_TEMPLATE.md @nodejs/tsc
/.github/ISSUE_TEMPLATE/* @nodejs/tsc
/CODE_OF_CONDUCT.md @nodejs/tsc
/CONTRIBUTING.md @nodejs/tsc
/doc/contributing/*.md @nodejs/tsc
/GOVERNANCE.md @nodejs/tsc
/SECURITY.md @nodejs/tsc
/LICENSE @nodejs/tsc
/onboarding.md @nodejs/tsc
# nodejs.org website
/doc/api_assets @nodejs/nodejs-website
/doc/template.html @nodejs/nodejs-website
/tools/doc @nodejs/web-infra
# streams
/lib/_stream* @nodejs/streams
/lib/internal/streams/* @nodejs/streams
/lib/stream.js @nodejs/streams
/lib/stream/* @nodejs/streams
# net
/deps/ada @nodejs/url
/deps/cares @nodejs/net
/doc/api/dgram.md @nodejs/net
/doc/api/dns.md @nodejs/net
/doc/api/net.md @nodejs/net
/lib/dgram.js @nodejs/net
/lib/dns.js @nodejs/net
/lib/internal/dgram.js @nodejs/net
/lib/internal/dns/* @nodejs/net
/lib/internal/js_stream_socket.js @nodejs/net
/lib/internal/net.js @nodejs/net
/lib/internal/socket_list.js @nodejs/net
/lib/internal/url.js @nodejs/url
/lib/net.js @nodejs/net
/lib/url.js @nodejs/url
/src/cares_wrap.cc @nodejs/net
/src/connect_wrap.* @nodejs/net
/src/connection_wrap.* @nodejs/net
/src/node_sockaddr* @nodejs/net
/src/node_url.* @nodejs/url
/src/tcp_wrap.* @nodejs/net
/src/udp_wrap.* @nodejs/net
# tls/crypto
/doc/api/crypto.md @nodejs/crypto
/doc/api/webcrypto.md @nodejs/crypto
/lib/crypto.js @nodejs/crypto
/lib/internal/crypto/* @nodejs/crypto
/lib/internal/tls/* @nodejs/crypto @nodejs/net
/lib/tls.js @nodejs/crypto @nodejs/net
/src/crypto/* @nodejs/crypto
/src/node_crypto* @nodejs/crypto
# http
/deps/llhttp/* @nodejs/http @nodejs/net
/doc/api/http.md @nodejs/http @nodejs/net
/lib/_http_* @nodejs/http @nodejs/net
/lib/http.js @nodejs/http @nodejs/net
/lib/https.js @nodejs/crypto @nodejs/net @nodejs/http
/src/node_http_common* @nodejs/http @nodejs/http2 @nodejs/net
/src/node_http_parser.cc @nodejs/http @nodejs/net
# http2
/deps/nghttp2/* @nodejs/http2 @nodejs/net
/doc/api/http2.md @nodejs/http2 @nodejs/http @nodejs/net
/lib/http2.js @nodejs/http2 @nodejs/net
/lib/internal/http2/* @nodejs/http2 @nodejs/net
/src/node_http2* @nodejs/http2 @nodejs/net
/src/node_mem* @nodejs/http2
# modules, including loaders
/doc/api/esm.md @nodejs/loaders
/doc/api/module.md @nodejs/loaders
/doc/api/modules.md @nodejs/loaders
/doc/api/packages.md @nodejs/loaders
/lib/internal/bootstrap/realm.js @nodejs/loaders
/lib/internal/modules/* @nodejs/loaders
/lib/internal/process/execution.js @nodejs/loaders
/lib/module.js @nodejs/loaders
/src/module_wrap* @nodejs/loaders @nodejs/vm
# Node-API
/doc/api/n-api.md @nodejs/node-api
/doc/contributing/adding-new-napi-api.md @nodejs/node-api
/src/js_native_api* @nodejs/node-api
/src/node_api* @nodejs/node-api
# gyp
*.gyp @nodejs/gyp
*.gypi @nodejs/gyp
/tools/gyp/**/* @nodejs/gyp
# WASI
/deps/uvwasi/ @nodejs/wasi
/doc/api/wasi.md @nodejs/wasi
/lib/wasi.js @nodejs/wasi
/src/node_wasi* @nodejs/wasi
/test/fixtures/wasi/ @nodejs/wasi
/test/wasi/ @nodejs/wasi
# Startup
/benchmark/misc/startup-* @nodejs/startup
/lib/internal/bootstrap/* @nodejs/startup
/src/node_builtins* @nodejs/startup
/src/node_realm* @nodejs/startup @nodejs/realm
/src/node_snapshot* @nodejs/startup
/src/node.cc @nodejs/startup
/test/parallel/test-bootstrap-* @nodejs/startup
/test/parallel/test-snapshot-* @nodejs/startup
/tools/snapshot/* @nodejs/startup
# V8
/deps/v8/* @nodejs/v8-update
/tools/v8_gypfiles/* @nodejs/v8-update
# Actions
/.github/workflows/* @nodejs/actions
/tools/actions/* @nodejs/actions
# Test runner
/doc/api/test.md @nodejs/test_runner
/lib/internal/main/test_runner.js @nodejs/test_runner
/lib/internal/test_runner/* @nodejs/test_runner
/lib/test.js @nodejs/test_runner
/lib/test/reporters.js @nodejs/test_runner
/test/parallel/test-runner-* @nodejs/test_runner
# Single Executable Applications
/deps/postject @nodejs/single-executable
/doc/api/single-executable-applications.md @nodejs/single-executable
/doc/contributing/maintaining/maintaining-single-executable-application-support.md @nodejs/single-executable
/src/node_sea* @nodejs/single-executable
/test/fixtures/postject-copy @nodejs/single-executable
/test/parallel/test-single-executable-* @nodejs/single-executable
/test/sequential/test-single-executable-* @nodejs/single-executable
/tools/dep_updaters/update-postject.sh @nodejs/single-executable
# Permission Model
/doc/api/permissions.md @nodejs/security-wg
/lib/internal/process/permission.js @nodejs/security-wg
/src/permission/* @nodejs/security-wg
# Dependency Update Tools
/.github/workflows/tools.yml @nodejs/security-wg
/.github/workflows/update-openssl.yml @nodejs/security-wg
/.github/workflows/update-v8.yml @nodejs/security-wg @nodejs/v8-update
/deps @nodejs/security-wg
/tools/dep_updaters/* @nodejs/security-wg
# Web Standards
/lib/internal/bootstrap/web/* @nodejs/web-standards
/lib/internal/navigator.js @nodejs/web-standards
/test/fixtures/wpt/ @nodejs/web-standards
/test/wpt/ @nodejs/web-standards