Skip to content

--watch mode forgets original output target with nodenext #46333

@DanielRosenwasser

Description

@DanielRosenwasser

src/index.ts

import * as Thing from "thing";

Thing.fn();

tsconfig.json

{
    "compilerOptions": {
        "strict": true,
        "target": "es2020",
        "module": "nodenext",
        "moduleResolution": "nodenext",
        "outDir": "../dist"
    }
}

package.json

{
  "name": "some-proj",
  "version": "1.0.0",
  "description": "",
  "type": "module",
  "main": "index.js",
}
tsc --watch

First output:

import * as Thing from "thing";
Thing.fn();

Second output after a change/save:

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const Thing = __importStar(require("thing"));
Thing.fn();

Metadata

Metadata

Assignees

Labels

BugA bug in TypeScriptDomain: ES ModulesThe issue relates to import/export style module behaviorDomain: tsc: --incrementalThe issue relates to incremental compilationFix AvailableA PR has been opened for this issue

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions