{"id":26109,"library":"processing-to-p5js","title":"processing-to-p5js","description":"A transpiler that converts Processing (Java) source code to p5.js (JavaScript). Current stable version 0.1.3 transforms syntax like void functions, size(), and Processing APIs into p5.js equivalents. Released as an early-stage tool with TypeScript type declarations. Suitable for migrating Processing sketches to the browser. Does not cover all Processing features; manual adjustments may be needed.","status":"active","version":"0.1.3","language":"javascript","source_language":"en","source_url":"https://github.com/joknoll/processing-to-p5js","tags":["javascript","typescript"],"install":[{"cmd":"npm install processing-to-p5js","lang":"bash","label":"npm"},{"cmd":"yarn add processing-to-p5js","lang":"bash","label":"yarn"},{"cmd":"pnpm add processing-to-p5js","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Package is ESM; Named import from package.","wrong":"const transformCode = require('processing-to-p5js').transformCode","symbol":"transformCode","correct":"import { transformCode } from 'processing-to-p5js'"},{"note":"Default export not available; use named import.","wrong":"import processingToP5js from 'processing-to-p5js'","symbol":"transformProcessing","correct":"import { transformProcessing } from 'processing-to-p5js'"},{"note":"Named export; TypeScript types included.","wrong":null,"symbol":"isStaticModeSketch","correct":"import { isStaticModeSketch } from 'processing-to-p5js'"}],"quickstart":{"code":"import { transformProcessing } from 'processing-to-p5js';\n\nconst processingCode = `\nvoid setup() {\n  size(400, 400);\n  background(220);\n}\n\nvoid draw() {\n  ellipse(mouseX, mouseY, 20, 20);\n}\n`;\n\nconst p5jsCode = transformProcessing(processingCode);\nconsole.log(p5jsCode);","lang":"typescript","description":"Transpile a simple Processing sketch with setup() and draw() to p5.js code."},"warnings":[{"fix":"Review output for untranslated functions and manually implement p5.js equivalents.","message":"transformProcessing replaces Processing built-in functions like size(), background(), ellipse() but does not handle all Processing APIs.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Rewrite complex Java patterns manually.","message":"The package does not transform Java language features beyond basic syntax (e.g., classes, generics, libraries).","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Prefer transformProcessing() for full transformation.","message":"transformCode() function is experimental and may change in future versions.","severity":"deprecated","affected_versions":"0.1.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use named import: import { transformProcessing } from 'processing-to-p5js'","cause":"Incorrect import due to mistaken belief that package has default export.","error":"TypeError: (0 , processing_to_p5js.transformProcessing) is not a function"},{"fix":"Run 'npm install processing-to-p5js' and ensure 'moduleResolution' is 'node16' or 'bundler' in tsconfig.json.","cause":"Missing installation or TypeScript not configured for ESM.","error":"Cannot find module 'processing-to-p5js' or its corresponding type declarations."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}