Adds cmake as a build system for mac instead of node-gyp

This commit is contained in:
Atul R 2019-09-16 23:36:59 +02:00
parent 6db185b03e
commit 3c97199a10
5 changed files with 556 additions and 20 deletions

125
CMakeLists.txt Normal file
View File

@ -0,0 +1,125 @@
cmake_minimum_required(VERSION 3.1)
if(${CMAKE_VERSION} VERSION_LESS 3.15)
cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
else()
cmake_policy(VERSION 3.15)
endif()
project(NodeGUI
VERSION 1.0
DESCRIPTION "Build cross platform native desktop apps"
HOMEPAGE_URL https://nodegui.org
LANGUAGES CXX
)
set(ADDON_NAME "qtnode")
add_library(${ADDON_NAME} SHARED
${CMAKE_JS_SRC}
${PROJECT_SOURCE_DIR}/src/cpp/main.cpp
# non wrapped
${PROJECT_SOURCE_DIR}/src/cpp/Extras/Utils/nutils.cpp
${PROJECT_SOURCE_DIR}/src/cpp/core/FlexLayout/flexlayout.cpp
${PROJECT_SOURCE_DIR}/src/cpp/core/FlexLayout/flexitem.cpp
${PROJECT_SOURCE_DIR}/src/cpp/core/YogaWidget/nodestyle.cpp
${PROJECT_SOURCE_DIR}/src/cpp/core/Events/eventsmap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/core/Events/eventwidget.cpp
${PROJECT_SOURCE_DIR}/src/cpp/core/YogaWidget/yogawidget.cpp
# wrapped cpps. Move non wrapped ones to shared gypi
${PROJECT_SOURCE_DIR}/src/cpp/QtGui/QApplication/qapplication_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/QtGui/QClipboard/qclipboard_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/QtGui/QEvent/QKeyEvent/qkeyevent_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/QtGui/QPixmap/qpixmap_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/QtGui/QIcon/qicon_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/QtGui/QCursor/qcursor_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/core/FlexLayout/flexlayout_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/QtWidgets/QWidget/qwidget_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/QtWidgets/QGridLayout/qgridlayout_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/QtWidgets/QDial/qdial_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/QtWidgets/QLabel/qlabel_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/QtWidgets/QLayout/qlayout_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/QtWidgets/QMainWindow/qmainwindow_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/QtWidgets/QPushButton/qpushbutton_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/QtWidgets/QSpinBox/qspinbox_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/QtWidgets/QCheckBox/qcheckbox_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/QtWidgets/QProgressBar/qprogressbar_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/QtWidgets/QRadioButton/qradiobutton_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/QtWidgets/QLineEdit/qlineedit_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.cpp
${PROJECT_SOURCE_DIR}/src/cpp/QtWidgets/QScrollArea/qscrollarea_wrap.cpp
# moc
${PROJECT_SOURCE_DIR}/src/cpp/autogen/nwidget_moc.cpp
${PROJECT_SOURCE_DIR}/src/cpp/autogen/nlabel_moc.cpp
${PROJECT_SOURCE_DIR}/src/cpp/autogen/ncheckbox_moc.cpp
${PROJECT_SOURCE_DIR}/src/cpp/autogen/ndial_moc.cpp
${PROJECT_SOURCE_DIR}/src/cpp/autogen/nlineedit_moc.cpp
${PROJECT_SOURCE_DIR}/src/cpp/autogen/nmainwindow_moc.cpp
${PROJECT_SOURCE_DIR}/src/cpp/autogen/nprogressbar_moc.cpp
${PROJECT_SOURCE_DIR}/src/cpp/autogen/npushbutton_moc.cpp
${PROJECT_SOURCE_DIR}/src/cpp/autogen/nspinbox_moc.cpp
${PROJECT_SOURCE_DIR}/src/cpp/autogen/nradiobutton_moc.cpp
${PROJECT_SOURCE_DIR}/src/cpp/autogen/nplaintextedit_moc.cpp
${PROJECT_SOURCE_DIR}/src/cpp/autogen/nscrollarea_moc.cpp
# deps
${PROJECT_SOURCE_DIR}/deps/yoga/log.cpp
${PROJECT_SOURCE_DIR}/deps/yoga/Utils.cpp
${PROJECT_SOURCE_DIR}/deps/yoga/YGConfig.cpp
${PROJECT_SOURCE_DIR}/deps/yoga/YGEnums.cpp
${PROJECT_SOURCE_DIR}/deps/yoga/YGLayout.cpp
${PROJECT_SOURCE_DIR}/deps/yoga/YGNode.cpp
${PROJECT_SOURCE_DIR}/deps/yoga/YGNodePrint.cpp
${PROJECT_SOURCE_DIR}/deps/yoga/YGStyle.cpp
${PROJECT_SOURCE_DIR}/deps/yoga/YGValue.cpp
${PROJECT_SOURCE_DIR}/deps/yoga/Yoga.cpp
${PROJECT_SOURCE_DIR}/deps/yoga/event/event.cpp
${PROJECT_SOURCE_DIR}/deps/yoga/internal/experiments.cpp
)
# NAPI stuff
execute_process(COMMAND node -p "require('node-addon-api').include"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE NODE_ADDON_API_DIR
)
string(REPLACE "\n" "" NODE_ADDON_API_DIR ${NODE_ADDON_API_DIR})
string(REPLACE "\"" "" NODE_ADDON_API_DIR ${NODE_ADDON_API_DIR})
# qt stuff
execute_process(COMMAND node -p "require('@nodegui/qode').qtHome"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE QT_HOME_DIR
)
string(REPLACE "\n" "" QT_HOME_DIR ${QT_HOME_DIR})
string(REPLACE "\"" "" QT_HOME_DIR ${QT_HOME_DIR})
# Continue
set_target_properties(${ADDON_NAME} PROPERTIES PREFIX "" SUFFIX ".node")
target_include_directories(${ADDON_NAME} PRIVATE
${CMAKE_JS_INC}
${NODE_ADDON_API_DIR}
${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/deps
${QT_HOME_DIR}/include
${QT_HOME_DIR}/lib/QtCore.framework/Versions/5/Headers
${QT_HOME_DIR}/lib/QtGui.framework/Versions/5/Headers
${QT_HOME_DIR}/lib/QtWidgets.framework/Versions/5/Headers
)
target_compile_definitions(${ADDON_NAME} PRIVATE
NAPI_CPP_EXCEPTIONS
_HAS_EXCEPTIONS=1
SPDLOG_COMPILED_LIB
ENUM_BITFIELDS_NOT_SUPPORTED
)
target_compile_features(${ADDON_NAME} PRIVATE
cxx_std_14
)
target_link_libraries(${ADDON_NAME}
${CMAKE_JS_LIB}
${QT_HOME_DIR}/lib/QtCore.framework/Versions/5/QtCore
${QT_HOME_DIR}/lib/QtGui.framework/Versions/5/QtGui
${QT_HOME_DIR}/lib/QtWidgets.framework/Versions/5/QtWidgets
)

View File

@ -11,16 +11,6 @@
"./config/qt.gypi",
"./config/deps.gypi",
],
'dependencies': [
# './config/deps.gypi:nodeguidep',
],
'conditions':[
['OS=="mac"', {
'xcode_settings': {
'OTHER_LDFLAGS': ['-Wl,-rpath,@loader_path'],
},
}]
]
},
]
}

View File

@ -21,6 +21,7 @@
'CLANG_CXX_LIBRARY': 'libc++',
'MACOSX_DEPLOYMENT_TARGET': '10.7',
'OTHER_CFLAGS': ['-std=c++14'],
'OTHER_LDFLAGS': ['-Wl,-rpath,@loader_path'],
},
}],
['OS=="linux"', {

435
package-lock.json generated
View File

@ -73,6 +73,16 @@
"uri-js": "^4.2.2"
}
},
"amdefine": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
},
"ansi": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
"integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE="
},
"ansi-align": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz",
@ -195,6 +205,25 @@
"tweetnacl": "^0.14.3"
}
},
"big-integer": {
"version": "1.6.44",
"resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.44.tgz",
"integrity": "sha512-7MzElZPTyJ2fNvBkPxtFQ2fWIkVmuzw41+BZHSzpEq3ymB2MfeKp1+yXl/tS75xCx+WnyV+yb0kp+K1C3UNwmQ=="
},
"binary": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz",
"integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=",
"requires": {
"buffers": "~0.1.1",
"chainsaw": "~0.1.0"
}
},
"bluebird": {
"version": "3.5.5",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
"integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w=="
},
"boxen": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz",
@ -257,6 +286,21 @@
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
},
"buffer-indexof-polyfill": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.1.tgz",
"integrity": "sha1-qfuAbOgUXVQoUQznLyeLs2OmOL8="
},
"buffer-shims": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
"integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E="
},
"buffers": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz",
"integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s="
},
"bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
@ -303,6 +347,14 @@
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
"chainsaw": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz",
"integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=",
"requires": {
"traverse": ">=0.3.0 <0.4"
}
},
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@ -367,6 +419,16 @@
}
}
},
"cliui": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
"integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
"requires": {
"string-width": "^1.0.1",
"strip-ansi": "^3.0.1",
"wrap-ansi": "^2.0.0"
}
},
"clone-response": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
@ -375,6 +437,86 @@
"mimic-response": "^1.0.0"
}
},
"cmake-js": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/cmake-js/-/cmake-js-5.3.2.tgz",
"integrity": "sha512-OsRQ3ZgoV3nJ+3bZr9MEvSuhGS7xc3LgmPZ2gCXlLqF5Wxi6mUQNK70dm/2UUf4/QNBssdYWB5Y7BSRX9FFUrg==",
"requires": {
"bluebird": "^3",
"debug": "^4",
"fs-extra": "^5.0.0",
"is-iojs": "^1.0.1",
"lodash": "^4",
"memory-stream": "0",
"npmlog": "^1.2.0",
"rc": "^1.2.7",
"request": "^2.54.0",
"semver": "^5.0.3",
"splitargs": "0",
"tar": "^4",
"traceur": "0.0.x",
"unzipper": "^0.8.13",
"url-join": "0",
"which": "^1.0.9",
"yargs": "^3.6.0"
},
"dependencies": {
"are-we-there-yet": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz",
"integrity": "sha1-otKMkxAqpsyWJFomy5VN4G7FPww=",
"requires": {
"delegates": "^1.0.0",
"readable-stream": "^2.0.0 || ^1.1.13"
}
},
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"requires": {
"ms": "^2.1.1"
}
},
"fs-extra": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz",
"integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==",
"requires": {
"graceful-fs": "^4.1.2",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
}
},
"gauge": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz",
"integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=",
"requires": {
"ansi": "^0.3.0",
"has-unicode": "^2.0.0",
"lodash.pad": "^4.1.0",
"lodash.padend": "^4.1.0",
"lodash.padstart": "^4.1.0"
}
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"npmlog": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-1.2.1.tgz",
"integrity": "sha1-KOe+YZYJtT960d0wChDWTXFiaLY=",
"requires": {
"ansi": "~0.3.0",
"are-we-there-yet": "~1.0.0",
"gauge": "~1.2.0"
}
}
}
},
"code-point-at": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
@ -401,6 +543,14 @@
"delayed-stream": "~1.0.0"
}
},
"commander": {
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
"integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
"requires": {
"graceful-readlink": ">= 1.0.0"
}
},
"compressible": {
"version": "2.0.17",
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz",
@ -489,6 +639,11 @@
"ms": "2.0.0"
}
},
"decamelize": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
},
"decompress-response": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
@ -500,8 +655,7 @@
"deep-extend": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
"dev": true
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
},
"defer-to-connect": {
"version": "1.0.2",
@ -518,6 +672,14 @@
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
},
"duplexer2": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
"integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
"requires": {
"readable-stream": "^2.0.2"
}
},
"duplexer3": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
@ -667,6 +829,17 @@
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"fstream": {
"version": "1.0.12",
"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
"integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
"requires": {
"graceful-fs": "^4.1.2",
"inherits": "~2.0.0",
"mkdirp": ">=0.5 0",
"rimraf": "2"
}
},
"gauge": {
"version": "2.7.4",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
@ -734,6 +907,11 @@
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
"integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q=="
},
"graceful-readlink": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
"integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU="
},
"har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
@ -790,8 +968,12 @@
"ini": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
"dev": true
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
},
"invert-kv": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
"integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
},
"is-fullwidth-code-point": {
"version": "1.0.0",
@ -801,6 +983,11 @@
"number-is-nan": "^1.0.0"
}
},
"is-iojs": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-iojs/-/is-iojs-1.1.0.tgz",
"integrity": "sha1-TBEDO11dlNbqs3dd7cm+fQCDJfE="
},
"is-stream": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
@ -879,6 +1066,39 @@
"json-buffer": "3.0.0"
}
},
"lcid": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
"integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
"requires": {
"invert-kv": "^1.0.0"
}
},
"listenercount": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz",
"integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc="
},
"lodash": {
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
},
"lodash.pad": {
"version": "4.5.1",
"resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz",
"integrity": "sha1-QzCUmoM6fI2iLMIPaibE1Z3runA="
},
"lodash.padend": {
"version": "4.6.1",
"resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz",
"integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4="
},
"lodash.padstart": {
"version": "4.6.1",
"resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz",
"integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs="
},
"lowercase-keys": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
@ -902,6 +1122,37 @@
}
}
},
"memory-stream": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/memory-stream/-/memory-stream-0.0.3.tgz",
"integrity": "sha1-6+jdHDuLw4wOeUHp3dWuvmtN6D8=",
"requires": {
"readable-stream": "~1.0.26-2"
},
"dependencies": {
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
},
"readable-stream": {
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
"isarray": "0.0.1",
"string_decoder": "~0.10.x"
}
},
"string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
}
}
},
"mime-db": {
"version": "1.40.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
@ -1061,6 +1312,14 @@
"wrappy": "1"
}
},
"os-locale": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
"integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
"requires": {
"lcid": "^1.0.0"
}
},
"p-cancelable": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
@ -1184,7 +1443,6 @@
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
"integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
"dev": true,
"requires": {
"deep-extend": "^0.6.0",
"ini": "~1.3.0",
@ -1195,8 +1453,7 @@
"minimist": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
}
}
},
@ -1276,6 +1533,11 @@
"glob": "^7.1.3"
}
},
"rsvp": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz",
"integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw=="
},
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@ -1380,6 +1642,11 @@
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
},
"setimmediate": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
},
"shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
@ -1405,6 +1672,29 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
"source-map-support": {
"version": "0.2.10",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.2.10.tgz",
"integrity": "sha1-6lo5AKHByyUJagrozFwrSxDe09w=",
"requires": {
"source-map": "0.1.32"
},
"dependencies": {
"source-map": {
"version": "0.1.32",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz",
"integrity": "sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=",
"requires": {
"amdefine": ">=0.0.4"
}
}
}
},
"splitargs": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/splitargs/-/splitargs-0.0.7.tgz",
"integrity": "sha1-/p965lc3GzOxDLgNoUPPgknPazs="
},
"sshpk": {
"version": "1.16.1",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
@ -1456,8 +1746,7 @@
"strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
"dev": true
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
},
"supports-color": {
"version": "6.1.0",
@ -1511,6 +1800,42 @@
}
}
},
"traceur": {
"version": "0.0.111",
"resolved": "https://registry.npmjs.org/traceur/-/traceur-0.0.111.tgz",
"integrity": "sha1-wE3nTRRpbDNzQn3k/Ajsr5E/w6E=",
"requires": {
"commander": "2.9.x",
"glob": "5.0.x",
"rsvp": "^3.0.13",
"semver": "^4.3.3",
"source-map-support": "~0.2.8"
},
"dependencies": {
"glob": {
"version": "5.0.15",
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
"requires": {
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "2 || 3",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"semver": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
"integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto="
}
}
},
"traverse": {
"version": "0.3.9",
"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
"integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk="
},
"tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
@ -1540,6 +1865,53 @@
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
},
"unzipper": {
"version": "0.8.14",
"resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.8.14.tgz",
"integrity": "sha512-8rFtE7EP5ssOwGpN2dt1Q4njl0N1hUXJ7sSPz0leU2hRdq6+pra57z4YPBlVqm40vcgv6ooKZEAx48fMTv9x4w==",
"requires": {
"big-integer": "^1.6.17",
"binary": "~0.3.0",
"bluebird": "~3.4.1",
"buffer-indexof-polyfill": "~1.0.0",
"duplexer2": "~0.1.4",
"fstream": "~1.0.10",
"listenercount": "~1.0.1",
"readable-stream": "~2.1.5",
"setimmediate": "~1.0.4"
},
"dependencies": {
"bluebird": {
"version": "3.4.7",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
"integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM="
},
"process-nextick-args": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
},
"readable-stream": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz",
"integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=",
"requires": {
"buffer-shims": "^1.0.0",
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
"isarray": "~1.0.0",
"process-nextick-args": "~1.0.6",
"string_decoder": "~0.10.x",
"util-deprecate": "~1.0.1"
}
},
"string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
}
}
},
"update-check": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.2.tgz",
@ -1558,6 +1930,11 @@
"punycode": "^2.1.0"
}
},
"url-join": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/url-join/-/url-join-0.0.1.tgz",
"integrity": "sha1-HbSK1CLTQCRpqH99l73r/k+x48g="
},
"url-parse-lax": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
@ -1650,16 +2027,56 @@
}
}
},
"window-size": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
"integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY="
},
"wrap-ansi": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
"requires": {
"string-width": "^1.0.1",
"strip-ansi": "^3.0.1"
}
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"y18n": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
"integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
},
"yallist": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
"integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A=="
},
"yargs": {
"version": "3.32.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
"integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
"requires": {
"camelcase": "^2.0.1",
"cliui": "^3.0.3",
"decamelize": "^1.1.1",
"os-locale": "^1.4.0",
"string-width": "^1.0.1",
"window-size": "^0.1.4",
"y18n": "^3.2.0"
},
"dependencies": {
"camelcase": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
"integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
}
}
},
"yauzl": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",

View File

@ -23,10 +23,13 @@
"build:addon": "node-gyp -j 8 configure build",
"rebuild:addon": "node-gyp -j 8 rebuild",
"automoc": "node ./scripts/automoc.js",
"docs": "serve docs"
"docs": "serve docs",
"build:cmake": "cmake-js compile -- -j 8",
"dev:cmake": "tsc && qode dist/demo.js"
},
"dependencies": {
"@nodegui/qode": "^1.0.5",
"cmake-js": "^5.3.2",
"cuid": "^2.1.6",
"node-addon-api": "^1.6.3",
"node-gyp": "^5.0.3",