Integrating into existing project is too difficult
Opened this issue · 0 comments
Since kickstart has these nice mixins it makes sense that I'd want to use the sass files rather than the compiled css in my project. I have a project that's already set up to watch for changes in all of my js and sass files and then rebuild when changes occur. This is pretty standard stuff and I'd expect most people writing a modern app to use such a setup using some combination of watchify/gulp/webpack.
If we look at a different sass-based framework like bulma all I have to do is run npm install --save-dev bulma
and then put a line at the top of my existing sass file saying @include "node_modules/bulma/bulma.sass"
and off I go! If bulma had a js component then i'd expect to be able to simply var bulma = require('bulma')
.
With kickstart it seems like maybe that's not possible right now? When I tried to locate the main sass file to include it wasn't easy and then I got a bunch of errors due to relative paths not resolving correctly. After fixing some of that I got a syntax error which I assume is due to differences in the ruby version of the sass compiler and the one used by gulp-sass
?
Can someone explain to me how I use an @include
to include all of kickstart from a sass file in a different directory? If this isn't possible, then how are people expected to include kickstart into their projects in a way that ties into their existing gulp/watchify/webpack build-system? Is there a reason why you're using the ruby version of the sass compiler?
Apart from just integration issues, the build process is honestly pretty terrible right now. For some reason there's a makefile involved and make setup
asks for root access for no good reason. It apparently does an npm install -g gulp
as root.
For future reference: It's enough to list gulp in package.json devDependencies and then define a script in package.json such as "myScript": "gulp <taskName"
since any binaries that are part of npm-installed packages will appear in the PATH for package.json scripts.
If building a bunch of css and js requires anything more than npm install
followed by npm run build
then generally something is not right.
I admit I gave up before really digging into how to include the javascript into my project's build system, but I couldn't find an official npm package for kickstart so I assume it's more complicated than npm install <kickstart-package>
followed by var $ = require('kickstart')
, which it really shouldn't be.
This is sad because kickstart looks really great and I'd love to have used it in my project, but as it stands I have given up.
As a final note I saw that the google fonts cdn is being referenced in the sass files. Since I'm designing a web app for offline use that's problematic. It's also problematic for privacy reasons. I'd suggest having all external resources referenced from a single file, with an option for switching to locally served versions + a note that this is happening since sneaking tracking software into other folks projects without mentioning it could be seen as unfriendly.
Anyway sorry to be a downer but I figure I'm not the first person to run into these issues. I hope writing them up here will help you improve kickstart so it can be more approachable for new developers in the future.