Skip to content

Commit d0fde9e

Browse files
feat(ref: no-ref): update ng 19
* fix(ref: no-ref): updage ng 19 * fix(ref: no-ref): updage ng 19 * fix(ref: no-ref): update ng 19 * fix(ref: no-ref): add ngxtension
1 parent 4a1d671 commit d0fde9e

18 files changed

+95
-64
lines changed

.stylelintignore

-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
/tmp
44
/out-tsc
55
/bazel-out
6-
/src/styles.scss
76

87
# Node
98
/node_modules

.stylelintrc.json

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"extends": ["stylelint-config-recommended-scss"],
33
"customSyntax": "postcss-scss",
4-
"plugins": ["stylelint-prettier"],
4+
"plugins": ["stylelint-scss", "stylelint-prettier"],
55
"rules": {
66
"no-empty-source": null,
77
"scss/comment-no-empty": null,
@@ -12,6 +12,12 @@
1212
{
1313
"ignoreTypes": ["/^mat-/", "markdown", ":host", ":root"]
1414
}
15+
],
16+
"scss/at-rule-no-unknown": [
17+
true,
18+
{
19+
"ignoreAtRules": ["tailwind"]
20+
}
1521
]
1622
}
1723
}

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
# 19.0.0(2024-11-21)
2+
3+
### Feature
4+
5+
- update ng 19.x
6+
17
# 18.0.4(2024-10-25)
28

39
### Feature

bun.lockb

74 KB
Binary file not shown.

eslint.config.js

