Add non-interactive app dev prompt bypasses#7632
Conversation
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
ea50335 to
3948ce1
Compare
51b7815 to
63fab66
Compare
2014ea3 to
59259d8
Compare
4bd2cf5 to
986b2a7
Compare
59259d8 to
1f26176
Compare
1f26176 to
b0606fb
Compare
986b2a7 to
872015f
Compare
b0606fb to
c22f504
Compare
872015f to
81fed1d
Compare
155a4b3 to
bc9aaca
Compare
81fed1d to
950e211
Compare
bc9aaca to
b1b95a3
Compare
9c5a91a to
8cfe2a7
Compare
b1b95a3 to
2237293
Compare
8cfe2a7 to
e2500b0
Compare
2237293 to
9471955
Compare
9471955 to
8d194da
Compare
e2500b0 to
3913769
Compare
2dd690e to
847afd2
Compare
02fc84c to
278d226
Compare
847afd2 to
f25a459
Compare
f3e0e23 to
6a3739f
Compare
f25a459 to
1ad8032
Compare
65d4a29 to
c8f3233
Compare
1ad8032 to
6d26b55
Compare
c8f3233 to
21d20b2
Compare
Differences in type declarationsWe detected differences in the type declarations generated by Typescript for this branch compared to the baseline ('main' branch). Please, review them to ensure they are backward-compatible. Here are some important things to keep in mind:
New type declarationsWe found no new type declarations in this PR Existing type declarationspackages/cli-kit/dist/private/node/constants.d.ts@@ -6,6 +6,7 @@ export declare const environmentVariables: {
doctor: string;
enableCliRedirect: string;
env: string;
+ firstPartyDev: string;
noAnalytics: string;
optOutInstrumentation: string;
appAutomationToken: string;
packages/cli-kit/dist/public/node/context/local.d.ts@@ -63,6 +63,13 @@ export declare function alwaysLogAnalytics(env?: NodeJS.ProcessEnv): boolean;
* @returns True if SHOPIFY_CLI_ALWAYS_LOG_METRICS is truthy.
*/
export declare function alwaysLogMetrics(env?: NodeJS.ProcessEnv): boolean;
+/**
+ * Returns true if the CLI User is 1P.
+ *
+ * @param env - The environment variables from the environment of the current process.
+ * @returns True if SHOPIFY_CLI_1P is truthy.
+ */
+export declare function firstPartyDev(env?: NodeJS.ProcessEnv): boolean;
/**
* Returns true if the CLI can run the "doctor-release" command.
*
|
|
/snapit |
|
🫰✨ Thanks @gonzaloriestra! Your snapshot has been published to npm. Test the snapshot by installing your package globally: pnpm i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20260709114447Caution After installing, validate the version by running |
21d20b2 to
722bab8
Compare
6d26b55 to
86468f6
Compare
722bab8 to
ea966f3
Compare
| conversionMode: 'prompt-first' | 'never', | ||
| ): Promise<boolean> { | ||
| if (store.transferDisabled) return true | ||
| export function ensureTransferDisabledStore(store: OrganizationStore): void { |
There was a problem hiding this comment.
We probably need to evaluate if we even need this, for dev dash dev stores if the store is a valid dev store, that's all we need no?
There was a problem hiding this comment.
New dev stores are always transfer disabled. But I found there are a few old cases where they are development and also transfer enabled. I'm leaving this for them to show a better error.
ea966f3 to
eb2c7e6
Compare
86468f6 to
fdb6f29
Compare
eb2c7e6 to
84b78ef
Compare

WHY are these changes introduced?
Related to https://github.com/shop/issues-develop/issues/22868
The interactivity audit found several
app devpaths that still required prompts or manual recovery in automation:The transfer-disabled store conversion prompt is removed since the CLI only allows using dev stores now that should already be transfer-disabled.
WHAT is this pull request doing?
app devflags for non-interactive flows:--install-mkcert/SHOPIFY_FLAG_INSTALL_MKCERTcontrols localhost certificate installation.--store-password/SHOPIFY_FLAG_STORE_PASSWORDsupplies the storefront password needed by theme app extensions.automatically_update_urls_on_dev = true, avoiding the app dev URL prompt for that flow.app dev; transfer-enabled dev stores now fail with an actionable error instead of prompting to mutate the store.--store-passwordandSHOPIFY_FLAG_STORE_PASSWORDvalues from analytics payloads.How to test your changes?
shopify app dev --use-localhost --install-mkcertshopify app dev --store-password yourpasswordChecklist
pnpm changeset add