@goldstack/template-dynamodb 0.3.29 → 0.3.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.
@@ -3,16 +3,23 @@ import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
3
3
  import { DynamoDBDeployment, DynamoDBPackage } from './templateDynamoDB';
4
4
  export interface DynamoDBInstance {
5
5
  port: number;
6
- stop: () => Promise<void>;
6
+ processId?: number;
7
+ dockerContainerId?: string;
7
8
  }
9
+ export declare function stopInstance(instance: DynamoDBInstance): Promise<void>;
8
10
  export type LocalConnectType = (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName?: string) => Promise<DynamoDBClient>;
9
11
  export type StartLocalDynamoDBType = (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, options: {
10
12
  port: number;
11
13
  }, deploymentName?: string) => Promise<DynamoDBInstance>;
12
- export type StopLocalDynamoDBType = (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName?: string) => Promise<void>;
14
+ export interface StopLocalDynamoDBOptions {
15
+ port?: number;
16
+ }
17
+ export type StopLocalDynamoDBType = (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, options?: StopLocalDynamoDBOptions, deploymentName?: string) => Promise<void>;
18
+ export type StopAllLocalDynamoDBType = (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName?: string) => Promise<void>;
13
19
  export declare const localConnect: LocalConnectType;
14
20
  export declare const endpointUrl: (startedContainer: DynamoDBInstance) => string;
15
21
  export declare const createClient: (startedContainer: DynamoDBInstance) => DynamoDBClient;
16
22
  export declare const startLocalDynamoDB: StartLocalDynamoDBType;
23
+ export declare const stopAllLocalDynamoDB: StopAllLocalDynamoDBType;
17
24
  export declare const stopLocalDynamoDB: StopLocalDynamoDBType;
18
25
  //# 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;AAGD,MAAM,MAAM,gBAAgB,GAAG,CAC7B,aAAa,EAAE,qBAAqB,CAAC,eAAe,EAAE,kBAAkB,CAAC,EACzE,cAAc,CAAC,EAAE,MAAM,KACpB,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B,MAAM,MAAM,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,MAAM,MAAM,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,gBA0B1B,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;AAqJF,eAAO,MAAM,iBAAiB,EAAE,qBAgB/B,CAAC"}
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;AAQzE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6E5E;AAGD,MAAM,MAAM,gBAAgB,GAAG,CAC7B,aAAa,EAAE,qBAAqB,CAAC,eAAe,EAAE,kBAAkB,CAAC,EACzE,cAAc,CAAC,EAAE,MAAM,KACpB,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B,MAAM,MAAM,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,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,qBAAqB,GAAG,CAClC,aAAa,EAAE,qBAAqB,CAAC,eAAe,EAAE,kBAAkB,CAAC,EACzE,OAAO,CAAC,EAAE,wBAAwB,EAClC,cAAc,CAAC,EAAE,MAAM,KACpB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,wBAAwB,GAAG,CACrC,aAAa,EAAE,qBAAqB,CAAC,eAAe,EAAE,kBAAkB,CAAC,EACzE,cAAc,CAAC,EAAE,MAAM,KACpB,OAAO,CAAC,IAAI,CAAC,CAAC;AAMnB,eAAO,MAAM,YAAY,EAAE,gBA2B1B,CAAC;AAEF,eAAO,MAAM,WAAW,qBAAsB,gBAAgB,KAAG,MAIhE,CAAC;AAEF,eAAO,MAAM,YAAY,qBACL,gBAAgB,KACjC,cAWF,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,sBA8BhC,CAAC;AAyFF,eAAO,MAAM,oBAAoB,EAAE,wBAkBlC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,qBAuB/B,CAAC"}
@@ -36,31 +36,109 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.stopLocalDynamoDB = exports.startLocalDynamoDB = exports.createClient = exports.endpointUrl = exports.localConnect = void 0;
39
+ exports.stopLocalDynamoDB = exports.stopAllLocalDynamoDB = exports.startLocalDynamoDB = exports.createClient = exports.endpointUrl = exports.localConnect = void 0;
40
+ exports.stopInstance = stopInstance;
40
41
  const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
41
42
  const dynamoDBLocal = __importStar(require("dynamo-db-local"));
42
43
  const utils_sh_1 = require("@goldstack/utils-sh");
