Hatch plugin for versioning from a package.json file
Project description
hatch-nodejs-version
This package provides two Hatch plugins:
- version source plugin that reads/writes the package version
from the
version
field of the Node.jspackage.json
file. - metadata hook plugin that reads PEP 621 metadata from the
Node.js
package.json
file.
Table of Contents
Global dependency
Ensure hatch-nodejs-version
is defined within the build-system.requires
field in your pyproject.toml
file.
[build-system]
requires = ["hatchling", "hatch-nodejs-version"]
build-backend = "hatchling.build"
Version source
The version source plugin name is nodejs
.
-
pyproject.toml
[tool.hatch.version] source = "nodejs"
-
hatch.toml
[version] source = "nodejs"
Semver
The semver specification defines the following version sections:
major
minor
patch
pre-release
build
Meanwhile, PEP 440 defines:
epoch
major
minor
patch
pre-release
post-release
dev-release
In order to ensure contentful round-trip support, and ensure semantic consistency between Node.js and Python, this plugin only accepts the common version parts:
major
minor
patch
pre-release
e.g. 1.2.3-rc0
.
Note that where normalisation occurs, the round-trip result will differ. This can be avoided by careful choice of the delimeters e.g. -.
.
Version source options
Option | Type | Default | Description |
---|---|---|---|
path |
str |
package.json |
Relative path to the package.json file. |
Metadata hook
The metadata hook plugin name is nodejs
.
-
pyproject.toml
[tool.hatch.metadata.hooks.nodejs]
-
hatch.toml
[metadata.hooks.nodejs]
Metadata hook options
Option | Type | Default | Description |
---|---|---|---|
path |
str |
"package.json" |
Relative path to the package.json file. |
fields |
list of str |
None |
Optional list of pyproject.toml fields to take from their counterparts in package.json . If missing, take all of the available fields. |
contributors-as-maintainers |
bool |
True |
Whether contributors in package.json should be considered maintainers (otherwise, treat them as authors). |
bugs-label |
str |
"Bug Tracker" |
The key in the URLs table of pyproject.toml that is populated by the bugs field in package.json |
homepage-label |
str |
"Homepage" |
The key in the URLs table of pyproject.toml that is populated by the homepage field in package.json |
repository-label |
str |
"Repository" |
The key in the URLs table of pyproject.toml that is populated by the repository field in package.json |
License
hatch-nodejs-version
is distributed under the terms of the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file hatch_nodejs_version-0.3.2.tar.gz
.
File metadata
- Download URL: hatch_nodejs_version-0.3.2.tar.gz
- Upload date:
- Size: 16.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a7828d817b71e50bbbbb01c9bfc0b329657b7900c56846489b9c958de15b54c |
|
MD5 | 05f979219e2e46d3f6232f0872d9c21f |
|
BLAKE2b-256 | afb6c9406cfa9edf740c6b3de6173408a159228eac0cee80eead4a5b9cc88848 |
File details
Details for the file hatch_nodejs_version-0.3.2-py3-none-any.whl
.
File metadata
- Download URL: hatch_nodejs_version-0.3.2-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d73e728f1a262d214afe9c0a40e161013ef0b7a6c78ff843293880f6a46ede79 |
|
MD5 | b69b65c92c7f0b92dd14b464719c1e3a |
|
BLAKE2b-256 | b7feb23e9bca77cafecd1a10450066a1a4ca329149ad36aa86cdf8e67c2d2fa5 |