@shopify/hydrogen
Version:
<div align="center">
49 lines (46 loc) • 1.73 kB
TypeScript
import * as _remix_run_dev from '@remix-run/dev';
import { Preset } from '@remix-run/dev';
import * as _remix_run_dev_dist_vite_plugin_js from '@remix-run/dev/dist/vite/plugin.js';
import { Plugin, ConfigEnv } from 'vite';
import { HydrogenPluginOptions } from './types.js';
type HydrogenSharedOptions = Partial<Pick<HydrogenPluginOptions, 'disableVirtualRoutes'> & Pick<ConfigEnv, 'command'> & {
remixConfig?: Parameters<NonNullable<Preset['remixConfigResolved']>>[0]['remixConfig'];
}>;
/**
* For internal use only.
* @private
*/
type HydrogenPlugin = Plugin<{
registerPluginOptions(newOptions: HydrogenPluginOptions): void;
getPluginOptions(): HydrogenSharedOptions;
}>;
/**
* Enables Hydrogen utilities for local development
* such as GraphiQL, Subrequest Profiler, etc.
*/
declare function hydrogen(pluginOptions?: HydrogenPluginOptions): Plugin[];
declare namespace hydrogen {
var v3preset: () => {
name: string;
remixConfigResolved({ remixConfig }: {
remixConfig: _remix_run_dev_dist_vite_plugin_js.ResolvedVitePluginConfig;
}): void;
remixConfig(): {
buildDirectory: string;
};
};
var preset: () => {
name: string;
remixConfigResolved({ remixConfig }: {
remixConfig: _remix_run_dev_dist_vite_plugin_js.ResolvedVitePluginConfig;
}): void;
remixConfig(): {
buildDirectory?: undefined;
routes?: undefined;
} | {
buildDirectory: string;
routes(defineRoutes: typeof _remix_run_dev.UNSAFE_defineRoutes): Promise<_remix_run_dev.UNSAFE_RouteManifest>;
};
};
}
export { type HydrogenPlugin, HydrogenPluginOptions, hydrogen };