Warning: This is not a complete production-ready library for entity-component-system.
This is only my thoughts about how the modern entity-component-system should look.
Data-oriented design for components storage. Storages support reordering to reduce 'fragmentation.'
Compile-time type check fully compatible with C++ types
Multithreading friendly. There should be no data dependencies that limit the parallel processing. Systems must know what data they need only for reading, and which ones to modify.
Systems(Processes) can control the order of updating entities. Should be easy to create a parent/child relationship.
Support for a large number of entities (100K+) The worst complexity of the any algorithm must be O(n) or better.
The main difference from other entity-component-system frameworks is ReMap, Fold and Reorder concept. When the system(process) receives notification about a new entity, the process can determine the key for this entity. After the keys of all entities are defined, the entities are updated in the order that is defined by the key.
Useful reading (in random order):
Theory and Practice of Game Object Component Architecture by Marcin Chady
Game Architecture and Components Systems in Lumberyard by Rosen Baklov and Bill Merrill
A Data - Driven Game Object System by Scott Bilas
Entity Systems are the future of MMOG development by Adam Martin
"Overwatch" Gameplay Architecture and Netcode (pay wall)
Unite Austin 2017 - Writing High Performance C# Scripts by Joachim Ante
A Dynamic Component Architecture for High Performance Gameplay by Terrance Cohen
Pitfalls of Object Oriented Programming by Tony Albrecht
Implementation of a component-based entity system in modern C++ by Vittorio Romeo
Evolve Your Hierarchy by Mick West
Component-oriented design on consoles by Boris Batkin (in Russian)
Object Systems by Doug Church
Building a Data-Oriented Entity System (Bitsquid engine) by Niklas Gray
Comparison of Doom 1, Quake, and Doom 3 entity references system by Guillaume Chereau
A flexible and expandable architecture for computer games by Jeff Plummer
The Components and Systems of Morgan's Raid by Paul Gestwicki
Dungeon Siege by Scott Bilas
Data Structures for Entity Systems: Contiguous memory by Adam Martin