
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.
Repository di riferimento per il pacchetto di istruzioni AngularJS to Angular 18 per GitHub Copilot, inviato a github/awesome-copilot in instructions/angularjs-to-angular-18.instructions.md. Primo di una serie pianificata di prodotti Copilot orientati alle aziende di RoninForge (pianificati: migrazione da .NET Framework a .NET 9, redazione di PHI HIPAA, anti-pattern T-SQL, test di caratterizzazione per codice legacy).
ng-srcset, tutte le versioni dalla 1.3.0 alla 1.8.3) non ha patch upstream. I fork commerciali con supporto esteso (HeroDevs NES, OpenLogic) sono le uniche build corrette.TTM = (LOC/LPW) * 1.4) che rende visibile il costo in termini di calendario.Un unico grande file .instructions.md (1.971 righe) che copre:
@if/@for/@switch, viste differibili @defer, interceptors/guard/resolver basati su funzioni, provideHttpClient, provideRouter + withComponentInputBinding, inject(), form reattivi tipizzati, OnPush + anteprima di sviluppo zoneless, DestroyRef + takeUntilDestroyed, toSignal/toObservable, viewChild/viewChildren basati su signal, , 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/ è in gitignore; contiene note interne che hanno informato il contenuto delle istruzioni ma non fa parte dell'artefatto pubblico.
scripts/validate-awesome-copilot-submission.shEseguito all'interno di un clone di github/awesome-copilot. Rispecchia ogni gate CI bloccante:
npm ci se necessario# )codespell --check-filenames --config .codespellrcgh aw compile --validate per workflowsnpm run plugin:validate per pluginsnpm run skill:validate per skill/agenti (solo avviso)npm start + git diff --exit-code (il rimbalzo meccanico #1 - validate-readme.yml fallisce se README/marketplace sono obsoleti)scripts/submit-to-awesome-copilot.shPipeline end-to-end:
META.yml (slug, tipo, versione)gh auth statusgithub/awesome-copilot su RoninForge se non già forkato.upstream-clone/upstream/staged (MAI main)upstream/stageddist/ nell'albero upstream nei percorsi corretti per tiponpm start per rigenerare README + marketplace🤖🤖🤖 di fast-track per autore IAstaged (MAI ) - il job rifiuta automaticamente i PR verso mainSupporta --dry-run (si ferma prima del push) e --no-pr (push del branch ma salta la creazione del PR).
ng update.Evitare: pacchetti dell'era AngularJS non più mantenuti (angular-ui-bootstrap, ng-storage, ng-flow, angular-translate-loader-static-files); Karma + Jasmine per nuovi file di test (Vitest tramite ng add @analogjs/vitest-angular).
MIT - vedi LICENSE.
RoninForge costruisce strumenti gratuiti per sviluppatori che lavorano con assistenti di codifica 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, decoratori @Input() / @Output(), DI tramite costruttore, interceptor/guard/resolver basati su classi, HttpClientModule, RouterModule.forRoot, Promise.all vs forkJoin, subscribe leaks, stato BehaviorSubject, rilevamento modifiche predefinito, @ViewChild statico, form non tipizzati, import deprecati rxjs/operators, browser builder)downgradeInjectable / downgradeComponent, ordine di bootstrap errato, trattare ng update come una migrazione del framework, port letterali di $rootScope.$broadcast, BrowserAnimationsModule in standalone, zoneless + perdita polyfill zone.js)maincheck-pr-target.yml