Skip to content

Commit 8a68e47

Browse files
committed
fix: expose versions from .h instead of .ts
1 parent 899f767 commit 8a68e47

File tree

7 files changed

+44
-13
lines changed

7 files changed

+44
-13
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,5 @@
1212
.yarn/
1313
*.cjs
1414
*.mjs
15-
src/version.ts
15+
16+
/src/version.h

.prettierignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
src/version.ts
1+
/src/version.h

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"main": "index.js",
33
"name": "libsession_util_nodejs",
44
"description": "Wrappers for the Session Util Library",
5-
"version": "0.4.24",
5+
"version": "0.4.25",
66
"license": "GPL-3.0",
77
"author": {
88
"name": "Oxen Project",

prepare_release.sh

+10-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ read_char() {
99
}
1010

1111

12-
rm -f ./libsession_util_nodejs*.tar.gz
12+
rm -f ./libsession_util_nodejs*.tar.gz temp_extract
1313
virtualenv venv
1414
. venv/bin/activate
1515
pip install git-archive-all
@@ -29,12 +29,19 @@ echo "Continuing..."
2929
yarn dirty_sed
3030

3131
echo "Building tar archive of source..."
32-
python3 build_release_archive.py libsession_util_nodejs-v$PACKAGE_VERSION.tar.gz
32+
# src/version.h is not tracked in git, so we need to force include it
33+
mkdir temp_extract
34+
tar -xzf libsession_util_nodejs-v$PACKAGE_VERSION.tar.gz -C temp_extract --strip-components=1
35+
rm libsession_util_nodejs-v$PACKAGE_VERSION.tar.gz
36+
cp src/version.h temp_extract/src/
37+
tar -cf libsession_util_nodejs-v$PACKAGE_VERSION.tar -C temp_extract .
38+
gzip libsession_util_nodejs-v$PACKAGE_VERSION.tar
39+
3340
echo "tar archive size:"
3441
du -sh libsession_util_nodejs*.tar.gz
3542

3643
echo "Creating draft release on github $PACKAGE_VERSION..."
37-
GH_RELEASE_URL=$(gh release create v$PACKAGE_VERSION -t v$PACKAGE_VERSION --draft --latest --generate-notes)
44+
GH_RELEASE_URL=$(gh release create v$PACKAGE_VERSION -t v$PACKAGE_VERSION --latest --generate-notes)
3845
echo "Uploading tar archive to release $PACKAGE_VERSION..."
3946
gh release upload v$PACKAGE_VERSION libsession_util_nodejs-v$PACKAGE_VERSION.tar.gz
4047
echo "GH_RELEASE_URL: $GH_RELEASE_URL"

src/constants.cpp

+9
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#include "session/config/groups/info.hpp"
55
#include "session/config/user_groups.hpp"
66
#include "session/version.h"
7+
#include "version.h"
78

89
namespace session::nodeapi {
910
ConstantsWrapper::ConstantsWrapper(const Napi::CallbackInfo& info) :
@@ -35,6 +36,14 @@ Napi::Object ConstantsWrapper::Init(Napi::Env env, Napi::Object exports) {
3536
ObjectWrap::StaticValue(
3637
"LIBSESSION_UTIL_VERSION",
3738
Napi::String::New(env, LIBSESSION_UTIL_VERSION_FULL),
39+
napi_enumerable),
40+
ObjectWrap::StaticValue(
41+
"LIBSESSION_NODEJS_VERSION",
42+
Napi::String::New(env, LIBSESSION_NODEJS_VERSION),
43+
napi_enumerable),
44+
ObjectWrap::StaticValue(
45+
"LIBSESSION_NODEJS_COMMIT",
46+
Napi::String::New(env, LIBSESSION_NODEJS_COMMIT),
3847
napi_enumerable)});
3948

4049
// export object as javascript module

types/shared.d.ts

+12
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,18 @@ declare module 'libsession_util_nodejs' {
156156
* BASE_URL_MAX_LENGTH + '/r/' + ROOM_MAX_LENGTH + qs_pubkey.size() + hex pubkey + null terminator
157157
*/
158158
COMMUNITY_FULL_URL_MAX_LENGTH: number;
159+
/**
160+
* A string that looks like libsession-util v1.2.0-nogit
161+
*/
162+
LIBSESSION_UTIL_VERSION: string;
163+
/**
164+
* A string that looks like "0.4.24"
165+
*/
166+
LIBSESSION_NODEJS_VERSION: string;
167+
/**
168+
* A string corresponding to the full hash of the commit
169+
*/
170+
LIBSESSION_NODEJS_COMMIT: string;
159171
};
160172

161173
export const CONSTANTS: ConstantsType;

update_version.sh

+9-7
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,19 @@
22
set -e
33
# set -x
44

5-
VERSION_FILE="src/version.ts"
6-
rm $VERSION_FILE
5+
VERSION_FILE="src/version.h"
6+
7+
rm -f $VERSION_FILE
8+
79
export LIBSESSION_NODEJS_VERSION=$(node -p "require('./package.json').version")
8-
# sadly, this is most likely only working on unix
9-
LIBSESSION_NODEJS_COMMIT_SHA=$(git rev-parse HEAD)
10+
LIBSESSION_NODEJS_COMMIT=$(git rev-parse HEAD)
1011

1112
echo "Updating LIBSESSION_NODEJS_VERSION: $LIBSESSION_NODEJS_VERSION"
12-
echo "Updating LIBSESSION_NODEJS_COMMIT_SHA: $LIBSESSION_NODEJS_COMMIT_SHA"
13+
echo "Updating LIBSESSION_NODEJS_COMMIT: $LIBSESSION_NODEJS_COMMIT"
14+
1315

14-
echo "export const LIBSESSION_NODEJS_VERSION = '$LIBSESSION_NODEJS_VERSION';" > $VERSION_FILE
15-
echo "export const LIBSESSION_NODEJS_COMMIT_SHA = '$LIBSESSION_NODEJS_COMMIT_SHA';" >> $VERSION_FILE
16+
echo "const char* LIBSESSION_NODEJS_VERSION = \"$LIBSESSION_NODEJS_VERSION\";" > $VERSION_FILE
17+
echo "const char* LIBSESSION_NODEJS_COMMIT = \"$LIBSESSION_NODEJS_COMMIT\";" >> $VERSION_FILE
1618

1719
echo "\n'$VERSION_FILE' updated to:"
1820
cat $VERSION_FILE

0 commit comments

Comments
 (0)