Azure / Azure/Connectors-NodeJS-SDK
Rename generated methods to verb-noun format (listX, getX, sendX instead of xListAsync)
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 4
- Avg merge
- 2d 2m
- Merged PRs (30d)
- 14
Description
## Context
All generated method names follow the .NET naming convention (noun-verb: `subscriptionsListAsync`, `mailSendAsync`). Azure SDK TypeScript guidelines require verb-first naming to match JavaScript idioms.
## Issue
```ts
// Current (follows .NET convention — noun-verb-Async)
client.subscriptionsListAsync(...)
client.subscriptionsGetAsync(subscriptionId, ...)
client.mailSendAsync(input)
client.calendarEventsV4ListAsync(...)
// Azure SDK TypeScript guideline (verb-noun, no Async suffix)
client.listSubscriptions(...)
client.getSubscription(subscriptionId, ...)
client.sendMail(input)
client.listCalendarEventsV4(...)
```
The guidelines say: **DO** name methods using a `verbNoun` format where the verb is the action (`list`, `get`, `create`, `update`, `delete`, `send`) and the noun is the resource. The `Async` suffix is redundant because TypeScript callers already see the return type is `Promise`.
## Proposed change
This is a **generator-level change** in `CodefulSdkGenerator` (BPM repo):
1. Update the TypeScript code-gen template to emit `verbNoun` method names instead of `nounVerbAsync`
2. Regenerate all 12 `*Extensions.ts` files
3. Update all 48 sample files (CJS/ESM × JS/TS) and all test files
This is a **breaking change** for any consumer currently calling the `.NET`-style names.
## Considerations
- The .NET SDK uses `SubscriptionsListAsync` (noun-verb) because that's idiomatic C#
- The Python SDK uses `subscriptions_list` (noun-verb, snake_case) — same .NET derivation
- Only the Node SDK needs verb-noun to follow JS/TS idioms
- This should be a major version bump (or pre-1.0 breaking change) when shipped
## Azure SDK guideline
[Method naming: verb-noun format](https://azure.github.io/azure-sdk/typescript_design.html#ts-naming-methods)
Contributor guide
Assessment
This issue has not been assessed yet.