Member Junction
    Preparing search index...

    Options for the manifest generator

    interface GenerateManifestOptions {
        appDir?: string;
        excludePackages?: string[];
        excludePatterns?: string[];
        filterBaseClasses?: string[];
        lazyConfigPath?: string;
        outputPath: string;
        scanDist?: boolean;
        strict?: boolean;
        syncDependencies?: boolean;
        verbose?: boolean;
    }
    Index

    Properties

    appDir?: string

    Directory containing the app's package.json. Defaults to process.cwd().

    excludePackages?: string[]

    Package name prefixes to exclude from the dependency tree walk. Any package whose name starts with one of these prefixes will be skipped entirely. Useful for external consumers who import a pre-built manifest for framework packages and only need to scan their own custom packages.

    ['@memberjunction'] — skips all @memberjunction/* packages
    
    excludePatterns?: string[]

    Glob patterns to exclude from scanning.

    filterBaseClasses?: string[]

    If provided, only include classes registered with these base classes. Example: ['BaseEngine', 'BaseAction']

    lazyConfigPath?: string

    When set, generates a lazy-loading feature config file at this path. The config maps

    keys to dynamic import() loaders based on each package's subpath exports in package.json.

    Includes all

    classes with a key that are in packages matching excludePackages AND have subpath exports defined in their package.json. The subpath exports field is the package's declarative marker that it supports lazy chunk loading.

    outputPath: string

    Output path for the generated manifest file.

    scanDist?: boolean

    When true, scans compiled JavaScript files in dist/ directories for packages that don't have src/ (e.g., npm-published packages).

    By default, the manifest generator only scans TypeScript source files in src/ directories. Enable this flag to additionally discover

    decorators in pre-compiled dist/ output using AST parsing.

    Use this when your dependency tree includes npm-published packages (not workspace-linked) that contain

    decorators.

    false
    
    strict?: boolean

    When true, the coverage audit treats gaps as fatal errors. A gap is a

    class that is neither in the eager manifest nor reachable from any lazy chunk's subpath export.

    Use in CI to catch tree-shaking issues before merge.

    false
    
    syncDependencies?: boolean

    When true (the default), compares manifest-imported packages against the app's package.json dependencies and automatically adds any that are missing. This prevents MODULE_NOT_FOUND errors after npm publish, since transitive packages discovered during the dependency walk may not be declared as direct dependencies.

    Set to false (or use --no-sync-deps in CLI) when generating supplemental manifests that exclude framework packages — those dependencies are already covered by the pre-built bootstrap manifest.

    Note: This modifies package.json only. You must run npm install at the repo root afterwards to update the lockfile.

    true
    
    verbose?: boolean

    If true, logs progress to console. Default: true