@@ -30156,7 +30156,7 @@ const EnvironmentConfigSchema = zod.z.object({
3015630156 validateHooksUsage: zod.z.boolean().default(true),
3015730157 validateRefAccessDuringRender: zod.z.boolean().default(true),
3015830158 validateNoSetStateInRender: zod.z.boolean().default(true),
30159- validateNoSetStateInPassiveEffects : zod.z.boolean().default(false),
30159+ validateNoSetStateInEffects : zod.z.boolean().default(false),
3016030160 validateNoJSXInTryStatements: zod.z.boolean().default(false),
3016130161 validateStaticComponents: zod.z.boolean().default(false),
3016230162 validateMemoizedEffectDependencies: zod.z.boolean().default(false),
@@ -48864,7 +48864,7 @@ function emitArrayInstr(elements, env) {
4886448864 return arrayInstr;
4886548865}
4886648866
48867- function validateNoSetStateInPassiveEffects (fn) {
48867+ function validateNoSetStateInEffects (fn) {
4886848868 const setStateFunctions = new Map();
4886948869 const errors = new CompilerError();
4887048870 for (const [, block] of fn.body.blocks) {
@@ -48898,7 +48898,9 @@ function validateNoSetStateInPassiveEffects(fn) {
4889848898 const callee = instr.value.kind === 'MethodCall'
4889948899 ? instr.value.receiver
4890048900 : instr.value.callee;
48901- if (isUseEffectHookType(callee.identifier)) {
48901+ if (isUseEffectHookType(callee.identifier) ||
48902+ isUseLayoutEffectHookType(callee.identifier) ||
48903+ isUseInsertionEffectHookType(callee.identifier)) {
4890248904 const arg = instr.value.args[0];
4890348905 if (arg !== undefined && arg.kind === 'Identifier') {
4890448906 const setState = setStateFunctions.get(arg.identifier.id);
@@ -50118,8 +50120,8 @@ function runWithEnvironment(func, env) {
5011850120 if (env.config.validateNoSetStateInRender) {
5011950121 validateNoSetStateInRender(hir).unwrap();
5012050122 }
50121- if (env.config.validateNoSetStateInPassiveEffects ) {
50122- env.logErrors(validateNoSetStateInPassiveEffects (hir));
50123+ if (env.config.validateNoSetStateInEffects ) {
50124+ env.logErrors(validateNoSetStateInEffects (hir));
5012350125 }
5012450126 if (env.config.validateNoJSXInTryStatements) {
5012550127 env.logErrors(validateNoJSXInTryStatement(hir));
@@ -51947,6 +51949,12 @@ const COMPILER_OPTIONS = {
5194751949 flowSuppressions: false,
5194851950 environment: validateEnvironmentConfig({
5194951951 validateRefAccessDuringRender: false,
51952+ validateNoSetStateInRender: true,
51953+ validateNoSetStateInEffects: true,
51954+ validateNoJSXInTryStatements: true,
51955+ validateNoImpureFunctionsInRender: true,
51956+ validateStaticComponents: true,
51957+ validateNoFreezingKnownMutableFunctions: true,
5195051958 }),
5195151959};
5195251960const rule$1 = {
0 commit comments