lemon-core 4.0.3 → 4.0.4

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/README.md CHANGED
@@ -10,6 +10,7 @@ Lemon Core Bootloader for Serverless Micro-Service
10
10
  - Support `multiple` event sources with single lambda function as below figure.
11
11
  - Fully support `typescript` types (80%).
12
12
  - Support Data Synchronization to `Elasticsearch` from `DynomoDB` via `DynamoStream`.
13
+ - The way to migrate v3 to v4: SEE [HOW_TO_UPGRADE_V4](HOW_TO_UPGRADE_V4.md)
13
14
 
14
15
  ![](assets/2019-11-26-23-43-47.png)
15
16
 
@@ -1,6 +1,11 @@
1
1
  import { CrendentialForAWS } from '../environ';
2
2
  import { RuntimeConfigAwsCredentialIdentityProvider } from '@aws-sdk/types/dist-types/identity/AwsCredentialIdentity';
3
3
  import { LemonEngine } from '../engine/types';
4
+ /**
5
+ * Check if the current environment is AWS Lambda
6
+ * @returns {boolean} - true if running in AWS Lambda environment
7
+ */
8
+ export declare const isLambda: () => boolean;
4
9
  /** returns only defined */
5
10
  export declare const onlyDefined: <T extends object>(N: T, $def?: T) => T;
6
11
  /**
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.awsConfig = exports.asyncCredentials = exports.loadDataYml = exports.loadJsonSync = exports.onlyDefined = void 0;
15
+ exports.awsConfig = exports.asyncCredentials = exports.loadDataYml = exports.loadJsonSync = exports.onlyDefined = exports.isLambda = void 0;
16
16
  /**
17
17
  * `tools/tools.ts`
18
18
  * - additional helper.
@@ -33,6 +33,15 @@ exports.awsConfig = exports.asyncCredentials = exports.loadDataYml = exports.loa
33
33
  const fs_1 = __importDefault(require("fs"));
34
34
  const js_yaml_1 = __importDefault(require("js-yaml"));
35
35
  const credential_providers_1 = require("@aws-sdk/credential-providers");
36
+ /**
37
+ * Check if the current environment is AWS Lambda
38
+ * @returns {boolean} - true if running in AWS Lambda environment
39
+ */
40
+ const isLambda = () => {
41
+ var _a;
42
+ return !!((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.AWS_LAMBDA_FUNCTION_NAME);
43
+ };
44
+ exports.isLambda = isLambda;
36
45
  /** returns only defined */
37
46
  const onlyDefined = (N, $def = null) => N && typeof N === 'object'
38
47
  ? Object.entries(N).reduce((N, [k, v]) => {
@@ -105,7 +114,8 @@ params) => {
105
114
  ? params()
106
115
  : params === null || params === void 0 ? void 0 : params.region;
107
116
  const _conf = typeof params === 'object' ? params : null;
108
- const profile = $engine === null || $engine === void 0 ? void 0 : $engine.environ('NAME', 'none');
117
+ // If running in Lambda environment, set profile to 'none'
118
+ const profile = (0, exports.isLambda)() ? 'none' : $engine === null || $engine === void 0 ? void 0 : $engine.environ('NAME', 'none');
109
119
  if (typeof profile !== 'string')
110
120
  throw new Error(`@env.NAME[${typeof profile}] is invalid (check $engine) - ${errScope}`);
111
121
  //* build defualt config.
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/tools/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/tools/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lemon-core",
3
- "version": "4.0.3",
3
+ "version": "4.0.4",
4
4
  "description": "Lemon Serverless Micro-Service Platform",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",