# See http://help.github.com/ignore-files/ for more about ignoring files.

# compiled output
dist
dist-server
tmp
out-tsc

# dependencies
node_modules

# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace

# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json

# misc
.sass-cache
connect.lock
coverage
libpeerconnection.log
/publicnpm-debug.log
/publictestem.log
typings

# e2e
e2e/*.js
e2e/*.map

# System Files
.DS_Store
Thumbs.db

#java
.project
.idea/
/target/
.settings*
.classpath
/*.war
/src/main/webapp/*
!/src/main/webapp/META-INF/*
!/src/main/webapp/web.xml
!/src/main/webapp/jetty-web.xml
