@goldstack/template-dynamodb 0.3.15 → 0.3.17
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/src/localDynamoDB.d.ts +10 -3
- package/dist/src/localDynamoDB.d.ts.map +1 -1
- package/dist/src/localDynamoDB.js +26 -30
- package/dist/src/localDynamoDB.js.map +1 -1
- package/dist/src/templateDynamoDBTable.d.ts +1 -1
- package/dist/src/templateDynamoDBTable.d.ts.map +1 -1
- package/dist/src/templateDynamoDBTable.js +6 -5
- package/dist/src/templateDynamoDBTable.js.map +1 -1
- package/package.json +2 -1
|
@@ -5,9 +5,16 @@ export interface DynamoDBInstance {
|
|
|
5
5
|
port: number;
|
|
6
6
|
stop: () => Promise<void>;
|
|
7
7
|
}
|
|
8
|
-
export declare
|
|
8
|
+
export declare type LocalConnectType = (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, options: {
|
|
9
|
+
port: number;
|
|
10
|
+
}, deploymentName?: string) => Promise<DynamoDBClient>;
|
|
11
|
+
export declare type StartLocalDynamoDBType = (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, options: {
|
|
12
|
+
port: number;
|
|
13
|
+
}, deploymentName?: string) => Promise<DynamoDBInstance>;
|
|
14
|
+
export declare type StopLocalDynamoDBType = (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName?: string) => Promise<void>;
|
|
15
|
+
export declare const localConnect: LocalConnectType;
|
|
9
16
|
export declare const endpointUrl: (startedContainer: DynamoDBInstance) => string;
|
|
10
17
|
export declare const createClient: (startedContainer: DynamoDBInstance) => DynamoDBClient;
|
|
11
|
-
export declare const startLocalDynamoDB:
|
|
12
|
-
export declare const stopLocalDynamoDB:
|
|
18
|
+
export declare const startLocalDynamoDB: StartLocalDynamoDBType;
|
|
19
|
+
export declare const stopLocalDynamoDB: StopLocalDynamoDBType;
|
|
13
20
|
//# sourceMappingURL=localDynamoDB.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localDynamoDB.d.ts","sourceRoot":"","sources":["../../src/localDynamoDB.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK1D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AASzE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"localDynamoDB.d.ts","sourceRoot":"","sources":["../../src/localDynamoDB.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK1D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AASzE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAGD,oBAAY,gBAAgB,GAAG,CAC7B,aAAa,EAAE,qBAAqB,CAAC,eAAe,EAAE,kBAAkB,CAAC,EACzE,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACzB,cAAc,CAAC,EAAE,MAAM,KACpB,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B,oBAAY,sBAAsB,GAAG,CACnC,aAAa,EAAE,qBAAqB,CAAC,eAAe,EAAE,kBAAkB,CAAC,EACzE,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACzB,cAAc,CAAC,EAAE,MAAM,KACpB,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAE/B,oBAAY,qBAAqB,GAAG,CAClC,aAAa,EAAE,qBAAqB,CAAC,eAAe,EAAE,kBAAkB,CAAC,EACzE,cAAc,CAAC,EAAE,MAAM,KACpB,OAAO,CAAC,IAAI,CAAC,CAAC;AASnB,eAAO,MAAM,YAAY,EAAE,gBAwB1B,CAAC;AAEF,eAAO,MAAM,WAAW,qBAAsB,gBAAgB,KAAG,MAIhE,CAAC;AAEF,eAAO,MAAM,YAAY,qBACL,gBAAgB,KACjC,cAWF,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,sBAqBhC,CAAC;AA2HF,eAAO,MAAM,iBAAiB,EAAE,qBAgB/B,CAAC"}
|
|
@@ -34,28 +34,32 @@ const dynamoDBPackageUtils_1 = require("./dynamoDBPackageUtils");
|
|
|
34
34
|
const wait_port_1 = __importDefault(require("wait-port"));
|
|
35
35
|
const tcp_port_used_1 = require("tcp-port-used");
|
|
36
36
|
const child_process_1 = require("child_process");
|
|
37
|
-
const
|
|
37
|
+
const utils_log_1 = require("@goldstack/utils-log");
|
|
38
38
|
function areWeTestingWithJest() {
|
|
39
39
|
return process.env.JEST_WORKER_ID !== undefined;
|
|
40
40
|
}
|
|
41
41
|
const startedContainers = new Map();
|
|
42
|
-
const localConnect = async (packageConfig, deploymentName) => {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
throw new Error('DynamoDB Local has not been started. When running Jest test, start Local DynamoDB explicitly with `startLocalDynamoDB` and shut the instance down with `stopLocalDynamoDB` when tests are completed.');
|
|
48
|
-
}
|
|
42
|
+
const localConnect = async (packageConfig, { port }, deploymentName) => {
|
|
43
|
+
const tableName = await (0, dynamoDBPackageUtils_1.getTableName)(packageConfig, deploymentName);
|
|
44
|
+
const startedContainer = startedContainers.get(tableName);
|
|
45
|
+
if (areWeTestingWithJest() && !startedContainer) {
|
|
46
|
+
throw new Error('DynamoDB Local has not been started. When running Jest test, start Local DynamoDB explicitly with `startLocalDynamoDB` and shut the instance down with `stopLocalDynamoDB` when tests are completed.');
|
|
49
47
|
}
|
|
50
|
-
|
|
48
|
+
if (startedContainer && startedContainer !== 'stopped') {
|
|
49
|
+
return (0, exports.createClient)(startedContainer);
|
|
50
|
+
}
|
|
51
|
+
const newContainer = await (0, exports.startLocalDynamoDB)(packageConfig, { port }, deploymentName);
|
|
52
|
+
return (0, exports.createClient)(newContainer);
|
|
51
53
|
};
|
|
52
54
|
exports.localConnect = localConnect;
|
|
53
55
|
const endpointUrl = (startedContainer) => {
|
|
54
|
-
|
|
56
|
+
const result = `http://localhost:${startedContainer.port}`;
|
|
57
|
+
return result;
|
|
55
58
|
};
|
|
56
59
|
exports.endpointUrl = endpointUrl;
|
|
57
60
|
const createClient = (startedContainer) => {
|
|
58
61
|
const endpoint = (0, exports.endpointUrl)(startedContainer);
|
|
62
|
+
(0, utils_log_1.debug)(`Connecting to local DynamoDB instance on endpoint: ${endpoint}`);
|
|
59
63
|
return new client_dynamodb_1.DynamoDBClient({
|
|
60
64
|
endpoint,
|
|
61
65
|
region: 'eu-central-1',
|
|
@@ -66,15 +70,13 @@ const createClient = (startedContainer) => {
|
|
|
66
70
|
});
|
|
67
71
|
};
|
|
68
72
|
exports.createClient = createClient;
|
|
69
|
-
const startLocalDynamoDB = async (packageConfig, deploymentName) => {
|
|
73
|
+
const startLocalDynamoDB = async (packageConfig, { port }, deploymentName) => {
|
|
70
74
|
const tableName = await (0, dynamoDBPackageUtils_1.getTableName)(packageConfig, deploymentName);
|
|
71
|
-
// TODO the key in this map may need to be extended to include the region as well, since dynamodb table names are unique per region.
|
|
72
75
|
let startedContainer = startedContainers.get(tableName);
|
|
73
76
|
if (startedContainer && startedContainer !== 'stopped') {
|
|
74
77
|
return startedContainer;
|
|
75
78
|
}
|
|
76
|
-
startedContainer = await spawnLocalDynamoDB();
|
|
77
|
-
// Check if another container for this table has already been started in the meanwhile
|
|
79
|
+
startedContainer = await spawnLocalDynamoDB(port);
|
|
78
80
|
const startedContainerTest = startedContainers.get(tableName);
|
|
79
81
|
if (startedContainerTest && startedContainerTest !== 'stopped') {
|
|
80
82
|
await startedContainer.stop();
|
|
@@ -94,10 +96,8 @@ function killProcess(childProcess) {
|
|
|
94
96
|
(0, child_process_1.spawn)('taskkill', ['/pid', (_a = childProcess.pid) === null || _a === void 0 ? void 0 : _a.toString(), '/t']);
|
|
95
97
|
}
|
|
96
98
|
else {
|
|
97
|
-
// Send SIGTERM signal to the process
|
|
98
99
|
childProcess.kill('SIGTERM');
|
|
99
100
|
}
|
|
100
|
-
// Set a timeout to send SIGKILL after 5 seconds
|
|
101
101
|
const timeout = setTimeout(() => {
|
|
102
102
|
var _a;
|
|
103
103
|
if (process.platform === 'win32') {
|
|
@@ -107,7 +107,6 @@ function killProcess(childProcess) {
|
|
|
107
107
|
(0, child_process_1.spawn)('taskkill', ['/pid', (_a = childProcess.pid) === null || _a === void 0 ? void 0 : _a.toString(), '/f', '/t']);
|
|
108
108
|
}
|
|
109
109
|
else {
|
|
110
|
-
// Send SIGKILL signal if the process hasn't exited after 5 seconds
|
|
111
110
|
childProcess.kill('SIGKILL');
|
|
112
111
|
}
|
|
113
112
|
}, 5000);
|
|
@@ -115,9 +114,7 @@ function killProcess(childProcess) {
|
|
|
115
114
|
clearTimeout(timeout);
|
|
116
115
|
reject(new Error('Process could not be terminated after 30 s'));
|
|
117
116
|
}, 30000);
|
|
118
|
-
// Listen for the exit event
|
|
119
117
|
childProcess.on('exit', (code, signal) => {
|
|
120
|
-
// Clear the timeouts since the process has exited
|
|
121
118
|
clearTimeout(timeout);
|
|
122
119
|
clearTimeout(errorTimeout);
|
|
123
120
|
console.debug(`Child process exited with code ${code} and signal ${signal}`);
|
|
@@ -125,11 +122,11 @@ function killProcess(childProcess) {
|
|
|
125
122
|
});
|
|
126
123
|
});
|
|
127
124
|
}
|
|
128
|
-
const spawnLocalDynamoDB = async () => {
|
|
129
|
-
if (await (0, tcp_port_used_1.check)(
|
|
130
|
-
console.debug(`Port ${
|
|
125
|
+
const spawnLocalDynamoDB = async (port) => {
|
|
126
|
+
if (await (0, tcp_port_used_1.check)(port)) {
|
|
127
|
+
console.debug(`Port ${port} is already in use. Assuming another instance of DynamoDB is already running.`);
|
|
131
128
|
return {
|
|
132
|
-
port
|
|
129
|
+
port,
|
|
133
130
|
stop: async () => {
|
|
134
131
|
// no op, someone else controls this instance
|
|
135
132
|
},
|
|
@@ -138,17 +135,17 @@ const spawnLocalDynamoDB = async () => {
|
|
|
138
135
|
if ((0, utils_sh_1.commandExists)('java')) {
|
|
139
136
|
console.debug('Starting local DynamoDB with Java');
|
|
140
137
|
const pr = dynamoDBLocal.spawn({
|
|
141
|
-
port
|
|
138
|
+
port,
|
|
142
139
|
path: null,
|
|
143
140
|
detached: false,
|
|
144
141
|
});
|
|
145
142
|
await (0, wait_port_1.default)({
|
|
146
143
|
host: 'localhost',
|
|
147
|
-
port
|
|
144
|
+
port,
|
|
148
145
|
});
|
|
149
146
|
console.debug('Started local DynamoDB with Java');
|
|
150
147
|
return {
|
|
151
|
-
port
|
|
148
|
+
port,
|
|
152
149
|
stop: async () => {
|
|
153
150
|
console.debug('Stopping local Java DynamoDB');
|
|
154
151
|
try {
|
|
@@ -168,7 +165,7 @@ const spawnLocalDynamoDB = async () => {
|
|
|
168
165
|
const hash = new Date().getTime();
|
|
169
166
|
const containerName = 'goldstack-local-dynamodb-' + hash;
|
|
170
167
|
const pr = dynamoDBLocal.spawn({
|
|
171
|
-
port
|
|
168
|
+
port,
|
|
172
169
|
command: 'docker',
|
|
173
170
|
name: containerName,
|
|
174
171
|
path: null,
|
|
@@ -179,14 +176,13 @@ const spawnLocalDynamoDB = async () => {
|
|
|
179
176
|
}
|
|
180
177
|
await (0, wait_port_1.default)({
|
|
181
178
|
host: 'localhost',
|
|
182
|
-
port
|
|
179
|
+
port,
|
|
183
180
|
});
|
|
184
|
-
// giving DynamoDB some extra time to start up
|
|
185
181
|
await new Promise((resolve) => {
|
|
186
182
|
setTimeout(resolve, 5000);
|
|
187
183
|
});
|
|
188
184
|
return {
|
|
189
|
-
port
|
|
185
|
+
port,
|
|
190
186
|
stop: async () => {
|
|
191
187
|
console.debug('Stopping local Docker DynamoDB');
|
|
192
188
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localDynamoDB.js","sourceRoot":"","sources":["../../src/localDynamoDB.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,8DAA0D;AAE1D,+DAAiD;AACjD,kDAA+D;AAC/D,iEAAsD;AAEtD,0DAAiC;AACjC,iDAAsC;AACtC,iDAAoD;AAEpD,
|
|
1
|
+
{"version":3,"file":"localDynamoDB.js","sourceRoot":"","sources":["../../src/localDynamoDB.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { DynamoDBPackage } from './types/DynamoDBPackage';
|
|
|
3
3
|
import { InputMigrations } from 'umzug/lib/types';
|
|
4
4
|
import { DynamoDBContext } from './dynamoDBMigrations';
|
|
5
5
|
export declare const getTableName: (goldstackConfig: DynamoDBPackage | any, packageSchema: any, deploymentName?: string) => Promise<string>;
|
|
6
|
-
export declare const startLocalDynamoDB: (goldstackConfig: DynamoDBPackage | any, packageSchema: any, deploymentName?: string) => Promise<void>;
|
|
6
|
+
export declare const startLocalDynamoDB: (goldstackConfig: DynamoDBPackage | any, packageSchema: any, port: number, deploymentName?: string) => Promise<void>;
|
|
7
7
|
export declare const stopLocalDynamoDB: (goldstackConfig: DynamoDBPackage | any, packageSchema: any, deploymentName?: string) => Promise<void>;
|
|
8
8
|
export declare const connect: ({ goldstackConfig, packageSchema, migrations, deploymentName, }: {
|
|
9
9
|
goldstackConfig: DynamoDBPackage | any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templateDynamoDBTable.d.ts","sourceRoot":"","sources":["../../src/templateDynamoDBTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAY9E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,eAAe,EAGhB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"templateDynamoDBTable.d.ts","sourceRoot":"","sources":["../../src/templateDynamoDBTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAY9E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,eAAe,EAGhB,MAAM,sBAAsB,CAAC;AAkB9B,eAAO,MAAM,YAAY,oBACN,eAAe,GAAG,GAAG,iBACvB,GAAG,mBACD,MAAM,KACtB,QAAQ,MAAM,CAWhB,CAAC;AAEF,eAAO,MAAM,kBAAkB,oBACZ,eAAe,GAAG,GAAG,iBACvB,GAAG,QACZ,MAAM,mBACK,MAAM,KACtB,QAAQ,IAAI,CAgBd,CAAC;AAEF,eAAO,MAAM,iBAAiB,oBACX,eAAe,GAAG,GAAG,iBACvB,GAAG,mBACD,MAAM,KACtB,QAAQ,IAAI,CAmBd,CAAC;AAiCF,eAAO,MAAM,OAAO;qBAMD,eAAe,GAAG,GAAG;mBACvB,GAAG;gBACN,gBAAgB,eAAe,CAAC;;MAE1C,QAAQ,cAAc,CAqBzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW;qBAKL,eAAe,GAAG,GAAG;mBACvB,GAAG;;MAEhB,QAAQ,cAAc,CAczB,CAAC;AAEF,eAAO,MAAM,aAAa;mBAOT,MAAM;qBACJ,eAAe,GAAG,GAAG;mBACvB,GAAG;gBACN,gBAAgB,eAAe,CAAC;;MAE1C,QAAQ,cAAc,CAuBzB,CAAC"}
|
|
@@ -21,16 +21,16 @@ const getTableName = async (goldstackConfig, packageSchema, deploymentName) => {
|
|
|
21
21
|
return (0, dynamoDBPackageUtils_1.getTableName)(packageConfig, deploymentName);
|
|
22
22
|
};
|
|
23
23
|
exports.getTableName = getTableName;
|
|
24
|
-
const startLocalDynamoDB = async (goldstackConfig, packageSchema, deploymentName) => {
|
|
24
|
+
const startLocalDynamoDB = async (goldstackConfig, packageSchema, port, deploymentName) => {
|
|
25
25
|
deploymentName = (0, dynamoDBPackageUtils_1.getDeploymentName)(deploymentName);
|
|
26
26
|
const packageConfig = new utils_package_config_embedded_1.EmbeddedPackageConfig({
|
|
27
27
|
goldstackJson: goldstackConfig,
|
|
28
28
|
packageSchema,
|
|
29
29
|
});
|
|
30
|
-
//
|
|
30
|
+
// Suppress ESLint error for dynamic require
|
|
31
31
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
32
32
|
const lib = require((0, utils_esbuild_1.excludeInBundle)('./localDynamoDB'));
|
|
33
|
-
await lib.startLocalDynamoDB(packageConfig, deploymentName);
|
|
33
|
+
await lib.startLocalDynamoDB(packageConfig, { port }, deploymentName);
|
|
34
34
|
};
|
|
35
35
|
exports.startLocalDynamoDB = startLocalDynamoDB;
|
|
36
36
|
const stopLocalDynamoDB = async (goldstackConfig, packageSchema, deploymentName) => {
|
|
@@ -39,7 +39,7 @@ const stopLocalDynamoDB = async (goldstackConfig, packageSchema, deploymentName)
|
|
|
39
39
|
goldstackJson: goldstackConfig,
|
|
40
40
|
packageSchema,
|
|
41
41
|
});
|
|
42
|
-
//
|
|
42
|
+
// Suppress ESLint error for dynamic require
|
|
43
43
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
44
44
|
const lib = require((0, utils_esbuild_1.excludeInBundle)('./localDynamoDB'));
|
|
45
45
|
await lib.stopLocalDynamoDB(packageConfig, deploymentName);
|
|
@@ -49,9 +49,10 @@ const stopLocalDynamoDB = async (goldstackConfig, packageSchema, deploymentName)
|
|
|
49
49
|
exports.stopLocalDynamoDB = stopLocalDynamoDB;
|
|
50
50
|
const createClient = async (packageConfig, deploymentName) => {
|
|
51
51
|
if (deploymentName === 'local') {
|
|
52
|
+
// Suppress ESLint error for dynamic require
|
|
52
53
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
53
54
|
const lib = require((0, utils_esbuild_1.excludeInBundle)('./localDynamoDB'));
|
|
54
|
-
return lib.localConnect(packageConfig, deploymentName);
|
|
55
|
+
return lib.localConnect(packageConfig, { port: 8000 }, deploymentName);
|
|
55
56
|
}
|
|
56
57
|
const deployment = packageConfig.getDeployment(deploymentName);
|
|
57
58
|
let awsUser;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templateDynamoDBTable.js","sourceRoot":"","sources":["../../src/templateDynamoDBTable.ts"],"names":[],"mappings":";;;AAAA,8DAA0D;AAG1D,iEAGgC;AAEhC,4FAAiF;AACjF,iDAIwB;AAExB,6DAI8B;AAE9B,4DAA2D;AAC3D,wEAAwD;
|
|
1
|
+
{"version":3,"file":"templateDynamoDBTable.js","sourceRoot":"","sources":["../../src/templateDynamoDBTable.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goldstack/template-dynamodb",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.17",
|
|
4
4
|
"description": "Utilities for building modules for DynamoDB access.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"goldstack",
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"@goldstack/infra": "0.4.12",
|
|
47
47
|
"@goldstack/infra-aws": "0.4.21",
|
|
48
48
|
"@goldstack/utils-esbuild": "0.5.9",
|
|
49
|
+
"@goldstack/utils-log": "0.3.11",
|
|
49
50
|
"@goldstack/utils-package": "0.4.12",
|
|
50
51
|
"@goldstack/utils-package-config-embedded": "0.5.13",
|
|
51
52
|
"@goldstack/utils-sh": "0.5.11",
|