Skip to content

Document How to Add/Update Node and Python Deps #1064

@wesleyboar

Description

@wesleyboar

Problem

The project lacks documentation on how to add or update Node.js and Python dependencies. While the existing documentation mentions installing dependencies that are already configured, there is no guidance on:

  • How to add a new Python dependency using Poetry
  • How to update an existing Python dependency in pyproject.toml
  • How to add a new Node dependency to package.json
  • How to update an existing Node dependency
  • How to install dependencies from git branches/commits (e.g., djangocms-tacc-remote-content from a specific branch)

Current State

The following files mention dependencies but don't explain how to modify them:

  • README.md: Mentions updating Node dependencies with npm ci when they change, but not how to add/update them
  • docs/develop-project.md: Mentions installing Node dependencies with npm ci, but not how to modify them
  • CONTRIBUTING.md: Mentions using poetry version N.N.N for version updates, but not dependency management
  • TESTING.md: Describes how to test "Local Poetry Dependencies in Docker", but that is more advanced.

Undocumented Gotchas

  • Need to use poetry install --no-root.
  • Should use same version of Poetry and Node as in Docker.
  • No way (that I know) to add/update via Docker.

Proposed Solution

Add documentation (likely in docs/develop-project.md or a new in docs/) that covers —

  1. Python Dependencies (Poetry)
  2. Node Dependencies (npm)

— without duplicating documentation nor risking inaccurate documentation. Consider linking to version-specific official documentation for each software.

Related Context

This issue was identified when trying (during #1063) to install djangocms-tacc-remote-content from a specific branch (fix/RT-38730-not-updating-srcset), and no documentation existed for this common task.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions