ng-router-resolver
TypeScript icon, indicating that this package has built-in type declarations

0.1.3 • Public • Published

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

Package Sidebar

Install

npm i ng-router-resolver

Weekly Downloads

5

Version

0.1.3

License

MIT

Unpacked Size

26.5 kB

Total Files

14

Last publish

Collaborators

  • gund