@goldstack/template-dynamodb 0.3.35 → 0.3.36
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/local/config.d.ts +27 -0
- package/dist/src/local/config.d.ts.map +1 -0
- package/dist/src/local/config.js +29 -0
- package/dist/src/local/config.js.map +1 -0
- package/dist/src/local/instanceManager.d.ts +61 -0
- package/dist/src/local/instanceManager.d.ts.map +1 -0
- package/dist/src/local/instanceManager.js +212 -0
- package/dist/src/local/instanceManager.js.map +1 -0
- package/dist/src/{localDynamoDB.d.ts → local/localDynamoDB.d.ts} +13 -4
- package/dist/src/local/localDynamoDB.d.ts.map +1 -0
- package/dist/src/local/localDynamoDB.js +101 -0
- package/dist/src/local/localDynamoDB.js.map +1 -0
- package/dist/src/{localInstances.d.ts → local/localInstances.d.ts} +3 -20
- package/dist/src/local/localInstances.d.ts.map +1 -0
- package/dist/src/{localInstances.js → local/localInstances.js} +74 -12
- package/dist/src/local/localInstances.js.map +1 -0
- package/dist/src/local/processManager.d.ts +9 -0
- package/dist/src/local/processManager.d.ts.map +1 -0
- package/dist/src/local/processManager.js +85 -0
- package/dist/src/local/processManager.js.map +1 -0
- package/dist/src/local/spawner.d.ts +15 -0
- package/dist/src/local/spawner.d.ts.map +1 -0
- package/dist/src/local/spawner.js +138 -0
- package/dist/src/local/spawner.js.map +1 -0
- package/dist/src/templateDynamoDBTable.js +4 -4
- package/dist/src/templateDynamoDBTable.js.map +1 -1
- package/package.json +1 -1
- package/dist/src/localDynamoDB.d.ts.map +0 -1
- package/dist/src/localDynamoDB.js +0 -294
- package/dist/src/localDynamoDB.js.map +0 -1
- package/dist/src/localInstances.d.ts.map +0 -1
- package/dist/src/localInstances.js.map +0 -1
|
@@ -1,294 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.stopLocalDynamoDB = exports.stopAllLocalDynamoDB = exports.startLocalDynamoDB = exports.createClient = exports.endpointUrl = exports.localConnect = void 0;
|
|
40
|
-
exports.stopInstance = stopInstance;
|
|
41
|
-
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
|
|
42
|
-
const dynamoDBLocal = __importStar(require("dynamo-db-local"));
|
|
43
|
-
const utils_sh_1 = require("@goldstack/utils-sh");
|
|
44
|
-
const wait_port_1 = __importDefault(require("wait-port"));
|
|
45
|
-
const tcp_port_used_1 = require("tcp-port-used");
|
|
46
|
-
const child_process_1 = require("child_process");
|
|
47
|
-
const utils_log_1 = require("@goldstack/utils-log");
|
|
48
|
-
const localInstances_1 = require("./localInstances");
|
|
49
|
-
async function stopInstance(instance) {
|
|
50
|
-
if (instance.processId) {
|
|
51
|
-
if (process.platform === 'win32') {
|
|
52
|
-
// Try graceful termination first
|
|
53
|
-
const result = (0, child_process_1.spawnSync)('taskkill', [
|
|
54
|
-
'/pid',
|
|
55
|
-
instance.processId.toString(),
|
|
56
|
-
'/t',
|
|
57
|
-
]);
|
|
58
|
-
if (result.status !== 0) {
|
|
59
|
-
(0, utils_log_1.warn)(`Failed to terminate process ${instance.processId} gracefully: ${result.stderr}`);
|
|
60
|
-
}
|
|
61
|
-
// Give it some time before force kill
|
|
62
|
-
await new Promise((resolve) => setTimeout(resolve, 5000));
|
|
63
|
-
// Force kill
|
|
64
|
-
const forceResult = (0, child_process_1.spawnSync)('taskkill', [
|
|
65
|
-
'/pid',
|
|
66
|
-
instance.processId.toString(),
|
|
67
|
-
'/f',
|
|
68
|
-
'/t',
|
|
69
|
-
]);
|
|
70
|
-
if (forceResult.status !== 0) {
|
|
71
|
-
(0, utils_log_1.error)(`Failed to force kill process ${instance.processId}: ${forceResult.stderr}`);
|
|
72
|
-
throw new Error(`Failed to terminate process ${instance.processId}`);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
try {
|
|
77
|
-
// Try graceful termination first
|
|
78
|
-
process.kill(instance.processId, 'SIGTERM');
|
|
79
|
-
// Give it some time before force kill
|
|
80
|
-
await new Promise((resolve) => setTimeout(resolve, 5000));
|
|
81
|
-
// Check if process still exists
|
|
82
|
-
try {
|
|
83
|
-
process.kill(instance.processId, 0); // Signal 0 is used to check existence
|
|
84
|
-
// Process still exists, try force kill
|
|
85
|
-
process.kill(instance.processId, 'SIGKILL');
|
|
86
|
-
// Wait a moment and verify process is gone
|
|
87
|
-
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
88
|
-
try {
|
|
89
|
-
process.kill(instance.processId, 0);
|
|
90
|
-
// If we get here, process still exists
|
|
91
|
-
(0, utils_log_1.error)(`Failed to terminate process ${instance.processId} after SIGKILL`);
|
|
92
|
-
throw new Error(`Process ${instance.processId} could not be terminated`);
|
|
93
|
-
}
|
|
94
|
-
catch (e) {
|
|
95
|
-
if (e.code === 'ESRCH') {
|
|
96
|
-
// Process successfully terminated
|
|
97
|
-
(0, utils_log_1.debug)(`Process ${instance.processId} successfully terminated`);
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
throw e;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
catch (e) {
|
|
105
|
-
if (e.code === 'ESRCH') {
|
|
106
|
-
// Process already terminated after SIGTERM
|
|
107
|
-
(0, utils_log_1.debug)(`Process ${instance.processId} terminated gracefully`);
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
throw e;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
catch (e) {
|
|
115
|
-
(0, utils_log_1.error)(`Failed to terminate process ${instance.processId}: ${e}`);
|
|
116
|
-
throw e;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
else if (instance.dockerContainerId) {
|
|
121
|
-
await (0, utils_sh_1.execAsync)(`docker stop ${instance.dockerContainerId}`);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
function areWeTestingWithJest() {
|
|
125
|
-
return process.env.JEST_WORKER_ID !== undefined;
|
|
126
|
-
}
|
|
127
|
-
const localConnect = async (packageConfig, deploymentName) => {
|
|
128
|
-
const existingInstance = localInstances_1.localInstancesManager.getFirstRunningInstance();
|
|
129
|
-
if (existingInstance) {
|
|
130
|
-
return (0, exports.createClient)(existingInstance);
|
|
131
|
-
}
|
|
132
|
-
if (areWeTestingWithJest()) {
|
|
133
|
-
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.');
|
|
134
|
-
}
|
|
135
|
-
const portToUse = (process.env.DYNAMODB_LOCAL_PORT &&
|
|
136
|
-
parseInt(process.env.DYNAMODB_LOCAL_PORT)) ||
|
|
137
|
-
8000;
|
|
138
|
-
(0, utils_log_1.debug)(`Starting new local DynamoDB instance on port ${portToUse}.`);
|
|
139
|
-
// No running instance found, start a new one
|
|
140
|
-
const newInstance = await (0, exports.startLocalDynamoDB)(packageConfig, { port: portToUse }, deploymentName);
|
|
141
|
-
return (0, exports.createClient)(newInstance);
|
|
142
|
-
};
|
|
143
|
-
exports.localConnect = localConnect;
|
|
144
|
-
const endpointUrl = (startedContainer) => {
|
|
145
|
-
const result = `http://127.0.0.1:${startedContainer.port}`;
|
|
146
|
-
return result;
|
|
147
|
-
};
|
|
148
|
-
exports.endpointUrl = endpointUrl;
|
|
149
|
-
const createClient = (startedContainer) => {
|
|
150
|
-
const endpoint = (0, exports.endpointUrl)(startedContainer);
|
|
151
|
-
(0, utils_log_1.debug)(`Connecting to local DynamoDB instance on endpoint: ${endpoint}`);
|
|
152
|
-
return new client_dynamodb_1.DynamoDBClient({
|
|
153
|
-
endpoint,
|
|
154
|
-
region: 'eu-central-1',
|
|
155
|
-
credentials: {
|
|
156
|
-
accessKeyId: 'dummy',
|
|
157
|
-
secretAccessKey: 'dummy',
|
|
158
|
-
},
|
|
159
|
-
});
|
|
160
|
-
};
|
|
161
|
-
exports.createClient = createClient;
|
|
162
|
-
const startLocalDynamoDB = async (packageConfig, { port }, deploymentName) => {
|
|
163
|
-
// Check if instance already exists on requested port
|
|
164
|
-
const existingInstance = localInstances_1.localInstancesManager.getInstance(port);
|
|
165
|
-
if (existingInstance && existingInstance !== 'stopped') {
|
|
166
|
-
(0, utils_log_1.debug)(`Starting DynamoDB local not required since instance already running on port ${port}`);
|
|
167
|
-
localInstances_1.localInstancesManager.incrementUsageCounter(port);
|
|
168
|
-
return existingInstance;
|
|
169
|
-
}
|
|
170
|
-
// Check if any instance is already running on a different port
|
|
171
|
-
const allInstances = localInstances_1.localInstancesManager.getAllInstances();
|
|
172
|
-
for (const [existingPort, instance] of allInstances.entries()) {
|
|
173
|
-
if (instance !== 'stopped') {
|
|
174
|
-
(0, utils_log_1.warn)(`You are starting a new DynamoDB instance on port ${port}. But a local DynamoDB instance is already running on port ${existingPort}.
|
|
175
|
-
It is recommended to have only one instance of local DynamoDB running at a time (since one instance can support multiple tables).`);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
(0, utils_log_1.debug)(`Starting new DynamoDB local instance on port ${port}`);
|
|
179
|
-
// No running instance found, start a new one
|
|
180
|
-
const newInstance = await spawnLocalDynamoDB(port);
|
|
181
|
-
localInstances_1.localInstancesManager.setInstance(port, newInstance);
|
|
182
|
-
localInstances_1.localInstancesManager.incrementUsageCounter(port);
|
|
183
|
-
return newInstance;
|
|
184
|
-
};
|
|
185
|
-
exports.startLocalDynamoDB = startLocalDynamoDB;
|
|
186
|
-
const spawnLocalDynamoDB = async (port) => {
|
|
187
|
-
if (await (0, tcp_port_used_1.check)(port)) {
|
|
188
|
-
(0, utils_log_1.warn)(`Port ${port} is already in use. Assuming another instance of DynamoDB is already running.`);
|
|
189
|
-
return {
|
|
190
|
-
port,
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
let javaViable = (0, utils_sh_1.commandExists)('java');
|
|
194
|
-
if (javaViable) {
|
|
195
|
-
try {
|
|
196
|
-
await (0, utils_sh_1.execAsync)('java -version');
|
|
197
|
-
}
|
|
198
|
-
catch (e) {
|
|
199
|
-
(0, utils_log_1.warn)("'java' command is available but it does not work. This is common on never versions of Mac OS X without Java installed.\n" +
|
|
200
|
-
'To use Java, please install it.');
|
|
201
|
-
javaViable = false;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
if (javaViable) {
|
|
205
|
-
(0, utils_log_1.info)(`Starting local DynamoDB with Java on port ${port}`);
|
|
206
|
-
const pr = dynamoDBLocal.spawn({
|
|
207
|
-
port,
|
|
208
|
-
path: null,
|
|
209
|
-
detached: false,
|
|
210
|
-
});
|
|
211
|
-
if (!pr.pid) {
|
|
212
|
-
throw new Error('Process id cannot be identified.');
|
|
213
|
-
}
|
|
214
|
-
await Promise.all([
|
|
215
|
-
await (0, wait_port_1.default)({
|
|
216
|
-
host: 'localhost',
|
|
217
|
-
port,
|
|
218
|
-
output: 'silent',
|
|
219
|
-
}),
|
|
220
|
-
await new Promise((resolve) => {
|
|
221
|
-
pr.stdout.once('data', () => resolve());
|
|
222
|
-
}),
|
|
223
|
-
]);
|
|
224
|
-
(0, utils_log_1.info)(`Started local DynamoDB with Java on port ${port}`);
|
|
225
|
-
return {
|
|
226
|
-
port,
|
|
227
|
-
processId: pr.pid,
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
|
-
if ((0, utils_sh_1.commandExists)('docker')) {
|
|
231
|
-
(0, utils_log_1.info)('Starting local DynamoDB with Docker');
|
|
232
|
-
const detached = global['CI'] ? true : false;
|
|
233
|
-
const hash = new Date().getTime();
|
|
234
|
-
const containerName = 'goldstack-local-dynamodb-' + hash;
|
|
235
|
-
const pr = dynamoDBLocal.spawn({
|
|
236
|
-
port,
|
|
237
|
-
command: 'docker',
|
|
238
|
-
name: containerName,
|
|
239
|
-
path: null,
|
|
240
|
-
detached,
|
|
241
|
-
});
|
|
242
|
-
if (detached) {
|
|
243
|
-
pr.unref();
|
|
244
|
-
}
|
|
245
|
-
await (0, wait_port_1.default)({
|
|
246
|
-
host: 'localhost',
|
|
247
|
-
port,
|
|
248
|
-
output: 'silent',
|
|
249
|
-
});
|
|
250
|
-
await new Promise((resolve) => {
|
|
251
|
-
setTimeout(resolve, 5000);
|
|
252
|
-
});
|
|
253
|
-
return {
|
|
254
|
-
port,
|
|
255
|
-
dockerContainerId: containerName,
|
|
256
|
-
};
|
|
257
|
-
}
|
|
258
|
-
throw new Error('Either Docker or Java needs to be installed to run local DynamoDB');
|
|
259
|
-
};
|
|
260
|
-
const stopAllLocalDynamoDB = async (packageConfig, deploymentName) => {
|
|
261
|
-
(0, utils_log_1.debug)('Stopping all local DynamoDB instances. Currently defined: ' +
|
|
262
|
-
localInstances_1.localInstancesManager.getInstanceCount());
|
|
263
|
-
// Stop all running instances regardless of reference count
|
|
264
|
-
const allInstances = localInstances_1.localInstancesManager.getAllInstances();
|
|
265
|
-
for (const [port, instance] of allInstances.entries()) {
|
|
266
|
-
if (instance && instance !== 'stopped') {
|
|
267
|
-
(0, utils_log_1.debug)(`Stopping instance on port ${port}`);
|
|
268
|
-
localInstances_1.localInstancesManager.setInstance(port, 'stopped');
|
|
269
|
-
localInstances_1.localInstancesManager.removeUsageCounter(port);
|
|
270
|
-
await stopInstance(instance);
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
};
|
|
274
|
-
exports.stopAllLocalDynamoDB = stopAllLocalDynamoDB;
|
|
275
|
-
const stopLocalDynamoDB = async (packageConfig, options, deploymentName) => {
|
|
276
|
-
var _a;
|
|
277
|
-
// If no port specified, use default port
|
|
278
|
-
const defaultPort = (process.env.DYNAMODB_LOCAL_PORT &&
|
|
279
|
-
parseInt(process.env.DYNAMODB_LOCAL_PORT)) ||
|
|
280
|
-
8000;
|
|
281
|
-
const portToStop = (_a = options === null || options === void 0 ? void 0 : options.port) !== null && _a !== void 0 ? _a : defaultPort;
|
|
282
|
-
// Stop specific instance
|
|
283
|
-
const instance = localInstances_1.localInstancesManager.getInstance(portToStop);
|
|
284
|
-
if (instance && instance !== 'stopped') {
|
|
285
|
-
const remainingUsers = localInstances_1.localInstancesManager.decrementUsageCounter(portToStop);
|
|
286
|
-
if (remainingUsers === 0) {
|
|
287
|
-
// Last user, stop the instance
|
|
288
|
-
localInstances_1.localInstancesManager.setInstance(portToStop, 'stopped');
|
|
289
|
-
await stopInstance(instance);
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
};
|
|
293
|
-
exports.stopLocalDynamoDB = stopLocalDynamoDB;
|
|
294
|
-
//# sourceMappingURL=localDynamoDB.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"localDynamoDB.js","sourceRoot":"","sources":["../../src/localDynamoDB.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"localInstances.d.ts","sourceRoot":"","sources":["../../src/localInstances.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAmBnD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,sEAAsE;IACtE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,GAAG,SAAS,CAAC;IACpE,mDAAmD;IACnD,uBAAuB,IAAI,gBAAgB,GAAG,SAAS,CAAC;IACxD,0CAA0C;IAC1C,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAAC;IACxE,gCAAgC;IAChC,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAC7D,sCAAsC;IACtC,gBAAgB,IAAI,MAAM,CAAC;IAC3B,yCAAyC;IACzC,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,yCAAyC;IACzC,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5C,yCAAyC;IACzC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,sCAAsC;IACtC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAED;;GAEG;AACH,cAAM,yBAA0B,YAAW,qBAAqB;IAC9D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IAEpD,OAAO,CAAC,gBAAgB,CACZ;IAEZ,OAAO,CAAC,gBAAgB,CAAkC;;IAM1D,OAAO,CAAC,SAAS;IAoCjB,OAAO,CAAC,SAAS;IA8BjB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,GAAG,SAAS;IAInE,uBAAuB,IAAI,gBAAgB,GAAG,SAAS;IAUvD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI;IAmBvE,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAI5D,gBAAgB,IAAI,MAAM;IAI1B,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKzC,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAY3C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAInC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAIvC;AAGD,eAAO,MAAM,qBAAqB,2BAAkC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"localInstances.js","sourceRoot":"","sources":["../../src/localInstances.ts"],"names":[],"mappings":"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"}
|