Skip to content

Gulp: ERR_UNKNOWN_FILE_EXTENSION #2126

Description

@binarykitchen

Unable to run gulp command when gulpfile.ts is in TypeScript

Expected Behaviour

npx gulp

Should build. Pass.

Actual Behaviour

/home/michael-heuberger/code/binarykitchen/videomail.io ❯❯❯ npx gulp                                                                                feature/typescript ✭ ✱
[15:57:06] Loaded external module: ts-node/register
TypeError: Unknown file extension ".ts" for /home/michael-heuberger/code/binarykitchen/videomail.io/gulpfile.ts
    at Object.getFileProtocolModuleFormat [as file:] (node:internal/modules/esm/get_format:160:9)
    at defaultGetFormat (node:internal/modules/esm/get_format:203:36)
    at defaultLoad (node:internal/modules/esm/load:143:22)
    at async ModuleLoader.load (node:internal/modules/esm/loader:403:7)
    at async ModuleLoader.moduleProvider (node:internal/modules/esm/loader:285:45)
    at async link (node:internal/modules/esm/module_job:78:21) {
  code: 'ERR_UNKNOWN_FILE_EXTENSION'
}

Gulp's official documentation says it should work, see:
https://gulpjs.com/docs/en/getting-started/javascript-and-gulpfiles/

Likewise, your documentation says the same:
https://github.com/TypeStrong/ts-node/blob/main/website/docs/recipes/gulp.md?plain=1

Specifications

  • ts-node version: v10.9.2
  • node version: v20.12.2
  • TypeScript version: 5.5.3
  • tsconfig.json, if you're using one:
{
  "include": [
    "etc",
    "src",
    "test",
    "gulpfile.ts",
    ".eslintrc.js",
    "prettier.config.js",
    "babel.config.js"
  ],
  "compilerOptions": {
    // Required
    "target": "esnext",
    "module": "CommonJS",

    "noEmit": true,
    "allowImportingTsExtensions": true,
    "allowArbitraryExtensions": true,
    "isolatedModules": true,
    "esModuleInterop": true,

    "lib": ["dom", "dom.iterable", "esnext"],

    "skipLibCheck": true,
    "strict": true,
    "allowJs": true,
    "allowSyntheticDefaultImports": true,
    "allowUnusedLabels": false,
    "allowUnreachableCode": false,
    "exactOptionalPropertyTypes": true,
    "noFallthroughCasesInSwitch": true,
    "noImplicitOverride": true,
    "noImplicitReturns": true,
    "noUncheckedIndexedAccess": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noEmitOnError": true,
    "stripInternal": true,

    "resolveJsonModule": true,

    // TODO remove these exceptions and fix more errors one day
    "noImplicitAny": false
  }
}

  • Operating system and version: Arch Linux

I've tried many different configurations and combinations. All my attempts failed. No idea why it says .ts is an unknown extension?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions