-
Notifications
You must be signed in to change notification settings - Fork 121
Using unreleased versions of tools early
Dev versions of Tact are published with the next
tag on npm.
If you are using Yarn, the following instructions won't work because Yarn ignores NPM's overrides
field in package.json
.
Here is a shell script demonstrating how one can override the Tact version Blueprint uses:
npm create ton -y -- TestTactFromNext --type tact-empty --contractName Test
cd TestTactFromNext
rm -rf node_modules package-lock.json
cat <<< $(jq '. += { "overrides": { "@ton/blueprint": { "@tact-lang/compiler": "next" } } }' package.json) > package.json
npm install
echo 'import "@stdlib/deploy"; contract Test with Deployable { get fun foo(): Address { return newAddress(0,0) } }' > contracts/test.tact
npx blueprint build && npx blueprint test
npx tact --version # should output something like 1.4.0-dev.20240710
To make sure everything work, make sure you don't have a local version of Tact linked or globally installed:
cd /local/path/to/tact/repo
yarn unlink # or something like that for NPM
npm uninstall -g @tact-lang/compiler
Extensions are installed in a per user extensions folder. Depending on your platform, the location is in the following folder:
- Windows:
%USERPROFILE%\.vscode\extensions
- macOS:
~/.vscode/extensions
- Linux:
~/.vscode/extensions
Simplest way to reach that folder without going to terminal is via Command Palette in VSCode (Ctrl/Cmd + Shift + P), then typing Open Extensions Folder.
From there, one can manipulate the installed extensions and even replace some files on the fly.
For example, to get the latest VS Code highlighting in the KonVik's VS Code extension for Tact:
- Find it in the extensions folder. On Linux and macOS:
~/.vscode/extensions/konvik.tact-lang-vscode-1.3.0/
(version numbers change between releases) - Open that folder in the terminal or in a file explorer
- Replace the
syntaxes/tact.json
file with the latest one from the tact-vscode repo. Alternatively, thepackage/Tact.tmLanguage.json
file from tact-sublime can be taken, but make sure to rename it totact.json
when replacing.
To get continuous updates of the said syntax, one may symlink one of those files mentioned above from tact-vscode or tact-sublime repos cloned locally to your extension folder. On Linux and macOS, it would look like this (assuming you've deleted the tact.json
file from the local extension folder):
# Note, that -1.3.0 version suffix may be different in your case, releases happen :)
ln -s \
/place/of/local/tact-vscode/syntaxes/tact.json \ # source file to link to
~/.vscode/extensions/konvik.tact-lang-vscode-1.3.0/syntaxes/tact.json # link you're making