43
- const dynamoDBPackageUtils_1 = require("./dynamoDBPackageUtils");
44
44
  const wait_port_1 = __importDefault(require("wait-port"));
45
45
  const tcp_port_used_1 = require("tcp-port-used");
46
46
  const child_process_1 = require("child_process");
47
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
+ }
48
124
  function areWeTestingWithJest() {
49
125
  return process.env.JEST_WORKER_ID !== undefined;
50
126
  }
51
- const startedContainers = new Map();
52
127
  const localConnect = async (packageConfig, deploymentName) => {
53
- const tableName = await (0, dynamoDBPackageUtils_1.getTableName)(packageConfig, deploymentName);
54
- const startedContainer = startedContainers.get(tableName);
55
- if (areWeTestingWithJest() && !startedContainer) {
56
- 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.');
128
+ const existingInstance = localInstances_1.localInstancesManager.getFirstRunningInstance();
129
+ if (existingInstance) {
130
+ return (0, exports.createClient)(existingInstance);
57
131
  }
58
- if (startedContainer && startedContainer !== 'stopped') {
59
- (0, utils_log_1.debug)(`Connecting to local DynamoDB instance on port ${startedContainer.port}`);
60
- return (0, exports.createClient)(startedContainer);
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.');
61
134
  }
62
- const newContainer = await (0, exports.startLocalDynamoDB)(packageConfig, { port: 8000 }, deploymentName);
63
- return (0, exports.createClient)(newContainer);
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);
64
142
  };
65
143
  exports.localConnect = localConnect;
66
144
  const endpointUrl = (startedContainer) => {
@@ -82,65 +160,34 @@ const createClient = (startedContainer) => {
82
160
  };
83
161
  exports.createClient = createClient;
84
162
  const startLocalDynamoDB = async (packageConfig, { port }, deploymentName) => {
85
- const tableName = await (0, dynamoDBPackageUtils_1.getTableName)(packageConfig, deploymentName);
86
- let startedContainer = startedContainers.get(tableName);
87
- if (startedContainer && startedContainer !== 'stopped') {
88
- return startedContainer;
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;
89
169
  }
90
- startedContainer = await spawnLocalDynamoDB(port);
91
- const startedContainerTest = startedContainers.get(tableName);
92
- if (startedContainerTest && startedContainerTest !== 'stopped') {
93
- await startedContainer.stop();
94
- return startedContainerTest;
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
+ }
95
177
  }
96
- startedContainers.set(tableName, startedContainer);
97
- return startedContainer;
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;
98
184
  };
99
185
  exports.startLocalDynamoDB = startLocalDynamoDB;
100
- function killProcess(childProcess) {
101
- return new Promise((resolve, reject) => {
102
- var _a;
103
- if (process.platform === 'win32') {
104
- if (!childProcess.pid) {
105
- throw new Error('Process id cannot be identified.');
106
- }
107
- (0, child_process_1.spawn)('taskkill', ['/pid', (_a = childProcess.pid) === null || _a === void 0 ? void 0 : _a.toString(), '/t']);
108
- }
109
- else {
110
- childProcess.kill('SIGTERM');
111
- }
112
- const timeout = setTimeout(() => {
113
- var _a;
114
- if (process.platform === 'win32') {
115
- if (!childProcess.pid) {
116
- throw new Error('Process id cannot be identified.');
117
- }
118
- (0, child_process_1.spawn)('taskkill', ['/pid', (_a = childProcess.pid) === null || _a === void 0 ? void 0 : _a.toString(), '/f', '/t']);
119
- }
120
- else {
121
- childProcess.kill('SIGKILL');
122
- }
123
- }, 5000);
124
- const errorTimeout = setTimeout(() => {
125
- clearTimeout(timeout);
126
- reject(new Error('Process could not be terminated after 30 s'));
127
- }, 30000);
128
- childProcess.on('exit', (code, signal) => {
129
- clearTimeout(timeout);
130
- clearTimeout(errorTimeout);
131
- (0, utils_log_1.debug)(`DynamoDB child process exited with code ${code} and signal ${signal}`);
132
- resolve();
133
- });
134
- });
135
- }
136
186
  const spawnLocalDynamoDB = async (port) => {
137
187
  if (await (0, tcp_port_used_1.check)(port)) {
138
188
  (0, utils_log_1.warn)(`Port ${port} is already in use. Assuming another instance of DynamoDB is already running.`);
139
189
  return {
140
190
  port,
141
- stop: async () => {
142
- // no op, someone else controls this instance
143
- },
144
191
  };
145
192
  }
146
193
  let javaViable = (0, utils_sh_1.commandExists)('java');
@@ -155,39 +202,33 @@ const spawnLocalDynamoDB = async (port) => {
155
202
  }
156
203
  }
