ahl

angular2-hot-loader

[NOT MAINTAINED] Angular 2 hot loader

Showing:

Popularity

Downloads/wk

1

GitHub Stars

118

Maintenance

Last Commit

5yrs ago

Contributors

5

Package

Dependencies

5

Size (min+gzip)

234.5KB

License

MIT

Type Definitions

Tree-Shakeable

No?

Readme

Note that the project is in very early stage of development. It is still not ready for usage but you can give it a try and share your feedback.

Angular2 Hot Loader

Hot loader for Angular 2, inspired by react-hot-loader.

How to use?

npm install angular2-hot-loader

You can start the hot loader server by:

import * as ng2HotLoader from 'angular2-hot-loader';

ng2HotLoader.listen({
  port: 4412,
  projectRoot: __dirname
});

Somewhere inside of your templates add:

System.import('//localhost:4412/ng2-hot-loader')
  .then(module => {
    module.ng2HotLoaderBootstrap(AppCmp, [PROVIDERS]);
  });

Now you can watch your file system with any module you feel comfortable with. Once you detect a change in the target files use:

ng2HotLoader.onChange([fileName]);

Now on each edit the changes should be pushed to the client.

Roadmap

  • Update the component's inline templates
  • Update the component's external templates
  • Update the component's altered methods
  • Update the component's removed methods
  • Allow definition of new components
  • Update the component's metadata
  • Update the component's constructor on change
    • For components declared in the directives array
    • For components declared in the @RouteConfig definition
  • Preserve the state of the components (i.e. the values of the bindings)
  • Preserve the instantiated tokens in the element injectors

Features

  • Add new methods to existing components
  • Clean removed methods from existing components
  • Support changes of external and inline templates
  • Allows adding inputs and outputs (events and properties) to the components

Limitations

  • Does not push changes in services & pipes
  • Does not update component's constructor

License

MIT

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100