Skip to content

Commit f32ac6f

Browse files
Migrate to Angular 19
1 parent b7b8524 commit f32ac6f

25 files changed

+3800
-4913
lines changed

.eslintrc.json

-36
This file was deleted.

CHANGELOG.md

+8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Changelog
22

3+
## 19.0.0 (2025-01-28)
4+
5+
Changes
6+
7+
- Use Angular 19 (closes #19)
8+
- Mark input `by` of `mfDefaultSorter` as required (breaking!)
9+
- Migrate to Signals (potentially breaking!)
10+
311
## 18.0.0 (2024-08-06)
412

513
Changes

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Table component with sorting and pagination for Angular
2-
It is a forked version of [ng-datatable](https://github.com/cmglez10/ng-datatable) updated to Angular 17. The build pipeline was changed to Angular CLI, which should lead to smaller bundles and ivy compatibility.
2+
It is a forked version of [ng-datatable](https://github.com/cmglez10/ng-datatable) updated to Angular 19 and Signals.
33

44
[![npm version](https://badge.fury.io/js/%40pascalhonegger%2Fng-datatable.svg)](https://badge.fury.io/js/%40pascalhonegger%2Fng-datatable)
55

66
## Installation & Usage example
77

8-
Detailed instructions are available in the [projects/ng-datatable directory](projects/ng-datatable/README.md).
8+
Detailed instructions are available in the [projects/ng-datatable directory](projects/ng-datatable/README.md).

angular.json

+5-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
33
"cli": {
44
"analytics": false,
5-
"schematicCollections": ["@angular-eslint/schematics"]
5+
"schematicCollections": ["angular-eslint"]
66
},
77
"version": 1,
88
"newProjectRoot": "projects",
@@ -43,7 +43,8 @@
4343
"lintFilePatterns": [
4444
"projects/ng-datatable/**/*.ts",
4545
"projects/ng-datatable/**/*.html"
46-
]
46+
],
47+
"eslintConfig": "projects/ng-datatable/eslint.config.mjs"
4748
}
4849
}
4950
}
@@ -144,7 +145,8 @@
144145
"lintFilePatterns": [
145146
"projects/demo/**/*.ts",
146147
"projects/demo/**/*.html"
147-
]
148+
],
149+
"eslintConfig": "projects/demo/eslint.config.mjs"
148150
}
149151
}
150152
}

eslint.config.mjs

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
// @ts-check
2+
import eslint from "@eslint/js";
3+
import tseslint from "typescript-eslint";
4+
import angularEslint from "angular-eslint";
5+
6+
export default tseslint.config(
7+
{
8+
files: ["**/*.ts"],
9+
extends: [
10+
eslint.configs.recommended,
11+
...tseslint.configs.recommended,
12+
...tseslint.configs.stylistic,
13+
...angularEslint.configs.tsRecommended,
14+
],
15+
processor: angularEslint.processInlineTemplates,
16+
rules: {
17+
"@angular-eslint/directive-class-suffix": "off",
18+
"@angular-eslint/component-selector": "off",
19+
"@angular-eslint/component-class-suffix": "off",
20+
"@angular-eslint/no-conflicting-lifecycle": "off",
21+
"@angular-eslint/no-input-rename": "off",
22+
"@angular-eslint/no-output-rename": "off",
23+
"@typescript-eslint/no-explicit-any": "off"
24+
},
25+
},
26+
{
27+
files: ["**/*.html"],
28+
extends: [
29+
...angularEslint.configs.templateRecommended,
30+
...angularEslint.configs.templateAccessibility,
31+
],
32+
rules: {
33+
"@angular-eslint/template/click-events-have-key-events": "off",
34+
"@angular-eslint/template/interactive-supports-focus": "off"
35+
},
36+
}
37+
);

package.json

