[@types/serverless] Add Serverless Framework v4 types and comprehensive JSDoc documentation#74484
Conversation
… JSDoc documentation - Add v4-specific properties: stages, build, Stages, StageConfig, Build, EsBuildConfig - Add comprehensive JSDoc documentation with @see links to official docs - Fix syntax error in YAML example (*/* pattern breaking JSDoc parsing) - Document all previously undocumented interfaces - Add @SInCE v4 annotations for new properties - Add @deprecated annotations for legacy properties
|
@ofri-peretz Thank you for submitting this PR! I see this is your first time submitting to DefinitelyTyped 👋 — I'm the local bot who will help you through the process of getting things through. This is a live comment that I will keep updated. 1 package in this PRCode ReviewsBecause you edited one package and updated the tests (👏), I can help you merge this PR once someone else signs off on it. You can test the changes of this PR in the Playground. Status
Once every item on this list is checked, I'll ask you for permission to merge and publish the changes. Diagnostic Information: What the bot saw about this PR{
"type": "info",
"now": "-",
"pr_number": 74484,
"author": "ofri-peretz",
"headCommitOid": "d3033b3f98f80476496ac7e98cd0a59319b8ae72",
"mergeBaseOid": "c6ed86518513036ff29ef42c044a3de58a3cd921",
"lastPushDate": "2026-02-05T22:07:16.000Z",
"lastActivityDate": "2026-02-05T23:24:50.000Z",
"hasMergeConflict": false,
"isFirstContribution": true,
"tooManyFiles": false,
"hugeChange": false,
"popularityLevel": "Popular",
"pkgInfo": [
{
"name": "serverless",
"kind": "edit",
"files": [
{
"path": "types/serverless/plugins/aws/provider/awsProvider.d.ts",
"kind": "definition"
},
{
"path": "types/serverless/serverless-tests.ts",
"kind": "test"
}
],
"owners": [
"hassankhan",
"JonathanWilbur",
"a-pavlenko",
"fredericbarthelet",
"bryan-hunter",
"thomasaribart",
"G-Rath",
"AbdullahAli",
"fargito",
"bacarybruno",
"domazet93"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Popular"
}
],
"reviews": [],
"mainBotCommentID": 3856551927,
"ciResult": "pass"
} |
|
🔔 @hassankhan @JonathanWilbur @a-pavlenko @fredericbarthelet @bryan-hunter @ThomasAribart @G-Rath @AbdullahAli @fargito @bacarybruno @domazet93 — please review this PR in the next few days. Be sure to explicitly select |
…rning - Add configFile property to EsBuildConfig for custom esbuild configuration - Add migration warning for users coming from v3 with bundler plugins - Allow build: false to disable native bundling during plugin migration
… types - Add resolvers property to StageConfig for external data sources - Add VaultResolver interface with address, token, version, path options - Add TerraformResolver interface supporting s3, cloud, remote, http backends - Add StageResolvers interface for custom named resolvers - All new types marked with @SInCE v4 annotation
|
@ofri-peretz The CI build failed! Please review the logs for more information. Once you've pushed the fixes, the build will automatically re-run. Thanks! Note: builds that are failing do not end up on the list of PRs for the DT maintainers to review. |
- Replace @minimum/@maximum tags with inline descriptions (CI lint fix) - Add comprehensive tests for v4 types: stages, build, resolvers - Test VaultResolver, TerraformResolver with all backend types - Test EsBuildConfig with all properties - Test backward compatibility with deprecated properties - Test Kafka event with consumerGroupId
Summary
This PR adds support for Serverless Framework v4 properties and significantly improves the documentation of the AWS provider type definitions.
Breaking Changes
None. This PR only adds optional properties and documentation. All existing type definitions remain unchanged and backward compatible.
🆕 New v4-Specific Properties (
@since v4)Root
ServerlessInterfacestagesStagesbuildBuild | falseProviderInterfacelicenseKeystringNew Interfaces
StagesStageConfigStageResolversVaultResolverTerraformResolverBuildEsBuildConfigVaultResolverPropertiesaddressstringVAULT_ADDRenv var)tokenstringVAULT_TOKENenv var)versionstringv1)pathstringTerraformResolverPropertiestype's3' | 'cloud' | 'remote' | 'http'bucketstringkeystringregionstringorganizationstringworkspaces{ name?: string }addressstringEsBuildConfigPropertiesconfigFilestringbundlebooleanminifybooleansourcemapbooleanexternalstring[]targetstringplatform'node' | 'browser'The following properties now include
@deprecatedannotations pointing to their modern replacements:ServerlessInterfacevariablesResolutionModetenantorgorgproperty insteadServiceInterfaceawsKmsKeyArnprovider.kmsKeyArnkmsKeyArnat the provider levelProviderInterfacelambdaHashingVersionroleiam.rolerolePermissionsBoundaryiam.role.permissionsBoundaryiamRoleStatementsiam.role.statementsiamManagedPoliciesiam.role.managedPoliciescfnRoleiam.deploymentRolePackageInterfaceincludepatternsAwsFunctionInterfaceawsKmsKeyArnkmsKeyArnkmsKeyArnproperty instead📚 Documentation Improvements
@seelinks to official Serverless Framework documentation@exampleblocks with YAML configuration examplesbuildproperty when using legacy bundler plugins🐛 Bug Fixes
*/*pattern was breaking JSDoc comment parsing (wrapped in quotes:'*/*')Testing
tsc --noEmitReferences