nestia
nestia copied to clipboard
is tsconfig's strictPropertyInitialization property safe to set false?
Question
I am new to nestia, nestia is awesome.
I am using mongodb and using npx nestia setup --manager pnpm
to setup nestia in my existing project.
But, I can't start dev server.
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
@Schema()
export class Phone {
@Prop({ default: false })
isEnabled: boolean;
@Prop({ unique: true })
phone: string;
@Prop()
isReceiveAlert: boolean;
}
I see a lot of Typescript error in console. I need to change schame add !
to each class property like this.
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
@Schema()
export class Phone {
@Prop({ default: false })
isEnabled!: boolean;
@Prop({ unique: true })
phone!: string;
@Prop()
isReceiveAlert!: boolean;
}
Meanwhile, I found that set strictPropertyInitialization to false in tsconfig.json can also solve this issue.
Is it safe to set this property to false and does it affect nestia?
strictPropertyInitialization
is recommended setting of tsconfig.json
, due to ensure the class properties' types.
However, possible to configure it to be false
, and no problem at the Nestia side.
@samchon thank you very much, can i just set "strict": false
?
Still possible, but never recommend.
If you configure the strict
to be false
, every types become T | null | undefined
.
In my perspective view, strict: false
means not to use TypeScript.