@goldstack/template-dynamodb 0.2.15 → 0.2.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.
@@ -8,6 +8,6 @@ export interface DynamoDBInstance {
8
8
  export declare const localConnect: (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName?: string) => Promise<DynamoDB>;
9
9
  export declare const endpointUrl: (startedContainer: DynamoDBInstance) => string;
10
10
  export declare const createClient: (startedContainer: DynamoDBInstance) => DynamoDB;
11
- export declare const startContainer: () => Promise<DynamoDBInstance>;
11
+ export declare const startLocalDynamoDB: (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName?: string) => Promise<DynamoDBInstance>;
12
12
  export declare const stopLocalDynamoDB: (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName?: string) => Promise<void>;
13
13
  //# 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,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKnC,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;AAKD,eAAO,MAAM,YAAY,kBACR,sBAAsB,eAAe,EAAE,kBAAkB,CAAC,mBACxD,MAAM,KACtB,QAAQ,QAAQ,CAmBlB,CAAC;AAEF,eAAO,MAAM,WAAW,qBAAsB,gBAAgB,KAAG,MAEhE,CAAC;AAEF,eAAO,MAAM,YAAY,qBAAsB,gBAAgB,KAAG,QAUjE,CAAC;AAEF,eAAO,MAAM,cAAc,QAAa,QAAQ,gBAAgB,CA4C/D,CAAC;AAEF,eAAO,MAAM,iBAAiB,kBACb,sBAAsB,eAAe,EAAE,kBAAkB,CAAC,mBACxD,MAAM,KACtB,QAAQ,IAAI,CAad,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,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKnC,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;AASD,eAAO,MAAM,YAAY,kBACR,sBAAsB,eAAe,EAAE,kBAAkB,CAAC,mBACxD,MAAM,KACtB,QAAQ,QAAQ,CAYlB,CAAC;AAEF,eAAO,MAAM,WAAW,qBAAsB,gBAAgB,KAAG,MAEhE,CAAC;AAEF,eAAO,MAAM,YAAY,qBAAsB,gBAAgB,KAAG,QAUjE,CAAC;AAEF,eAAO,MAAM,kBAAkB,kBACd,sBAAsB,eAAe,EAAE,kBAAkB,CAAC,mBACxD,MAAM,KACtB,QAAQ,gBAAgB,CAmB1B,CAAC;AAiDF,eAAO,MAAM,iBAAiB,kBACb,sBAAsB,eAAe,EAAE,kBAAkB,CAAC,mBACxD,MAAM,KACtB,QAAQ,IAAI,CAad,CAAC"}
@@ -3,30 +3,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.stopLocalDynamoDB = exports.startContainer = exports.createClient = exports.endpointUrl = exports.localConnect = void 0;
6
+ exports.stopLocalDynamoDB = exports.startLocalDynamoDB = exports.createClient = exports.endpointUrl = exports.localConnect = void 0;
7
7
  const aws_sdk_1 = require("aws-sdk");
8
8
  const dynamo_db_local_1 = __importDefault(require("dynamo-db-local"));
9
9
  const utils_sh_1 = require("@goldstack/utils-sh");
10
10
  const dynamoDBPackageUtils_1 = require("./dynamoDBPackageUtils");
11
11
  const tcp_port_used_1 = require("tcp-port-used");
12
12
  const MAPPED_PORT = 8000;
13
+ function areWeTestingWithJest() {
14
+ return process.env.JEST_WORKER_ID !== undefined;
15
+ }
13
16
  const startedContainers = new Map();
14
17
  const localConnect = async (packageConfig, deploymentName) => {
15
- const tableName = await (0, dynamoDBPackageUtils_1.getTableName)(packageConfig, deploymentName);
16
- // 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.
17
- let startedContainer = startedContainers.get(tableName);
18
- if (startedContainer && startedContainer !== 'stopped') {
19
- return (0, exports.createClient)(startedContainer);
18
+ if (areWeTestingWithJest()) {
19
+ const tableName = await (0, dynamoDBPackageUtils_1.getTableName)(packageConfig, deploymentName);
20
+ const startedContainer = startedContainers.get(tableName);
21
+ if (!startedContainer) {
22
+ 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.');
23
+ }
20
24
  }
21
- startedContainer = await (0, exports.startContainer)();
22
- // Check if another container for this table has already been started in the meanwhile
23
- const startedContainerTest = startedContainers.get(tableName);
24
- if (startedContainerTest && startedContainerTest !== 'stopped') {
25
- await startedContainer.stop();
26
- return (0, exports.createClient)(startedContainerTest);
27
- }
28
- startedContainers.set(tableName, startedContainer);
29
- return (0, exports.createClient)(startedContainer);
25
+ return (0, exports.createClient)(await (0, exports.startLocalDynamoDB)(packageConfig, deploymentName));
30
26
  };
31
27
  exports.localConnect = localConnect;
32
28
  const endpointUrl = (startedContainer) => {
@@ -45,7 +41,25 @@ const createClient = (startedContainer) => {
45
41
  });
46
42
  };
47
43
  exports.createClient = createClient;
48
- const startContainer = async () => {
44
+ const startLocalDynamoDB = async (packageConfig, deploymentName) => {
45
+ const tableName = await (0, dynamoDBPackageUtils_1.getTableName)(packageConfig, deploymentName);
46
+ // 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.
47
+ let startedContainer = startedContainers.get(tableName);
48
+ if (startedContainer && startedContainer !== 'stopped') {
49
+ return startedContainer;
50
+ }
51
+ startedContainer = await spawnLocalDynamoDB();
52
+ // Check if another container for this table has already been started in the meanwhile
53
+ const startedContainerTest = startedContainers.get(tableName);
54
+ if (startedContainerTest && startedContainerTest !== 'stopped') {
55
+ await startedContainer.stop();
56
+ return startedContainerTest;
57
+ }
58
+ startedContainers.set(tableName, startedContainer);
59
+ return startedContainer;
60
+ };
61
+ exports.startLocalDynamoDB = startLocalDynamoDB;
62
+ const spawnLocalDynamoDB = async () => {
49
63
  if (await (0, tcp_port_used_1.check)(MAPPED_PORT)) {
50
64
  console.debug(`Port ${MAPPED_PORT} is already in use. Assuming another instance of DynamoDB is already running.`);
51
65
  return {
@@ -61,6 +75,7 @@ const startContainer = async () => {
61
75
  return {
62
76
  port: MAPPED_PORT,
63
77
  stop: async () => {
78
+ console.debug('Stopping local Java DynamoDB');
64
79
  pr.kill();
65
80
  },
66
81
  };
@@ -82,7 +97,6 @@ const startContainer = async () => {
82
97
  }
83
98
  throw new Error('Either Docker or Java needs to be installed to run local DynamoDB');
84
99
  };
85
- exports.startContainer = startContainer;
86
100
  const stopLocalDynamoDB = async (packageConfig, deploymentName) => {
87
101
  const tableName = await (0, dynamoDBPackageUtils_1.getTableName)(packageConfig, deploymentName);
88
102
  const startedContainer = startedContainers.get(tableName);
@@ -1 +1 @@
1
- {"version":3,"file":"localDynamoDB.js","sourceRoot":"","sources":["../../src/localDynamoDB.ts"],"names":[],"mappings":";;;;;;AAEA,qCAAmC;AAEnC,sEAA4C;AAC5C,kDAAoD;AACpD,iEAAsD;AAGtD,iDAAsC;AAEtC,MAAM,WAAW,GAAG,IAAI,CAAC;AAUzB,MAAM,iBAAiB,GACrB,IAAI,GAAG,EAAE,CAAC;AAEL,MAAM,YAAY,GAAG,KAAK,EAC/B,aAAyE,EACzE,cAAuB,EACJ,EAAE;IACrB,MAAM,SAAS,GAAG,MAAM,IAAA,mCAAY,EAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IAEpE,oIAAoI;IACpI,IAAI,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxD,IAAI,gBAAgB,IAAI,gBAAgB,KAAK,SAAS,EAAE;QACtD,OAAO,IAAA,oBAAY,EAAC,gBAAgB,CAAC,CAAC;KACvC;IACD,gBAAgB,GAAG,MAAM,IAAA,sBAAc,GAAE,CAAC;IAE1C,sFAAsF;IACtF,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9D,IAAI,oBAAoB,IAAI,oBAAoB,KAAK,SAAS,EAAE;QAC9D,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,IAAA,oBAAY,EAAC,oBAAoB,CAAC,CAAC;KAC3C;IAED,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACnD,OAAO,IAAA,oBAAY,EAAC,gBAAgB,CAAC,CAAC;AACxC,CAAC,CAAC;AAtBW,QAAA,YAAY,gBAsBvB;AAEK,MAAM,WAAW,GAAG,CAAC,gBAAkC,EAAU,EAAE;IACxE,OAAO,oBAAoB,gBAAgB,CAAC,IAAI,EAAE,CAAC;AACrD,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB;AAEK,MAAM,YAAY,GAAG,CAAC,gBAAkC,EAAY,EAAE;IAC3E,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,gBAAgB,CAAC,CAAC;IAC/C,OAAO,IAAI,kBAAQ,CAAC;QAClB,QAAQ;QACR,MAAM,EAAE,cAAc;QACtB,WAAW,EAAE;YACX,WAAW,EAAE,OAAO;YACpB,eAAe,EAAE,OAAO;SACzB;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAVW,QAAA,YAAY,gBAUvB;AAEK,MAAM,cAAc,GAAG,KAAK,IAA+B,EAAE;IAClE,IAAI,MAAM,IAAA,qBAAK,EAAC,WAAW,CAAC,EAAE;QAC5B,OAAO,CAAC,KAAK,CACX,QAAQ,WAAW,+EAA+E,CACnG,CAAC;QACF,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,6CAA6C;YAC/C,CAAC;SACF,CAAC;KACH;IACD,IAAI,IAAA,wBAAa,EAAC,MAAM,CAAC,EAAE;QACzB,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,yBAAa,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,EAAE,CAAC,IAAI,EAAE,CAAC;YACZ,CAAC;SACF,CAAC;KACH;IAED,IAAI,IAAA,wBAAa,EAAC,QAAQ,CAAC,EAAE;QAC3B,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CACV,gKAAgK,CACjK,CAAC;QACF,MAAM,EAAE,GAAG,yBAAa,CAAC,KAAK,CAAC;YAC7B,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QACH,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,EAAE,CAAC,IAAI,EAAE,CAAC;YACZ,CAAC;SACF,CAAC;KACH;IAED,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;AACJ,CAAC,CAAC;AA5CW,QAAA,cAAc,kBA4CzB;AAEK,MAAM,iBAAiB,GAAG,KAAK,EACpC,aAAyE,EACzE,cAAuB,EACR,EAAE;IACjB,MAAM,SAAS,GAAG,MAAM,IAAA,mCAAY,EAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IACpE,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1D,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,6EAA6E,SAAS,EAAE,CACzF,CAAC;KACH;IACD,IAAI,gBAAgB,KAAK,SAAS,EAAE;QAClC,OAAO;KACR;IACD,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5C,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC,CAAC;AAhBW,QAAA,iBAAiB,qBAgB5B"}
1
+ {"version":3,"file":"localDynamoDB.js","sourceRoot":"","sources":["../../src/localDynamoDB.ts"],"names":[],"mappings":"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"}
@@ -3,6 +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
7
  export declare const stopLocalDynamoDB: (goldstackConfig: DynamoDBPackage | any, packageSchema: any, deploymentName?: string) => Promise<void>;
7
8
  export declare const connect: ({ goldstackConfig, packageSchema, migrations, deploymentName, }: {
8
9
  goldstackConfig: DynamoDBPackage | any;
@@ -1 +1 @@
1
- {"version":3,"file":"templateDynamoDBTable.d.ts","sourceRoot":"","sources":["../../src/templateDynamoDBTable.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAY9E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,eAAe,EAGhB,MAAM,sBAAsB,CAAC;AAU9B,eAAO,MAAM,YAAY,oBACN,eAAe,GAAG,GAAG,iBACvB,GAAG,mBACD,MAAM,KACtB,QAAQ,MAAM,CAWhB,CAAC;AAEF,eAAO,MAAM,iBAAiB,oBACX,eAAe,GAAG,GAAG,iBACvB,GAAG,mBACD,MAAM,KACtB,QAAQ,IAAI,CAiBd,CAAC;AA+BF,eAAO,MAAM,OAAO;qBAMD,eAAe,GAAG,GAAG;mBACvB,GAAG;gBACN,gBAAgB,eAAe,CAAC;;MAE1C,QAAQ,QAAQ,CAqBnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW;qBAKL,eAAe,GAAG,GAAG;mBACvB,GAAG;;MAEhB,QAAQ,QAAQ,CAcnB,CAAC;AAEF,eAAO,MAAM,aAAa;mBAOT,MAAM;qBACJ,eAAe,GAAG,GAAG;mBACvB,GAAG;gBACN,gBAAgB,eAAe,CAAC;;MAE1C,QAAQ,QAAQ,CAuBnB,CAAC"}
1
+ {"version":3,"file":"templateDynamoDBTable.d.ts","sourceRoot":"","sources":["../../src/templateDynamoDBTable.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAY9E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,eAAe,EAGhB,MAAM,sBAAsB,CAAC;AAU9B,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,mBACD,MAAM,KACtB,QAAQ,IAAI,CAcd,CAAC;AAEF,eAAO,MAAM,iBAAiB,oBACX,eAAe,GAAG,GAAG,iBACvB,GAAG,mBACD,MAAM,KACtB,QAAQ,IAAI,CAiBd,CAAC;AA+BF,eAAO,MAAM,OAAO;qBAMD,eAAe,GAAG,GAAG;mBACvB,GAAG;gBACN,gBAAgB,eAAe,CAAC;;MAE1C,QAAQ,QAAQ,CAqBnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW;qBAKL,eAAe,GAAG,GAAG;mBACvB,GAAG;;MAEhB,QAAQ,QAAQ,CAcnB,CAAC;AAEF,eAAO,MAAM,aAAa;mBAOT,MAAM;qBACJ,eAAe,GAAG,GAAG;mBACvB,GAAG;gBACN,gBAAgB,eAAe,CAAC;;MAE1C,QAAQ,QAAQ,CAuBnB,CAAC"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.migrateDownTo = exports.deleteTable = exports.connect = exports.stopLocalDynamoDB = exports.getTableName = void 0;
6
+ exports.migrateDownTo = exports.deleteTable = exports.connect = exports.stopLocalDynamoDB = exports.startLocalDynamoDB = exports.getTableName = void 0;
7
7
  /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
8
8
  const dynamodb_1 = __importDefault(require("aws-sdk/clients/dynamodb"));
9
9
  const dynamoDBPackageUtils_1 = require("./dynamoDBPackageUtils");
@@ -25,6 +25,18 @@ const getTableName = async (goldstackConfig, packageSchema, deploymentName) => {
25
25
  return (0, dynamoDBPackageUtils_1.getTableName)(packageConfig, deploymentName);
26
26
  };
27
27
  exports.getTableName = getTableName;
28
+ const startLocalDynamoDB = async (goldstackConfig, packageSchema, deploymentName) => {
29
+ deploymentName = (0, dynamoDBPackageUtils_1.getDeploymentName)(deploymentName);
30
+ const packageConfig = new utils_package_config_embedded_1.EmbeddedPackageConfig({
31
+ goldstackJson: goldstackConfig,
32
+ packageSchema,
33
+ });
34
+ // only load this file when we absolutely need it, so we can avoid packaging it
35
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
36
+ const lib = require((0, utils_esbuild_1.excludeInBundle)('./localDynamoDB'));
37
+ await lib.startLocalDynamoDB(packageConfig, deploymentName);
38
+ };
39
+ exports.startLocalDynamoDB = startLocalDynamoDB;
28
40
  const stopLocalDynamoDB = async (goldstackConfig, packageSchema, deploymentName) => {
29
41
  deploymentName = (0, dynamoDBPackageUtils_1.getDeploymentName)(deploymentName);
30
42
  const packageConfig = new utils_package_config_embedded_1.EmbeddedPackageConfig({
@@ -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.2.15",
3
+ "version": "0.2.17",
4
4
  "description": "Utilities for building modules for DynamoDB access.",
5
5
  "keywords": [
6
6
  "goldstack",