Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
roninforge-angularjs-migration — AngularJS 1.x -> Angular 18 migration guidance for GitHub Copilot. Source-of-truth repo for github/awesome-copilot/instructions/angularjs-to-angular-18.instructions.md. 62 LLM regressions across 3 modes. AngularJS EOL since Dec 31 2021; CVE-2024-21490 unpatched. | Kitploit
工具/GitHubGitHub/roninforge/roninforge-angularjs-migration
Vulnerability AnalysisCode AnalysisLearning & EducationCurated ResourcesLearning Paths & CoursesAI Security
GitHubroninforge/roninforge-angularjs-migration

roninforge-angularjs-migration

AngularJS 1.x -> Angular 18 migration guidance for GitHub Copilot. Source-of-truth repo for github/awesome-copilot/instructions/angularjs-to-angular-18.instructions.md. 62 LLM regressions across 3 modes. AngularJS EOL since Dec 31 2021; CVE-2024-21490 unpatched.

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库网站
2个月前尚未审核

roninforge-angularjs-migration

License: MIT

用于AngularJS到Angular 18的GitHub Copilot指令包的源真存储库,该指令包已交付到github/awesome-copilot的instructions/angularjs-to-angular-18.instructions.md。这是RoninForge计划的一系列面向企业的Copilot产品中的第一个(计划中:.NET Framework到.NET 9迁移、HIPAA PHI编辑、T-SQL反模式、遗留代码的特征测试)。

