
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.
Repositório de referência para o pacote de instruções do GitHub Copilot de AngularJS para Angular 18 enviado para github/awesome-copilot em instructions/angularjs-to-angular-18.instructions.md. Primeiro de uma série planejada de produtos Copilot voltados para empresas da RoninForge (planejados: migração .NET Framework para .NET 9, redação de PHI da HIPAA, anti-padrões T-SQL, testes de caracterização para código legado).
ng-srcset, todas as versões 1.3.0 a 1.8.3) não possui patch upstream. Apenas forks de suporte estendido comercial (HeroDevs NES, OpenLogic) são versões corrigidas.TTM = (LOC/LPW) * 1.4) que torna o custo do calendário visível.Um grande arquivo .instructions.md (1.971 linhas) cobrindo:
@if/@for/@switch, visualizações adiáveis @defer, interceptors/guards/resolvers baseados em função, provideHttpClient, provideRouter + withComponentInputBinding, inject(), formulários reativos tipados, OnPush + pré-visualização de desenvolvimento sem zone, DestroyRef + takeUntilDestroyed, toSignal/toObservable, viewChild/viewChildren baseados em sinal, , Vitest, application builder)~/development/roninforge-angularjs-migration/
.
.cm README.md This file
.cm LICENSE MIT
.cm CHANGELOG.md semver entries
.cm META.yml slug / type / version / target_paths consumed by submit script
.cm .editorconfig / .gitattributes LF-only normalization (awesome-copilot blocks CRLF)
.cm .codespellrc mirrors upstream allowlist
.cm scripts/
.cm validate-awesome-copilot-submission.sh reusable validator, mirrors every blocking CI gate
.cm submit-to-awesome-copilot.sh reusable submitter (fork, branch from staged, copy, regen, PR)
.cm src/ (placeholder for authoring partials when future packages split sources)
.cm dist/
.cm angularjs-to-angular-18.instructions.md exact file that gets rsynced into upstream instructions/
.cm tests/golden/ (placeholder for diff-against-frozen-output tests)
.cm .github/workflows/validate.yml runs the validator on every push
research/ está no gitignore; contém notas internas que informaram o conteúdo das instruções, mas não faz parte do artefato público.
scripts/validate-awesome-copilot-submission.shExecute dentro de um clone de github/awesome-copilot. Espelha todas as portas de CI bloqueantes:
npm ci se necessário# )codespell --check-filenames --config .codespellrcgh aw compile --validate para workflowsnpm run plugin:validate para pluginsnpm run skill:validate para skills/agents (somente aviso)npm start + git diff --exit-code (a rejeição mecânica #1 - validate-readme.yml falha se README/marketplace estiverem desatualizados)scripts/submit-to-awesome-copilot.shPipeline ponta a ponta:
META.yml (slug, type, version)gh auth statusgithub/awesome-copilot para RoninForge se ainda não tiver sido feito.upstream-clone/upstream/staged (NUNCA main)upstream/stageddist/ para a árvore upstream nos caminhos corretos por tiponpm start para regenerar README + marketplace🤖🤖🤖staged (NUNCA ) - o job rejeita automaticamente PRs para mainSuporta --dry-run (para antes do push) e --no-pr (envia o branch, mas pula a criação do PR).
Versões mínimas:
ng update.Evite: pacotes da era AngularJS que não são mais mantidos (angular-ui-bootstrap, ng-storage, ng-flow, angular-translate-loader-static-files); Karma + Jasmine para novos arquivos de teste (Vitest via ng add @analogjs/vitest-angular).
MIT - veja LICENSE.
A RoninForge constrói ferramentas gratuitas para desenvolvedores que trabalham com assistentes de codificação de IA:
NgOptimizedImage$scope.$apply, ng-controller, $compile, $http, $q, ng-app, ng-bind-html, ng-click, angular.module, | filter, $resource, $cookies, $location, wrapper IIFE 'use strict')*ngIf / *ngFor / *ngSwitch, NgModules, decoradores @Input() / @Output(), DI no construtor, interceptors/guards/resolvers baseados em classe, HttpClientModule, RouterModule.forRoot, Promise.all vs forkJoin, vazamentos de subscribe, estado BehaviorSubject, detecção de alterações padrão, @ViewChild static, formulários não tipados, imports obsoletos de rxjs/operators, browser builder)downgradeInjectable / downgradeComponent, ordem de bootstrap errada, tratar ng update como migração de framework, portas literais de $rootScope.$broadcast, BrowserAnimationsModule em standalone, vazamento zoneless + zone.js polyfill)maincheck-pr-target.yml