Skip to content

greggman/tintd-bundler

Repository files navigation

tintd-bundler

This is a script to bundle/package tintd and hopefully publish it

tintd is a language protocol server for WGSL, the WebGPU Shading Language.

Updating

This updates to the latest dawn and depot_tools

npm ci
npm run update

Publishing

To publish

  1. Bump the package version and tag.

    The easiest way is npm version patch

  2. Push the patch

    git push --tag origin main
  3. Wait for github actions to successfully build all the versions

  4. Run npm run publish

    This will download the files from the latest release to the dist folder and then publish them.

    Step 4 assumes you've gone through steps here, setup an Azure account, created an organization, created a personal access token, and logged in from the command line. You can log in with

    npm run login <your-publisher-id>

    Then run npm run publish

Building on all supported platforms

Push a new version. Check the github actions. You should see build artifacts added to the bottom of the latest action run. You can manually install an extension by downloading the .vsix file for your platform and then running

code --install-extensions path-to-file.vsix

Building

This builds for the local OS (win64,macOS-arm,linux)

npm ci
npm run build

Prerequisites

Windows

Before running the build script above you must have Visual Studio C++ installed and have run the vcvars64.bat file. I've tested with Visual Studio Community Edition 2022

Further you must have cmake installed and either in your path or at it's standard place of C:\Program Files\CMake

And you must have node.js installed, at least version 18. I recommend using nvm-windows to install it as it makes it easy to switch version

MacOS

Before running the build script above you must have XCode installed and its command line tools

Further you must have cmake installed and either in your path or at it's standard place of /Applications/CMake.app

And you must have node.js installed, at least version 18. I recommend using nvm to install it as it makes it easy to switch versions.

Linux (Ubuntu)

Before running the build script above you need to install the following dependencies

sudo apt-get install cmake libxi-dev libxrandr-dev libxinerama-dev libxcursor-dev mesa-common-dev libx11-xcb-dev pkg-config

And you must have node.js installed, at least version 18. I recommend using nvm to install it as it makes it easy to switch versions.