# Ignore everything
# We are making prettier opt in for the moment while we work on the rollout
# !*/ means do not ignore recursive directories
# Together these work togather to make nothing opted-in by default
*
!*/

# Do not ignore markdown and yaml
# We are only going to do markdown and yaml file formatting for now
# Hopefully we will use prettier for more file types in the future
!*.md
!*.yml
!*.yaml
!*.idl

# Opt in specific JS file paths
!*.mjs

# Ignore all golden test output files, which are machine-generated by the "golden"
# jstests. We would have to be able to run prettier (via bazel) during a jstest
# in order to format the "actual" output of the test so that we can safely diff it
# against the expected output, or accept the new output without needing to reformat.
# However, due to difficulties in running bazel within a jstest on evergreen, we
# will avoid formatting these files for now (see SERVER-93772).
jstests/*golden*/expected_output/*

# Ignore all template files
# When we eventually enable prettier on javascript these files are invalid and should be ignored
**/*.tpl.*

# Ignore .yy files since prettier seems to think these are json files
**/*.yy

# Ignore generated pnpm lock file
pnpm-lock.yaml

# Ignore version expansions that are created in evergreen
version_expansions.yml

# Ignore all formatting in third_party/*
src/third_party

# this file is automatically generated and conforms to formatting requirements
README.third_party.md

# Ignore anything in the build output directories
build
bazel-*

# Streams specific
src/mongo/db/modules/enterprise/src/streams/third_party/mongocxx/dist