npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@trackunit/iris-app-sdk-vite

v0.4.5

Published

Custom NX executors for building and serving Iris Apps using Vite.

Downloads

11,966

Readme

@trackunit/iris-app-sdk-vite

Custom NX executors for building and serving Iris Apps using Vite.

Trackunit Iris App SDK are used by developers to integrate custom functionality into the Trackunit Manager platform.

For more info and a full guide on Iris App SDK Development, please visit our Developer Hub.

Installation

This package is included as part of the Iris App SDK. Run through the getting started guide here: Getting Started

Usage

Serve Executor

Start the Vite dev server for your Iris App:

nx run your-app:serve

Add to your project.json:

{
  "targets": {
    "serve": {
      "executor": "@trackunit/iris-app-sdk-vite:serve",
      "options": {}
    }
  }
}

Build Executor

Build your Iris App for production:

nx run your-app:build

Add to your project.json:

{
  "targets": {
    "build": {
      "executor": "@trackunit/iris-app-sdk-vite:build",
      "options": {
        "outputPath": "dist/apps/your-app"
      },
      "outputs": ["{options.outputPath}"]
    }
  }
}

Configuration Options

Serve Options

| Option | Type | Required | Description | | ------------ | ------ | -------- | ------------------------------------------------------- | | port | number | No | Dev server port (default: auto-select from 22220-22229) | | host | string | No | Dev server host (default: "localhost") | | viteConfig | string | No | Path to optional custom vite config file for overrides |

Build Options

| Option | Type | Required | Description | | ------------ | ------ | -------- | ------------------------------------------------------ | | outputPath | string | Yes | Output directory for the build | | viteConfig | string | No | Path to optional custom vite config file for overrides |

Custom Vite Configuration

By default, no vite.config.ts file is required - the executor automatically handles everything based on your iris-app-manifest.ts.

If you need to customize the Vite config, create a vite.config.ts file in your app directory:

import type { UserConfig } from "vite";

export default async (defaultConfig: UserConfig): Promise<UserConfig> => {
  return {
    ...defaultConfig,
    // Your customizations here
    // Example: Add custom plugins
    plugins: [...(defaultConfig.plugins ?? []), myCustomPlugin()],
  };
};

Then reference it in your project.json:

{
  "targets": {
    "build": {
      "executor": "@trackunit/iris-app-sdk-vite:build",
      "options": {
        "outputPath": "dist/apps/your-app",
        "viteConfig": "apps/your-app/vite.config.ts"
      }
    },
    "serve": {
      "executor": "@trackunit/iris-app-sdk-vite:serve",
      "options": {
        "viteConfig": "apps/your-app/vite.config.ts"
      }
    }
  }
}

Note: Your custom config function receives the default config with all Iris App plugins already applied. You should spread the default config to preserve the required functionality.

Migration from @nx/vite

If you were using @nx/vite executors directly, update your project.json to use these executors instead:

Before:

{
  "targets": {
    "build": {
      "executor": "@nx/vite:build",
      "options": {
        "outputPath": "dist/apps/your-app"
      }
    },
    "serve": {
      "executor": "@nx/vite:dev-server",
      "options": {}
    }
  }
}

After:

{
  "targets": {
    "build": {
      "executor": "@trackunit/iris-app-sdk-vite:build",
      "options": {
        "outputPath": "dist/apps/your-app"
      }
    },
    "serve": {
      "executor": "@trackunit/iris-app-sdk-vite:serve",
      "options": {}
    }
  }
}

Key Differences

These executors solve the tsconfig paths resolution problem that occurs when using Vite directly:

  1. Automatic tsconfig paths registration - Registers tsconfig paths before loading any modules
  2. Automatic manifest loading - Loads your iris-app-manifest.ts automatically
  3. Pre-configured plugins - Applies all required Iris App Vite plugins automatically
  4. No config file required - The executor handles everything based on your manifest

Debugging

Verbose Mode

Run with the --verbose flag to see detailed configuration information:

nx run your-app:serve --verbose
nx run your-app:build --verbose

This will output the Vite plugins configuration being used.

React DevTools

Run a global install of react-devtools.

With volta:

volta install react-devtools

Run react-devtools from the terminal to launch the standalone DevTools app:

react-devtools

React-devtools will automatically connect to whichever Iris App is running in your browser.

Common Issues

"Failed to resolve dependency" warnings

These warnings during development are typically harmless and occur during Vite's dependency pre-bundling. If your app loads correctly, they can be ignored.

Trackunit

This package was developed by Trackunit ApS. Trackunit is the leading SaaS-based IoT solution for the construction industry, offering an ecosystem of hardware, fleet management software & telematics.

The Trackunit logo