mirror of
https://github.com/pyscript/pyscript.git
synced 2025-12-19 18:27:29 -05:00
Merge pull request #231 from pyscript/fpliger/69_add_makefile
Add initial dev setup automation
This commit is contained in:
4
.pre-commit-config.yaml
Normal file
4
.pre-commit-config.yaml
Normal 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
84
pyscriptjs/Makefile
Normal 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
|
||||
11
pyscriptjs/environment.yml
Normal file
11
pyscriptjs/environment.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
channels:
|
||||
- defaults
|
||||
- conda-forge
|
||||
dependencies:
|
||||
- python=3.9
|
||||
- pip=20.2.2
|
||||
- pytest=7
|
||||
- nodejs=16
|
||||
- black
|
||||
- isort
|
||||
- codespell
|
||||
Reference in New Issue
Block a user