Skip to content

App Security: resolve the app selection once - #8736

Merged
jek merged 2 commits into
mainfrom
app-security/selection
Oct 5, 2026
Merged

jek merged 2 commits into
mainfrom
app-security/selection

Conversation

@jek

@jek jek commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

WHY are these changes introduced?

shopify app security check found its app root and TOML with its own discovery logic, which differed from the rest of the CLI (for example, it refused a symbolic-linked TOML) and had no way to scan code with no app configuration.

WHAT is this pull request doing?

Add a shared resolver that turns --path, --config, --client-id and the new --without-app-config into one selection, using localAppContext like other app commands. When no TOML is found and prompting is available, check offers to scan without app configuration and picks the app with link's picker. The engine now receives the resolved app directory and TOML instead of discovering them, and check reports the selection in its summary and in --json.

How to manually test your changes?

cd <app directory>/app/routes
shopify app security check
shopify app security check --path <directory without a TOML> --without-app-config --client-id <client-id>
shopify app security check --path <directory without a TOML>

Checklist

  • I've considered possible cross-platform impacts (Mac, Linux, Windows)
  • I've considered possible documentation changes
  • I've considered analytics changes to measure impact
  • The change is user-facing — I've identified the correct bump type (patch for bug fixes · minor for new features · major for breaking changes) and added a changeset with pnpm changeset add

@jek
jek added this pull request to stack #8741 October 2, 2026 12:59
@jek jek changed the title Resolve the app security selection once for app security check App Security: resolve the app selection once Oct 2, 2026
@jek
jek force-pushed the app-security/selection branch from 7138569 to 3b2a333 Compare October 2, 2026 13:35
@github-actions github-actions Bot added the no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users. label Oct 2, 2026
@jek
jek force-pushed the app-security/selection branch from 3b2a333 to 75b56b0 Compare October 2, 2026 14:02
@jek
jek marked this pull request as ready for review October 2, 2026 18:35
@jek
jek requested review from a team as code owners October 2, 2026 18:35
@jek
jek requested a review from jplhomer October 2, 2026 18:38
Comment thread packages/app/src/cli/services/app-security-selection.ts
Comment thread packages/app/src/cli/services/app-security-selection.ts
@jek
jek requested a review from dmerand October 2, 2026 21:12
jek added 2 commits October 5, 2026 06:43
Add --client-id and --without-app-config, and a shared resolver that returns an
AppSecuritySelection. The engine scans resolved inputs instead of discovering
the app directory itself.
Walking up from a directory that doesn't exist found the app above it, so a
mistyped --path scanned the parent app and wrote its results there.
@jek
jek force-pushed the app-security/selection branch from bd6e176 to ea9d9de Compare October 5, 2026 13:46
@jek
jek added this pull request to the merge queue Oct 5, 2026
Merged via the queue into main with commit 8e0217a Oct 5, 2026
43 of 55 checks passed
@jek
jek deleted the app-security/selection branch October 5, 2026 18:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants