Switches all samples to use eslint 9 with flat configs. I've tried to migrate existing settings as much as possible. However our eslint configs were also inconsistent so I've tried to align these too
Also bumps `@types/node` to fix compat issues with new TS lib typings