Skip to content

Commit b069cfc

Browse files
feat: support more than one project
1 parent 86a9c02 commit b069cfc

File tree

3 files changed

+40
-2
lines changed

3 files changed

+40
-2
lines changed

packages/definitions-parser/src/packages.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -551,7 +551,7 @@ export class TypingsData extends PackageBase {
551551
));
552552
}
553553
get projectName(): string | undefined {
554-
return this.data.header.projects[0];
554+
return this.data.header.projects.length === 0 ? undefined : this.data.header.projects.join(", ");
555555
}
556556
get type() {
557557
return this.data.type;

packages/definitions-parser/test/packages.test.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,42 @@ describe(TypingsData, () => {
180180
expect(data.isNotNeeded()).toBe(false);
181181
});
182182

183+
describe("project", () => {
184+
it("returns the name of the only project", () => {
185+
expect(data.projectName).toBe("zombo.com");
186+
});
187+
188+
it("returns multiple project names as a comma-separated string", () => {
189+
const versions = createTypingsVersionRaw(
190+
"known",
191+
{},
192+
{},
193+
{},
194+
{
195+
projects: ["zombo.com", "zombo.org"],
196+
},
197+
);
198+
data = new TypingsData(createMockDT().fs, versions["1.0"], false);
199+
200+
expect(data.projectName).toBe("zombo.com, zombo.org");
201+
});
202+
203+
it("returns undefined if no project is set", () => {
204+
const versions = createTypingsVersionRaw(
205+
"known",
206+
{},
207+
{},
208+
{},
209+
{
210+
projects: [],
211+
},
212+
);
213+
data = new TypingsData(createMockDT().fs, versions["1.0"], false);
214+
215+
expect(data.projectName).toBeUndefined();
216+
});
217+
});
218+
183219
describe("desc", () => {
184220
it("returns the name if latest version", () => {
185221
expect(data.desc).toBe("@types/known");

packages/definitions-parser/test/utils.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { License } from "@definitelytyped/header-parser";
1+
import { Header, License } from "@definitelytyped/header-parser";
22
import { TypingsVersionsRaw, getMangledNameForScopedPackage } from "../src/packages";
33
import { atTypesSlash } from "@definitelytyped/utils";
44

@@ -13,6 +13,7 @@ export function createTypingsVersionRaw(
1313
dependencies: { readonly [name: string]: string },
1414
devDependencies: { readonly [name: string]: string },
1515
peerDependencies?: { readonly [name: string]: string },
16+
headerOverrides: Partial<Header> = {},
1617
): TypingsVersionsRaw {
1718
return {
1819
"1.0": {
@@ -25,6 +26,7 @@ export function createTypingsVersionRaw(
2526
nonNpm: false,
2627
projects: ["zombo.com"],
2728
tsconfigs: ["tsconfig.json"],
29+
...headerOverrides,
2830
},
2931
typesVersions: [],
3032
license: License.MIT,

0 commit comments

Comments
 (0)