2 years ago

#73997

test-img

Feralheart

Typescript in Docker throws Unexpected node on compile

I want to dockerize my app, but on running tsc I've got this error:

 /usr/src/app/node_modules/typescript/lib/tsc.js:94444
                 throw e;
                 ^
 
 Error: Debug Failure. False expression: Unexpected node.
 Verbose Debug Information: Node 348 did not pass test 'isLeftHandSideExpression'.
     at Object.visitNode (/usr/src/app/node_modules/typescript/lib/tsc.js:73032:18)
     at visitNonNullExpression (/usr/src/app/node_modules/typescript/lib/tsc.js:76066:33)
     at visitTypeScript (/usr/src/app/node_modules/typescript/lib/tsc.js:75205:28)
     at visitorWorker (/usr/src/app/node_modules/typescript/lib/tsc.js:75029:24)
     at saveStateAndInvoke (/usr/src/app/node_modules/typescript/lib/tsc.js:74988:27)
     at visitor (/usr/src/app/node_modules/typescript/lib/tsc.js:75025:20)
     at visitNode (/usr/src/app/node_modules/typescript/lib/tsc.js:73018:23)
     at Object.visitEachChild (/usr/src/app/node_modules/typescript/lib/tsc.js:73338:69)
     at visitTypeScript (/usr/src/app/node_modules/typescript/lib/tsc.js:75221:31)
     at visitorWorker (/usr/src/app/node_modules/typescript/lib/tsc.js:75029:24)
 error Command failed with exit code 1.

But if I run tsc outside of the container it compiles smoothly.

UPDATE:

Dockerfile:

# ================ #
#    Base Stage    #
# ================ #
FROM node:16-buster-slim as base

WORKDIR /usr/src/app

RUN apt-get update && \
    apt-get upgrade -y --no-install-recommends && \
    apt-get install -y --no-install-recommends build-essential python3 libfontconfig1 dumb-init && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

ENTRYPOINT ["dumb-init", "--"]

# ================ #
#   Develop Stage  #
# ================ #
FROM base as development

ENV NODE_ENV="development"

COPY --chown=node:node . /usr/src/app

CMD ["yarn", "run", "docker:watch"]

Package.json scripts:

"scripts": {
    "migrate:deploy": "npx prisma migrate deploy",
    "migrate:dev": "npx prisma migrate dev",
    "build": "tsc",
    "start": "nodemon dist/App.js",
    "format": "prettier --write \"src/**/*.ts\"",
    "predocker:watch": "yarn install",
    "docker:watch": "tsc-watch --onSuccess \"yarn start\""
},

Tsconfig:

{
    "extends": "@sapphire/ts-config",
    "compilerOptions": {
        "rootDir": "src",
        "outDir": "dist",
        "tsBuildInfoFile": "dist/.tsbuildinfo"
    },
    "include": ["src"]
}

node.js

typescript

docker

tsc

0 Answers

Your Answer

Accepted video resources