Removing explicit casts from req.app.settings.providers and using
a function.
Switching from Mocha (which was mostly unused) to Jest.
Moving around type definitions and interfaces in a big way to try
and cleanup some legacy.
For improved type safety, this uses a function to return the
IProviders instance from the Express app, replacing all instances
of using req.app.settings.providers as IProviders, etc.
This may also make everything slightly more testable, eventually.
- remove 'use strict' from TS files (implicit)
- converting more exports to modern export defaults
- connecting to support for corporate "profile" apps to remove
corp-specific work
- fixes a small bug in the cache provider for Cosmos
During the month of May and June, we forked this application internally
as part of a specific set of temporary changes. To converge once again
with the open source version and make it easier to collaborate with others,
this brings the latest changes up.
There is a need to refactor and feature flag the service account piece into
the newer experience as new debt.
Features
- Team pages now encourage native GitHub.com use for management
- Adding vote capabilities for FOSS Fund (a specialized feature only)
Bug fixes
- Fix for GitHub REST API request endpoints using `requestAsPost`
Chores
- Removing async library
- Cleaner throttle use through a newer `throat` library version and removing confusing typings
- Removes dead code
- Entity metadata providers are moving to a decoupled query and type system vs declarative shared enum sets
- Firehose code is now using await/async and staggers logical threads evenly
- Newer versions of all core dependencies
- More routes imported as modules instead of through `require`
- Enables GitHub App-based server-to-server communication
- Enables dynamic (database-backed) organization setting configuration
- QueryCache system, when paired with a Postgres database and GitHub App webhooks keeps teams, repo lists, etc. up-to-date more efficiently than the older GitHub REST API-based method
- Various bug fixes
- Entities (links, join requests, repo metadata) refactored
- Entities can be stored in Postgres, Azure Table, or memory
- Introduces a quickstart memory provider mode
- Evolution of more classes and methods to ES6, await/async, TypeScript typings
- Updates of package versions
Major updates to the application, including some minor breaking changes.
The public updates (that make it less Microsoft-specific) are still in
development; this represents trying to get it ready for updates.