@driveflux/env 3.0.0 → 4.0.0-develop.1
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/.turbo/turbo-build.log +13 -0
- package/CHANGELOG.md +44 -0
- package/build.ts +45 -0
- package/catalog-version-stamp.json +4 -0
- package/dist/app-env.d.ts +2 -0
- package/dist/augment-env.d.ts +1 -0
- package/dist/augment-env.js +5 -0
- package/dist/augment-env.js.map +12 -0
- package/dist/base-configs.d.ts +35 -0
- package/dist/chunk-wy1gj9e4.js +5 -0
- package/dist/chunk-wy1gj9e4.js.map +9 -0
- package/dist/init-env.d.ts +14 -0
- package/dist/init-env.js +32 -0
- package/dist/init-env.js.map +105 -0
- package/dist/main.d.ts +1 -0
- package/dist/main.js +4 -0
- package/dist/main.js.map +10 -0
- package/package.json +21 -27
- package/src/app-env.ts +21 -0
- package/src/augment-env.ts +15 -0
- package/src/base-configs.ts +96 -0
- package/src/init-env.ts +72 -0
- package/src/main.ts +35 -0
- package/tsconfig.json +15 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -29
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
$ bun run ./build.ts
|
|
2
|
+
🔍 Scanning folder: ./dist
|
|
3
|
+
📄 Found 4 JS files to process
|
|
4
|
+
|
|
5
|
+
📊 Processing Summary:
|
|
6
|
+
Files processed: 4
|
|
7
|
+
Total exports found: 7
|
|
8
|
+
Duplicates removed: 0
|
|
9
|
+
Total processing time: 23.01ms
|
|
10
|
+
Average time per file: 5.75ms
|
|
11
|
+
|
|
12
|
+
✅ No duplicate exports found in any files
|
|
13
|
+
✅ Build successful
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# @driveflux/env
|
|
2
|
+
|
|
3
|
+
## 4.0.0-develop.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 8a06a8c: env version
|
|
8
|
+
- env version
|
|
9
|
+
|
|
10
|
+
## 0.0.2-develop.5
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- 225b59a: env + updated deps
|
|
15
|
+
|
|
16
|
+
## 0.0.2-develop.4
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- 1f995b9: added PrivacyPolicySettings
|
|
21
|
+
|
|
22
|
+
## 0.0.2-develop.3
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- 0b0dce3: Bundle dotenvx
|
|
27
|
+
|
|
28
|
+
## 0.0.2-develop.2
|
|
29
|
+
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- 6a7cbad: Fixed error
|
|
33
|
+
|
|
34
|
+
## 0.0.2-develop.1
|
|
35
|
+
|
|
36
|
+
### Patch Changes
|
|
37
|
+
|
|
38
|
+
- b469487: Fixed slack env names
|
|
39
|
+
|
|
40
|
+
## 0.0.2-develop.0
|
|
41
|
+
|
|
42
|
+
### Patch Changes
|
|
43
|
+
|
|
44
|
+
- afe41e3: Created env package
|
package/build.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { readdirSync, rmdirSync, statSync, unlinkSync } from 'node:fs'
|
|
2
|
+
import path from 'node:path'
|
|
3
|
+
import { autoRemoveDuplicateExports } from '@driveflux/fix-builds'
|
|
4
|
+
import type { Target } from 'bun'
|
|
5
|
+
|
|
6
|
+
// Clean the dist directory
|
|
7
|
+
const outdir = './dist'
|
|
8
|
+
const clearDir = (dir: string) => {
|
|
9
|
+
try {
|
|
10
|
+
const files = readdirSync(dir)
|
|
11
|
+
for (const file of files) {
|
|
12
|
+
if (file.endsWith('.js') || file.endsWith('.js.map')) {
|
|
13
|
+
unlinkSync(path.join(dir, file))
|
|
14
|
+
} else {
|
|
15
|
+
try {
|
|
16
|
+
if (statSync(path.join(dir, file)).isDirectory()) {
|
|
17
|
+
clearDir(path.join(dir, file))
|
|
18
|
+
rmdirSync(path.join(dir, file))
|
|
19
|
+
}
|
|
20
|
+
} catch (_error) {
|
|
21
|
+
// Directory might not exist, that's fine
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
} catch (_error) {
|
|
26
|
+
// Directory might not exist, that's fine
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
clearDir(outdir)
|
|
30
|
+
|
|
31
|
+
await Bun.build({
|
|
32
|
+
entrypoints: ['./src/main.ts', './src/init-env.ts', './src/augment-env.ts'],
|
|
33
|
+
root: './src',
|
|
34
|
+
plugins: [],
|
|
35
|
+
packages: 'bundle',
|
|
36
|
+
outdir,
|
|
37
|
+
target: (process.env.BUILD_TARGET as Target) ?? 'bun',
|
|
38
|
+
splitting: true,
|
|
39
|
+
minify: process.env.CI === 'true' || process.env.CI === '1',
|
|
40
|
+
sourcemap: 'linked',
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
await autoRemoveDuplicateExports(outdir)
|
|
44
|
+
|
|
45
|
+
console.info('✅ Build successful')
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const augmentEnv: () => void;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import"./chunk-wy1gj9e4.js";var x=()=>{if(process.env.APP_ENV)return process.env.APP_ENV;if(process.env.USE_ENV)return process.env.USE_ENV;return"development"};var b={SLACK_DEFAULT_CHANNEL_ID:"C0679V8KGSH",SLACK_RESERVATIONS_CHANNEL_ID:"C01G8B12G67",SLACK_FBC_CHANNEL:"C01L1AAKB3N",SLACK_BD_CHANNEL:"CN21PGKK8",SLACK_MAIN_FLUX_CHANNEL:"GHDPV1858",SLACK_INQUIRIES_CHANNEL_ID:"C067CSK5J5Q",SLACK_INVOICE_FAILURES_CHANNEL_ID:"C067CPUMB8T",SLACK_SST_CHANNEL_ID:"C068NH60A78",SLACK_ERROR_CHANNEL_ID:"C04N4Q7HA79",SLACK_ISSUES_CHANNEL_ID:"C0680P99AE8",SLACK_COMING_SERVICES_CHANNEL_ID:"C06SB20H2J1",SLACK_ESMS_CHANNEL_ID:"C07RPEP2BMY",SLACK_EXCESS_MILEAGE_CHANNEL_ID:"C0679URBY93",SLACK_ENGINEERING_REQUESTS_CHANNEL_ID:"C01U8GTK3K9"},F=(g)=>({production:b,staging:Object.keys(b).reduce((m,f)=>{return m[f]="C0661UNMBQU",m},{}),development:Object.keys(b).reduce((m,f)=>{return m[f]=g?.SLACK_MY_CHANNEL_ID||"C09GJ4FJVRS",m},{})}),z=(g,m)=>{let f=F(m),j=g&&g in f?f[g]:f.staging;for(let t of Object.keys(j))if(m?.[t])j[t]=m[t];return j},w={NOTION_REQUEST_DATABASE_ID:"32332c0e-4277-43fa-b10e-7d458234f9ea",NOTION_REVIEWS_DATABASE_ID:"8a8b0df9-567d-433f-8937-583db2766176",NOTION_FBC_DATABASE_ID:"76960d4b-2b43-4019-a77e-ac46a0b3d752",NOTION_FLUXSTERS_DATABASE_ID:"4ea6953a-61c2-4673-8950-c0d0e158de0a",NOTION_BD_DATABASE_ID:"172a9182-56c0-4358-b4f1-7e8fcfa44e46",NOTION_BRANDS_LANDING_PAGES_DATABASE_ID:"e321d71a-0d29-42da-ab0b-dca2260b643e",NOTION_KNOWLEDGE_BASE_DATABASE_ID:"7a81653f-4351-4a17-aa1e-c3082c378441",NOTION_REFERRALS_DATABASE_ID:"b5599d70-b414-4aa9-9ff2-d445c8f3f0fc"},q={production:w,staging:{...w,NOTION_KNOWLEDGE_BASE_DATABASE_ID:"f95b9986-c1c9-46ca-a742-d49f3f80d7dd"}},B=(g,m)=>{let f=g&&g in q?q[g]:q.staging;for(let j of Object.keys(f))if(m?.[j])f[j]=m[j];return f};var L=()=>{let g=z(x(),process.env),m=B(x());for(let[f,j]of Object.entries({...g,...m})){if(process.env[f])continue;process.env[f]=j}};export{L as augmentEnv};
|
|
2
|
+
export{L as b};
|
|
3
|
+
|
|
4
|
+
//# debugId=C69569CEF99ABD9C64756E2164756E21
|
|
5
|
+
//# sourceMappingURL=augment-env.js.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/app-env.ts", "../src/base-configs.ts", "../src/augment-env.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"export const getAppEnv = () => {\n if (process.env.APP_ENV) {\n return process.env.APP_ENV\n }\n\n // If USE_ENV is set, use it\n if (process.env.USE_ENV) {\n return process.env.USE_ENV\n }\n\n // If NODE_ENV is set, use it\n if (process.env.NODE_ENV) {\n return process.env.NODE_ENV\n }\n\n // Default to development as a last resort\n return 'development'\n}\n\nconst isAppEnv = (env: string) => getAppEnv() === env\nexport const isProd = () => isAppEnv('production')\n",
|
|
6
|
+
"type SlackIds = {\n -readonly [k in keyof typeof slackProductionChannels]: string\n}\ntype NotionIds = {\n -readonly [k in keyof typeof notionProductionChannels]: string\n}\n\nconst slackProductionChannels = {\n SLACK_DEFAULT_CHANNEL_ID: 'C0679V8KGSH',\n SLACK_RESERVATIONS_CHANNEL_ID: 'C01G8B12G67',\n SLACK_FBC_CHANNEL: 'C01L1AAKB3N',\n SLACK_BD_CHANNEL: 'CN21PGKK8',\n SLACK_MAIN_FLUX_CHANNEL: 'GHDPV1858',\n SLACK_INQUIRIES_CHANNEL_ID: 'C067CSK5J5Q',\n SLACK_INVOICE_FAILURES_CHANNEL_ID: 'C067CPUMB8T',\n SLACK_SST_CHANNEL_ID: 'C068NH60A78',\n SLACK_ERROR_CHANNEL_ID: 'C04N4Q7HA79',\n SLACK_ISSUES_CHANNEL_ID: 'C0680P99AE8',\n SLACK_COMING_SERVICES_CHANNEL_ID: 'C06SB20H2J1',\n SLACK_ESMS_CHANNEL_ID: 'C07RPEP2BMY',\n SLACK_EXCESS_MILEAGE_CHANNEL_ID: 'C0679URBY93',\n SLACK_ENGINEERING_REQUESTS_CHANNEL_ID: 'C01U8GTK3K9',\n} as const\n\nconst getSlackIdsMap = (processEnv?: Record<string, string | undefined>) =>\n ({\n production: slackProductionChannels,\n staging: Object.keys(slackProductionChannels).reduce((acc, key) => {\n acc[key as keyof SlackIds] = 'C0661UNMBQU' // #platform-staging-notifications\n return acc\n }, {} as SlackIds),\n development: Object.keys(slackProductionChannels).reduce((acc, key) => {\n acc[key as keyof SlackIds] =\n processEnv?.SLACK_MY_CHANNEL_ID || 'C09GJ4FJVRS' // #platform-dev-notifications\n return acc\n }, {} as SlackIds),\n }) as const satisfies Record<string, SlackIds>\n\nexport const getSlackIds = (\n appEnv?: string,\n processEnv?: Record<string, string | undefined>,\n): SlackIds => {\n const slackIdsMap = getSlackIdsMap(processEnv)\n const envIds: SlackIds =\n appEnv && appEnv in slackIdsMap\n ? slackIdsMap[appEnv as keyof typeof slackIdsMap]\n : slackIdsMap.staging\n\n // Override the values from ENV if available\n for (const key of Object.keys(envIds)) {\n if (processEnv?.[key]) {\n envIds[key as keyof SlackIds] = processEnv[key] as string\n }\n }\n\n return envIds\n}\n\nconst notionProductionChannels = {\n NOTION_REQUEST_DATABASE_ID: '32332c0e-4277-43fa-b10e-7d458234f9ea',\n NOTION_REVIEWS_DATABASE_ID: '8a8b0df9-567d-433f-8937-583db2766176', // Seems to be unused\n NOTION_FBC_DATABASE_ID: '76960d4b-2b43-4019-a77e-ac46a0b3d752', // Seems to be unused\n NOTION_FLUXSTERS_DATABASE_ID: '4ea6953a-61c2-4673-8950-c0d0e158de0a',\n NOTION_BD_DATABASE_ID: '172a9182-56c0-4358-b4f1-7e8fcfa44e46',\n NOTION_BRANDS_LANDING_PAGES_DATABASE_ID:\n 'e321d71a-0d29-42da-ab0b-dca2260b643e',\n NOTION_KNOWLEDGE_BASE_DATABASE_ID: '7a81653f-4351-4a17-aa1e-c3082c378441',\n NOTION_REFERRALS_DATABASE_ID: 'b5599d70-b414-4aa9-9ff2-d445c8f3f0fc',\n} as const satisfies Record<string, string>\n\nconst NOTION_IDS_MAP = {\n production: notionProductionChannels,\n staging: {\n ...notionProductionChannels,\n NOTION_KNOWLEDGE_BASE_DATABASE_ID: 'f95b9986-c1c9-46ca-a742-d49f3f80d7dd',\n },\n} as const satisfies Record<string, NotionIds>\n\nexport const getNotionIds = (\n appEnv?: string,\n processEnv?: Record<string, string>,\n): NotionIds => {\n const envIds: NotionIds =\n appEnv && appEnv in NOTION_IDS_MAP\n ? NOTION_IDS_MAP[appEnv as keyof typeof NOTION_IDS_MAP]\n : NOTION_IDS_MAP.staging\n\n // Override the values from ENV if available\n for (const key of Object.keys(envIds)) {\n if (processEnv?.[key]) {\n envIds[key as keyof NotionIds] = processEnv[key] as string\n }\n }\n\n return envIds\n}\n",
|
|
7
|
+
"import { getAppEnv } from './app-env'\nimport { getNotionIds, getSlackIds } from './base-configs'\n\nexport const augmentEnv = () => {\n const slackIds = getSlackIds(getAppEnv(), process.env)\n const notionIds = getNotionIds(getAppEnv())\n\n for (const [key, value] of Object.entries({ ...slackIds, ...notionIds })) {\n if (process.env[key]) {\n continue\n }\n\n process.env[key] = value\n }\n}\n"
|
|
8
|
+
],
|
|
9
|
+
"mappings": "4BAAO,IAAM,EAAY,IAAM,CAC7B,GAAI,QAAQ,IAAI,QACd,OAAO,QAAQ,IAAI,QAIrB,GAAI,QAAQ,IAAI,QACd,OAAO,QAAQ,IAAI,QAKnB,MAAO,eCLX,IAAM,EAA0B,CAC9B,yBAA0B,cAC1B,8BAA+B,cAC/B,kBAAmB,cACnB,iBAAkB,YAClB,wBAAyB,YACzB,2BAA4B,cAC5B,kCAAmC,cACnC,qBAAsB,cACtB,uBAAwB,cACxB,wBAAyB,cACzB,iCAAkC,cAClC,sBAAuB,cACvB,gCAAiC,cACjC,sCAAuC,aACzC,EAEM,EAAiB,CAAC,KACrB,CACC,WAAY,EACZ,QAAS,OAAO,KAAK,CAAuB,EAAE,OAAO,CAAC,EAAK,IAAQ,CAEjE,OADA,EAAI,GAAyB,cACtB,GACN,CAAC,CAAa,EACjB,YAAa,OAAO,KAAK,CAAuB,EAAE,OAAO,CAAC,EAAK,IAAQ,CAGrE,OAFA,EAAI,GACF,GAAY,qBAAuB,cAC9B,GACN,CAAC,CAAa,CACnB,GAEW,EAAc,CACzB,EACA,IACa,CACb,IAAM,EAAc,EAAe,CAAU,EACvC,EACJ,GAAU,KAAU,EAChB,EAAY,GACZ,EAAY,QAGlB,QAAW,KAAO,OAAO,KAAK,CAAM,EAClC,GAAI,IAAa,GACf,EAAO,GAAyB,EAAW,GAI/C,OAAO,GAGH,EAA2B,CAC/B,2BAA4B,uCAC5B,2BAA4B,uCAC5B,uBAAwB,uCACxB,6BAA8B,uCAC9B,sBAAuB,uCACvB,wCACE,uCACF,kCAAmC,uCACnC,6BAA8B,sCAChC,EAEM,EAAiB,CACrB,WAAY,EACZ,QAAS,IACJ,EACH,kCAAmC,sCACrC,CACF,EAEa,EAAe,CAC1B,EACA,IACc,CACd,IAAM,EACJ,GAAU,KAAU,EAChB,EAAe,GACf,EAAe,QAGrB,QAAW,KAAO,OAAO,KAAK,CAAM,EAClC,GAAI,IAAa,GACf,EAAO,GAA0B,EAAW,GAIhD,OAAO,GC3FF,IAAM,EAAa,IAAM,CAC9B,IAAM,EAAW,EAAY,EAAU,EAAG,QAAQ,GAAG,EAC/C,EAAY,EAAa,EAAU,CAAC,EAE1C,QAAY,EAAK,KAAU,OAAO,QAAQ,IAAK,KAAa,CAAU,CAAC,EAAG,CACxE,GAAI,QAAQ,IAAI,GACd,SAGF,QAAQ,IAAI,GAAO",
|
|
10
|
+
"debugId": "C69569CEF99ABD9C64756E2164756E21",
|
|
11
|
+
"names": []
|
|
12
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
type SlackIds = {
|
|
2
|
+
-readonly [k in keyof typeof slackProductionChannels]: string;
|
|
3
|
+
};
|
|
4
|
+
type NotionIds = {
|
|
5
|
+
-readonly [k in keyof typeof notionProductionChannels]: string;
|
|
6
|
+
};
|
|
7
|
+
declare const slackProductionChannels: {
|
|
8
|
+
readonly SLACK_DEFAULT_CHANNEL_ID: "C0679V8KGSH";
|
|
9
|
+
readonly SLACK_RESERVATIONS_CHANNEL_ID: "C01G8B12G67";
|
|
10
|
+
readonly SLACK_FBC_CHANNEL: "C01L1AAKB3N";
|
|
11
|
+
readonly SLACK_BD_CHANNEL: "CN21PGKK8";
|
|
12
|
+
readonly SLACK_MAIN_FLUX_CHANNEL: "GHDPV1858";
|
|
13
|
+
readonly SLACK_INQUIRIES_CHANNEL_ID: "C067CSK5J5Q";
|
|
14
|
+
readonly SLACK_INVOICE_FAILURES_CHANNEL_ID: "C067CPUMB8T";
|
|
15
|
+
readonly SLACK_SST_CHANNEL_ID: "C068NH60A78";
|
|
16
|
+
readonly SLACK_ERROR_CHANNEL_ID: "C04N4Q7HA79";
|
|
17
|
+
readonly SLACK_ISSUES_CHANNEL_ID: "C0680P99AE8";
|
|
18
|
+
readonly SLACK_COMING_SERVICES_CHANNEL_ID: "C06SB20H2J1";
|
|
19
|
+
readonly SLACK_ESMS_CHANNEL_ID: "C07RPEP2BMY";
|
|
20
|
+
readonly SLACK_EXCESS_MILEAGE_CHANNEL_ID: "C0679URBY93";
|
|
21
|
+
readonly SLACK_ENGINEERING_REQUESTS_CHANNEL_ID: "C01U8GTK3K9";
|
|
22
|
+
};
|
|
23
|
+
export declare const getSlackIds: (appEnv?: string, processEnv?: Record<string, string | undefined>) => SlackIds;
|
|
24
|
+
declare const notionProductionChannels: {
|
|
25
|
+
readonly NOTION_REQUEST_DATABASE_ID: "32332c0e-4277-43fa-b10e-7d458234f9ea";
|
|
26
|
+
readonly NOTION_REVIEWS_DATABASE_ID: "8a8b0df9-567d-433f-8937-583db2766176";
|
|
27
|
+
readonly NOTION_FBC_DATABASE_ID: "76960d4b-2b43-4019-a77e-ac46a0b3d752";
|
|
28
|
+
readonly NOTION_FLUXSTERS_DATABASE_ID: "4ea6953a-61c2-4673-8950-c0d0e158de0a";
|
|
29
|
+
readonly NOTION_BD_DATABASE_ID: "172a9182-56c0-4358-b4f1-7e8fcfa44e46";
|
|
30
|
+
readonly NOTION_BRANDS_LANDING_PAGES_DATABASE_ID: "e321d71a-0d29-42da-ab0b-dca2260b643e";
|
|
31
|
+
readonly NOTION_KNOWLEDGE_BASE_DATABASE_ID: "7a81653f-4351-4a17-aa1e-c3082c378441";
|
|
32
|
+
readonly NOTION_REFERRALS_DATABASE_ID: "b5599d70-b414-4aa9-9ff2-d445c8f3f0fc";
|
|
33
|
+
};
|
|
34
|
+
export declare const getNotionIds: (appEnv?: string, processEnv?: Record<string, string>) => NotionIds;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{createRequire as k}from"node:module";var g=Object.create;var{getPrototypeOf:h,defineProperty:f,getOwnPropertyNames:i}=Object;var j=Object.prototype.hasOwnProperty;var l=(a,b,c)=>{c=a!=null?g(h(a)):{};let d=b||!a||!a.__esModule?f(c,"default",{value:a,enumerable:!0}):c;for(let e of i(a))if(!j.call(d,e))f(d,e,{get:()=>a[e],enumerable:!0});return d};var m=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports);var o=k(import.meta.url);
|
|
2
|
+
export{l as c,m as d,o as e};
|
|
3
|
+
|
|
4
|
+
//# debugId=CFD90F239E730D9164756E2164756E21
|
|
5
|
+
//# sourceMappingURL=chunk-wy1gj9e4.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dealing with env variables can be complicated. So we need to simplify the process
|
|
3
|
+
*
|
|
4
|
+
* Bun automatically loads a .env (or .env.[NODE_ENV]) file which will be detected
|
|
5
|
+
* here as system set env variables and dotenvx won't work properly with USE_ENV.
|
|
6
|
+
*
|
|
7
|
+
* The way to fix this behaviour is to know how to separate between env set from the shell
|
|
8
|
+
* and env loaded by bun.
|
|
9
|
+
*
|
|
10
|
+
* 1. Check the env loaded by bun according to its logic (load using NODE_ENV)
|
|
11
|
+
* 2. If USE_ENV !== NODE_ENV, load those variables
|
|
12
|
+
* 3. For each env loaded automatically by bun, we override the process env with the values from the loaded env.$USE_ENv files
|
|
13
|
+
*/
|
|
14
|
+
export declare const initEnv: () => Promise<void>;
|