Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sampi/node-less-chokidar
Watch and build CSS from LESS, compatible with Create React App
https://github.com/sampi/node-less-chokidar
build chokidar cli create-react-app css less nodejs
Last synced: about 15 hours ago
JSON representation
Watch and build CSS from LESS, compatible with Create React App
- Host: GitHub
- URL: https://github.com/sampi/node-less-chokidar
- Owner: sampi
- License: mit
- Created: 2017-06-08T14:12:15.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-04T21:36:39.000Z (about 2 years ago)
- Last Synced: 2024-04-14T06:13:43.163Z (10 months ago)
- Topics: build, chokidar, cli, create-react-app, css, less, nodejs
- Language: JavaScript
- Homepage:
- Size: 1.06 MB
- Stars: 20
- Watchers: 4
- Forks: 10
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# node-less-chokidar
[![travis](https://travis-ci.org/sampi/node-less-chokidar.svg?branch=master)](https://travis-ci.org/sampi/node-less-chokidar)
[![npm](https://img.shields.io/npm/v/node-less-chokidar.svg)](https://npmjs.org/package/node-less-chokidar)Compile `.less` into `.css` and watch for file changes!
## HOWTO
I made this with [Create React App](https://github.com/facebookincubator/create-react-app) in mind, put something similar in your `package.json`
```json
"scripts": {
"start": "npm run build-css && run-p -ncr watch-css start-js",
"start-js": "react-scripts start","build": "run-s -n build-css build-js",
"build-js": "react-scripts build","test": "run-s -n build-css test-js",
"test-js": "react-scripts test --env=jsdom","build-css": "node-less-chokidar src",
"watch-css": "node-less-chokidar src --watch"
},
"devDependencies": {
"node-less-chokidar": "^0.3.0",
"npm-run-all": "^4.1.3"
}
````npm start` should build all CSS from the LESS files and then keep watching,
`npm test` will build all files and then run the tests,
`npm run build-css` will build all the CSS,
`npm run watch-css` will watch for changes in the LESS files and build them when they change.## Known bug
There's a bug though in the following case:
Let's say you have these files:
* `variables.less` (variable definitions, no imports)
* `mixins.less` (mixins, importing `variables.less`)
* `main.less` (imports `variables.less`, `mixins.less` and uses the variables and mixins)If you change `variables.less` or `mixins.less` it won't rebuild `main.css`, because it doesn't know about the dependency graph of the files.
The fix is that if you know you're editing one of these files that are imported by other files, just run `npm run build-css` and everything will be fine.