Skip to content

Replace JS implementation with TypeScript shop-cli (@shopify/shop-cli) - #4

Merged
joerj123 merged 2 commits into
mainfrom
import-catalog-cli-ts
Jun 1, 2026
Merged

Replace JS implementation with TypeScript shop-cli (@shopify/shop-cli)#4
joerj123 merged 2 commits into
mainfrom
import-catalog-cli-ts

Conversation

@joerj123

@joerj123 joerj123 commented Jun 1, 2026

Copy link
Copy Markdown
Collaborator

What

Replaces the current JS implementation (bin/shop.mjs + lib/*.mjs, package shop v1.0.1) with the catalog-cli TypeScript version of the Shop CLI skill.

Contents

  • package/ — TypeScript source (src/) + tests (tests/), tsup build, vitest, keytar (OS-keychain token storage)
  • SKILL.md — skill instructions
  • references/catalog-mcp.md, direct-api.md, safety.md, legal.md
  • Package renamed to @shopify/shop-cli

Excluded intentionally

  • node_modules/, dist/ (build artifacts; pnpm build regenerates dist)
  • ucp-bug-repro/ debug response dumps (contained real catalog response data)

Validation

  • pnpm typecheck — clean
  • pnpm test — 56/56 passing

Not published to npm / any registry.

Imports the catalog-cli version of the Shop CLI skill:
- TypeScript source (tsup build, vitest, keytar OS-keychain token storage)
- package/ with src + tests, SKILL.md, references/ (catalog-mcp, direct-api, safety, legal)
- Renames package to @shopify/shop-cli
- Excludes build artifacts and debug response dumps

56/56 tests pass; typecheck clean.
@shopify-bumperbot

shopify-bumperbot Bot commented Jun 1, 2026

Copy link
Copy Markdown

🔍 Denylist Analysis Results

Analyzed 41 packages.

package/pnpm-lock.yaml


Known Packages - Approved for Use (41)
Package Version Details
@types/node 22.19.19 Package policy allows this version
base64-js 1.5.1 Package policy allows this version
bl 4.1.0 Package policy allows this version
buffer 5.7.1 Package policy allows this version
chownr 1.1.4 Package policy allows this version
commander 12.1.0 Package policy allows this version
decompress-response 6.0.0 Package policy allows this version
deep-extend 0.6.0 Package policy allows this version
detect-libc 2.1.2 Package policy allows this version
end-of-stream 1.4.5 Package policy allows this version
expand-template 2.0.3 Package policy allows this version
fs-constants 1.0.0 Package policy allows this version
github-from-package 0.0.0 Package policy allows this version
ieee754 1.2.1 Package policy allows this version
inherits 2.0.4 Package policy allows this version
ini 1.3.8 Package policy allows this version
keytar 7.9.0 Package policy allows this version
mimic-response 3.1.0 Package policy allows this version
minimist 1.2.8 Package policy allows this version
mkdirp-classic 0.5.3 Package policy allows this version
napi-build-utils 2.0.0 Package policy allows this version
node-abi 3.92.0 Package policy allows this version
node-addon-api 4.3.0 Package policy allows this version
once 1.4.0 Package policy allows this version
prebuild-install 7.1.3 Package policy allows this version
pump 3.0.4 Package policy allows this version
rc 1.2.8 Package policy allows this version
readable-stream 3.6.2 Package policy allows this version
safe-buffer 5.2.1 Package policy allows this version
semver 7.8.1 Package policy allows this version
simple-concat 1.0.1 Package policy allows this version
simple-get 4.0.1 Package policy allows this version
string_decoder 1.3.0 Package policy allows this version
strip-json-comments 2.0.1 Package policy allows this version
tar-fs 2.1.4 Package policy allows this version
tar-stream 2.2.0 Package policy allows this version
tunnel-agent 0.6.0 Package policy allows this version
typescript 5.9.3 Package policy allows this version
undici-types 6.21.0 Package policy allows this version
util-deprecate 1.0.2 Package policy allows this version
wrappy 1.0.2 Package policy allows this version

⏳ Package Age Warnings

Packages With Unknown Age (1) — unable to determine publish date
Package Version Ecosystem
@types/node 22.19.19 npm

For any questions or to provide feedback, please reach out to #help-bumperbot.

Generated by Bumperbot.

Removes the two heaviest dev-dependency trees from the supply chain:
- tsup  -> tsc  (tsconfig.build.json emits dist/; shebang now lives in
  src/bin.ts, which tsc preserves; build chmod +x's the bin)
- vitest -> node:test + node:assert via a small tests/harness.ts shim
  (expect/fn/.not/.resolves/.rejects + the matchers this suite uses).
  tsconfig.test.json compiles to .test-build/ and 'node --test' runs it.

Effect: node_modules/.pnpm drops 126 -> 43; eliminates tinyspy and
@types/estree@1.0.9 (both flagged entering the supply chain) along with
rollup/esbuild/vite. Runtime deps unchanged (commander + keytar).

Also syncs current source for cli.ts (buyer-ip help text) and
shop-client.ts (assertCheckoutCompleted verifies complete_checkout
actually returned a completed checkout). Renames package to @shopify/shop-cli.

typecheck clean; 57/57 tests pass.
@joerj123
joerj123 merged commit 98cb765 into main Jun 1, 2026
2 checks passed
@PawanP1808
PawanP1808 deleted the import-catalog-cli-ts branch June 11, 2026 12:56
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.

1 participant