Use native private members in build tooling - #5940
Open
Bharat Middha (bmiddha) wants to merge 3 commits into
Open
Use native private members in build tooling#5940Bharat Middha (bmiddha) wants to merge 3 commits into
Bharat Middha (bmiddha) wants to merge 3 commits into
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8ebd5bf2-c44b-42d5-be25-e7936d4b0a14
Extend the earlier private-fields conversion to also cover private methods and get/set accessors across the heft and webpack plugin scopes, using the same AST-driven tool. Two candidates in SassProcessor.ts (the _cache get/set accessor pair) were left as private because the tool's per-declaration reference tracking cannot safely disambiguate the shared accessor symbol. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8ebd5bf2-c44b-42d5-be25-e7936d4b0a14
Manually convert the get/set _cache accessor pair the codemod left as private, since both declarations and all 2 usages are plain 'this._cache' property access within SassProcessor's own instance methods, with no subclassing, bracket/reflection access, or external test references in the package. The tool's skip was a limitation of its per-declaration reference tracking (shared accessor symbol), not a real semantic hazard. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8ebd5bf2-c44b-42d5-be25-e7936d4b0a14
Contributor
There was a problem hiding this comment.
Pull request overview
Converts compile-time-private members in Heft and Webpack tooling to native ECMAScript #private members without changing public APIs or behavior.
Changes:
- Migrates private fields, methods, and accessors to native syntax.
- Updates internal references, including private-member destructuring.
- Covers Heft plugins and Webpack 4/5 tooling.
Reviewed changes
Copilot reviewed 37 out of 37 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
webpack/webpack5-module-minifier-plugin/src/ModuleMinifierPlugin.ts |
Migrates minifier state. |
webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts |
Migrates plugin options. |
webpack/webpack5-localization-plugin/src/test/MemFSPlugin.ts |
Migrates test filesystem state. |
webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts |
Migrates test plugin state. |
webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts |
Migrates localization internals. |
webpack/webpack4-module-minifier-plugin/src/PortableMinifierIdsPlugin.ts |
Migrates minifier hooks. |
webpack/webpack4-module-minifier-plugin/src/ModuleMinifierPlugin.ts |
Migrates minifier state. |
webpack/webpack4-module-minifier-plugin/src/AsyncImportCompressionPlugin.ts |
Migrates compression hooks. |
webpack/webpack4-localization-plugin/src/LocalizationPlugin.ts |
Migrates localization internals. |
webpack/webpack-workspace-resolve-plugin/src/WorkspaceResolvePlugin.ts |
Migrates resolver state. |
webpack/webpack-workspace-resolve-plugin/src/WorkspaceLayoutCache.ts |
Migrates resolution context state. |
webpack/webpack-workspace-resolve-plugin/src/KnownPackageDependenciesPlugin.ts |
Migrates cache storage. |
webpack/webpack-workspace-resolve-plugin/src/KnownDescriptionFilePlugin.ts |
Migrates resolver options. |
webpack/webpack-embedded-dependencies-plugin/src/EmbeddedDependenciesWebpackPlugin.ts |
Migrates dependency-report internals. |
webpack/webpack-deep-imports-plugin/src/DeepImportsPlugin.ts |
Migrates path configuration. |
webpack/set-webpack-public-path-plugin/src/SetPublicPathPluginBase.ts |
Migrates plugin naming state. |
webpack/set-webpack-public-path-plugin/src/SetPublicPathPlugin.ts |
Migrates runtime module options. |
webpack/hashed-folder-copy-plugin/src/HashedFolderDependency.ts |
Migrates hashing internals. |
heft-plugins/heft-webpack5-plugin/src/Webpack5Plugin.ts |
Migrates Webpack 5 task state. |
heft-plugins/heft-webpack5-plugin/src/DeferredWatchFileSystem.ts |
Migrates watcher state. |
heft-plugins/heft-webpack4-plugin/src/Webpack4Plugin.ts |
Migrates Webpack 4 task state. |
heft-plugins/heft-webpack4-plugin/src/DeferredWatchFileSystem.ts |
Migrates watcher state. |
heft-plugins/heft-typescript-plugin/src/TypeScriptPlugin.ts |
Migrates helper methods. |
heft-plugins/heft-typescript-plugin/src/TypeScriptBuilder.ts |
Migrates compiler state and helpers. |
heft-plugins/heft-typescript-plugin/src/fileSystem/TypeScriptCachedFileSystem.ts |
Migrates filesystem caches. |
heft-plugins/heft-serverless-stack-plugin/src/ServerlessStackPlugin.ts |
Migrates SST task internals. |
heft-plugins/heft-sass-plugin/src/SassProcessor.ts |
Migrates Sass state and helpers. |
heft-plugins/heft-rspack-plugin/src/RspackPlugin.ts |
Migrates Rspack task state. |
heft-plugins/heft-rspack-plugin/src/DeferredWatchFileSystem.ts |
Migrates watcher state. |
heft-plugins/heft-lint-plugin/src/Tslint.ts |
Migrates TSLint internals. |
heft-plugins/heft-lint-plugin/src/LintPlugin.ts |
Migrates lint initialization state. |
heft-plugins/heft-lint-plugin/src/LinterBase.ts |
Migrates linter-name storage. |
heft-plugins/heft-lint-plugin/src/Eslint.ts |
Migrates ESLint internals. |
heft-plugins/heft-jest-plugin/src/TerminalWritableStream.ts |
Migrates terminal storage. |
heft-plugins/heft-jest-plugin/src/JestPlugin.ts |
Migrates Jest orchestration state. |
heft-plugins/heft-jest-plugin/src/HeftJestReporter.ts |
Migrates reporter state and helpers. |
heft-plugins/heft-api-extractor-plugin/src/ApiExtractorPlugin.ts |
Migrates API Extractor state. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| * ``` | ||
| */ | ||
| private _emitWebpackError(compilation: Compilation, errorMessage: string, error: unknown): void { | ||
| #emitWebpackError(compilation: Compilation, errorMessage: string, error: unknown): void { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
#privatemembersValidation