Skip to content

Version Packages - stable/4.6 - #8264

Merged
craigmichaelmartin merged 1 commit into
stable/4.6from
changeset-release/stable/4.6
Aug 7, 2026
Merged

Version Packages - stable/4.6#8264
craigmichaelmartin merged 1 commit into
stable/4.6from
changeset-release/stable/4.6

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to stable/4.6, this PR will be updated.

Releases

@shopify/plugin-cloudflare@4.6.1

Patch Changes

  • @shopify/cli-kit@4.6.1

@shopify/cli@4.6.1

@shopify/cli-kit@4.6.1

@shopify/create-app@4.6.1

@shopify/app@4.6.1

Patch Changes

  • b7af6fe: Serve UI extension source maps during app dev
    • @shopify/organizations@4.6.1
    • @shopify/cli-kit@4.6.1
    • @shopify/theme@4.6.1
    • @shopify/plugin-cloudflare@4.6.1

@shopify/organizations@4.6.1

Patch Changes

  • @shopify/cli-kit@4.6.1

@shopify/plugin-did-you-mean@4.6.1

Patch Changes

  • @shopify/cli-kit@4.6.1

@shopify/store@4.6.1

Patch Changes

  • @shopify/organizations@4.6.1
  • @shopify/cli-kit@4.6.1

@shopify/theme@4.6.1

Patch Changes

  • @shopify/cli-kit@4.6.1

