Sam Hulick
08/13/2021, 8:44 PMprocess.env.<some var>
? I always have to use the non-null assertion. I’d rather just declare everything so I know I won’t make any mistakes.. e.g. SENTRY_DSN: string;
Ross Coundon
08/13/2021, 8:46 PMdeclare namespace NodeJS {
export interface ProcessEnv {
SENTRY_RELEASE: string;
NODE_ENV: 'development' | 'production';
}
}
Sam Hulick
08/13/2021, 8:46 PMNodeJS.ProcessEnv
somehow. I tried this:
declare global {
namespace NodeJS {
interface ProcessEnv {
SENTRY_RELEASE: string;
NODE_ENV: 'development' | 'production';
}
}
}
but don’t know where to put that. I tried in the project root as environment.d.ts
and it doesn’t workthdxr
08/13/2021, 8:48 PMSam Hulick
08/13/2021, 8:48 PMSam Hulick
08/13/2021, 8:48 PMsrc/
and infra/
can use itthdxr
08/13/2021, 8:48 PMcompilerOptions.types
thdxr
08/13/2021, 8:48 PMinclude
- let me check for youSam Hulick
08/13/2021, 8:49 PMenvironment.d.ts
in the root, it doesn’t seem to work.thdxr
08/13/2021, 8:49 PMtypes/environment.d.ts
for example and then tsconfig.json
should have compilerOptions.typeRoots = ["./types"]
thdxr
08/13/2021, 8:52 PMinclude
Sam Hulick
08/13/2021, 8:54 PMthdxr
08/13/2021, 8:54 PMthdxr
08/13/2021, 8:55 PMthdxr
08/13/2021, 8:55 PM{
"extends": "@tsconfig/node14/tsconfig.json",
"include": [
"cdk",
"src",
"types"
],
"compilerOptions": {
"module": "esnext",
"moduleResolution": "node"
}
}
thdxr
08/13/2021, 8:56 PM// types/process.d.ts
declare namespace NodeJS {
export interface ProcessEnv {
SENTRY_RELEASE: string;
NODE_ENV: "development" | "production";
}
}
Sam Hulick
08/13/2021, 8:58 PMSam Hulick
08/13/2021, 8:58 PMdeclare global { namespace NodeJS { …
Sam Hulick
08/13/2021, 8:58 PMthdxr
08/13/2021, 8:58 PMSam Hulick
08/13/2021, 8:59 PMSam Hulick
08/13/2021, 8:59 PM"include": ["infra", "src", "./*.d.ts"]
so I can keep it at the root level if I want toRoss Coundon
08/13/2021, 8:59 PMSam Hulick
08/13/2021, 9:00 PM.env*
files and generate the types internally somehow