import { Output, refkey } from "@alloy-js/core";
import { expect, it } from "vitest";
import * as ts from "../src/components/index.js";
import { PackageDirectory } from "../src/components/PackageDirectory.js";
it("exports source files", () => {
expect(
,
).toRenderTo({
"greeting.ts": `
function getGreeting() {
return "Hello world!";
}
`,
"printing.ts": `
import { getGreeting } from "./greeting.js";
const greeting = getGreeting();
export function printGreeting() {
console.log(greeting);
}
`,
"index.ts": `
export * from "./greeting.js";
export * from "./printing.js";
`,
"package.json": `
{
"name": "greeting-js",
"version": "1.0.0",
"type": "module",
"devDependencies": {
"typescript": "^5.5.2"
},
"exports": {
"./printing.js": "./dist/printing.js",
".": "./dist/index.js"
}
}
`,
"tsconfig.json": expect.anything(),
});
});
it("combines ref'd exports with explicit exports", () => {
expect(
,
).toRenderTo({
"index.ts": `
export function printGreeting() {
console.log(greeting);
}
`,
"package.json": `
{
"name": "greeting-js",
"version": "1.0.0",
"type": "module",
"devDependencies": {
"typescript": "^5.5.2"
},
"exports": {
"./foo": "./foo/test.js",
".": "./dist/index.js"
}
}
`,
"tsconfig.json": expect.anything(),
});
});