Decorators not working in functions - TypeORM & Typegraphql libraries are broken

Build

    11:25:41 AM: Build ready to start
    11:25:42 AM: build-image version: 0582042f4fc261adc7bd8333f34884959c577302
    11:25:42 AM: build-image tag: v3.7.6
    11:25:42 AM: buildbot version: eb306760e81a03804ba3726a12e10606b0269209
    11:25:43 AM: Fetching cached dependencies
    11:25:43 AM: Starting to download cache of 196.9MB
    11:25:44 AM: Finished downloading cache in 1.843420947s
    11:25:44 AM: Starting to extract cache
    11:25:51 AM: Finished extracting cache in 7.022765501s
    11:25:51 AM: Finished fetching cache in 8.909029297s
    11:25:51 AM: Starting to prepare the repo for build
    11:25:52 AM: Preparing Git Reference refs/heads/master
    11:25:53 AM: Parsing package.json dependencies
    11:25:54 AM: Different publish path detected, going to use the one specified in the Netlify configuration file: 'dist' versus 'dist/' in the Netlify UI
    11:25:54 AM: Starting build script
    11:25:54 AM: Installing dependencies
    11:25:54 AM: Python version set to 2.7
    11:25:54 AM: Started restoring cached node version
    11:25:57 AM: Finished restoring cached node version
    11:25:58 AM: v16.0.0 is already installed.
    11:25:59 AM: Now using node v16.0.0 (npm v7.10.0)
    11:25:59 AM: Started restoring cached build plugins
    11:25:59 AM: Finished restoring cached build plugins
    11:25:59 AM: Attempting ruby version 2.7.1, read from environment
    11:26:00 AM: Using ruby version 2.7.1
    11:26:00 AM: Using PHP version 5.6
    11:26:00 AM: Started restoring cached yarn cache
    11:26:00 AM: Finished restoring cached yarn cache
    11:26:01 AM: No yarn workspaces detected
    11:26:01 AM: Started restoring cached node modules
    11:26:01 AM: Finished restoring cached node modules
    11:26:01 AM: Installing NPM modules using Yarn version 1.22.4
    11:26:02 AM: yarn install v1.22.4
    11:26:02 AM: [1/4] Resolving packages...
    11:26:02 AM: success Already up-to-date.
    11:26:02 AM: Done in 0.68s.
    11:26:02 AM: NPM modules installed using Yarn
    11:26:03 AM: Started restoring cached go cache
    11:26:03 AM: Finished restoring cached go cache
    11:26:03 AM: go version go1.14.4 linux/amd64
    11:26:03 AM: go version go1.14.4 linux/amd64
    11:26:03 AM: Installing missing commands
    11:26:03 AM: Verify run directory
    11:26:04 AM: ​
    11:26:04 AM: ────────────────────────────────────────────────────────────────
    11:26:04 AM:   Netlify Build                                                 
    11:26:04 AM: ────────────────────────────────────────────────────────────────
    11:26:04 AM: ​
    11:26:04 AM: ❯ Version
    11:26:04 AM:   @netlify/build 11.24.0
    11:26:04 AM: ​
    11:26:04 AM: ❯ Flags
    11:26:04 AM:   deployId: 60af57854590a80008928d60
    11:26:04 AM: ​
    11:26:04 AM: ❯ Current directory
    11:26:04 AM:   /opt/build/repo
    11:26:04 AM: ​
    11:26:04 AM: ❯ Config file
    11:26:04 AM:   /opt/build/repo/netlify.toml
    11:26:04 AM: ​
    11:26:04 AM: ❯ Context
    11:26:04 AM:   production
    11:26:04 AM: ​
    11:26:04 AM: ────────────────────────────────────────────────────────────────
    11:26:04 AM:   1. Build command from Netlify app                             
    11:26:04 AM: ────────────────────────────────────────────────────────────────
    11:26:04 AM: ​
    11:26:04 AM: $ yarn build
    11:26:04 AM: yarn run v1.22.4
    11:26:04 AM: $ node node_modules/.bin/tsc -p . --outDir ./dist
    11:26:10 AM: Done in 5.36s.
    11:26:10 AM: ​
    11:26:10 AM: (build.command completed in 5.6s)
    11:26:10 AM: ​
    11:26:10 AM: ────────────────────────────────────────────────────────────────
    11:26:10 AM:   2. Functions bundling                                         
    11:26:10 AM: ────────────────────────────────────────────────────────────────
    11:26:10 AM: ​
    11:26:10 AM: Packaging Functions from netlify/functions directory:
    11:26:10 AM:  - users-api-gql/users-api-gql.ts
    11:26:10 AM: ​
    11:26:24 AM: ​
    11:26:24 AM: (Functions bundling completed in 14.3s)
    11:26:24 AM: ​
    11:26:24 AM: ────────────────────────────────────────────────────────────────
    11:26:24 AM:   3. Deploy site                                                
    11:26:24 AM: ────────────────────────────────────────────────────────────────
    11:26:24 AM: ​
    11:26:24 AM: Starting to deploy site from 'dist'
    11:26:24 AM: Creating deploy tree 
    11:26:24 AM: Creating deploy upload records
    11:26:24 AM: 1 new files to upload
    11:26:24 AM: 1 new functions to upload
    11:26:27 AM: Site deploy was successfully initiated
    11:26:27 AM: ​
    11:26:27 AM: (Deploy site completed in 2.8s)
    11:26:27 AM: ​
    11:26:27 AM: ────────────────────────────────────────────────────────────────
    11:26:27 AM:   Netlify Build Complete                                        
    11:26:27 AM: ────────────────────────────────────────────────────────────────
    11:26:27 AM: ​
    11:26:27 AM: (Netlify Build completed in 22.8s)
    11:26:27 AM: Starting post processing
    11:26:27 AM: Post processing - HTML
    11:26:27 AM: Post processing - header rules
    11:26:27 AM: Post processing - redirect rules
    11:26:27 AM: Post processing done
    11:26:27 AM: Caching artifacts
    11:26:27 AM: Started saving node modules
    11:26:27 AM: Finished saving node modules
    11:26:27 AM: Started saving build plugins
    11:26:27 AM: Finished saving build plugins
    11:26:27 AM: Started saving yarn cache
    11:26:27 AM: Finished saving yarn cache
    11:26:27 AM: Started saving pip cache
    11:26:27 AM: Finished saving pip cache
    11:26:27 AM: Started saving emacs cask dependencies
    11:26:27 AM: Finished saving emacs cask dependencies
    11:26:27 AM: Started saving maven dependencies
    11:26:27 AM: Finished saving maven dependencies
    11:26:27 AM: Site is live ✨
    11:26:27 AM: Started saving boot dependencies
    11:26:27 AM: Finished saving boot dependencies
    11:26:27 AM: Started saving rust rustup cache
    11:26:27 AM: Finished saving rust rustup cache
    11:26:27 AM: Started saving go dependencies
    11:26:27 AM: Finished saving go dependencies
    11:26:28 AM: Build script success
    11:27:03 AM: Finished processing build request in 1m20.273291905s

