0.2.1 • Published 11 months ago
@bgotink/list-exports v0.2.1
@bgotink/list-exports
This package exposes functions that can be used to list a package's exports and imports.
listExports
The listExports
function expects one or two parameters:
export function listExports(
location: string | URL,
input?: ImportExportInput
): Promise<Array<ImportExport>>;
location
is the path or full file URL to thepackage.json
fileinput
can be provided, with multiple options:packageJson
(unknown
), thepackage.json
object. If a value is passed, it won't be read fromlocation
.environment
(node
|browser
| null, default:node
) Environment condition to use in resolvingtype
(import
|require
|default
| null, default:import
when the package is imported andrequire
when the package is required) Module type condition to load. Thedefault
condition is added unless the valuenull
is passed.extraCondition
(string[]
, default:[]
) Extra conditions to allow
The returned ImportExport
objects have four properties:
name
is the export path as used to import the export. If the name is'./deep/export'
and the package is namedpkg
, the export can be imported aspkg/deep/export
. The name of the main export is'.'
, not''
.path
is the path to the exported file, relative to thelocation
.registeredName
is the export name as configured in thepackage.json
file. If the export contains*
, this property will still contain the*
. That means that if the*
export matches multiple files, more than oneImportExport
will have the sameregisteredName
.registeredPath
is the export path as configured in thepackage.json
file. If the export contains*
, this property will still contain the*
. That means that if the*
export matches multiple files, more than oneImportExport
will have the sameregisteredPath
.
listImports
The listImports
function is identical to listExports
, except it lists the package's imports
rather than exports
.
export function listImports(
location: string | URL,
input?: ImportExportInput
): Promise<Array<ImportExport>>;
License & Notice
This package is licensed under the MIT license, which can be found in LICENSE.md
.
Dependencies are bundled while publishing, check NOTICE.md
in the published package for their licenses.