{"id":25085,"library":"cloudy-node","title":"cloudy-node","description":"cloudy-node is a TypeScript and ESM runtime for Node.js (>= 14.18) that uses esbuild under the hood to transpile TypeScript on the fly. Current stable version is 0.0.81. It is a fork of esno with a key differentiator: the esbuild target is set to es2022 instead of es2019, avoiding problematic helper generation that breaks Pulumi function serialization and enabling top-level await support (e.g., for AWS Lambda Node.js 14). It provides a CLI command and a Node --loader hook for seamless execution of .ts files. Compared to ts-node or tsx, it is more lightweight and focuses on esbuild speed, but may have fewer features and less community support.","status":"active","version":"0.0.81","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","typescript"],"install":[{"cmd":"npm install cloudy-node","lang":"bash","label":"npm"},{"cmd":"yarn add cloudy-node","lang":"bash","label":"yarn"},{"cmd":"pnpm add cloudy-node","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"core transpiler used at runtime for TypeScript and ESM transformation","package":"esbuild","optional":false}],"imports":[{"note":"cloudy-node is a loader/CLI, not a library; it is not meant to be imported in code. It is used via the Node --loader option or directly as a binary.","wrong":"const cloudyNode = require('cloudy-node');","symbol":"cloudy-node","correct":"import 'cloudy-node' (or just run `yarn cloudy-node index.ts`)"},{"note":"The package provides a binary `cloudy-node`, not a file to run with node executable.","wrong":"node cloudy-node index.ts","symbol":"CLI usage","correct":"npx cloudy-node index.ts"},{"note":"Must use `--loader` (Node >= 14.8) not `-r` (require hook) for ESM loader support.","wrong":"node -r cloudy-node index.ts","symbol":"Loader usage","correct":"node --loader cloudy-node index.ts"}],"quickstart":{"code":"echo 'console.log(\"Hello from cloudy-node!\");' > hello.ts\nnpx cloudy-node hello.ts","lang":"typescript","description":"Shows running a simple TypeScript file using the cloudy-node CLI."},"warnings":[{"fix":"Ensure your entry file has a .ts extension for intended behavior.","message":"cloudy-node expects a TypeScript file as the entry point; passing a JavaScript file may still work but is redundant.","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Suppress warnings with `--no-warnings` flag if desired.","message":"The --loader flag uses a custom loader; Node.js experimental warnings may appear in some versions.","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Use a different tool if you need newer target, or adjust tsconfig.json if applicable.","message":"cloudy-node targets es2022; code using features from later ES versions may not transpile correctly.","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Check cloudy-node documentation for supported options.","message":"The package is a fork of esno; some esno flags or behavior may differ.","severity":"gotcha","affected_versions":">=0.0.1"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use `node --loader cloudy-node index.ts` or the `cloudy-node` binary.","cause":"Running TypeScript file directly with `node` without the loader.","error":"TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension \".ts\" for /path/to/file.ts"},{"fix":"Run `npm install cloudy-node` or `yarn add cloudy-node`.","cause":"Package not installed or not in node_modules.","error":"Error: Cannot find module 'cloudy-node'"},{"fix":"Use `--loader cloudy-node` or set type: module, or use the cloudy-node CLI which handles it automatically.","cause":"Node expects ESM but package.json does not have `\"type\": \"module\"` and file is .ts without loader.","error":"Warning: To load an ES module, set \"type\": \"module\" in the package.json or use the .mjs extension"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}