Files
scriptc/docs/content/docs/limitations.mdx
T
Chris Tateandjlucaso1 d858d840f9 Accept file URL paths in synchronous fs functions
readFileSync, writeFileSync, appendFileSync, statSync, lstatSync,
readdirSync, mkdirSync, rmSync, rmdirSync, mkdtempSync, accessSync,
unlinkSync, chmodSync, chownSync, lchownSync, truncateSync, copyFileSync,
renameSync, realpathSync, realpathSync.native, openSync and opendirSync
accept a file: URL wherever they accept a path. The URL converts as
fileURLToPath converts it, with Node's errors for other schemes, hosts,
encoded separators and null bytes.

Arguments after a URL path that have side effects are evaluated into
hidden locals before the conversion, so they run even when it throws. A
URL path after a string path, or with options that are not literals,
fails with SC2020, because Node checks those arguments before it converts
the URL. existsSync and the fs.promises functions also fail with SC2020
for URL paths: existsSync answers false for a URL it cannot convert, and
fs.promises reports conversion errors as rejections.

Fixes #1616

Co-authored-by: jlucaso1 <55464917+jlucaso1@users.noreply.github.com>
2026-10-21 08:46:44 -05:00

284 lines
7.3 KiB
Plaintext

---
title: "Limitations"
---
<include>../limitations/introduction.mdx</include>
<span id="static-compilation" />
## Language and API restrictions
<include>../limitations/language-and-api-restrictions.mdx</include>
### Language features
<include>../limitations/language-features/error-causes.mdx</include>
<include>../limitations/language-features/class-reflection.mdx</include>
<include>../limitations/language-features/method-values.mdx</include>
<include>../limitations/language-features/loose-equality.mdx</include>
<include>../limitations/language-features/resource-disposal.mdx</include>
<include>../limitations/language-features/async-iteration.mdx</include>
<include>../limitations/language-features/generics.mdx</include>
<include>../limitations/language-features/function-values.mdx</include>
<include>../limitations/language-features/argument-spreads.mdx</include>
<include>../limitations/language-features/dynamic-imports.mdx</include>
<include>../limitations/language-features/commonjs-require.mdx</include>
### Types and class definitions
<include>../limitations/types-and-class-definitions/bigint.mdx</include>
<include>../limitations/types-and-class-definitions/interfaces.mdx</include>
<include>../limitations/types-and-class-definitions/record-shapes.mdx</include>
<include>../limitations/types-and-class-definitions/unions.mdx</include>
<include>../limitations/types-and-class-definitions/null-and-optional-values.mdx</include>
<include>../limitations/types-and-class-definitions/static-field-updates.mdx</include>
<include>../limitations/types-and-class-definitions/local-class-expressions.mdx</include>
<include>../limitations/types-and-class-definitions/constructor-function-inheritance.mdx</include>
<include>../limitations/types-and-class-definitions/symbol-fields.mdx</include>
<include>../limitations/types-and-class-definitions.mdx</include>
### Builtin APIs
<include>../limitations/builtin-apis.mdx</include>
<include>../limitations/builtin-apis/text-encoding.mdx</include>
<include>../limitations/builtin-apis/eventemitter.mdx</include>
<include>../limitations/builtin-apis/asynclocalstorage.mdx</include>
<include>../limitations/builtin-apis/streams-and-readline.mdx</include>
<include>../limitations/builtin-apis/commonjs-metadata.mdx</include>
<include>../limitations/builtin-apis/esm-metadata.mdx</include>
<include>../limitations/builtin-apis/date.mdx</include>
<include>../limitations/builtin-apis/url.mdx</include>
<include>../limitations/builtin-apis/legacy-url-api.mdx</include>
<include>../limitations/builtin-apis/deprecated-modules.mdx</include>
<include>../limitations/builtin-apis/filesystem-flags.mdx</include>
<include>../limitations/builtin-apis/filesystem-url-paths.mdx</include>
<include>../limitations/builtin-apis/copy.mdx</include>
<include>../limitations/builtin-apis/glob.mdx</include>
<include>../limitations/builtin-apis/filehandle-and-descriptor-i-o.mdx</include>
<include>../limitations/builtin-apis/file-streams.mdx</include>
<include>../limitations/builtin-apis/crypto.mdx</include>
<include>../limitations/builtin-apis/assertions.mdx</include>
<include>../limitations/builtin-apis/test-runner.mdx</include>
<include>../limitations/builtin-apis/test-mocks.mdx</include>
<include>../limitations/builtin-apis/exit-status.mdx</include>
<include>../limitations/builtin-apis/process-memory.mdx</include>
<include>../limitations/builtin-apis/v8.mdx</include>
<include>../limitations/builtin-apis/performance-entries.mdx</include>
<include>../limitations/builtin-apis/builtin-module-lookup.mdx</include>
<include>../limitations/builtin-apis/arraybuffers-and-typed-arrays.mdx</include>
<include>../limitations/builtin-apis/blob-and-file.mdx</include>
<include>../limitations/builtin-apis/prototypes.mdx</include>
<include>../limitations/builtin-apis/intl-segmenter.mdx</include>
<include>../limitations/builtin-apis/globals.mdx</include>
<include>../limitations/builtin-apis/map-and-set.mdx</include>
<include>../limitations/builtin-apis/compression.mdx</include>
<include>../limitations/builtin-apis/synchronous-iteration.mdx</include>
<include>../limitations/builtin-apis/iterator-helpers.mdx</include>
<include>../limitations/builtin-apis/regular-expressions.mdx</include>
<include>../limitations/builtin-apis/object-freezing.mdx</include>
### Builtin function values
<include>../limitations/builtin-function-values.mdx</include>
### Native worker threads
<include>../limitations/native-worker-threads.mdx</include>
### Child-process workers
<include>../limitations/child-process-workers.mdx</include>
### Untyped values
<include>../limitations/untyped-values.mdx</include>
### Type checking
<include>../limitations/type-checking.mdx</include>
### Contract types
<include>../limitations/contract-types.mdx</include>
### three.js
<include>../limitations/three-js.mdx</include>
## Runtime differences from Node.js
<include>../limitations/runtime-differences-from-node-js.mdx</include>
### Array bounds and runtime errors
<include>../limitations/array-bounds-and-runtime-errors.mdx</include>
### Runtime type checks
<include>../limitations/runtime-type-checks.mdx</include>
### Record identity and property order
<include>../limitations/record-identity-and-property-order.mdx</include>
### Buffer construction
<include>../limitations/buffer-construction.mdx</include>
### readable-stream
<include>../limitations/readable-stream.mdx</include>
### HTTP headers
<include>../limitations/http-headers.mdx</include>
### JSON callbacks
<include>../limitations/json-callbacks.mdx</include>
### Strings and sorting
<include>../limitations/strings-and-sorting.mdx</include>
### Published graphs
<include>../limitations/published-graphs.mdx</include>
### Dates and timezones
<include>../limitations/dates-and-timezones.mdx</include>
### Weak collections and memory
<include>../limitations/weak-collections-and-memory.mdx</include>
### Foreign-thread callbacks
<include>../limitations/foreign-thread-callbacks.mdx</include>
### TLS ciphers
<include>../limitations/tls-ciphers.mdx</include>
### Console and process streams
<include>../limitations/console-and-process-streams.mdx</include>
### graceful-fs
<include>../limitations/graceful-fs.mdx</include>
### DNS lookup errors
<include>../limitations/dns-lookup-errors.mdx</include>
### Socket data encoding
<include>../limitations/socket-data-encoding.mdx</include>
### UDP socket options
<include>../limitations/udp-socket-options.mdx</include>
### Unix domain sockets and request options
<include>../limitations/unix-domain-sockets.mdx</include>
### Process arguments and errors
<include>../limitations/process-arguments-and-errors.mdx</include>
### Module path globals
<include>../limitations/module-path-globals.mdx</include>
<span id="embedded-javascript-engine" />
## Runtime code evaluation
<include>../limitations/runtime-code-evaluation.mdx</include>
## Process events
<include>../limitations/process-events.mdx</include>
## Native addons
<include>../limitations/native-addons.mdx</include>
## WebAssembly modules
<include>../limitations/webassembly-modules.mdx</include>
## WASI target
<include>../limitations/wasi-target.mdx</include>
## Tooling and native FFI
<include>../limitations/tooling-and-native-ffi.mdx</include>
## Browser embedding
<include>../limitations/browser-embedding.mdx</include>
## Native debugging
<include>../limitations/native-debugging.mdx</include>