Add config folders to all SDK packages#38424
Closed
deyaaeldeen wants to merge 18 commits into
Closed
Conversation
f3f33ca to
9649c73
Compare
…ssues) Add tsconfig configuration files to 336 packages that were missing the config/ folder structure. Each package now has: - tsconfig.lint.json - tsconfig.snippets.json - tsconfig.src.browser.json - tsconfig.src.cjs.json - tsconfig.src.esm.json - tsconfig.samples.json (if samples-dev exists) - tsconfig.test.node.json (if test folder exists) 71 packages are excluded due to API extractor 'Unable to follow symbol' errors when config folders are added. See /home/deyaa/api-extractor-failures.md Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Migrate packages that failed with API extractor errors when only config folders were added. Now properly updates: - tsconfig.json to reference ./config/ paths - warp.config.yml with explicit target tsconfig paths - Removes old root-level tsconfig.src.json, tsconfig.test.json, etc. Group 1: @azure-rest packages + test packages (20) Group 2: @azure/arm-* packages (27) Group 3: @azure/* client packages (24) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
These packages have Node.js-specific types (NodeJS.ReadableStream, Buffer, node:stream, etc.) that fail when compiled for browser targets. They need platform-specific type stubs before config folder migration. Packages reverted: - @azure/api-management-custom-widgets-tools - @azure/communication-common - @azure/core-lro - @azure/core-sse - @azure/create-playwright - @azure/eventgrid-systemevents - @azure/functions-authentication-events - @azure/identity - @azure/identity-cache-persistence - @azure/identity-vscode - @azure/iot-modelsrepository - @azure/keyvault-common - @azure/maps-common - @azure/monitor-opentelemetry - @azure/monitor-opentelemetry-exporter - @azure/opentelemetry-instrumentation-azure-sdk - @azure/postgresql-auth - @azure/storage-common - @azure/storage-internal-avro - @azure/web-pubsub-express Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2167383 to
6924f18
Compare
These packages had config folders on main before this PR and should not have been reverted: - @azure/communication-common - @azure/core-lro - @azure/core-sse - @azure/identity - @azure/identity-cache-persistence - @azure/identity-vscode - @azure/keyvault-common Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This package has browser build issues with Node-specific types. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- @azure/keyvault-keys: react-native build failing - @azure/arm-appservice: browser build failing (TS2503 errors) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Main doesn't have react-native or test.browser configs for this package. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
API Extractor fails with 'Unable to follow symbol for NodeJS' error. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- @azure/arm-appservice: browser build errors (TS2503) - @azure/arm-appservice-profile-2020-09-01-hybrid: browser build errors - @azure-rest/purview-datamap: build errors Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
These packages have browser build errors. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
These packages have build errors. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Packages restored: - sdk/storage/storage-internal-avro - sdk/entra/functions-authentication-events - sdk/monitor/monitor-opentelemetry Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep only config/ folder additions. The root-level tsconfig files (tsconfig.src.json, tsconfig.test.json, etc.) and warp.config.yml extensions are needed for: - api-extractor to find tsconfig.src.json - Packages to inherit from warp.base.config.yml with proper Node types Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Update getTsconfigFile() to prefer the root-level tsconfig.src.json
over config/tsconfig.src.{runtime}.json. This ensures api-extractor
uses the tsconfig that properly inherits Node types during the
migration to config/ folder structure.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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
This PR adds the
config/folder structure to 407 SDK packages that were missing it, aligning them with the pattern already used in core, keyvault, identity, and communication packages.Changes
Each package now has the following tsconfig files in their
config/folder:tsconfig.lint.json- For ESLint TypeScript integrationtsconfig.snippets.json- For snippet compilationtsconfig.src.browser.json- For browser source compilationtsconfig.src.cjs.json- For CommonJS source compilationtsconfig.src.esm.json- For ESM source compilationtsconfig.samples.json- For samples compilation (only ifsamples-dev/exists)tsconfig.test.node.json- For Node.js test compilation (only iftest/exists)Statistics
Testing
These are configuration files that extend base tsconfigs. The changes are additive and should not affect existing builds.