@evenicanpm/common-core 1.0.1-alpha → 1.2.0

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.
Files changed (3) hide show
  1. package/keyvault.ts +30 -30
  2. package/package.json +17 -15
  3. package/tsconfig.json +20 -0
package/keyvault.ts CHANGED
@@ -11,15 +11,15 @@ let secrets = new Map();
11
11
 
12
12
  // A Key and Secret class to Cache Secrets
13
13
  class Secret {
14
- key: string;
15
- secret: string | undefined;
16
- initTime: Date;
17
-
18
- constructor(key: string, secret: string | undefined) {
19
- this.key = key;
20
- this.secret = secret;
21
- this.initTime = new Date();
22
- }
14
+ key: string;
15
+ secret: string | undefined;
16
+ initTime: Date;
17
+
18
+ constructor(key: string, secret: string | undefined) {
19
+ this.key = key;
20
+ this.secret = secret;
21
+ this.initTime = new Date();
22
+ }
23
23
  }
24
24
 
25
25
  /**
@@ -27,19 +27,19 @@ class Secret {
27
27
  * set all secrets in the "secrets" map binding which is exported from this module.
28
28
  */
29
29
  const initializeKeyVaultCache = async () => {
30
- if (process.env.NODE_ENV == "production") {
31
- const credential = new DefaultAzureCredential();
32
- const client = new SecretClient(url, credential);
33
-
34
- for await (let secretProperties of client.listPropertiesOfSecrets()) {
35
- const result = await client.getSecret(secretProperties.name);
36
- secrets.set(
37
- secretProperties.name,
38
- new Secret(secretProperties.name, result.value),
39
- );
40
- }
41
- return secrets;
42
- }
30
+ if (process.env.NODE_ENV == "production") {
31
+ const credential = new DefaultAzureCredential();
32
+ const client = new SecretClient(url, credential);
33
+
34
+ for await (let secretProperties of client.listPropertiesOfSecrets()) {
35
+ const result = await client.getSecret(secretProperties.name);
36
+ secrets.set(
37
+ secretProperties.name,
38
+ new Secret(secretProperties.name, result.value),
39
+ );
40
+ }
41
+ return secrets;
42
+ }
43
43
  };
44
44
 
45
45
  /**
@@ -48,14 +48,14 @@ const initializeKeyVaultCache = async () => {
48
48
  * @returns Returns the secret string.
49
49
  */
50
50
  const getSecret = (key: string): string | undefined => {
51
- if (process.env.NODE_ENV != "production") {
52
- const fixedName = key.replace(/-/g, "_");
53
- return process.env[fixedName];
54
- } else {
55
- const fixedName = key.replace(/_/g, "-");
56
- const secret = secrets.get(fixedName).secret;
57
- return secret;
58
- }
51
+ if (process.env.NODE_ENV != "production") {
52
+ const fixedName = key.replace(/-/g, "_");
53
+ return process.env[fixedName];
54
+ } else {
55
+ const fixedName = key.replace(/_/g, "-");
56
+ const secret = secrets.get(fixedName).secret;
57
+ return secret;
58
+ }
59
59
  };
60
60
 
61
61
  export { getSecret, initializeKeyVaultCache, secrets };
package/package.json CHANGED
@@ -1,17 +1,19 @@
1
1
  {
2
- "name": "@evenicanpm/common-core",
3
- "version": "1.0.1-alpha",
4
- "description": "Common module for Headless Storefront and Admin panel",
5
- "author": "Evenica",
6
- "license": "ISC",
7
- "scripts": {
8
- "test": "echo \"Error: no test specified\" && exit 1"
9
- },
10
- "dependencies": {
11
- "@azure/identity": "^4.10.1",
12
- "@azure/keyvault-secrets": "^4.10.0"
13
- },
14
- "devDependencies": {
15
- "@types/node": "^24.0.13"
16
- }
2
+ "name": "@evenicanpm/common-core",
3
+ "version": "1.2.0",
4
+ "description": "Common module for Headless Storefront and Admin panel",
5
+ "author": "Evenica",
6
+ "type": "module",
7
+ "license": "ISC",
8
+ "scripts": {
9
+ "test": "echo \"Error: no test specified\" && exit 1"
10
+ },
11
+ "dependencies": {
12
+ "@azure/identity": "^4.10.1",
13
+ "@azure/keyvault-secrets": "^4.10.0"
14
+ },
15
+ "devDependencies": {
16
+ "@types/node": "^24.0.13"
17
+ },
18
+ "gitHead": "6a95e9f84f48a7e1e96bfdf4ee1a766a7d8808b6"
17
19
  }
package/tsconfig.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES6",
4
+ "lib": ["ES2022", "DOM", "DOM.Iterable"],
5
+ "module": "ESNext",
6
+ "sourceMap": true,
7
+ "esModuleInterop": true,
8
+ "skipLibCheck": true,
9
+ "declaration": true,
10
+ "moduleResolution": "node",
11
+ "resolveJsonModule": true,
12
+ "outDir": "./dist",
13
+ "baseUrl": "../../../../storefront/",
14
+ "jsx": "preserve",
15
+ "paths": {
16
+ "*": ["../../../../storefront/node_modules/"]
17
+ }
18
+ },
19
+ "include": ["./"]
20
+ }