My netlify.toml file

[functions]
  external_node_modules = ["app-root-path", "express", "type-graphql", "typeorm", "reflect-metadata", "typedi", "typeorm-typedi-extensions"]
  included_files = ["src/**"]

I tried multiple configurations but with no success

My tsconfig.json file

{
  "version": "2.4.2",
  "compilerOptions": {
    "lib": [
      "es5",
      "es6",
      "esnext.asynciterable"
    ],
    "target": "es6",
    "module": "commonjs",
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "isolatedModules": true,
    "esModuleInterop": true,
    "sourceMap": true,
    "outDir": "./dist",
    "skipLibCheck": true,
    "strict": true
  },
  "exclude": [
    "node_modules",
    "tests"
  ]
}

The issue is that apparently the tsconfig.json file is not read as the libraries can’t use decorators in typescript.

I get errors on both libraries that use decorators: typeorm and typegraphql.

I assumed that either I need to include other files or library but have no idea why it’s not working.
I get the same errors on netlify dev as well.

Update:
To test I changed the outDir to ./test in my tsconfig.json. This change was not read by netlify when deploying so I assume that netlify doesn’t read the tsconfig.json file

Hey there, @etudor :wave:

Welcome to the Netlify Forums! Thanks for reaching out about this, and apologies for the delay in response.

Are you still experiencing this issue?