News API - is a simple HTTP REST API for searching and retrieving news from all over the web.
- Copy the code sources
- Add TypeScript to your project
- Configure ESLint to work with TypeScript
- Configure Webpack to work with TypeScript
- Migrate provided application from JavaScript to TypeScript
- Necessary to use
- Enum
- Interface
- Type
- Generic
- Union
- Private, public
- Partial, pick, readonly
- Type any is forbidden to use
- Adaptive layout, design is up to you
- the layout of the application corresponds to the proposed one or improved version
- the layout is adaptive. The minimum page width is 320px, the maximum page width is 1920px
- the footer contains a link to your github, date (month, year), course logo with course link
Typescript
is added to your application- added
npm
packageTypescript
- created
tscongig.json
file
- added
ESLint
andWebpack
configured to work withTypescript
ESLint
uses the plugintypescript-eslint/recommended
- Your copy of application works in Google Chrome
- Files with
*.js
extension renamed to files with*.ts
extension - Created all necessary interfaces to work with API
- Files with
- Code has strict typing
- all variable, functions' and methods' parameters has type, as well as specified returning type
- the interfaces are using in the code
- enums, generics, partial and so on are created and are using in the code
- Next flags are presented in the configuration file
"noImplicitAny": true
"strict": true
- The rule
no-explicit-any
is switched on - The layout is not breaking during the resize of the page, page elements are on the appropriate place (is not out of content)
- Commit names according to the guideline +10
- The application fully migrated to Typescript +50
- Configured ESLint, there are no errors +10
- There is no 'any' +10
- There are flags
"noImplicitAny": true
and"strict": true
in the configuration file +10 - Webpack is configured in order to typescript +10
- Adaptive layout +20
- Add own design or improvements (in the PR should be information what exactly) +20
- There are no significant comments related to the code +30
- There is 'any' in the code -20
- There is no type for some variables, parameters and so on -20
- There are no mandatory flags in the configuration file -20
- The layout is not adaptive -20