Skip to content

Replace nvm with mise (#205)#209

Open
nnoce14 wants to merge 6 commits into
mainfrom
feat/205-replace-nvm-with-mise
Open

Replace nvm with mise (#205)#209
nnoce14 wants to merge 6 commits into
mainfrom
feat/205-replace-nvm-with-mise

Conversation

@nnoce14
Copy link
Copy Markdown
Member

@nnoce14 nnoce14 commented Apr 10, 2026

Replaces nvm with mise. Adds mise.toml, removes .nvmrc, updates docs to recommend mise, adds axios override ^1.15.0 and updates pnpm-lock.yaml.

Summary by Sourcery

Adopt mise as the standard toolchain manager and update tooling, docs, and configuration accordingly.

New Features:

  • Introduce a workspace-level mise.toml to pin Node.js 22.22.2, Python 3.13, and related tool settings.
  • Add a canonical Developer setup guide documenting mise-based onboarding, pnpm/Corepack usage, and verification commands.

Enhancements:

  • Replace nvm-based workflows with mise across docs and package READMEs, standardizing on pnpm commands for install, build, and verification.
  • Configure Sonar to increase the JavaScript Node max heap space to 4096 MB.
  • Add an axios dependency override to centralize the resolved axios version in the workspace.

Documentation:

  • Revise introduction and blog getting-started docs to describe mise prerequisites, pnpm usage, and to link to the central Developer setup guide.
  • Update GitHub Copilot instructions and package-level READMEs to reference mise installation and activation instead of nvm.

Chores:

  • Remove the legacy .nvmrc file now that Node versions are managed via mise.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@nnoce14 nnoce14 requested a review from a team April 10, 2026 15:55
@sourcery-ai
Copy link
Copy Markdown
Contributor

sourcery-ai Bot commented Apr 10, 2026

Reviewer's Guide

Replaces nvm-based Node setup with a workspace-level mise configuration, standardizes pnpm/Corepack workflows, updates developer docs accordingly, adds an axios dependency override, adjusts SonarJS settings, and removes the legacy .nvmrc while refreshing the pnpm lockfile.

Flow diagram for mise and pnpm setup process

flowchart TD
  A["Start: Developer wants to set up repo"] --> B["Install mise (brew install mise or curl installer)"]
  B --> C["Activate mise in shell (e.g. eval $(mise activate zsh))"]
  C --> D["Clone repo and cd cellixjs"]
  D --> E["Run mise install (provisions Node 22.22.2 and Python 3.13)"]
  E --> F["Enable Corepack"]
  F --> G["corepack prepare pnpm@10.30.1 --activate"]
  G --> H["pnpm run clean"]
  H --> I["pnpm install"]
  I --> J["pnpm run build"]
  J --> K["pnpm run dev (local dev environment)"]
  J --> L["pnpm run verify (lint, tests, security, SonarCloud)"]
  K --> M["End: Dev environment running"]
  L --> N["End: Local CI-like verification complete"]
Loading

File-Level Changes

Change Details Files
Introduce workspace-level mise configuration for Node and Python and retire nvm usage.
  • Add mise.toml pinning Node 22.22.2 and Python 3.13, enabling auto_install, path augmentation, and virtualenv management
  • Remove the legacy .nvmrc file at the repo root
  • Update package-level READMEs and internal instructions to reference mise install and the workspace-managed Node version instead of nvm use
mise.toml
.nvmrc
apps/api/readme.md
packages/ocom/domain/readme.md
.github/copilot-instructions.md
Standardize on pnpm (via Corepack) and update developer onboarding and docs to the new tooling flow.
  • Update main intro docs to describe prerequisites (mise, Node via mise, pnpm via Corepack, Git, Azure tools, Mongo/Azurite) and to use pnpm commands for clean/install/build/verify instead of npm
  • Add a canonical Developer setup guide centralizing mise installation, Corepack/pnpm activation, and core project commands
  • Adjust blog getting-started section to point to the Developer setup guide instead of inline npm-based commands
apps/docs/docs/intro.md
apps/docs/docs/setup.md
apps/docs/blog/2025-08-26-welcome/index.md
.github/copilot-instructions.md
Update root tooling and dependencies to align with the new setup and improve analysis settings.
  • Add an axios dependency override at ^1.15.0 in the root package configuration
  • Refresh pnpm-lock.yaml to reflect the updated dependency graph and axios override
  • Increase SonarJS Node max heap space setting via sonar.javascript.node.maxspace=4096
package.json
pnpm-lock.yaml
sonar-project.properties

Possibly linked issues


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Copy Markdown
Contributor

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've left some high level feedback:

  • In the README/docs where you replace nvm use with mise install, consider clarifying that this assumes mise is already installed and on the PATH (e.g., a short note or link), so users don’t get stuck if they run the command in a fresh environment.
  • The API and domain package READMEs previously pinned Node v20 with nvm use v20, but now rely on the workspace-wide node = "22.22.2" in mise.toml; double-check this change is intentional for those packages and, if so, reflect the new Node version expectation explicitly in those files.
  • Since the main setup instructions now use pnpm instead of npm, it would be helpful to add a brief note or command for installing pnpm for users who may not have it installed globally.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- In the README/docs where you replace `nvm use` with `mise install`, consider clarifying that this assumes `mise` is already installed and on the PATH (e.g., a short note or link), so users don’t get stuck if they run the command in a fresh environment.
- The API and domain package READMEs previously pinned Node v20 with `nvm use v20`, but now rely on the workspace-wide `node = "22.22.2"` in `mise.toml`; double-check this change is intentional for those packages and, if so, reflect the new Node version expectation explicitly in those files.
- Since the main setup instructions now use `pnpm` instead of `npm`, it would be helpful to add a brief note or command for installing `pnpm` for users who may not have it installed globally.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

nnoce14 and others added 3 commits April 10, 2026 14:24
…setup (address review comments)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@nnoce14
Copy link
Copy Markdown
Member Author

nnoce14 commented Apr 10, 2026

Updated docs: switched 'Getting Started' blog to use mise + pnpm, added brew recommendation and Corepack guidance. Commits pushed to feat/205-replace-nvm-with-mise. Pre-commit verify ran locally during commit.

@nnoce14
Copy link
Copy Markdown
Member Author

nnoce14 commented Apr 10, 2026

@sourcery-ai review

Copy link
Copy Markdown
Contributor

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 1 issue, and left some high level feedback:

  • The mise installation instructions are inconsistent across docs (https://mise.run vs https://get.mise.dev, with and without -fsSL); consider standardizing on the official recommended installer snippet in a single shared snippet or section and reusing it for all references.
  • The repeated inline setup sequences (install mise, activate, mise install, Corepack/pnpm setup) in multiple docs/blog/copilot files could be refactored into a single canonical ‘Setup’ section that other documents link to, to reduce drift and make future updates easier.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The mise installation instructions are inconsistent across docs (`https://mise.run` vs `https://get.mise.dev`, with and without `-fsSL`); consider standardizing on the official recommended installer snippet in a single shared snippet or section and reusing it for all references.
- The repeated inline setup sequences (install mise, activate, `mise install`, Corepack/pnpm setup) in multiple docs/blog/copilot files could be refactored into a single canonical ‘Setup’ section that other documents link to, to reduce drift and make future updates easier.

## Individual Comments

### Comment 1
<location path="apps/docs/docs/intro.md" line_range="60" />
<code_context>
+- Azure Functions Core Tools (func) — required for local Functions runtime; follow the official install guide linked above
+- MongoDB (local or remote) or use Azurite for local Azure storage emulation (used by this repo)
+
+Clone and Setup

 ```bash
</code_context>
<issue_to_address>
**suggestion (typo):** Consider changing "Setup" to "Set up" in the heading for correct verb usage.

Since the heading describes an action, the verb form "set up" is grammatically correct, while "setup" is a noun. Updating the heading accordingly will improve clarity and correctness.

```suggestion
Clone and Set up
```
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment thread apps/docs/docs/intro.md Outdated
…r and link docs

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@nnoce14
Copy link
Copy Markdown
Member Author

nnoce14 commented Apr 10, 2026

Docs: canonical Developer setup added; mise installer standardized; link fix applied and verified. Build passed locally. Commits pushed to feat/205-replace-nvm-with-mise.

@nnoce14 nnoce14 requested a review from a team as a code owner April 10, 2026 19:48
@nnoce14
Copy link
Copy Markdown
Member Author

nnoce14 commented Apr 10, 2026

@sourcery-ai review

Copy link
Copy Markdown
Contributor

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've left some high level feedback:

  • Mise installation and activation instructions are now spread across multiple files (intro.md, copilot-instructions, package READMEs, etc.); consider trimming these down to a short note that links to apps/docs/docs/setup.md to avoid future drift and keep onboarding canonical.
  • The new axios override in the root package.json may affect all workspaces; if the intent is to constrain it to specific packages or to work around a particular issue, consider adding a brief comment or scoping it to the relevant package to make the motivation and impact clear.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- Mise installation and activation instructions are now spread across multiple files (intro.md, copilot-instructions, package READMEs, etc.); consider trimming these down to a short note that links to apps/docs/docs/setup.md to avoid future drift and keep onboarding canonical.
- The new axios override in the root package.json may affect all workspaces; if the intent is to constrain it to specific packages or to work around a particular issue, consider adding a brief comment or scoping it to the relevant package to make the motivation and impact clear.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

gidich
gidich previously approved these changes Apr 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants