Code Monkey home page Code Monkey logo

ngx-maintenance's Introduction

Can't upgrade to Angular 16+ due to old View Engine dependencies?

We are automating the hassle so you can easily upgrade!

The Angular Compatibility Maintenance Initiative is a dedicated repository designed to assist the Angular community in transitioning libraries from the View Engine to Ivy, and further maintaining them for compatibility with the latest versions of Angular. This initiative goes beyond the transition, aiming to keep these libraries updated with Angular's latest releases, albeit with a focus on maintenance for Angular version compatibility only, without addressing bugs or introducing new features.

Angular 16+ Compatibility Maintenance Initiative

This initiative addresses the need for a structured approach to maintain libraries that are no longer actively developed but are still widely used within the Angular ecosystem. By providing a temporary home for these libraries, the initiative ensures that projects depending on them can continue to upgrade to the latest Angular versions smoothly.

Key Features

Automated Maintenance Process

  • Library Detection: Identifies libraries that are not compatible with the latest Angular versions or are at risk due to lack of active maintenance.
  • Issue Creation and PR Submission: Automates the creation of issues and the submission of pull requests to update libraries to the latest Angular version, following the Angular update guidelines.

Centralized Maintenance Repository

  • Version Compatibility: Focuses on updating libraries to be compatible with the latest Angular versions.
  • NPM Package Warning: All maintained packages will include an NPM warning advising users to plan the removal of the library from their projects, as these are intended as temporary solutions until a more permanent alternative is found or the library is officially updated.

Contribution and Community Involvement

  • Open for Contributions: Encourages the community to contribute by identifying libraries that require updates, submitting pull requests for version updates, and helping with repository management.
  • Continuous Integration (CI): Implements CI processes to test library compatibility with new Angular versions, ensuring that maintained libraries meet the required compatibility standards.

Usage Warning

Users of libraries updated through this initiative are advised that these updates are focused solely on maintaining Angular version compatibility. The initiative does not extend to bug fixes, performance improvements, or the introduction of new features. Libraries are maintained as a stopgap measure, and users should plan to migrate to actively supported alternatives as they become available.

Getting Involved

Contributors interested in supporting this initiative can do so in several ways, including identifying candidate libraries for maintenance, updating libraries to the latest Angular versions, and assisting in the overall management of the initiative's repository.

Conclusion

The Angular Compatibility Maintenance Initiative plays a crucial role in supporting the Angular community by ensuring that even unmaintained libraries do not hinder the adoption of the latest Angular versions. By providing a mechanism for these libraries to receive necessary updates, the initiative helps maintain the ecosystem's health and facilitates smoother upgrade paths for Angular projects.

ngx-maintenance's People

Contributors

solodynamo avatar jordan-hall avatar avolpe avatar danielglejzner avatar prashantpimpale93 avatar

Stargazers

J. Degand avatar Andrés Arias avatar Vlad Ivanov avatar Dominik avatar Shriram Sapparad avatar Sid avatar  avatar Basti Hoffmann avatar Florian Spier avatar Elderov Ali avatar Marin Muštra avatar Ilir Beqiri avatar Ashley Hunter avatar Eugene Kubesh avatar  avatar Kirill Groshkov avatar Roopesh Chinnakampalli avatar Jon Warrington avatar MattDam avatar Ndamulelo Nemakhavhani avatar

Watchers

 avatar Sid avatar  avatar Albano Pereira avatar

Forkers

ilirbeqirii sidv2

ngx-maintenance's Issues

How to use?

How do we use this repository, the instructions do not function for me.

npm install @ngx-maintenance/ng2-search-filter --save

npm ERR! code 127
npm ERR! path /projects/node_modules/@ngx-maintenance/ng2-search-filter
npm ERR! command failed
npm ERR! command sh -c npx ngx-maintenance warn ng2-search-filter
npm ERR! sh: 1: ngx-maintenance: not found

npm ERR! A complete log of this run can be found in: /home/node/.npm/_logs/2024-04-06T00_34_47_304Z-debug-0.log

0 verbose cli /usr/local/bin/node /usr/local/lib/node_modules/npm/bin/npm-cli.js
1 info using [email protected]
2 info using [email protected]
3 timing npm:load:whichnode Completed in 2ms
4 timing config:load:defaults Completed in 3ms
5 timing config:load:file:/usr/local/lib/node_modules/npm/npmrc Completed in 1ms
6 timing config:load:builtin Completed in 1ms
7 timing config:load:cli Completed in 5ms
8 timing config:load:env Completed in 2ms
9 timing config:load:file:/projects/node_modules/@ngx-maintenance/ng2-search-filter/.npmrc Completed in 0ms
10 timing config:load:project Completed in 11ms
11 timing config:load:file:/home/node/.npmrc Completed in 0ms
12 timing config:load:user Completed in 0ms
13 timing config:load:file:/usr/local/etc/npmrc Completed in 0ms
14 timing config:load:global Completed in 0ms
15 timing config:load:setEnvs Completed in 2ms
16 timing config:load Completed in 25ms
17 timing npm:load:configload Completed in 25ms
18 timing config:load:flatten Completed in 2ms
19 timing npm:load:mkdirpcache Completed in 1ms
20 timing npm:load:mkdirplogs Completed in 0ms
21 verbose title npm exec ngx-maintenance warn ng2-search-filter
22 verbose argv "exec" "--" "ngx-maintenance" "warn" "ng2-search-filter"
23 timing npm:load:setTitle Completed in 2ms
24 timing npm:load:display Completed in 0ms
25 verbose logfile logs-max:10 dir:/home/node/.npm/_logs/2024-04-06T00_34_51_585Z-
26 verbose logfile /home/node/.npm/_logs/2024-04-06T00_34_51_585Z-debug-0.log
27 timing npm:load:logFile Completed in 10ms
28 timing npm:load:timers Completed in 0ms
29 timing npm:load:configScope Completed in 0ms
30 timing npm:load Completed in 58ms
31 silly logfile start cleaning logs, removing 1 files
32 silly logfile done cleaning log files
33 timing arborist:ctor Completed in 1ms
34 http fetch GET 200 https://registry.npmjs.org/ngx-maintenance 195ms (cache revalidated)
35 timing arborist:ctor Completed in 0ms
36 timing arborist:ctor Completed in 1ms
37 timing arborist:ctor Completed in 0ms
38 timing command:exec Completed in 729ms
39 verbose exit 127
40 timing npm Completed in 1011ms
41 verbose code 127

