(package_json: { [x: string]: unknown; name: string; version?: string | undefined; private?: boolean | undefined; description?: string | undefined; tagline?: string | undefined; glyph?: string | undefined; ... 24 more ...; exports?: string | ... 2 more ... | undefined; }, modules: { ...; }[] | undefined, keys?: readonly string[]): LibraryJson import {library_json_from_modules} from '@fuzdev/fuz_util/library_json.js'; Builds a LibraryJson from a package.json and analyzed modules.
Curates package_json to the publish-safe PkgJson subset via
pkg_json_from_package_json, so a full package.json (the common case from
gro's loader or a JSON import) is accepted and stripped, while an
already-curated PkgJson passes through unchanged.
keys overrides the curated field set, and must match the keys passed to
the build-time strip (fuz_ui's vite_plugin_pkg_json): the re-strip here
drops any field not in keys, so a wider build-time list with the default
here would silently discard the extras. Pass the same shared list to both.
package_json
{ [x: string]: unknown; name: string; version?: string | undefined; private?: boolean | undefined; description?: string | undefined; tagline?: string | undefined; glyph?: string | undefined; logo?: string | undefined; ... 23 more ...; exports?: string | ... 2 more ... | undefined; }modules
{ path: string; declarations?: ({ kind: "function"; name: string; returnType?: string | undefined; returnDescription?: string | undefined; parameters?: { name: string; type: string; optional?: boolean | undefined; rest?: boolean | undefined; description?: string | undefined; defaultValue?: string | undefined; proper...keys
readonly string[]pkg_json_keysreturns
LibraryJson