
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.
Dépôt de référence pour le package d'instructions AngularJS vers Angular 18 de GitHub Copilot livré dans github/awesome-copilot sous instructions/angularjs-to-angular-18.instructions.md. Premier d'une série prévue de produits Copilot destinés aux entreprises de RoninForge (prévus : migration .NET Framework vers .NET 9, rédaction de PHI HIPAA, anti-patrons T-SQL, tests de caractérisation pour code hérité).
ng-srcset, toutes versions 1.3.0 à 1.8.3) n'a pas de correctif en amont. Les forks commerciaux avec support étendu (HeroDevs NES, OpenLogic) sont les seules versions corrigées.TTM = (LOC/LPW) * 1.4) qui rend le coût calendaire visible.Un seul fichier .instructions.md (1 971 lignes) couvrant :
@if/@for/@switch, vues différées @defer, intercepteurs/guards/résolveurs basés sur des fonctions, provideHttpClient, provideRouter + withComponentInputBinding, inject(), formulaires réactifs typés, OnPush + aperçu sans zone, DestroyRef + takeUntilDestroyed, toSignal/toObservable, viewChild/viewChildren basés sur signaux, NgOptimizedImage, Vitest, application builder)$scope.$apply, ng-controller, $compile, $http, $q, ng-app, ng-bind-html, ng-click, angular.module, | filter, $resource, $cookies, $location, IIFE 'use strict' wrap)*ngIf / / , NgModules, décorateurs / , DI par constructeur, intercepteurs/guards/résolveurs basés sur classes, , , vs , fuites d'abonnement, état , détection de changement par défaut, static, formulaires non typés, imports obsolètes , browser 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 dans .gitignore ; il contient des notes internes qui ont alimenté le contenu des instructions mais ne fait pas partie de l'artefact public.
scripts/validate-awesome-copilot-submission.shS'exécute à l'intérieur d'un clone de github/awesome-copilot. Miroir de chaque porte CI bloquante :
npm ci si nécessaire# )codespell --check-filenames --config .codespellrcgh aw compile --validate pour les workflowsnpm run plugin:validate pour les pluginsnpm run skill:validate pour les skills/agents (avertissement seulement)npm start + git diff --exit-code (le rebond mécanique n°1 – validate-readme.yml échoue si README/marketplace sont obsolètes)scripts/submit-to-awesome-copilot.shPipeline de bout en bout :
META.yml (slug, type, version)gh auth statusgithub/awesome-copilot vers RoninForge si pas déjà fork.upstream-clone/upstream/staged (JAMAIS main)upstream/stageddist/ dans l'arborescence amont aux bons chemins par typenpm start pour regénérer README + marketplace🤖🤖🤖staged (JAMAIS main) – la tâche check-pr-target.yml rejette automatiquement les PR vers mainSupport de --dry-run (s'arrête avant le push) et --no-pr (pousse la branche mais ne crée pas de PR).
Pins minimaux :
ng update.Éviter : packages de l'ère AngularJS non maintenus (angular-ui-bootstrap, ng-storage, ng-flow, angular-translate-loader-static-files) ; Karma + Jasmine pour les nouveaux fichiers de test (Vitest via ng add @analogjs/vitest-angular).
MIT – voir LICENSE.
RoninForge construit des outils gratuits pour les développeurs travaillant avec des assistants de codage IA :
*ngFor*ngSwitch@Input()@Output()HttpClientModuleRouterModule.forRootPromise.allforkJoinBehaviorSubject@ViewChildrxjs/operatorsdowngradeInjectable / downgradeComponent, ordre de bootstrap erroné, traiter ng update comme une migration de framework, port littéral de $rootScope.$broadcast, BrowserAnimationsModule en standalone, fuite polyfill zoneless + zone.js)