Reputation: 232
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
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