Compare commits

...
2 changed files with 18 additions and 2 deletions

No files matched your search

@@ -62,6 +62,22 @@ describe("TypeScript import-equals links", () => {
});
describe("CommonJS wrapper parameter redeclarations", () => {
it("keeps a top-level wrapper require redeclaration", () => {
const path = "app/main.cjs";
const parsed = parseJavaScriptSource(
'var require; require("./wrapper.cjs");',
path,
);
expect(parsed).not.toBeNull();
const ir = analyzeParsedJavaScriptSemantics(
parsed!,
moduleResolutionModeForJavaScriptReference(path, "static-import"),
);
expect(ir.moduleLinks).toContainEqual(
expect.objectContaining({ kind: "require", specifier: "./wrapper.cjs" }),
);
});
it("retains ambient exports and require through uninitialized top-level vars", () => {
const path = "app/main.cjs";
const parsed = parseJavaScriptSource(
@@ -78,12 +78,12 @@ it("does not resolve a parameter named require as a module dependency", () => {
);
});
it("keeps a top-level wrapper require redeclaration", () => {
it("keeps a formatless top-level require redeclaration unresolved", () => {
const analysis = analyzeJavaScriptStaticSource(
`var require; require("./wrapper.cjs");`,
);
expect(analysis.references).toContainEqual(
expect.objectContaining({ specifier: "./wrapper.cjs" }),
expect.objectContaining({ kind: "require", specifier: null }),
);
});