157
204
  if (javaViable) {
158
- (0, utils_log_1.info)('Starting local DynamoDB with Java');
205
+ (0, utils_log_1.info)(`Starting local DynamoDB with Java on port ${port}`);
159
206
  const pr = dynamoDBLocal.spawn({
160
207
  port,
161
208
  path: null,
162
209
  detached: false,
163
210
  });
211
+ if (!pr.pid) {
212
+ throw new Error('Process id cannot be identified.');
213
+ }
164
214
  await Promise.all([
165
215
  await (0, wait_port_1.default)({
166
216
  host: 'localhost',
167
217
  port,
218
+ output: 'silent',
168
219
  }),
169
220
  await new Promise((resolve) => {
170
221
  pr.stdout.once('data', () => resolve());
171
222
  }),
172
223
  ]);
173
- (0, utils_log_1.info)('Started local DynamoDB with Java');
224
+ (0, utils_log_1.info)(`Started local DynamoDB with Java on port ${port}`);
174
225
  return {
175
226
  port,
176
- stop: async () => {
177
- (0, utils_log_1.info)('Stopping local Java DynamoDB');
178
- try {
179
- await killProcess(pr);
180
- }
181
- catch (e) {
182
- (0, utils_log_1.error)('Stopping local Java DynamoDB process not successful');
183
- throw e;
184
- }
185
- (0, utils_log_1.info)('Local Java DynamoDB stopped');
186
- },
227
+ processId: pr.pid,
187
228
  };
188
229
  }
189
230
  if ((0, utils_sh_1.commandExists)('docker')) {
190
- console.debug('Starting local DynamoDB with Docker');
231
+ (0, utils_log_1.info)('Starting local DynamoDB with Docker');
191
232
  const detached = global['CI'] ? true : false;
192
233
  const hash = new Date().getTime();
193
234
  const containerName = 'goldstack-local-dynamodb-' + hash;
@@ -204,44 +245,50 @@ const spawnLocalDynamoDB = async (port) => {
204
245
  await (0, wait_port_1.default)({
205
246
  host: 'localhost',
206
247
  port,
248
+ output: 'silent',
207
249
  });
208
250
  await new Promise((resolve) => {
209
251
  setTimeout(resolve, 5000);
210
252
  });
211
253
  return {
212
254
  port,
213
- stop: async () => {
214
- console.debug('Stopping local Docker DynamoDB');
215
- try {
216
- await killProcess(pr);
217
- const containersAfterKillProcess = await (0, utils_sh_1.execAsync)('docker container ls', {
218
- silent: true,
219
- });
220
- if (containersAfterKillProcess.indexOf(containerName) !== -1) {
221
- await (0, utils_sh_1.execAsync)(`docker stop ${containerName}`);
222
- }
223
- }
224
- catch (e) {
225
- (0, utils_log_1.error)('Stopping local Docker DynamoDB process not successful');
226
- throw e;
227
- }
228
- (0, utils_log_1.info)('Local Docker DynamoDB stopped');
229
- },
255
+ dockerContainerId: containerName,
230
256
  };
231
257
  }
232
258
  throw new Error('Either Docker or Java needs to be installed to run local DynamoDB');
233
259
  };
234
- const stopLocalDynamoDB = async (packageConfig, deploymentName) => {
235
- const tableName = await (0, dynamoDBPackageUtils_1.getTableName)(packageConfig, deploymentName);
236
- const startedContainer = startedContainers.get(tableName);
237
- if (!startedContainer) {
238
- throw new Error(`Attempting to stop container that has not been started for DynamoDB table ${tableName}`);
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
+ }
239
272
  }
240
- if (startedContainer === 'stopped') {
241
- return;
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
+ }
242
291
  }
243
- startedContainers.set(tableName, 'stopped');
244
- await startedContainer.stop();
245
292
  };
