MCPcopy Index your code
hub / github.com/bengsfort/irsdk-node

github.com/bengsfort/irsdk-node @v4.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.0.0 ↗ · + Follow
231 symbols 367 edges 38 files 39 documented · 17%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

@irsdk-node/workspace

This is the root of the irsdk-node workspace. irsdk-node is a node.js wrapper for the C++ iRacing SDK. It provides native bindings and a simple API to interact with it, allowing you to very easily consume data from the SDK or write apps to set up macros and other commands.

You can find the main module via the irsdk-node package.

Sub-packages

  • irsdk-node: The main irsdk-node package.
  • @irsdk-node/types: Package containing TypeScript implementations of the native types within the iRacing SDK.
  • @irsdk-node/native: Package containing the native node.js addon that implements the bindings and interacts with the SDK. Consumed by irsdk-node.

Updating packages

The packages in this repo are managed via yarn workspaces. We utilize the yarn workspaces and yarn version plugins to make this process much easier.

Use yarn version to version the different packages, preferrably in --deferred mode. You can use the interactive prompt to do this.

When ready to publish, just run yarn publish from the root and the script should take care of everything. Make sure to add a git tag after. Ideally this would be automated via github actions + changesets, but maybe in the future.

Extension points exported contracts — how you extend this code

INativeSDK (Interface)
(no doc) [3 implementers]
packages/irsdk-node-native/src/index.d.ts
WeekendOptions (Interface)
(no doc)
packages/irsdk-node-types/src/weekend-info.ts
TelemetryOptions (Interface)
(no doc)
packages/irsdk-node-types/src/weekend-info.ts
WeekendInfo (Interface)
(no doc)
packages/irsdk-node-types/src/weekend-info.ts
SessionResultsPosition (Interface)
(no doc)
packages/irsdk-node-types/src/session-info.ts
SessionResultsFastestLap (Interface)
(no doc)
packages/irsdk-node-types/src/session-info.ts

Core symbols most depended-on inside this repo

broadcast
called by 20
packages/irsdk-node-native/src/index.d.ts
irsdk_getVarHeaderEntry
called by 14
packages/irsdk-node-native/lib/irsdk_utils.cpp
getSessionData
called by 8
packages/irsdk-node/src/irsdk-node.ts
irsdk_getHeader
called by 6
packages/irsdk-node-native/lib/irsdk_utils.cpp
irsdk_isConnected
called by 5
packages/irsdk-node-native/lib/irsdk_utils.cpp
irsdk_startup
called by 4
packages/irsdk-node-native/lib/irsdk_utils.cpp
irsdk_broadcastMsg
called by 4
packages/irsdk-node-native/lib/irsdk_utils.cpp
irsdk_getNewData
called by 3
packages/irsdk-node-native/lib/irsdk_utils.cpp

Shape

Method 111
Enum 45
Interface 35
Function 27
Class 13

Languages

TypeScript55%
C++45%

Modules by API surface

packages/irsdk-node/src/irsdk-node.ts42 symbols
packages/irsdk-node-native/lib/irsdk_defines.h29 symbols
packages/irsdk-node-native/lib/irsdk_client.cpp22 symbols
packages/irsdk-node-native/src/irsdk_node.cc21 symbols
packages/irsdk-node-types/src/enums.ts20 symbols
packages/irsdk-node-native/lib/irsdk_utils.cpp16 symbols
packages/irsdk-node-types/src/setup-info.ts14 symbols
packages/irsdk-node-native/lib/irsdk_client.h13 symbols
packages/irsdk-node/src/utils/mock-sdk.ts12 symbols
packages/irsdk-node-native/src/index.d.ts11 symbols
packages/irsdk-node-types/src/session-info.ts4 symbols
packages/irsdk-node-types/src/weekend-info.ts3 symbols

For agents

$ claude mcp add irsdk-node \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page