# Keep following lines sorted according to `LC_COLLATE=C sort`
*.code-workspace
*.eml
*.iml
*.log
*.pyc
*.sublime-*
*.swp
*~
.DS_Store
js-to-ts.sh
/.apt_generated
/.apt_generated_tests
/.bazel_path
/.classpath
/.factorypath
/.idea
/.ijwb
/.metadata
/.project
/.settings/org.eclipse.ltk.core.refactoring.prefs
/.settings/org.eclipse.m2e.core.prefs
/.settings/org.maven.ide.eclipse.prefs
/.vscode
/bazel-*
/bin/
/bower_components/
/eclipse-out
/extras
/gerrit-package-plugins
/infer-out
/local.properties
/node_modules/
/polygerrit-ui/node_modules/
/polygerrit-ui/app/node_modules/
/package-lock.json
/plugins/*
/polygerrit-ui/coverage/
/polygerrit-ui/app/plugins/*
/polygerrit-ui/screenshots/Chrome/failed/
!/plugins/.eslintignore
!/plugins/.eslintrc.js
!/plugins/.prettierrc.js
!/plugins/package.json
!/plugins/rollup.config.js
!/plugins/tsconfig.json
!/plugins/tsconfig-plugins-base.json
!/plugins/yarn.lock
!/plugins/BUILD
!/plugins/codemirror-editor
!/plugins/commit-message-length-validator
!/plugins/delete-project
!/plugins/download-commands
!/plugins/external_plugin_deps.bzl
!/plugins/gitiles
!/plugins/hooks
!/plugins/plugin-manager
!/plugins/replication
!/plugins/reviewnotes
!/plugins/singleusergroup
!/plugins/webhooks
/test_site
/tools/format
/tools/maven/gerrit-*_pom.xml.asc
/tools/node_tools
/tools/polygerrit-updater
/.ts-out/*
!/.ts-out/README.md
