Skip to content

Commit df56bfb

Browse files
authored
fix(typescript): add composite to validation checks (#618)
1 parent ce0652d commit df56bfb

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

packages/typescript/src/options/validate.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ export function validatePaths(
8383
}
8484
}
8585

86-
if (compilerOptions.declaration || compilerOptions.declarationMap) {
86+
if (compilerOptions.declaration || compilerOptions.declarationMap || compilerOptions.composite) {
8787
if (DIRECTORY_PROPS.every((dirProperty) => !compilerOptions[dirProperty])) {
8888
context.error(
8989
`@rollup/plugin-typescript: 'outDir' or 'declarationDir' must be specified to generate declaration files.`

packages/typescript/test/test.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,13 +162,13 @@ test.serial('supports creating declaration files in declarationDir', async (t) =
162162
t.true(output[1].source.includes('declare const answer = 42;'), output[1].source);
163163
});
164164

165-
test.serial('ensures outDir is set when creating declaration files', async (t) => {
165+
async function ensureOutDirWhenCreatingDeclarationFiles(t, compilerOptionName) {
166166
const bundle = await rollup({
167167
input: 'fixtures/basic/main.ts',
168168
plugins: [
169169
typescript({
170170
tsconfig: 'fixtures/basic/tsconfig.json',
171-
declaration: true
171+
[compilerOptionName]: true
172172
})
173173
],
174174
onwarn
@@ -183,6 +183,14 @@ test.serial('ensures outDir is set when creating declaration files', async (t) =
183183
),
184184
`Unexpected error message: ${caughtError.message}`
185185
);
186+
}
187+
188+
test.serial('ensures outDir is set when creating declaration files (declaration)', async (t) => {
189+
await ensureOutDirWhenCreatingDeclarationFiles(t, 'declaration');
190+
});
191+
192+
test.serial('ensures outDir is set when creating declaration files (composite)', async (t) => {
193+
await ensureOutDirWhenCreatingDeclarationFiles(t, 'composite');
186194
});
187195

188196
test.serial('ensures outDir is located in Rollup output dir', async (t) => {

0 commit comments

Comments
 (0)