File Structure for GraphQL modules should match the following.
Rules of thumb for file structure.
- Top level files should be the type-defs file as well as the module and an index file to export the module.
Rules of thumb for file structure:
- Top level module files should be the type-defs file, the module file and the index file to export the module
- Resolvers should be nested within a resolvers folder. Each resolver should be broken out into its own file.
- Resolvers folders should have an index file to export the resolvers to be used outside of the folder.
- Test files should live at the same level as the file under test. Test files should share the same name as the file under test with the extension .test.js
- helper files are common functions that are not a resolver. They are nested under a helpers folder and may be imported by multiple resolvers for use. The helpers folder should have an index to export multiple helper files.

File Naming
File names should be kebab-case. Kebab case file names avoid common issues seen with camelCase. Since mac and linux file systems have conflicting case sensitivity for file names, camelCase can cause difficult issues in mac with git when the casing of a file changes. This casing issue is completely avoided with kebab-case.