Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
roninforge-angularjs-migration — Руководство по миграции AngularJS 1.x -> Angular 18 для GitHub Copilot. Основной репозиторий для github/awesome-copilot/instructions/angularjs-to-angular-18.instructions.md. 62 регрессии LLM в 3 режимах. AngularJS EOL с 31 декабря 2021 года; CVE-2024-21490 не исправлена. | Kitploit
Инструменты/GitHubGitHub/roninforge/roninforge-angularjs-migration
Анализ уязвимостейАнализ КодаОбучение и ОбразованиеПодобранные РесурсыУчебные Маршруты и КурсыБезопасность ИИ
GitHubroninforge/roninforge-angularjs-migration

roninforge-angularjs-migration

Руководство по миграции AngularJS 1.x -> Angular 18 для GitHub Copilot. Основной репозиторий для github/awesome-copilot/instructions/angularjs-to-angular-18.instructions.md. 62 регрессии LLM в 3 режимах. AngularJS EOL с 31 декабря 2021 года; CVE-2024-21490 не исправлена.

РепозиторийСайт
43 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

roninforge-angularjs-migration

License: MIT

Репозиторий эталонного набора инструкций для GitHub Copilot по миграции AngularJS → Angular 18, поставляемого в github/awesome-copilot по пути instructions/angularjs-to-angular-18.instructions.md. Первый в запланированной серии корпоративных продуктов Copilot от RoninForge (в планах: миграция .NET Framework → .NET 9, редактирование PHI по HIPAA, антипаттерны T-SQL, характеризационные тесты для унаследованного кода).

