UNPKG

@terasky/backstage-plugin-devpod

Version:

Automatically launch Devpod workspaces for your Backstage services

25 lines (22 loc) 1.08 kB
import { jsx } from 'react/jsx-runtime'; import { createContext, useContext, useMemo } from 'react'; import { useApi, configApiRef } from '@backstage/core-plugin-api'; import { DevpodIDE } from '../../types.esm.js'; const defaultConfig = { defaultIde: DevpodIDE.VSCODE }; const ConfigContext = createContext(defaultConfig); const useDevpodConfig = () => { const configApi = useApi(configApiRef); const contextConfig = useContext(ConfigContext); const defaultIDE = configApi.getOptionalString("devpod.defaultIDE") || DevpodIDE.VSCODE; return { ...contextConfig, defaultIde: defaultIDE }; }; const DevpodProvider = ({ children, config = {} }) => { const configApi = useApi(configApiRef); const defaultIDE = configApi.getOptionalString("devpod.defaultIDE") || defaultConfig.defaultIde; const value = useMemo(() => ({ ...defaultConfig, ...config, defaultIde: defaultIDE }), [config, defaultIDE]); return /* @__PURE__ */ jsx(ConfigContext.Provider, { value, children }); }; export { DevpodProvider, useDevpodConfig }; //# sourceMappingURL=DevpodProvider.esm.js.map