Skip to content

WIP: Experiments#78

Open
avivkeller wants to merge 2 commits intomainfrom
different-page-format
Open

WIP: Experiments#78
avivkeller wants to merge 2 commits intomainfrom
different-page-format

Conversation

@avivkeller
Copy link
Copy Markdown
Member

Let's see how this goes

Copilot AI review requested due to automatic review settings April 7, 2026 21:39
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 VirtualUrlPlugin and HttpUriPlugin docs).
  • Update generate-md.mjs to 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[]}
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
* Type: {string|RegExp[]}
* Type: {(string|RegExp)[]}

Copilot uses AI. Check for mistakes.

### Constructors

#### `new EnvironmentPlugin(keys)`
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
#### `new EnvironmentPlugin(keys)`
#### `new EnvironmentPlugin(...keys)`

Copilot uses AI. Check for mistakes.

##### Parameters

* `...keys` {string|string[]|Record<string, any>[]}
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment on lines +49 to +66
* 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.
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
* 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.

Copilot uses AI. Check for mistakes.

## `ExternalItem`

* Type: {string|RegExp|ExternalItemObjectKnown & ExternalItemObjectUnknown|Function|Function}
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.

## `ExternalItemFunction`

* Type: {Function|Function}
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
import webpack from './webpack/package.json' with { type: 'json' };
import { major } from 'semver';

const out = `pages/v${major(webpack.version)}.x`;
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
@avivkeller avivkeller changed the title feat(pages): more pages WIP: Experiments Apr 7, 2026
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.

2 participants