Full npm instead of a makefile
Origin of the PR
The main issues I found with the makefile:
- not cross platform: even if make can work on Windows the makefile use linux commands and follow the linux guidelines (currently the makefile isn't working on Windows as it is). It's possible to get it more crossplatform but he needs knowledge, which leads to my second point.
- a different language: makefile have a specific way to handle things, and while easy to learn it's still a different approach than full JavaScript.
So this PR has one goal: get rid of the makefile by using only npm and a LiveScript file.
What it does
This PR adds entries in the package.json that work with a index.ls file at the root of the repository. Using the npm run [command] syntax directly in the console it's now possible to launch this specific actions:
-
browser: compile the lib into 2 files,livescript.jsandlivescript.min.js. Replace thebrowser,build-browser,browser/livescript.jsandbrowser/livescript-min.jsmakefile targets. -
clean: remove the following directories: browser, lib and coverage. Not exactly the same as the makefilecleantargets, but the needs are a little bit different. -
coverage: run istanbul to get the package coverage. Replace the makefilecoveragetarget. -
lib: compile the lib itself, creating the lib directory and filling it up with all the js files composing the livescript lib. Replace thelib,lib/parser.jsandlib/%.jstargets. -
package: (re)generating thepackage.jsonfrom thepackage.json.ls. Replace thepackage.jsontarget. -
test: launch the test script. Replace thetesttarget
The README.md is also updated with the same explanation.
Some makefile targets weren't transfered like all, loc, force, full, install and dev-install. Most of their actions are already standards now. I left the makefile unchanged for people who still wanted to use it.
Side effects
I bumped the uglify-js version as it doesn't change anything meaningful, but I kept the istanbul as it is. I think, as written in the code itself, that a rewrite with mocha is a better idea.
Note
It's an opiniated PR, so I will understand that it may be refused, I'm ok with this.