Я узнал о деприкейте проекта вот только от тебя. Когда принимал решение о том что и как использовать, tsd
был вполне наплаву. Деприкейта не боюсь, потому что перейти на альтернативу не составит труда, и существующие тайпинги вполне справляются со своей задачей. Возможны проблемы после обновления версии языка.
На этом проекте, скриншот которого я кинул, я обкатываю разные концепции организации. В частности пробовал делать такой сетап: тайпскриптовые модули, с возможностью использования less. Запускается webpack-dev-server
через npm-скрипт.
Нет. tsconfig.json
- это абстракция, которая независима от типа сборщика который используется на проекте, поэтому лоадер может (и должен) подхватывать tsconfig.json
файл по умолчанию.
Мой вебпак конфиг выглядит так:
'use strict'
var path = require('path')
var ExtractTextPlugin = require('extract-text-webpack-plugin')
module.exports = {
entry: './src/app.ts',
devtool: 'source-map',
resolve: {
extensions: ['', '.webpack.js', '.js', '.ts', '.tsx', '.less']
},
module: {
loaders: [
{
test: /\.tsx?$/,
loader: 'ts-loader'
},
{
test: /\.less$/,
loader: ExtractTextPlugin.extract("style-loader", "css-loader!less-loader")
}
]
},
output: {
path: path.resolve(__dirname, 'build'),
filename: 'script.js'
},
devServer: {
contentBase: path.resolve(__dirname, 'build')
},
plugins: [new ExtractTextPlugin('style.css', {
allChunks: true
})]
}
Большая часть конфигурации нужна для того чтобы можно было инклюдить стили из ts модулей, но в итоге получать 2 файла: js и css.