Машинописный текст, не генерирующий файлы объявлений

#javascript #typescript

Вопрос:

По какой-то причине я не получаю никаких файлов .d.ts. Как я могу правильно создавать файлы определений?

команда компиляции

 npx tsc  

tsconfig.json

 {  "compilerOptions": {  "baseUrl": "./src",  "target": "es5",  "lib": ["dom", "dom.iterable", "esnext"],  "rootDirs": [  "src",  "stories",  "config"  ],  "allowJs": true,  "skipLibCheck": true,  "esModuleInterop": true,  "allowSyntheticDefaultImports": true,  "strict": true,  "forceConsistentCasingInFileNames": true,  "noFallthroughCasesInSwitch": true,  "module": "esnext",  "moduleResolution": "node",  "resolveJsonModule": true,  "jsx": "react-jsx",  // Ensure that .d.ts files are created by tsc, but not .js files  "declaration": true,  "emitDeclarationOnly": true,  // Ensure that Babel can safely transpile files in the TypeScript project  "isolatedModules": true,  "outDir": "./dist"  },  "include": ["./src/**/*.tsx"],  "exclude": [  "node_modules",  "dist",  "docs"  ] }  

Src

 src/components src/components/FormGenerator src/components/Input src/components/Link src/components/List src/components/MoneyFormat src/components/Select src/components/Svg src/components/TemplateComponent src/components/TemplateComponent/index.tsx src/components/TemplateComponent/TemplateComponent.stories.js src/components/TemplateComponent/TemplateComponent.test.tsx src/components/TemplateComponent/TemplateComponent.tsx src/components/Text src/components/Text/index.tsx src/components/Text/Text.stories.js src/components/Text/Text.tsx src/components/index.tsx src/themes src/themes/default src/themes/default/fonts src/themes/default/palette src/themes/default/typography src/themes/default/themeDefault.ts src/themes/default/variables.ts src/themes/fonts.d.ts src/react-app-env.d.ts src/setupTests.js  

Комментарии:

1. "include": ["./src/**/*.tsx"], это уже удаляет любые .ts или .js

2. Спасибо @ASDFGerte, Значит ли это, что я должен удалить эту строку? Или включить эту строку? Я не понимаю, извините!

3. Насколько я понял, include это не предотвращает добавление не включенных файлов в сборку (все еще может быть импортировано), но не добавляет их с самого начала. Если зависимости между вашими файлами от ваших import s (возможно, только здесь?) не переходят .tsx ко всем этим файлам, они не будут использоваться. Почему он создает абсолютно нулевые файлы объявлений, я не знаю, но строка, по крайней мере, выглядит так, как будто это может быть частью проблемы — особенно, если она была добавлена, не зная, что она делает. Tl;dr; это может быть проблемой, но я не могу быть уверен, что ее удаление решит все.

4. Я думаю, baseUrl это все портит. Обычно это папка, содержащая src , например, "baseUrl": "./"

5. О, очень интересно. Удаление include файла привело к появлению внутри /dist/src/components всех файлов определений…