This is an extract of my package.json. It shows the devDependencies I am
going to be using to setup the library
"devDependencies": {
"npm-run-all": "^4.0.0",
"babel-cli": "^6.24.1",
"babel-preset-env": "^1.5.1",
"browserify": "^3.8.0",
"cpx": "^1.5.0",
"jshint": "latest",
"mkdir": "*",
"watchify": "^3.8.0"
}
As it show I will be using babeljs to transpile the ES6 javascript code I
will be writing. So for that I have included babel-cli and babel-preset-env
plugin,
I will be using browserify to build the javascript library into one output
file includiing all dependencies and watchify is a browserify plugin to
increase my development time.
I am using jshint for js syntax and semantics checking, my jshint configs
contain, very strict javscript checking options, to ensure clean javascript
being written by any future contributors,
I have also enabled options within jshint configs to for ES6 syntax linting,
Currently I am researching for some tools for the following,
- To compile the library's css into one file,
- a way to launch a simple server to view examples during development,
in order to easily visualize the changes i do on the UI.
-
Very soon I will be adding the tools for the tests to be done within the
system, currently thinking of jasmine or mocha.
I am currently considering to use uglify js to produce a minified version
of the library on build
My current build process is this:
"scripts": {
"lint": "jshint --verbose src/js/**.js",
"build": "npm-run-all build:*",
"watch": "npm-run-all --parallel watch:*",
"build:copy-css": "cpx 'src/css/**/*.*' temp/css",
"watch:copy-css": "cpx 'src/css/**/*.*' temp/css --watch",
"build:lint": "npm run lint",
"watch:lint": "npm run lint",
"build:browserify": "mkdir -p ./temp/js && browserify src/js/index.js
-o temp/js/bundle.js",
"watch:browserify": "mkdir -p ./temp/js && watchify src/js/index.js -o
temp/js/bundle.js",
"build:babel": "babel temp -d build",
"watch:babel": "babel temp -d build",
"test": "echo \"Error: no test specified\" && exit 1"
},
so running npm run build or run watch will first lint the code that has
been written in the src/js/index.js then browserify build a temporal
version of the library to the temp/js folder. Babel js now transpiles this
javascript from the temp folder to the build folder.
Any suggestions of tools that can be used or any changes that can be made
to this current setup is welcome. Thanks
--
You received this message because you are subscribed to the Google Groups
"OpenWISP" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.