Open
Description
How to do this quickly
- Remove the following from the file:
// TODO(petamoriken): enable prefer-primordials for node polyfills // deno-lint-ignore-file prefer-primordials
- Run
tools/lint.js
to get the list of symbols that need to be replaced with primordials. - Import primordials and the appropriate symbols. E.g.:
import { primordials } from "ext:core/mod.js"; const { StringPrototypeSlice, StringPrototypeCharCodeAt, TypeError } = primordials;
- Replace the symbols with the primordials. This can be done via VSCode's find and replace. E.g. for
String.prototype.charCodeAt
, search for while using regex:Replace it with:(\w+).charCodeAt\(
StringPrototypeCharCodeAt($1,
Use https://github.com/denoland/deno_core/blob/main/core/core.d.ts for list of available primordials.
Remaining files
- fix(ext/node): use primordials in
ext/node/polyfills/_utils.ts
#24253 - fix(ext/node): use primordials in
ext/node/polyfills/_brotli.js
#24235 - fix(ext/node): use primordials in
ext/node/polyfills/_http_common.ts
#24281 - fix(ext/node): use primordials in
ext/node/polyfills/_fs/_fs_cp.js
#24320 - fix(ext/node): use primordials in
ext/node/polyfills/_fs/_fs_dir.ts
#24319 - fix(ext/node): use primordials in
ext/node/polyfills/_fs/_fs_lstat.ts
#28644 - fix(ext/node): use primordials in ext/node/polyfills/_fs/_fs_opendir.ts #29063
- fix(ext/node): use primordials in
ext/node/polyfills/_fs/_fs_readv.ts
#28645 -
ext/node/polyfills/_fs/_fs_realpath.ts
-
ext/node/polyfills/_fs/_fs_mkdtemp.ts
-
ext/node/polyfills/_fs/_fs_readFile.ts
-
ext/node/polyfills/_fs/_fs_open.ts
-
ext/node/polyfills/_fs/_fs_readdir.ts
-
ext/node/polyfills/_fs/_fs_watch.ts
-
ext/node/polyfills/_fs/_fs_stat.ts
-
ext/node/polyfills/_fs/_fs_common.ts
-
ext/node/polyfills/_fs/_fs_fstat.ts
-
ext/node/polyfills/_fs/_fs_read.ts
-
ext/node/polyfills/_fs/_fs_unlink.ts
-
ext/node/polyfills/_fs/_fs_write.mjs
-
ext/node/polyfills/_fs/_fs_utimes.ts
-
ext/node/polyfills/_fs/_fs_fdatasync.ts
-
ext/node/polyfills/_fs/_fs_mkdir.ts
-
ext/node/polyfills/_fs/_fs_rmdir.ts
-
ext/node/polyfills/_fs/_fs_link.ts
-
ext/node/polyfills/_fs/_fs_writev.mjs
-
ext/node/polyfills/_fs/_fs_chown.ts
-
ext/node/polyfills/_fs/_fs_readlink.ts
-
ext/node/polyfills/_fs/_fs_futimes.ts
-
ext/node/polyfills/_fs/_fs_rm.ts
-
ext/node/polyfills/_fs/_fs_writeFile.ts
-
ext/node/polyfills/_fs/_fs_access.ts
-
ext/node/polyfills/_fs/_fs_chmod.ts
-
ext/node/polyfills/_fs/_fs_close.ts
-
ext/node/polyfills/_fs/_fs_ftruncate.ts
-
ext/node/polyfills/_fs/_fs_exists.ts
-
ext/node/polyfills/_fs/_fs_symlink.ts
-
ext/node/polyfills/_fs/_fs_rename.ts
-
ext/node/polyfills/_fs/_fs_truncate.ts
-
ext/node/polyfills/_fs/_fs_fsync.ts
-
ext/node/polyfills/_fs/_fs_copy.ts
- fix(ext/node): use primordials in
ext/node/polyfills/_process/
#24282 - fix(ext/node): use primordials in
ext/node/polyfills/string_decoder.ts
#24296 - fix(ext/node): use primordials in
ext/node/polyfills/testing.ts
#24310 - fix(ext/node): use primordials in
ext/node/polyfills/timers.ts
#24311 -
ext/node/polyfills/_http_outgoing.ts
-
ext/node/polyfills/async_hooks.ts
-
ext/node/polyfills/process.ts
-
ext/node/polyfills/assertion_error.ts
- fix(ext/node): use primordials in
ext/node/polyfills/path/_posix.ts
#28665 - fix(ext/node): use primordials in
ext/node/polyfills/path/_win32.ts
#28668 - fix(ext/node): use primordials in
ext/node/polyfills/path/separator.ts
#28669 -
ext/node/polyfills/http.ts
-
ext/node/polyfills/stream/consumers.mjs
-
ext/node/polyfills/readline/promises.ts
-
ext/node/polyfills/internal/crypto/_randomInt.ts
-
ext/node/polyfills/internal/crypto/diffiehellman.ts
-
ext/node/polyfills/internal/crypto/hkdf.ts
-
ext/node/polyfills/internal/crypto/_keys.ts
-
ext/node/polyfills/internal/crypto/cipher.ts
-
ext/node/polyfills/internal/crypto/hash.ts
-
ext/node/polyfills/internal/crypto/pbkdf2.ts
-
ext/node/polyfills/internal/crypto/scrypt.ts
-
ext/node/polyfills/internal/crypto/random.ts
-
ext/node/polyfills/internal/crypto/_randomFill.mjs
-
ext/node/polyfills/internal/crypto/keys.ts
-
ext/node/polyfills/internal/crypto/constants.ts
-
ext/node/polyfills/internal/crypto/sig.ts
-
ext/node/polyfills/internal/crypto/_randomBytes.ts
-
ext/node/polyfills/internal/crypto/util.ts
-
ext/node/polyfills/internal/crypto/x509.ts
-
ext/node/polyfills/internal/validators.mjs
-
ext/node/polyfills/internal/querystring.ts
- fix(ext/node): Use primordials in
deno/ext/node/polyfills/internal/util/debuglog.ts
#27604 -
ext/node/polyfills/internal/util/inspect.mjs
-
ext/node/polyfills/internal/errors.ts
-
ext/node/polyfills/internal/buffer.mjs
-
ext/node/polyfills/internal/async_hooks.ts
- fix(ext/node): use primordials in
ext/node/polyfills/internal/http.ts
#29082 -
ext/node/polyfills/internal/readline/promises.mjs
-
ext/node/polyfills/internal/readline/utils.mjs
-
ext/node/polyfills/internal/readline/emitKeypressEvents.mjs
-
ext/node/polyfills/internal/readline/interface.mjs
-
ext/node/polyfills/internal/readline/symbols.mjs
-
ext/node/polyfills/internal/readline/callbacks.mjs
-
ext/node/polyfills/internal/util.mjs
-
ext/node/polyfills/internal/stream_base_commons.ts
- fix(ext/node): use primordials in
ext/node/polyfills/internal/url.ts
#29146 -
ext/node/polyfills/internal/child_process.ts
-
ext/node/polyfills/internal/fixed_queue.ts
-
ext/node/polyfills/internal/net.ts
- fix(ext/node): use primordials in
ext/node/polyfills/internal/hide_stack_frames.ts
#29067 -
ext/node/polyfills/internal/cli_table.ts
-
ext/node/polyfills/internal/primordials.mjs
-
ext/node/polyfills/internal/dgram.ts
-
ext/node/polyfills/internal/dns/utils.ts
-
ext/node/polyfills/internal/dns/promises.ts
-
ext/node/polyfills/internal/fs/utils.mjs
-
ext/node/polyfills/internal/fs/handle.ts
-
ext/node/polyfills/internal/fs/streams.mjs
-
ext/node/polyfills/internal/event_target.mjs
-
ext/node/polyfills/internal/timers.mjs
-
ext/node/polyfills/internal/normalize_encoding.mjs
- fix(ext/node): use primordials in
ext/node/polyfills/internal/options.ts
#29119 -
ext/node/polyfills/internal/process/per_thread.mjs
-
ext/node/polyfills/internal/console/constructor.mjs
- fix(ext/node): use primordials in
ext/node/polyfills/internal/idna.ts
#29085 -
ext/node/polyfills/v8.ts
-
ext/node/polyfills/crypto.ts
-
ext/node/polyfills/wasi.ts
-
ext/node/polyfills/diagnostics_channel.js
-
ext/node/polyfills/tls.ts
-
ext/node/polyfills/url.ts
-
ext/node/polyfills/child_process.ts
-
ext/node/polyfills/querystring.js
-
ext/node/polyfills/http2.ts
-
ext/node/polyfills/inspector.ts
-
ext/node/polyfills/os.ts
-
ext/node/polyfills/_next_tick.ts
-
ext/node/polyfills/net.ts
-
ext/node/polyfills/_readline.mjs
-
ext/node/polyfills/dgram.ts
-
ext/node/polyfills/https.ts
-
ext/node/polyfills/_http_agent.mjs
-
ext/node/polyfills/dns.ts
- fix(ext/node): use primordials in
ext/node/polyfills/console.ts
#25572 -
ext/node/polyfills/_events.mjs
-
ext/node/polyfills/perf_hooks.ts
-
ext/node/polyfills/internal_binding/udp_wrap.ts
-
ext/node/polyfills/internal_binding/_utils.ts
-
ext/node/polyfills/internal_binding/mod.ts
-
ext/node/polyfills/internal_binding/tcp_wrap.ts
-
ext/node/polyfills/internal_binding/handle_wrap.ts
-
ext/node/polyfills/internal_binding/uv.ts
-
ext/node/polyfills/internal_binding/buffer.ts
-
ext/node/polyfills/internal_binding/symbols.ts
-
ext/node/polyfills/internal_binding/_timingSafeEqual.ts
-
ext/node/polyfills/internal_binding/async_wrap.ts
-
ext/node/polyfills/internal_binding/pipe_wrap.ts
-
ext/node/polyfills/internal_binding/util.ts
-
ext/node/polyfills/internal_binding/cares_wrap.ts
-
ext/node/polyfills/internal_binding/stream_wrap.ts
-
ext/node/polyfills/internal_binding/_listen.ts
-
ext/node/polyfills/internal_binding/node_options.ts
-
ext/node/polyfills/internal_binding/node_file.ts