+11-7
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,10 @@ module.exports = tseslint.config(
3535
// Everything in this config object targets our TypeScript files (Components, Directives, Pipes etc)
3636
files: ['**/*.ts'],
3737
extends: [
38-
// Apply the recommended core rules
3938
eslint.configs.recommended,
40-
// Apply the recommended TypeScript rules
41-
...tseslint.configs.recommended,
42-
// Optionally apply stylistic rules from typescript-eslint that improve code consistency
43-
...tseslint.configs.stylistic,
44-
// Apply the recommended Angular rules
39+
...tseslint.configs.recommendedTypeChecked,
40+
...tseslint.configs.strictTypeChecked,
41+
...tseslint.configs.stylisticTypeChecked,
4542
...angular.configs.tsRecommended,
4643
],
4744
// Set the custom processor which will allow us to have our inline Component templates extracted
@@ -104,7 +101,6 @@ module.exports = tseslint.config(
104101
'no-unused-private-class-members': 'error',
105102
'no-invalid-regexp': 'error',
106103
curly: ['error', 'all'],
107-
'@typescript-eslint/restrict-template-expressions': 'error',
108104
'@typescript-eslint/no-explicit-any': 'off',
109105
'@typescript-eslint/adjacent-overload-signatures': 'error',
110106
'no-console': ['warn'],
@@ -157,6 +153,14 @@ module.exports = tseslint.config(
157153
'@typescript-eslint/unbound-method': 'off',
158154
'import/no-cycle': 'off',
159155
'import/extensions': 'off',
156+
'@typescript-eslint/no-unsafe-call': 'off',
157+
'@typescript-eslint/restrict-template-expressions': [
158+
'error',
159+
{
160+
allowNullish: true,
161+
allowNumber: true,
162+
},
163+
],
160164
},
161165
},
162166
{

package.json

+39-35
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ngx-loader-indicator",
3-
"version": "18.0.4",
3+
"version": "19.0.0",
44
"description": "The best directive without wrapping your element to additional component",
55
"license": "MIT",
66
"keywords": [
@@ -36,63 +36,67 @@
3636
"url": "https://github.com/JsDaddy/ngx-loader-indicator.git"
3737
},
3838
"dependencies": {
39-
"@angular/animations": "18.2.9",
40-
"@angular/common": "18.2.9",
41-
"@angular/compiler": "18.2.9",
42-
"@angular/core": "18.2.9",
43-
"@angular/forms": "18.2.9",
44-
"@angular/platform-browser": "18.2.9",
45-
"@angular/platform-browser-dynamic": "18.2.9",
46-
"@angular/router": "^18.2.9",
47-
"core-js": "3.38.1",
39+
"@angular/animations": "19.0.0",
40+
"@angular/common": "19.0.0",
41+
"@angular/compiler": "19.0.0",
42+
"@angular/core": "19.0.0",
43+
"@angular/forms": "19.0.0",
44+
"@angular/platform-browser": "19.0.0",
45+
"@angular/platform-browser-dynamic": "19.0.0",
46+
"@angular/router": "^19.0.0",
47+
"core-js": "3.39.0",
4848
"highlight.js": "^11.10.0",
4949
"ngx-highlightjs": "^12.0.0",
50+
"ngxtension": "4.1.0",
5051
"rxjs": "7.8.1"
5152
},
5253
"devDependencies": {
53-
"@angular-devkit/build-angular": "18.2.10",
54-
"@angular-eslint/builder": "18.4.0",
55-
"@angular-eslint/eslint-plugin": "18.4.0",
56-
"@angular-eslint/eslint-plugin-template": "18.4.0",
57-
"@angular-eslint/schematics": "18.4.0",
58-
"@angular-eslint/template-parser": "18.4.0",
59-
"@angular/cli": "18.2.10",
60-
"@angular/compiler-cli": "18.2.9",
61-
"@angular/language-service": "18.2.9",
62-
"@commitlint/cli": "19.5.0",
63-
"@commitlint/config-conventional": "19.5.0",
54+
"@angular-devkit/build-angular": "19.0.0",
55+
"@angular-eslint/builder": "18.4.1",
56+
"@angular-eslint/eslint-plugin": "18.4.1",
57+
"@angular-eslint/eslint-plugin-template": "18.4.1",
58+
"@angular-eslint/schematics": "18.4.1",
59+
"@angular-eslint/template-parser": "18.4.1",
60+
"@angular/cli": "19.0.0",
61+
"@angular/compiler-cli": "19.0.0",
62+
"@angular/language-service": "19.0.0",
63+
"@commitlint/cli": "19.6.0",
64+
"@commitlint/config-conventional": "19.6.0",
6465
"@types/jasmine": "5.1.4",
6566
"@types/jasminewd2": "2.0.13",
66-
"@types/node": "22.7.9",
67-
"@typescript-eslint/eslint-plugin": "8.11.0",
67+
"@types/node": "22.9.1",
68+
"@typescript-eslint/eslint-plugin": "8.15.0",
6869
"@web/test-runner": "^0.19.0",
69-
"angular-eslint": "^18.4.0",
70-
"eslint": "9.13.0",
70+
"angular-eslint": "^18.4.1",
71+
"eslint": "9.15.0",
7172
"eslint-config-prettier": "9.1.0",
7273
"eslint-plugin-import": "2.31.0",
7374
"eslint-plugin-json": "4.0.1",
7475
"eslint-plugin-prettier": "5.2.1",
7576
"jasmine-core": "5.4.0",
7677
"jasmine-spec-reporter": "7.0.0",
7778
"lint-staged": "15.2.10",
78-
"ng-packagr": "18.2.1",
79-
"npm-check-updates": "^17.1.6",
80-
"postcss-scss": "4.0.9",
79+
"ng-packagr": "19.0.0",
80+
"npm-check-updates": "^17.1.11",
8181
"prettier": "3.3.3",
82-
"puppeteer": "23.6.0",
83-
"semantic-release": "24.1.3",
82+
"puppeteer": "23.9.0",
83+
"semantic-release": "24.2.0",
8484
"semantic-release-export-data": "1.1.0",
85-
"snyk": "^1.1294.0",
85+
"snyk": "^1.1294.1",
8686
"stylelint": "16.10.0",
8787
"stylelint-config-prettier": "9.0.5",
8888
"stylelint-config-recommended-scss": "14.1.0",
8989
"stylelint-prettier": "5.0.2",
9090
"ts-node": "10.9.2",
9191
"type-coverage": "^2.29.7",
92-
"typescript": "5.4.5",
93-
"typescript-eslint": "^8.11.0",
94-
"tailwindcss": "^3.4.14",
95-
"bun-types": "^1.1.33"
92+
"typescript": "5.6.3",
93+
"typescript-eslint": "^8.15.0",
94+
"tailwindcss": "^3.4.15",
95+
"bun-types": "^1.1.36",
96+
"postcss": "8.4.49",
97+
"postcss-nesting": "13.0.1",
98+
"cssnano": "7.0.6",
99+
"postcss-scss": "4.0.9"
96100
},
97101
"typeCoverage": {
98102
"atLeast": 98,

postcss.config.js

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
module.exports = {
2+
plugins: {
3+
'postcss-nesting': {},
4+
tailwindcss: {},
5+
autoprefixer: {},
6+
cssnano: { preset: 'default' },
7+
},
8+
};

projects/ngx-loader-indicator-lib/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ngx-loader-indicator",
3-
"version": "18.0.4",
3+
"version": "19.0.0",
44
"description": "The best directive without wrapping your element to additional component",
55
"license": "MIT",
66
"keywords": [
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
describe('First test group', () => {
22
it('First test', () => {
3-
expect(1).toEqual(1);
3+
void expect(1).toEqual(1);
44
});
55
});

projects/ngx-loader-indicator-lib/src/lib/ngx-loader-indicator.directive.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,22 @@ export class NgxLoaderIndicatorDirective {
2121
}
2222
private processValue(value: boolean) {
2323
if (!value) {
24-
if (this.loaderEl) {
24+
if (this.loaderEl instanceof HTMLDivElement) {
2525
this._setStyles(this.loaderEl, { display: 'none' });
2626
}
2727
return;
2828
}
2929
const { rotate, hostStyles, loaderStyles, imgStyles, img } = this._config;
3030

31-
this.loaderEl = this._renderer.createElement('div');
32-
const imgEl = this._renderer.createElement('img');
31+
this.loaderEl = this._renderer.createElement('div') as HTMLDivElement;
32+
const imgEl = this._renderer.createElement('img') as HTMLImageElement;
3333

3434
imgEl.animate([{ transform: 'rotate(360deg)' }, { transform: 'rotate(0deg)' }], rotate);
3535

3636
this._renderer.appendChild(this._el.nativeElement, this.loaderEl);
3737
this._renderer.appendChild(this.loaderEl, imgEl);
3838

39-
this._setStyles(this._el.nativeElement, hostStyles);
39+
this._setStyles(this._el.nativeElement as HTMLElement, hostStyles);
4040
this._setStyles(this.loaderEl, loaderStyles);
4141
this._setStyles(imgEl, imgStyles);
4242

projects/ngx-loader-indicator-lib/src/lib/ngx-loader-indicator.providers.ts

+3-5
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,9 @@ export function _configFactory(
1212
initConfig: optionsConfig,
1313
configValue: optionsConfig
1414
): optionsConfig {
15-
const loaderStyles: Config['loaderStyles'] | null = configValue
16-
? configValue.loaderStyles
17-
: null;
18-
const imgStyles: Config['imgStyles'] | null = configValue ? configValue.imgStyles : null;
19-
const rotate: Config['rotate'] | null = configValue ? configValue.rotate : null;
15+
const loaderStyles: Config['loaderStyles'] | null = configValue.loaderStyles ?? null;
16+
const imgStyles: Config['imgStyles'] | null = configValue.imgStyles ?? null;
17+
const rotate: Config['rotate'] | null = configValue.rotate ?? null;
2018

2119
return {
2220
...initConfig,

src/app/app.component.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
describe('App component', () => {
22
it('First test', () => {
3-
expect(1).toEqual(1);
3+
void expect(1).toEqual(1);
44
});
55
});

src/app/cards/cards.component.ts

-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import { HighlightModule } from 'ngx-highlightjs';
44
import { NgxLoaderIndicatorDirective } from 'ngx-loader-indicator';
55
import { CardItem } from './cards.type';
66
import { ScrollService } from '@open-source/scroll/scroll.service';
7-
import { ColorPipe } from '@open-source/color/color.pipe';
87
import { AssetPipe } from '@libraries/asset/asset.pipe';
98
import { CustomLoaderComponent } from '../custom-loader/custom-loader.component';
109
import { FormComponent } from '../shared/form/form.component';
@@ -19,7 +18,6 @@ import { toSignal } from '@angular/core/rxjs-interop';
1918
NgOptimizedImage,
2019
HighlightModule,
2120
NgxLoaderIndicatorDirective,
22-
ColorPipe,
2321
AssetPipe,
2422
CustomLoaderComponent,
2523
FormComponent,

src/app/custom-loader/custom-loader.component.ts

+1
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,5 @@ import { NgxLoaderIndicatorDirective, provideNgxLoaderIndicator } from 'ngx-load
2525
}),
2626
],
2727
})
28+
// eslint-disable-next-line @typescript-eslint/no-extraneous-class
2829
export class CustomLoaderComponent {}

src/main.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,7 @@ bootstrapApplication(AppComponent, {
3030
},
3131
},
3232
],
33+
}).catch((err: unknown) => {
3334
// eslint-disable-next-line no-console
34-
}).catch((err) => console.error(err));
35+
console.error(err);
36+
});

