0.1.3 • Published 5 years ago

ng-router-resolver v0.1.3

Weekly downloads
5
License
MIT
Repository
github
Last release
5 years ago

ng-router-resolver

Resolve routes from Angular Module statically

This project is aimed to be used as a cli/programmatic tool with Angular projects to statically analyze routes in NgModules and do some useful stuff with it.

As a use case you might want to generate some rules for ServiceWorker based on routes to add some offline/cache capabilities to any Angular application.

Installation

$ npm install --save-dev ng-router-resolver

Usage

It parses given Angular TS module and collects all routes including lazy-routes.

It does not run your Angular app on the server but statically analyzes your code via AST.

Programmatic

import { NgRouterResolver } from '../src/resolver';

const routes = NgRouterResolver.fromModule('./src/app/app.module.ts');

It will return an array of type same as Route from @angular/route package.

CLI

$ ng-router-resolver src/app/app.module.ts                    // Prints json into stdout
$ ng-router-resolver src/app/app.module.ts --out routes.json  // Prints json into specified file

Next Steps

  • Collect children routes DONE
  • Collect lazy routes from other modules DONE
  • Support Identifiers in routes configuration DONE
  • Support Spread operators in routes configuration DONE
  • Collect routes from other impoted modules DONE
  • Organize internal code structure to transition from POC to some stable version DONE
  • Create a CLI for resolving routes and dumping them as JSON structure into file DONE
  • Add unit tests with coverage at least 75%
  • Integrate with TravisCI and Codecov
  • Integrate semantic-release to enable CD

License

MIT © Alex Malkevich