Skip to content

docs: document specNamespaceObject, resolve.resolver and resolve.fileSystem - #8395

Merged
alexander-akait merged 1 commit into
mainfrom
docs/resolver-and-namespace-options
Sep 13, 2026
Merged

alexander-akait merged 1 commit into
mainfrom
docs/resolver-and-namespace-options

Conversation

@alexander-akait

Copy link
Copy Markdown
Member

Summary

A second pass over schemas/WebpackOptions.json, following #8394 — this time asking whether each option is documented rather than merely mentioned somewhere. Of 978 option paths, 14 had no entry in any form; hand-checking collapsed them to three real gaps (the rest were documented as a shorter-prefix heading, inside a TS type signature, or enumerated in prose).

  • module.parser.javascript.specNamespaceObject — new in 5.111.0, documented nowhere.
  • resolve.resolver — the last ResolveOptions entry with no section.
  • resolve.fileSystem — likewise, and the section says plainly that webpack overwrites it with the compiler's input filesystem, so configuring it does nothing.

Each claim comes from a build rather than from reading the schema: the namespace object differs from the default only in Object.getPrototypeOf(ns) and Object.isExtensible(ns) (both objects throw on writing to or deleting an export), it takes effect on the imported module and not the importer, a resolve.fileSystem with no methods still builds cleanly, and a custom resolver serves every read while resolve.alias keeps applying through it.

What kind of change does this PR introduce?

docs

Did you add tests for your changes?

No — documentation only; prettier, markdownlint, eslint and the jest suite (25 suites / 99 tests / 23 snapshots) all pass.

Does this PR introduce a breaking change?

No.

If relevant, what needs to be documented once your changes are merged or what have you already documented?

n/a — this is the documentation. One finding belongs in webpack itself: WebpackOptionsApply assigns compiler.inputFileSystem over resolve.fileSystem for all three resolvers, so the schema advertises an option that cannot take effect. I am raising that separately.

Use of AI

Claude Code was used to write the schema-vs-docs audit and the documentation. Every behavioural statement was checked against a real build — including two of my own drafts that the builds disproved and that were rewritten before this PR.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Cb4AP4BntRzji5vSqhzYWT


Generated by Claude Code

…System

A second pass over schemas/WebpackOptions.json, asking whether each option
is documented rather than merely mentioned, left three real gaps once the
false positives were checked by hand.

module.parser.javascript.specNamespaceObject is new in 5.111.0 and was
undocumented. resolve.resolver and resolve.fileSystem are the last two
ResolveOptions with no entry; webpack overwrites the latter with the
compiler's input filesystem, so the section says so rather than implying
it is configurable.
@vercel

vercel Bot commented Sep 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
webpack-js-org Ready Ready Preview Sep 13, 2026 12:39pm UTC

Request Review

@alexander-akait
alexander-akait merged commit 78a0cf3 into main Sep 13, 2026
12 checks passed
@alexander-akait
alexander-akait deleted the docs/resolver-and-namespace-options branch September 13, 2026 13:45

This branch was successfully deployed

1 active deployment
Preview — ea67a28b Deployed Sep 13, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant