chore: manage the repo with task, improve on taskfile

This commit is contained in:
Michele Cereda
2024-11-03 12:55:03 +01:00
parent 032c348fd1
commit bf330beabe
5 changed files with 47 additions and 42 deletions

View File

@@ -1,21 +0,0 @@
#!/usr/bin/env make
override venv ?= ${shell git rev-parse --show-toplevel}/.venv
create-venv: override python_version ?= 3.11
ifeq "${shell uname}" "Darwin"
create-venv: python_executable = ${shell which 'python${python_version}'}
else
create-venv: python_executable = ${shell which --tty-only --show-dot --show-tilde 'python${python_version}'}
endif
create-venv: ${python_executable}
@${python_executable} -m 'venv' '${venv}'
@${venv}/bin/pip --require-virtualenv install -r 'requirements.txt'
recreate-venv:
@rm -rf '${venv}'
@${MAKE} create-venv
update-venv: ${venv}/bin/pip
@${venv}/bin/pip freeze -l --require-virtualenv | sed 's/==/>=/' \
| xargs ${venv}/bin/pip --require-virtualenv install -U

View File

@@ -7,18 +7,29 @@ vars:
tasks: tasks:
create-venv: dev-tools:bootstrap:
cmds: cmds:
- python3.12 -m 'venv' '{{.VENV_DIR}}' - task: python:create-venv
- >- - npm install
{{.VENV_DIR}}/bin/pip --require-virtualenv install -r '{{.REQUIREMENTS_FILE}}'
recreate-venv: dev-tools:update:
cmds: cmds:
- rm -rf '{{.VENV_DIR}}' - task: python:update-venv
- task: create-venv - npm update --save
update-venv: python:create-venv:
vars:
PYTHON_VERSION: 3.12
cmds:
- "python{{.PYTHON_VERSION}} -m 'venv' '{{.VENV_DIR}}'"
- "{{.VENV_DIR}}/bin/pip --require-virtualenv install -r '{{.REQUIREMENTS_FILE}}'"
python:recreate-venv:
cmds:
- "rm -rf '{{.VENV_DIR}}'"
- task: python:create-venv
python:update-venv:
cmd: >- cmd: >-
{{.VENV_DIR}}/bin/pip freeze -l --require-virtualenv | sed 's/==/>=/' {{.VENV_DIR}}/bin/pip freeze -l --require-virtualenv | sed 's/==/>=/'
| xargs {{.VENV_DIR}}/bin/pip --require-virtualenv install -U | xargs {{.VENV_DIR}}/bin/pip --require-virtualenv install -U

View File

@@ -1,12 +1,26 @@
# Node Package Manager CLI # Node Package Manager CLI
## Table of contents <!-- omit in toc -->
1. [TL;DR](#tldr) 1. [TL;DR](#tldr)
1. [Further readings](#further-readings) 1. [Further readings](#further-readings)
## TL;DR ## TL;DR
<details>
<summary>Setup</summary>
```sh
# Disable SSL verification.
npm config set 'strict-ssl'='false'
# Use custom CA certificates.
npm config set 'cafile'='path/to/ca/cert.pem'
```
</details>
<details>
<summary>Usage</summary>
```sh ```sh
# Search for packages. # Search for packages.
npm search 'typescript' npm search 'typescript'
@@ -22,17 +36,15 @@ npm i -g '@pnp/cli-microsoft365@latest'
npm clean-install '@pnp/cli-microsoft365' npm clean-install '@pnp/cli-microsoft365'
npm ci -g '@pnp/cli-microsoft365@latest' npm ci -g '@pnp/cli-microsoft365@latest'
# Update packages.
npm update
npm up --save
# Remove packages. # Remove packages.
npm uninstall '@pnp/cli-microsoft365' npm uninstall '@pnp/cli-microsoft365'
``` ```
```sh </details>
# Disable SSL verification.
npm config set 'strict-ssl'='false'
# Use a custom CA certificate.
npm config set 'cafile'='path/to/ca/cert.pem'
```
## Further readings ## Further readings

View File

@@ -37,8 +37,9 @@ Cons:
# Install the executable. # Install the executable.
brew install 'go-task' brew install 'go-task'
choco install 'go-task' choco install 'go-task'
sudo dnf install 'go-task' dnf install 'go-task'
sudo snap install 'task' --classic snap install 'task' --classic
zypper install 'https://github.com/go-task/task/releases/download/v3.39.2/task_linux_amd64.rpm'
# Setup the shell's completion. # Setup the shell's completion.
task --completion 'fish' > ~/'.config/fish/completions/task.fish' task --completion 'fish' > ~/'.config/fish/completions/task.fish'
@@ -72,6 +73,7 @@ task --completion 'bash' > '/etc/bash_completion.d/task'
```sh ```sh
task 'assets' 'build' task 'assets' 'build'
task --dry 'bootstrap'
``` ```
If task names are omitted, a task named `default` will be assumed. If task names are omitted, a task named `default` will be assumed.

View File

@@ -1,6 +1,7 @@
{ {
"devDependencies": { "devDependencies": {
"@commitlint/cli": "^19.4.0", "@commitlint/cli": "^19.5.0",
"@commitlint/config-conventional": "^19.2.2" "@commitlint/config-conventional": "^19.5.0",
"@evilmartians/lefthook": "^1.8.2"
} }
} }