How to prevent TypeScript from interrupting Webpack building on unresolved variables declared on Webpack's ProvidePlugin?
<p>Is there a way to prevent WebPack's building process from failing after typescript compiler start yelling on unresolved variables that actually are already configured on webpack's ProvidePlugin configuration? </p>

<p><strong>webpack.config.js</strong></p>

<pre><code>plugins: [
...
new webpack.ProvidePlugin({
            $: "jquery",
            jQuery: "jquery",
            "window.jQuery": "jquery",
            "_": "underscore",
            "underscore": "underscore"
            //'process.env.NODE_ENV': '"development"'
        }),

]
</code></pre>

<p><strong>tsconfig.json</strong></p>

<pre><code>{
  "compilerOptions": {


    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "suppressImplicitAnyIndexErrors": true,
    "declaration": false
  },
  "exclude": [
    "node_modules",
    "typings/main",
    "typings/main.d.ts"
  ]
}
</code></pre>

<p><a href="https://webpack.github.io/docs/list-of-plugins.html#provideplugin" rel="noreferrer">https://webpack.github.io/docs/list-of-plugins.html#provideplugin</a></p>

<p>From my experience, the typescript is not aware of which variables will be injected into the module and as result the build is not completed.</p>

<p><strong>This is the output of the build</strong></p>

<pre><code>ERROR in ./src/file1.component.ts
(77,9): error TS2304: Cannot find name '$'.

ERROR in ./src/file2.component.ts
(78,13): error TS2304: Cannot find name '$'.

ERROR in ./src/file3.ts
(155,15): error TS2304: Cannot find name 'jQuery'.

ERROR in ./src/file4.ts
(108,9): error TS2304: Cannot find name '$'.
</code></pre>