{"id":49399,"library":"solana-survivor","title":"solana-survivor","description":"Automated migration engine from @solana/web3.js to @solana/kit. Version 0.1.8, built with TypeScript, requires Node >= 20. Combines deterministic AST codemods with an AI agent (Claude) to automate up to 90% of Solana SDK migration work. Unlike manual migration guides or simple find-and-replace scripts, it handles complex patterns like Keypair generation, transaction building, and LAMPORTS_PER_SOL arithmetic, inserting todo markers for unsupported patterns. Reports are JSON-saved for reproducibility.","status":"active","version":"0.1.8","language":"javascript","source_language":"en","source_url":"https://github.com/uhiene/solana-survivor","tags":["javascript","solana","web3.js","solana-kit","migration","codemod","ai","typescript","blockchain"],"install":[{"cmd":"npm install solana-survivor","lang":"bash","label":"npm"},{"cmd":"yarn add solana-survivor","lang":"bash","label":"yarn"},{"cmd":"pnpm add solana-survivor","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Used for AST parsing and type checking during migration verification","package":"typescript","optional":false}],"imports":[{"note":"Package is used as a CLI tool via npx; no programmatic API exposed yet.","wrong":"\"npx @solana/survivor\" or \"npx solana-kit-migration\"","symbol":"default (the CLI tool)","correct":"npx solana-survivor migrate"},{"note":"Path defaults to current directory if not provided.","wrong":"npx solana-survivor scan .","symbol":"npx solana-survivor scan","correct":"npx solana-survivor scan"},{"note":"Report output is always formatted; use --json flag not supported yet.","wrong":"npx solana-survivor report --json","symbol":"npx solana-survivor report","correct":"npx solana-survivor report"}],"quickstart":{"code":"npx solana-survivor migrate ./my-solana-project --dry-run\nnpx solana-survivor migrate ./my-solana-project\nnpx solana-survivor report ./my-solana-project","lang":"javascript","description":"Run the migration pipeline in dry-run mode first, then apply changes, and view the migration report."},"warnings":[{"fix":"Upgrade Node.js to version 20 or higher using nvm or your package manager.","message":"Requires Node.js >= 20.0.0, engines.node specified as >=20.","severity":"breaking","affected_versions":">=0.1.0"},{"fix":"Use `npx solana-survivor migrate --dry-run` before committing changes.","message":"This tool transforms your codebase irreversibly; always run with --dry-run first.","severity":"breaking","affected_versions":">=0.1.0"},{"fix":"Install `@solana/kit` manually after migration: npm install @solana/kit","message":"The `@solana/kit` package is required after migration; not installed automatically.","severity":"deprecated","affected_versions":">=0.1.0"},{"fix":"Always inspect the generated report and agent-diffs/ directory for required manual steps.","message":"Codemod coverage is ~78%; AI agent coverage ~12%; ~10% requires manual review.","severity":"gotcha","affected_versions":">=0.1.0 <0.2.0"},{"fix":"Manually migrate subscription patterns to async iterators as described in @solana/kit docs.","message":"WebSocket subscriptions are not automated; they are flagged with todo markers.","severity":"gotcha","affected_versions":">=0.1.0"}],"env_vars":null,"search_vec":"'0.1.8':12 '20':18 '90':32 'agent':26 'ai':25,84 'arithmet':62 'ast':21 'autom':4,29 'blockchain':86 'build':57 'built':13 'claud':27 'codemod':22,83 'combin':19 'complex':51 'determinist':20 'engin':6 'find':45 'find-and-replac':44 'generat':55 'guid':41 'handl':50 'insert':63 'javascript':76 'json':72 'json-sav':71 'keypair':54 'kit':81 'lamport':59 'like':53 'manual':39 'marker':65 'migrat':5,36,40,82 'node':17 'pattern':52,68 'per':60 'replac':47 'report':69 'reproduc':75 'requir':16 'save':73 'script':48 'sdk':35 'simpl':43 'sol':61 'solana':2,34,77,80 'solana-kit':79 'solana-survivor':1 'solana/kit':10 'solana/web3.js':8 'survivor':3 'todo':64 'transact':56 'typescript':15,85 'unlik':38 'unsupport':67 'version':11 'web3.js':78 'work':37","created_at":"2026-06-07T17:01:35.340419+00:00","updated_at":"2026-06-07T17:01:35.340419+00:00","problems":[{"fix":"Run: npm install @solana/kit","cause":"The migration engine does not install @solana/kit automatically.","error":"Error: Cannot find module '@solana/kit'"},{"fix":"Use CLI via npx instead of programmatic import; package is not designed for programmatic use.","cause":"Attempting to import solana Survivor programmatically from JavaScript without the proper default export.","error":"TypeError: (0, solanaSurvivor_migrate) is not a function"},{"fix":"Review the migration report for flagged files and manually fix type errors. Run `npx solana-survivor verify` to rerun checks.","cause":"TypeScript compilation failed after migration because some transforms are incomplete.","error":"solana-survivor: Command failed with exit code 1: tsc --noEmit"}],"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/uhiene/solana-survivor#readme","github":"https://github.com/uhiene/solana-survivor","docs":null,"changelog":null,"pypi":null,"npm":"solana-survivor","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}}