Resolving TypeScript's Lack of Error for Unprovided Service in Effect

I'm kinda lost, TBH.
I have the following effect:
export function androidLint(
  inputs: Inputs,
): Effect.Effect<
  void,
  Error | PlatformError,
  ActionOutputs | FileSystem.FileSystem
> {
  return pipe(
    runAction(inputs),
    Effect.provideService(ReviewDogTag, reviewdog.ReviewDogImplementation),
    Effect.provideService(XmlConverterTag, {
      convertLintToCheckstyle: (
        inputFilePath: string,
        outputFilePath: string,
      ) =>
        convertLintToCheckstyle(
          inputFilePath,
          outputFilePath,
          getDefaultConfig(),
        ),
    }),
  );
}

When I'm calling it in the entrypoint of the application, TypeScript don't give me any errors for some reason, but it should, since I did not provide the FileSystem:
const outputs = new CoreOutputs();
const inputs = new CoreInputs();
const program = pipe(
  androidLint(inputs),
  Effect.provide(Layer.succeed(ActionOutputs, outputs)),
);

NodeRuntime.runMain(program, {
  teardown: function teardown(exit, onExit) {
    if (Exit.isFailure(exit) && !Cause.isInterruptedOnly(exit.cause)) {
      core.setFailed(exit.cause.toString());
      onExit(1);
    } else {
      onExit(0);
    }
  },
});


This result in a runtime error, as expected:
::error::Error: Service not found: @effect/platform/FileSystem


How do I fix it so that FileSystem becomes a requirement so that TypeScript will give me an error?
Was this page helpful?