Skip to content

ts-loader forces 'isolatedModules' enabled when transpileOnly: true #1645

@utc8

Description

@utc8

Expected Behaviour

Successfully compile project with:

transpileOnly: true in ts-loader and "isolatedModules": false in tsconfig.json

Actual Behaviour

image

Steps to Reproduce the Problem

// src/index.ts
import { JumpType } from "./enum";
console.log("JumpType.AUTO", JumpType.AUTO);
// src/enum.ts
export const enum JumpType {
  INVALID = "INVALID",
  AUTO = "AUTO",
  CLICK = "CLICK",
}
// webpack.config.js
const path = require("path");
const webpack = require("webpack");

const rootDir = path.resolve(__dirname, ".");

module.exports = {
  entry: path.join(rootDir, "src/index.ts"),
  cache: false,
  mode: 'production',
  optimization: {
    minimize: false,
  },
  module: {
    rules: [
      {
        test: /\.tsx?$/,
        use: [
          {
            loader: "ts-loader",
            options: {
              transpileOnly: true,
            },
          },
        ],
      },
    ]
  },
  resolve: {
    extensions: ['.ts', '.tsx', '.js', '.json'],
  }
};
// tsconfig.json
{
  "compilerOptions": {
    "preserveConstEnums": false,
    "isolatedModules": false,
    "skipLibCheck": true,
    "skipDefaultLibCheck": true,
    "module": "esnext",
    "target": "es2015",
    "allowSyntheticDefaultImports": true,
    "baseUrl": "./",
  },
  "exclude": ["**/node_modules/"]
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions