build(build-tools): modernize test tsconfig to node16/es2022#27378
build(build-tools): modernize test tsconfig to node16/es2022#27378tylerbutler wants to merge 4 commits into
Conversation
|
Hi! Thank you for opening this PR. Want me to review it? Based on the diff (78 lines, 2 files), I've queued these reviewers:
How this works
|
There was a problem hiding this comment.
Pull request overview
Modernizes the @fluidframework/build-tools test TypeScript configuration to match the package’s Node16/ES2022 compilation model and updates internal/test import specifiers to be Node16-friendly (including dynamic import() requiring explicit .js extensions).
Changes:
- Replace the stale test
tsconfig.jsonwith a minimales2022+module/moduleResolution: node16configuration. - Add explicit
.jsextensions to relative imports/exports across build-tools sources and tests (including dynamic imports inbiome2Configtests). - Align build-tools internal module specifiers with Node16 resolution expectations.
Reviewed changes
Copilot reviewed 51 out of 51 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| build-tools/packages/build-tools/src/test/tsconfig.json | Modernize test TS config to es2022 + node16 module settings. |
| build-tools/packages/build-tools/src/test/taskDefinitions.test.ts | Add .js extensions to relative imports used by tests. |
| build-tools/packages/build-tools/src/test/repoRootToken.test.ts | Add .js extension to config import. |
| build-tools/packages/build-tools/src/test/npmPackage.test.ts | Add .js extensions to relative imports. |
| build-tools/packages/build-tools/src/test/globPatterns.test.ts | Add .js extensions to relative imports. |
| build-tools/packages/build-tools/src/test/biomeVersion.test.ts | Add .js extensions to relative imports. |
| build-tools/packages/build-tools/src/test/biomeConfig.test.ts | Add .js extensions to relative imports. |
| build-tools/packages/build-tools/src/test/biome2Config.test.ts | Fix dynamic imports to include .js extensions under Node16 resolution. |
| build-tools/packages/build-tools/src/index.ts | Add .js extensions to re-exports to match emitted JS layout. |
| build-tools/packages/build-tools/src/fluidBuild/tscUtils.ts | Add .js extension for local import. |
| build-tools/packages/build-tools/src/fluidBuild/tasks/workers/workerPool.ts | Add .js extension for worker type import. |
| build-tools/packages/build-tools/src/fluidBuild/tasks/workers/worker.ts | Add .js extensions for worker module imports. |
| build-tools/packages/build-tools/src/fluidBuild/tasks/workers/eslintWorker.ts | Add .js extension for worker type import. |
| build-tools/packages/build-tools/src/fluidBuild/tasks/taskUtils.ts | Add .js extensions for common imports. |
| build-tools/packages/build-tools/src/fluidBuild/tasks/taskHandlers.ts | Add .js extensions for type imports. |
| build-tools/packages/build-tools/src/fluidBuild/tasks/taskFactory.ts | Add .js extensions throughout task factory imports. |
| build-tools/packages/build-tools/src/fluidBuild/tasks/task.ts | Add .js extensions for task dependencies. |
| build-tools/packages/build-tools/src/fluidBuild/tasks/leaf/webpackTask.ts | Add .js extensions for task utils / leaf base import. |
| build-tools/packages/build-tools/src/fluidBuild/tasks/leaf/tscTask.ts | Add .js extensions for task dependencies. |
| build-tools/packages/build-tools/src/fluidBuild/tasks/leaf/ts2EsmTask.ts | Add .js extensions for task utils / leaf base import. |
| build-tools/packages/build-tools/src/fluidBuild/tasks/leaf/prettierTask.ts | Add .js extensions for task dependencies. |
| build-tools/packages/build-tools/src/fluidBuild/tasks/leaf/miscTasks.ts | Add .js extensions for task dependencies. |
| build-tools/packages/build-tools/src/fluidBuild/tasks/leaf/lintTasks.ts | Add .js extensions for task dependencies. |
| build-tools/packages/build-tools/src/fluidBuild/tasks/leaf/leafTask.ts | Add .js extensions for internal imports. |
| build-tools/packages/build-tools/src/fluidBuild/tasks/leaf/generateEntrypointsTask.ts | Add .js extensions for task dependencies. |
| build-tools/packages/build-tools/src/fluidBuild/tasks/leaf/flubTasks.ts | Add .js extensions for internal imports. |
| build-tools/packages/build-tools/src/fluidBuild/tasks/leaf/declarativeTask.ts | Add .js extensions for internal imports. |
| build-tools/packages/build-tools/src/fluidBuild/tasks/leaf/biomeTasks.ts | Add .js extensions for internal imports. |
| build-tools/packages/build-tools/src/fluidBuild/tasks/groupTask.ts | Add .js extensions for internal imports. |
| build-tools/packages/build-tools/src/fluidBuild/options.ts | Add .js extensions for internal imports. |
| build-tools/packages/build-tools/src/fluidBuild/npmDepChecker.ts | Add .js extension for common import. |
| build-tools/packages/build-tools/src/fluidBuild/fluidUtils.ts | Add .js extensions for internal imports. |
| build-tools/packages/build-tools/src/fluidBuild/fluidTsc/fluidTsc.ts | Add .js extensions for internal imports. |
| build-tools/packages/build-tools/src/fluidBuild/fluidTaskDefinitions.ts | Add .js extensions for internal imports. |
| build-tools/packages/build-tools/src/fluidBuild/fluidRepoBuild.ts | Add .js extensions for internal/common imports. |
| build-tools/packages/build-tools/src/fluidBuild/fluidRepo.ts | Add .js extensions for internal/common imports. |
| build-tools/packages/build-tools/src/fluidBuild/fluidBuildConfig.ts | Add .js extension for internal import. |
| build-tools/packages/build-tools/src/fluidBuild/fluidBuild.ts | Add .js extensions for internal/common imports. |
| build-tools/packages/build-tools/src/fluidBuild/fileHashCache.ts | Add .js extension for hash import. |
| build-tools/packages/build-tools/src/fluidBuild/buildMetrics.ts | Add .js extension for logging import. |
| build-tools/packages/build-tools/src/fluidBuild/buildGraph.ts | Add .js extensions for internal/common imports. |
| build-tools/packages/build-tools/src/fluidBuild/buildContext.ts | Add .js extensions for internal/common type imports. |
| build-tools/packages/build-tools/src/common/typeTests.ts | Add .js extension for common type import. |
| build-tools/packages/build-tools/src/common/timer.ts | Add .js extension for logging import. |
| build-tools/packages/build-tools/src/common/npmPackage.ts | Add .js extensions for internal imports. |
| build-tools/packages/build-tools/src/common/monoRepo.ts | Add .js extensions for internal imports. |
| build-tools/packages/build-tools/src/common/logging.ts | Add .js extension for internal import. |
| build-tools/packages/build-tools/src/common/gitRepo.ts | Add .js extension for utils import. |
| build-tools/packages/build-tools/src/common/biomeConfigUtils.ts | Add .js extension for GitRepo type import (and dynamic imports already use .js). |
| build-tools/packages/build-tools/src/common/biomeConfig.ts | Add .js extensions for internal imports. |
| build-tools/packages/build-tools/src/common/biome2Config.ts | Add .js extensions for internal imports. |
Description
Replaces the long-stale
build-tools/packages/build-tools/src/test/tsconfig.json(~70 lines of commented-out/* Basic Options */boilerplate, targetinges2018/commonjs) with a clean modern config aligned with the package's maintsconfig.json:target: es2022module: node16/moduleResolution: node16types: ["node", "mocha"]incremental: trueIncidental dynamic-import fix
src/test/biome2Config.test.tshad a handful ofawait import("../common/biome2Config")calls without the.jsextension. Undernode16/ESM dynamic imports those must include the extension, so each is updated toawait import("../common/biome2Config.js"). (Same convention as the regular static imports already touched in #27375.)Validation
From
build-tools/packages/build-tools:pnpm run build:test— clean compile.pnpm test:mocha— 137/137 passing.Reviewer Guidance
The review process is outlined on this wiki page.
Mechanical cleanup. The new tsconfig matches conventions used by every modern test project in this repo. The deleted commented-out options are TypeScript defaults / unused.