upd-cli 0.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- upd_cli-0.0.1/.pre-commit-config.yaml +77 -0
- upd_cli-0.0.1/CHANGELOG.md +39 -0
- upd_cli-0.0.1/Cargo.lock +2169 -0
- upd_cli-0.0.1/Cargo.toml +64 -0
- upd_cli-0.0.1/LICENSE +21 -0
- upd_cli-0.0.1/Makefile +123 -0
- upd_cli-0.0.1/PKG-INFO +161 -0
- upd_cli-0.0.1/README.md +136 -0
- upd_cli-0.0.1/pyproject.toml +34 -0
- upd_cli-0.0.1/python/upd_cli/__init__.py +5 -0
- upd_cli-0.0.1/python/upd_cli/__main__.py +55 -0
- upd_cli-0.0.1/python/upd_cli/py.typed +0 -0
- upd_cli-0.0.1/src/cache.rs +164 -0
- upd_cli-0.0.1/src/cli.rs +63 -0
- upd_cli-0.0.1/src/lib.rs +10 -0
- upd_cli-0.0.1/src/main.rs +291 -0
- upd_cli-0.0.1/src/registry/mod.rs +29 -0
- upd_cli-0.0.1/src/registry/npm.rs +155 -0
- upd_cli-0.0.1/src/registry/pypi.rs +163 -0
- upd_cli-0.0.1/src/updater/mod.rs +202 -0
- upd_cli-0.0.1/src/updater/package_json.rs +166 -0
- upd_cli-0.0.1/src/updater/pyproject.rs +263 -0
- upd_cli-0.0.1/src/updater/requirements.rs +260 -0
- upd_cli-0.0.1/src/version/mod.rs +5 -0
- upd_cli-0.0.1/src/version/pep440.rs +58 -0
- upd_cli-0.0.1/src/version/semver_util.rs +53 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Pre-commit hooks for upd
|
|
2
|
+
# Install with:
|
|
3
|
+
# pre-commit install # Install commit hooks
|
|
4
|
+
# pre-commit install --hook-type pre-push # Install push hooks
|
|
5
|
+
# Run manually:
|
|
6
|
+
# pre-commit run --all-files # Run commit hooks
|
|
7
|
+
# pre-commit run --hook-stage push --all-files # Run push hooks
|
|
8
|
+
|
|
9
|
+
repos:
|
|
10
|
+
# Rust formatting and linting
|
|
11
|
+
- repo: local
|
|
12
|
+
hooks:
|
|
13
|
+
- id: cargo-fmt
|
|
14
|
+
name: cargo fmt
|
|
15
|
+
entry: cargo fmt --all --
|
|
16
|
+
language: system
|
|
17
|
+
types: [rust]
|
|
18
|
+
pass_filenames: false
|
|
19
|
+
|
|
20
|
+
- id: cargo-clippy
|
|
21
|
+
name: cargo clippy
|
|
22
|
+
entry: cargo clippy -- -D warnings
|
|
23
|
+
language: system
|
|
24
|
+
types: [rust]
|
|
25
|
+
pass_filenames: false
|
|
26
|
+
|
|
27
|
+
- id: cargo-test
|
|
28
|
+
name: cargo test
|
|
29
|
+
entry: cargo test --lib
|
|
30
|
+
language: system
|
|
31
|
+
types: [rust]
|
|
32
|
+
pass_filenames: false
|
|
33
|
+
stages: [pre-commit]
|
|
34
|
+
|
|
35
|
+
# General file quality checks
|
|
36
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
37
|
+
rev: v4.6.0
|
|
38
|
+
hooks:
|
|
39
|
+
- id: trailing-whitespace
|
|
40
|
+
exclude: \.md$
|
|
41
|
+
- id: end-of-file-fixer
|
|
42
|
+
exclude: \.md$
|
|
43
|
+
- id: check-yaml
|
|
44
|
+
- id: check-toml
|
|
45
|
+
- id: check-json
|
|
46
|
+
- id: check-merge-conflict
|
|
47
|
+
- id: check-case-conflict
|
|
48
|
+
- id: mixed-line-ending
|
|
49
|
+
args: [--fix=lf]
|
|
50
|
+
|
|
51
|
+
# Markdown linting using rumdl
|
|
52
|
+
- repo: https://github.com/rvben/rumdl-pre-commit
|
|
53
|
+
rev: v0.0.45
|
|
54
|
+
hooks:
|
|
55
|
+
- id: rumdl
|
|
56
|
+
exclude: ^CHANGELOG\.md$
|
|
57
|
+
|
|
58
|
+
# Pre-push hooks for comprehensive validation
|
|
59
|
+
- repo: local
|
|
60
|
+
hooks:
|
|
61
|
+
- id: cargo-test-full
|
|
62
|
+
name: cargo test (full suite)
|
|
63
|
+
entry: cargo test
|
|
64
|
+
language: system
|
|
65
|
+
types: [rust]
|
|
66
|
+
pass_filenames: false
|
|
67
|
+
stages: [pre-push]
|
|
68
|
+
verbose: true
|
|
69
|
+
|
|
70
|
+
- id: cargo-doc-check
|
|
71
|
+
name: cargo doc (check)
|
|
72
|
+
entry: cargo doc --no-deps --all-features
|
|
73
|
+
language: system
|
|
74
|
+
types: [rust]
|
|
75
|
+
pass_filenames: false
|
|
76
|
+
stages: [pre-push]
|
|
77
|
+
verbose: true
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [0.0.1] - 2025-12-08
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Initial release of `upd` - a fast dependency updater written in Rust
|
|
13
|
+
- Support for Python dependency files:
|
|
14
|
+
- `requirements.txt` and `requirements-*.txt` patterns
|
|
15
|
+
- `requirements.in` and `requirements-*.in` patterns
|
|
16
|
+
- `pyproject.toml` with `[project.dependencies]` and `[project.optional-dependencies]`
|
|
17
|
+
- Support for Node.js dependency files:
|
|
18
|
+
- `package.json` with `dependencies` and `devDependencies`
|
|
19
|
+
- Version constraint handling:
|
|
20
|
+
- Respects upper bounds (e.g., `>=2.0,<3` won't update to v3.x)
|
|
21
|
+
- PEP 440 version specifier support for Python
|
|
22
|
+
- Semver range support for npm packages
|
|
23
|
+
- Major version bump warnings with `(MAJOR)` indicator
|
|
24
|
+
- Pre-release version filtering (excludes alpha, beta, rc versions)
|
|
25
|
+
- Dry-run mode (`-n`) to preview changes without modifying files
|
|
26
|
+
- Format-preserving updates using `toml_edit` for pyproject.toml
|
|
27
|
+
- Gitignore-aware file discovery (respects `.gitignore` patterns)
|
|
28
|
+
- Version caching for faster subsequent runs
|
|
29
|
+
- Colored terminal output with `--no-color` option
|
|
30
|
+
- Self-update command (`upd self-update`)
|
|
31
|
+
- Cache management (`upd clean-cache`)
|
|
32
|
+
|
|
33
|
+
### Performance
|
|
34
|
+
|
|
35
|
+
- Async HTTP requests with `reqwest`
|
|
36
|
+
- Concurrent dependency lookups
|
|
37
|
+
- Release binary with LTO optimization
|
|
38
|
+
|
|
39
|
+
[0.0.1]: https://github.com/rvben/upd/releases/tag/v0.0.1
|