Skip to content

Support assets for admin links app intents#7132

Draft
vividviolet wants to merge 2 commits into03-31-support_intents_for_ui_extensionsfrom
03-31-support_assets_for_admin_links_app_intents
Draft

Support assets for admin links app intents#7132
vividviolet wants to merge 2 commits into03-31-support_intents_for_ui_extensionsfrom
03-31-support_assets_for_admin_links_app_intents

Conversation

@vividviolet
Copy link
Copy Markdown
Member

@vividviolet vividviolet commented Mar 31, 2026

WHY are these changes introduced?

Enables assets uploading for admin_link to support intents

Related to https://github.com/shop/issues-admin-extensibility/issues/2205

WHAT is this pull request doing?

  • Adds a new admin_link extension specification with localization support
  • Implements asset inclusion for targeting configuration including tools, instructions, and intent schemas
  • Configures copy-based build mode for admin link extensions
  • Adds comprehensive test coverage for the new specification including configuration parsing, deploy config generation, and localization handling

How to test your changes?

  1. Create a new extension with type admin_link
  2. Verify the extension loads correctly with the new specification
  3. Test that localization features work as expected
  4. Confirm that asset inclusion works for targeting configuration fields

Measuring impact

How do we know this change was effective? Please choose one:

  • n/a - this doesn't need measurement, e.g. a linting rule or a bug-fix
  • Existing analytics will cater for this addition
  • PR includes analytics changes to measure impact

Checklist

  • I've considered possible cross-platform impacts (Mac, Linux, Windows)
  • I've considered possible documentation changes

Copy link
Copy Markdown
Member Author

vividviolet commented Mar 31, 2026

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.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@isaacroldan isaacroldan changed the base branch from add_manifest_to_include_files_step to graphite-base/7132 March 31, 2026 14:00
@github-actions
Copy link
Copy Markdown
Contributor

Coverage report

St.
Category Percentage Covered / Total
🟢 Statements 82.43% 15224/18468
🟡 Branches 74.89% 7522/10044
🟢 Functions 81.51% 3821/4688
🟢 Lines 82.84% 14381/17361

Test suite run success

4003 tests passing in 1529 suites.

Report generated by 🧪jest coverage report action from 8285bfa

@vividviolet vividviolet force-pushed the 03-31-support_assets_for_admin_links_app_intents branch from 8285bfa to b6f06e9 Compare March 31, 2026 17:06
@vividviolet vividviolet changed the base branch from graphite-base/7132 to 03-31-support_intents_for_ui_extensions March 31, 2026 17:06
@isaacroldan isaacroldan changed the base branch from 03-31-support_intents_for_ui_extensions to graphite-base/7132 April 1, 2026 08:52
@isaacroldan isaacroldan force-pushed the 03-31-support_assets_for_admin_links_app_intents branch from b6f06e9 to c9ad45a Compare April 1, 2026 08:53
@isaacroldan isaacroldan changed the base branch from graphite-base/7132 to add_manifest_to_include_files_step April 1, 2026 08:53
@isaacroldan isaacroldan force-pushed the add_manifest_to_include_files_step branch from 96d95ba to d8b0d4a Compare April 1, 2026 08:53
@isaacroldan isaacroldan force-pushed the 03-31-support_assets_for_admin_links_app_intents branch from c9ad45a to 5c93642 Compare April 1, 2026 08:53
@isaacroldan isaacroldan changed the base branch from add_manifest_to_include_files_step to graphite-base/7132 April 1, 2026 08:54
@isaacroldan isaacroldan force-pushed the 03-31-support_assets_for_admin_links_app_intents branch from 5c93642 to 43ebe94 Compare April 1, 2026 08:54
@isaacroldan isaacroldan changed the base branch from graphite-base/7132 to 03-31-support_intents_for_ui_extensions April 1, 2026 08:54
@isaacroldan isaacroldan force-pushed the 03-31-support_assets_for_admin_links_app_intents branch from 43ebe94 to f5b0e94 Compare April 1, 2026 09:06
@isaacroldan isaacroldan force-pushed the 03-31-support_intents_for_ui_extensions branch from 6e09feb to 5c1ddf1 Compare April 1, 2026 09:06
@isaacroldan isaacroldan force-pushed the 03-31-support_assets_for_admin_links_app_intents branch from f5b0e94 to 7dc8946 Compare April 1, 2026 09:26
@isaacroldan isaacroldan force-pushed the 03-31-support_intents_for_ui_extensions branch from 5c1ddf1 to 06dee38 Compare April 1, 2026 09:26
@isaacroldan isaacroldan force-pushed the 03-31-support_assets_for_admin_links_app_intents branch from 7dc8946 to ce6f08e Compare April 1, 2026 10:11
@isaacroldan isaacroldan force-pushed the 03-31-support_intents_for_ui_extensions branch from 06dee38 to 40bf3e5 Compare April 1, 2026 10:11
@vividviolet vividviolet force-pushed the 03-31-support_assets_for_admin_links_app_intents branch from ce6f08e to 35abde3 Compare April 1, 2026 20:27
@vividviolet vividviolet force-pushed the 03-31-support_intents_for_ui_extensions branch 2 times, most recently from 8ce58c4 to 8b3cc8d Compare April 7, 2026 23:13
@vividviolet vividviolet force-pushed the 03-31-support_assets_for_admin_links_app_intents branch 2 times, most recently from 0ecbba1 to 0a2c576 Compare April 7, 2026 23:26
@vividviolet vividviolet force-pushed the 03-31-support_intents_for_ui_extensions branch 2 times, most recently from 8cc6cc8 to cc438ef Compare April 8, 2026 02:06
@vividviolet vividviolet force-pushed the 03-31-support_assets_for_admin_links_app_intents branch from 0a2c576 to 1b0bbfa Compare April 8, 2026 02:06
@vividviolet
Copy link
Copy Markdown
Member Author

/snapit

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 8, 2026

🫰✨ Thanks @vividviolet! Your snapshot has been published to npm.

Test the snapshot by installing your package globally:

npm i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20260408155200

Caution

After installing, validate the version by running shopify version in your terminal.
If the versions don't match, you might have multiple global instances installed.
Use which shopify to find out which one you are running and uninstall it.

@vividviolet vividviolet force-pushed the 03-31-support_intents_for_ui_extensions branch from cc438ef to 91e9fca Compare April 10, 2026 04:53
@vividviolet vividviolet force-pushed the 03-31-support_assets_for_admin_links_app_intents branch from 1b0bbfa to 53479bd Compare April 10, 2026 04:53
@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/ui.d.ts
 import { Logger, LogLevel } from '../../public/node/output.js';
-import React from 'react';
 import { Key, RenderOptions } from 'ink';
 import { EventEmitter } from 'events';
-/**
- * Signal that the current Ink tree is done. Must be called within an
- * InkLifecycleRoot — throws if the provider is missing so lifecycle
- * bugs surface immediately instead of silently hanging.
- */
-export declare function useComplete(): (error?: Error) => void;
-/**
- * Root wrapper for Ink trees. Owns the single `exit()` call site — children
- * signal completion via `useComplete()`, which sets state here. The `useEffect`
- * fires post-render, guaranteeing all batched state updates have been flushed
- * before the tree is torn down.
- */
-export declare function InkLifecycleRoot({ children }: {
-    children: React.ReactNode;
-}): React.JSX.Element;
 interface RenderOnceOptions {
     logLevel?: LogLevel;
     logger?: Logger;
     renderOptions?: RenderOptions;
 }
 export declare function renderOnce(element: JSX.Element, { logLevel, renderOptions }: RenderOnceOptions): string | undefined;
-export declare function render(element: JSX.Element, options?: RenderOptions): Promise<void>;
+export declare function render(element: JSX.Element, options?: RenderOptions): Promise<unknown>;
 export declare class Stdout extends EventEmitter {
     columns: number;
     rows: number;
     readonly frames: string[];
     private _lastFrame?;
     constructor(options: {
         columns?: number;
         rows?: number;
     });
     write: (frame: string) => void;
     lastFrame: () => string | undefined;
 }
 export declare function handleCtrlC(input: string, key: Key, exit?: () => void): void;
 export {};
packages/cli-kit/dist/public/node/ui.d.ts
@@ -34,7 +34,7 @@ export interface RenderConcurrentOptions extends PartialBy<ConcurrentOutputProps
  * 00:00:00 │ frontend │ third frontend message
  *
  */
-export declare function renderConcurrent({ renderOptions, ...props }: RenderConcurrentOptions): Promise<void>;
+export declare function renderConcurrent({ renderOptions, ...props }: RenderConcurrentOptions): Promise<unknown>;
 export type AlertCustomSection = CustomSection;
 export type RenderAlertOptions = Omit<AlertOptions, 'type'>;
 /**

@vividviolet
Copy link
Copy Markdown
Member Author

/snapit

@github-actions
Copy link
Copy Markdown
Contributor

🫰✨ Thanks @vividviolet! Your snapshot has been published to npm.

Test the snapshot by installing your package globally:

npm i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20260410054217

Caution

After installing, validate the version by running shopify version in your terminal.
If the versions don't match, you might have multiple global instances installed.
Use which shopify to find out which one you are running and uninstall it.

@vividviolet vividviolet force-pushed the 03-31-support_intents_for_ui_extensions branch from 91e9fca to a6d5ab9 Compare April 10, 2026 05:56
@vividviolet vividviolet force-pushed the 03-31-support_assets_for_admin_links_app_intents branch from 53479bd to 71d70cf Compare April 10, 2026 05:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant