Skip to content

hydrogen/Bump cli-hydrogen to 13.0.1#8075

Open
andguy95 wants to merge 1 commit into
stable/4.5from
stable-update-cli-hydrogen-13.0.1
Open

hydrogen/Bump cli-hydrogen to 13.0.1#8075
andguy95 wants to merge 1 commit into
stable/4.5from
stable-update-cli-hydrogen-13.0.1

Conversation

@andguy95

Copy link
Copy Markdown
Contributor

@shopify/cli-hydrogen 13.0.1

Patch Changes

  • Read disabled command metadata from @shopify/hydrogen and stop those commands with an actionable error. (#3846) by @graygilmore

  • Preserve actionable build errors during h2 deploy. When the build step fails (for example, when the vite package is missing from the project), the original error and its guidance are now surfaced instead of being wrapped into a generic "Build function failed with error" message and reported as an uncaught crash. (#3848) by @bashu-shopify

  • Add an explicit ~ app alias to new Hydrogen projects. (#3852) by @andguy95

    JavaScript projects use jsconfig.json, which is not reliably covered by Vite's native resolve.tsconfigPaths behavior. New projects now define Hydrogen's ~/ import convention directly in the Vite config so imports like ~/assets/favicon.svg work in both TypeScript and JavaScript projects.

  • Skip confirmation before deploying to non-preview environments with --force. (#3832) by @gonzaloriestra

  • Add --force and --dry-run flags to hydrogen env push. (#3831) by @gonzaloriestra

  • Fix Hydrogen deploy asset directory resolution when Vite reports the client output directory as the SSR server output directory. (#3842) by @frandiox

Full release: https://github.com/Shopify/hydrogen/releases/tag/%40shopify/cli-hydrogen%4013.0.1

Patch release includes:
- Read disabled command metadata with actionable errors
- Preserve actionable build errors during h2 deploy
- Add explicit ~ app alias for JS projects
- Skip deploy confirmation with --force
- Add --force and --dry-run flags to hydrogen env push
- Fix deploy asset directory resolution
@github-actions github-actions Bot added the Area: @shopify/cli @shopify/cli package issues label Jul 13, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Differences in type declarations

We 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:

  • Some seemingly private modules might be re-exported through public modules.
  • If the branch is behind main you might see odd diffs, rebase main into this branch.

New type declarations

We found no new type declarations in this PR

Existing type declarations

packages/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/private/node/session.d.ts
@@ -90,7 +90,6 @@ export declare function setLastSeenUserIdAfterAuth(id: string): void;
  */
 export declare function getLastSeenAuthMethod(): Promise<AuthMethod>;
 export declare function setLastSeenAuthMethod(method: AuthMethod): void;
-export declare function setCommandSessionId(sessionId: string | undefined): void;
 export interface EnsureAuthenticatedAdditionalOptions {
     noPrompt?: boolean;
     forceRefresh?: boolean;
packages/cli-kit/dist/public/common/object.d.ts
@@ -38,14 +38,6 @@ export declare function mapValues<T extends object, TResult>(source: T | null |
  * @returns True if the objects are equal, false otherwise.
  */
 export declare function deepCompare(one: object, two: object): boolean;
-/**
- * Deeply compares two values and treats arrays as order-insensitive.
- *
- * @param one - The first value to be compared.
- * @param two - The second value to be compared.
- * @returns True if the normalized values are equal, false otherwise.
- */
-export declare function deepCompareWithOrderInsensitiveArrays(one: unknown, two: unknown): boolean;
 /**
  * Return the difference between two nested objects.
  *
packages/cli-kit/dist/public/common/version.d.ts
@@ -1 +1 @@
-export declare const CLI_KIT_VERSION = "4.4.0";
\ No newline at end of file
+export declare const CLI_KIT_VERSION = "4.5.0";
\ No newline at end of file
packages/cli-kit/dist/public/node/base-command.d.ts
@@ -16,7 +16,6 @@ declare abstract class BaseCommand extends Command {
     protected parse<TFlags extends FlagOutput & {
         path?: string;
         verbose?: boolean;
-        'auth-alias'?: string;
     }, TGlobalFlags extends FlagOutput, TArgs extends ArgOutput>(options?: Input<TFlags, TGlobalFlags, TArgs>, argv?: string[]): Promise<ParserOutput<TFlags, TGlobalFlags, TArgs> & {
         argv: string[];
     }>;
packages/cli-kit/dist/public/node/cli.d.ts
@@ -39,9 +39,6 @@ export declare const globalFlags: {
 export declare const jsonFlag: {
     json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
 };
-export declare const authAliasFlag: {
-    'auth-alias': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
-};
 /**
  * Builds a  flag that only accepts a valid port number. The flag parses its
  * value as an integer and rejects anything that isn't a whole number between 1 and
packages/cli-kit/dist/public/node/session.d.ts
@@ -22,19 +22,6 @@ export type AccountInfo = UserAccountInfo | ServiceAccountInfo | UnknownAccountI
  * @param userId - User identifier to report on the command analytics event.
  */
 export declare function setLastSeenUserId(userId: string): void;
-/**
- * Finds a stored Shopify account session by alias without changing the current session.
- *
- * @param alias - The account alias to find.
- * @returns The matching session ID, or undefined if no session matches.
- */
-export declare function findSessionIdByAlias(alias: string): Promise<string | undefined>;
-/**
- * Selects a stored Shopify account session by alias for the current command process.
- *
- * @param alias - The account alias to select. Passing undefined clears the command selection.
- */
-export declare function setCurrentSessionAlias(alias?: string): Promise<void>;
 interface UserAccountInfo {
     type: 'UserAccount';
     email: 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.
  *

@andguy95

Copy link
Copy Markdown
Contributor Author

How I am testing:

  • Pull this branch down

  • pnpm build to build the package

  • Create a local shopify-local alias via: alias shopify-local='node /Users/<YOUR_USERNAME>/src/github.com/Shopify/cli/packages/cli/bin/dev.js'

  • In hydrogen projects use the shopify-local command instead of shopify to test.

@andguy95 andguy95 marked this pull request as ready for review July 13, 2026 21:24
@andguy95 andguy95 requested review from a team as code owners July 13, 2026 21:24

@graygilmore graygilmore left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎩'd the disabled commands flow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: @shopify/cli @shopify/cli package issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants