Merge pull request #231 from pyscript/fpliger/69_add_makefile

Add initial dev setup automation
This commit is contained in:
Fabio Pliger
2022-05-05 14:33:49 -05:00
committed by GitHub
3 changed files with 99 additions and 0 deletions

4
.pre-commit-config.yaml Normal file
View File

@@ -0,0 +1,4 @@
# This is the configuration for pre-commit, a local framework for managing pre-commit hooks
# Check out the docs at: https://pre-commit.com/
repos: []

84
pyscriptjs/Makefile Normal file
View File

@@ -0,0 +1,84 @@
tag := latest
git_hash ?= $(shell git log -1 --pretty=format:%h)
base_dir ?= $(shell git rev-parse --show-toplevel)
src_dir ?= $(base_dir)/src
examples ?= $(base_dir)/examples
app_dir ?= $(shell git rev-parse --show-prefix)
CONDA_ENV ?= ./env
env := $(CONDA_ENV)
conda_run := conda run -p $(env)
.PHONY: setup
setup:
@if [ -z "$${CONDA_SHLVL:+x}" ]; then echo "Conda is not installed." && exit 1; fi
$(CONDA_EXE) env $(shell [ -d $(env) ] && echo update || echo create) -p $(env) --file environment.yml
.PHONY: clean
clean:
find . -name \*.py[cod] -delete
rm -rf .pytest_cache .coverage coverage.xml
clean-all: clean
rm -rf $(env) *.egg-info
.PHONY: shell
shell:
@export CONDA_ENV_PROMPT='<{name}>'
@echo 'conda activate $(env)'
.PHONY: dev
dev:
npm run dev
.PHONY: build
build:
npm run build
.PHONY: test
test:
@echo "Tests are coming :( this is a placeholder and it's meant to fail!"
$(conda_run) pytest -vv $(ARGS) tests/ --log-cli-level=warning
.PHONY: test-py
test-py:
@echo "Tests are coming :( this is a placeholder and it's meant to fail!"
$(conda_run) pytest -vv $(ARGS) tests/ --log-cli-level=warning
.PHONY: test-ts
test-ts:
@echo "Tests are coming :( this is a placeholder and it's meant to fail!"
npm run tests
.PHONY: fmt
fmt: fmt-py fmt-ts
@echo "Format completed"
.PHONY: fmt-check
fmt-check: fmt-ts-check fmt-py
@echo "Format check completed"
.PHONY: fmt-ts
fmt-ts:
npm run format
.PHONY: fmt-ts-check
fmt-ts-check:
npm run format:check
.PHONY: fmt-py
fmt-py:
$(conda_run) black -l 88 .
.PHONY: fmt-py-check
fmt-py-check:
$(conda_run) black -l 88 --check .
.PHONY: lint
lint: lint-ts
@echo "Format check completed"
.PHONY: lint-ts
lint-ts:
$(conda_run) npm run lint

View File

@@ -0,0 +1,11 @@
channels:
- defaults
- conda-forge
dependencies:
- python=3.9
- pip=20.2.2
- pytest=7
- nodejs=16
- black
- isort
- codespell