{"id":26549,"library":"typescript-move","title":"TypeScript-Move","description":"A TypeScript to Sui Move transpiler that allows developers to write Sui smart contracts using TypeScript syntax. Current stable version is 1.1.1, with active development and a v2 documentation available. It bridges the gap between web and blockchain development, enabling familiar TypeScript patterns for Move smart contracts on Sui. Key differentiators: no new language to learn, leverages TypeScript tooling, targets the Sui blockchain specifically.","status":"active","version":"1.1.1","language":"javascript","source_language":"en","source_url":"https://github.com/MonoracleApp/typescript-move","tags":["javascript","sui","move","blockchain","transpiler","typescript","smart-contracts","sui-move","web3"],"install":[{"cmd":"npm install typescript-move","lang":"bash","label":"npm"},{"cmd":"yarn add typescript-move","lang":"bash","label":"yarn"},{"cmd":"pnpm add typescript-move","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required as a peer dependency for type checking and transpilation pipeline","package":"typescript","optional":false}],"imports":[{"note":"ESM-only; CommonJS require will fail.","wrong":"const typescriptMove = require('typescript-move')","symbol":"default","correct":"import typescriptMove from 'typescript-move'"},{"note":"Named export, not default.","wrong":"import transpile from 'typescript-move'","symbol":"transpile","correct":"import { transpile } from 'typescript-move'"},{"note":"Use directly; no alias needed.","wrong":"import { compile as tsm } from 'typescript-move'","symbol":"compile","correct":"import { compile } from 'typescript-move'"}],"quickstart":{"code":"import { transpile } from 'typescript-move';\n\nconst tsCode = `\nfunction transfer(to: address, amount: u64) {\n  balance.balanceOf(to)\n}\n`;\n\ntranspile(tsCode).then(result => {\n  console.log(result.moveCode);\n}).catch(err => {\n  console.error(err);\n});","lang":"typescript","description":"Transpile a simple TypeScript function to Sui Move using the transpile function."},"warnings":[{"fix":"Use 'transpile' from version 2.x; check docs for migration.","message":"Version 2.0 rewrites transpile API: 'compile' is replaced with 'transpile' and returns a promise.","severity":"breaking","affected_versions":">=2.0"},{"fix":"Refer to the supported syntax documentation on the project site.","message":"Only supports a subset of TypeScript; features like async/await, classes, and decorators are not supported.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Ensure Node.js version meets requirement.","message":"Requires Node.js >=14; no browser support.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Replace 'output' with 'format' in config object.","message":"The 'output' option in transpile config is deprecated; use 'format' instead.","severity":"deprecated","affected_versions":">=1.1"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run 'npm install typescript-move' and use 'import' syntax.","cause":"Package not installed or ESM context missing.","error":"Cannot find module 'typescript-move'"},{"fix":"Use named import: import { transpile } from 'typescript-move'.","cause":"Using default import instead of named import.","error":"TypeError: transpile is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}