@irsdk-node/native 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +46 -0
  2. package/binding.gyp +19 -0
  3. package/build/Debug/irsdk_node.exp +0 -0
  4. package/build/Debug/irsdk_node.lib +0 -0
  5. package/build/Debug/irsdk_node.node +0 -0
  6. package/build/Debug/irsdk_node.pdb +0 -0
  7. package/build/Debug/obj/irsdk_node/irsdk_node.node.recipe +11 -0
  8. package/build/Debug/obj/irsdk_node/irsdk_node.tlog/CL.command.1.tlog +0 -0
  9. package/build/Debug/obj/irsdk_node/irsdk_node.tlog/CL.read.1.tlog +0 -0
  10. package/build/Debug/obj/irsdk_node/irsdk_node.tlog/CL.write.1.tlog +0 -0
  11. package/build/Debug/obj/irsdk_node/irsdk_node.tlog/irsdk_node.lastbuildstate +2 -0
  12. package/build/Debug/obj/irsdk_node/irsdk_node.tlog/irsdk_node.write.1u.tlog +0 -0
  13. package/build/Debug/obj/irsdk_node/irsdk_node.tlog/link.command.1.tlog +0 -0
  14. package/build/Debug/obj/irsdk_node/irsdk_node.tlog/link.read.1.tlog +0 -0
  15. package/build/Debug/obj/irsdk_node/irsdk_node.tlog/link.write.1.tlog +0 -0
  16. package/build/Debug/obj/irsdk_node/lib/irsdk_utils.obj +0 -0
  17. package/build/Debug/obj/irsdk_node/lib/yaml_parser.obj +0 -0
  18. package/build/Debug/obj/irsdk_node/src/irsdk_node.obj +0 -0
  19. package/build/Debug/obj/irsdk_node/win_delay_load_hook.obj +0 -0
  20. package/build/Release/irsdk_node.exp +0 -0
  21. package/build/Release/irsdk_node.iobj +0 -0
  22. package/build/Release/irsdk_node.ipdb +0 -0
  23. package/build/Release/irsdk_node.lib +0 -0
  24. package/build/Release/irsdk_node.node +0 -0
  25. package/build/Release/irsdk_node.pdb +0 -0
  26. package/build/Release/obj/irsdk_node/irsdk_node.node.recipe +11 -0
  27. package/build/Release/obj/irsdk_node/irsdk_node.tlog/CL.command.1.tlog +0 -0
  28. package/build/Release/obj/irsdk_node/irsdk_node.tlog/CL.read.1.tlog +0 -0
  29. package/build/Release/obj/irsdk_node/irsdk_node.tlog/CL.write.1.tlog +0 -0
  30. package/build/Release/obj/irsdk_node/irsdk_node.tlog/irsdk_node.lastbuildstate +2 -0
  31. package/build/Release/obj/irsdk_node/irsdk_node.tlog/irsdk_node.write.1u.tlog +0 -0
  32. package/build/Release/obj/irsdk_node/irsdk_node.tlog/link.command.1.tlog +0 -0
  33. package/build/Release/obj/irsdk_node/irsdk_node.tlog/link.read.1.tlog +0 -0
  34. package/build/Release/obj/irsdk_node/irsdk_node.tlog/link.write.1.tlog +0 -0
  35. package/build/Release/obj/irsdk_node/lib/irsdk_utils.obj +0 -0
  36. package/build/Release/obj/irsdk_node/lib/yaml_parser.obj +0 -0
  37. package/build/Release/obj/irsdk_node/src/irsdk_node.obj +0 -0
  38. package/build/Release/obj/irsdk_node/win_delay_load_hook.obj +0 -0
  39. package/build/binding.sln +19 -0
  40. package/build/config.gypi +88 -0
  41. package/build/irsdk_node.vcxproj +155 -0
  42. package/build/irsdk_node.vcxproj.filters +73 -0
  43. package/dist/index.d.ts +1 -0
  44. package/dist/index.js +8 -0
  45. package/lib/irsdk_client.cpp +495 -0
  46. package/lib/irsdk_client.h +139 -0
  47. package/lib/irsdk_defines.h +528 -0
  48. package/lib/irsdk_utils.cpp +377 -0
  49. package/lib/yaml_parser.cpp +176 -0
  50. package/lib/yaml_parser.h +34 -0
  51. package/package.json +52 -0
  52. package/scripts/generate-var-types.js +71 -0
  53. package/src/index.d.ts +117 -0
  54. package/src/index.js +5 -0
  55. package/src/irsdk_node.cc +375 -0
  56. package/src/irsdk_node.h +50 -0
