- upgrade to latest packages
- cast `req.user` as `UserDocument`
- update logger to use latest Winston syntax
- disable `no-inferrable-types`, Mongoose use unified topology
Thx to @CarlosSolrac
This commit rewrites linting support in the project to be based solely
on the ESLint as advised by the TSLint tool authors:
https://medium.com/palantir/tslint-in-2019-1a144c2317a9
The migration is based on default, recommended settings for TypeScript
in ESLint and is expected to be updated in future to better fit project
goals.
All references has been updated and replaced with relevant ESLint
context:
- dependencies migration from TSLint to ESLint
- VSCode configuration changes to support ESLint exension
- VSCode extensions recommendation changes
- `.eslintrc` and `.eslintignore` configuration files added
- all error level problems in the source files are covered by this
migration
Thanks!
The commit brings compatibility with new features introduced in TypeScript 2.7.
The one with most impact on this project is ES6/ECMAScript module compatibility layer
added in 2.7 enabled in tsconfig.json for this project.
This allowed to rewrite source files to use shorted, better imports everywhere and
also use default exports.
To make project more aligned with updated TypeScript all the NPM depenendencies has been
updated making sure that everything works as expected and tests pass.
Thanks for the project!
Thanks!