Skip to main content

Hatch plugin for versioning from a package.json file

Project description

hatch-nodejs-version

PyPI - Version PyPI - Python Version Hatch project


This package provides two Hatch plugins:

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hatch_nodejs_version-0.3.2.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

hatch_nodejs_version-0.3.2-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

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

Hashes for hatch_nodejs_version-0.3.2.tar.gz
Algorithm Hash digest
SHA256 8a7828d817b71e50bbbbb01c9bfc0b329657b7900c56846489b9c958de15b54c
MD5 05f979219e2e46d3f6232f0872d9c21f
BLAKE2b-256 afb6c9406cfa9edf740c6b3de6173408a159228eac0cee80eead4a5b9cc88848

See more details on using hashes here.

File details

Details for the file hatch_nodejs_version-0.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for hatch_nodejs_version-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d73e728f1a262d214afe9c0a40e161013ef0b7a6c78ff843293880f6a46ede79
MD5 b69b65c92c7f0b92dd14b464719c1e3a
BLAKE2b-256 b7feb23e9bca77cafecd1a10450066a1a4ca329149ad36aa86cdf8e67c2d2fa5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page