Azure / Azure/Connectors-NodeJS-SDK

Rename generated methods to verb-noun format (listX, getX, sendX instead of xListAsync)

Open
#35 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.