{"id":48797,"library":"npm-pando-grpc","title":"pando-grpc","description":"npm-pando-grpc is a gRPC-web client library for interacting with the Pando API. Version 1.6.15 is the current stable release. It requires protoc-gen-grpc-web and protoc to be installed locally to generate JavaScript client stubs from .proto files. The package uses CommonJS and targets Node.js environments. Compared to similar gRPC-web libraries, it provides a straightforward way to define service calls and message types via generated code, but the setup process is manual and system-dependent.","status":"active","version":"1.6.15","language":"javascript","source_language":"en","source_url":"https://github.com/maalicando/pando-grpc","tags":["javascript"],"install":[{"cmd":"npm install npm-pando-grpc","lang":"bash","label":"npm"},{"cmd":"yarn add npm-pando-grpc","lang":"bash","label":"yarn"},{"cmd":"pnpm add npm-pando-grpc","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required for protobuf message serialization/deserialization","package":"google-protobuf","optional":false},{"reason":"Provides gRPC-web client functionality","package":"grpc-web","optional":false}],"imports":[{"note":"The package is ESM-only; use import syntax.","wrong":"const { PandoServiceClient } = require('npm-pando-grpc')","symbol":"PandoServiceClient","correct":"import { PandoServiceClient } from 'npm-pando-grpc'"},{"note":"Named import for request message types.","wrong":"","symbol":"GetSomethingRequest","correct":"import { GetSomethingRequest } from 'npm-pando-grpc'"},{"note":"Promise-based client is also available via named import.","wrong":"const PandoServicePromiseClient = require('npm-pando-grpc').PandoServicePromiseClient","symbol":"PandoServicePromiseClient","correct":"import { PandoServicePromiseClient } from 'npm-pando-grpc'"}],"quickstart":{"code":"import { PandoServiceClient, GetSomethingRequest } from 'npm-pando-grpc';\n\nconst client = new PandoServiceClient('http://localhost:8080', null, null);\nconst request = new GetSomethingRequest();\nrequest.setId(123);\nclient.getSomething(request, {}, (err, response) => {\n  if (err) {\n    console.error(err);\n  } else {\n    console.log(response.getData());\n  }\n});","lang":"typescript","description":"Shows how to import the gRPC client, create a request object, and make an RPC call."},"warnings":[{"fix":"Install protoc and protoc-gen-grpc-web versions compatible with your .proto files.","message":"Generated code only works with protoc-gen-grpc-web and protoc installed locally; version mismatches cause silent build failures.","severity":"breaking","affected_versions":">=1.0"},{"fix":"Run 'npm run build' after installation.","message":"The package does not ship pre-generated clients; you must run build script to generate them.","severity":"breaking","affected_versions":">=1.0"},{"fix":"Add protoc and protoc-gen-grpc-web to system PATH permanently.","message":"Environment variables for protoc may not persist after terminal restart, causing build errors.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Switch to PandoServicePromiseClient with async/await.","message":"Callback-based client (PandoServiceClient) is deprecated; use Promise-based client (PandoServicePromiseClient).","severity":"deprecated","affected_versions":">=1.5"},{"fix":"Consider migrating to 'protoc-gen-es' or '@grpc/grpc-js' for newer gRPC-web support.","message":"Package uses 'grpc-web' which is unmaintained; security vulnerabilities may exist.","severity":"gotcha","affected_versions":">=1.0"}],"env_vars":null,"search_vec":"'1.6.15':22 'api':20 'call':72 'client':13,44 'code':78 'commonj':52 'compar':57 'current':25 'defin':70 'depend':88 'environ':56 'file':48 'gen':32 'generat':42,77 'grpc':3,7,11,33,61 'grpc-web':10,60 'instal':39 'interact':16 'javascript':43,89 'librari':14,63 'local':40 'manual':84 'messag':74 'node.js':55 'npm':5 'npm-pando-grpc':4 'packag':50 'pando':2,6,19 'pando-grpc':1 'process':82 'proto':47 'protoc':31,36 'protoc-gen-grpc-web':30 'provid':65 'releas':27 'requir':29 'servic':71 'setup':81 'similar':59 'stabl':26 'straightforward':67 'stub':45 'system':87 'system-depend':86 'target':54 'type':75 'use':51 'version':21 'via':76 'way':68 'web':12,34,62","created_at":"2026-06-07T16:58:30.848335+00:00","updated_at":"2026-06-07T16:58:30.848335+00:00","problems":[{"fix":"Run 'npm install' and 'npm run build' in the project root.","cause":"Package not installed correctly or build step incomplete.","error":"Error: Cannot find module 'npm-pando-grpc'"},{"fix":"npm install google-protobuf","cause":"Missing peer dependency google-protobuf.","error":"Error: Cannot find module 'google-protobuf'"},{"fix":"Download protoc-gen-grpc-web and add its directory to system PATH.","cause":"protoc-gen-grpc-web is not installed or not in PATH.","error":"Error: protoc-gen-grpc-web: program not found or is not executable"}],"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/maalicando/pando-grpc#readme","github":"https://github.com/maalicando/pando-grpc","docs":null,"changelog":null,"pypi":null,"npm":"npm-pando-grpc","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}}