Emit skipped when parsing config typescript files

12,921

Solution 1

TypeScript files outside of the project folder will produce an Emit skipped error. I can't tell if this is your issue because '..../config/' could be inside or outside the project. In my case, moving my configuration folder into my project worked around the bug. Blechy.

https://github.com/TypeStrong/ts-node/issues/693

Solution 2

I got this error for having an index.js file next to an index.ts file. I somehow rendered my TS to my rootDir source folder.

Terminal grab of error and fix:

> node --loader ts-node/esm src/index.ts

/sandbox/node_modules/ts-node/src/index.ts:944
          throw new TypeError(`${relative(cwd, fileName)}: Emit skipped`);
                ^
TypeError: src/services/index.js: Emit skipped
    at getOutput (/sandbox/node_modules/ts-node/src/index.ts:944:17)
    at Object.compile (/sandbox/node_modules/ts-node/src/index.ts:1243:30)
    at /sandbox/node_modules/ts-node/src/esm.ts:282:37
    at Generator.next (<anonymous>)
    at /sandbox/node_modules/ts-node/dist/esm.js:8:71
    at new Promise (<anonymous>)
    at __awaiter (/sandbox/node_modules/ts-node/dist/esm.js:4:12)
    at transformSource (/sandbox/node_modules/ts-node/dist/esm.js:127:16)
    at /sandbox/node_modules/ts-node/src/esm.ts:197:51
    at Generator.next (<anonymous>)
sandbox@sse-sandbox-4stfq:/sandbox$ ls src/services/
index.js  index.ts  user
sandbox@sse-sandbox-4stfq:/sandbox$ rm src/services/index.js
Share:
12,921

Related videos on Youtube

Michael Ostrovsky
Author by

Michael Ostrovsky

The world is a fantastic place and I am curious about all of it.

Updated on June 04, 2022

Comments

  • Michael Ostrovsky
    Michael Ostrovsky almost 2 years

    I have a problem with the node-config library while using typescript.
    My config folder is as follows:
    enter image description here
    However after I run tsc and try to start my app from it's entry point (app.js) I get the following error:
    Error: Cannot parse config file: '..../config/development.ts': TypeError: config/development.ts: Emit skipped

    When deleting the typescript files from that folder and keeping only the .js files it works. Anybody has an idea how I can solve this?

    This is how my tsconfig looks:

     "target": "es6" 
     "module": "commonjs"
     "strict": true
     "esModuleInterop": true
    


    Any help would be appreciated, thanks!

    • Michael Ostrovsky
      Michael Ostrovsky almost 4 years
      For whoever sees this in the future, the issue was indeed in the ts-node library
    • Jay-R Joseph Gabunada
      Jay-R Joseph Gabunada almost 3 years
      And how would you resolve this issue??
    • Michael Ostrovsky
      Michael Ostrovsky almost 3 years
      Put the config folder inside of the src folder
    • Michael Ostrovsky
      Michael Ostrovsky over 2 years
      Update on the original post: nowadays I just use the config folder in parallel to src but the files inside of the config folder i keep .js, I don't really need type checking there so it's kinda fine, hopefully the issue in ts-node will be resolved soon.