UNPKG

@chakra-ui/cli

Version:

Generate theme typings for autocomplete

30 lines (27 loc) 989 B
"use strict"; import { HttpsProxyAgent } from 'https-proxy-agent'; import fetch from 'node-fetch'; import { processEnvSchema, compositionIndexSchema, compositionFileSchema } from './schema.js'; const env = processEnvSchema.parse(process.env); const agent = env.HTTPS_PROXY ? new HttpsProxyAgent(env.HTTPS_PROXY) : void 0; async function fetchCompositions() { const res = await fetch(`${env.REGISTRY_URL}/compositions/index.json`, { agent }); const json = await res.json(); return compositionIndexSchema.parse(json); } async function fetchComposition(id) { try { const res = await fetch(`${env.REGISTRY_URL}/compositions/${id}.json`, { agent }); const json = await res.json(); return compositionFileSchema.parse(json); } catch (error) { throw new Error( `Failed to fetch snippet "${id}". Make sure the id is correct or run @chakra-ui/cli snippet list to see available snippets.` ); } } export { fetchComposition, fetchCompositions };