LIMPIX64
LIMPIX64

Reputation: 232

Hide specific exports in the npm package

I am new to creating npm packages. I would not want users to be able to import everything from my package, such as the Utils class.

export class Utils implements IUtils {
  // ......
}

How do I avoid it?

Upvotes: 2

Views: 1789

Answers (1)

garrettmills
garrettmills

Reputation: 822

You can specify the exports key in your package.json. When this is set, only the specified paths can be accessed from the module.

Docs: https://nodejs.org/api/packages.html#exports

The way I usually do this is to create an index.js or index.ts and add that to the exports. Then, anything I want to expose publicly, I export via the index file.

For example:

// index.ts
export { MyPublicClass } from './MyPublicClass'

Upvotes: 5

Related Questions