Skip to content

Scripting ​

openpencil eval esegue JavaScript su un documento e fornisce un oggetto globale figma. È utile per modifiche in serie, ispezione, dati di test e automazione senza aprire l’interfaccia dell’editor.

Uso di base ​

sh
openpencil eval design.fig -c "return figma.currentPage.children.length"

-c accetta JavaScript. Se il codice non inizia con return, 4B Pen lo esegue in una funzione asincrona e restituisce l’eventuale risultato.

Interrogare oggetti ​

sh
openpencil eval design.fig -c "return figma.currentPage.findAll((n) => n.type === 'FRAME')"

Modificare e salvare ​

--write o -w sovrascrive il file di input. --output o -o crea un altro file.

Script da stdin ​

sh
cat transform.js | openpencil eval design.fig --stdin --write

Documento aperto ​

Ometti il percorso per eseguire lo script sul documento attivo nell’app desktop.

Output ​

In un ambiente non interattivo, eval usa JSON per impostazione predefinita. --json lo forza e --quiet o -q nasconde l’output quando viene scritto solo un file.

API compatibile ​

L’API segue il modello di Figma Plugin API, ma opera su SceneGraph e sui formati 4B Pen. Copre documento, pagine, creazione di oggetti, operazioni sull’albero, componenti, variabili e proprietà comuni.

Gli identificatori esatti come figma.currentPage, createFrame, appendChild, fills, fontSize, layoutMode e strokeWeight restano invariati.

Limiti ​

Non esistono ancora equivalenti completi per node.exportAsync(), node.setBoundVariable(), figma.combineAsVariants(), gli stili e tutte le operazioni booleane vettoriali.

Released under the MIT License.