1 | .PHONY: lint test coverage test-ci browserify
|
2 |
|
3 | NPM_PACKAGE := $(shell node -e 'process.stdout.write(require("./package.json").name)')
|
4 | NPM_VERSION := $(shell node -e 'process.stdout.write(require("./package.json").version)')
|
5 |
|
6 | REMOTE_NAME ?= origin
|
7 | REMOTE_REPO ?= $(shell git config --get remote.${REMOTE_NAME}.url)
|
8 | GITHUB_PROJ := https://github.com/RedBug312/markdown-it-multimd-table
|
9 |
|
10 | MODULE_PATH := ./node_modules/.bin
|
11 |
|
12 |
|
13 | ${MODULE_PATH}: package.json
|
14 | npm install --save-dev
|
15 | touch $@ # update timestamp
|
16 |
|
17 |
|
18 | lint: ${MODULE_PATH}
|
19 | ${MODULE_PATH}/eslint .
|
20 |
|
21 | test: ${MODULE_PATH} lint
|
22 | ${MODULE_PATH}/mocha -R spec
|
23 |
|
24 | coverage: ${MODULE_PATH} lint
|
25 | ${MODULE_PATH}/istanbul cover ${MODULE_PATH}/_mocha
|
26 |
|
27 | test-ci: ${MODULE_PATH} lint
|
28 | # For Github integration test. You should use `make coverage` on local.
|
29 | ${MODULE_PATH}/istanbul cover ${MODULE_PATH}/_mocha --report lcovonly -- -R spec
|
30 | cat ./coverage/lcov.info | ${MODULE_PATH}/coveralls
|
31 | rm -rf ./coverage
|
32 |
|
33 | browserify: ${MODULE_PATH} lint test
|
34 | # Browserify
|
35 | ( printf "/*! ${NPM_PACKAGE} ${NPM_VERSION} ${GITHUB_PROJ} @license MIT */"; \
|
36 | ${MODULE_PATH}/browserify . -s markdownitMultimdTable \
|
37 | ) > dist/markdown-it-multimd-table.js
|
38 | # Minify
|
39 | ${MODULE_PATH}/terser dist/markdown-it-multimd-table.js -b beautify=false,ascii_only=true -c -m \
|
40 | --preamble "/*! ${NPM_PACKAGE} ${NPM_VERSION} ${GITHUB_PROJ} @license MIT */" \
|
41 | > dist/markdown-it-multimd-table.min.js
|