Shopify / Shopify/Shopify-AI-Toolkit

shopify-liquid skill validate.mjs fails because package-lock.json resolves to private npm.shopify.io registry

Open
#11 2 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

validate.mjs can't run because required @shopify/theme-check-* dependencies are missing at runtime, and npm install fails because package-lock.json resolves those packages to Shopify's private registry.

Steps to reproduce

  1. Install plugin via Claude Code marketplace
  2. Trigger the shopify-liquid skill
  3. Skill runs validate.mjs, which fails

What it looks like in Claude Code

The skill instructs the AI to validate every code block via validate.mjs. This is what happens:

⏺ Bash(cd skills/shopify-liquid && node scripts/validate.mjs --filename test.liquid --filetype sections --code '...')
  ⎿  Exit code 1
     Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@shopify/theme-check-common'

The AI then tries npm install to fix it, which also fails, creating a loop of broken validation attempts.

Actual behavior

$ node scripts/validate.mjs --filename test.liquid --filetype sections --code '<div>test</div>'

Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@shopify/theme-check-common'
    imported from skills/shopify-liquid/scripts/validate.mjs

npm install also fails:

$ cd skills/shopify-liquid && npm install

npm error code E401
npm error Incorrect or missing password.

package-lock.json points all @shopify/* packages to the private registry:

@shopify/theme-check-node@https://npm.shopify.io/node/...
@shopify/theme-check-common@https://npm.shopify.io/node/...
@shopify/liquid-html-parser@https://npm.shopify.io/node/...
@shopify/theme-check-docs-updater@https://npm.shopify.io/node/...

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-liquid/scripts/validate.mjs and skills/shopify-liquid/package-lock.json, then reproduce the documented node command and npm install failure. Trace how the @shopify/theme-check-* dependencies are resolved; done means validate.mjs can run for the shown example without a private-registry authentication failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
cli, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.