src/styles.scss

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
@use './libraries/styles/scroll-bar';
2+
13
@tailwind base;
24
@tailwind components;
35
@tailwind utilities;

tsconfig.json

+7-4
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,17 @@
2727
"resolveJsonModule": true,
2828
"allowSyntheticDefaultImports": true,
2929
"paths": {
30-
"ngx-loader-indicator": ["./projects/ngx-loader-indicator-lib/src/public-api"],
30+
"@libraries/*": ["./src/libraries/*"],
3131
"@open-source/*": ["./src/libraries/open-source/*"],
32-
"@libraries/*": ["./src/libraries/*"]
32+
"ngx-loader-indicator": ["./projects/ngx-loader-indicator-lib/src/public-api"]
3333
},
3434
"skipLibCheck": true,
35-
"noImplicitAny": true
35+
"noImplicitAny": true,
36+
"isolatedModules": true
3637
},
3738
"angularCompilerOptions": {
3839
"enableI18nLegacyMessageIdFormat": false,
40+
"strictStandalone": true,
3941
"strictInjectionParameters": true,
4042
"strictInputAccessModifiers": true,
4143
"strictTemplates": true,
@@ -44,7 +46,8 @@
4446
"extendedDiagnostics": {
4547
"checks": {
4648
"invalidBananaInBox": "error",
47-
"nullishCoalescingNotNullable": "warning"
49+
"nullishCoalescingNotNullable": "warning",
50+
"unusedStandaloneImports": "suppress"
4851
},
4952
"defaultCategory": "suppress"
5053
}

0 commit comments

Comments
 (0)