npm package '@taqueria/plugin-ligo'

Popularity: Medium (more popular than 90% of all packages)
Description: A taqueria plugin for compiling LIGO smart contracts
Installation: npm install @taqueria/plugin-ligo
Last version: 0.12.0 (Download)
Size: 63.17 kB
License: Apache-2.0
Keywords: taqueria, tezos, build, ecad, ecadlabs, plugin, ligo, ligolang, smart contract, compile


Last modified: August 3, 2022 10:34 PM (8 days ago)
Versions released in one year: 1773
Weekly downloads: 4,658
01/02/202203/20/202206/26/202202,0004,0006,0008,00004080120160released versions / week
  • Versions released
  • Weekly downloads

What's new in version 0.12.0

Delta between version 0.11.1-rc2 and version 0.12.0

Source: Github
  • d6fed30b092202b7e3b1e8209219cbcdedfd6239, August 3, 2022 9:06 PM:
    Updates to workflows for build versions (#1073)
    * pin deno version and remove deno.lock
    * bump node versions
    * update package lock
    * update rambda package url
    * update rambda package url
    * update rambda package url
    * update rambda package url
    * update package-logk
  • f2c16cfe369b1b5724662703236dabe0f011a15b, August 3, 2022 10:13 PM:
    implement a welcome UX (#1070)
    * implement a welcome UX
    * Refactor, don't store current folder, properly load folder after init and scaffold
    * Apply language change suggestions from Jev
    Co-authored-by: houston <>
  • 13760fe895b3c94b3a0a2e0bf25f1fb534751443, August 3, 2022 10:14 PM:
    Taqueria v0.12.0 release (#1076)
    * implement a welcome UX
    * Refactor, don't store current folder, properly load folder after init and scaffold
    * Apply language change suggestions from Jev
    * Update versions and dependencies for v0.12.0 release
    * Update package-lock.json
    Co-authored-by: Alireza Haghshenas <>
Files changed:
  • .github/workflows/main.yml (modified)
  • .github/workflows/vscode-extension.yml (modified)
  • deno-lock.json (removed)
  • import_map.json (modified)
  • package-lock.json (modified)
  • package.json (modified)
  • taqueria-flextesa-manager/package.json (modified)
  • taqueria-plugin-archetype/package.json (modified)
  • taqueria-plugin-contract-types/package.json (modified)
  • taqueria-plugin-flextesa/package.json (modified)
  • taqueria-plugin-ipfs-pinata/package.json (modified)
  • taqueria-plugin-jest/package.json (modified)
  • taqueria-plugin-ligo/package.json (modified)
  • taqueria-plugin-mock/package.json (modified)
  • taqueria-plugin-smartpy/package.json (modified)
  • taqueria-plugin-taquito/package.json (modified)
  • taqueria-plugin-tezos-client/package.json (modified)
  • taqueria-protocol/package.json (modified)
  • taqueria-sdk/package.json (modified)
  • taqueria-state/package.json (modified)
  • taqueria-vscode-extension/package.json (modified)
  • taqueria-vscode-extension/src/extension.ts (modified)
  • taqueria-vscode-extension/src/lib/gui/ContractsDataProvider.ts (modified)
  • taqueria-vscode-extension/src/lib/gui/EnvironmentsDataProvider.ts (modified)
  • taqueria-vscode-extension/src/lib/gui/PluginsDataProvider.ts (modified)
  • taqueria-vscode-extension/src/lib/gui/SandboxesDataProvider.ts (modified)
  • taqueria-vscode-extension/src/lib/gui/ScaffoldsDataProvider.ts (added)
  • taqueria-vscode-extension/src/lib/gui/TaqueriaDataProviderBase.ts (modified)
  • taqueria-vscode-extension/src/lib/gui/TestDataProvider.ts (modified)
  • taqueria-vscode-extension/src/lib/helpers.ts (modified)
  • taqueria-vscode-extension/src/lib/pure.ts (modified)
  • tests/package.json (modified)


Taqueria LIGO Plugin

The LIGO plugin provides a task to compile LIGO smart contracts to Michelson .tz files


  • Taqueria v0.8.0 or later
  • Node.js v16.3 or later
  • Docker v0.8.4 or later


To install the LIGO plugin on a Taqueria project, navigate to the project folder and run:

taq install @taqueria/plugin-ligo


No additional configuration is available


The LIGO plugin exposes a compile task in Taqueria which can target one, or all the LIGO contracts in the contracts folder and compile them to Michelson .tz files output to the artifacts folder

The LIGO plugin also exposes a contract template via the taq create contract <contractName> task. This task will create a new LIGO contract in the contracts directory, insert some boilerplate LIGO contract code and will register the contract with Taqueria


The taq compile Task

The LIGO plugin's taq compile task can be run with or without arguments. The structure for the task is:

taq compile <file-name>

Running the compile task with no options will result in any registered LIGO smart contracts in the contracts folder being compiled to Michelson files in the artifacts folder. If you speficy an optional filename, only LIGO contracts matching the specified filename in the contracts folder will be registered and compiled

:warning: CAUTION

The compile task can be implemented by more than one compiler plugin installed on a project (LIGO, Archetype, SmartPY). If this is the case, you must use the --plugin ligo flag to specify a particular compiler


The LIGO compile task will accept the following optional parameters:

| flag | name | description |
|:-----:|:------------|---------------------------------------| | -e | entry-point | The entry point that will be compiled | | -s | syntax | The syntax used in the contract |
| -i | infer | Enable type inference |

Task Properties

| attribute | value | |------------|:-----------------------------:| | task | 'compile' | | command | 'compile [sourceFile] | | aliases | ['c', 'compile-ligo'] |

The create contract Template

The create contract task is used to create a new LIGO contract from a template. Running this task will create a new LIGO smart contract in the contracts directory, insert boilerplate contract code and will register that contract with Taqueria

taq create contract <contractName>

The create contract task takes a filename a required positional argument. The filename must end with a LIGO extension (.jsligo, .mligo, etc)

Plugin Architecture

This is a plugin developed for Taqueria built on NodeJS using the Taqueria Node SDK

Docker is used under the hood to provide a self contained environment for Archetype to prevent the need for it to be installed on the user's local machine