GUI application for preprocessing, compiling and minifying CSS (including Sass and LESS) and JS (including ES6 using Babel) files.
The main purpose of this app is to make working with files that require preprocessing much easier.
Too many times the process of using a traditional, CLI-based build system looks like this:
- grab a copy of a project you want to work on
- run "npm install"
- wait several minutes to get an error in one of the dependencies
- scramble for hours to fix it
- dig through the Gulp or Grunt configuration files to figure out how to use the build system
- deal with the (tens of) thousands of files inside the infamous "node_modules" folder
Code Komrade aims to drastically simplify the process:
- grab a copy of a project you want to work on
- open up the app and add the project folder
- configure your build process from the GUI, and you're done
What's more, the app will save your configuration as a JSON file in the project root, so you can add it to source control and allow everyone else to just grab the project, open it inside the app, and be ready to go!
- Clone repository.
- Make sure you're using a supported version of Node.js (e.g. v11.15.0, v14.3.0). You can use nvm to switch between versions. This is required due to compatibility issues between node-sass and Electron (more info).
- Run
npm install
under the root directory and again under theapp
directory. - Run
npm run start
orgulp serve
in the root directory to start the app in development mode with hot-reloading.
Note: If you get the "Node Sass does not yet support your current environment" error in the console, run./compile-sass-binding.sh
to compile the appropriate version of the node-sass binding file. - Run
npm run package-win
ornpm run package-mac
to package the app for Windows or MacOS, respectively.
Huge thanks to:
- the open source community
- the developers who spend their time answering questions on Stack Overflow, making tutorials or guides
- the WPRiders agency for pushing me to learn new things
- John Caserta for the hammer icon used in the logo.