image-hash-native 1.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.
- package/.idea/copilot.data.migration.ask2agent.xml +6 -0
- package/README.md +71 -0
- package/binding.gyp +50 -0
- package/build/Release/img_hash.exp +0 -0
- package/build/Release/img_hash.iobj +0 -0
- package/build/Release/img_hash.ipdb +0 -0
- package/build/Release/img_hash.lib +0 -0
- package/build/Release/img_hash.node +0 -0
- package/build/Release/img_hash.pdb +0 -0
- package/build/Release/nothing.lib +0 -0
- package/build/Release/obj/img_hash/img_hash.node.recipe +11 -0
- package/build/Release/obj/img_hash/img_hash.tlog/CL.command.1.tlog +0 -0
- package/build/Release/obj/img_hash/img_hash.tlog/CL.read.1.tlog +0 -0
- package/build/Release/obj/img_hash/img_hash.tlog/CL.write.1.tlog +0 -0
- package/build/Release/obj/img_hash/img_hash.tlog/Cl.items.tlog +2 -0
- package/build/Release/obj/img_hash/img_hash.tlog/img_hash.lastbuildstate +2 -0
- package/build/Release/obj/img_hash/img_hash.tlog/link.command.1.tlog +0 -0
- package/build/Release/obj/img_hash/img_hash.tlog/link.read.1.tlog +0 -0
- package/build/Release/obj/img_hash/img_hash.tlog/link.secondary.1.tlog +5 -0
- package/build/Release/obj/img_hash/img_hash.tlog/link.write.1.tlog +0 -0
- package/build/Release/obj/img_hash/src/addon.obj +0 -0
- package/build/Release/obj/img_hash/win_delay_load_hook.obj +0 -0
- package/build/binding.sln +45 -0
- package/build/img_hash.vcxproj +157 -0
- package/build/img_hash.vcxproj.filters +58 -0
- package/build/node_modules/.pnpm/node-addon-api@8.5.0/node_modules/node-addon-api/Release/obj/nothing/node_modules/.pnpm/node-addon-api@8.5.0/node_modules/node-addon-api/nothing.obj +0 -0
- package/build/node_modules/.pnpm/node-addon-api@8.5.0/node_modules/node-addon-api/Release/obj/nothing/nothing.lib.recipe +7 -0
- package/build/node_modules/.pnpm/node-addon-api@8.5.0/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/CL.command.1.tlog +0 -0
- package/build/node_modules/.pnpm/node-addon-api@8.5.0/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/CL.read.1.tlog +0 -0
- package/build/node_modules/.pnpm/node-addon-api@8.5.0/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/CL.write.1.tlog +0 -0
- package/build/node_modules/.pnpm/node-addon-api@8.5.0/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/Cl.items.tlog +2 -0
- package/build/node_modules/.pnpm/node-addon-api@8.5.0/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/Lib-link.read.1.tlog +0 -0
- package/build/node_modules/.pnpm/node-addon-api@8.5.0/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/Lib-link.write.1.tlog +0 -0
- package/build/node_modules/.pnpm/node-addon-api@8.5.0/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/Lib.command.1.tlog +0 -0
- package/build/node_modules/.pnpm/node-addon-api@8.5.0/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/nothing.lastbuildstate +2 -0
- package/build/node_modules/.pnpm/node-addon-api@8.5.0/node_modules/node-addon-api/Release/obj/nothing/win_delay_load_hook.obj +0 -0
- package/build/node_modules/.pnpm/node-addon-api@8.5.0/node_modules/node-addon-api/node_api.sln +19 -0
- package/build/node_modules/.pnpm/node-addon-api@8.5.0/node_modules/node-addon-api/nothing.vcxproj +141 -0
- package/build/node_modules/.pnpm/node-addon-api@8.5.0/node_modules/node-addon-api/nothing.vcxproj.filters +115 -0
- package/index.d.ts +9 -0
- package/index.js +54 -0
- package/package.json +22 -0
- package/src/addon.cpp +116 -0
- package/src/index.hpp +246 -0
- package/test.js +20 -0
package/README.md
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# image-hash-native
|
|
2
|
+
|
|
3
|
+
A fast, native Node.js addon for calculating image hashes (Average Hash, Difference Hash, Perceptual Hash) and comparing them using Hamming distance.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install image-hash-native
|
|
9
|
+
# or
|
|
10
|
+
pnpm add image-hash-native
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
This library operates on raw image buffers (RGB). You can use image processing libraries like `sharp` to convert images into the required format.
|
|
16
|
+
|
|
17
|
+
### Example with `sharp`
|
|
18
|
+
|
|
19
|
+
```javascript
|
|
20
|
+
const { aHash, dHash, pHash, hamming } = require('image-hash-native');
|
|
21
|
+
const sharp = require('sharp');
|
|
22
|
+
|
|
23
|
+
(async () => {
|
|
24
|
+
// Read an image and convert to raw RGB buffer
|
|
25
|
+
const { data, info } = await sharp('image.jpg')
|
|
26
|
+
.raw()
|
|
27
|
+
.toBuffer({ resolveWithObject: true });
|
|
28
|
+
|
|
29
|
+
// Calculate hashes
|
|
30
|
+
const ah = aHash(data, info.width, info.height);
|
|
31
|
+
const dh = dHash(data, info.width, info.height);
|
|
32
|
+
const ph = pHash(data, info.width, info.height);
|
|
33
|
+
|
|
34
|
+
console.log(`Average Hash: ${ah.toString(16)}`);
|
|
35
|
+
console.log(`Difference Hash: ${dh.toString(16)}`);
|
|
36
|
+
console.log(`Perceptual Hash: ${ph.toString(16)}`);
|
|
37
|
+
|
|
38
|
+
// Compare hashes
|
|
39
|
+
const distance = hamming(ah, ph);
|
|
40
|
+
console.log(`Hamming Distance: ${distance}`);
|
|
41
|
+
})();
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## API
|
|
45
|
+
|
|
46
|
+
### `aHash(buffer, width, height)`
|
|
47
|
+
Calculates the Average Hash.
|
|
48
|
+
- **buffer**: `Buffer` - Raw image data (RGB).
|
|
49
|
+
- **width**: `number` - Image width.
|
|
50
|
+
- **height**: `number` - Image height.
|
|
51
|
+
- **Returns**: `bigint` - The 64-bit hash.
|
|
52
|
+
|
|
53
|
+
### `dHash(buffer, width, height)`
|
|
54
|
+
Calculates the Difference Hash.
|
|
55
|
+
- **buffer**: `Buffer` - Raw image data (RGB).
|
|
56
|
+
- **width**: `number` - Image width.
|
|
57
|
+
- **height**: `number` - Image height.
|
|
58
|
+
- **Returns**: `bigint` - The 64-bit hash.
|
|
59
|
+
|
|
60
|
+
### `pHash(buffer, width, height)`
|
|
61
|
+
Calculates the Perceptual Hash.
|
|
62
|
+
- **buffer**: `Buffer` - Raw image data (RGB).
|
|
63
|
+
- **width**: `number` - Image width.
|
|
64
|
+
- **height**: `number` - Image height.
|
|
65
|
+
- **Returns**: `bigint` - The 64-bit hash.
|
|
66
|
+
|
|
67
|
+
### `hamming(hash1, hash2)`
|
|
68
|
+
Calculates the Hamming distance between two hashes.
|
|
69
|
+
- **hash1**: `bigint`
|
|
70
|
+
- **hash2**: `bigint`
|
|
71
|
+
- **Returns**: `number` - The number of differing bits (0-64).
|
package/binding.gyp
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"targets": [
|
|
3
|
+
{
|
|
4
|
+
"target_name": "img_hash",
|
|
5
|
+
"sources": [ "src/addon.cpp" ],
|
|
6
|
+
"include_dirs": [
|
|
7
|
+
"<!@(node -p \"require('node-addon-api').include\")"
|
|
8
|
+
],
|
|
9
|
+
"dependencies": [
|
|
10
|
+
"<!(node -p \"require('node-addon-api').gyp\")"
|
|
11
|
+
],
|
|
12
|
+
"cflags!": [ "-fno-exceptions" ],
|
|
13
|
+
"cflags_cc!": [ "-fno-exceptions" ],
|
|
14
|
+
"xcode_settings": {
|
|
15
|
+
"GCC_ENABLE_CPP_EXCEPTIONS": "YES",
|
|
16
|
+
"CLANG_CXX_LIBRARY": "libc++",
|
|
17
|
+
"MACOSX_DEPLOYMENT_TARGET": "10.14",
|
|
18
|
+
"OTHER_CPLUSPLUSFLAGS": [
|
|
19
|
+
"-O3",
|
|
20
|
+
"-mavx2",
|
|
21
|
+
"-mfma",
|
|
22
|
+
"-march=native",
|
|
23
|
+
"-funroll-loops"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"conditions": [
|
|
27
|
+
["OS==\"win\"", {
|
|
28
|
+
"msvs_settings": {
|
|
29
|
+
"VCCLCompilerTool": {
|
|
30
|
+
"ExceptionHandling": 1,
|
|
31
|
+
"EnableEnhancedInstructionSet": "5",
|
|
32
|
+
"Optimization": "2",
|
|
33
|
+
"FavorSizeOrSpeed": "1"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}],
|
|
37
|
+
["OS!=\"win\"", {
|
|
38
|
+
"cflags_cc": [
|
|
39
|
+
"-O3",
|
|
40
|
+
"-mavx2",
|
|
41
|
+
"-mfma",
|
|
42
|
+
"-march=native",
|
|
43
|
+
"-std=c++17",
|
|
44
|
+
"-fno-rtti"
|
|
45
|
+
]
|
|
46
|
+
}]
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
Binary file
|
|
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>C:\Users\tinar\WebstormProjects\image-hash\build\Release\img_hash.node</FullPath>
|
|
6
|
+
</ProjectOutput>
|
|
7
|
+
</ProjectOutputs>
|
|
8
|
+
<ContentFiles />
|
|
9
|
+
<SatelliteDlls />
|
|
10
|
+
<NonRecipeFileRefs />
|
|
11
|
+
</Project>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
C:\Users\tinar\WebstormProjects\image-hash\src\addon.cpp;C:\Users\tinar\WebstormProjects\image-hash\build\Release\obj\img_hash\src\addon.obj
|
|
2
|
+
C:\Users\tinar\WebstormProjects\image-hash\node_modules\.pnpm\node-gyp@12.1.0\node_modules\node-gyp\src\win_delay_load_hook.cc;C:\Users\tinar\WebstormProjects\image-hash\build\Release\obj\img_hash\win_delay_load_hook.obj
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
^C:\USERS\TINAR\WEBSTORMPROJECTS\IMAGE-HASH\BUILD\RELEASE\NOTHING.LIB|C:\USERS\TINAR\WEBSTORMPROJECTS\IMAGE-HASH\BUILD\RELEASE\OBJ\IMG_HASH\SRC\ADDON.OBJ|C:\USERS\TINAR\WEBSTORMPROJECTS\IMAGE-HASH\BUILD\RELEASE\OBJ\IMG_HASH\WIN_DELAY_LOAD_HOOK.OBJ
|
|
2
|
+
C:\Users\tinar\WebstormProjects\image-hash\build\Release\img_hash.LIB
|
|
3
|
+
C:\Users\tinar\WebstormProjects\image-hash\build\Release\img_hash.EXP
|
|
4
|
+
C:\Users\tinar\WebstormProjects\image-hash\build\Release\img_hash.IPDB
|
|
5
|
+
C:\Users\tinar\WebstormProjects\image-hash\build\Release\img_hash.IOBJ
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
Microsoft Visual Studio Solution File, Format Version 12.00
|
|
2
|
+
# Visual Studio 2015
|
|
3
|
+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "img_hash", "img_hash.vcxproj", "{66C55B94-DF4C-6A74-56C7-B332B88A8FA2}"
|
|
4
|
+
ProjectSection(ProjectDependencies) = postProject
|
|
5
|
+
{D16AA5BB-0FAA-C315-8B42-674B7FC329B3} = {D16AA5BB-0FAA-C315-8B42-674B7FC329B3}
|
|
6
|
+
EndProjectSection
|
|
7
|
+
EndProject
|
|
8
|
+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nothing", "node_modules\.pnpm\node-addon-api@8.5.0\node_modules\node-addon-api\nothing.vcxproj", "{D16AA5BB-0FAA-C315-8B42-674B7FC329B3}"
|
|
9
|
+
EndProject
|
|
10
|
+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(node_modules)", "..\node_modules", "{9D350B9E-06FB-960D-859F-B43C9597383A}"
|
|
11
|
+
EndProject
|
|
12
|
+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(.pnpm)", "..\node_modules\.pnpm", "{B7C2E3AA-093A-B65C-48E3-CDB279AA97C9}"
|
|
13
|
+
EndProject
|
|
14
|
+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(node-addon-api@8.5.0)", "..\node_modules\.pnpm\node-addon-api@8.5.0", "{A9864ADB-681D-0E8C-C598-5CEDF82C2D93}"
|
|
15
|
+
EndProject
|
|
16
|
+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(node_modules)", "..\node_modules\.pnpm\node-addon-api@8.5.0\node_modules", "{1D266807-C17A-75D5-AE56-0B59AB9BBEAA}"
|
|
17
|
+
EndProject
|
|
18
|
+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(node-addon-api)", "..\node_modules\.pnpm\node-addon-api@8.5.0\node_modules\node-addon-api", "{7A8F4D74-9E12-CB54-83EB-258DE4DE8ADC}"
|
|
19
|
+
EndProject
|
|
20
|
+
Global
|
|
21
|
+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
22
|
+
Debug|x64 = Debug|x64
|
|
23
|
+
Release|x64 = Release|x64
|
|
24
|
+
EndGlobalSection
|
|
25
|
+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
26
|
+
{66C55B94-DF4C-6A74-56C7-B332B88A8FA2}.Debug|x64.ActiveCfg = Debug|x64
|
|
27
|
+
{66C55B94-DF4C-6A74-56C7-B332B88A8FA2}.Debug|x64.Build.0 = Debug|x64
|
|
28
|
+
{66C55B94-DF4C-6A74-56C7-B332B88A8FA2}.Release|x64.ActiveCfg = Release|x64
|
|
29
|
+
{66C55B94-DF4C-6A74-56C7-B332B88A8FA2}.Release|x64.Build.0 = Release|x64
|
|
30
|
+
{D16AA5BB-0FAA-C315-8B42-674B7FC329B3}.Debug|x64.ActiveCfg = Debug|x64
|
|
31
|
+
{D16AA5BB-0FAA-C315-8B42-674B7FC329B3}.Debug|x64.Build.0 = Debug|x64
|
|
32
|
+
{D16AA5BB-0FAA-C315-8B42-674B7FC329B3}.Release|x64.ActiveCfg = Release|x64
|
|
33
|
+
{D16AA5BB-0FAA-C315-8B42-674B7FC329B3}.Release|x64.Build.0 = Release|x64
|
|
34
|
+
EndGlobalSection
|
|
35
|
+
GlobalSection(SolutionProperties) = preSolution
|
|
36
|
+
HideSolutionNode = FALSE
|
|
37
|
+
EndGlobalSection
|
|
38
|
+
GlobalSection(NestedProjects) = preSolution
|
|
39
|
+
{B7C2E3AA-093A-B65C-48E3-CDB279AA97C9} = {9D350B9E-06FB-960D-859F-B43C9597383A}
|
|
40
|
+
{A9864ADB-681D-0E8C-C598-5CEDF82C2D93} = {B7C2E3AA-093A-B65C-48E3-CDB279AA97C9}
|
|
41
|
+
{1D266807-C17A-75D5-AE56-0B59AB9BBEAA} = {A9864ADB-681D-0E8C-C598-5CEDF82C2D93}
|
|
42
|
+
{7A8F4D74-9E12-CB54-83EB-258DE4DE8ADC} = {1D266807-C17A-75D5-AE56-0B59AB9BBEAA}
|
|
43
|
+
{D16AA5BB-0FAA-C315-8B42-674B7FC329B3} = {7A8F4D74-9E12-CB54-83EB-258DE4DE8ADC}
|
|
44
|
+
EndGlobalSection
|
|
45
|
+
EndGlobal
|
|
@@ -0,0 +1,157 @@
|
|
|
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>{66C55B94-DF4C-6A74-56C7-B332B88A8FA2}</ProjectGuid>
|
|
15
|
+
<Keyword>Win32Proj</Keyword>
|
|
16
|
+
<RootNamespace>img_hash</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\tinar\AppData\Local\node-gyp\Cache\22.18.0\include\node;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\src;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\openssl\config;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\openssl\openssl\include;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\uv\include;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\zlib;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\v8\include;C:\Users\tinar\WebstormProjects\image-hash\node_modules\.pnpm\node-addon-api@8.5.0\node_modules\node-addon-api;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
52
|
+
<AdditionalOptions>/Zc:__cplusplus -std:c++20 /Zm2000 %(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
|
+
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
|
|
58
|
+
<ExceptionHandling>Sync</ExceptionHandling>
|
|
59
|
+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
|
60
|
+
<MinimalRebuild>false</MinimalRebuild>
|
|
61
|
+
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
62
|
+
<OmitFramePointers>false</OmitFramePointers>
|
|
63
|
+
<Optimization>Disabled</Optimization>
|
|
64
|
+
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
|
65
|
+
<PreprocessorDefinitions>NODE_GYP_MODULE_NAME=img_hash;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;_GLIBCXX_USE_CXX11_ABI=1;_FILE_OFFSET_BITS=64;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;NOMINMAX;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;BUILDING_NODE_EXTENSION;HOST_BINARY="node.exe";DEBUG;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
66
|
+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
|
67
|
+
<StringPooling>true</StringPooling>
|
|
68
|
+
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
69
|
+
<TreatWarningAsError>false</TreatWarningAsError>
|
|
70
|
+
<WarningLevel>Level3</WarningLevel>
|
|
71
|
+
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
72
|
+
</ClCompile>
|
|
73
|
+
<Lib>
|
|
74
|
+
<AdditionalOptions>/LTCG:INCREMENTAL %(AdditionalOptions)</AdditionalOptions>
|
|
75
|
+
</Lib>
|
|
76
|
+
<Link>
|
|
77
|
+
<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;"C:\\Users\\tinar\\AppData\\Local\\node-gyp\\Cache\\22.18.0\\x64\\node.lib"</AdditionalDependencies>
|
|
78
|
+
<AdditionalOptions>/LTCG:INCREMENTAL /ignore:4199 %(AdditionalOptions)</AdditionalOptions>
|
|
79
|
+
<DelayLoadDLLs>node.exe;%(DelayLoadDLLs)</DelayLoadDLLs>
|
|
80
|
+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
81
|
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
82
|
+
<OptimizeReferences>true</OptimizeReferences>
|
|
83
|
+
<OutputFile>$(OutDir)$(ProjectName).node</OutputFile>
|
|
84
|
+
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
85
|
+
<TargetExt>.node</TargetExt>
|
|
86
|
+
<TargetMachine>MachineX64</TargetMachine>
|
|
87
|
+
</Link>
|
|
88
|
+
<ResourceCompile>
|
|
89
|
+
<AdditionalIncludeDirectories>C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\include\node;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\src;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\openssl\config;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\openssl\openssl\include;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\uv\include;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\zlib;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\v8\include;C:\Users\tinar\WebstormProjects\image-hash\node_modules\.pnpm\node-addon-api@8.5.0\node_modules\node-addon-api;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
90
|
+
<PreprocessorDefinitions>NODE_GYP_MODULE_NAME=img_hash;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;_GLIBCXX_USE_CXX11_ABI=1;_FILE_OFFSET_BITS=64;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;NOMINMAX;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;BUILDING_NODE_EXTENSION;HOST_BINARY="node.exe";DEBUG;_DEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
91
|
+
</ResourceCompile>
|
|
92
|
+
</ItemDefinitionGroup>
|
|
93
|
+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
94
|
+
<ClCompile>
|
|
95
|
+
<AdditionalIncludeDirectories>C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\include\node;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\src;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\openssl\config;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\openssl\openssl\include;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\uv\include;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\zlib;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\v8\include;C:\Users\tinar\WebstormProjects\image-hash\node_modules\.pnpm\node-addon-api@8.5.0\node_modules\node-addon-api;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
96
|
+
<AdditionalOptions>/Zc:__cplusplus -std:c++20 /Zm2000 %(AdditionalOptions)</AdditionalOptions>
|
|
97
|
+
<BufferSecurityCheck>true</BufferSecurityCheck>
|
|
98
|
+
<DebugInformationFormat>OldStyle</DebugInformationFormat>
|
|
99
|
+
<DisableSpecificWarnings>4351;4355;4800;4251;4275;4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
|
100
|
+
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
|
|
101
|
+
<ExceptionHandling>Sync</ExceptionHandling>
|
|
102
|
+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
|
103
|
+
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
104
|
+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
|
105
|
+
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
106
|
+
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
107
|
+
<OmitFramePointers>true</OmitFramePointers>
|
|
108
|
+
<Optimization>Full</Optimization>
|
|
109
|
+
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
|
110
|
+
<PreprocessorDefinitions>NODE_GYP_MODULE_NAME=img_hash;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;_GLIBCXX_USE_CXX11_ABI=1;_FILE_OFFSET_BITS=64;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;NOMINMAX;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;BUILDING_NODE_EXTENSION;HOST_BINARY="node.exe";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
111
|
+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
112
|
+
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
|
113
|
+
<StringPooling>true</StringPooling>
|
|
114
|
+
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
115
|
+
<TreatWarningAsError>false</TreatWarningAsError>
|
|
116
|
+
<WarningLevel>Level3</WarningLevel>
|
|
117
|
+
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
118
|
+
</ClCompile>
|
|
119
|
+
<Lib>
|
|
120
|
+
<AdditionalOptions>/LTCG:INCREMENTAL %(AdditionalOptions)</AdditionalOptions>
|
|
121
|
+
</Lib>
|
|
122
|
+
<Link>
|
|
123
|
+
<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;"C:\\Users\\tinar\\AppData\\Local\\node-gyp\\Cache\\22.18.0\\x64\\node.lib"</AdditionalDependencies>
|
|
124
|
+
<AdditionalOptions>/LTCG:INCREMENTAL /ignore:4199 %(AdditionalOptions)</AdditionalOptions>
|
|
125
|
+
<DelayLoadDLLs>node.exe;%(DelayLoadDLLs)</DelayLoadDLLs>
|
|
126
|
+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
127
|
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
128
|
+
<OptimizeReferences>true</OptimizeReferences>
|
|
129
|
+
<OutputFile>$(OutDir)$(ProjectName).node</OutputFile>
|
|
130
|
+
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
131
|
+
<TargetExt>.node</TargetExt>
|
|
132
|
+
<TargetMachine>MachineX64</TargetMachine>
|
|
133
|
+
</Link>
|
|
134
|
+
<ResourceCompile>
|
|
135
|
+
<AdditionalIncludeDirectories>C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\include\node;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\src;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\openssl\config;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\openssl\openssl\include;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\uv\include;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\zlib;C:\Users\tinar\AppData\Local\node-gyp\Cache\22.18.0\deps\v8\include;C:\Users\tinar\WebstormProjects\image-hash\node_modules\.pnpm\node-addon-api@8.5.0\node_modules\node-addon-api;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
136
|
+
<PreprocessorDefinitions>NODE_GYP_MODULE_NAME=img_hash;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;_GLIBCXX_USE_CXX11_ABI=1;_FILE_OFFSET_BITS=64;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;NOMINMAX;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;BUILDING_NODE_EXTENSION;HOST_BINARY="node.exe";%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
137
|
+
</ResourceCompile>
|
|
138
|
+
</ItemDefinitionGroup>
|
|
139
|
+
<ItemGroup>
|
|
140
|
+
<None Include="..\binding.gyp"/>
|
|
141
|
+
</ItemGroup>
|
|
142
|
+
<ItemGroup>
|
|
143
|
+
<ClCompile Include="..\src\addon.cpp">
|
|
144
|
+
<ObjectFileName>$(IntDir)\src\addon.obj</ObjectFileName>
|
|
145
|
+
</ClCompile>
|
|
146
|
+
<ClCompile Include="C:\Users\tinar\WebstormProjects\image-hash\node_modules\.pnpm\node-gyp@12.1.0\node_modules\node-gyp\src\win_delay_load_hook.cc"/>
|
|
147
|
+
</ItemGroup>
|
|
148
|
+
<ItemGroup>
|
|
149
|
+
<ProjectReference Include="node_modules\.pnpm\node-addon-api@8.5.0\node_modules\node-addon-api\nothing.vcxproj">
|
|
150
|
+
<Project>{D16AA5BB-0FAA-C315-8B42-674B7FC329B3}</Project>
|
|
151
|
+
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
|
152
|
+
</ProjectReference>
|
|
153
|
+
</ItemGroup>
|
|
154
|
+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
|
|
155
|
+
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets"/>
|
|
156
|
+
<ImportGroup Label="ExtensionTargets"/>
|
|
157
|
+
</Project>
|
|
@@ -0,0 +1,58 @@
|
|
|
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="C:">
|
|
11
|
+
<UniqueIdentifier>{7B735499-E5DD-1C2B-6C26-70023832A1CF}</UniqueIdentifier>
|
|
12
|
+
</Filter>
|
|
13
|
+
<Filter Include="C:\Users">
|
|
14
|
+
<UniqueIdentifier>{E9F714C1-DA89-54E2-60CF-39FEB20BF756}</UniqueIdentifier>
|
|
15
|
+
</Filter>
|
|
16
|
+
<Filter Include="C:\Users\tinar">
|
|
17
|
+
<UniqueIdentifier>{E4181FEF-40DE-A68A-9710-04148DE17DA4}</UniqueIdentifier>
|
|
18
|
+
</Filter>
|
|
19
|
+
<Filter Include="C:\Users\tinar\WebstormProjects">
|
|
20
|
+
<UniqueIdentifier>{1BE06873-5E24-6012-F79E-EC2F7B02B909}</UniqueIdentifier>
|
|
21
|
+
</Filter>
|
|
22
|
+
<Filter Include="C:\Users\tinar\WebstormProjects\image-hash">
|
|
23
|
+
<UniqueIdentifier>{5C8E9DD2-39C9-7984-A5ED-436FBCF03341}</UniqueIdentifier>
|
|
24
|
+
</Filter>
|
|
25
|
+
<Filter Include="C:\Users\tinar\WebstormProjects\image-hash\node_modules">
|
|
26
|
+
<UniqueIdentifier>{56DF7A98-063D-FB9D-485C-089023B4C16A}</UniqueIdentifier>
|
|
27
|
+
</Filter>
|
|
28
|
+
<Filter Include="C:\Users\tinar\WebstormProjects\image-hash\node_modules\.pnpm">
|
|
29
|
+
<UniqueIdentifier>{293CE058-3CF8-8B4D-C9A0-FD024AF736DB}</UniqueIdentifier>
|
|
30
|
+
</Filter>
|
|
31
|
+
<Filter Include="C:\Users\tinar\WebstormProjects\image-hash\node_modules\.pnpm\node-gyp@12.1.0">
|
|
32
|
+
<UniqueIdentifier>{F772891E-BC75-D5CD-4728-55F5D332D75E}</UniqueIdentifier>
|
|
33
|
+
</Filter>
|
|
34
|
+
<Filter Include="C:\Users\tinar\WebstormProjects\image-hash\node_modules\.pnpm\node-gyp@12.1.0\node_modules">
|
|
35
|
+
<UniqueIdentifier>{56DF7A98-063D-FB9D-485C-089023B4C16A}</UniqueIdentifier>
|
|
36
|
+
</Filter>
|
|
37
|
+
<Filter Include="C:\Users\tinar\WebstormProjects\image-hash\node_modules\.pnpm\node-gyp@12.1.0\node_modules\node-gyp">
|
|
38
|
+
<UniqueIdentifier>{77348C0E-2034-7791-74D5-63C077DF5A3B}</UniqueIdentifier>
|
|
39
|
+
</Filter>
|
|
40
|
+
<Filter Include="C:\Users\tinar\WebstormProjects\image-hash\node_modules\.pnpm\node-gyp@12.1.0\node_modules\node-gyp\src">
|
|
41
|
+
<UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
|
|
42
|
+
</Filter>
|
|
43
|
+
<Filter Include="..">
|
|
44
|
+
<UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
|
|
45
|
+
</Filter>
|
|
46
|
+
</ItemGroup>
|
|
47
|
+
<ItemGroup>
|
|
48
|
+
<ClCompile Include="..\src\addon.cpp">
|
|
49
|
+
<Filter>..\src</Filter>
|
|
50
|
+
</ClCompile>
|
|
51
|
+
<ClCompile Include="C:\Users\tinar\WebstormProjects\image-hash\node_modules\.pnpm\node-gyp@12.1.0\node_modules\node-gyp\src\win_delay_load_hook.cc">
|
|
52
|
+
<Filter>C:\Users\tinar\WebstormProjects\image-hash\node_modules\.pnpm\node-gyp@12.1.0\node_modules\node-gyp\src</Filter>
|
|
53
|
+
</ClCompile>
|
|
54
|
+
<None Include="..\binding.gyp">
|
|
55
|
+
<Filter>..</Filter>
|
|
56
|
+
</None>
|
|
57
|
+
</ItemGroup>
|
|
58
|
+
</Project>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
C:\Users\tinar\WebstormProjects\image-hash\node_modules\.pnpm\node-addon-api@8.5.0\node_modules\node-addon-api\nothing.c;C:\Users\tinar\WebstormProjects\image-hash\build\node_modules\.pnpm\node-addon-api@8.5.0\node_modules\node-addon-api\Release\obj\nothing\node_modules\.pnpm\node-addon-api@8.5.0\node_modules\node-addon-api\nothing.obj
|
|
2
|
+
C:\Users\tinar\WebstormProjects\image-hash\node_modules\.pnpm\node-gyp@12.1.0\node_modules\node-gyp\src\win_delay_load_hook.cc;C:\Users\tinar\WebstormProjects\image-hash\build\node_modules\.pnpm\node-addon-api@8.5.0\node_modules\node-addon-api\Release\obj\nothing\win_delay_load_hook.obj
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/build/node_modules/.pnpm/node-addon-api@8.5.0/node_modules/node-addon-api/node_api.sln
ADDED
|
@@ -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}") = "nothing", "nothing.vcxproj", "{D16AA5BB-0FAA-C315-8B42-674B7FC329B3}"
|
|
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
|
+
{D16AA5BB-0FAA-C315-8B42-674B7FC329B3}.Debug|x64.ActiveCfg = Debug|x64
|
|
12
|
+
{D16AA5BB-0FAA-C315-8B42-674B7FC329B3}.Debug|x64.Build.0 = Debug|x64
|
|
13
|
+
{D16AA5BB-0FAA-C315-8B42-674B7FC329B3}.Release|x64.ActiveCfg = Release|x64
|
|
14
|
+
{D16AA5BB-0FAA-C315-8B42-674B7FC329B3}.Release|x64.Build.0 = Release|x64
|
|
15
|
+
EndGlobalSection
|
|
16
|
+
GlobalSection(SolutionProperties) = preSolution
|
|
17
|
+
HideSolutionNode = FALSE
|
|
18
|
+
EndGlobalSection
|
|
19
|
+
EndGlobal
|