@aoxborrow/registrar-client 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +21 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +21 -6
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/registrars/godaddy.ts +21 -13
- package/src/registrars/namecheap.ts +4 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aoxborrow/registrar-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "One consistent, fully-typed TypeScript interface to many domain registrar APIs (GoDaddy, Cloudflare, Namecheap, Spaceship, Dynadot, Porkbun, and more) behind a single pluggable multi-provider client",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Aaron Oxborrow",
|
|
@@ -271,20 +271,28 @@ export class GoDaddyRegistrar extends BaseRegistrar {
|
|
|
271
271
|
static readonly displayName = 'GoDaddy';
|
|
272
272
|
static readonly website = 'godaddy.com';
|
|
273
273
|
static readonly helpText =
|
|
274
|
-
'
|
|
275
|
-
|
|
276
|
-
'
|
|
277
|
-
'
|
|
278
|
-
'
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
274
|
+
'Create a Personal Access Token (PAT) at https://developer.godaddy.com and ' +
|
|
275
|
+
"paste it here. The PAT is GoDaddy's modern credential: it unlocks the v3 " +
|
|
276
|
+
'API (discovery, registration, DNS, nameservers) and also authenticates the ' +
|
|
277
|
+
'legacy v1 API for management operations (renew, transfer, auto-renew, ' +
|
|
278
|
+
'lock, privacy, contacts) — one token covers everything.';
|
|
279
|
+
// Only the PAT is exposed for configuration — it is the sole credential
|
|
280
|
+
// GoDaddy recommends going forward, and it covers every production operation.
|
|
281
|
+
//
|
|
282
|
+
// The legacy `apiKey` + `apiSecret` (sso-key) pair and the `customerId` field
|
|
283
|
+
// are intentionally NOT advertised here. The code that consumes them is kept
|
|
284
|
+
// (see `authHeader`, `useV3`, `resolveCustomerId`, and the forwarding methods)
|
|
285
|
+
// so OTE/sandbox testing and direct programmatic use still work when those
|
|
286
|
+
// values are passed in credentials explicitly. But because they are no longer
|
|
287
|
+
// configurable, two capabilities are effectively unreachable through normal
|
|
288
|
+
// (config-driven) setup:
|
|
289
|
+
// - OTE/sandbox, which needs an sso-key (`apiKey` + `apiSecret`), and
|
|
290
|
+
// - domain forwarding, which needs `customerId` (a customer UUID), plus an
|
|
291
|
+
// sso-key to resolve a numeric shopper ID to that UUID.
|
|
292
|
+
// GoDaddy is deprecating the sso-key scheme in 2026, so this is the direction
|
|
293
|
+
// of travel regardless.
|
|
283
294
|
static readonly configFields: ConfigField[] = [
|
|
284
|
-
{ name: 'apiToken', label: 'API Token (PAT)', type: 'password', required:
|
|
285
|
-
{ name: 'apiKey', label: 'API Key', type: 'password', required: false },
|
|
286
|
-
{ name: 'apiSecret', label: 'API Secret', type: 'password', required: false },
|
|
287
|
-
{ name: 'customerId', label: 'Customer ID or Shopper ID', type: 'text', required: false },
|
|
295
|
+
{ name: 'apiToken', label: 'API Token (PAT)', type: 'password', required: true },
|
|
288
296
|
];
|
|
289
297
|
// GoDaddy's OTE ("Operational Test Environment") is its sandbox
|
|
290
298
|
static readonly supportsSandbox = true;
|
|
@@ -196,7 +196,10 @@ export class NamecheapRegistrar extends BaseRegistrar {
|
|
|
196
196
|
static readonly configFields: ConfigField[] = [
|
|
197
197
|
{ name: 'username', label: 'Username', type: 'text', required: true },
|
|
198
198
|
{ name: 'apiKey', label: 'API Key', type: 'password', required: true },
|
|
199
|
-
|
|
199
|
+
// Required: Namecheap rejects any request whose ClientIp isn't on the
|
|
200
|
+
// account's whitelist, so a placeholder like 0.0.0.0 only defers the
|
|
201
|
+
// failure to the first call. Make the user supply the whitelisted IP.
|
|
202
|
+
{ name: 'clientIp', label: 'Client IP', type: 'text', required: true },
|
|
200
203
|
];
|
|
201
204
|
// Namecheap runs a sandbox at api.sandbox.namecheap.com (separate account at
|
|
202
205
|
// sandbox.namecheap.com with its own API key)
|