@github-actions
github-actions Bot requested review from a team as code owners August 7, 2026 14:10
@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 Aug 7, 2026
@github-actions
github-actions Bot force-pushed the changeset-release/stable/4.6 branch from e707ea9 to a0a48a4 Compare August 7, 2026 14:52
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

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/public/common/string.d.ts
@@ -1,4 +1,4 @@
-import type { Token, TokenItem } from '../../private/node/ui/components/token-item.js';
+import { Token, TokenItem } from '../../private/node/ui/components/TokenizedText.js';
 export type RandomNameFamily = 'business' | 'creative';
 /**
  * Generates a random name by combining an adjective and noun.
packages/cli-kit/dist/public/common/version.d.ts
@@ -1 +1 @@
-export declare const CLI_KIT_VERSION = "4.6.0";
\ No newline at end of file
+export declare const CLI_KIT_VERSION = "4.6.1";
\ No newline at end of file
packages/cli-kit/dist/public/node/base-command.d.ts
@@ -2,15 +2,8 @@ import { Command } from '@oclif/core';
 import { OutputFlags, Input, ParserOutput, FlagInput, OutputArgs } from '@oclif/core/parser';
 export type ArgOutput = OutputArgs<any>;
 export type FlagOutput = OutputFlags<any>;
-export interface NonTTYFlagRequirement {
-    /** At least one of these flags must be present when the requirement applies. */
-    flags: string[];
-    /** Determines whether the requirement applies to the parsed flags. */
-    when?: (flags: FlagOutput) => boolean;
-}
 declare abstract class BaseCommand extends Command {
     static baseFlags: FlagInput<{}>;
-    static nonTTYFlagRequirements(_flags: FlagOutput): NonTTYFlagRequirement[];
     static descriptionWithoutMarkdown(): string | undefined;
     static analyticsNameOverride(): string | undefined;
     static analyticsStopCommand(): string | undefined;
@@ -29,8 +22,6 @@ declare abstract class BaseCommand extends Command {
     }>;
     protected environmentsFilename(): string | undefined;
     protected failMissingNonTTYFlags(flags: FlagOutput, requiredFlags: string[]): void;
-    private failMissingNonTTYFlagRequirements;
-    private applicableNonTTYFlagRequirements;
     private resultWithEnvironment;
     /**
      * Tries to load an environment to forward to the command. If no environment
packages/cli-kit/dist/public/node/cli.d.ts
@@ -55,19 +55,6 @@ export declare const portFlag: (options?: {
     env?: string;
     hidden?: boolean;
 }) => import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
-/**
- * Marks a flag as required when the CLI cannot prompt for a value.
- *
- * The flag remains optional in interactive terminals. In non-interactive environments,
- * `BaseCommand` validates the flag automatically and the requirement is shown in `--help`.
- * Use `BaseCommand.nonTTYFlagRequirements` for conditional or alternative requirements.
- *
- * @param flag - An oclif flag definition.
- * @returns A new flag definition annotated for non-interactive validation and help output.
- */
-export declare function requiredIfNonInteractive<TFlag extends {
-    description?: string;
-}>(flag: TFlag): TFlag;
 /**
  * Clear the CLI cache, used to store some API responses and handle notifications status
  */
packages/cli-kit/dist/public/node/error.d.ts
@@ -1,5 +1,5 @@
 import { OutputMessage } from './output.js';
-import { type InlineToken, type TokenItem } from '../../private/node/ui/components/token-item.js';
+import { InlineToken, TokenItem } from '../../private/node/ui/components/TokenizedText.js';
 import type { AlertCustomSection } from './ui.js';
 export { ExtendableError } from 'ts-error';
 export declare enum FatalErrorType {
packages/cli-kit/dist/public/node/ui.d.ts
@@ -6,7 +6,7 @@ import { AlertOptions } from '../../private/node/ui/alert.js';
 import { CustomSection } from '../../private/node/ui/components/Alert.js';
 import ScalarDict from '../../private/node/ui/components/Table/ScalarDict.js';
 import { TableColumn, TableProps } from '../../private/node/ui/components/Table/Table.js';
-import { type InlineToken, type LinkToken, type ListToken, type Token, type TokenItem } from '../../private/node/ui/components/token-item.js';
+import { Token, InlineToken, LinkToken, ListToken, TokenItem } from '../../private/node/ui/components/TokenizedText.js';
 import { DangerousConfirmationPromptProps } from '../../private/node/ui/components/DangerousConfirmationPrompt.js';
 import { SelectPromptProps } from '../../private/node/ui/components/SelectPrompt.js';
 import { Task } from '../../private/node/ui/components/Tasks.js';
packages/cli-kit/dist/private/node/session/exchange.d.ts
@@ -52,8 +52,7 @@ export declare function exchangeAppAutomationTokenForBusinessPlatformAccessToken
     accessToken: string;
     userId: string;
 }>;
-declare const identityDeviceErrors: readonly ["authorization_pending", "access_denied", "expired_token", "slow_down", "unknown_failure"];
-type IdentityDeviceError = (typeof identityDeviceErrors)[number];
+type IdentityDeviceError = 'authorization_pending' | 'access_denied' | 'expired_token' | 'slow_down' | 'unknown_failure';
 /**
  * Given a deviceCode obtained after starting a device identity flow, request an identity token.
  * @param deviceCode - The device code obtained after starting a device identity flow
packages/cli-kit/dist/private/node/ui/utilities.d.ts
@@ -1,16 +1,16 @@
-import { type TokenItem } from './components/token-item.js';
-export declare function messageWithPunctuation(message: TokenItem): string | import("./components/token-item.js").LinkToken | import("./components/token-item.js").UserInputToken | import("./components/token-item.js").ListToken | {
+import { TokenItem } from './components/TokenizedText.js';
+export declare function messageWithPunctuation(message: TokenItem): string | {
     command: string;
-} | {
+} | import("./components/TokenizedText.js").LinkToken | {
     char: string;
-} | {
+} | import("./components/TokenizedText.js").UserInputToken | {
     subdued: string;
 } | {
     filePath: string;
-} | import("./components/token-item.js").BoldToken | {
+} | import("./components/TokenizedText.js").ListToken | import("./components/TokenizedText.js").BoldToken | {
     info: string;
 } | {
     warn: string;
 } | {
     error: string;
-} | import("./components/token-item.js").Token[];
\ No newline at end of file
+} | import("./components/TokenizedText.js").Token[];
\ No newline at end of file
packages/cli-kit/dist/private/node/ui/components/Alert.d.ts
@@ -1,7 +1,7 @@
 import { BannerType } from './Banner.js';
+import { BoldToken, InlineToken, LinkToken, TokenItem } from './TokenizedText.js';
 import { TabularDataProps } from './TabularData.js';
 import { FunctionComponent } from 'react';
-import type { BoldToken, InlineToken, LinkToken, TokenItem } from './token-item.js';
 export interface CustomSection {
     title?: string;
     body: TabularDataProps | TokenItem;
packages/cli-kit/dist/private/node/ui/components/DangerousConfirmationPrompt.d.ts
@@ -1,7 +1,7 @@
+import { InlineToken, TokenItem } from './TokenizedText.js';
 import { InfoTableProps } from './Prompts/InfoTable.js';
 import { AbortSignal } from '../../../../public/node/abort.js';
 import { FunctionComponent } from 'react';
-import type { InlineToken, TokenItem } from './token-item.js';
 export interface DangerousConfirmationPromptProps {
     message: string;
     confirmation: string;
packages/cli-kit/dist/private/node/ui/components/List.d.ts
@@ -1,6 +1,6 @@
+import { InlineToken, TokenItem } from './TokenizedText.js';
 import { TextProps } from 'ink';
 import { FunctionComponent } from 'react';
-import type { InlineToken, TokenItem } from './token-item.js';
 export interface CustomListItem {
     type?: string;
     item: TokenItem<InlineToken>;
packages/cli-kit/dist/private/node/ui/components/TabularData.d.ts
@@ -1,4 +1,4 @@
-import { type InlineToken } from './token-item.js';
+import { InlineToken } from './TokenizedText.js';
 import { FunctionComponent } from 'react';
 export interface TabularDataProps {
     tabularData: InlineToken[][];
packages/cli-kit/dist/private/node/ui/components/TextPrompt.d.ts
@@ -1,6 +1,6 @@
+import { InlineToken, TokenItem } from './TokenizedText.js';
 import { AbortSignal } from '../../../../public/node/abort.js';
 import { FunctionComponent } from 'react';
-import type { InlineToken, TokenItem } from './token-item.js';
 export interface TextPromptProps {
     message: TokenItem;
     onSubmit: (value: string) => void;
packages/cli-kit/dist/private/node/ui/components/TokenizedText.d.ts
@@ -1,5 +1,42 @@
 import { FunctionComponent } from 'react';
-import type { TokenItem } from './token-item.js';
+export interface LinkToken {
+    link: {
+        label?: string;
+        url: string;
+    };
+}
+export interface UserInputToken {
+    userInput: string;
+}
+export interface ListToken {
+    list: {
+        title?: TokenItem<InlineToken>;
+        items: TokenItem<InlineToken>[];
+        ordered?: boolean;
+    };
+}
+export interface BoldToken {
+    bold: string;
+}
+export type Token = string | {
+    command: string;
+} | LinkToken | {
+    char: string;
+} | UserInputToken | {
+    subdued: string;
+} | {
+    filePath: string;
+} | ListToken | BoldToken | {
+    info: string;
+} | {
+    warn: string;
+} | {
+    error: string;
+};
+export type InlineToken = Exclude<Token, ListToken>;
+export type TokenItem<T extends Token = Token> = T | T[];
+export declare function tokenItemToString(token: TokenItem): string;
+export declare function appendToTokenItem(token: TokenItem, suffix: string): TokenItem;
 interface TokenizedTextProps {
     item: TokenItem;
 }
packages/cli-kit/dist/private/node/ui/components/Prompts/InfoMessage.d.ts
@@ -1,6 +1,6 @@
+import { InlineToken, LinkToken, TokenItem, UserInputToken } from '../TokenizedText.js';
 import { TextProps } from 'ink';
 import { FunctionComponent } from 'react';
-import type { InlineToken, LinkToken, TokenItem, UserInputToken } from '../token-item.js';
 export interface InfoMessageProps {
     message: {
         title: {
packages/cli-kit/dist/private/node/ui/components/Prompts/InfoTable.d.ts
@@ -1,7 +1,7 @@
 import { CustomListItem } from '../List.js';
+import { InlineToken, TokenItem } from '../TokenizedText.js';
 import { TextProps } from 'ink';
 import { FunctionComponent } from 'react';
-import type { InlineToken, TokenItem } from '../token-item.js';
 type Items = (TokenItem<InlineToken> | CustomListItem)[];
 export interface InfoTableSection {
     color?: TextProps['color'];
packages/cli-kit/dist/private/node/ui/components/Prompts/PromptLayout.d.ts
@@ -1,9 +1,9 @@
 import { InfoTableProps } from './InfoTable.js';
 import { InfoMessageProps } from './InfoMessage.js';
+import { InlineToken, LinkToken, TokenItem } from '../TokenizedText.js';
 import { AbortSignal } from '../../../../../public/node/abort.js';
 import { PromptState } from '../../hooks/use-prompt.js';
 import { ReactElement } from 'react';
-import type { InlineToken, LinkToken, TokenItem } from '../token-item.js';
 export type Message = TokenItem<Exclude<InlineToken, LinkToken>>;
 interface PromptLayoutProps {
     message: Message;

@craigmichaelmartin
craigmichaelmartin merged commit a47a096 into stable/4.6 Aug 7, 2026
26 checks passed
@craigmichaelmartin
craigmichaelmartin deleted the changeset-release/stable/4.6 branch August 7, 2026 15:12
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.

1 participant