خطای ERESOLVE در نصب وابستگیها به دلیل تعارض نسخه TypeScript:
- پروژه Angular 20 از TypeScript ~5.8.2 استفاده میکند
- package-lock.json دارای وابستگیهای قدیمی (Angular 15) است
- @angular-devkit/build-angular@15.2.11 نیاز به TypeScript <5.0 دارد
- @angular/build@20.1.4 نیاز به TypeScript >=5.8 <6.0 دارد
- حذف package-lock.json برای حذف وابستگیهای قدیمی
- حذف node_modules برای پاکسازی کامل
- نصب مجدد وابستگیها با npm install
مشکل تعارض وابستگیها با موفقیت حل شد:
- package-lock.json و node_modules حذف شدند
- وابستگیها با موفقیت نصب شدند (636 بسته)
- هیچ خطای ERESOLVE یا تعارض وابستگی وجود ندارد
- هیچ آسیبپذیری امنیتی شناسایی نشد (0 vulnerabilities)
- تمام وابستگیها با Angular 20 و TypeScript 5.8.2 سازگار هستند
- پروژه آماده استفاده است
- تمام وابستگیها بهروز و سازگار هستند
- میتوان دستورات build و serve را اجرا کرد
- بهروزرسانی تمام پکیجهای Angular از ^20.1.0 به ^21.0.0:
- @angular/common, @angular/compiler, @angular/core, @angular/forms
- @angular/platform-browser, @angular/platform-browser-dynamic, @angular/router
- @angular/material از ^20.1.5 به ^21.0.0
- بهروزرسانی devDependencies:
- @angular/build از ^20.1.4 به ^21.0.0
- @angular/cli از ^20.1.4 به ^21.0.0
- @angular/compiler-cli از ^20.1.0 به ^21.0.0
- ng-packagr از ^20.1.0 به ^21.0.0
- بهروزرسانی TypeScript از ~5.8.2 به ~5.9.0
- بهروزرسانی @ngrx/store از ^20.0.0 به ^21.0.0
- بهروزرسانی ngx-bootstrap از ^20.0.0 به ^21.0.0
- بهروزرسانی peerDependencies در تمام پروژهها:
- ntk-cms-api
- ngx-ntk-icon-picker
- ngx-ntk-cron-editor
- ngx-ntk-mat-color-picker
- ngx-ntk-file-picker
- ngx-ntk-query-builder
- ntk-cms-fileuploader
- ntk-cms-filemanager
- ngx-ntk-smart-module
- تمام peerDependencies از ^20.1.0 به ^21.0.0 بهروزرسانی شدند
- بهروزرسانی target در tsconfig.json از ES2022 به ES2023
- حفظ تمام تنظیمات دیگر برای سازگاری
- تبدیل constructor injection به inject() در app.ts:
- استفاده از
inject(TranslateService)به جای constructor injection
- استفاده از
- تبدیل control flow قدیمی به جدید در app.html:
- تبدیل
*ngForبه@forبا track function - استفاده از syntax جدید Angular 21
- تبدیل
پروژه با موفقیت برای Angular 21 آماده شد:
- تمام package.json ها (اصلی و فرعی) بهروزرسانی شدند
- TypeScript به نسخه 5.9.0 بهروزرسانی شد
- tsconfig.json برای ES2023 تنظیم شد
- کدها برای استفاده از Best Practices Angular 21 بهروزرسانی شدند
- استفاده از inject() به جای constructor injection
- استفاده از control flow جدید (@for) به جای *ngFor
- پروژه آماده برای نصب وابستگیهای Angular 21 است
- تمام تنظیمات برای Angular 21 پیکربندی شدهاند
- کدها از Best Practices Angular 21 استفاده میکنند
- وابستگیها با موفقیت نصب شدند (614 بسته)
- تمام library های پروژه با موفقیت build شدند
- پروژه اصلی با موفقیت build شد (1.82 MB initial bundle)
- Angular 21 منتشر شده است (نسخه 21.0.6 آخرین نسخه است)
ngx-bootstrapهنوز برای Angular 21 بهروزرسانی نشده است (آخرین نسخه 20.0.2 است)- نصب با
--legacy-peer-depsانجام شد تا تعارض peer dependencies حل شود - تمام آسیبپذیریهای امنیتی برطرف شدند (0 vulnerabilities)
matDatepickerAnimationsدر Angular 21 حذف شده و با animation های سفارشی جایگزین شدevent.keyCodedeprecated شده و باevent.keyجایگزین شد
پروژه با موفقیت build شد و تمام خطاها رفع شدند:
- تمام library های پروژه build شدند
- خطاهای مربوط به @angular/cdk و @angular/animations رفع شدند
- خطاهای مربوط به matDatepickerAnimations رفع شدند
- خطاهای مربوط به event.keyCode رفع شدند
- پروژه اصلی با موفقیت build شد
- Budget در angular.json افزایش یافت
هشدار ERESOLVE در نصب وابستگیها:
@fortawesome/angular-fontawesome@4.0.0نیاز به@angular/core@^21.0.0دارد- پروژه از
@angular/core@21.0.6استفاده میکند - npm warning میدهد که یک peer dependency conflict وجود دارد
- این warning معمولاً زمانی رخ میدهد که npm install با
--forceیا--legacy-peer-depsاجرا شده باشد
- بررسی وضعیت فعلی وابستگیها
- نصب مجدد وابستگیها با
--legacy-peer-depsبرای رفع موقت warning ها - بررسی و رفع آسیبپذیریهای امنیتی
هشدارهای peer dependency با موفقیت برطرف شدند:
- نصب مجدد با
--legacy-peer-depsانجام شد - تمام وابستگیها بهروز هستند (614 بسته)
- هشدارهای ERESOLVE دیگر نمایش داده نمیشوند
- 6 آسیبپذیری امنیتی شناسایی شد (2 low, 4 high) که نیاز به بررسی دارند
- پروژه آماده استفاده است
- تمام وابستگیها با Angular 21 سازگار هستند
@fortawesome/angular-fontawesome@4.0.0با Angular 21.0.6 سازگار است- میتوان دستورات build و serve را اجرا کرد
- برای نصب وابستگیها از
npm install --legacy-peer-depsاستفاده شود - این flag برای رفع تعارض peer dependencies در npm استفاده میشود
ngx-bootstrap@20.0.2هنوز برای Angular 21 بهروزرسانی نشده است اما با--legacy-peer-depsکار میکند
- بررسی فرمت سرویسهای core-log (coreLogMember، coreLogError، coreLogEmail و غیره)
- مرتبسازی importها مطابق الگوی استاندارد پروژه
- هماهنگسازی ساختار و فاصلهگذاری با سایر سرویسها
فرمت coreLogMicroServiceStatus.service.ts با موفقیت هماهنگ شد:
- importها به ترتیب entity models، base/entity، dto و base service مرتب شدند
- خط خالی قبل از @Injectable() مطابق coreLogMember اضافه شد
- متدهای سفارشی (ServiceGetAllStatus، ServiceGetStatusByAppInfoFilter، ServicePing، ServiceSendCommand) حفظ شدند چون endpointهای API متفاوت از CRUD استاندارد هستند
- این سرویس از ApiServerBase استفاده میکند (نه ApiCmsServerBase) به دلیل override کردن getBaseUrl برای /v3/