noredink-ui/Makefile
Richard Feldman e2907d9ba2 Prep for 0.19 dual-publish (#163)
* Use elm-css 16.0.0

* 💀 Ui.Checkbox V1 and V2

* s/Css.Foreign/Css.Global/g

* 💀 Nri.Ui.Styles.V1

* 💀 BannerAlert.V1

* 💀 Modal.V1

* 💀 Dropdown.V1

* 💀 Select.V1 and V2

* 💀 Alert.V1

* 💀 Button.V1 and V2

* 💀 Divider.V1

* 💀 Icon.V1 and V2

* 💀 Outline.V1

* 💀 SegmentedControl.V1-V5

* 💀 TextArea.V1 and V2

* 💀 TextInput.V1

* delete the rest of the modules

* actually more deletions

* InputStyles v1 is unused

* move to src-0.18

* do the 0.19 upgrade

* select options are addressable by index

* elm-css 16

* update scripts

* elm-format

* Update V2.elm

* put the nbsp back

* elm-format validation for both versions
2018-11-12 15:38:19 -08:00

57 lines
1.5 KiB
Makefile

NPM_PREFIX=$(realpath .)/node_modules
PATH:="${NPM_PREFIX}/.bin:${PATH}"
SHELL:=env PATH=${PATH} /bin/sh
.PHONY: test
test: elm-stuff tests/elm-stuff node_modules
elm-test
.PHONY: checks
checks:
scripts/check-exposed.py
.PHONY: diff
diff: node_modules elm-stuff
if (elm-package diff | tee /dev/stderr | grep -q MAJOR); then echo "MAJOR changes are not allowed!"; exit 1; fi
.PHONY: format
format: node_modules
elm-format --validate src && elm-format --validate --elm-version=0.18 tests styleguide-app
.PHONY: clean
clean:
rm -rf node_modules styleguide-app/elm.js styleguide-app/javascript.js $(shell find . -type d -name 'elm-stuff')
documentation.json: node_modules
elm-make --docs $@
styleguide-app/javascript.js: lib/index.js
npx browserify --entry lib/index.js --outfile styleguide-app/javascript.js
styleguide-app/elm.js: styleguide-app/javascript.js styleguide-app/elm-stuff $(shell find src styleguide-app -type f -name '*.elm')
cd styleguide-app; elm-make Main.elm --output=$(@F)
# plumbing
node_modules: package.json
npm install
touch -m $@
.NOTPARALLEL: elm-stuff
elm-stuff: elm-package.json node_modules
elm-package install --yes
touch -m $@
.NOTPARALLEL: %/elm-stuff
%/elm-stuff: %/elm-package.json node_modules
cd $(@D); elm-package install --yes
touch -m $@
# special targets for travis, but anyone can use them, really.
.PHONY: setup
setup: node_modules elm-stuff tests/elm-stuff styleguide-app/elm-stuff
.PHONY: ci
ci: checks test format documentation.json diff styleguide-app/elm.js