asherah 4.0.29 → 4.0.31

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.
Files changed (3) hide show
  1. package/index.d.ts +9 -0
  2. package/npm/index.js +22 -4
  3. package/package.json +40 -10
package/index.d.ts CHANGED
@@ -8,8 +8,14 @@ export type AsherahConfig = {
8
8
  metastore: 'memory' | 'rdbms' | 'dynamodb';
9
9
  connectionString?: string | null;
10
10
  replicaReadConsistency?: string | null;
11
+ dynamoDbEndpoint?: string | null;
12
+ dynamoDbRegion?: string | null;
13
+ dynamoDbTableName?: string | null;
14
+ /** @deprecated Use dynamoDbEndpoint */
11
15
  dynamoDBEndpoint?: string | null;
16
+ /** @deprecated Use dynamoDbRegion */
12
17
  dynamoDBRegion?: string | null;
18
+ /** @deprecated Use dynamoDbTableName */
13
19
  dynamoDBTableName?: string | null;
14
20
  sessionCacheMaxSize?: number | null;
15
21
  sessionCacheDuration?: number | null;
@@ -19,6 +25,9 @@ export type AsherahConfig = {
19
25
  enableRegionSuffix?: boolean | null;
20
26
  enableSessionCaching?: boolean | null;
21
27
  verbose?: boolean | null;
28
+ dynamoDbSigningRegion?: string | null;
29
+ sqlMetastoreDbType?: string | null;
30
+ /** @deprecated Use sqlMetastoreDbType */
22
31
  sqlMetastoreDBType?: string | null;
23
32
  disableZeroCopy?: boolean | null;
24
33
  nullDataCheck?: boolean | null;
package/npm/index.js CHANGED
@@ -108,9 +108,9 @@ const CONFIG_MAP = {
108
108
  CheckInterval: 'checkInterval',
109
109
  Metastore: 'metastore',
110
110
  ConnectionString: 'connectionString',
111
- DynamoDBEndpoint: 'dynamoDBEndpoint',
112
- DynamoDBRegion: 'dynamoDBRegion',
113
- DynamoDBTableName: 'dynamoDBTableName',
111
+ DynamoDBEndpoint: 'dynamoDbEndpoint',
112
+ DynamoDBRegion: 'dynamoDbRegion',
113
+ DynamoDBTableName: 'dynamoDbTableName',
114
114
  SessionCacheMaxSize: 'sessionCacheMaxSize',
115
115
  SessionCacheDuration: 'sessionCacheDuration',
116
116
  KMS: 'kms',
@@ -119,7 +119,8 @@ const CONFIG_MAP = {
119
119
  EnableRegionSuffix: 'enableRegionSuffix',
120
120
  EnableSessionCaching: 'enableSessionCaching',
121
121
  Verbose: 'verbose',
122
- SQLMetastoreDBType: 'sqlMetastoreDBType',
122
+ DynamoDBSigningRegion: 'dynamoDbSigningRegion',
123
+ SQLMetastoreDBType: 'sqlMetastoreDbType',
123
124
  ReplicaReadConsistency: 'replicaReadConsistency',
124
125
  DisableZeroCopy: 'disableZeroCopy',
125
126
  NullDataCheck: 'nullDataCheck',
@@ -175,6 +176,23 @@ function normalizeConfig(config) {
175
176
  out.kms = KMS_ALIASES[lower] || lower;
176
177
  }
177
178
 
179
+ // Normalize DynamoDB field names: dynamoDB* → dynamoDb* (napi-rs convention)
180
+ // Users and docs may use either casing; napi-rs only accepts the latter.
181
+ // napi-rs generates camelCase from Rust snake_case: dynamo_db → dynamoDb.
182
+ // Users may write "DB" (natural) instead of "Db" (napi-rs convention).
183
+ for (const [wrong, right] of [
184
+ ['dynamoDBEndpoint', 'dynamoDbEndpoint'],
185
+ ['dynamoDBRegion', 'dynamoDbRegion'],
186
+ ['dynamoDBTableName', 'dynamoDbTableName'],
187
+ ['dynamoDBSigningRegion', 'dynamoDbSigningRegion'],
188
+ ['sqlMetastoreDBType', 'sqlMetastoreDbType'],
189
+ ]) {
190
+ if (wrong in out && !(right in out)) {
191
+ out[right] = out[wrong];
192
+ delete out[wrong];
193
+ }
194
+ }
195
+
178
196
  return out;
179
197
  }
180
198
 
package/package.json CHANGED
@@ -1,9 +1,39 @@
1
1
  {
2
2
  "name": "asherah",
3
- "version": "4.0.29",
3
+ "version": "4.0.31",
4
4
  "private": false,
5
- "description": "Asherah envelope encryption and key rotation library",
5
+ "description": "Asherah application-layer encryption for Node.js with automatic key rotation, powered by the native Rust implementation.",
6
+ "author": "Jay Gowdy",
7
+ "contributors": [
8
+ "Bo Thompson",
9
+ "Michael Micco",
10
+ "Dalibor Nasevic"
11
+ ],
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "https://github.com/godaddy/asherah-ffi.git",
15
+ "directory": "asherah-node"
16
+ },
17
+ "homepage": "https://github.com/godaddy/asherah-ffi/tree/main/asherah-node",
18
+ "bugs": {
19
+ "url": "https://github.com/godaddy/asherah-ffi/issues"
20
+ },
21
+ "keywords": [
22
+ "encryption",
23
+ "envelope-encryption",
24
+ "key-rotation",
25
+ "security",
26
+ "cryptography",
27
+ "asherah",
28
+ "napi"
29
+ ],
6
30
  "main": "npm/index.js",
31
+ "exports": {
32
+ ".": {
33
+ "require": "./npm/index.js",
34
+ "default": "./npm/index.js"
35
+ }
36
+ },
7
37
  "types": "index.d.ts",
8
38
  "files": [
9
39
  "npm/index.js",
@@ -40,13 +70,13 @@
40
70
  "node": ">= 18"
41
71
  },
42
72
  "optionalDependencies": {
43
- "asherah-darwin-arm64": "4.0.29",
44
- "asherah-darwin-x64": "4.0.29",
45
- "asherah-linux-x64-gnu": "4.0.29",
46
- "asherah-linux-arm64-gnu": "4.0.29",
47
- "asherah-linux-x64-musl": "4.0.29",
48
- "asherah-linux-arm64-musl": "4.0.29",
49
- "asherah-windows-x64": "4.0.29",
50
- "asherah-windows-arm64": "4.0.29"
73
+ "asherah-darwin-arm64": "4.0.31",
74
+ "asherah-darwin-x64": "4.0.31",
75
+ "asherah-linux-x64-gnu": "4.0.31",
76
+ "asherah-linux-arm64-gnu": "4.0.31",
77
+ "asherah-linux-x64-musl": "4.0.31",
78
+ "asherah-linux-arm64-musl": "4.0.31",
79
+ "asherah-windows-x64": "4.0.31",
80
+ "asherah-windows-arm64": "4.0.31"
51
81
  }
52
82
  }