diff --git a/src/builder/bundless/dts/index.ts b/src/builder/bundless/dts/index.ts index 3dd869b0..bc1db135 100644 --- a/src/builder/bundless/dts/index.ts +++ b/src/builder/bundless/dts/index.ts @@ -188,7 +188,9 @@ export default async function getDeclarations( // ref: https://github.com/microsoft/TypeScript/wiki/Using-the-Compiler-API#a-minimal-compiler const diagnostics = ts .getPreEmitDiagnostics(incrProgram.getProgram()) - .concat(result.diagnostics); + .concat(result.diagnostics) + // omit error for files which not included by build + .filter((d) => !d.file || inputFiles.includes(d.file.fileName)); /* istanbul ignore if -- @preserve */ if (diagnostics.length) { diff --git a/tests/fixtures/build/bundless-omit-dts-error/.fatherrc.ts b/tests/fixtures/build/bundless-omit-dts-error/.fatherrc.ts new file mode 100644 index 00000000..50b0486c --- /dev/null +++ b/tests/fixtures/build/bundless-omit-dts-error/.fatherrc.ts @@ -0,0 +1,3 @@ +export default { + esm: {}, +}; diff --git a/tests/fixtures/build/bundless-omit-dts-error/docs/error.ts b/tests/fixtures/build/bundless-omit-dts-error/docs/error.ts new file mode 100644 index 00000000..a61dd6bc --- /dev/null +++ b/tests/fixtures/build/bundless-omit-dts-error/docs/error.ts @@ -0,0 +1,2 @@ +// expect omit this error, because .fatherrc not include docs folder +window.nothing = 1; diff --git a/tests/fixtures/build/bundless-omit-dts-error/expect.ts b/tests/fixtures/build/bundless-omit-dts-error/expect.ts new file mode 100644 index 00000000..72862a59 --- /dev/null +++ b/tests/fixtures/build/bundless-omit-dts-error/expect.ts @@ -0,0 +1,3 @@ +export default (files: Record) => { + expect(Object.keys(files)).toEqual(['esm/index.d.ts', 'esm/index.js']); +}; diff --git a/tests/fixtures/build/bundless-omit-dts-error/src/demos/error.ts b/tests/fixtures/build/bundless-omit-dts-error/src/demos/error.ts new file mode 100644 index 00000000..43266927 --- /dev/null +++ b/tests/fixtures/build/bundless-omit-dts-error/src/demos/error.ts @@ -0,0 +1,2 @@ +// expect omit this error, because demos folder is ignored by default +window.nothing = 1; diff --git a/tests/fixtures/build/bundless-omit-dts-error/src/index.ts b/tests/fixtures/build/bundless-omit-dts-error/src/index.ts new file mode 100644 index 00000000..aef22247 --- /dev/null +++ b/tests/fixtures/build/bundless-omit-dts-error/src/index.ts @@ -0,0 +1 @@ +export default 1; diff --git a/tests/fixtures/build/bundless-omit-dts-error/tsconfig.json b/tests/fixtures/build/bundless-omit-dts-error/tsconfig.json new file mode 100644 index 00000000..52547fe0 --- /dev/null +++ b/tests/fixtures/build/bundless-omit-dts-error/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "declaration": true + } +}