Skip to content

[api-extractor] Incompatible release tags across package boundaries don't trigger ae-incompatible-release-tags with bundledPackages #4430

Open
@Josmithr

Description

@Josmithr

Summary

Consider the following example where a mono-repo contains 2 packages: package-a and package-b, where package-b depends on package-a and specifies it in bundledPackages.

package-a

/**
 * @alpha
 */
export interface Foo {...}

package-b (depends on package-a)

import { Foo } from "package-a";

/**
 * @public
 */
export interface Bar extends Foo {...}

package-b's api-extractor config contains:

"bundledPackages": ["package-a"],

and

"ae-incompatible-release-tags": {
	"logLevel": "error",
	"addToApiReportFile": false
}

The expected outcome in this situation is that running api-extractor in package-b should trigger the ae-incompatible-release-tags error, but it doesn't.

Note that if Foo is re-exported by package-b, the error is triggered as expected. But since package-b specifies package-a in bundledPackages, the error should occur in either case.

Repro steps

I have created a small mono-repro that is configured with a fairly minimal repro of the issue: https://github.com/Josmithr/api-extractor-playground/tree/incompatible-release-tag-bug-repro

Standard questions

Please answer these questions to help us investigate your issue more quickly:

Question Answer
@microsoft/api-extractor version? 7.38.3
Operating system? Linux
API Extractor scenario? rollups (.d.ts)
Would you consider contributing a PR? No
TypeScript compiler version? 5.1.6
Node.js version (node -v)? 18.17.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs designThe next step is for someone to propose the details of an approach for solving the problemrepro confirmedThe issue comments included repro instructions, and the maintainers reproduced the problem

    Type

    No type

    Projects

    Status

    AE/AD

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions