Skip to content

Remove typings.json files in favour of @types/ packages - #21700

Merged
Jamie Magee (JamieMagee) merged 1 commit into
masterfrom
users/jamagee/remove-typings-json
Jan 20, 2026
Merged

Remove typings.json files in favour of @types/ packages#21700
Jamie Magee (JamieMagee) merged 1 commit into
masterfrom
users/jamagee/remove-typings-json

Conversation

@JamieMagee

@JamieMagee Jamie Magee (JamieMagee) commented Jan 13, 2026

Copy link
Copy Markdown
Member

Context

The typings package was an early approach for the TypeScript community to add types to npm packages that don't provide them. It was deprecated with the release of TypeScript 2.0 in 2016, and types are now found in @types/ packages from DefinitelyTyped.

Fixes #18761


Task Name

  • AndroidSigningV3
  • AppCenterTestV1
  • DownloadBuildArtifactsV0
  • JenkinsDownloadArtifactsV1
  • JenkinsDownloadArtifactsV2
  • ReviewAppV0
  • VsTestV2
  • VsTestV3

Description

  • Remove typings.json from all 9 affected tasks
  • Remove the entire typings/ directory from AppCenterTestV1 (contained old type definitions for node, q, mocha, glob, form-data, and request)
  • Add @types/q to JenkinsDownloadArtifactsV1 and JenkinsDownloadArtifactsV2 package.json since these tasks use the q promise library

Most tasks already had the required @types/ packages in their dependencies (@types/node, @types/mocha, @types/q, @types/uuid as needed).


Risk Assessment (Low / Medium / High)

Low - This is a build-time only change. The typings.json files and typings/ directories are not used at runtime and were already superseded by the @types/ packages in package.json. No functional changes to task behavior.


Change Behind Feature Flag (Yes / No)

No - This is a cleanup of deprecated build tooling, not a feature change.


Tech Design / Approach

  • No design required. This is a straightforward removal of deprecated files.
  • The @types/ packages from DefinitelyTyped are the standard approach for TypeScript type definitions since TypeScript 2.0 (2016).

Documentation Changes Required (Yes/No)

No - No user-facing documentation changes required.


Unit Tests Added or Updated (Yes / No)

No - No test changes required. This change only removes deprecated type definition files that were not being used.


Additional Testing Performed

  • Verified all typings.json files have been removed
  • Verified the typings/ directory in AppCenterTestV1 has been removed
  • Confirmed all affected tasks already have equivalent @types/ packages in their package.json

Logging Added/Updated (Yes/No)

No - No logging changes required for this cleanup.


Telemetry Added/Updated (Yes/No)

No - No telemetry changes required for this cleanup.


Rollback Scenario and Process (Yes/No)

Yes - Simple revert of the commit if needed. No data migrations or external dependencies affected.


Dependency Impact Assessed and Regression Tested (Yes/No)

Yes - All affected tasks already have the required @types/ packages in their package.json. The removed typings.json files were legacy and not actively used by the TypeScript compiler.


Checklist

  • Related issue linked (if applicable)
  • Task version was bumped — see versioning guide
  • Verified the task behaves as expected

@JamieMagee

Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 3 pipeline(s).

@JamieMagee
Jamie Magee (JamieMagee) force-pushed the users/jamagee/remove-typings-json branch from 10f2011 to b5e45a0 Compare January 13, 2026 17:18
@JamieMagee

Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 3 pipeline(s).

@JamieMagee
Jamie Magee (JamieMagee) force-pushed the users/jamagee/remove-typings-json branch from b5e45a0 to 10b5136 Compare January 13, 2026 18:19
@JamieMagee

Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 3 pipeline(s).

@JamieMagee
Jamie Magee (JamieMagee) force-pushed the users/jamagee/remove-typings-json branch from 10b5136 to 3efec1b Compare January 13, 2026 18:37
@JamieMagee

Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 3 pipeline(s).

Comment thread Tasks/AndroidSigningV2/task.loc.json Outdated
@JamieMagee
Jamie Magee (JamieMagee) force-pushed the users/jamagee/remove-typings-json branch from 3efec1b to 30ec8d7 Compare January 16, 2026 05:13
@JamieMagee

Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 3 pipeline(s).

@JamieMagee
Jamie Magee (JamieMagee) enabled auto-merge (squash) January 16, 2026 16:07

@lucen-ms Lukas Cenovsky (lucen-ms) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

approved for AppCenterTestV1

@vinayakmsft Vinayak (vinayakmsft) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

approved for VstestV2 and V3

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I did check code changes for VsTestV2 and VsTestV3 task.

Activity VsTestV3 VsTestV3
Build Passed Passed
Tests Passed Passed
Deployment Success Success Success
Task deployed in test org Working Working
Tests publish in Test tab Success Success
Any anomaly detected No No

Approving based on above analysis

The typings package was deprecated with the release of TypeScript 2.0 in 2016.
Types are now provided via @types/ packages from DefinitelyTyped.

Changes:
- Remove typings.json from AndroidSigningV2, AndroidSigningV3, AppCenterTestV1,
  DownloadBuildArtifactsV0, JenkinsDownloadArtifactsV1, JenkinsDownloadArtifactsV2,
  ReviewAppV0, VsTestV2, and VsTestV3 tasks
- Remove the entire typings/ directory from AppCenterTestV1 (contained old
  type definitions for node, q, mocha, glob, form-data, and request)
- Add @types/q to JenkinsDownloadArtifactsV1 and JenkinsDownloadArtifactsV2
  package.json since these tasks use the q promise library

Most tasks already had the required @types/ packages in their dependencies:
- @types/node, @types/mocha, @types/q, @types/uuid as needed

Fixes #18761
@JamieMagee
Jamie Magee (JamieMagee) force-pushed the users/jamagee/remove-typings-json branch from 30ec8d7 to 4e45024 Compare January 20, 2026 15:11
@JamieMagee

Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 3 pipeline(s).

@JamieMagee
Jamie Magee (JamieMagee) merged commit 49120de into master Jan 20, 2026
14 checks passed
@JamieMagee
Jamie Magee (JamieMagee) deleted the users/jamagee/remove-typings-json branch January 20, 2026 16:12
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.

[enhancement]: Remove typings.json files in favour of @types/

7 participants