Skip to content

Improve CONTRIBUTING.md #898

Open
Open
@sad270

Description

@sad270

Is your feature request related to a problem? Please describe.
I try to install the project to contribute, but it does not work

Describe the solution you'd like
A clear and concise installation guide for beginner.

Additional context
Hello,
I am not a NodeJS developper and I want to install the project. I am on MacOS with ARM64 arch.

My steps was :

  1. Clone the repository
  2. Go to https://github.com/antares-sql/antares/blob/master/CONTRIBUTING.md
  3. I see it's electron project, so I guess i need node. I install node with brew install node
  4. Run npm run build because I see it in https://github.com/antares-sql/antares/blob/master/CONTRIBUTING.md#build to test if the project build and I have an error (details is at the end of description).
  5. I try npm install and I also have an error (details is at the end of description too).

I think, in order to maximize the chances of attracting new contributors it will be nice to have a project installation guide with requirement list (I guess one of them is node, but which version ?). I can help for this if someone help me to install the project 😄

npm run build

npm run build

$ npm run build

> [email protected] build
> cross-env NODE_ENV=production npm run compile && electron-builder --publish never

sh: cross-env: command not found

npm install

npm install

$ npm install
(node:69949) ExperimentalWarning: CommonJS module /opt/homebrew/lib/node_modules/npm/node_modules/debug/src/node.js is loading ES Module /opt/homebrew/lib/node_modules/npm/node_modules/supports-color/index.js using require().
    Support for loading ES Module in require() is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
npm error code 1
npm error path /PROJECT_FOLDER/antares/node_modules/cpu-features
npm error command failed
npm error command sh -c node buildcheck.js > buildcheck.gypi && node-gyp rebuild
npm error CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_linux_or_android.o
npm error   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_macos_or_iphone.o
npm error   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_windows.o
npm error   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_arm_linux_or_android.o
npm error   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_mips_linux_or_android.o
npm error   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_ppc_linux.o
npm error   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_freebsd.o
npm error   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_linux_or_android.o
npm error   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_macos.o
npm error   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_windows.o
npm error   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/filesystem.o
npm error   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/stack_line_reader.o
npm error   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/string_view.o
npm error   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/hwcaps.o
npm error   LIBTOOL-STATIC Release/cpu_features.a
npm error   CXX(target) Release/obj.target/cpufeatures/src/binding.o
npm error gyp info it worked if it ends with ok
npm error gyp info using [email protected]
npm error gyp info using [email protected] | darwin | arm64
npm error gyp info find Python using Python version 3.12.7 found at "/opt/homebrew/opt/[email protected]/bin/python3.12"
npm error (node:70147) ExperimentalWarning: CommonJS module /opt/homebrew/lib/node_modules/npm/node_modules/debug/src/node.js is loading ES Module /opt/homebrew/lib/node_modules/npm/node_modules/supports-color/index.js using require().
    npm error Support for loading ES Module in require() is an experimental feature and might change at any time
npm error (Use `node --trace-warnings ...` to show where the warning was created)
npm error gyp http GET https://nodejs.org/download/release/v23.3.0/node-v23.3.0-headers.tar.gz
npm error gyp http 200 https://nodejs.org/download/release/v23.3.0/node-v23.3.0-headers.tar.gz
npm error gyp http GET https://nodejs.org/download/release/v23.3.0/SHASUMS256.txt
npm error gyp http 200 https://nodejs.org/download/release/v23.3.0/SHASUMS256.txt
npm error gyp info spawn /opt/homebrew/opt/[email protected]/bin/python3.12
npm error gyp info spawn args [
                         npm error gyp info spawn args '/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm error gyp info spawn args 'binding.gyp',
npm error gyp info spawn args '-f',
npm error gyp info spawn args 'make',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/PROJECT_FOLDER/antares/node_modules/cpu-features/build/config.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/common.gypi',
npm error gyp info spawn args '-Dlibrary=shared_library',
npm error gyp info spawn args '-Dvisibility=default',
npm error gyp info spawn args '-Dnode_root_dir=/USER_FOLDER/Library/Caches/node-gyp/23.3.0',
npm error gyp info spawn args '-Dnode_gyp_dir=/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp',
npm error gyp info spawn args '-Dnode_lib_file=/USER_FOLDER/Library/Caches/node-gyp/23.3.0/<(target_arch)/node.lib',
npm error gyp info spawn args '-Dmodule_root_dir=/PROJECT_FOLDER/antares/node_modules/cpu-features',
npm error gyp info spawn args '-Dnode_engine=v8',
npm error gyp info spawn args '--depth=.',
npm error gyp info spawn args '--no-parallel',
npm error gyp info spawn args '--generator-output',
npm error gyp info spawn args 'build',
npm error gyp info spawn args '-Goutput_dir=.'
npm error gyp info spawn args ]
npm error gyp info spawn make
npm error gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm error In file included from ../src/binding.cc:3:
npm error ../../nan/nan.h:208:12: error: no template named 'CopyablePersistentTraits' in namespace 'v8'; did you mean simply 'CopyablePersistentTraits'?
    npm error   208 |     public v8::CopyablePersistentTraits<T> {};