package/README.md ADDED
@@ -0,0 +1,46 @@
1
+ # @irsdk-node/native
2
+
3
+ This is the native bindings package for irsdk-node. This provides near 1:1 bindings to the C++ iRacing SDK, and is consumed as an optional dependency of [irsdk-node](../irsdk-node), which provides a handy little wrapper around the API to make it nicer to use and avoid boilerplating.
4
+
5
+ While you can use this package directly, it is highly recommended to use the [irsdk-node](../irsdk-node) package instead.
6
+
7
+ ## Why an optional dependency?
8
+
9
+ The [irsdk-node](../irsdk-node) package was split up in to separate packages to solve the issue that this SDK is windows-only, which means that the package wasn't able to be used in any other environment. For most cases this is fine, however it becomes a big issue if you want to do something as simple as use the types in a webview or in an electron renderer process. As an optional dependency, the types and rest of the SDK can be imported as needed wherever.
10
+
11
+ ## Debugging
12
+
13
+ - `yarn build-cpp:debug`: Builds the native module in debug mode.
14
+
15
+ In debug mode, you are going to need to swap to using the `DebugSDK` rather than `NativeSDK`. This uses the debug build rather than the release build, which allows debugging/breakpoints via vscode (you can use the `Debug bridge` run task in vscode to do this). For example:
16
+
17
+ ```diff
18
+ // In `src/irsdk-node.ts`
19
+ + import { DebugSDK } from '@irsdk-node/native';
20
+ - import { NativeSDK } from '@irsdk-node/native';
21
+ ```
22
+
23
+ ## Generating types
24
+
25
+ This package contains a utility script for generating Typescript types based on the actual Telemetry values present during runtime. To do so you can run `yarn generate-types` while you have iRacing running and connected to a server. This will generate a new .ts types file in the [@irsdk-node/types](../irsdk-node-types) package.
26
+
27
+ Please refer to the readme in the types package for more info.
28
+
29
+ ## Commands
30
+
31
+ ```sh
32
+ # Build the module.
33
+ $ yarn build
34
+
35
+ # Build either the release or debug build.
36
+ $ yarn build-cpp:[release|debug]
37
+
38
+ # Run util script for generating typescript types
39
+ $ yarn generate-types
40
+
41
+ # Clean the build directories
42
+ $ yarn clean
43
+
44
+ # Lint package
45
+ $ yarn lint
46
+ ```
package/binding.gyp ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "targets": [
3
+ {
4
+ "target_name": "irsdk_node",
5
+ "sources": [
6
+ "src/irsdk_node.cc",
7
+ "lib/irsdk_utils.cpp",
8
+ "lib/yaml_parser.cpp",
9
+ "lib/irsdk_defines.h"
10
+ ],
11
+ "defines": [
12
+ "NAPI_DISABLE_CPP_EXCEPTIONS",
13
+ ],
14
+ "include_dirs": [
15
+ "<!(node -p \"require('node-addon-api').include_dir\")",
16
+ ]
17
+ }
18
+ ]
19
+ }
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project>
3
+ <ProjectOutputs>
4
+ <ProjectOutput>
5
+ <FullPath>D:\Projects\personal\irsdk-node\packages\irsdk-node-native\build\Debug\irsdk_node.node</FullPath>
6
+ </ProjectOutput>
7
+ </ProjectOutputs>
8
+ <ContentFiles />
9
+ <SatelliteDlls />
10
+ <NonRecipeFileRefs />
11
+ </Project>
@@ -0,0 +1,2 @@
1
+ PlatformToolSet=v142:VCToolArchitecture=Native64Bit:VCToolsVersion=14.29.30133:VCServicingVersionCrtHeaders=14.29.30136:VCServicingVersionCompilers=14.29.30136:TargetPlatformVersion=10.0.19041.0:
2
+ Debug|x64|D:\Projects\personal\irsdk-node\packages\irsdk-node-native\build\|
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project>
3
+ <ProjectOutputs>
4
+ <ProjectOutput>
5
+ <FullPath>D:\Projects\personal\irsdk-node\packages\irsdk-node-native\build\Release\irsdk_node.node</FullPath>
6
+ </ProjectOutput>
7
+ </ProjectOutputs>
8
+ <ContentFiles />
9
+ <SatelliteDlls />
10
+ <NonRecipeFileRefs />
11
+ </Project>
@@ -0,0 +1,2 @@
1
+ PlatformToolSet=v142:VCToolArchitecture=Native64Bit:VCToolsVersion=14.29.30133:VCServicingVersionCrtHeaders=14.29.30136:VCServicingVersionCompilers=14.29.30136:TargetPlatformVersion=10.0.19041.0:
2
+ Release|x64|D:\Projects\personal\irsdk-node\packages\irsdk-node-native\build\|
@@ -0,0 +1,19 @@
1
+ Microsoft Visual Studio Solution File, Format Version 12.00
2
+ # Visual Studio 2015
3
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "irsdk_node", "irsdk_node.vcxproj", "{1B84CF73-BF95-FD32-1555-88D3CCBBB352}"
4
+ EndProject
5
+ Global
6
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
7
+ Debug|x64 = Debug|x64
8
+ Release|x64 = Release|x64
9
+ EndGlobalSection
10
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
11
+ {1B84CF73-BF95-FD32-1555-88D3CCBBB352}.Debug|x64.ActiveCfg = Debug|x64
12
+ {1B84CF73-BF95-FD32-1555-88D3CCBBB352}.Debug|x64.Build.0 = Debug|x64
13
+ {1B84CF73-BF95-FD32-1555-88D3CCBBB352}.Release|x64.ActiveCfg = Release|x64
14
+ {1B84CF73-BF95-FD32-1555-88D3CCBBB352}.Release|x64.Build.0 = Release|x64
15
+ EndGlobalSection
16
+ GlobalSection(SolutionProperties) = preSolution
17
+ HideSolutionNode = FALSE
18
+ EndGlobalSection
19
+ EndGlobal
@@ -0,0 +1,88 @@
1
+ # Do not edit. File was generated by node-gyp's "configure" step
2
+ {
3
+ "target_defaults": {
4
+ "cflags": [],
5
+ "default_configuration": "Release",
6
+ "defines": [],
7
+ "include_dirs": [],
8
+ "libraries": [],
9
+ "msbuild_toolset": "v142",
10
+ "msvs_windows_target_platform_version": "10.0.19041.0"
11
+ },
12
+ "variables": {
13
+ "asan": 0,
14
+ "coverage": "false",
15
+ "dcheck_always_on": 0,
16
+ "debug_nghttp2": "false",
17
+ "debug_node": "false",
18
+ "enable_lto": "false",
19
+ "enable_pgo_generate": "false",
20
+ "enable_pgo_use": "false",
21
+ "error_on_warn": "false",
22
+ "force_dynamic_crt": 0,
23
+ "host_arch": "x64",
24
+ "icu_data_in": "..\\..\\deps\\icu-tmp\\icudt69l.dat",
25
+ "icu_endianness": "l",
26
+ "icu_gyp_path": "tools/icu/icu-generic.gyp",
27
+ "icu_path": "deps/icu-small",
28
+ "icu_small": "false",
29
+ "icu_ver_major": "69",
30
+ "is_debug": 0,
31
+ "llvm_version": "0.0",
32
+ "napi_build_version": "8",
33
+ "nasm_version": "2.14",
34
+ "node_byteorder": "little",
35
+ "node_debug_lib": "false",
36
+ "node_enable_d8": "false",
37
+ "node_install_npm": "true",
38
+ "node_module_version": 93,
39
+ "node_no_browser_globals": "false",
40
+ "node_prefix": "/usr/local",
41
+ "node_release_urlbase": "https://nodejs.org/download/release/",
42
+ "node_shared": "false",
43
+ "node_shared_brotli": "false",
44
+ "node_shared_cares": "false",
45
+ "node_shared_http_parser": "false",
46
+ "node_shared_libuv": "false",
47
+ "node_shared_nghttp2": "false",
48
+ "node_shared_nghttp3": "false",
49
+ "node_shared_ngtcp2": "false",
50
+ "node_shared_openssl": "false",
51
+ "node_shared_zlib": "false",
52
+ "node_tag": "",
53
+ "node_target_type": "executable",
54
+ "node_use_bundled_v8": "true",
55
+ "node_use_dtrace": "false",
56
+ "node_use_etw": "true",
57
+ "node_use_node_code_cache": "true",
58
+ "node_use_node_snapshot": "true",
59
+ "node_use_openssl": "true",
60
+ "node_use_v8_platform": "true",
61
+ "node_with_ltcg": "true",
62
+ "node_without_node_options": "false",
63
+ "openssl_fips": "",
64
+ "openssl_is_fips": "false",
65
+ "openssl_quic": "true",
66
+ "ossfuzz": "false",
67
+ "shlib_suffix": "so.93",
68
+ "target_arch": "x64",
69
+ "v8_enable_31bit_smis_on_64bit_arch": 0,
70
+ "v8_enable_gdbjit": 0,
71
+ "v8_enable_i18n_support": 1,
72
+ "v8_enable_inspector": 1,
73
+ "v8_enable_lite_mode": 0,
74
+ "v8_enable_object_print": 1,
75
+ "v8_enable_pointer_compression": 0,
76
+ "v8_no_strict_aliasing": 1,
77
+ "v8_optimized_debug": 1,
78
+ "v8_promise_internal_field_count": 1,
79
+ "v8_random_seed": 0,
80
+ "v8_trace_maps": 0,
81
+ "v8_use_siphash": 1,
82
+ "want_separate_host_toolset": 0,
83
+ "nodedir": "C:\\Users\\bengs\\AppData\\Local\\node-gyp\\Cache\\16.3.0",
84
+ "standalone_static_library": 1,
85
+ "msbuild_path": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\MSBuild\\Current\\Bin\\MSBuild.exe",
86
+ "user_agent": "yarn/3.1.0 npm/? node/16.3.0 win32 x64"
87
+ }
88
+ }
@@ -0,0 +1,155 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <ItemGroup Label="ProjectConfigurations">
4
+ <ProjectConfiguration Include="Debug|x64">
5
+ <Configuration>Debug</Configuration>
6
+ <Platform>x64</Platform>
7
+ </ProjectConfiguration>
8
+ <ProjectConfiguration Include="Release|x64">
9
+ <Configuration>Release</Configuration>
10
+ <Platform>x64</Platform>
11
+ </ProjectConfiguration>
12
+ </ItemGroup>
13
+ <PropertyGroup Label="Globals">
14
+ <ProjectGuid>{1B84CF73-BF95-FD32-1555-88D3CCBBB352}</ProjectGuid>
15
+ <Keyword>Win32Proj</Keyword>
16
+ <RootNamespace>irsdk_node</RootNamespace>
17
+ <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename>
18
+ <PreferredToolArchitecture>x64</PreferredToolArchitecture>
19
+ <WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
20
+ </PropertyGroup>
21
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
22
+ <PropertyGroup Label="Configuration">
23
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
24
+ </PropertyGroup>
25
+ <PropertyGroup Label="Locals">
26
+ <PlatformToolset>v142</PlatformToolset>
27
+ </PropertyGroup>
28
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
29
+ <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.props"/>
30
+ <ImportGroup Label="ExtensionSettings"/>
31
+ <ImportGroup Label="PropertySheets">
32
+ <Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
33
+ </ImportGroup>
34
+ <PropertyGroup Label="UserMacros"/>
35
+ <PropertyGroup>
36
+ <ExecutablePath>$(ExecutablePath);$(MSBuildProjectDirectory)\..\bin\;$(MSBuildProjectDirectory)\..\bin\</ExecutablePath>
37
+ <IgnoreImportLibrary>true</IgnoreImportLibrary>
38
+ <IntDir>$(Configuration)\obj\$(ProjectName)\</IntDir>
39
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
40
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
41
+ <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
42
+ <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.node</TargetExt>
43
+ <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.node</TargetExt>
44
+ <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.node</TargetExt>
45
+ <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.node</TargetExt>
46
+ <TargetName>$(ProjectName)</TargetName>
47
+ <TargetPath>$(OutDir)\$(ProjectName).node</TargetPath>
48
+ </PropertyGroup>
49
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
50
+ <ClCompile>
51
+ <AdditionalIncludeDirectories>C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\include\node;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\src;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\openssl\config;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\openssl\openssl\include;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\uv\include;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\zlib;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\v8\include;..\..\..\node_modules\node-addon-api;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
52
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
53
+ <BufferSecurityCheck>true</BufferSecurityCheck>
54
+ <DebugInformationFormat>OldStyle</DebugInformationFormat>
55
+ <DisableSpecificWarnings>4351;4355;4800;4251;4275;4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
56
+ <ExceptionHandling>false</ExceptionHandling>
57
+ <MinimalRebuild>false</MinimalRebuild>
58
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
59
+ <OmitFramePointers>false</OmitFramePointers>
60
+ <Optimization>Disabled</Optimization>
61
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
62
+ <PreprocessorDefinitions>NODE_GYP_MODULE_NAME=irsdk_node;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;V8_DEPRECATION_WARNINGS;V8_IMMINENT_DEPRECATION_WARNINGS;_GLIBCXX_USE_CXX11_ABI=1;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;NAPI_DISABLE_CPP_EXCEPTIONS;BUILDING_NODE_EXTENSION;HOST_BINARY=&quot;node.exe&quot;;DEBUG;_DEBUG;V8_ENABLE_CHECKS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
63
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
64
+ <StringPooling>true</StringPooling>
65
+ <SuppressStartupBanner>true</SuppressStartupBanner>
66
+ <TreatWarningAsError>false</TreatWarningAsError>
67
+ <WarningLevel>Level3</WarningLevel>
68
+ <WholeProgramOptimization>true</WholeProgramOptimization>
69
+ </ClCompile>
70
+ <Lib>
71
+ <AdditionalOptions>/LTCG:INCREMENTAL %(AdditionalOptions)</AdditionalOptions>
72
+ </Lib>
73
+ <Link>
74
+ <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;DelayImp.lib;&quot;C:\\Users\\bengs\\AppData\\Local\\node-gyp\\Cache\\16.3.0\\x64\\node.lib&quot;</AdditionalDependencies>
75
+ <AdditionalOptions>/LTCG:INCREMENTAL /ignore:4199 %(AdditionalOptions)</AdditionalOptions>
76
+ <DelayLoadDLLs>node.exe;%(DelayLoadDLLs)</DelayLoadDLLs>
77
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
78
+ <GenerateDebugInformation>true</GenerateDebugInformation>
79
+ <OptimizeReferences>true</OptimizeReferences>
80
+ <OutputFile>$(OutDir)$(ProjectName).node</OutputFile>
81
+ <SuppressStartupBanner>true</SuppressStartupBanner>
82
+ <TargetExt>.node</TargetExt>
83
+ <TargetMachine>MachineX64</TargetMachine>
84
+ </Link>
85
+ <ResourceCompile>
86
+ <AdditionalIncludeDirectories>C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\include\node;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\src;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\openssl\config;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\openssl\openssl\include;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\uv\include;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\zlib;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\v8\include;..\..\..\node_modules\node-addon-api;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
87
+ <PreprocessorDefinitions>NODE_GYP_MODULE_NAME=irsdk_node;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;V8_DEPRECATION_WARNINGS;V8_IMMINENT_DEPRECATION_WARNINGS;_GLIBCXX_USE_CXX11_ABI=1;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;NAPI_DISABLE_CPP_EXCEPTIONS;BUILDING_NODE_EXTENSION;HOST_BINARY=&quot;node.exe&quot;;DEBUG;_DEBUG;V8_ENABLE_CHECKS;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions>
88
+ </ResourceCompile>
89
+ </ItemDefinitionGroup>
90
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
91
+ <ClCompile>
92
+ <AdditionalIncludeDirectories>C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\include\node;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\src;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\openssl\config;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\openssl\openssl\include;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\uv\include;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\zlib;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\v8\include;..\..\..\node_modules\node-addon-api;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
93
+ <BufferSecurityCheck>true</BufferSecurityCheck>
94
+ <DebugInformationFormat>OldStyle</DebugInformationFormat>
95
+ <DisableSpecificWarnings>4351;4355;4800;4251;4275;4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
96
+ <ExceptionHandling>false</ExceptionHandling>
97
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
98
+ <FunctionLevelLinking>true</FunctionLevelLinking>
99
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
100
+ <IntrinsicFunctions>true</IntrinsicFunctions>
101
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
102
+ <OmitFramePointers>true</OmitFramePointers>
103
+ <Optimization>Full</Optimization>
104
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
105
+ <PreprocessorDefinitions>NODE_GYP_MODULE_NAME=irsdk_node;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;V8_DEPRECATION_WARNINGS;V8_IMMINENT_DEPRECATION_WARNINGS;_GLIBCXX_USE_CXX11_ABI=1;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;NAPI_DISABLE_CPP_EXCEPTIONS;BUILDING_NODE_EXTENSION;HOST_BINARY=&quot;node.exe&quot;;%(PreprocessorDefinitions)</PreprocessorDefinitions>
106
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
107
+ <RuntimeTypeInfo>false</RuntimeTypeInfo>
108
+ <StringPooling>true</StringPooling>
109
+ <SuppressStartupBanner>true</SuppressStartupBanner>
110
+ <TreatWarningAsError>false</TreatWarningAsError>
111
+ <WarningLevel>Level3</WarningLevel>
112
+ <WholeProgramOptimization>true</WholeProgramOptimization>
113
+ </ClCompile>
114
+ <Lib>
115
+ <AdditionalOptions>/LTCG:INCREMENTAL %(AdditionalOptions)</AdditionalOptions>
116
+ </Lib>
117
+ <Link>
118
+ <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;DelayImp.lib;&quot;C:\\Users\\bengs\\AppData\\Local\\node-gyp\\Cache\\16.3.0\\x64\\node.lib&quot;</AdditionalDependencies>
119
+ <AdditionalOptions>/LTCG:INCREMENTAL /ignore:4199 %(AdditionalOptions)</AdditionalOptions>
120
+ <DelayLoadDLLs>node.exe;%(DelayLoadDLLs)</DelayLoadDLLs>
121
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
122
+ <GenerateDebugInformation>true</GenerateDebugInformation>
123
+ <OptimizeReferences>true</OptimizeReferences>
124
+ <OutputFile>$(OutDir)$(ProjectName).node</OutputFile>
125
+ <SuppressStartupBanner>true</SuppressStartupBanner>
126
+ <TargetExt>.node</TargetExt>
127
+ <TargetMachine>MachineX64</TargetMachine>
128
+ </Link>
129
+ <ResourceCompile>
130
+ <AdditionalIncludeDirectories>C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\include\node;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\src;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\openssl\config;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\openssl\openssl\include;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\uv\include;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\zlib;C:\Users\bengs\AppData\Local\node-gyp\Cache\16.3.0\deps\v8\include;..\..\..\node_modules\node-addon-api;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
131
+ <PreprocessorDefinitions>NODE_GYP_MODULE_NAME=irsdk_node;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;V8_DEPRECATION_WARNINGS;V8_IMMINENT_DEPRECATION_WARNINGS;_GLIBCXX_USE_CXX11_ABI=1;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;NAPI_DISABLE_CPP_EXCEPTIONS;BUILDING_NODE_EXTENSION;HOST_BINARY=&quot;node.exe&quot;;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions>
132
+ </ResourceCompile>
133
+ </ItemDefinitionGroup>
134
+ <ItemGroup>
135
+ <None Include="..\binding.gyp"/>
136
+ </ItemGroup>
137
+ <ItemGroup>
138
+ <ClInclude Include="..\lib\irsdk_defines.h"/>
139
+ </ItemGroup>
140
+ <ItemGroup>
141
+ <ClCompile Include="..\src\irsdk_node.cc">
142
+ <ObjectFileName>$(IntDir)\src\irsdk_node.obj</ObjectFileName>
143
+ </ClCompile>
144
+ <ClCompile Include="..\lib\irsdk_utils.cpp">
145
+ <ObjectFileName>$(IntDir)\lib\irsdk_utils.obj</ObjectFileName>
146
+ </ClCompile>
147
+ <ClCompile Include="..\lib\yaml_parser.cpp">
148
+ <ObjectFileName>$(IntDir)\lib\yaml_parser.obj</ObjectFileName>
149
+ </ClCompile>
150
+ <ClCompile Include="D:\Projects\personal\irsdk-node\node_modules\node-gyp\src\win_delay_load_hook.cc"/>
151
+ </ItemGroup>
152
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
153
+ <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets"/>
154
+ <ImportGroup Label="ExtensionTargets"/>
155
+ </Project>
@@ -0,0 +1,73 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <ItemGroup>
4
+ <Filter Include="..">
5
+ <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
6
+ </Filter>
7
+ <Filter Include="..\src">
8
+ <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
9
+ </Filter>
10
+ <Filter Include="..">
11
+ <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
12
+ </Filter>
13
+ <Filter Include="..\lib">
14
+ <UniqueIdentifier>{2739B19F-16DF-601C-060A-FF86F6A40045}</UniqueIdentifier>
15
+ </Filter>
16
+ <Filter Include="..">
17
+ <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
18
+ </Filter>
19
+ <Filter Include="..\lib">
20
+ <UniqueIdentifier>{2739B19F-16DF-601C-060A-FF86F6A40045}</UniqueIdentifier>
21
+ </Filter>
22
+ <Filter Include="..">
23
+ <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
24
+ </Filter>
25
+ <Filter Include="..\lib">
26
+ <UniqueIdentifier>{2739B19F-16DF-601C-060A-FF86F6A40045}</UniqueIdentifier>
27
+ </Filter>
28
+ <Filter Include="D:">
29
+ <UniqueIdentifier>{E5D29F2B-0177-9942-CA95-0FF700094F89}</UniqueIdentifier>
30
+ </Filter>
31
+ <Filter Include="D:\Projects">
32
+ <UniqueIdentifier>{7CAFA559-49D5-0913-BD41-C91CD6F35482}</UniqueIdentifier>
33
+ </Filter>
34
+ <Filter Include="D:\Projects\personal">
35
+ <UniqueIdentifier>{763DBDF3-B740-A2BC-34C6-4A355F1B9C0D}</UniqueIdentifier>
36
+ </Filter>
37
+ <Filter Include="D:\Projects\personal\irsdk-node">
38
+ <UniqueIdentifier>{01460687-53C9-6CF0-F0B0-64C4E444EA13}</UniqueIdentifier>
39
+ </Filter>
40
+ <Filter Include="D:\Projects\personal\irsdk-node\node_modules">
41
+ <UniqueIdentifier>{56DF7A98-063D-FB9D-485C-089023B4C16A}</UniqueIdentifier>
42
+ </Filter>
43
+ <Filter Include="D:\Projects\personal\irsdk-node\node_modules\node-gyp">
44
+ <UniqueIdentifier>{77348C0E-2034-7791-74D5-63C077DF5A3B}</UniqueIdentifier>
45
+ </Filter>
46
+ <Filter Include="D:\Projects\personal\irsdk-node\node_modules\node-gyp\src">
47
+ <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
48
+ </Filter>
49
+ <Filter Include="..">
50
+ <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
51
+ </Filter>
52
+ </ItemGroup>
53
+ <ItemGroup>
54
+ <ClCompile Include="..\src\irsdk_node.cc">
55
+ <Filter>..\src</Filter>
56
+ </ClCompile>
57
+ <ClCompile Include="..\lib\irsdk_utils.cpp">
58
+ <Filter>..\lib</Filter>
59
+ </ClCompile>
60
+ <ClCompile Include="..\lib\yaml_parser.cpp">
61
+ <Filter>..\lib</Filter>
62
+ </ClCompile>
63
+ <ClInclude Include="..\lib\irsdk_defines.h">
64
+ <Filter>..\lib</Filter>
65
+ </ClInclude>
66
+ <ClCompile Include="D:\Projects\personal\irsdk-node\node_modules\node-gyp\src\win_delay_load_hook.cc">
67
+ <Filter>D:\Projects\personal\irsdk-node\node_modules\node-gyp\src</Filter>
68
+ </ClCompile>
69
+ <None Include="..\binding.gyp">
70
+ <Filter>..</Filter>
71
+ </None>
72
+ </ItemGroup>
73
+ </Project>
@@ -0,0 +1 @@
1
+ export {};
package/dist/index.js ADDED
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DebugSDK = exports.NativeSDK = void 0;
4
+ // Import from JS so that we can type the API in a nicer way (without aliases)
5
+ // The alternative would be to somehow get types generated, or use aliases to
6
+ // fake a module and then define that module... but those are gross, so no thanks
7
+ exports.NativeSDK = require("../build/Release/irsdk_node.node").iRacingSdkNode;
8
+ exports.DebugSDK = require("../build/Debug/irsdk_node.node").iRacingSdkNode;