title: How to use awesome-typescript-loader with babel to transpile a specific node module?
body: <p>For awhile now I've been trying to transpile a node module that is using the object spread operator. This is a problem for me because my application is suppose to support <strong>Edge</strong> and as of now, it does not support the object spread operator.</p>
  
  <p>I configured the awesome-typescript loader to use babel by setting the <strong>useBabel</strong> property to true so that I don't need to install the babel-loader myself. I also added a preset called <strong>babel-preset-edge</strong> that adds many useful presets and plugins. The important one that it adds by default is the <strong>@babel-plugin-proposal-object-rest-spread</strong> which is needed to transpile that node module.</p>
  
  <p>Even with this setup, awesome-typescript seems to always ignore the module I want to transpile. This became apparent to me when I did this</p>
  
  <pre><code>include: function(absPath) {
      // I want to in include my source code or the module I want to transpile.
      const includePath = /@furystack/.test(absPath) || /src/.test(absPath)
      // this will always output true because all the paths have src in their path. 
      // Not a single one from node modules.
      console.log(includePath)
      return includePath
  }
  </code></pre>
  
  <p>It should have outputted some true and false values(true for it being either my source code or furystack and false for anything else) but that wasn't the case. </p>
  
  <p>This is how my loaders look like</p>
  
  <pre><code>module: {
    rules: removeEmpty([
      {
        test: /\.(ts|tsx)$/,
        use: [
          {
            options: {
              useTranspileModule: true,
              forceIsolatedModules: true,
              useCache: true,
              useBabel: true,
              reportFiles: ['src/**/*.{ts,tsx}'],
              babelCore: '@babel/core'
            },
            loader: 'awesome-typescript-loader'
          }
        ],
        include: function(absPath) {
          return /@furystack/.test(absPath) || /src/.test(absPath)
        }
      },
  }
  </code></pre>
  
  <p>This how my .babelrc looks like</p>
  
  <pre><code>{
    "presets": [
      [
        "edge",
        {
          "transpile": "modern",
          "modules": "false"
        }
      ]
    ]
  }
  </code></pre>
  
  <p>And this is how my .tsconfig.json looks like</p>
  
  <pre><code>{
    "compilerOptions": {
      "outDir": "lib",
      "module": "esnext",
      "target": "esnext",
      "lib": ["es6", "dom"],
      "sourceMap": true,
      "jsx": "preserve",
      "baseUrl": "./src",
      "rootDir": "./src",
      "moduleResolution": "node",
      "strict": true,
      "noUnusedLocals": true,
      "noUnusedParameters": true,
      "preserveConstEnums": true,
      "experimentalDecorators": true,
      "emitDecoratorMetadata": true,
      "forceConsistentCasingInFileNames": true,
      "noImplicitReturns": false,
      "alwaysStrict": false,
      "allowSyntheticDefaultImports": true,
      "noFallthroughCasesInSwitch": true,
      "skipLibCheck": true,
      "noEmit": true,
      "types": ["jest", "node"]
    },
    "include": ["./src/**/*"],
    "exclude": ["node_modules"]
  }
  </code></pre>
  
  <p>What is wrong with my configuration?</p>