Scripts currently use CJS, which is causing a bit of a mess when trying to use shared utilities from the app. Converting everything to ESM so there are fewer conflicts when adding new scripts going forward.
Ensure that resolvers are properly typed by adding a script to generate types from the root schema.