{"repo":"speakeasy-api/easytemplate","free":true,"listed":false,"github":"https://github.com/speakeasy-api/easytemplate","clone":"git clone https://github.com/speakeasy-api/easytemplate.git","description":"easytemplate is Go's text/template with 🦸 JS super powers 🦸","language":"Go","stars":51,"topics":["golang","javascript","sdk-generation","sdk-generator","template","ast","code","code-generation","go","template-engine"],"license":"Apache-2.0","category":"dev-tools","readme_excerpt":"easytemplate easytemplate is Go's text/template with 🦸 super powers 🦸. It is a templating engine that allows you to use Go's text/template syntax, but with the ability to use JavaScript snippets to manipulate data, control templating and run more complex logic while templating. easytemplate powers Speakeasy's SDK Generation product, which is used by thousands of developers to generate SDKs for their APIs. The module includes a number of features on top of the standard text/template package, including: [x] Support for JavaScript snippets in templates. [x] ES5 Support provided by goja. [x] Built-in support for underscore.js. [x] Import JavaScripts scripts from other files and inline JavaScript snippets. [x] Modify the templating context from within JavaScript. [x] Controlling the flow of templating within the engine. [x] Inject Go functions into the JavaScript context, in addition to Go functions into the templates. [x] Inject JS functions into the template context. [x] Interactive debugging of JS/TS code in VS Code via the goja DAP debugger. Debugging easytemplate supports interactive debugging of JavaScript and TypeScript code via the goja DAP debugger. This lets you set breakpoints, step through code, and inspect variables in VS Code — both in the initial script execution phase and during template rendering when JS/TS helper functions are invoked. To enable debugging, pass a debug port when creating the engine: When a debug port is set, the engine will: 1. Compile all scri","default_branch":null,"files":null,"tree":[],"storefront":"/r/speakeasy-api","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/speakeasy-api/easytemplate/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}