{"id":26062,"library":"paperclip-interim","title":"Paperclip Interim Compiler","description":"Interim compiler step for Paperclip, a visual programming language. Current stable version 18.3.8. Acts as an intermediate representation layer between Paperclip engines and output compilers like React. Bundles AST transformations and provides a uniform interface for compiler backends. Differentiates by being part of the Paperclip ecosystem, designed for multi-target code generation with a focus on UI components. Release cadence is tied to Paperclip monorepo releases, roughly monthly.","status":"active","version":"18.3.8","language":"javascript","source_language":"en","source_url":null,"tags":["javascript"],"install":[{"cmd":"npm install paperclip-interim","lang":"bash","label":"npm"},{"cmd":"yarn add paperclip-interim","lang":"bash","label":"yarn"},{"cmd":"pnpm add paperclip-interim","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESM-only since v18. CommonJS require will fail.","wrong":"const { InterimCompiler } = require('paperclip-interim')","symbol":"InterimCompiler","correct":"import { InterimCompiler } from 'paperclip-interim'"},{"note":"Default export also available for convenience, but named export is preferred for tree-shaking.","wrong":"import { default } from 'paperclip-interim'","symbol":"InterimCompiler (default)","correct":"import InterimCompiler from 'paperclip-interim'"},{"note":"InterimNode is a type export, available from named exports for TypeScript usage.","wrong":"import InterimNode from 'paperclip-interim'","symbol":"InterimNode","correct":"import { InterimNode } from 'paperclip-interim'"}],"quickstart":{"code":"import { InterimCompiler } from 'paperclip-interim';\nimport { existingEngine } from './engine'; // hypothetical\n\nconst compiler = new InterimCompiler(existingEngine);\nconsole.log(compiler.toString()); // serialized IR","lang":"typescript","description":"Shows basic usage of InterimCompiler with an existing engine and serialization of the intermediate representation."},"warnings":[{"fix":"Ensure first argument is a compatible Paperclip engine object.","message":"InterimCompiler constructor expects an engine instance; passing a string will throw silently.","severity":"gotcha","affected_versions":">=18.0"},{"fix":"Run engine's compile() before accessing InterimCompiler's output methods.","message":"toString() method may produce undefined if not preprocessed; check engine state.","severity":"gotcha","affected_versions":">=18.0"},{"fix":"Replace serialize() calls with toString().","message":"InterimCompiler.serialize() is deprecated in v18, use toString() instead.","severity":"deprecated","affected_versions":">=18.0"}],"env_vars":null,"search_vec":"'18.3.8':16 'act':17 'ast':32 'backend':41 'bundl':31 'cadenc':64 'code':55 'compil':3,5,28,40 'compon':62 'current':13 'design':50 'differenti':42 'ecosystem':49 'engin':25 'focus':59 'generat':56 'interfac':38 'interim':2,4 'intermedi':20 'javascript':73 'languag':12 'layer':22 'like':29 'monorepo':69 'month':72 'multi':53 'multi-target':52 'output':27 'paperclip':1,8,24,48,68 'part':45 'program':11 'provid':35 'react':30 'releas':63,70 'represent':21 'rough':71 'stabl':14 'step':6 'target':54 'tie':66 'transform':33 'ui':61 'uniform':37 'version':15 'visual':10","created_at":"2026-05-01T13:48:00.395877+00:00","updated_at":"2026-05-01T13:48:00.395877+00:00","problems":[{"fix":"Use import { InterimCompiler } from 'paperclip-interim' or ensure your module system is ESM.","cause":"Using CommonJS require() in ESM-only package.","error":"TypeError: InterimCompiler is not a constructor"},{"fix":"Run npm install paperclip-interim@18.3.8","cause":"Package not installed or missing from dependencies.","error":"Cannot find module 'paperclip-interim'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":"https://paperclip.dev","github":null,"docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/paperclip-interim","openapi_spec":null,"status_page":null,"smithery":null,"categories":["data","serialization"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-05-01","next_check":"2026-07-30","install_tag":null}}