Which Angular 2 modules are needed for my application?
<p>I added <code>@Input</code> to my Angular 2 directive and I get an error that leads me to believe that I have not imported the Angular 2 module that includes the <code>@Input</code> metadata.</p>

<pre><code>zone.js:1263 GET http://localhost:8880/vendor/@angular/core/bundles/core.umd.js/src/metadata/directives.js 404 (Not Found)
</code></pre>

<p>The proof of this is that when I remove the @Input metadata, the application does not generate any errors.</p>

<p>Within the module that I am using the <code>@Input</code> metadata I am importing the <code>{Input}</code> from <code>@angular/core/src/metadata/directives</code> my IDE (IDEA 2016.2) automatically added the reference for me.</p>

<p>So I need to import the proper Angular 2 module via <code>@NgModule</code> - but I'm at a loss as to how to determine what it's called or where its located. </p>

<p>Here's my <code>ApplicationModule</code> (bootstrap) module definition:</p>

<pre><code>import {NgModule} from '@angular/core';

import {BrowserModule, Title} from '@angular/platform-browser';
import {RouterModule} from '@angular/router';

import {UtilityModule} from '../utility/module';
import {I18NModule} from '../i18n/module';

import {FrameworkModule} from '../framework/module';

import {ApplicationComponent} from './application.component';
import {applicationRouting, applicationRoutingProviders} from './application.routing';

import {SandboxComponent} from './sandbox.screen/sandbox.component';
import {SpreadsheetComponent} from './spreadsheet.screen/spreadsheet.component';

@NgModule({
    imports: [BrowserModule, RouterModule, UtilityModule, I18NModule, applicationRouting, FrameworkModule],
    providers: [Title, applicationRoutingProviders],
    declarations: [ApplicationComponent, SandboxComponent, SpreadsheetComponent],
    bootstrap: [ApplicationComponent]
})
export class ApplicationModule {}
</code></pre>

<p>And here's my <code>FrameworkModule</code> in which I am try to use <code>@Input</code>:</p>

<pre><code>import {NgModule} from '@angular/core';

import {BrowserModule} from '@angular/platform-browser';

import {TUT_FRAMEWORK_DIRECTIVES} from './directives/index';
import {TUT_FRAMEWORK_COMPONENTS} from './components/index';

@NgModule({
    imports: [BrowserModule],
    providers: [],
    declarations: [TUT_FRAMEWORK_DIRECTIVES, TUT_FRAMEWORK_COMPONENTS],
    exports: [TUT_FRAMEWORK_DIRECTIVES, TUT_FRAMEWORK_COMPONENTS]
})
export class FrameworkModule {}
</code></pre>

<p>Presumably I need to add an Angular 2 module import to one of these files to provide the implementation of <code>@Input</code></p>

<p>In general where is the list of Angular 2 provided modules and how can I determine which ones correspond to which features of Angular 2?</p>

<p><strong>Further Research</strong></p>

<p>From the Angular website (API documentation):</p>

<p><a href="https://angular.io/docs/ts/latest/api/" rel="nofollow">https://angular.io/docs/ts/latest/api/</a></p>

<p><em>@angular/core</em></p>

<p><code>Input</code></p>

<p><a href="https://angular.io/docs/ts/latest/api/core/index/Input-interface.html" rel="nofollow">https://angular.io/docs/ts/latest/api/core/index/Input-interface.html</a></p>

<p>exported from <em>@angular/core/index</em>, defined in <em>@angular/core/src/metadata/directives.ts</em></p>

<p>I'm not sure how to interpret any of the above information in regard to what I need to include in my bootstrap module definition... (maybe I'm barking up the wrong tree)</p>