3 ms·
I removed Babel from my toolchains a while ago, so it's even shorter: TS, ESlint, Prettier, Webpack.
by wildpeaks 6y ago
I removed Babel from my toolchains a while ago, so it's even shorter: TS, ESlint, Prettier, Webpack.
- williamdclt 6y agoSame, but I wouldn't say I'm happy with it. Everything's interdependant and that makes it such a pain to configure and maintain: - Prettier has to be integrated with ESLint to avoid conflicting formatting and for good devX - TS config interferes with ESLint config ("this file is not part of any project" or conflicting unused var warnings) - Webpack has to be integrated with TS to compile down to JS - ESLint, TS and Webpack all need configuring to know about absolute imports If you throw babel into the mix, complexity just explodes. Thankfully it's feasible to have a stable config that "just works", but it can be quite the time sink. I wouldn't be against something that takes this pain away
- topicseed 6y agoExactly. Let's say Eslint, TS, Prettier, Jest, and Webpack, are just standard for most projects I start. The problem is, each little issue a developer has, often requires not just installing these, but then adding a whole bunch of plugins to make them work together. So whenever I start a project, my package.json is just already packed with a gazillion of devDependencies from @types/ to eslint and webpakc plugins.
- wildpeaks 6y agoThis is the reason why I wrapped my Webpack config in its own package (same with Eslint), that way I pretty much only have a single dependency to add when starting or maintaining a project (and if a project has a very unique need, it can still modify the config generated by the package). The package has a bunch of automated tests, so Dependabot checks for me if dependency updates are still compatible with the way I expect them to behave (and if a dependency needs to be swapped by another, I only need to do it in one place).