Shopify / Shopify/Shopify-AI-Toolkit

shopify-hydrogen validator has missing and incompatible dependencies in the Codex plugin

Open
#39 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
553
Forks
74
Avg merge
37m
Merged PRs (30d)
6

Description

Summary

The shopify-hydrogen validator included with the official managed Shopify plugin for Codex cannot run from a clean installation because its runtime dependencies are missing. Attempting to install the declared dependencies also exposes a peer-dependency conflict.

Environment

  • Codex Desktop on Windows
  • Node.js v24.14.0
  • Installed with: codex plugin add shopify@openai-curated
  • Curated plugin manifest version: 1.3.3
  • Shopify skill version: 1.9.1
  • Managed snapshot: 2f1a8948

Initial failure

Running skills/shopify-hydrogen/scripts/validate.mjs from the clean managed-plugin installation fails with:

Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'typescript'

The managed installation contains no hydrated node_modules directory.

Dependency conflict

I copied only the Hydrogen skill into an isolated temporary directory. A normal npm installation failed with ERESOLVE.

The relevant conflict was:

@shopify/hydrogen@2026.1.3 requires @react-router/dev@7.12.0

But the curated Hydrogen skill pins:

@react-router/dev@7.15.1

Using npm install --legacy-peer-deps made the validator executable, but that did not fully correct its behavior.

Validator behavior after forced installation

I tested a representative Hydrogen component:

import {Money} from '@shopify/hydrogen';

export function Price(): JSX.Element {
  return (
    <Money
      data={{
        amount: '10.00',
        currencyCode: 'USD',
      }}
    />
  );
}

The validator exited successfully but reported that no components were found for TypeScript validation and classified Money as a non-Shopify component:

No components found to validate by TypeScript.
Non-Shopify components (not validated): Money

Because this is the shopify-hydrogen skill, a core Hydrogen component such as Money should either be validated or the validator’s actual supported scope should be documented.

Expected behavior

After installing the managed Shopify plugin:

  1. The validator should run without a manual npm install.
  2. Its declared dependencies should have compatible versions.
  3. Representative Hydrogen components should actually be validated.
  4. The validator should not return a misleading successful result when it validates nothing.

Could the validator be published as a self-contained bundle, with compatible dependency versions and functional Hydrogen component detection?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with skills/shopify-hydrogen/scripts/validate.mjs and reproduce the clean managed-plugin failure using the reported Node.js and plugin versions. Inspect how dependencies are declared and how the validator discovers Hydrogen components, then verify installation, dependency resolution, and validation of the representative Money component without a misleading successful empty result.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js, react, typescript
Domain
developer-experience, testing-qa, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.