+25-32
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "ng-datatable",
33
"version": "0.0.0",
4-
"packageManager": "pnpm@9.6.0+sha512.38dc6fba8dba35b39340b9700112c2fe1e12f10b17134715a4aa98ccf7bb035e76fd981cf0bb384dfa98f8d6af5481c2bef2f4266a24bfa20c34eb7147ce0b5e",
4+
"packageManager": "pnpm@9.15.4+sha512.b2dc20e2fc72b3e18848459b37359a32064663e5627a51e4c74b2c29dd8e8e0491483c3abb40789cfd578bf362fb6ba8261b05f0387d76792ed6e23ea3b1b6a0",
55
"scripts": {
66
"ng": "ng",
77
"start": "pnpm run build:lib && ng serve demo",
@@ -19,43 +19,36 @@
1919
},
2020
"private": true,
2121
"dependencies": {
22-
"@angular/animations": "^18.1.3",
23-
"@angular/common": "^18.1.3",
24-
"@angular/compiler": "^18.1.3",
25-
"@angular/core": "^18.1.3",
26-
"@angular/forms": "^18.1.3",
27-
"@angular/platform-browser": "^18.1.3",
28-
"@angular/platform-browser-dynamic": "^18.1.3",
29-
"@angular/router": "^18.1.3",
30-
"bootstrap": "^5.3.2",
22+
"@angular/animations": "^19.1.3",
23+
"@angular/common": "^19.1.3",
24+
"@angular/compiler": "^19.1.3",
25+
"@angular/core": "^19.1.3",
26+
"@angular/forms": "^19.1.3",
27+
"@angular/platform-browser": "^19.1.3",
28+
"@angular/platform-browser-dynamic": "^19.1.3",
29+
"@angular/router": "^19.1.3",
30+
"bootstrap": "^5.3.3",
3131
"rxjs": "~7.8.1",
32-
"tslib": "^2.6.2",
33-
"zone.js": "~0.14.2"
32+
"tslib": "^2.8.1",
33+
"zone.js": "~0.15.0"
3434
},
3535
"devDependencies": {
36-
"@angular-devkit/build-angular": "^18.1.3",
37-
"@angular-eslint/builder": "^18.2.0",
38-
"@angular-eslint/eslint-plugin": "^18.2.0",
39-
"@angular-eslint/eslint-plugin-template": "^18.2.0",
40-
"@angular-eslint/schematics": "^18.2.0",
41-
"@angular-eslint/template-parser": "^18.2.0",
42-
"@angular/cli": "^18.1.3",
43-
"@angular/compiler-cli": "^18.1.3",
44-
"@angular/language-service": "^18.1.3",
45-
"@types/jasmine": "^5.1.2",
46-
"@types/jasminewd2": "^2.0.13",
47-
"@types/node": "^20.9.0",
48-
"@typescript-eslint/eslint-plugin": "^7.2.0",
49-
"@typescript-eslint/parser": "^7.2.0",
50-
"eslint": "^8.57.0",
51-
"jasmine-core": "^5.1.1",
36+
"@angular-devkit/build-angular": "^19.1.4",
37+
"@angular/cli": "^19.1.4",
38+
"@angular/compiler-cli": "^19.1.3",
39+
"@angular/language-service": "^19.1.3",
40+
"@types/jasmine": "^5.1.5",
41+
"angular-eslint": "19.0.2",
42+
"eslint": "^9.16.0",
43+
"jasmine-core": "^5.5.0",
5244
"jasmine-spec-reporter": "~7.0.0",
53-
"karma": "~6.4.2",
45+
"karma": "~6.4.4",
5446
"karma-chrome-launcher": "~3.2.0",
5547
"karma-coverage": "~2.2.1",
5648
"karma-jasmine": "~5.1.0",
5749
"karma-jasmine-html-reporter": "^2.1.0",
58-
"ng-packagr": "^18.1.0",
59-
"typescript": "~5.5.4"
50+
"ng-packagr": "^19.1.1",
51+
"typescript": "~5.7.3",
52+
"typescript-eslint": "8.18.0"
6053
}
61-
}
54+
}

0 commit comments

Comments
 (0)