Skip to content

willynilly/yarnlock

 
 

Repository files navigation

yarnlock

PyPI - Python Version Liberapay Patrons GitHub Sponsors

Quickly parse yarn dependencies information into a Python dictionary. The output is typed using a TypedDict class, making it more convenient to work with.

Installation

The recommended installation method is through the PyPI package manager. The project is implemented in Rust and several pre-built binary wheels are available for Linux, macOS, and Windows, with support for both x64 and ARM architectures.

pip install yarnlock

Basic usage

from pathlib import Path
from yarnlock import yarnlock_parse

yarnlock_parse(Path('yarn.lock').read_text())
# ->
# {
#     '@babel/cli': {
#         'matches': ['^7.24.8'],
#         'dependencies': {
#             'glob': '^7.2.0',
#             'slash': '^2.0.0',
#             'make-dir': '^2.1.0',
#             'commander': '^6.2.0',
#             'convert-source-map': '^2.0.0',
#             'fs-readdir-recursive': '^1.1.0',
#             '@jridgewell/trace-mapping': '^0.3.25',
#         },
#         'optionalDependencies': {
#             'chokidar': '^3.4.0',
#             '@nicolo-ribaudo/chokidar-2': '2.1.8-no-fsevents.3',
#         },
#         'version': '7.24.8',
#         'resolved': 'https://registry.npmjs.org/@babel/cli/-/cli-7.24.8.tgz',
#         'integrity': 'sha512-isdp+G6DpRyKc+3Gqxy2rjzgF7Zj9K0mzLNnxz+E/fgeag8qT3vVulX4gY9dGO1q0y+0lUv6V3a+uhUzMzrwXg==',
#     },
#     ...
# }

About

yarn.lock file parser

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 71.9%
  • Nix 17.9%
  • Python 9.8%
  • Shell 0.4%