{"id":25589,"library":"firescript-transpiler","title":"Firescript Transpiler","description":"Transpiler module for Firescript, version 0.10.0. Provides two transpiler classes: JavascriptTranspiler to convert Firescript AST to JavaScript source code, and FirescriptTranspiler to output Firescript source. Low-level tool intended for building compilers or tooling around Firescript. Release cadence is unknown.","status":"active","version":"0.10.0","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","firescript","transpile","transpiler"],"install":[{"cmd":"npm install firescript-transpiler","lang":"bash","label":"npm"},{"cmd":"yarn add firescript-transpiler","lang":"bash","label":"yarn"},{"cmd":"pnpm add firescript-transpiler","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Default export; no named exports.","symbol":"JavascriptTranspiler","correct":"import JavascriptTranspiler from 'firescript-transpiler'"},{"note":"Same default export module, but a different class. Both are exported as the default, so importing them separately does not work; you need to destructure or import the default once. Actually, the README example shows two separate default imports which is invalid. The correct way is to import the default once and then access both classes: import TranspilerModule from 'firescript-transpiler'; const { JavascriptTranspiler, FirescriptTranspiler } = TranspilerModule;","symbol":"FirescriptTranspiler","correct":"import FirescriptTranspiler from 'firescript-transpiler'"},{"note":"CommonJS users must destructure because the module exports an object with both classes.","wrong":"const JavascriptTranspiler = require('firescript-transpiler')","symbol":"require (CommonJS)","correct":"const { JavascriptTranspiler, FirescriptTranspiler } = require('firescript-transpiler')"}],"quickstart":{"code":"import { JavascriptTranspiler, FirescriptTranspiler } from 'firescript-transpiler';\nimport { parse } from 'firescript-parser'; // hypothetical parser\n\nconst source = 'let x = 5';\nconst ast = parse(source);\n\nconst jsTranspiler = new JavascriptTranspiler();\nconst jsCode = jsTranspiler.transpile(ast);\nconsole.log(jsCode);\n\nconst fsTranspiler = new FirescriptTranspiler();\nconst fsCode = fsTranspiler.transpile(ast);\nconsole.log(fsCode);","lang":"javascript","description":"Shows how to import and use both transpiler classes to convert a Firescript AST to JavaScript and Firescript source."},"warnings":[{"fix":"Use a single default import and destructure: import TranspilerModule from 'firescript-transpiler'; const { JavascriptTranspiler, FirescriptTranspiler } = TranspilerModule;","message":"Both classes are exported as default exports from the same module, so you cannot import them separately via two default imports.","severity":"gotcha","affected_versions":">=0.10.0"},{"fix":"First parse the source with a Firescript parser (e.g., firescript-parser) to get an AST, then pass it to transpile().","message":"The transpiler expects an AST object, not source code string. Passing a string will throw an error.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"const transpiler = new JavascriptTranspiler(); then transpiler.transpile(ast);","cause":"The transpiler instance was not created correctly; likely using default import without instantiation.","error":"TypeError: transpiler.transpile is not a function"},{"fix":"Use CommonJS require: const { JavascriptTranspiler } = require('firescript-transpiler');","cause":"Using ES module import syntax in a CommonJS environment without transpilation.","error":"SyntaxError: Unexpected token 'export'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}