This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Migration

Move existing AngularJS or earlier AngularTS applications to the current runtime through explicit, testable steps.

Start with Migrate from AngularJS. Use the current API documentation as the source of truth rather than carrying removed providers or aliases into new code.

Migrate one feature at a time and keep user-visible tests around that boundary.

1 - Migrate from AngularJS

Inventory an AngularJS application, replace removed platform abstractions, and move features to AngularTS incrementally.

Goal

Move an application without treating API familiarity as runtime equivalence.

Before you start

Add browser-level tests for the workflows that must survive migration. Record all modules, providers, directives, template syntax, router states, and custom decorators.

Migrate in boundaries

  1. Start a small independent AngularTS application or island.
  2. Move one leaf component and its direct service dependencies.
  3. Replace removed abstractions with the documented native or module API.
  4. Run behavior tests and inspect console errors.
  5. Repeat for shared application code.

AngularTS preserves the HTML-first module, injection, controller, scope, directive, filter, and two-way-binding mental models. Its runtime is different: reactive proxies replace digest polling, native promises replace $q, native timers replace timeout abstractions, and native DOM elements replace wrapper objects.

Require explicit injection annotation during migration. Audit custom directives for DOM-wrapper assumptions and code that manually starts digest work.

Next step

Continue with application structure and the server-first guide. Use the current service and module references for exact APIs.

2 - Upgrade AngularTS

Update the runtime and generated language bindings with controlled, reversible steps.

Before changing the version

Record the current production version, read release and migration notes, and make sure the existing application passes its checks. Archive generated integration artifacts so regeneration differences are reviewable.

Upgrade

  1. Update AngularTS and its lockfile entry.
  2. Regenerate TypeScript declarations and every maintained language binding.
  3. Run formatting, lint, type, documentation, and generated-file checks.
  4. Run core and integration tests.
  5. Build production assets and exercise critical browser paths.
  6. Review bundle, CSP, storage, routing, and service-worker changes.

Keep the change reversible

Do not combine a framework upgrade with unrelated application rewrites. Deploy an immutable artifact, retain the previous artifact, and understand whether stored data or service-worker caches prevent a simple rollback.

Deprecations

Remove deprecated usage while replacement and old behavior can still be compared. Do not wait for the release that removes the API.

Generated bindings must come from the authoritative TypeScript namespace. Never patch stale parity output manually.