246
293
  exports.stopLocalDynamoDB = stopLocalDynamoDB;
247
294
  //# sourceMappingURL=localDynamoDB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"localDynamoDB.js","sourceRoot":"","sources":["../../src/localDynamoDB.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localDynamoDB.js","sourceRoot":"","sources":["../../src/localDynamoDB.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { DynamoDBInstance } from './localDynamoDB';
2
+ /**
3
+ * Interface for managing local DynamoDB instances and their usage
4
+ */
5
+ export interface LocalInstancesManager {
6
+ /** Get an instance for a specific port if it exists and is running */
7
+ getInstance(port: number): DynamoDBInstance | 'stopped' | undefined;
8
+ /** Get the first running instance if any exists */
9
+ getFirstRunningInstance(): DynamoDBInstance | undefined;
10
+ /** Set an instance for a specific port */
11
+ setInstance(port: number, instance: DynamoDBInstance | 'stopped'): void;
12
+ /** Get all running instances */
13
+ getAllInstances(): Map<number, DynamoDBInstance | 'stopped'>;
14
+ /** Get number of defined instances */
15
+ getInstanceCount(): number;
16
+ /** Increment usage counter for a port */
17
+ incrementUsageCounter(port: number): void;
18
+ /** Decrement usage counter for a port */
19
+ decrementUsageCounter(port: number): number;
20
+ /** Get current usage count for a port */
21
+ getUsageCount(port: number): number;
22
+ /** Remove usage counter for a port */
23
+ removeUsageCounter(port: number): void;
24
+ }
25
+ /**
26
+ * Implementation of LocalInstancesManager for managing DynamoDB local instances
27
+ */
28
+ declare class LocalInstancesManagerImpl implements LocalInstancesManager {
29
+ private readonly stateFile;
30
+ private startedInstances;
31
+ private portUsageCounter;
32
+ constructor();
33
+ private loadState;
34
+ private saveState;
35
+ getInstance(port: number): DynamoDBInstance | 'stopped' | undefined;
36
+ getFirstRunningInstance(): DynamoDBInstance | undefined;
37
+ setInstance(port: number, instance: DynamoDBInstance | 'stopped'): void;
38
+ getAllInstances(): Map<number, DynamoDBInstance | 'stopped'>;
39
+ getInstanceCount(): number;
40
+ incrementUsageCounter(port: number): void;
41
+ decrementUsageCounter(port: number): number;
42
+ getUsageCount(port: number): number;
43
+ removeUsageCounter(port: number): void;
44
+ }
45
+ export declare const localInstancesManager: LocalInstancesManagerImpl;
46
+ export {};
47
+ //# sourceMappingURL=localInstances.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.localInstancesManager = void 0;
7
+ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
8
+ const utils_log_1 = require("@goldstack/utils-log");
9
+ const fs_1 = __importDefault(require("fs"));
10
+ /**
11
+ * Implementation of LocalInstancesManager for managing DynamoDB local instances
12
+ */
13
+ class LocalInstancesManagerImpl {
14
+ constructor() {
15
+ this.stateFile = '.localInstances.json';
16
+ // Track instances by port instead of table name
17
+ this.startedInstances = new Map();
18
+ // Track number of active users per port
19
+ this.portUsageCounter = new Map();
20
+ this.loadState();
21
+ }
22
+ loadState() {
23
+ try {
24
+ const data = fs_1.default.readFileSync(this.stateFile, 'utf8');
25
+ const state = JSON.parse(data);
26
+ // Clear existing maps
27
+ this.startedInstances.clear();
28
+ this.portUsageCounter.clear();
29
+ // Restore instances
30
+ Object.entries(state.instances).forEach(([port, instance]) => {
31
+ const portNum = parseInt(port);
32
+ if (instance === 'stopped') {
33
+ this.startedInstances.set(portNum, 'stopped');
34
+ }
35
+ else {
36
+ // Restore instance with its process/container info
37
+ this.startedInstances.set(portNum, {
38
+ port: portNum,
39
+ processId: instance.processId,
40
+ dockerContainerId: instance.dockerContainerId,
41
+ });
42
+ }
43
+ });
44
+ // Restore usage counts
45
+ Object.entries(state.usageCounts).forEach(([port, count]) => {
46
+ this.portUsageCounter.set(parseInt(port), count);
47
+ });
48
+ }
49
+ catch (err) {
50
+ if (err.code !== 'ENOENT') {
51
+ (0, utils_log_1.error)('Failed to load local instances state:', err);
52
+ }
53
+ // File doesn't exist yet, that's fine
54
+ }
55
+ }
56
+ saveState() {
57
+ try {
58
+ const state = {
59
+ instances: {},
60
+ usageCounts: {},
61
+ };
62
+ // Save instances
63
+ this.startedInstances.forEach((instance, port) => {
64
+ state.instances[port] =
65
+ instance === 'stopped'
66
+ ? 'stopped'
67
+ : {
68
+ port: instance.port,
69
+ processId: instance.processId,
70
+ dockerContainerId: instance.dockerContainerId,
71
+ };
72
+ });
73
+ // Save usage counts
74
+ this.portUsageCounter.forEach((count, port) => {
75
+ state.usageCounts[port] = count;
76
+ });
77
+ fs_1.default.writeFileSync(this.stateFile, JSON.stringify(state, null, 2));
78
+ }
79
+ catch (err) {
80
+ (0, utils_log_1.error)('Failed to save local instances state:', err);
81
+ }
82
+ }
83
+ getInstance(port) {
84
+ return this.startedInstances.get(port);
85
+ }
86
+ getFirstRunningInstance() {
87
+ for (const [port, instance] of this.startedInstances.entries()) {
88
+ if (instance !== 'stopped') {
89
+ (0, utils_log_1.debug)(`Found existing local DynamoDB instance on port ${port}`);
90
+ return instance;
91
+ }
92
+ }
93
+ return undefined;
94
+ }
95
+ setInstance(port, instance) {
96
+ this.startedInstances.set(port, instance);
97
+ (0, utils_log_1.debug)(`DynamoDB local instance ${instance === 'stopped' ? 'stopped' : 'started'} on port ${port}. Currently defined instances: ${this.startedInstances.size}`, {
98
+ definedInstances: this.startedInstances.size,
99
+ stoppedInstances: [...this.startedInstances.entries()].filter((e) => e[1] === 'stopped').length,
100
+ allInstances: [...this.startedInstances.entries()],
101
+ });
102
+ this.saveState();
103
+ }
104
+ getAllInstances() {
105
+ return this.startedInstances;
106
+ }
107
+ getInstanceCount() {
108
+ return this.startedInstances.size;
109
+ }
110
+ incrementUsageCounter(port) {
111
+ this.portUsageCounter.set(port, (this.portUsageCounter.get(port) || 0) + 1);
112
+ this.saveState();
113
+ }
114
+ decrementUsageCounter(port) {
115
+ const currentCount = this.portUsageCounter.get(port) || 0;
116
+ if (currentCount <= 1) {
117
+ this.portUsageCounter.delete(port);
118
+ this.saveState();
119
+ return 0;
120
+ }
121
+ this.portUsageCounter.set(port, currentCount - 1);
122
+ this.saveState();
123
+ return currentCount - 1;
124
+ }
125
+ getUsageCount(port) {
126
+ return this.portUsageCounter.get(port) || 0;
127
+ }
128
+ removeUsageCounter(port) {
129
+ this.portUsageCounter.delete(port);
130
+ this.saveState();
131
+ }
132
+ }
133
+ // Export singleton instance
134
+ exports.localInstancesManager = new LocalInstancesManagerImpl();
135
+ //# sourceMappingURL=localInstances.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localInstances.js","sourceRoot":"","sources":["../../src/localInstances.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,9 @@ 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, port: number, deploymentName?: string) => Promise<void>;
7
- export declare const stopLocalDynamoDB: (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
+ export declare const stopAllLocalDynamoDB: (goldstackConfig: DynamoDBPackage | any, packageSchema: any, deploymentName?: string) => Promise<void>;
8
+ export declare const stopLocalDynamoDB: (goldstackConfig: DynamoDBPackage | any, packageSchema: any, portOrDeploymentName?: number | string, deploymentName?: string) => Promise<void>;
8
9
  export declare const connect: ({ goldstackConfig, packageSchema, migrations, deploymentName, }: {
9
10
  goldstackConfig: DynamoDBPackage | any;
10
11
  packageSchema: 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;AAmB9B,eAAO,MAAM,YAAY,oBACN,eAAe,GAAG,GAAG,iBACvB,GAAG,mBACD,MAAM,KACtB,OAAO,CAAC,MAAM,CAWhB,CAAC;AAEF,eAAO,MAAM,kBAAkB,oBACZ,eAAe,GAAG,GAAG,iBACvB,GAAG,QACZ,MAAM,mBACK,MAAM,KACtB,OAAO,CAAC,IAAI,CAgBd,CAAC;AAEF,eAAO,MAAM,iBAAiB,oBACX,eAAe,GAAG,GAAG,iBACvB,GAAG,mBACD,MAAM,KACtB,OAAO,CAAC,IAAI,CAmBd,CAAC;AAkCF,eAAO,MAAM,OAAO,oEAKjB;IACD,eAAe,EAAE,eAAe,GAAG,GAAG,CAAC;IACvC,aAAa,EAAE,GAAG,CAAC;IACnB,UAAU,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,KAAG,OAAO,CAAC,cAAc,CAsBzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,wDAIrB;IACD,eAAe,EAAE,eAAe,GAAG,GAAG,CAAC;IACvC,aAAa,EAAE,GAAG,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,KAAG,OAAO,CAAC,cAAc,CAczB,CAAC;AAEF,eAAO,MAAM,aAAa,mFAMvB;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,eAAe,GAAG,GAAG,CAAC;IACvC,aAAa,EAAE,GAAG,CAAC;IACnB,UAAU,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,KAAG,OAAO,CAAC,cAAc,CAuBzB,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;AAoB9B,eAAO,MAAM,YAAY,oBACN,eAAe,GAAG,GAAG,iBACvB,GAAG,mBACD,MAAM,KACtB,OAAO,CAAC,MAAM,CAWhB,CAAC;AAEF,eAAO,MAAM,kBAAkB,oBACZ,eAAe,GAAG,GAAG,iBACvB,GAAG,SACX,MAAM,mBACI,MAAM,KACtB,OAAO,CAAC,IAAI,CAyBd,CAAC;AAEF,eAAO,MAAM,oBAAoB,oBACd,eAAe,GAAG,GAAG,iBACvB,GAAG,mBACD,MAAM,KACtB,OAAO,CAAC,IAAI,CAmBd,CAAC;AAEF,eAAO,MAAM,iBAAiB,oBACX,eAAe,GAAG,GAAG,iBACvB,GAAG,yBACK,MAAM,GAAG,MAAM,mBACrB,MAAM,KACtB,OAAO,CAAC,IAAI,CAqCd,CAAC;AAkCF,eAAO,MAAM,OAAO,oEAKjB;IACD,eAAe,EAAE,eAAe,GAAG,GAAG,CAAC;IACvC,aAAa,EAAE,GAAG,CAAC;IACnB,UAAU,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,KAAG,OAAO,CAAC,cAAc,CAsBzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,wDAIrB;IACD,eAAe,EAAE,eAAe,GAAG,GAAG,CAAC;IACvC,aAAa,EAAE,GAAG,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,KAAG,OAAO,CAAC,cAAc,CAczB,CAAC;AAEF,eAAO,MAAM,aAAa,mFAMvB;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,eAAe,GAAG,GAAG,CAAC;IACvC,aAAa,EAAE,GAAG,CAAC;IACnB,UAAU,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,KAAG,OAAO,CAAC,cAAc,CAuBzB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.migrateDownTo = exports.deleteTable = exports.connect = exports.stopLocalDynamoDB = exports.startLocalDynamoDB = exports.getTableName = void 0;
3
+ exports.migrateDownTo = exports.deleteTable = exports.connect = exports.stopLocalDynamoDB = exports.stopAllLocalDynamoDB = exports.startLocalDynamoDB = exports.getTableName = void 0;
4
4
  const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
5
5
  const dynamoDBPackageUtils_1 = require("./dynamoDBPackageUtils");
6
6
  const utils_package_config_embedded_1 = require("@goldstack/utils-package-config-embedded");
@@ -31,10 +31,14 @@ const startLocalDynamoDB = async (goldstackConfig, packageSchema, port, deployme
31
31
  // Suppress ESLint error for dynamic require
32
32
  // eslint-disable-next-line @typescript-eslint/no-var-requires
33
33
  const lib = require((0, utils_esbuild_1.excludeInBundle)('./localDynamoDB'));
34
- await lib.startLocalDynamoDB(packageConfig, { port }, deploymentName);
34
+ const portToUse = port ||
35
+ (process.env.DYNAMODB_LOCAL_PORT &&
36
+ parseInt(process.env.DYNAMODB_LOCAL_PORT)) ||
37
+ 8000;
38
+ await lib.startLocalDynamoDB(packageConfig, { port: portToUse }, deploymentName);
35
39
  };
36
40
  exports.startLocalDynamoDB = startLocalDynamoDB;
37
- const stopLocalDynamoDB = async (goldstackConfig, packageSchema, deploymentName) => {
41
+ const stopAllLocalDynamoDB = async (goldstackConfig, packageSchema, deploymentName) => {
38
42
  deploymentName = (0, dynamoDBPackageUtils_1.getDeploymentName)(deploymentName);
39
43
  const packageConfig = new utils_package_config_embedded_1.EmbeddedPackageConfig({
40
44
  goldstackJson: goldstackConfig,
@@ -43,10 +47,34 @@ const stopLocalDynamoDB = async (goldstackConfig, packageSchema, deploymentName)
43
47
  // Suppress ESLint error for dynamic require
44
48
  // eslint-disable-next-line @typescript-eslint/no-var-requires
45
49
  const lib = require((0, utils_esbuild_1.excludeInBundle)('./localDynamoDB'));
46
- await lib.stopLocalDynamoDB(packageConfig, deploymentName);
50
+ await lib.stopAllLocalDynamoDB(packageConfig, deploymentName);
47
51
  const coldStartKey = await getColdStartKey(packageConfig, deploymentName);
48
52
  coldStart.delete(coldStartKey);
49
53
  };
54
+ exports.stopAllLocalDynamoDB = stopAllLocalDynamoDB;
55
+ const stopLocalDynamoDB = async (goldstackConfig, packageSchema, portOrDeploymentName, deploymentName) => {
56
+ // Handle optional port parameter
57
+ let port;
58
+ let resolvedDeploymentName;
59
+ if (typeof portOrDeploymentName === 'number') {
60
+ port = portOrDeploymentName;
61
+ resolvedDeploymentName = deploymentName;
62
+ }
63
+ else {
64
+ resolvedDeploymentName = portOrDeploymentName;
65
+ }
66
+ resolvedDeploymentName = (0, dynamoDBPackageUtils_1.getDeploymentName)(resolvedDeploymentName);
67
+ const packageConfig = new utils_package_config_embedded_1.EmbeddedPackageConfig({
68
+ goldstackJson: goldstackConfig,
69
+ packageSchema,
70
+ });
71
+ // Suppress ESLint error for dynamic require
72
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
73
+ const lib = require((0, utils_esbuild_1.excludeInBundle)('./localDynamoDB'));
74
+ await lib.stopLocalDynamoDB(packageConfig, port ? { port } : {}, resolvedDeploymentName);
75
+ const coldStartKey = await getColdStartKey(packageConfig, resolvedDeploymentName);
76
+ coldStart.delete(coldStartKey);
77
+ };
50
78
  exports.stopLocalDynamoDB = stopLocalDynamoDB;
51
79
  const createClient = async (packageConfig, deploymentName) => {
52
80
  if (deploymentName === 'local') {
@@ -1 +1 @@
1
- {"version":3,"file":"templateDynamoDBTable.js","sourceRoot":"","sources":["../../src/templateDynamoDBTable.ts"],"names":[],"mappings":"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"}
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.29",
3
+ "version": "0.3.31",
4
4
  "description": "Utilities for building modules for DynamoDB access.",
5
5
  "keywords": [
6
6
  "goldstack",
@@ -50,7 +50,7 @@
50
50
  "@goldstack/utils-package": "0.4.19",
51
51
  "@goldstack/utils-package-config-embedded": "0.5.20",
52
52
  "@goldstack/utils-sh": "0.5.18",
53
- "@goldstack/utils-terraform": "0.4.37",
53
+ "@goldstack/utils-terraform": "0.4.38",
54
54
  "dynamo-db-local": "8.0.0",
55
55
  "tcp-port-used": "^1.0.2",
56
56
  "umzug": "^3.8.2",