Repository navigation
New loading indicator - #8136
gonzaloriestra wants to merge 2 commits into
Conversation
66ed190 to
b5093f8
Compare
b5093f8 to
ec6b98a
Compare
ec6b98a to
510a617
Compare
510a617 to
09484b1
Compare
09484b1 to
2214bbf
Compare
2214bbf to
0b4d336
Compare
0b4d336 to
79ba982
Compare
79ba982 to
3aafb74
Compare
3d7da2b to
fee6455
Compare
fee6455 to
c5ae4c3
Compare
8db153f to
221b5a1
Compare
7dec6dd to
d9cbb2c
Compare
d9cbb2c to
0fac677
Compare
0fac677 to
27a3244
Compare
27a3244 to
9310761
Compare
9310761 to
3b4db70
Compare
f5c9815 to
6aca6e8
Compare
|
/snapit |
|
🫰✨ Thanks @dmerand! 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-20260828140545Caution After installing, validate the version by running |
|
This PR seems inactive. If it's still relevant, please add a comment saying so. Otherwise, take no action. |
e95d65f to
23e3af3
Compare
23e3af3 to
756da9e
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 declarationspackages/cli-kit/dist/private/node/ui/components/LoadingIndicator.d.tsimport React from 'react';
interface LoadingIndicatorProps {
title: string;
noColor?: boolean;
}
declare const LoadingIndicator: ({ title, noColor }: LoadingIndicatorProps) => React.JSX.Element;
export { LoadingIndicator };
Existing type declarationspackages/cli-kit/dist/public/node/ui.d.ts@@ -325,9 +325,9 @@ export interface RenderSingleTaskOptions<T> {
renderOptions?: RenderOptions;
}
/**
- * Awaits a single task and displays a loading bar while it's in progress. The task's result is returned.
+ * Awaits a single task and displays a loading indicator while it's in progress. The task's result is returned.
* @param options - Configuration object
- * @param options.title - The initial title to display with the loading bar
+ * @param options.title - The initial title to display with the loading indicator
* @param options.task - The async task to execute. Receives an updateStatus callback to change the displayed title.
* @param options.retry - The number of additional attempts after a failure. Defaults to zero.
* @param options.renderOptions - Optional render configuration
packages/cli-kit/dist/public/node/ui/components.d.ts@@ -1,4 +1,5 @@
export { ConcurrentOutput, ConcurrentOutputContext, useConcurrentOutputContext, } from '../../../private/node/ui/components/ConcurrentOutput.js';
export { Alert } from '../../../private/node/ui/components/Alert.js';
export { Link } from '../../../private/node/ui/components/Link.js';
+export { LoadingIndicator } from '../../../private/node/ui/components/LoadingIndicator.js';
export { TabularData } from '../../../private/node/ui/components/TabularData.js';
\ No newline at end of file
|
WHY are these changes introduced?
HackDays project: https://vault.shopify.io/hackdays/154/projects/24279-Shopify-CLI-UX-improvements
The CLI uses multiple spinner implementations with inconsistent visuals and behavior.
WHAT is this pull request doing?
Replaces task and app dev spinners with a shared Shopify-branded loading indicator.
demo.mp4
How to test your changes?
pnpm i -g @shopify/cli@0.0.0-snapshot-20260811121607shopify app initshopify app devChecklist
patchfor bug fixes ·minorfor new features ·majorfor breaking changes) and added a changeset withpnpm changeset add