{"_id":"ng2now","_rev":"27-e9763d2c67b25e5c1ad2080246b7a60e","name":"ng2now","time":{"modified":"2022-06-21T06:51:37.602Z","created":"2015-10-26T21:19:30.216Z","0.4.0":"2015-10-26T21:19:30.216Z","0.0.1":"2016-09-07T21:39:01.793Z","0.0.2":"2016-09-08T05:59:53.038Z","0.0.3":"2016-09-08T06:26:40.924Z","0.0.4":"2016-09-08T06:39:44.021Z","0.0.5":"2016-09-08T06:43:22.435Z","0.0.6":"2016-09-08T06:44:51.898Z","0.0.7":"2016-09-08T06:49:53.435Z","0.0.8":"2016-09-08T06:54:23.501Z","0.0.9":"2016-09-08T06:57:14.393Z","0.0.10":"2016-09-09T13:57:57.474Z","0.0.11":"2016-09-10T09:27:23.326Z","0.0.12":"2016-09-10T20:16:16.104Z","0.0.13":"2016-09-18T18:39:51.269Z","0.0.14":"2016-10-26T18:13:07.653Z","0.0.15":"2016-11-10T18:44:23.188Z","0.0.16":"2017-04-22T09:51:59.733Z","0.0.17":"2017-04-22T10:19:27.122Z"},"maintainers":[{"name":"paul.bastowski","email":"pbastowski@gmail.com"}],"dist-tags":{"latest":"0.0.17"},"description":"ng2now is the concise successor to angular2-now","readme":"# ng2now is the concise successor to angular2-now\n\n> ng2now is currently in beta. However, most of it is the same as angular2-now, but with support for new ui-router 1.x component routing and AngularJS 1.5's components. You will have to import from 'ng2now' instead of 'angular2-now'.\n  \n> In the documentation below, which was copied from the angular2-now repo, please read all references to angular2-now as ng2now. They will be updated as the documentation is cleaned up.\n\n## Angular 2.0 component syntax for Angular 1 apps\n\nng2now gives you the ability to start coding your Angular 1.5+ apps using the Angular 2 component syntax. You get to keep your investment in Angular 1 while learning some Angular 2 concepts.\n\nSo, if you like the clean syntax of Angular 2, but are not yet ready or able to commit to it, then this library might just be what you're looking for.\n\n## Install\n\n**NPM**\n\n    npm install ng2now\n    \n**CDN**\n\n```html\n<script src=\"https://unpkg.com/ng2now\"></script>\n```\n\n## Peer dependencies\n\n- AngularJS 1.5+\n- ui-router 1.x (optional)\n\nng2now depends on AngularJS 1.5+.\n\nIf you are also going to use the `@State` decorator or the stateConfig/routerConfig options of the @Component decorator, then you will also have a dependency on ui-router 1.x.\n\n## Usage with ES6 or TypeScript\n\nYou can use ng2now with **Babel** or **TypeScript**. Both work equally well.\n\nInclude ng2now in your AngularJS project, ensuring that it loads before any of it's functions are used. \n\nIf you're not using any module loaders, then `window.ng2now` gives you direct access to all the decorators, like this:\n  \n```js\n    let { Component, State, SetModule, bootstrap } = window.ng2now;\n```\n\n> See the **Examples and Demos** section below for examples.\n \n## ng2now API\n\nThe following decorators have been implemented to support Angular 2 component syntax. Any parameters preceded with `?` are optional.\n\n```js\n// SetModule is not actually in Angular2, however it must be used \n// in place of and with the exact same syntax as angular.module().\nSetModule('my-app', ['angular-meteor']);\n\n@Component({ \n    selector: 'my-app', \n    ?template: '<div>Inline template</div>',   // inline template \n    ?templateUrl: 'path/to/the_template.html', // importing a template\n    ?bind: { twoWay: '=', value: '@', function: '&' },\n    ?providers: ['$http', '$q', 'myService'],  // alias for @Inject\n    ?replace: true or false,\n    ?transclude: true or false,\n    ?scope: undefined or true or same as bind,\n    ?providers: [ '$http', '$q' ],\n    ?stateConfig: // all options available to @State\n})\n\nclass App {\n    constructor($http, $q) { }\n}\n\nbootstrap(App, ?config);  // config is optional\n```\n\nThe annotations below are not Angular 2, but for me they make coding in Angular a bit nicer. \n\n```javascript\n@Injectable({ name: 'serviceName', providers: [ MyService, '$http'] })\n// @Service is an alias for @Injectable\n \n@Pipe({ name: 'filterName' })\n// @Filter is an alias for @Pipe\n \n@Directive({ \n    selector: 'my-app',\n    ?scope: true, \n    ?providers: [ MyService, '$http', '$q' ],\n    ?require: 'ng-model' or ['ng-model'] or { 'ng-model: 'ngmodel' }\n})\n\n \n```\n\nClient-side routing with ui-router 1.x\n\n```javascript\n@State({\n    name: 'stateName', \n    ?url: '/stateurl', \n    ?otherwise: true or '/default/route/url',\n    ?abstract: true,\n    ?html5Mode: true,\n    ?params: { id: 123 },  // default params, see ui-router docs\n    ?data: { a: 1, b: 2},  // custom data\n    ?resolve: {...}, \n    ?controller: controllerFunction, \n    ?template: '<div></div>',\n    ?templateUrl: 'client/app/app.html',\n    ?templateProvider: function() { return \"<h1>content</h1>\"; },\n    ?redirectTo\n}))\n```\n\n### @Component\n\n@Component(options)\n@Component(selector, options)\n\nCreates an AngularJS component in the module set with the last call to SetModule(). Internally, angular.module().component() is called to create the component described with this decorator.\n\nThe `options` argument is a literal object that can have the following parameters, in addition to those accepted by the AngularJS component() method.\n\n@param selector\n    The kebab-cased name of the element as you will use it in your html. ex: \"my-app\" or \"home-page\".\n    Selector can also be specified separately as the first argument to @Component(), followed by the options object itself.\n\n@param providers\n@param inject  (alias for providers)\n    An array of service class names or strings, whose singleton objects will be injected into the component's constructor. Please see the doco for `@Inject` parameter `providers` for more details.\n\n@param inputs\n    An array of strings that represent the attribute names, whose passed values will be assigned to your component's controller (this). `inputs` can be used in place of `bindings` and assumes one-directional \"<\" input binding.\n    The input can be supplied in two ways: as the name and also as the name with an annotation. If only the name is supplied then the annotation is assumed to be \"<\".\n    For example: \"xxx\" or \"xxx:&\" or \"xxx:@\" or \"xxx:<\" or \"xxx:=?\" or \"xxx:<yyy\".\n    See AngularJS documentation for component(), section on bindings for more information.\n\n@param stateConfig\n@param routerConfig  (alias for stateConfig)\n    For details please see the documentation for @State.\n\n@param module\n    This is the name of an angular module that you want to create this component in. In most cases you don't want to specify this, because it is already specified using SetModule(), but if you need to then this is where you do it. It is your responsibility to ensure that this module exists. Create an angular module like this: `angular.module('your-module-name', [])`.\n\nFor other parameters that you can specify, please refer to the AngularJS documentation for component() for further details.\n\n** Note that controllerAs is set to \"vm\" by ng2now. You can change this by using ng2now.options(). See options() documentation for details.\n\n### @Pipe\n\n@Pipe(name, options)\n@Filter(name, options)\n\nFilter is an alias for Pipe. The functionality is exactly the same.\n\n@param name\n    The name (string) of the pipe or te filter.\n\n@param providers\n    An array of service class names or strings, whose singleton objects\n    will be injected into the component's constructor. Please see\n    the doco for `@Inject` parameter `providers` for more details.\n\nIn Angular2 pipes are pure functions that take arguments and return\na value. No mutations are allowed and no side effects. So, injections\nare not very useful, because they could potentially cause side effects.\n\n    @Pipe({ name: 'filt'})\n    class Filt {\n      transform(value, args) {\n        return `Hello ${value} and welcome ${JSON.stringify(args)}.`\n      }\n    }\n\nHowever, for those who want to inject services into their filters,\nthat can be easily accomplished as shown below.\n\n    @Pipe({ name: 'filt', providers: ['$rootScope'] })\n    class Filt {\n      constructor(private $rootScope) {\n        return (value, args) => {\n          return `Hello ${value} and welcome ${JSON.stringify(args)}.`\n        }\n      }\n    }\n\n`Filter` is a synonym for the Angular2 decorator `Pipe`. Filter exists just\nfor Angular1 nostalgic reasons.\n\n\n## Examples and Demos\n\nPlease visit the following github repositories and Plunker examples before you start coding. It will save you some \"WTF\" time.\n\n#### ES6 example\n\n[ES6 Angular2-now Plunker](http://plnkr.co/edit/JhHlOr?p=preview)\n\n#### Meteor examples on GitHub\n\n[Thinkster-MEAN-Tutorial-in-angular-meteor](https://github.com/pbastowski/Thinkster-MEAN-Tutorial-in-angular-meteor/tree/feature/ng2-now-with-services)\n\n[meteor-angular-socially](https://github.com/pbastowski/meteor-angular-socially/tree/feature/ng2now)\n\n[todo-ng2now](https://github.com/pbastowski/todo-ng2now)\n\n\n## API in-depth\n\n### Directive\n\n`Directive` creates new HTML attributes that can be used to decorate existing or custom elements with new behaviours. Also, directives have no template HTML. A directive is one attribute amongst any number of other attributes on an element. All directives are by default created with shared scope.\n\nThrough the options object you can provide the following arguments to the Directive decorator:\n \n`selector` | the attribute name, such as \"auto-focus\" \n`controllerAs` | optionally specify a controllerAs different to the default \"vm\"\n`scope` | true\n`require` | A literal object map of names of other controllers that you may need the reference to, such as \"ng-model\", which is useful for validating input values.\n \nSee angular.module().directive() documentation for more information.\n\n ```javascript\n@Directive('set-focus', { \n    providers: ['$element']\n})\nclass SetFocus { \n    constructor($el) {\n        $el.focus()\n    }\n}\n```\n\n### `SetModule` instead of `angular.module`\n\n```javascript\nSetModule( 'app', ['angular-meteor', 'ui.router', 'my-other-module'] )\n```\n\n> Use `SetModule` in the same places you would normally use `angular.module`.\n  \n\nYou must use `SetModule` at least once in your app, before you use any decorators, to tell ng2now in which module to create all Components, Directives, Services, Pipes/Filters and State configuration. The syntax is identical to Angular's own [angular.module()](https://docs.angularjs.org/api/ng/function/angular.module). \n\n### ui-router 1.x support through @State\n\n> ui-router version below 1.x are not supported.\n\nThis is completely not Angular 2, but I love how easy it makes my routing. You'll have to include ui-router 1.x in your app:\n\n    npm install angular-ui-router@1.0.0-beta.3\n    \nThen add the `ui.router` dependency to your bootstrap module, like this\n  \n    SetModule('myApp', ['ui.router']);\n\nAnd make sure that the `angular-ui-router` library is loaded before `ng2now`. \n\nNow, you can simply decorate your component with the route/state info, like so:\n\n```javascript\n@State({name: 'defect', url: '/defect', defaultRoute: '/defect'})\n\n@Component({\n    selector: 'defect', \n    templateUrl: 'client/defect/defect.html',\n    providers: ['lookupTables'],\n    \n    // Or you can add the `stateConfig` directly to the component and avoid\n    // importing the State decorator alltogether.\n    stateConfig: {name: 'defect', url: '/defect', defaultRoute: '/defect'}\n})\nclass Defect { \n}\n```\n\n#### `otherwise` previously known as `defaultRoute`\n\nExamples of how to use `otherwise` and it's deprecated alias `defaultRoute`.\n\n```javascript\n{ name: 'root',               url: '' }\n{ name: 'root.defect',        url: '/defect', otherwise: '/defect' }\n{ name: 'root.defect.report', url: '/report', otherwise: '/defect/report' }\n// `otherwise: true` is a shortcut for `otherwise: '/defect'`\n{ name: 'root.defect',        url: '/defect', otherwise: true }\n```\n\nThe `otherwise`property makes the annotated state the default for your app. That is, if the user types an unrecognised path into the address bar, or does not type any path other than the url of your app, they will be redirected to the path specified in `otherwise`. It is a bit like the old 404 not found redirect, except that in single page apps there is no 404. There is just the default page (or route). \n\n> Meteor's web server automatically redirects all unrecognised routes to the app root \"/\". However, if you're not using Meteor, you'll want to make sure that all unrecognised routes are redirected to the app root, which in many cases is \"/\", or to wherever they should go by design. \n\n> `defaultRoute` is deprecated. You should use `otherwise` in all cases\n\nFor example\n\n```javascript\n{ name: 'root.defect', url: '/defect', otherwise: '/defect' }\n```\n\nFor nested states, such as shown above (\"root.defect\"), where the app default state has one or more parent states with their own URLs, always specify `otherwise` as a string that represents the final URL that you want the app to navigate to by default, as shown above.\n\n\n#### Resolving Values\n\nA `ui-router` resolve block can be added to the @State annotation, as shown below. UI router 1.x will inject resolved values directly into the controller (the Component's class instance), where they will be accessible as properties on `this`.  \n\n```javascript\n@State({\n    name: 'defect', \n    url: '/defect', \n    otherwise: true,\n    resolve: {\n        user: ['$q', function($q) { return 'paul'; }],\n        role: function() { return 'admin'; }\n    }\n})\n\n@Component({ \n    selector: 'defect',\n    templateUrl: 'client/defect/defect.html'\n})\n\nclass Defect {\n    constructor() { \n        // this.name == 'paul'\n        // this.role == 'admin'\n    }\n}\n```\n\n#### States without a component\n    \nIt is also possible to define a state without a component, by decorating a plain class with @State. \n\n> Note that then annotating plain classes (not Components) you will still have to add a `<ui-view></ui-view>` at the appropriate place in your HTML, otherwise nothing will seem to happen.\n\n```javascript\n@State({ \n    name: 'test', \n    url: '/test', \n    resolve: { \n        user: function() { return 'paul'; },\n        role: function() { return 'admin'; } \n    } \n})\nclass App {\n    constructor(user, role) {\n        console.log('App resolved values: ', user, role);\n    }\n}\n```\n\nIn this case, the class constructor is the controller for the route and receives the injected properties as arguments to its constructor (as per ui-router documentation).  \n\n\n### Bootstrapping the app\n\nThis allows you to bootstrap your Angular 1 app using the (now deprecated) Angular 2 component bootstrap syntax. There is no need to use `ng-app`, but you can still use it if you want to. \n\n> Please read the in-source documentation for @State to see how to handle \"abstract\" routes on the bootstrap component.  \n\n```javascript\nbootstrap (App [, config ])\n``` \n\nUsing `bootstrap` is the equivalent of the Angular 1 manual bootstrapping method: `angular.bootstrap(DOMelement, ['app'])`. The bootstrap function also knows how to handle Cordova apps.\n`config` is the same parameter as in [angular.bootstrap()](https://code.angularjs.org/1.3.15/docs/api/ng/function/angular.bootstrap). It can be used to enforce strictDi, for testing before deployment to production. \n\n#### An example showing how to bootstrap an app\n\nIn your HTML body add this:\n\n```html\n<my-app></my-app>\n```\n\nAnd in your JavaScript add the code below.  \n\n```javascript\nSetModule('my-app', []);\n\n@Component({selector: 'my-app' })\n@View({template: `<h1>Hello World</h1>`})\nclass App { \n}\n\nbootstrap(App);\n```\n\n> By convention, the bootstrap module MUST have the same name as the bootstrap component's selector. So, as shown above, the bootstrap component's selector is \"my-app\" and the module name is also \"my-app\".\n\n### ControllerAs `vm`\n\nThe created components use `ControllerAs` syntax. So, when referring to properties or methods on the component's class, make sure to prefix them with `this`. In the templates prefix all references to class variables and methods with `vm`. If the component's selector is `home-page` then your html might look like this:\n\n```html\n<div ng-click=\"vm.test()\"></div>\n```\n\n#### Can I use a prefix other than `vm`?\n\nSure. See the options section, below, for how to change the global prefix from `vm` to whatever you want it to be. You can also specify controllerAs in your component definition, as shown below:\n\n```javascript\n@Component({ selector: 'defect', controllerAs: '$ctrl' })\nclass Defect { \n    test() {}\n}\n```\n\nand then in your HTML template you will then be able do this:\n\n```html\n<div ng-click=\"$ctrl.test()\"></div>\n```\n\n### ng2now `options`\n\nBelow is the list of ng2now options that can be changed. Make sure to set options before executing any other ang2now code.\n\nAttribute | Type | Description\n----------|------|-------------------\ncontrollerAs | string | Allows you to specify a default controllerAs prefix to use for all components. The default prefix is the camel-cased version of the component's selector.   \nuiRouterTemplate | string | The default \"<div ui-view></div>\" template can be overridden with `options.uiRouterTemplate`. This is useful when the `ui-view` should be rendered in an element other than a DIV, such as a SPAN.    \n\nOptions can be defined or changed like this:\n\n```javascript\nimport {options, SetModule} from 'angular2now';\n\noptions({\n    controllerAs: 'vm',\n    uiRouterTemplate: '<div ui-view></div>'\n})\n\n// Now you can call SetModule(), etc...\nSetModule(...)\n```\n\n## What environment is required?\n- Angular 1.5+\n- angular-ui-router 1+  (versions lower than 1.x will NOT work with ng2now)\n- Babel 5.1.10+ or TypeScript 2+\n\n### Browsers\n- IE10+\n- Chrome\n- FireFox\n- Safari desktop and mobile (IOS 7 or better)\n\n## Why ng2now? \n\nThree simple reasons\n\n1. make Angular 1 coding simple and fun for myself and my team\n2. make me think of web apps in terms of components within components, instead of HTML + controllers + directives + ui-router \n3. make ui-router configuration simple (because it is not) \n\nAs it stands now, the above three requirements are satisfied for myself, but if you would like to contribute then I am happy to consider a PR.\n\n## You want to contribute?\n\nIf you think you have a great feature that should be incorporated in the main library, or a fix for a bug, or some doco updates then please send me a PR.\n\nWhen sending code changes or new code make sure to describe in details what it is that you are trying to achieve and what the code does. I am not going to accept pure code without detailed descriptions of what it does and why.\n\n### Contributors\n\nThis is a new repo, based on angular2-now, but re-written to work better with Angular 1.5. \n\n- Paul Bastowski (pbastowski)\n","versions":{"0.0.3":{"name":"ng2now","version":"0.0.3","description":"ng2now is the concise successor to angular2-now","main":"dist/ng2now.js","repository":{"type":"git","url":"https://github.com/pbastowski/ng2now.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","tsc-ng2now":"bash ./package.sh"},"keywords":["angular2-now","angular","decorators","components","router"],"author":{"name":"Paul Bastowski"},"license":"MIT","gitHead":"b51af06788bc352576efb80fd4e5b41e6a4eec1a","bugs":{"url":"https://github.com/pbastowski/ng2now/issues"},"homepage":"https://github.com/pbastowski/ng2now","_id":"ng2now@0.0.3","_shasum":"6c8c394bb3b9b8eedb8311538ff9d35a637a6a25","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"paul.bastowski","email":"pbastowski@gmail.com"},"dist":{"shasum":"6c8c394bb3b9b8eedb8311538ff9d35a637a6a25","tarball":"https://registry.npmjs.org/ng2now/-/ng2now-0.0.3.tgz","integrity":"sha512-Hgm14olCSkjNKqkrkaCM/Svo0ljAmXKowp7L9oB46WwqDlrqBKveXuSECw9bk6sETHrUv5IRnS8KxEmn97VYwA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICcr6YSGv1T8UTp+OmX/Q6ERTMSTPKN8/EAQ/T/nYulLAiAewEynzzU5scBD924hObJzYRQqo3vzhXX9CQ+Y4Z5K6g=="}]},"maintainers":[{"name":"paul.bastowski","email":"pbastowski@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/ng2now-0.0.3.tgz_1473315999721_0.15445438702590764"}},"0.0.4":{"name":"ng2now","version":"0.0.4","description":"ng2now is the concise successor to angular2-now","main":"dist/ng2now.js","repository":{"type":"git","url":"https://github.com/pbastowski/ng2now.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","tsc-ng2now":"bash ./package.sh"},"keywords":["angular2-now","angular","decorators","components","router"],"author":{"name":"Paul Bastowski"},"license":"MIT","gitHead":"608689ab5ac0e701b072a494b4b6b73f697a4efd","bugs":{"url":"https://github.com/pbastowski/ng2now/issues"},"homepage":"https://github.com/pbastowski/ng2now","_id":"ng2now@0.0.4","_shasum":"9906acbe913bbf2c74dd5ce03d48aeab4f08f5b9","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"paul.bastowski","email":"pbastowski@gmail.com"},"dist":{"shasum":"9906acbe913bbf2c74dd5ce03d48aeab4f08f5b9","tarball":"https://registry.npmjs.org/ng2now/-/ng2now-0.0.4.tgz","integrity":"sha512-Xi+Rj59yHtykzWntZo1CvrtpdVXUD+C4/mmDMPiQ94qr6PUHCXFFu7EsvUgP09gPRt5FpfFEhIu0k9YjvSpjgQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGMBFc71OAEAKW6bRbyx9FWX4yh9e0Ui7bY3qLlAzP5PAiAKFgsRvhG43uZDqe+GJKTA5P2Oo2E4xdLv8HGVx9BPHA=="}]},"maintainers":[{"name":"paul.bastowski","email":"pbastowski@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/ng2now-0.0.4.tgz_1473316782097_0.4865767606534064"}},"0.0.6":{"name":"ng2now","version":"0.0.6","description":"ng2now is the concise successor to angular2-now","main":"dist/ng2now.js","repository":{"type":"git","url":"https://github.com/pbastowski/ng2now.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","tsc-ng2now":"bash ./package.sh"},"keywords":["angular2-now","angular","decorators","components","router"],"author":{"name":"Paul Bastowski"},"license":"MIT","gitHead":"10a1bfa73bc2a70a1bf2378906f7976dc4ddfd76","bugs":{"url":"https://github.com/pbastowski/ng2now/issues"},"homepage":"https://github.com/pbastowski/ng2now","_id":"ng2now@0.0.6","_shasum":"fe7d9071d62da5a6f83a705e47136c1ed8371329","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"paul.bastowski","email":"pbastowski@gmail.com"},"dist":{"shasum":"fe7d9071d62da5a6f83a705e47136c1ed8371329","tarball":"https://registry.npmjs.org/ng2now/-/ng2now-0.0.6.tgz","integrity":"sha512-vk5EVzLExoyrljlaCFKnVLSYSwkpBa5IlJBun9yJb3Y5+gCNcikXuYagyx8A9MJ4HhN2+gRWQ10jnbaifdEksQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcIGgNi78GHvoW0Ao4T9o0dTw7RtdE/7XmvYfTE9164wIhAKlz5vtN6N4T5OnIALdZ5lOsIkjrhL8c5Bi9m+WVeLHl"}]},"maintainers":[{"name":"paul.bastowski","email":"pbastowski@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/ng2now-0.0.6.tgz_1473317090729_0.16305735614150763"}},"0.0.7":{"name":"ng2now","version":"0.0.7","description":"ng2now is the concise successor to angular2-now","main":"dist/ng2now.js","repository":{"type":"git","url":"https://github.com/pbastowski/ng2now.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","tsc-ng2now":"bash ./package.sh","prepublish":"npm run tsc-ng2now || true"},"keywords":["angular2-now","angular","decorators","components","router"],"author":{"name":"Paul Bastowski"},"license":"MIT","gitHead":"966fa2e1cbeb57fdfc09b8073c951f701b277fd8","bugs":{"url":"https://github.com/pbastowski/ng2now/issues"},"homepage":"https://github.com/pbastowski/ng2now","_id":"ng2now@0.0.7","_shasum":"c3fd96e1dc748449c5c17ea3356d3827217ef2b5","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"paul.bastowski","email":"pbastowski@gmail.com"},"dist":{"shasum":"c3fd96e1dc748449c5c17ea3356d3827217ef2b5","tarball":"https://registry.npmjs.org/ng2now/-/ng2now-0.0.7.tgz","integrity":"sha512-h8Z3lCl3gd1M6q780iPMWZ/sRuRiZwxu7ZtdsBuiq0J2TyHBObYrEJtrnUaWKXbxZHaPm7VGEVt9p5mxPpzzHQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZXrLd1WpXoU4VcCO9eyqzzFiWboUqCZ4L8P8SR56jjwIgCkfiggwQ8F+rnM/AzN1KsPoHmM6OGgDuDNPlK26+Zq8="}]},"maintainers":[{"name":"paul.bastowski","email":"pbastowski@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/ng2now-0.0.7.tgz_1473317392286_0.6739205995108932"}},"0.0.8":{"name":"ng2now","version":"0.0.8","description":"ng2now is the concise successor to angular2-now","main":"dist/ng2now.js","repository":{"type":"git","url":"https://github.com/pbastowski/ng2now.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","tsc-ng2now":"bash ./package.sh","prepublish":"npm run tsc-ng2now || true"},"keywords":["angular2-now","angular","decorators","components","router"],"author":{"name":"Paul Bastowski"},"license":"MIT","gitHead":"19c87e7a7eb05c424723f76740b0ea301c9c2ff8","bugs":{"url":"https://github.com/pbastowski/ng2now/issues"},"homepage":"https://github.com/pbastowski/ng2now","_id":"ng2now@0.0.8","_shasum":"c4d530cc359863b578e4bc0cee8a4099bc0cb6fa","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"paul.bastowski","email":"pbastowski@gmail.com"},"dist":{"shasum":"c4d530cc359863b578e4bc0cee8a4099bc0cb6fa","tarball":"https://registry.npmjs.org/ng2now/-/ng2now-0.0.8.tgz","integrity":"sha512-5jsxJO8hk/Rd/fF7bD+3M749zaZmQQhsXnRqTpDEUn8z3DRjIVjv+cJmBs500IlozZ6XgsXhJ8Jrj9dsLYHQWQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDikyIZNyqXee73/M57+G6UblqQu58GKF0VXRygx+H9iAiBxpG5IeV7pb5nW3HvuZBboRW4o86IVYSHRepnTdqu0kw=="}]},"maintainers":[{"name":"paul.bastowski","email":"pbastowski@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/ng2now-0.0.8.tgz_1473317662274_0.4454742888920009"}},"0.0.9":{"name":"ng2now","version":"0.0.9","description":"ng2now is the concise successor to angular2-now","main":"dist/ng2now.js","repository":{"type":"git","url":"https://github.com/pbastowski/ng2now.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","tsc-ng2now":"bash ./package.sh","prepublish":"npm run tsc-ng2now || true"},"keywords":["angular2-now","angular","decorators","components","router"],"author":{"name":"Paul Bastowski"},"license":"MIT","gitHead":"b51fb958811779844db0fbc33885c15057795879","bugs":{"url":"https://github.com/pbastowski/ng2now/issues"},"homepage":"https://github.com/pbastowski/ng2now","_id":"ng2now@0.0.9","_shasum":"9460524c7cf3a8ce4fde314a7ae65ed010513ccb","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"paul.bastowski","email":"pbastowski@gmail.com"},"dist":{"shasum":"9460524c7cf3a8ce4fde314a7ae65ed010513ccb","tarball":"https://registry.npmjs.org/ng2now/-/ng2now-0.0.9.tgz","integrity":"sha512-CbBcGEBdohZSLFQipYmH5En6JnTtnETtkP6NUCNF7I96I28NmAsjVacIH9k0djXzsk4QwUWEbZtAcZH2ctTdXA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDihAieCLm3qfYsu4fIp1EI2kWTuFNNk5TD1ybI35K4hQIgE2iy6DMWhbapS5NXjHADlq8O6SojV26bOOAnUdCqz+U="}]},"maintainers":[{"name":"paul.bastowski","email":"pbastowski@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/ng2now-0.0.9.tgz_1473317833173_0.6373621071688831"}},"0.0.10":{"name":"ng2now","version":"0.0.10","description":"ng2now is the concise successor to angular2-now","main":"dist/ng2now.js","repository":{"type":"git","url":"https://github.com/pbastowski/ng2now.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","tsc-ng2now":"bash ./package.sh","prepublish":"npm run tsc-ng2now || true"},"keywords":["angular2-now","angular","decorators","components","router"],"author":{"name":"Paul Bastowski"},"license":"MIT","gitHead":"c398a0af449ec183683ae61cad66ea55058fbd06","bugs":{"url":"https://github.com/pbastowski/ng2now/issues"},"homepage":"https://github.com/pbastowski/ng2now","_id":"ng2now@0.0.10","_shasum":"90a5cac526a7e43581743b891ed880056a82d34a","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"paul.bastowski","email":"pbastowski@gmail.com"},"dist":{"shasum":"90a5cac526a7e43581743b891ed880056a82d34a","tarball":"https://registry.npmjs.org/ng2now/-/ng2now-0.0.10.tgz","integrity":"sha512-pkfDsK80kWGJtQXEIE/BdM0yFzoW5Tm2aHkNCRmDROmBLmQqnEy/OftB1v94Rz+8BHOS7Ja8ntLRAUVQHa9G0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqUy+HYNgDaspq85txqBhWH1eHVZBNo2Li7uMnIuuYtAIhAL/ZEQX6hjQAX4nxIh5VgeGYUNPVWNlZ+0Z6ANfv0vi5"}]},"maintainers":[{"name":"paul.bastowski","email":"pbastowski@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/ng2now-0.0.10.tgz_1473429475818_0.31821104302071035"}},"0.0.11":{"name":"ng2now","version":"0.0.11","description":"ng2now is the concise successor to angular2-now","main":"dist/ng2now.js","repository":{"type":"git","url":"https://github.com/pbastowski/ng2now.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","tsc-ng2now":"bash ./package.sh","prepublish":"npm run tsc-ng2now || true"},"keywords":["angular2-now","angular","decorators","components","router"],"author":{"name":"Paul Bastowski"},"license":"MIT","gitHead":"e82624ab8b26006408c9143a0a33b42d9e2ef716","bugs":{"url":"https://github.com/pbastowski/ng2now/issues"},"homepage":"https://github.com/pbastowski/ng2now","_id":"ng2now@0.0.11","_shasum":"9f3e336e233e7ff838a533cfb9a629687b1f9f84","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"paul.bastowski","email":"pbastowski@gmail.com"},"dist":{"shasum":"9f3e336e233e7ff838a533cfb9a629687b1f9f84","tarball":"https://registry.npmjs.org/ng2now/-/ng2now-0.0.11.tgz","integrity":"sha512-86/BkdI5K5tXPy9dszP1LfIgT6iF9/TOT9CcAq72DOHVapjMu3+zG+mOWAAN7dN3v0bjMM5vbFHYz7U6UqrRnA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpm0bzEsw3F4W2GCEQ6QMWUnBcC3d8Jn+KfELbokw7CQIhAOd2fJBCUktd27BLK2p0eS93TjJWX0urdqNxLFZlD5Oh"}]},"maintainers":[{"name":"paul.bastowski","email":"pbastowski@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ng2now-0.0.11.tgz_1473499641740_0.5243055599275976"}},"0.0.12":{"name":"ng2now","version":"0.0.12","description":"ng2now is the concise successor to angular2-now","main":"dist/ng2now.js","repository":{"type":"git","url":"https://github.com/pbastowski/ng2now.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","tsc-ng2now":"bash ./package.sh","prepublish":"npm run tsc-ng2now || true"},"keywords":["angular2-now","angular","decorators","components","router"],"author":{"name":"Paul Bastowski"},"license":"MIT","gitHead":"4e4d1c57faeb3c72096f8eb6e235b2dd6b20078a","bugs":{"url":"https://github.com/pbastowski/ng2now/issues"},"homepage":"https://github.com/pbastowski/ng2now","_id":"ng2now@0.0.12","_shasum":"4888b07c992b9e4967f1ca4c23460b1e9a9e14dd","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"paul.bastowski","email":"pbastowski@gmail.com"},"dist":{"shasum":"4888b07c992b9e4967f1ca4c23460b1e9a9e14dd","tarball":"https://registry.npmjs.org/ng2now/-/ng2now-0.0.12.tgz","integrity":"sha512-/3O10ggmcu18u0WiVKWy6UvY1MwNF5Mb68g7VS4vdgrYhdL6+6c6qAj6ejEgNsiAYb1POcGVOfKJHvrFZ1Qr0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICoXeIO6DIk7dfvLX9P4J9CNpSJN0ZKjSO14JasS6WnkAiBtKWTMWiTE58+3TSxsH68NqravFFCJKDQ2R8X4pzC1SQ=="}]},"maintainers":[{"name":"paul.bastowski","email":"pbastowski@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/ng2now-0.0.12.tgz_1473538574406_0.0027401153929531574"}},"0.0.13":{"name":"ng2now","version":"0.0.13","description":"ng2now is the concise successor to angular2-now","main":"dist/ng2now.js","repository":{"type":"git","url":"https://github.com/pbastowski/ng2now.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","tsc-ng2now":"bash ./package.sh","prepublish":"npm run tsc-ng2now || true"},"keywords":["angular2-now","angular","decorators","components","router"],"author":{"name":"Paul Bastowski"},"license":"MIT","gitHead":"cfdd33b3445312234fc84fc53d12941d15d64c40","bugs":{"url":"https://github.com/pbastowski/ng2now/issues"},"homepage":"https://github.com/pbastowski/ng2now","_id":"ng2now@0.0.13","_shasum":"ed85e820c2798564853a083dbc058e4c63e30f68","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.5.0","_npmUser":{"name":"paul.bastowski","email":"pbastowski@gmail.com"},"dist":{"shasum":"ed85e820c2798564853a083dbc058e4c63e30f68","tarball":"https://registry.npmjs.org/ng2now/-/ng2now-0.0.13.tgz","integrity":"sha512-CCsPYwJWzLYwdO2OFH3MuMBcmuf4fBMb35ObybOM0FDB0HdUt5xs69+1NraDzYh+nVVwh9BWnHlh5O0widv1cQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2CUH1mbLOlhaW3dO8mZhid5iTC+IWvo4tvcYqMVs5HgIgMcJtcU9XMTQSaNurZcEIUApxltalrk7r1Uw5Ij4tE0Y="}]},"maintainers":[{"name":"paul.bastowski","email":"pbastowski@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/ng2now-0.0.13.tgz_1474223989270_0.3069692342542112"}},"0.0.14":{"name":"ng2now","version":"0.0.14","description":"ng2now is the concise successor to angular2-now","main":"dist/ng2now.js","repository":{"type":"git","url":"git+https://github.com/pbastowski/ng2now.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","tsc-ng2now":"bash ./package.sh","prepublish":"npm run tsc-ng2now || true"},"keywords":["angular2-now","angular","decorators","components","router"],"author":{"name":"Paul Bastowski"},"license":"MIT","gitHead":"e79ac38f5a42e3cbf7d7f5284940c39e9a133876","bugs":{"url":"https://github.com/pbastowski/ng2now/issues"},"homepage":"https://github.com/pbastowski/ng2now#readme","_id":"ng2now@0.0.14","_shasum":"154e3e42edab4f865a5e42339033ebd508d55c62","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.6.0","_npmUser":{"name":"paul.bastowski","email":"pbastowski@gmail.com"},"dist":{"shasum":"154e3e42edab4f865a5e42339033ebd508d55c62","tarball":"https://registry.npmjs.org/ng2now/-/ng2now-0.0.14.tgz","integrity":"sha512-uFkUCOCO5cCDN+pAAj0AermIWfen8WauCcqV+aF+Fw3tY7by7N0kkBMt+vsA1ZreQR3X4WKuXxVHflcdBxDmoQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDNBQFXjMw6ftrXuue/a6/3+Y1kyGy7Yzxu5UQZEBY2zAiEAi8liIxqn959VzwUw8GBZ4F8pNG8T+L9KsdYskqCgX2w="}]},"maintainers":[{"name":"paul.bastowski","email":"pbastowski@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ng2now-0.0.14.tgz_1477505585663_0.7628296511247754"}},"0.0.15":{"name":"ng2now","version":"0.0.15","description":"ng2now is the concise successor to angular2-now","main":"dist/ng2now.js","repository":{"type":"git","url":"git+https://github.com/pbastowski/ng2now.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","tsc-ng2now":"bash ./package.sh","prepublish":"npm run tsc-ng2now || true"},"keywords":["angular2-now","angular","decorators","components","router"],"author":{"name":"Paul Bastowski"},"license":"MIT","gitHead":"996a8c23e377060adb4123ba33dc4230a8b61ef2","bugs":{"url":"https://github.com/pbastowski/ng2now/issues"},"homepage":"https://github.com/pbastowski/ng2now#readme","_id":"ng2now@0.0.15","_shasum":"5bcb5e19b2fbfec67ab79dc871cbc75909d1de53","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.6.0","_npmUser":{"name":"paul.bastowski","email":"pbastowski@gmail.com"},"dist":{"shasum":"5bcb5e19b2fbfec67ab79dc871cbc75909d1de53","tarball":"https://registry.npmjs.org/ng2now/-/ng2now-0.0.15.tgz","integrity":"sha512-NDjwH4F0YocJbgzDpUpFN68B8yVC89D6M3afmNxqinqcTgiaJXjiqvqf07WwsrXNx2ZUGkXoHcxoRo4BvDvCbQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE3J6rUJREC4Rio+yzPnons3HdHbBw5M6TfPJ66hzuubAiBhy+LlpwtvBN0bf/ZYuoE/zPJBnxli363i+iXSg5SSlg=="}]},"maintainers":[{"name":"paul.bastowski","email":"pbastowski@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/ng2now-0.0.15.tgz_1478803462601_0.3473356368485838"}},"0.0.16":{"name":"ng2now","version":"0.0.16","description":"ng2now is the concise successor to angular2-now","main":"dist/ng2now.js","repository":{"type":"git","url":"git+https://github.com/pbastowski/ng2now.git"},"scripts":{"build":"bash ./package.sh","publish-npm":"npm version patch && npm run build || true && npm publish"},"keywords":["ng2now","angular2-now","angular","decorators","components","router"],"author":{"name":"Paul Bastowski"},"license":"MIT","gitHead":"78dbca113488f14c17a3adb74593d0d016b703b5","bugs":{"url":"https://github.com/pbastowski/ng2now/issues"},"homepage":"https://github.com/pbastowski/ng2now#readme","_id":"ng2now@0.0.16","_shasum":"e033c9e7223d63e18a2a7fbffbb44541f1a76cab","_from":".","_npmVersion":"4.2.0","_nodeVersion":"6.10.0","_npmUser":{"name":"paul.bastowski","email":"pbastowski@gmail.com"},"dist":{"shasum":"e033c9e7223d63e18a2a7fbffbb44541f1a76cab","tarball":"https://registry.npmjs.org/ng2now/-/ng2now-0.0.16.tgz","integrity":"sha512-3IukjHUdHsj/443ABRCp2KsAjjSUvFnjbhSIDelZtFHwQbO37wNguVMjLjLzctOlqMVZbezBYIl2mc+e3UJEUQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD7OzM9bXTPnQyzBtsjwr3FqF9ATZsuGxWsDJZXSsSWCgIhAOTvqHIRrJ7TWE5PrD/j5PNrQXwezBftBcOK2FrMBhuX"}]},"maintainers":[{"name":"paul.bastowski","email":"pbastowski@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ng2now-0.0.16.tgz_1492854717733_0.11395568214356899"}},"0.0.17":{"name":"ng2now","version":"0.0.17","description":"ng2now is the concise successor to angular2-now","main":"dist/ng2now.js","repository":{"type":"git","url":"git+https://github.com/pbastowski/ng2now.git"},"scripts":{"build":"bash ./package.sh","publish-npm":"npm version patch && npm run build || true && npm publish"},"keywords":["ng2now","angular2-now","angular","decorators","components","router"],"author":{"name":"Paul Bastowski"},"license":"MIT","gitHead":"6ef946cc4296e2d7a9a05ab56887e2971019c7d5","bugs":{"url":"https://github.com/pbastowski/ng2now/issues"},"homepage":"https://github.com/pbastowski/ng2now#readme","_id":"ng2now@0.0.17","_shasum":"3c92510a8150f1bb5bbd10dbe4068995d529b286","_from":".","_npmVersion":"4.2.0","_nodeVersion":"6.10.0","_npmUser":{"name":"paul.bastowski","email":"pbastowski@gmail.com"},"dist":{"shasum":"3c92510a8150f1bb5bbd10dbe4068995d529b286","tarball":"https://registry.npmjs.org/ng2now/-/ng2now-0.0.17.tgz","integrity":"sha512-scTawwQlOB0oXnfRlZSAvZUTGpv9XOTsyUGeU/A8yQirrtVKPfkIMirml0SuW7X9gsZoszdN50cOkDg4LjM1BQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHuVal1OI8Lsk/JXkVFP6CUTgBt2JGiO6OpBYwjL/Y94AiBKaq6jqe4C06Hs/tL1D6K8X8RLSK3n/WN65juEPxI1WQ=="}]},"maintainers":[{"name":"paul.bastowski","email":"pbastowski@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ng2now-0.0.17.tgz_1492856365074_0.08080130722373724"}}},"keywords":["ng2now","angular2-now","angular","decorators","components","router"],"author":{"name":"Paul Bastowski"},"license":"MIT","readmeFilename":"README.md","homepage":"https://github.com/pbastowski/ng2now#readme","repository":{"type":"git","url":"git+https://github.com/pbastowski/ng2now.git"},"bugs":{"url":"https://github.com/pbastowski/ng2now/issues"}}