{"id":46909,"library":"altair-graphql-core","title":"Altair GraphQL Core","description":"Core logic library for the Altair GraphQL client ecosystem (version 8.5.7, npm-only, no releases since Oct 2024). Provides shared utilities including request building, response parsing, introspection helpers, and state management primitives used by altair-gql and altair-express-middleware. Unlike larger alternatives like graphql-request or Apollo Client, this is a lightweight, framework-agnostic core intended to be consumed by Altair wrappers. Auto-generated TypeScript definitions included; ESM-only since v8, with Node 12+ requirement.","status":"active","version":"8.5.7","language":"javascript","source_language":"en","source_url":"https://github.com/altair-graphql/altair","tags":["javascript","altair","graphql","typescript"],"install":[{"cmd":"npm install altair-graphql-core","lang":"bash","label":"npm"},{"cmd":"yarn add altair-graphql-core","lang":"bash","label":"yarn"},{"cmd":"pnpm add altair-graphql-core","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Package is ESM-only since v8; CJS require() will throw ERR_REQUIRE_ESM.","wrong":"const createClient = require('altair-graphql-core')","symbol":"createClient","correct":"import { createClient } from 'altair-graphql-core'"},{"note":"Type imports require explicit `import type` in TypeScript with 'verbatimModuleSyntax'.","wrong":"import { AltairGraphQLConfig } from 'altair-graphql-core'","symbol":"AltairGraphQLConfig","correct":"import type { AltairGraphQLConfig } from 'altair-graphql-core'"},{"note":"Default export is available but not documented; prefer named exports.","wrong":"import { default as AltairCore } from 'altair-graphql-core'","symbol":"default","correct":"import AltairCore from 'altair-graphql-core'"}],"quickstart":{"code":"import { createClient } from 'altair-graphql-core';\n\nconst client = createClient({\n  url: process.env.GRAPHQL_URL ?? 'http://localhost:4000/graphql',\n  headers: { Authorization: `Bearer ${process.env.TOKEN ?? ''}` }\n});\n\nasync function run() {\n  const query = `\n    query GetUsers {\n      users {\n        id\n        name\n      }\n    }\n  `;\n  const result = await client.request({ query });\n  console.log(result.data);\n}\n\nrun().catch(console.error);","lang":"typescript","description":"Shows creating a client with URL and optional auth headers, then executing a GraphQL query."},"warnings":[{"fix":"Migrate to ESM (use import syntax) or use dynamic import() inside CJS.","message":"Package is ESM-only from v8 onwards. CommonJS require() will fail with ERR_REQUIRE_ESM.","severity":"breaking","affected_versions":">=8.0.0"},{"fix":"Runtime test your GraphQL operations; don't rely solely on types.","message":"TypeScript types are auto-generated and may have subtle inaccuracies. IntelliSense may not match runtime behavior for complex unions.","severity":"gotcha","affected_versions":"all"},{"fix":"Update to use { query, variables, operationName } object.","message":"The `request` method signature changed in v7 to accept a configuration object instead of positional args. Old code may break silently.","severity":"deprecated","affected_versions":"<8.0.0"},{"fix":"Install cross-fetch and import it at entry point.","message":"Global fetch is assumed. In Node <18, polyfill is required (e.g., 'cross-fetch'). No graceful error if missing.","severity":"gotcha","affected_versions":">=5.0.0"}],"env_vars":null,"search_vec":"'12':85 '2024':22 '8.5.7':14 'agnost':63 'altair':1,9,40,44,70,88 'altair-express-middlewar':43 'altair-gql':39 'altern':49 'apollo':55 'auto':73 'auto-gener':72 'build':28 'client':11,56 'consum':68 'core':3,4,64 'definit':76 'ecosystem':12 'esm':79 'esm-on':78 'express':45 'framework':62 'framework-agnost':61 'generat':74 'gql':41 'graphql':2,10,52,89 'graphql-request':51 'helper':32 'includ':26,77 'intend':65 'introspect':31 'javascript':87 'larger':48 'librari':6 'lightweight':60 'like':50 'logic':5 'manag':35 'middlewar':46 'node':84 'npm':16 'npm-on':15 'oct':21 'pars':30 'primit':36 'provid':23 'releas':19 'request':27,53 'requir':86 'respons':29 'share':24 'sinc':20,81 'state':34 'typescript':75,90 'unlik':47 'use':37 'util':25 'v8':82 'version':13 'wrapper':71","created_at":"2026-06-07T16:48:11.250943+00:00","updated_at":"2026-06-07T16:48:11.250943+00:00","problems":[{"fix":"Change to import syntax: `import ... from 'altair-graphql-core'` or use dynamic import: `const m = await import('altair-graphql-core')`.","cause":"Using CommonJS require() to import an ESM-only package.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module not supported"},{"fix":"Ensure correct import and that client is created with `createClient()` per docs.","cause":"Calling request() on a client created with an outdated signature or incorrect import.","error":"TypeError: client.request is not a function"},{"fix":"Install `cross-fetch` and add `import 'cross-fetch/polyfill'` at your app entry point.","cause":"Node.js version <18 does not have global fetch. The package uses fetch internally but doesn't polyfill.","error":"ReferenceError: fetch is not defined"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/altair-graphql/altair#readme","github":"https://github.com/altair-graphql/altair","docs":null,"changelog":null,"pypi":null,"npm":"altair-graphql-core","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}