Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
This PR expands the generated v5.x API documentation set and updates the generation script to pull in a broader TypeScript surface (runtime exports + declaration files), while also cleaning the output directory before regenerating.
Changes:
- Add many new v5.x Markdown pages for additional namespaces/types/plugins (e.g., container, dependencies, debug, resolver, etc.).
- Update some existing experiment/plugin docs formatting/structure (e.g., separating
VirtualUrlPluginandHttpUriPlugindocs). - Update
generate-md.mjsto use more entry points, a dedicated tsconfig, and to delete the output directory before writing.
Reviewed changes
Copilot reviewed 121 out of 242 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| generate-md.mjs | Expands TypeDoc inputs, switches tsconfig, cleans output directory before writing |
| pages/v5.x/_media/GOVERNANCE.md | Removes governance media page |
| pages/v5.x/_media/WORKING_GROUP.md | Removes working group media page |
| pages/v5.x/AggressiveSplitting.md | Adds generated API docs page |
| pages/v5.x/Argument.md | Adds generated API docs page |
| pages/v5.x/Asset.md | Adds generated API docs page |
| pages/v5.x/AsyncDependenciesBlock.md | Adds generated API docs page |
| pages/v5.x/AutomaticPrefetchPlugin.md | Adds generated API docs page |
| pages/v5.x/BannerPlugin.md | Adds generated API docs page |
| pages/v5.x/Cache.md | Adds generated API docs page |
| pages/v5.x/cache/index.md | Adds generated index page |
| pages/v5.x/cache/MemoryCachePlugin.md | Updates/normalizes plugin doc formatting |
| pages/v5.x/CleanPlugin.md | Adds generated API docs page |
| pages/v5.x/cli/index.md | Adds generated index page |
| pages/v5.x/CodeGenerationResults.md | Adds generated API docs page |
| pages/v5.x/Colors.md | Adds generated API docs page |
| pages/v5.x/Compiler.md | Adds generated API docs page |
| pages/v5.x/ConcatenationScope.md | Adds generated API docs page |
| pages/v5.x/Configuration.md | Adds generated API docs page |
| pages/v5.x/ConsumeShared.md | Adds generated API docs page |
| pages/v5.x/ContainerReference.md | Adds generated API docs page |
| pages/v5.x/container/index.md | Adds generated index page |
| pages/v5.x/container/ContainerPlugin.md | Adds generated API docs page |
| pages/v5.x/container/ContainerReferencePlugin.md | Adds generated API docs page |
| pages/v5.x/container/ModuleFederationPlugin.md | Adds generated API docs page |
| pages/v5.x/ContextExclusionPlugin.md | Adds generated API docs page |
| pages/v5.x/ContextReplacementPlugin.md | Adds generated API docs page |
| pages/v5.x/css/index.md | Adds generated index page |
| pages/v5.x/css/CssModulesPlugin.md | Updates/normalizes plugin doc formatting |
| pages/v5.x/debug/index.md | Adds generated index page |
| pages/v5.x/debug/ProfilingPlugin.md | Adds generated API docs page |
| pages/v5.x/DefinePlugin.md | Adds generated API docs page |
| pages/v5.x/DelegatedPlugin.md | Adds generated API docs page |
| pages/v5.x/dependencies/index.md | Adds generated index page |
| pages/v5.x/dependencies/ConstDependency.md | Adds generated API docs page |
| pages/v5.x/dependencies/HarmonyImportDependency.md | Adds generated API docs page |
| pages/v5.x/dependencies/ModuleDependency.md | Adds generated API docs page |
| pages/v5.x/dependencies/NullDependency.md | Adds generated API docs page |
| pages/v5.x/Dependency.md | Adds generated API docs page |
| pages/v5.x/Dll.md | Adds generated API docs page |
| pages/v5.x/DotenvPlugin.md | Adds generated API docs page |
| pages/v5.x/DynamicEntryPlugin.md | Adds generated API docs page |
| pages/v5.x/electron/index.md | Adds generated index page |
| pages/v5.x/electron/ElectronTargetPlugin.md | Updates/normalizes plugin doc formatting |
| pages/v5.x/Entry.md | Adds generated API docs page |
| pages/v5.x/Entrypoint.md | Adds generated API docs page |
| pages/v5.x/EnvironmentPlugin.md | Adds generated API docs page |
| pages/v5.x/EvalDevToolModulePlugin.md | Adds generated API docs page |
| pages/v5.x/EvalSourceMapDevToolPlugin.md | Adds generated API docs page |
| pages/v5.x/ExternalItem.md | Adds generated API docs page |
| pages/v5.x/Externals.md | Adds generated API docs page |
| pages/v5.x/experiments/index.md | Adds generated index page |
| pages/v5.x/experiments/ids/index.md | Adds generated index page |
| pages/v5.x/experiments/ids/SyncModuleIdsPlugin.md | Updates/normalizes plugin doc formatting |
| pages/v5.x/experiments/schemes/index.md | Adds generated index page |
| pages/v5.x/experiments/schemes/HttpUriPlugin.md | Adds generated API docs page |
| pages/v5.x/experiments/schemes/VirtualUrlPlugin.md | Fixes header/content to focus on VirtualUrlPlugin |
| pages/v5.x/FileCacheOptions.md | Adds generated API docs page |
| pages/v5.x/Generator.md | Adds generated API docs page |
| pages/v5.x/HASH.md | Adds generated API docs page |
| pages/v5.x/HashedModule.md | Adds generated API docs page |
| pages/v5.x/HotModuleReplacementPlugin.md | Adds generated API docs page |
| pages/v5.x/HotUpdateChunk.md | Adds generated API docs page |
| pages/v5.x/ID.md | Adds generated API docs page |
| pages/v5.x/IgnorePlugin.md | Adds generated API docs page |
| pages/v5.x/InputFileSystem.md | Adds generated API docs page |
| pages/v5.x/InitFragment.md | Adds generated API docs page |
| pages/v5.x/JsonModules.md | Adds generated API docs page |
| pages/v5.x/LibraryOptions.md | Adds generated API docs page |
| pages/v5.x/LibraryTemplatePlugin.md | Adds generated API docs page |
| pages/v5.x/LibManifestPlugin.md | Adds generated API docs page |
| pages/v5.x/LimitChunk.md | Adds generated API docs page |
| pages/v5.x/Loader.md | Adds generated API docs page |
| pages/v5.x/LOADERS.md | Adds generated API docs page |
| pages/v5.x/ManifestPlugin.md | Adds generated API docs page |
| pages/v5.x/MemoryCache.md | Adds generated API docs page |
| pages/v5.x/MergeDuplicate.md | Adds generated API docs page |
| pages/v5.x/MinChunk.md | Adds generated API docs page |
| pages/v5.x/MultiCompiler.md | Adds generated API docs page |
| pages/v5.x/MultiConfiguration.md | Adds generated API docs page |
| pages/v5.x/MultiStats.md | Adds generated API docs page |
| pages/v5.x/NAMESPACE.md | Adds generated API docs page |
| pages/v5.x/NoEmitOnErrorsPlugin.md | Adds generated API docs page |
| pages/v5.x/ObjectDeserializerContext.md | Adds generated API docs page |
| pages/v5.x/ObjectSerializerContext.md | Adds generated API docs page |
| pages/v5.x/OccurrenceChunk.md | Adds generated API docs page |
| pages/v5.x/OccurrenceModule.md | Adds generated API docs page |
| pages/v5.x/OptimizationStages.md | Adds generated API docs page |
| pages/v5.x/OutputFileSystem.md | Adds generated API docs page |
| pages/v5.x/Parser.md | Adds generated API docs page |
| pages/v5.x/PathData.md | Adds generated API docs page |
| pages/v5.x/PitchLoaderDefinitionFunction.md | Adds generated API docs page |
| pages/v5.x/PlatformPlugin.md | Adds generated API docs page |
| pages/v5.x/PrefetchPlugin.md | Adds generated API docs page |
| pages/v5.x/Problem.md | Adds generated API docs page |
| pages/v5.x/ProgressPlugin.md | Adds generated API docs page |
| pages/v5.x/ProvidePlugin.md | Adds generated API docs page |
| pages/v5.x/ProvideShared.md | Adds generated API docs page |
| pages/v5.x/QUERY.md | Adds generated API docs page |
| pages/v5.x/RawLoader.md | Adds generated API docs page |
| pages/v5.x/RenderManifest.md | Adds generated API docs page |
| pages/v5.x/ResolveData.md | Adds generated API docs page |
| pages/v5.x/ResolveOptions.md | Adds generated API docs page |
| pages/v5.x/ResolvePluginInstance.md | Adds generated API docs page |
| pages/v5.x/Resolver.md | Adds generated API docs page |
| pages/v5.x/RESOURCE.md | Adds generated API docs page |
| pages/v5.x/RuleSet.md | Adds generated API docs page |
| pages/v5.x/Stats.md | Adds generated API docs page |
| pages/v5.x/Template.md | Adds generated API docs page |
| pages/v5.x/UsageState.md | Adds generated API docs page |
| pages/v5.x/Watching.md | Adds generated API docs page |
| pages/v5.x/WatchIgnore.md | Adds generated API docs page |
| pages/v5.x/Webpack.md | Adds generated API docs page |
| pages/v5.x/config/index.md | Adds generated index page |
| pages/v5.x/container/index.md | Adds generated index page |
| pages/v5.x/css/index.md | Adds generated index page |
| pages/v5.x/debug/index.md | Adds generated index page |
| pages/v5.x/dependencies/index.md | Adds generated index page |
| pages/v5.x/electron/index.md | Adds generated index page |
| pages/v5.x/esm/index.md | Adds generated index page |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| #### `paths` | ||
|
|
||
| * Type: {string|RegExp[]} |
There was a problem hiding this comment.
The paths type reads as string | RegExp[], which doesn't match the description (“A list of RegExps or absolute paths...”). If paths is intended to be a list containing both strings and regexes, the type should be (string|RegExp)[] (or equivalent) so a mixed list is representable.
| * Type: {string|RegExp[]} | |
| * Type: {(string|RegExp)[]} |
|
|
||
| ### Constructors | ||
|
|
||
| #### `new EnvironmentPlugin(keys)` |
There was a problem hiding this comment.
Constructor signature and parameter list disagree: the heading documents new EnvironmentPlugin(keys) but the parameters show a rest parameter (...keys). Update the constructor heading to reflect the rest parameter (or adjust parameter docs) so consumers don’t misread the API.
| #### `new EnvironmentPlugin(keys)` | |
| #### `new EnvironmentPlugin(...keys)` |
|
|
||
| ##### Parameters | ||
|
|
||
| * `...keys` {string|string[]|Record<string, any>[]} |
There was a problem hiding this comment.
Constructor signature and parameter list disagree: the heading documents new EnvironmentPlugin(keys) but the parameters show a rest parameter (...keys). Update the constructor heading to reflect the rest parameter (or adjust parameter docs) so consumers don’t misread the API.
| * Type: {object|object} | ||
|
|
||
| ### Union Members | ||
|
|
||
| #### Type Literal | ||
|
|
||
| {object} | ||
|
|
||
| * `contextRegExp` {RegExp} A RegExp to test the context (directory) against. | ||
| * `resourceRegExp` {RegExp} A RegExp to test the request against. | ||
|
|
||
| *** | ||
|
|
||
| #### Type Literal | ||
|
|
||
| {object} | ||
|
|
||
| * `checkResource` {CheckResourceFn} A filter function for resource and context. |
There was a problem hiding this comment.
The generated type {object|object} is redundant and likely indicates a doc-generation rendering issue (union member de-duplication). Consider fixing the generator/template so unions are simplified and/or represented with distinct named types (especially where overloads are involved), to avoid confusing API docs.
| * Type: {object|object} | |
| ### Union Members | |
| #### Type Literal | |
| {object} | |
| * `contextRegExp` {RegExp} A RegExp to test the context (directory) against. | |
| * `resourceRegExp` {RegExp} A RegExp to test the request against. | |
| *** | |
| #### Type Literal | |
| {object} | |
| * `checkResource` {CheckResourceFn} A filter function for resource and context. | |
| * Type: {IgnorePluginRegExpOptions|IgnorePluginCheckResourceOptions} | |
| ### Union Members | |
| #### `IgnorePluginRegExpOptions` | |
| * Type: {object} | |
| * `contextRegExp` {RegExp} A RegExp to test the context (directory) against. | |
| * `resourceRegExp` {RegExp} A RegExp to test the request against. | |
| *** | |
| #### `IgnorePluginCheckResourceOptions` | |
| * Type: {object} | |
| * `checkResource` {CheckResourceFn} A filter function for resource and context. | |
| ## `IgnorePluginRegExpOptions` | |
| * Type: {object} | |
| * `contextRegExp` {RegExp} A RegExp to test the context (directory) against. | |
| * `resourceRegExp` {RegExp} A RegExp to test the request against. | |
| ## `IgnorePluginCheckResourceOptions` | |
| * Type: {object} | |
| * `checkResource` {CheckResourceFn} A filter function for resource and context. |
|
|
||
| ## `ExternalItem` | ||
|
|
||
| * Type: {string|RegExp|ExternalItemObjectKnown & ExternalItemObjectUnknown|Function|Function} |
There was a problem hiding this comment.
Several union types render as Function|Function (and include duplicated Function members), which obscures important distinctions (e.g., callback-based vs promise-based functions) and reads like a generator bug. Since the file already defines more specific helper types (e.g. ExternalItemFunctionPromise, ExternalItemFunctionCallback), it would be clearer to have the unions reference those named types and de-duplicate identical members.
|
|
||
| ## `ExternalItemFunction` | ||
|
|
||
| * Type: {Function|Function} |
There was a problem hiding this comment.
Several union types render as Function|Function (and include duplicated Function members), which obscures important distinctions (e.g., callback-based vs promise-based functions) and reads like a generator bug. Since the file already defines more specific helper types (e.g. ExternalItemFunctionPromise, ExternalItemFunctionCallback), it would be clearer to have the unions reference those named types and de-duplicate identical members.
| import webpack from './webpack/package.json' with { type: 'json' }; | ||
| import { major } from 'semver'; | ||
|
|
||
| const out = `pages/v${major(webpack.version)}.x`; |
There was a problem hiding this comment.
Because out is used as an rmSync(..., { recursive: true, force: true }) target, it’s worth validating that major(webpack.version) produced an expected value (e.g., an integer) and that out matches an expected safe prefix/path before deleting. This makes accidental mass deletion much less likely if webpack.version is malformed or unexpectedly resolved.
Let's see how this goes