问题

  • AngularJS 1.x 于2021年12月31日结束长期支持。自2022年1月起,谷歌已停止提供安全、浏览器兼容性和jQuery兼容性修复。
  • 最终版本为v1.8.3(2022年4月7日)——一个仅含README的“最终告别”标签。实质性代码冻结为v1.8.2(2020年10月)。
  • CVE-2024-21490(ng-srcset中的正则表达式拒绝服务,影响1.3.0至1.8.3所有版本)没有上游补丁。商业扩展支持分支(HeroDevs NES、OpenLogic)是唯一打过补丁的构建。
  • 银行、医疗保健系统和政府机构仍在使用1.x:合规性冻结、人才缺口、ngUpgrade复杂性,以及XLTS迁移数学公式(TTM = (LOC/LPW) * 1.4),该公式使日历成本清晰可见。
  • GitHub Copilot自身的问题跟踪器(#1019、#1128)记录了其对Angular 17+语法的不了解;HeroDevs报告称,73%的AI辅助AngularJS迁移因LLM生成2025年前的模式而落后于计划。

此包教会Copilot什么

一个大型的.instructions.md文件(1,971行),涵盖:

  • AngularJS EOL状态 + CVE-2024-21490证据(为什么除非使用商业支持,否则迁移是强制性的)
  • 17个Angular 18规范模式(独立默认、信号、控制流@if/@for/@switch、可延迟视图@defer、基于函数的拦截器/守卫/解析器、provideHttpClient、provideRouter + withComponentInputBinding、inject()、类型化响应式表单、OnPush + 无区域开发预览、DestroyRef + takeUntilDestroyed、toSignal/toObservable、基于信号的viewChild/viewChildren、NgOptimizedImage、Vitest、应用程序构建器)

存储库布局

root@kitploit:~
~/development/roninforge-angularjs-migration/
.
.cm  README.md                       此文件
.cm  LICENSE                         MIT
.cm  CHANGELOG.md                    semver条目
.cm  META.yml                       提交脚本使用的slug/type/version/target_paths
.cm  .editorconfig / .gitattributes 仅LF规范化(awesome-copilot阻止CRLF)
.cm  .codespellrc                    镜像上游允许列表
.cm  scripts/
.cm    validate-awesome-copilot-submission.sh   可重用验证器,镜像所有阻塞CI门
.cm    submit-to-awesome-copilot.sh             可重用提交器(fork,从staged创建分支,复制,重新生成,PR)
.cm  src/                            (占位符,用于未来包拆分源时的创作部分)
.cm  dist/
.cm    angularjs-to-angular-18.instructions.md  实际文件,将被rsync到上游instructions/中
.cm  tests/golden/                   (占位符,用于冻结输出的差异测试)
.cm  .github/workflows/validate.yml  每次推送时运行验证器

research/ 被git忽略;它包含形成指令内容的内部笔记,但不是公开工件的一部分。

管道脚本(可跨所有RoninForge awesome-copilot包重用)

scripts/validate-awesome-copilot-submission.sh

在github/awesome-copilot的克隆中运行。镜像所有阻塞CI门:

  1. 预检(node 20+、npm、jq、git、codespell)
  2. 如果需要则npm ci
  3. 从路径检测工件类型
  4. 命名约定检查(小写短横线;按类型的文件名正则表达式)
  5. 前置元数据模式检查(按类型的必需字段、单引号字符串)
  6. 正文内容检查(说明必须以# 开头)
  7. CRLF行尾检查(如果发现则阻止)
  8. codespell --check-filenames --config .codespellrc
  9. 技能类工件的5MB资产上限
  10. 工作流的gh aw compile --validate
  11. 插件的npm run plugin:validate
  12. 技能/代理的npm run skill:validate(仅警告)
  13. npm start + git diff --exit-code(#1机械性弹回 - 如果README/marketplace过期,validate-readme.yml将失败)

scripts/submit-to-awesome-copilot.sh

端到端管道:

  1. 读取META.yml(slug、type、version)
  2. gh auth status
  3. 将github/awesome-copilot fork到RoninForge(如果尚未fork)
  4. 将fork克隆到.upstream-clone/
  5. 获取并重置到upstream/staged(绝不能是main)
  6. 从upstream/staged创建功能分支
  7. 将dist/中的工件复制到上游树中的正确路径(按类型)
  8. 运行验证器(上述)——任何失败则中止
  9. npm start以重新生成README + marketplace
  10. 使用🤖🤖🤖 AI作者快速通道标记提交
  11. 推送到fork
  12. 打开PR,base: staged(绝不能是main)——作业会自动拒绝针对main的PR

支持--dry-run(在推送前停止)和--no-pr(推送分支但跳过PR创建)。

版本控制

固定下限:

  • AngularJS最终稳定版: 1.8.2(2020年10月,最后代码发布);1.8.3(2022年4月,仅README告别)。LTS于2021年12月31日结束。
  • Angular 18: 2024年5月22日。建议使用最新的18.x补丁以获得ng update模式稳定性。
  • Angular 18开发服务器最低Node 20 LTS。
  • Angular 18对等依赖最低RxJS 7.5+。
  • Angular 18对等依赖最低TypeScript 5.4+。

避免:不再维护的AngularJS时代包(angular-ui-bootstrap、ng-storage、ng-flow、angular-translate-loader-static-files);新测试文件使用Karma + Jasmine(通过ng add @analogjs/vitest-angular使用Vitest)。

许可证

MIT - 参见LICENSE。

链接

  • Angular 18 发布文章
  • 用于AI辅助开发的Angular llms.txt
  • ngUpgrade 文档
  • HeroDevs CVE-2024-21490 公告
  • endoflife.date / AngularJS
  • github/awesome-copilot
  • RoninForge

更多来自RoninForge

RoninForge 为使用AI编码助手的开发者构建免费工具:

  • LLM API定价比较 - Claude、GPT、Gemini、DeepSeek、Mistral和Grok的令牌价格并排比较,经过官方定价页面验证
  • GitHub Copilot AI Credits计算器 - 估算基于用量计费下的月度信用消耗
  • 所有Cursor插件
下载工具
  • 三种迁移路径及工作量估算和案例研究:全量式(3-9个月)、ngUpgrade混合式(6-18个月,推荐)、绞杀者模式(6-24个月)
  • 62个反模式,包含错误/正确对和来源引用,分为三种失败模式:
    • 模式A(15个): 对于单纯的"Angular"请求,输出了AngularJS 1.x模式($scope.$apply、ng-controller、$compile、$http、$q、ng-app、ng-bind-html、ng-click、angular.module、| filter、$resource、$cookies、$location、IIFE 'use strict' 包装)
    • 模式B(35个): 输出了Angular 2-17旧式习惯用法,而非Angular 18(*ngIf / *ngFor / *ngSwitch、NgModules、@Input() / @Output() 装饰器、构造函数DI、基于类的拦截器/守卫/解析器、HttpClientModule、RouterModule.forRoot、Promise.all vs forkJoin、订阅泄露、BehaviorSubject状态、默认变更检测、@ViewChild static、非类型化表单、rxjs/operators已弃用导入、浏览器构建器)
    • 模式C(12个): 迁移特定错误(无ngUpgrade的全量式建议、未维护的包、混合导入、缺少downgradeInjectable / downgradeComponent、错误的引导顺序、将ng update视为框架迁移、字面$rootScope.$broadcast端口、独立模式下的BrowserAnimationsModule、无区域 + zone.js polyfill泄露)
  • 决策树(代码行数桶到日历映射;条件到路径)
  • 八个ngUpgrade陷阱及修复代码片段
  • 参考文献(Angular 18官方文档、EOL + CVE公告、商业支持、案例研究、弃用说明)
  • check-pr-target.yml