# See http://help.github.com/ignore-files/ for more about ignoring files.

# compiled output
/dist
/tmp
/out-tsc

# dependencies
/node_modules
/frontend/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
npm-debug.log
yarn-error.log
testem.log
/typings

# System Files
.DS_Store
Thumbs.db

# Linked stylesheets
/frontend/_colors.scss

# Devkit
/frontend/dist

# Backend cache
/backend/__pycache__
# User configuration files
/backend/userfiles

# Compiled tools
/frontend/src/app/netconf-lib
/assets/tools/*.js
/assets/tools/index.html
