node-oom-heapdump 3.2.2 → 3.3.0-pre3

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.
@@ -11,7 +11,7 @@ jobs:
11
11
  runs-on: ${{ matrix.os }}
12
12
  strategy:
13
13
  matrix:
14
- node-version: [16.x, 17.x, 18.x, 20.x]
14
+ node-version: [18.x, 20.x, 22.2]
15
15
  os: [ubuntu-latest, macos-latest, windows-latest]
16
16
  steps:
17
17
  - uses: actions/checkout@v2
@@ -22,20 +22,42 @@ jobs:
22
22
  - name: Add msbuild to PATH
23
23
  if: matrix.os == 'windows-latest'
24
24
  uses: microsoft/setup-msbuild@v1.1
25
- - name: patch node gyp on windows to support Visual Studio 2019
25
+ - name: Install node-gyp
26
26
  if: matrix.os == 'windows-latest'
27
27
  shell: powershell
28
28
  run: |
29
29
  npm install --global npm@latest
30
30
  npm install --global node-gyp@latest
31
- npm prefix -g | % {npm config set node_gyp "$_\node_modules\node-gyp\bin\node-gyp.js"}
32
31
  - name: build using node-pre-gyp
33
32
  run: |
34
33
  npm install --build-from-source
35
- ./node_modules/.bin/node-pre-gyp package
34
+ npx node-pre-gyp package
36
35
  - name: Upload native binaries for Node ${{ matrix.node-version }} for ${{ matrix.os }}
37
36
  uses: csexton/release-asset-action@v2
38
37
  with:
39
38
  pattern: "build/stage/*.tar.gz"
40
39
  github-token: ${{ secrets.GITHUB_TOKEN }}
41
40
  release-url: ${{ github.event.release.upload_url }}
41
+
42
+ alpine-release:
43
+ runs-on: ubuntu-latest
44
+ strategy:
45
+ matrix:
46
+ node-version: [18, 20, 22]
47
+ container: node:${{ matrix.node-version }}-alpine3.20
48
+ steps:
49
+ - uses: actions/checkout@v2
50
+ - name: install build deps
51
+ run: |
52
+ apk add g++ make python3
53
+ - name: build using node-pre-gyp
54
+ run: |
55
+ npm install
56
+ npx node-pre-gyp rebuild
57
+ npx node-pre-gyp package
58
+ - name: Upload native binaries for Node ${{ matrix.node-version }} for alpine
59
+ uses: csexton/release-asset-action@v2
60
+ with:
61
+ pattern: "build/stage/*.tar.gz"
62
+ github-token: ${{ secrets.GITHUB_TOKEN }}
63
+ release-url: ${{ github.event.release.upload_url }}
package/CHANGELOG.md CHANGED
@@ -1,4 +1,8 @@
1
- 25-04-2024 Paul Rütter
1
+ 16-05-2024 Paul Rütter
2
+ - 3.2.3
3
+ - Release to fix prebuilt binaries for node 22.x
4
+
5
+ 25-04-2024 Paul Rütter
2
6
  - 3.2.2
3
7
  - Release to update dependencies
4
8
 
package/README.md CHANGED
@@ -5,11 +5,12 @@ Node module which will create a V8 heap snapshot right before an "Out of Memory"
5
5
 
6
6
  It can also create heapdumps and CPU profiles on request like 'v8-profiler', but does this off-process so it doesn't interfere with execution of the main process.
7
7
 
8
- Tested on Node.js 10.x, 11.x, 12.x, 13.x, 14.x, 15.x, 16.x, 17.x, 18.x and 20.x.
8
+ Tested on Node.js 10.x, 11.x, 12.x, 13.x, 14.x, 15.x, 16.x, 17.x, 18.x, 20.x and 22.x.
9
9
  No support for Node.js < 10.x at the moment in version 3.0.0, use version 2.2.0 for if needed.
10
10
 
11
11
  Also comes with prebuilt binaries (hosted on Github releases), thanks to Stuart Miller (https://github.com/spmiller).
12
12
  From 3.1.0, prebuilt binaries are only shipped for Node.js 16.x and upwards.
13
+ From 3.2.3, prebuilt binaries are only shipped for Node.js 18.x and upwards.
13
14
 
14
15
  ## Node.js 14.18.x
15
16
  https://github.com/nodejs/node/pull/33010 landed in Node.js 14.18.0, which makes this module no longer needed for heapdumps on out of memory.
@@ -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}") = "node_oom_heapdump_native", "node_oom_heapdump_native.vcxproj", "{B44BD8E7-8AB3-68F6-9D96-154D16CEC9C0}"
4
+ EndProject
5
+ Global
6
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
7
+ Release|x64 = Release|x64
8
+ Debug|x64 = Debug|x64
9
+ EndGlobalSection
10
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
11
+ {B44BD8E7-8AB3-68F6-9D96-154D16CEC9C0}.Release|x64.ActiveCfg = Release|x64
12
+ {B44BD8E7-8AB3-68F6-9D96-154D16CEC9C0}.Release|x64.Build.0 = Release|x64
13
+ {B44BD8E7-8AB3-68F6-9D96-154D16CEC9C0}.Debug|x64.ActiveCfg = Debug|x64
14
+ {B44BD8E7-8AB3-68F6-9D96-154D16CEC9C0}.Debug|x64.Build.0 = Debug|x64
15
+ EndGlobalSection
16
+ GlobalSection(SolutionProperties) = preSolution
17
+ HideSolutionNode = FALSE
18
+ EndGlobalSection
19
+ EndGlobal
@@ -0,0 +1,145 @@
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>{B44BD8E7-8AB3-68F6-9D96-154D16CEC9C0}</ProjectGuid>
15
+ <Keyword>Win32Proj</Keyword>
16
+ <RootNamespace>node_oom_heapdump_native</RootNamespace>
17
+ <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename>
18
+ <PreferredToolArchitecture>x64</PreferredToolArchitecture>
19
+ <WindowsTargetPlatformVersion>10.0.22621.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>v143</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\Paul\AppData\Local\node-gyp\Cache\20.13.1\include\node;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\src;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\openssl\config;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\openssl\openssl\include;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\uv\include;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\zlib;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\v8\include;..\node_modules\nan;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
52
+ <AdditionalOptions>/Zc:__cplusplus -std:c++17 %(AdditionalOptions)</AdditionalOptions>
53
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
54
+ <BufferSecurityCheck>true</BufferSecurityCheck>
55
+ <DebugInformationFormat>OldStyle</DebugInformationFormat>
56
+ <DisableSpecificWarnings>4351;4355;4800;4251;4275;4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
57
+ <ExceptionHandling>false</ExceptionHandling>
58
+ <MinimalRebuild>false</MinimalRebuild>
59
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
60
+ <OmitFramePointers>false</OmitFramePointers>
61
+ <Optimization>Disabled</Optimization>
62
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
63
+ <PreprocessorDefinitions>NODE_GYP_MODULE_NAME=node_oom_heapdump_native;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;_GLIBCXX_USE_CXX11_ABI=1;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;BUILDING_NODE_EXTENSION;DEBUG;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
64
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
65
+ <StringPooling>true</StringPooling>
66
+ <SuppressStartupBanner>true</SuppressStartupBanner>
67
+ <TreatWarningAsError>false</TreatWarningAsError>
68
+ <WarningLevel>Level3</WarningLevel>
69
+ <WholeProgramOptimization>true</WholeProgramOptimization>
70
+ </ClCompile>
71
+ <Lib>
72
+ <AdditionalOptions>/LTCG:INCREMENTAL %(AdditionalOptions)</AdditionalOptions>
73
+ </Lib>
74
+ <Link>
75
+ <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\\Paul\\AppData\\Local\\node-gyp\\Cache\\20.13.1\\x64\\node.lib&quot;</AdditionalDependencies>
76
+ <AdditionalOptions>/LTCG:INCREMENTAL %(AdditionalOptions)</AdditionalOptions>
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\Paul\AppData\Local\node-gyp\Cache\20.13.1\include\node;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\src;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\openssl\config;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\openssl\openssl\include;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\uv\include;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\zlib;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\v8\include;..\node_modules\nan;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
87
+ <PreprocessorDefinitions>NODE_GYP_MODULE_NAME=node_oom_heapdump_native;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;_GLIBCXX_USE_CXX11_ABI=1;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;BUILDING_NODE_EXTENSION;DEBUG;_DEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions>
88
+ </ResourceCompile>
89
+ </ItemDefinitionGroup>
90
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
91
+ <ClCompile>
92
+ <AdditionalIncludeDirectories>C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\include\node;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\src;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\openssl\config;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\openssl\openssl\include;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\uv\include;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\zlib;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\v8\include;..\node_modules\nan;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
93
+ <AdditionalOptions>/Zc:__cplusplus -std:c++17 %(AdditionalOptions)</AdditionalOptions>
94
+ <BufferSecurityCheck>true</BufferSecurityCheck>
95
+ <DebugInformationFormat>OldStyle</DebugInformationFormat>
96
+ <DisableSpecificWarnings>4351;4355;4800;4251;4275;4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
97
+ <ExceptionHandling>false</ExceptionHandling>
98
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
99
+ <FunctionLevelLinking>true</FunctionLevelLinking>
100
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
101
+ <IntrinsicFunctions>true</IntrinsicFunctions>
102
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
103
+ <OmitFramePointers>true</OmitFramePointers>
104
+ <Optimization>Full</Optimization>
105
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
106
+ <PreprocessorDefinitions>NODE_GYP_MODULE_NAME=node_oom_heapdump_native;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;_GLIBCXX_USE_CXX11_ABI=1;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;BUILDING_NODE_EXTENSION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
107
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
108
+ <RuntimeTypeInfo>false</RuntimeTypeInfo>
109
+ <StringPooling>true</StringPooling>
110
+ <SuppressStartupBanner>true</SuppressStartupBanner>
111
+ <TreatWarningAsError>false</TreatWarningAsError>
112
+ <WarningLevel>Level3</WarningLevel>
113
+ <WholeProgramOptimization>true</WholeProgramOptimization>
114
+ </ClCompile>
115
+ <Lib>
116
+ <AdditionalOptions>/LTCG:INCREMENTAL %(AdditionalOptions)</AdditionalOptions>
117
+ </Lib>
118
+ <Link>
119
+ <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\\Paul\\AppData\\Local\\node-gyp\\Cache\\20.13.1\\x64\\node.lib&quot;</AdditionalDependencies>
120
+ <AdditionalOptions>/LTCG:INCREMENTAL %(AdditionalOptions)</AdditionalOptions>
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\Paul\AppData\Local\node-gyp\Cache\20.13.1\include\node;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\src;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\openssl\config;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\openssl\openssl\include;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\uv\include;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\zlib;C:\Users\Paul\AppData\Local\node-gyp\Cache\20.13.1\deps\v8\include;..\node_modules\nan;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
131
+ <PreprocessorDefinitions>NODE_GYP_MODULE_NAME=node_oom_heapdump_native;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;_GLIBCXX_USE_CXX11_ABI=1;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;BUILDING_NODE_EXTENSION;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions>
132
+ </ResourceCompile>
133
+ </ItemDefinitionGroup>
134
+ <ItemGroup>
135
+ <None Include="..\binding.gyp"/>
136
+ </ItemGroup>
137
+ <ItemGroup>
138
+ <ClCompile Include="..\lib\node_oom_heapdump_native.cc">
139
+ <ObjectFileName>$(IntDir)\lib\node_oom_heapdump_native.obj</ObjectFileName>
140
+ </ClCompile>
141
+ </ItemGroup>
142
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
143
+ <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets"/>
144
+ <ImportGroup Label="ExtensionTargets"/>
145
+ </Project>
@@ -0,0 +1,14 @@
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="lib">
5
+ <UniqueIdentifier>{2739B19F-16DF-601C-060A-FF86F6A40045}</UniqueIdentifier>
6
+ </Filter>
7
+ </ItemGroup>
8
+ <ItemGroup>
9
+ <ClCompile Include="..\lib\node_oom_heapdump_native.cc">
10
+ <Filter>lib</Filter>
11
+ </ClCompile>
12
+ <None Include="..\binding.gyp"/>
13
+ </ItemGroup>
14
+ </Project>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-oom-heapdump",
3
- "version": "3.2.2",
3
+ "version": "3.3.0-pre3",
4
4
  "description": "Create a V8 heap snapshot when an \"Out of Memory\" error occurs, or create a heap snapshot or CPU profile on request.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -16,6 +16,7 @@
16
16
  "binary": {
17
17
  "module_name": "node_oom_heapdump_native",
18
18
  "module_path": "./build/Release",
19
+ "package_name": "{module_name}-v{version}-{node_abi}-{platform}-{arch}-{libc}.tar.gz",
19
20
  "host": "https://github.com/blueconic/node-oom-heapdump/releases/download/{version}"
20
21
  },
21
22
  "engines": {
@@ -47,4 +48,4 @@
47
48
  "require-main-filename": "^2.0.0",
48
49
  "ws": "^8.16.0"
49
50
  }
50
- }
51
+ }