Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

angular-es6

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

angular-es6

ECMAScript 6 boilerplate for angular source code and webpack

  • 2.0.2
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
128
decreased by-5.19%
Maintainers
1
Weekly downloads
 
Created
Source

Angular ECMAScript 6 config and boilerplate

Do you want to use ES6 with angular and webpack? Here is a simple project with everything what you need at the beginning.

What you will get

  • You can write directives like a class
  • Autoload directives, controllers, services, filters and factories

Instalation

npm install angular-es6

Examples

Here is multiple examples:

Directive

export default class NiceDirective {
  static $inject = ['$http'];

  constructor($http) {
    this.template = '<div>{{computeName('NICE')}}</div>';
    this.restrict = 'E';
    this.scope = {
      name: '=',
    };
  }

  link(scope) {
    scope.computeName = suffix => computeName(suffix);
  }

  computeName(suffix = '') {
    const { $http } = this.$inject;
    const { scope } = this.link.$inject;

    return 'Mr.' + $scope.name + ' ' +  suffix;
  }
}

Controller

export default class MainController {
  static $inject = [$scope, '$http'];

  constructor($scope) {
    $scope.doThis = () => this.doThis();
  }

  doThis() {
    const { $http } = this.$inject;
    ...
  }
}

It is safe to use this.$inject because this object is initialized immediately after the constructor. If you want to use $injected object in constructor you can use arguments or extend class Inject.

class Inject

Object this.$inject is initialized after class constructor. If you want to use this.$inject in your constructor you need to extend Inject class.

In next example is called function doThis from the constructor. You can use this.$inject because this object was initialized by Inject constructor.

import { Inject } from 'angular-es6';

export default class MainController extends Inject {
  static $inject = ['$http'];

  constructor(...args) {
    super(...args);

    this.doThis();
  }

  doThis() {
    const { $http } = this.$inject;
  }
}

Auto load directives

Each directory need to have file index.js with content like this:

import { load } from 'angular-es6';

load.directives(require.context('./', true, /.*\.js$/));

More examples you can find in the example directory.

Pull request

Pull requests are welcome

Run build for production

npm run build

Run build for development

npm run dev

Keywords

FAQs

Package last updated on 15 Nov 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc