Tunnel Plugins types

Any plugin that provides tunnel functionality should implement defineProviderand startTunnel

interface HookReturnsPerPlugin {
    public_command_metadata: {
        options: {
            [key: string]: never;
        };
        pluginReturns: {
            @shopify/app: Partial<AppSpecificMonorailFields>;
            [pluginName: string]: JsonMap;
        };
    };
    sensitive_command_metadata: {
        options: {
            [key: string]: never;
        };
        pluginReturns: {
            @shopify/app: Partial<PickByPrefix<{
                app_name?: Optional<string>;
                args: string;
                cmd_all_environment_flags?: Optional<string>;
                cmd_dev_tunnel_custom?: Optional<string>;
                env_plugin_installed_all?: Optional<string>;
                error_message?: Optional<string>;
                metadata?: Optional<string>;
                store_fqdn?: Optional<string>;
            }, "app_", never>>;
            [pluginName: string]: JsonMap;
        };
    };
    tunnel_provider: {
        options: {
            [key: string]: never;
        };
        pluginReturns: {
            [pluginName: string]: {
                name: string;
            };
        };
    };
    tunnel_start: {
        options: {
            port: number;
            provider: string;
        };
        pluginReturns: {
            [key: string]: Result<TunnelClient, TunnelError>;
        };
    };
    [hookName: string]: {
        options: {
            [key: string]: unknown;
        };
        pluginReturns: {
            [key: string]: unknown;
        };
    };
}

Hierarchy (view full)

Indexable

[hookName: string]: {
    options: {
        [key: string]: unknown;
    };
    pluginReturns: {
        [key: string]: unknown;
    };
}
  • options: {
        [key: string]: unknown;
    }
    • [key: string]: unknown
  • pluginReturns: {
        [key: string]: unknown;
    }
    • [key: string]: unknown

Properties

public_command_metadata: {
    options: {
        [key: string]: never;
    };
    pluginReturns: {
        @shopify/app: Partial<AppSpecificMonorailFields>;
        [pluginName: string]: JsonMap;
    };
}

Type declaration

  • options: {
        [key: string]: never;
    }
    • [key: string]: never
  • pluginReturns: {
        @shopify/app: Partial<AppSpecificMonorailFields>;
        [pluginName: string]: JsonMap;
    }
    • [pluginName: string]: JsonMap
    • @shopify/app: Partial<AppSpecificMonorailFields>
sensitive_command_metadata: {
    options: {
        [key: string]: never;
    };
    pluginReturns: {
        @shopify/app: Partial<PickByPrefix<{
            app_name?: Optional<string>;
            args: string;
            cmd_all_environment_flags?: Optional<string>;
            cmd_dev_tunnel_custom?: Optional<string>;
            env_plugin_installed_all?: Optional<string>;
            error_message?: Optional<string>;
            metadata?: Optional<string>;
            store_fqdn?: Optional<string>;
        }, "app_", never>>;
        [pluginName: string]: JsonMap;
    };
}

Type declaration

  • options: {
        [key: string]: never;
    }
    • [key: string]: never
  • pluginReturns: {
        @shopify/app: Partial<PickByPrefix<{
            app_name?: Optional<string>;
            args: string;
            cmd_all_environment_flags?: Optional<string>;
            cmd_dev_tunnel_custom?: Optional<string>;
            env_plugin_installed_all?: Optional<string>;
            error_message?: Optional<string>;
            metadata?: Optional<string>;
            store_fqdn?: Optional<string>;
        }, "app_", never>>;
        [pluginName: string]: JsonMap;
    }
    • [pluginName: string]: JsonMap
    • @shopify/app: Partial<PickByPrefix<{
          app_name?: Optional<string>;
          args: string;
          cmd_all_environment_flags?: Optional<string>;
          cmd_dev_tunnel_custom?: Optional<string>;
          env_plugin_installed_all?: Optional<string>;
          error_message?: Optional<string>;
          metadata?: Optional<string>;
          store_fqdn?: Optional<string>;
      }, "app_", never>>
tunnel_provider: {
    options: {
        [key: string]: never;
    };
    pluginReturns: {
        [pluginName: string]: {
            name: string;
        };
    };
}

Type declaration

  • options: {
        [key: string]: never;
    }
    • [key: string]: never
  • pluginReturns: {
        [pluginName: string]: {
            name: string;
        };
    }
    • [pluginName: string]: {
          name: string;
      }
      • name: string
tunnel_start: {
    options: {
        port: number;
        provider: string;
    };
    pluginReturns: {
        [key: string]: Result<TunnelClient, TunnelError>;
    };
}

Type declaration