npm error       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error       |            CopyablePersistentTraits
npm error ../../nan/nan.h:207:7: note: 'CopyablePersistentTraits' declared here
npm error   207 | class CopyablePersistentTraits :
npm error       |       ^
npm error ../../nan/nan.h:208:12: error: circular inheritance between 'v8::CopyablePersistentTraits<T>' and 'CopyablePersistentTraits<T>'
npm error   208 |     public v8::CopyablePersistentTraits<T> {};
npm error       |            ^
npm error ../../nan/nan.h:688:39: error: no member named 'IdleNotificationDeadline' in 'v8::Isolate'
npm error   688 |     return v8::Isolate::GetCurrent()->IdleNotificationDeadline(
    npm error       |            ~~~~~~~~~~~~~~~~~~~~~~~~~  ^
npm error ../../nan/nan.h:2548:8: error: no member named 'SetAccessor' in 'v8::ObjectTemplate'
npm error  2548 |   tpl->SetAccessor(
    npm error       |   ~~~~~^
npm error ../../nan/nan.h:2596:8: error: no member named 'SetAccessor' in 'v8::ObjectTemplate'
npm error  2596 |   tpl->SetAccessor(
    npm error       |   ~~~~~^
npm error ../../nan/nan.h:2642:15: error: no member named 'SetAccessor' in 'v8::Object'
npm error  2642 |   return obj->SetAccessor(
    npm error       |          ~~~~~^
npm error ../../nan/nan.h:2718:19: error: no matching constructor for initialization of 'v8::NamedPropertyHandlerConfiguration'
npm error  2718 |   tpl->SetHandler(v8::NamedPropertyHandlerConfiguration(
    npm error       |                   ^
npm error  2719 |       getter_, setter_, query_, deleter_, enumerator_, obj));
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error /USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/v8-template.h:785:12: note: candidate constructor not viable: no known conversion from 'imp::NativePropertyGetter' (aka 'void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value> &)') to 'NamedPropertyGetterCallback' (aka 'Intercepted (*)(Local<Name>, const PropertyCallbackInfo<Value> &)') for 1st argument
npm error   785 |   explicit NamedPropertyHandlerConfiguration(
    npm error       |            ^
npm error   786 |       NamedPropertyGetterCallback getter,
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error /USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/v8-template.h:803:3: note: candidate constructor not viable: no known conversion from 'imp::NativePropertyGetter' (aka 'void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value> &)') to 'NamedPropertyGetterCallback' (aka 'Intercepted (*)(Local<Name>, const PropertyCallbackInfo<Value> &)') for 1st argument
npm error   803 |   NamedPropertyHandlerConfiguration(
    npm error       |   ^
npm error   804 |       NamedPropertyGetterCallback getter,          //
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error /USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/v8-template.h:765:3: note: candidate constructor not viable: requires at least 7 arguments, but 6 were provided
npm error   765 |   NamedPropertyHandlerConfiguration(
    npm error       |   ^
npm error   766 |       NamedPropertyGetterCallback getter,          //
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error   767 |       NamedPropertySetterCallback setter,          //
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error   768 |       NamedPropertyQueryCallback query,            //
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error   769 |       NamedPropertyDeleterCallback deleter,        //
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error   770 |       NamedPropertyEnumeratorCallback enumerator,  //
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error   771 |       NamedPropertyDefinerCallback definer,        //
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error   772 |       NamedPropertyDescriptorCallback descriptor,  //
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error   773 |       Local<Value> data = Local<Value>(),
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error   774 |       PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error /USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/v8-template.h:754:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 6 were provided
npm error   754 | struct NamedPropertyHandlerConfiguration {
        npm error       |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        npm error /USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/v8-template.h:754:8: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 6 were provided
npm error   754 | struct NamedPropertyHandlerConfiguration {
            npm error       |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            npm error In file included from ../src/binding.cc:3:
npm error ../../nan/nan.h:2788:19: error: no matching constructor for initialization of 'v8::IndexedPropertyHandlerConfiguration'
            npm error  2788 |   tpl->SetHandler(v8::IndexedPropertyHandlerConfiguration(
                npm error       |                   ^
npm error  2789 |       getter_, setter_, query_, deleter_, enumerator_, obj));
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            npm error /USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/v8-template.h:864:12: note: candidate constructor not viable: no known conversion from 'imp::NativeIndexGetter' (aka 'void (*)(unsigned int, const PropertyCallbackInfo<v8::Value> &)') to 'IndexedPropertyGetterCallbackV2' (aka 'v8::Intercepted (*)(unsigned int, const PropertyCallbackInfo<Value> &)') for 1st argument
            npm error   864 |   explicit IndexedPropertyHandlerConfiguration(
                npm error       |            ^
npm error   865 |       IndexedPropertyGetterCallbackV2 getter = nullptr,
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            npm error /USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/v8-template.h:882:3: note: candidate constructor not viable: no known conversion from 'imp::NativeIndexGetter' (aka 'void (*)(unsigned int, const PropertyCallbackInfo<v8::Value> &)') to 'IndexedPropertyGetterCallbackV2' (aka 'v8::Intercepted (*)(unsigned int, const PropertyCallbackInfo<Value> &)') for 1st argument
            npm error   882 |   IndexedPropertyHandlerConfiguration(
                npm error       |   ^
npm error   883 |       IndexedPropertyGetterCallbackV2 getter,
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            npm error /USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/v8-template.h:844:3: note: candidate constructor not viable: requires at least 7 arguments, but 6 were provided
npm error   844 |   IndexedPropertyHandlerConfiguration(
                npm error       |   ^
npm error   845 |       IndexedPropertyGetterCallbackV2 getter,          //
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            npm error   846 |       IndexedPropertySetterCallbackV2 setter,          //
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            npm error   847 |       IndexedPropertyQueryCallbackV2 query,            //
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            npm error   848 |       IndexedPropertyDeleterCallbackV2 deleter,        //
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            npm error   849 |       IndexedPropertyEnumeratorCallback enumerator,    //
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            npm error   850 |       IndexedPropertyDefinerCallbackV2 definer,        //
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            npm error   851 |       IndexedPropertyDescriptorCallbackV2 descriptor,  //
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            npm error   852 |       Local<Value> data = Local<Value>(),
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            npm error   853 |       PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            npm error /USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/v8-template.h:833:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 6 were provided
npm error   833 | struct IndexedPropertyHandlerConfiguration {
                npm error       |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                npm error /USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/v8-template.h:833:8: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 6 were provided
npm error   833 | struct IndexedPropertyHandlerConfiguration {
                    npm error       |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    npm error In file included from ../src/binding.cc:3:
npm error In file included from ../../nan/nan.h:2954:
npm error ../../nan/nan_scriptorigin.h:19:7: error: no matching constructor for initialization of 'v8::ScriptOrigin'
                    npm error    19 |       v8::ScriptOrigin(v8::Isolate::GetCurrent(), name) {}
npm error       |       ^                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    npm error /USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/v8-message.h:64:13: note: candidate constructor not viable: no known conversion from 'Isolate *' to 'Local<Value>' for 1st argument
                    npm error    64 |   V8_INLINE ScriptOrigin(Local<Value> resource_name,
npm error       |             ^            ~~~~~~~~~~~~~~~~~~~~~~~~~~
                    npm error /USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/v8-message.h:62:17: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
npm error    62 | class V8_EXPORT ScriptOrigin {
                    npm error       |                 ^~~~~~~~~~~~
                    npm error /USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/v8-message.h:62:17: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 2 were provided
                    npm error    62 | class V8_EXPORT ScriptOrigin {
                    npm error       |                 ^~~~~~~~~~~~
                    npm error In file included from ../src/binding.cc:3:
                    npm error In file included from ../../nan/nan.h:2954:
                    npm error ../../nan/nan_scriptorigin.h:23:7: error: no matching constructor for initialization of 'v8::ScriptOrigin'
                    npm error    23 |       v8::ScriptOrigin(v8::Isolate::GetCurrent()
                    npm error       |       ^                ~~~~~~~~~~~~~~~~~~~~~~~~~
                    npm error    24 |                    , name
                    npm error       |                    ~~~~~~
                    npm error    25 |                    , To<int32_t>(line).FromMaybe(0)) {}
npm error       |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    npm error /USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/v8-message.h:64:13: note: candidate constructor not viable: no known conversion from 'Isolate *' to 'Local<Value>' for 1st argument
                    npm error    64 |   V8_INLINE ScriptOrigin(Local<Value> resource_name,
npm error       |             ^            ~~~~~~~~~~~~~~~~~~~~~~~~~~
                    npm error /USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/v8-message.h:62:17: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 3 were provided
npm error    62 | class V8_EXPORT ScriptOrigin {
                    npm error       |                 ^~~~~~~~~~~~
                    npm error /USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/v8-message.h:62:17: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 3 were provided
                    npm error    62 | class V8_EXPORT ScriptOrigin {
                    npm error       |                 ^~~~~~~~~~~~
                    npm error In file included from ../src/binding.cc:3:
                    npm error In file included from ../../nan/nan.h:2954:
                    npm error ../../nan/nan_scriptorigin.h:30:7: error: no matching constructor for initialization of 'v8::ScriptOrigin'
                    npm error    30 |       v8::ScriptOrigin(v8::Isolate::GetCurrent()
                    npm error       |       ^                ~~~~~~~~~~~~~~~~~~~~~~~~~
                    npm error    31 |                    , name
                    npm error       |                    ~~~~~~
                    npm error    32 |                    , To<int32_t>(line).FromMaybe(0)
                    npm error       |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    npm error    33 |                    , To<int32_t>(column).FromMaybe(0)) {}
npm error       |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    npm error /USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/v8-message.h:64:13: note: candidate constructor not viable: no known conversion from 'Isolate *' to 'Local<Value>' for 1st argument
                    npm error    64 |   V8_INLINE ScriptOrigin(Local<Value> resource_name,
npm error       |             ^            ~~~~~~~~~~~~~~~~~~~~~~~~~~
                    npm error /USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/v8-message.h:62:17: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 4 were provided
npm error    62 | class V8_EXPORT ScriptOrigin {
                    npm error       |                 ^~~~~~~~~~~~
                    npm error /USER_FOLDER/Library/Caches/node-gyp/23.3.0/include/node/v8-message.h:62:17: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 4 were provided
                    npm error    62 | class V8_EXPORT ScriptOrigin {
                    npm error       |                 ^~~~~~~~~~~~
                    npm error 11 errors generated.
                    npm error make: *** [Release/obj.target/cpufeatures/src/binding.o] Error 1
                    npm error gyp ERR! build error
                    npm error gyp ERR! stack Error: `make` failed with exit code: 2
                    npm error gyp ERR! stack at ChildProcess.<anonymous> (/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:216:23)
                    npm error gyp ERR! System Darwin 23.6.0
                    npm error gyp ERR! command "/opt/homebrew/Cellar/node/23.3.0/bin/node" "/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
                    npm error gyp ERR! cwd /PROJECT_FOLDER/antares/node_modules/cpu-features
                    npm error gyp ERR! node -v v23.3.0
                    npm error gyp ERR! node-gyp -v v10.2.0
                    npm error gyp ERR! not ok
                    npm error A complete log of this run can be found in: /USER_FOLDER/.npm/_logs/2024-11-21T19_58_29_634Z-debug-0.log

Metadata

Metadata

Assignees

Labels

documentation 📄Improvements or additions to documentation

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions