Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to Angular 17 #256

Open
wants to merge 10 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 10 additions & 5 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,23 @@
version: 2
version: 2.1

jobs:
build:
working_directory: ~/ngrx-auto-entity
docker:
- image: circleci/node:14.15-browsers
- image: cimg/node:lts-browsers
steps:
- checkout
- run: NODE_ENV=ci npm install
- run: npm run lint
- run:
name: Install dependencies
command: NODE_ENV=ci npm ci --silent
- run:
name: Run linting
command: npm run lint
- run:
name: Run tests (with JUnit output)
command: npm run test:ci
environment:
JEST_JUNIT_OUTPUT: "reports/junit/js-test-results.xml"
JEST_JUNIT_OUTPUT: reports/junit/js-test-results.xml
- store_test_results:
path: reports/junit
- store_artifacts:
Expand Down
1 change: 1 addition & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"root": true,
"plugins": ["@typescript-eslint"],
"ignorePatterns": [
"projects/**/*"
],
Expand Down
10 changes: 7 additions & 3 deletions QUICKSTART.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,16 @@ to get rolling as quickly as possible, this guide should get you going fast!

Install @briebug/ngrx-auto-entity from npm:

`npm install @briebug/ngrx-auto-entity` or `yarn add @briebug/ngrx-auto-entity`
- `npm install @briebug/ngrx-auto-entity`,
- `yarn add @briebug/ngrx-auto-entity`, or
- `pnpm add @briebug/ngrx-auto-entity`

If you have not already, install the required peer dependencies as well:

`npm install @ngrx/{effects,store,store-devtools} ngrx-store-freeze` or `yarn add @ngrx/{effects,store,store-devtools} ngrx-store-freeze`

- `npm install @ngrx/{effects,store,store-devtools}`,
- `yarn add @ngrx/{effects,store,store-devtools}`, or
- `pnpm add @ngrx/{effects,store,store-devtools}`

## Setup

### 1: App Module
Expand Down
39 changes: 18 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,6 @@

Automatic entities for [@ngrx](https://github.com/ngrx/platform)! Simplifying reactive state!

**Announcing: ANGULAR 12 is now supported! NgRx Auto-Entity has been updated to support the latest
versions of Angular, as well as NgRx through version 12. With this update, we have also dropped
support for Angular 8, meaning the supported versions of angular are 9-12.**

**NOTE: Angular 13 support is being researched. Starting with Ng 13, all View Engine support will
be dropped from the platform completely. One of our goals with Auto-Entity has been to support
older versions of angular as long as possible, given the often slower upgrade times for many
companies. With Ng 13 putting the burden on library developers to support Ivy, that forces
groups like ourselves to build our library to target specific instruction sets. That will
increase the challenge of supporting older versions of Angular. As such, we are actively looking
for ways to deal with that scenario, and hope to be prepared when the time comes.**

**NOTE: NgRX Auto-Entity is currently a _beta_ library. It is in flux as we continue to refine and
enhance it's functionality, identify and eliminate bugs, optimize it's performance. If you
find any errors in this documentation, or bugs within the library, please let us know!**
Expand All @@ -37,10 +25,10 @@ other NgRX application.
What Auto-Entity does do is provide a set of ready-made actions, selectors, effects & a core
metareducer for handling all of the standard CRUD functionality for entities, so you neither
have to write nor generate any of that code yourself. Auto-Entity supports implementing applications
with recommended best practices, including good action hygiene. Auto-Entity also generates
with recommended best practices, including good action hygiene. Auto-Entity also generates
**pre-fabricated facades** around NgRx and the store/state, providing a cohesive, logical and
simplified API into your state for those who prefer facades. Auto-Entity presents a flexible
framework that you may use in its entirety for all of your entity needs, or use piecemeal as
framework that you may use in its entirety for all of your entity needs, or use piecemeal as
necessary in order to achieve your specific goals.

While it is not required and Auto-Entity is an entirely independent library that solely depends
Expand All @@ -50,23 +38,32 @@ custom reducers.

# Dependencies

NgRx Auto-Entity currently depends on Angular 9+, NgRx 9+ and RxJs 6.
NgRx Auto-Entity is compatible with the following versions.

| NgRx Auto Entity | Angular Core | NgRx | RxJs |
|------------------|--------------|-------------|------|
| 17.x | 17.x | 17.x | 7.x |
| 13.x | 13.x - 16.x | 13.x - 16.x | 7.x |
| 12.x | 12.x | 12.x | 6.x |

[![Deps-AngularCore](https://img.shields.io/badge/@angular/core-%5E9.x-blue.svg)](https://github.com/angular/angular)
[![Deps-AngularCommon](https://img.shields.io/badge/@angular/common-%5E9.x-blue.svg)](https://github.com/angular/angular)
[![Deps-NgRxStore](https://img.shields.io/badge/@ngrx/store-%5E9.x-blue.svg)](https://github.com/ngrx/platform)
[![Deps-AngularCore](https://img.shields.io/badge/@angular/core-%5E12.x-blue.svg)](https://github.com/angular/angular)
[![Deps-AngularCommon](https://img.shields.io/badge/@angular/common-%5E12.x-blue.svg)](https://github.com/angular/angular)
[![Deps-NgRxStore](https://img.shields.io/badge/@ngrx/store-%5E12.x-blue.svg)](https://github.com/ngrx/platform)
[![Deps-RxJs](https://img.shields.io/badge/rxjs-%5E6.x-blue.svg)](https://github.com/reactivex/rxjs)

# Installation

Install @briebug/ngrx-auto-entity from npm:

`npm install @briebug/ngrx-auto-entity` or `yarn add @briebug/ngrx-auto-entity`
- `npm install @briebug/ngrx-auto-entity`,
- `yarn add @briebug/ngrx-auto-entity`, or
- `pnpm add @briebug/ngrx-auto-entity`

If you have not already, install the required peer dependencies as well:

`npm install @ngrx/{effects,store,store-devtools}` or `yarn add @ngrx/{effects,store,store-devtools}`
- `npm install @ngrx/{effects,store,store-devtools}`,
- `yarn add @ngrx/{effects,store,store-devtools}`, or
- `pnpm add @ngrx/{effects,store,store-devtools}`

## Quick Start

Expand Down Expand Up @@ -119,7 +116,7 @@ If you wish to learn more about how Auto-Entity works, you may jump to the
- [Kevin Schuchard](https://github.com/schuchard): Design & Implementation
- [Brian Love](https://github.com/blove): Design & Implementation
- [Jesse Wells](https://github.com/Wells-Codes): Implementation
- [Alice Paquette](https://github.com/paquettealice): Implementation
- [Alice Paquette](https://github.com/paquettealice): Implementation
- [Patrice Paquette](https://github.com/patpaquette): Implementation
- [Anthony Jones](https://github.com/anthonymjones): Implementation

19 changes: 14 additions & 5 deletions angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -104,18 +104,18 @@
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "test-app:build"
"buildTarget": "test-app:build"
},
"configurations": {
"production": {
"browserTarget": "test-app:build:production"
"buildTarget": "test-app:build:production"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "test-app:build"
"buildTarget": "test-app:build"
}
},
"test": {
Expand Down Expand Up @@ -187,8 +187,17 @@
}
}
},
"defaultProject": "test-app",
"cli": {
"defaultCollection": "@angular-eslint/schematics"
"schematicCollections": [
"@angular-eslint/schematics"
]
},
"schematics": {
"@angular-eslint/schematics:application": {
"setParserOptionsProject": true
},
"@angular-eslint/schematics:library": {
"setParserOptionsProject": true
}
}
}
Loading