strudel/packages/transpiler
2026-02-13 08:42:20 +01:00
..
test Auto call functions in kabel; clean up end behavior of worklet; move kabel first in chain; write docstring 2026-01-08 12:31:26 -06:00
index.mjs Moved evaluateUserPrebake 2026-02-08 22:47:56 +01:00
package.json Publish 2026-01-17 15:26:28 -08:00
README.md the big rename: @strudel.cycles/* -> @strudel/* 2024-01-18 09:54:37 +01:00
transpiler.mjs fix: remove prebake specific logic in transpiler 2026-02-13 08:42:20 +01:00
vite.config.js remove cjs builds 2024-02-08 12:19:11 +01:00

@strudel/transpiler

This package contains a JS code transpiler with the following features:

  • add locations of mini notation strings (double quoted or backticked) for highlighting
  • converts pseudo note variables to note strings
  • adds return statement to the last expression

Install

npm i @strudel/transpiler

Use

import { transpiler } from '@strudel/core';
import { evaluate } from '@strudel/core';

transpiler('note("c3 [e3,g3]")', { wrapAsync: false, addReturn: false, simpleLocs: true });
/* mini('c3 [e3,g3]').withMiniLocation(7,17) */

evaluate(note('c3 [e3,g3]'), transpiler); // returns pattern of above code