Проблема

  • AngularJS 1.x вышел из долгосрочной поддержки 31 декабря 2021 года. С января 2022 Google прекратил выпуск исправлений безопасности, совместимости с браузерами и jQuery.
  • Финальный релиз — v1.8.3 (7 апреля 2022) — только README-тег «последнее прощание». Фактическая заморозка кода — v1.8.2 (октябрь 2020).
  • CVE-2024-21490 (ReDoS в 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 + доказательство CVE-2024-21490 (почему миграция обязательна, если нет коммерческой поддержки)
    • 17 канонических паттернов Angular 18 (standalone по умолчанию, signals, управляющие блоки @if/@for/@switch, отложенные представления @defer, функциональные интерцепторы/гварды/резолверы, provideHttpClient, provideRouter + withComponentInputBinding, inject(), типизированные реактивные формы, OnPush + предварительный просмотр zoneless, DestroyRef + takeUntilDestroyed, toSignal/toObservable, сигнальные viewChild/viewChildren, NgOptimizedImage, Vitest, application builder)
    • Три пути миграции с оценкой трудозатрат и примерами из практики: big-bang (3–9 мес.), ngUpgrade hybrid (6–18 мес., рекомендуется), strangler-fig (6–24 мес.)
    • 62 антипаттерна с парами ПЛОХО/ПРАВИЛЬНО и ссылками на источники, в трёх режимах сбоев:
      • Режим A (15): паттерны AngularJS 1.x, выдаваемые на простые запросы «Angular» ($scope.$apply, ng-controller, $compile, $http, $q, ng-app, ng-bind-html, ng-click, angular.module, | filter, $resource, $cookies, $location, обёртка IIFE 'use strict')
    • Дерево решений (размер кодовой базы → календарное планирование; условие → путь)
    • Восемь граблей ngUpgrade с фрагментами исправлений
    • Ссылки (официальная документация Angular 18, уведомления о EOL и CVE, коммерческая поддержка, примеры из практики, устаревшие возможности)

    Структура репозитория

    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             Многоразовый отправитель (форк, ветка от staged, копирование, регенерация, PR)
    .cm  src/                            (заполнитель для авторских частей, когда в будущем пакеты будут разделять исходники)
    .cm  dist/
    .cm    angularjs-to-angular-18.instructions.md  Точный файл, который rsync-ится в ../instructions/
    .cm  tests/golden/                   (заполнитель для тестов diff-against-frozen-output)
    .cm  .github/workflows/validate.yml  Запускает валидатор при каждом push
    

    research/ добавлен в .gitignore; содержит внутренние заметки, использованные при составлении инструкций, но не является частью публичного артефакта.

    Скрипты пайплайна (многоразовые для всех пакетов 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. Проверка соглашения об именах (kebab-case в нижнем регистре; регулярное выражение имени файла в зависимости от типа)
    5. Проверка схемы frontmatter (обязательные поля в зависимости от типа, строки в одинарных кавычках)
    6. Проверка основного содержимого (инструкции должны начинаться с # )
    7. Проверка окончаний строк CRLF (блокируется, если найдены)
    8. codespell --check-filenames --config .codespellrc
    9. Ограничение размера 5 МБ для навыков
    10. gh aw compile --validate для рабочих процессов
    11. npm run plugin:validate для плагинов
    12. npm run skill:validate для навыков/агентов (только предупреждение)
    13. npm start + git diff --exit-code (самая частая механическая блокировка — validate-readme.yml падает, если README/marketplace устарели)

    scripts/submit-to-awesome-copilot.sh

    Сквозной пайплайн:

    1. Чтение META.yml (slug, type, version)
    2. gh auth status
    3. Форк github/awesome-copilot в RoninForge, если ещё не сделан
    4. Клонирование форка в .upstream-clone/
    5. Сборка + сброс на upstream/staged (НИКОГДА НЕ main)
    6. Создание функциональной ветки от upstream/staged
    7. Копирование артефактов из dist/ в дерево вышестоящего репозитория по правильным путям в зависимости от типа
    8. Запуск валидатора (выше) — прерывается при любой ошибке
    9. npm start для регенерации README + marketplace
    10. Коммит с меткой ускоренного прохождения AI-автора: 🤖🤖🤖
    11. Пуш в форк
    12. Открытие PR с base: staged (НИКОГДА НЕ main) — job check-pr-target.yml автоматически отклоняет PR в main

    Поддерживает --dry-run (остановка перед пушем) и --no-pr (пуш ветки без создания PR).

    Версионирование

    Минимальные версии:

    • AngularJS финальная стабильная: 1.8.2 (октябрь 2020, последний релиз с кодом); 1.8.3 (апрель 2022, прощальный тег только README). LTS завершилась 31 декабря 2021.
    • Angular 18: 22 мая 2024. Рекомендуется последний патч 18.x для стабильности схемы ng update.
    • Node 20 LTS минимум для сервера разработки Angular 18.
    • RxJS 7.5+ минимум для совместимости с Angular 18.
    • TypeScript 5.4+ минимум для совместимости с Angular 18.

    Избегать: пакеты эпохи AngularJS, которые больше не поддерживаются (angular-ui-bootstrap, ng-storage, ng-flow, angular-translate-loader-static-files); Karma + Jasmine для новых тестовых файлов (использовать Vitest через ng add @analogjs/vitest-angular).

    Лицензия

    MIT — см. LICENSE.

    Ссылки

    • Анонс релиза Angular 18
    • Angular llms.txt для AI-разработки
    • Документация ngUpgrade
    • Уведомление HeroDevs о CVE-2024-21490
    • endoflife.date / AngularJS
    • github/awesome-copilot
    • RoninForge

    Ещё от RoninForge

    RoninForge создаёт бесплатные инструменты для разработчиков, работающих с AI-ассистентами программирования:

    • Сравнение цен API LLM — цены токенов Claude, GPT, Gemini, DeepSeek, Mistral и Grok рядом, сверены с официальными страницами
    • Калькулятор кредитов GitHub Copilot AI — оцените ежемесячный расход кредитов при тарификации за использование
    • Все плагины для Cursor
    Скачать инструмент
  • Режим 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, browser builder)
  • Режим C (12): ошибки, специфичные для миграции (совет big-bang без ngUpgrade, неподдерживаемые пакеты, смешанные импорты, отсутствие downgradeInjectable / downgradeComponent, неправильный порядок загрузки, трактовка ng update как миграции фреймворка, буквальный перенос $rootScope.$broadcast, BrowserAnimationsModule в standalone, утечка zoneless + zone.js polyfill)