1
1
[ ![ CircleCI] ( https://img.shields.io/circleci/build/github/briebug/ngrx-auto-entity/develop.svg )] ( https://circleci.com/gh/briebug/ngrx-auto-entity )
2
2
[ ![ Issues] ( https://img.shields.io/github/issues/briebug/ngrx-auto-entity.svg )] ( https://github.com/briebug/ngrx-auto-entity/issues )
3
- [ ![ Version] ( https://img.shields.io/npm/v/@briebug/ngrx-auto-entity.svg )
3
+ ![ Version] ( https://img.shields.io/npm/v/@briebug/ngrx-auto-entity.svg )
4
4
![ Downloads] ( https://img.shields.io/npm/dm/@briebug/ngrx-auto-entity.svg )
5
- ![ Downloads] ( https://img.shields.io/npm/dt/@briebug/ngrx-auto-entity.svg )] ( https://www.npmjs.com/package/@briebug/ngrx-auto-entity )
5
+ [ ![ Downloads] ( https://img.shields.io/npm/dt/@briebug/ngrx-auto-entity.svg )] ( https://www.npmjs.com/package/@briebug/ngrx-auto-entity )
6
6
7
7
8
8
9
9
# NgRX Auto-Entity
10
10
11
11
Automatic entities for [ @ngrx ] ( https://github.com/ngrx/platform ) ! Simplifying reactive state!
12
12
13
+ ** Announcing: ANGULAR 12 is now supported! NgRx Auto-Entity has been updated to support the latest
14
+ versions of Angular, as well as NgRx through version 12. With this update, we have also dropped
15
+ support for Angular 8, meaning the supported versions of angular are 9-12.**
16
+
17
+ ** NOTE: Angular 13 support is being researched. Starting with Ng 13, all View Engine support will
18
+ be dropped from the platform completely. One of our goals with Auto-Entity has been to support
19
+ older versions of angular as long as possible, given the often slower upgrade times for many
20
+ companies. With Ng 13 putting the burden on library developers to support Ivy, that forces
21
+ groups like ourselves to build our library to target specific instruction sets. That will
22
+ increase the challenge of supporting older versions of Angular. As such, we are actively looking
23
+ for ways to deal with that scenario, and hope to be prepared when the time comes.**
24
+
13
25
** NOTE: NgRX Auto-Entity is currently a _ beta_ library. It is in flux as we continue to refine and
14
26
enhance it's functionality, identify and eliminate bugs, optimize it's performance. If you
15
27
find any errors in this documentation, or bugs within the library, please let us know!**
16
28
17
- ** APOLOGIES: For those using NgRx Auto-Entity, we apologize for issues with the recent v0.3.0
18
- release! We used an npm module, uuidv4, and back in november our usage of it was working. It
19
- appears as though that library was changed fairly significantly since then, with the default
20
- import removed. That lead to issues for some people, depending on the version of uuidv4 they
21
- installed/had installed. We have dropped uuidv4 and are now using a small, fast built-in function
22
- instead in v0.3.1 and onward, which should resolve the issues. Again, we apologize for the inconvenience!**
23
-
24
29
## What is it?
25
30
26
31
NgRX Auto-Entity aims to provide a seamless means of dealing with standard entity actions and
@@ -29,10 +34,12 @@ NgRX itself. This library is not a replacement for or alternative to NgRX. It wo
29
34
standard paradigm that NgRX has set forth, making use of actions, reducers & effects like any
30
35
other NgRX application.
31
36
32
- What Auto-Entity does do is provide a set of ready-made, generic actions for handling all of
33
- the standard CRUD operations for entities, so you neither have to write nor generate any of that
34
- code yourself. Auto-Entity generates ** pre-fabricated facades** around NgRx and the store/state,
35
- providing a cohesive, logical and simplified API into your state. Auto-Entity presents a flexible
37
+ What Auto-Entity does do is provide a set of ready-made actions, selectors, effects & a core
38
+ metareducer for handling all of the standard CRUD functionality for entities, so you neither
39
+ have to write nor generate any of that code yourself. Auto-Entity supports implementing applications
40
+ with recommended best practices, including good action hygiene. Auto-Entity also generates
41
+ ** pre-fabricated facades** around NgRx and the store/state, providing a cohesive, logical and
42
+ simplified API into your state for those who prefer facades. Auto-Entity presents a flexible
36
43
framework that you may use in its entirety for all of your entity needs, or use piecemeal as
37
44
necessary in order to achieve your specific goals.
38
45
@@ -43,12 +50,12 @@ custom reducers.
43
50
44
51
# Dependencies
45
52
46
- NgRx Auto-Entity currently depends on Angular 8 +, NgRx 8 + and RxJs 6.
53
+ NgRx Auto-Entity currently depends on Angular 9 +, NgRx 9 + and RxJs 6.
47
54
48
55
49
- [ ![ Deps-AngularCore] ( https://img.shields.io/badge/@angular/core-%5E8 .x-blue.svg )] ( https://github.com/angular/angular )
50
- [ ![ Deps-AngularCommon] ( https://img.shields.io/badge/@angular/common-%5E8 .x-blue.svg )] ( https://github.com/angular/angular )
51
- [ ![ Deps-NgRxStore] ( https://img.shields.io/badge/@ngrx/store-%5E8 .x-blue.svg )] ( https://github.com/ngrx/platform )
56
+ [ ![ Deps-AngularCore] ( https://img.shields.io/badge/@angular/core-%5E9 .x-blue.svg )] ( https://github.com/angular/angular )
57
+ [ ![ Deps-AngularCommon] ( https://img.shields.io/badge/@angular/common-%5E9 .x-blue.svg )] ( https://github.com/angular/angular )
58
+ [ ![ Deps-NgRxStore] ( https://img.shields.io/badge/@ngrx/store-%5E9 .x-blue.svg )] ( https://github.com/ngrx/platform )
52
59
[ ![ Deps-RxJs] ( https://img.shields.io/badge/rxjs-%5E6.x-blue.svg )] ( https://github.com/reactivex/rxjs )
53
60
54
61
# Installation
@@ -85,14 +92,17 @@ If you wish to learn more about how Auto-Entity works, you may jump to the
85
92
- [x] Built-in saving indicator tracking
86
93
- [x] Built-in deleting indicator tracking
87
94
- [x] Built-in entity selection support
95
+ - [x] Dynamically generated per-entity actions
96
+ - [x] Dynamically generated per-entity selectors
88
97
- [x] Pre-fabricated facade generation
89
98
- [x] Generated stub reducers
90
99
- [x] Automatic correlation of related initiating and result actions
91
100
- [x] Enhanced IEntityInfo interface with naming utilities
92
101
- [x] Filtering of entities effects handle
93
102
- [x] Custom transformation of data to and from the server (i.e. ISO date to Date())
94
103
- [x] Optional data loading it not already present, with max age
95
- - [ ] Normalization of API with NgRx 8 functional/factory function architecture
104
+ - [x] Normalization of API with NgRx 8 functional/factory function architecture
105
+ - [ ] Dynamic generate-only-on-use design
96
106
- [ ] Extended effects for loading indicator display, toasts or snackbars, etc.
97
107
- [ ] Filtering of entities meta reducer handles
98
108
- [ ] Pre-fabricated, ready-to-go, reusable entity services
@@ -108,6 +118,8 @@ If you wish to learn more about how Auto-Entity works, you may jump to the
108
118
- [ Jon Rista] ( https://github.com/jrista ) : Design, Architecture & Implementation
109
119
- [ Kevin Schuchard] ( https://github.com/schuchard ) : Design & Implementation
110
120
- [ Brian Love] ( https://github.com/blove ) : Design & Implementation
121
+ - [ Jesse Wells] ( https://github.com/Wells-Codes ) : Implementation
111
122
- [ Alice Paquette] ( https://github.com/paquettealice ) : Implementation
112
123
- [ Patrice Paquette] ( https://github.com/patpaquette ) : Implementation
113
124
- [ Anthony Jones] ( https://github.com/anthonymjones ) : Implementation
125
+
0 commit comments