ts-loader icon indicating copy to clipboard operation
ts-loader copied to clipboard

ts-loader can't load Typescript with any version > 5.0.4

Open RationalG opened this issue 2 years ago • 4 comments

This is the webpack config file I am using :

var webpack = require('webpack');
var path = require('path');
const TerserPlugin = require('terser-webpack-plugin');

module.exports = {
  mode: 'production',
  entry: './src/index.ts',
  target: 'node',
  output: {
    filename: 'app.js',
    libraryTarget: 'commonjs2',
    path: path.resolve(__dirname, 'dist'),
  },
  devtool: 'source-map',
  optimization: {
    minimize: true,
    minimizer: [new TerserPlugin()],
  },
  resolve: {
    extensions: ['.ts', '.js'],
  },
  module: {
    rules: [
      // all files with a `.ts` or `.tsx` extension will be handled by `ts-loader`
      { test: /\.tsx?$/, loader: 'ts-loader' },
    ],
  },
};

Expected Behaviour

Running webpack --config ./webpack.config.js with any Typescript version > 5.0.4 should pass

Actual Behaviour

This is what I get when I try running webpack with any Typescript version > 5.0.4 :

Error: Could not load TypeScript. Try installing with yarn add typescript or npm install typescript. If TypeScript is installed globally, try using yarn link typescript or npm link typescript.

However, this works with any version <= 5.0.4, so, I am not sure what would be the workaround for this.

RationalG avatar Oct 13 '23 19:10 RationalG

I've been banging my head against the wall - thanks for reporting this! I'm having the same issue. Downgrading to 5.0.4 worked!

frg100 avatar Oct 27 '23 09:10 frg100

Any fix here for typescript >5.0.4. I'm getting below error for the typescript 5.2.2

\tsconfig.webpack.json(12,5)
ERR!         TS6266: Option 'listFilesOnly' can only be specified on command line.
ERR!   Module build failed (from ../../../.store/[email protected]/node_modules/ts-loader/index.js):
ERR!   Error: error while parsing tsconfig.json
ERR!       at Object.loader (node-modules\[email protected]\node_modules\ts-loader\dist\index.js:18:18)

AlekhyaYalla avatar Dec 10 '23 17:12 AlekhyaYalla

It looks like you're using an old version of ts-loader; 8.4.

Also it looks like your code may have an issue?

TS6266: Option 'listFilesOnly' can only be specified on command line.'

johnnyreilly avatar Dec 10 '23 17:12 johnnyreilly

This happens here when "esm" is used, which is incompatible with Typescript's use of the ?? operator since 5.0.5+

https://github.com/standard-things/esm/issues/866

derjanb avatar Jan 16 '24 20:01 derjanb