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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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