Publish Typescript classes as npm package

Viewed 2117

I have written a set of Typescript classes that I am publishing as an NPM module to our internal package server. My other projects are able to retrieve this dependency using NPM.

I'd like to publish the classes in such a way that I can import them by referencing the package itself, similar to some other packages that I am using like Angular.

import { SomeClass } from 'mylibrary'

This is my current setup:

I've written a ./mylibrary.d.ts file:

export * from './dist/foldera/folderb'
//etc

./package.json:

"name": "mylibrary",
"main": "mylibrary.d.ts",
"files": [
  "mylibrary.d.ts",
  "dist/"
],
"types": "mylibrary.d.ts",
//ommitted other settings

src/tsconfig.json:

{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "../dist/",
    "baseUrl": "src",
    "sourceMap": true,
    "declaration": true,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2016",
      "dom"
    ]
  }
}

When I try to import the package using the desired syntax, MS VS Code says everything is ok, but running my project results in a rather cryptic error message:

Module build failed: Error: Debug Failure. False expression: Output generation failed

I'm feeling lost in the jargon of modules, namespaces and packages. Any help is greatly appreciated.

1 Answers
Related