Standard reach out template about packages that appears.to be unmaintained

Issue :Inquiry: Angular Compatibility Maintenance Support

Angular Compatibility Maintenance Initiative Inquiry

Hello [Maintainer/Project Name],

We are reaching out from the Angular Compatibility Maintenance Initiative, a project dedicated to ensuring the Angular community can smoothly upgrade to Angular 16+ and beyond by transitioning libraries from the View Engine to Ivy, once on ivy Automation to keep upto date with angular and latest standard. Our goal is to automate this process, maintaining compatibility with the latest Angular versions.

Purpose of This Issue

  1. Inquiry on Maintenance Status: We noticed this package hasn't been updated for a while. Is it still actively maintained?
  2. Offering Support: Whether it's actively maintained or not, would you be open to collaborating with our initiative? We aim to automate updates and compatibility checks, ensuring the Angular ecosystem stays robust and up-to-date.

How We Can Help

  • Automated Updates: Implement automation scripts to manage version updates and compatibility checks.
  • Community Support: Leverage our initiative's community to help maintain this package, ensuring it remains compatible with the latest Angular versions.
  • Temporary Custodianship: If the package is no longer maintained, we can temporarily take over maintenance to provide necessary updates until a permanent solution is found or the original maintainers can resume their role.

Next Steps

  • For Actively Maintained Packages: we are great full for your contribution to Angular ecosystem system. Sorry to bothered you.
  • For Packages Seeking New Maintenance: If you're open to it, we can discuss the process of integrating your package into our initiative for automated maintenance.

Thank you for your time and contribution to the Angular ecosystem. We look forward to hearing from you and hopefully collaborating to keep the Angular community strong and forward-moving.

Best regards,
Ngx-maintenance team

Questions

Hello @Jordan-Hall @danielglejzner,

This project/repo looks promising!

I have some questions:

  • [1] Is the point of this repo to only migrate libs that are unmaintained and still View Engine or just unmaintained libs no matter if they are on Ivy or not?
    • If it is about unmaintained libs, no matter if they are Ivy or not (I think this is what I understood from the readme), then the readme could potentially be a bit missleading (mostly the title of the readme)
  • [2] Is the plan to only migrate libs or it is planned to also maintain the demo-app associated with the lib?
  • [3] Is there any threshold on when we can "decide" when a lib is unmaintained and can be "moved" on this repo?
    • Time without commit?
    • Time without release?
    • Number of download?
      • Might not be worth the time to migrate a lib with 5 downloads a month? (no idea)
    • Other?
  • [4] Regarding [3], do you think that it would be usefull to set some "rules"/"governance" on libs that are going to be "moved" here?
    • The point of this repo is to maintain libs that aren't anymore, but what if someone PR an update of a lib and it got accepted and this lib is no longer updated on this repo by the author of the PR? (which is fine tbh)
      • This will mean that if none update that lib on this repo, it will also be unmaintained on this repo as well, that's why I was talking about threshold, rules & co. If there's too much libs to maintain on this repo, we could face the same issue as on the original repo. All this could totally be fine as this is an open source contribution and none is obligated to do "anything".

Notes for automation

  • Some packages require lower version of npm/node to run angular CLI. When we run into the following error:
    npx ng update @angular/cli @angular/core
    npm version 9.5.1 detected.
    The Angular CLI currently requires npm version 6.

      Please install a compatible version to proceed (`npm install --global npm@6`).
      
      We need to abstract the version number and use that version.
    
  • Updating multiple major versions of '@angular/cli' at once is not supported. Please migrate each major version individually. Run 'ng update @angular/cli@12' in your workspace directory to update to latest '12.x' version of '@angular/cli'. For more information about the update process, see https://update.angular.io/?v=11.0-12.0

  • × Migration failed: Incompatible peer dependencies found.
    Peer dependency warnings when installing dependencies means that those dependencies might not work correctly together.
    You can use the '--force' option to ignore incompatible peer dependencies and instead address these warnings later.

Package request

While we are working on automation please request packages and we will do them manually until we are ready

  • postfinance/ngx-ace-editor-wrapper
  • ng2-flatpicker
  • ngx-plyr
  • @circlon/angular-tree-component
  • @ctrl/ngx-rightclick
  • ngx-swiper-wrapper
  • ngx-perfect-scrollbar
  • angular-count-to

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.