Skip to content

Add config folders to all SDK packages#38424

Closed
deyaaeldeen wants to merge 18 commits into
mainfrom
add-config-folders
Closed

Add config folders to all SDK packages#38424
deyaaeldeen wants to merge 18 commits into
mainfrom
add-config-folders

Conversation

@deyaaeldeen
Copy link
Copy Markdown
Member

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 integration
  • tsconfig.snippets.json - For snippet compilation
  • tsconfig.src.browser.json - For browser source compilation
  • tsconfig.src.cjs.json - For CommonJS source compilation
  • tsconfig.src.esm.json - For ESM source compilation
  • tsconfig.samples.json - For samples compilation (only if samples-dev/ exists)
  • tsconfig.test.node.json - For Node.js test compilation (only if test/ exists)

Statistics

  • 2776 files added across 407 packages
  • Previously only 43 packages had config folders
  • Now all 450 packages have consistent config folder structure

Testing

These are configuration files that extend base tsconfigs. The changes are additive and should not affect existing builds.

xirzec and others added 5 commits May 7, 2026 22:02
…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>
@deyaaeldeen deyaaeldeen force-pushed the add-config-folders branch from 2167383 to 6924f18 Compare May 7, 2026 22:02
Deyaaeldeen Almahallawi and others added 13 commits May 7, 2026 22:03
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>
@deyaaeldeen deyaaeldeen closed this May 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants