У меня есть базовые источники, и я хочу создать из них библиотеку:
src
├── index.ts
├── splash.css
└── splash.ts
Но когда я выполняю tsc
, я получаю это:
dist
├── index.d.ts
├── index.d.ts.map
├── index.js
├── index.js.map
├── splash.d.ts
├── splash.d.ts.map
├── splash.js
└── splash.js.map
Файл splash.css
не является частью окончательного выпуска!
Что я пропустил?
Вот мой src/splash.ts
файл:
import "./splash.css"
const DEFAULT_DURATION = 600;
export default {
hide(duration: number = DEFAULT_DURATION) {
const logo = document.getElementById("tp-logo")
if (!logo) return
logo.style.transition = `opacity ${duration}ms`
setTimeout(() => {
logo.classList.add("hide")
setTimeout(() => {
const parent = logo.parentNode
if (!parent) return
parent.removeChild(logo)
}, duration);
})
}
};
Вот мой tsconfig.json
файл:
{
"compilerOptions": {
"incremental": true,
"target": "es5",
"module": "esnext",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"jsx": "react",
"declaration": true,
"declarationMap": true,
"sourceMap": true,
"outDir": "./dist/",
"rootDir": "./src/",
"composite": true,
"tsBuildInfoFile": "./tmp/build.json",
"removeComments": false,
"downlevelIteration": true,
"strict": true,
"noImplicitAny": true,
"strictNullChecks": true,
"alwaysStrict": true,
"noImplicitReturns": true,
"moduleResolution": "node",
"baseUrl": "./src",
"allowSyntheticDefaultImports": true,
"esModuleInterop": true
},
"include": [
"src/"
]
}
Вот мой .npmignore
файл:
tsconfig.json
src
Вот мой package.json
файл:
{
"name": "my-lib",
"version": "0.1.0",
"description": "BlaBla.",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"scripts": {
"build": "tsc"
},
...
"dependencies": {
"@types/jest": "^24.0.18",
"@types/node": "^12.7.8",
"@types/react": "^16.9.3",
"@types/react-dom": "^16.9.1",
"react": "^16.9.0",
"react-dom": "^16.9.0",
"save-as-file": "^0.2.0",
"typescript": "^3.6.4"
}
}