better-sqlite3-multiple-ciphers 9.4.0 → 9.4.5
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/README.md +2 -2
- package/deps/defines.gypi +0 -1
- package/deps/download.sh +112 -113
- package/package.json +2 -2
- package/src/better_sqlite3.cpp +29 -15
- package/src/better_sqlite3.hpp +8 -2
package/README.md
CHANGED
|
@@ -17,8 +17,8 @@ The fastest and simplest library for SQLite3 in Node.js. This particular fork su
|
|
|
17
17
|
## Current versions
|
|
18
18
|
|
|
19
19
|
- ### Stable
|
|
20
|
-
- **better-sqlite3-multiple-ciphers** - [`9.4.
|
|
21
|
-
- **better-sqlite3** - [`9.4.
|
|
20
|
+
- **better-sqlite3-multiple-ciphers** - [`9.4.5`](https://github.com/m4heshd/better-sqlite3-multiple-ciphers/releases/tag/v9.4.5)
|
|
21
|
+
- **better-sqlite3** - [`9.4.5`](https://github.com/JoshuaWise/better-sqlite3/releases/tag/v9.4.5)
|
|
22
22
|
- **SQLite** - [`3.45.1`](https://www.sqlite.org/releaselog/3_45_1.html)
|
|
23
23
|
- **SQLite3 Multiple Ciphers** - [`1.8.3`](https://github.com/utelle/SQLite3MultipleCiphers/releases/tag/v1.8.3)
|
|
24
24
|
|
package/deps/defines.gypi
CHANGED
package/deps/download.sh
CHANGED
|
@@ -1,113 +1,112 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# ===
|
|
4
|
-
# This script defines and generates the bundled SQLite3 unit (sqlite3.c).
|
|
5
|
-
#
|
|
6
|
-
# The following steps are taken:
|
|
7
|
-
# 1. populate the shell environment with the defined compile-time options.
|
|
8
|
-
# 2. download and extract the SQLite3 source code into a temporary directory.
|
|
9
|
-
# 3. run "sh configure" and "make sqlite3.c" within the source directory.
|
|
10
|
-
# 4. copy the generated amalgamation into the output directory (./sqlite3).
|
|
11
|
-
# 5. export the defined compile-time options to a gyp file (./defines.gypi).
|
|
12
|
-
# 6. update the docs (../docs/compilation.md) with details of this distribution.
|
|
13
|
-
#
|
|
14
|
-
# When a user builds better-sqlite3, the following steps are taken:
|
|
15
|
-
# 1. node-gyp loads the previously exported compile-time options (defines.gypi).
|
|
16
|
-
# 2. the copy.js script copies the bundled amalgamation into the build folder.
|
|
17
|
-
# 3. node-gyp compiles the copied sqlite3.c along with better_sqlite3.cpp.
|
|
18
|
-
# 4. node-gyp links the two resulting binaries to generate better_sqlite3.node.
|
|
19
|
-
# ===
|
|
20
|
-
|
|
21
|
-
YEAR="2022"
|
|
22
|
-
VERSION="3380200"
|
|
23
|
-
|
|
24
|
-
# Defines below are sorted alphabetically
|
|
25
|
-
DEFINES="
|
|
26
|
-
HAVE_INT16_T=1
|
|
27
|
-
HAVE_INT32_T=1
|
|
28
|
-
HAVE_INT8_T=1
|
|
29
|
-
HAVE_STDINT_H=1
|
|
30
|
-
HAVE_UINT16_T=1
|
|
31
|
-
HAVE_UINT32_T=1
|
|
32
|
-
HAVE_UINT8_T=1
|
|
33
|
-
SQLITE_DEFAULT_CACHE_SIZE=-16000
|
|
34
|
-
SQLITE_DEFAULT_FOREIGN_KEYS=1
|
|
35
|
-
SQLITE_DEFAULT_MEMSTATUS=0
|
|
36
|
-
SQLITE_DEFAULT_WAL_SYNCHRONOUS=1
|
|
37
|
-
SQLITE_DQS=0
|
|
38
|
-
SQLITE_ENABLE_COLUMN_METADATA
|
|
39
|
-
SQLITE_ENABLE_DESERIALIZE
|
|
40
|
-
SQLITE_ENABLE_FTS3
|
|
41
|
-
SQLITE_ENABLE_FTS3_PARENTHESIS
|
|
42
|
-
SQLITE_ENABLE_FTS4
|
|
43
|
-
SQLITE_ENABLE_FTS5
|
|
44
|
-
SQLITE_ENABLE_GEOPOLY
|
|
45
|
-
SQLITE_ENABLE_JSON1
|
|
46
|
-
SQLITE_ENABLE_MATH_FUNCTIONS
|
|
47
|
-
SQLITE_ENABLE_RTREE
|
|
48
|
-
SQLITE_ENABLE_STAT4
|
|
49
|
-
SQLITE_ENABLE_UPDATE_DELETE_LIMIT
|
|
50
|
-
SQLITE_LIKE_DOESNT_MATCH_BLOBS
|
|
51
|
-
SQLITE_OMIT_DEPRECATED
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
rm -rf "$
|
|
70
|
-
|
|
71
|
-
mkdir -p "$
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
printf "
|
|
94
|
-
printf "
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
PATCH
|
|
102
|
-
sed -
|
|
103
|
-
sed -i.bak -e "/^
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
printf "
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
echo "done!"
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# ===
|
|
4
|
+
# This script defines and generates the bundled SQLite3 unit (sqlite3.c).
|
|
5
|
+
#
|
|
6
|
+
# The following steps are taken:
|
|
7
|
+
# 1. populate the shell environment with the defined compile-time options.
|
|
8
|
+
# 2. download and extract the SQLite3 source code into a temporary directory.
|
|
9
|
+
# 3. run "sh configure" and "make sqlite3.c" within the source directory.
|
|
10
|
+
# 4. copy the generated amalgamation into the output directory (./sqlite3).
|
|
11
|
+
# 5. export the defined compile-time options to a gyp file (./defines.gypi).
|
|
12
|
+
# 6. update the docs (../docs/compilation.md) with details of this distribution.
|
|
13
|
+
#
|
|
14
|
+
# When a user builds better-sqlite3, the following steps are taken:
|
|
15
|
+
# 1. node-gyp loads the previously exported compile-time options (defines.gypi).
|
|
16
|
+
# 2. the copy.js script copies the bundled amalgamation into the build folder.
|
|
17
|
+
# 3. node-gyp compiles the copied sqlite3.c along with better_sqlite3.cpp.
|
|
18
|
+
# 4. node-gyp links the two resulting binaries to generate better_sqlite3.node.
|
|
19
|
+
# ===
|
|
20
|
+
|
|
21
|
+
YEAR="2022"
|
|
22
|
+
VERSION="3380200"
|
|
23
|
+
|
|
24
|
+
# Defines below are sorted alphabetically
|
|
25
|
+
DEFINES="
|
|
26
|
+
HAVE_INT16_T=1
|
|
27
|
+
HAVE_INT32_T=1
|
|
28
|
+
HAVE_INT8_T=1
|
|
29
|
+
HAVE_STDINT_H=1
|
|
30
|
+
HAVE_UINT16_T=1
|
|
31
|
+
HAVE_UINT32_T=1
|
|
32
|
+
HAVE_UINT8_T=1
|
|
33
|
+
SQLITE_DEFAULT_CACHE_SIZE=-16000
|
|
34
|
+
SQLITE_DEFAULT_FOREIGN_KEYS=1
|
|
35
|
+
SQLITE_DEFAULT_MEMSTATUS=0
|
|
36
|
+
SQLITE_DEFAULT_WAL_SYNCHRONOUS=1
|
|
37
|
+
SQLITE_DQS=0
|
|
38
|
+
SQLITE_ENABLE_COLUMN_METADATA
|
|
39
|
+
SQLITE_ENABLE_DESERIALIZE
|
|
40
|
+
SQLITE_ENABLE_FTS3
|
|
41
|
+
SQLITE_ENABLE_FTS3_PARENTHESIS
|
|
42
|
+
SQLITE_ENABLE_FTS4
|
|
43
|
+
SQLITE_ENABLE_FTS5
|
|
44
|
+
SQLITE_ENABLE_GEOPOLY
|
|
45
|
+
SQLITE_ENABLE_JSON1
|
|
46
|
+
SQLITE_ENABLE_MATH_FUNCTIONS
|
|
47
|
+
SQLITE_ENABLE_RTREE
|
|
48
|
+
SQLITE_ENABLE_STAT4
|
|
49
|
+
SQLITE_ENABLE_UPDATE_DELETE_LIMIT
|
|
50
|
+
SQLITE_LIKE_DOESNT_MATCH_BLOBS
|
|
51
|
+
SQLITE_OMIT_DEPRECATED
|
|
52
|
+
SQLITE_OMIT_PROGRESS_CALLBACK
|
|
53
|
+
SQLITE_OMIT_SHARED_CACHE
|
|
54
|
+
SQLITE_OMIT_TCL_VARIABLE
|
|
55
|
+
SQLITE_SOUNDEX
|
|
56
|
+
SQLITE_THREADSAFE=2
|
|
57
|
+
SQLITE_TRACE_SIZE_LIMIT=32
|
|
58
|
+
SQLITE_USER_AUTHENTICATION=0
|
|
59
|
+
SQLITE_USE_URI=0
|
|
60
|
+
"
|
|
61
|
+
|
|
62
|
+
# ========== START SCRIPT ========== #
|
|
63
|
+
|
|
64
|
+
echo "setting up environment..."
|
|
65
|
+
DEPS="$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)"
|
|
66
|
+
TEMP="$DEPS/temp"
|
|
67
|
+
OUTPUT="$DEPS/sqlite3"
|
|
68
|
+
rm -rf "$TEMP"
|
|
69
|
+
rm -rf "$OUTPUT"
|
|
70
|
+
mkdir -p "$TEMP"
|
|
71
|
+
mkdir -p "$OUTPUT"
|
|
72
|
+
export CFLAGS=`echo $(echo "$DEFINES" | sed -e "/^\s*$/d" -e "s/^/-D/")`
|
|
73
|
+
|
|
74
|
+
echo "downloading source..."
|
|
75
|
+
curl -#f "https://www.sqlite.org/$YEAR/sqlite-src-$VERSION.zip" > "$TEMP/source.zip" || exit 1
|
|
76
|
+
|
|
77
|
+
echo "extracting source..."
|
|
78
|
+
unzip "$TEMP/source.zip" -d "$TEMP" > /dev/null || exit 1
|
|
79
|
+
cd "$TEMP/sqlite-src-$VERSION" || exit 1
|
|
80
|
+
|
|
81
|
+
echo "configuring amalgamation..."
|
|
82
|
+
sh configure > /dev/null || exit 1
|
|
83
|
+
|
|
84
|
+
echo "building amalgamation..."
|
|
85
|
+
make sqlite3.c > /dev/null || exit 1
|
|
86
|
+
|
|
87
|
+
echo "copying amalgamation..."
|
|
88
|
+
cp sqlite3.c sqlite3.h sqlite3ext.h "$OUTPUT/" || exit 1
|
|
89
|
+
|
|
90
|
+
echo "updating gyp configs..."
|
|
91
|
+
GYP="$DEPS/defines.gypi"
|
|
92
|
+
printf "# THIS FILE IS AUTOMATICALLY GENERATED BY deps/download.sh (DO NOT EDIT)\n\n{\n 'defines': [\n" > "$GYP"
|
|
93
|
+
printf "$DEFINES" | sed -e "/^\s*$/d" -e "s/\(.*\)/ '\1',/" >> "$GYP"
|
|
94
|
+
printf " ],\n}\n" >> "$GYP"
|
|
95
|
+
|
|
96
|
+
echo "updating docs..."
|
|
97
|
+
DOCS="$DEPS/../docs/compilation.md"
|
|
98
|
+
MAJOR=`expr "${VERSION:0:1}" + 0`
|
|
99
|
+
MINOR=`expr "${VERSION:1:2}" + 0`
|
|
100
|
+
PATCH=`expr "${VERSION:3:2}" + 0`
|
|
101
|
+
sed -Ei.bak -e "s/version [0-9]+\.[0-9]+\.[0-9]+/version $MAJOR.$MINOR.$PATCH/g" "$DOCS"
|
|
102
|
+
sed -i.bak -e "/^SQLITE_/,\$d" "$DOCS"
|
|
103
|
+
sed -i.bak -e "/^HAVE_/,\$d" "$DOCS"
|
|
104
|
+
rm "$DOCS".bak
|
|
105
|
+
printf "$DEFINES" | sed -e "/^\s*$/d" >> "$DOCS"
|
|
106
|
+
printf "\`\`\`\n" >> "$DOCS"
|
|
107
|
+
|
|
108
|
+
echo "cleaning up..."
|
|
109
|
+
cd - > /dev/null || exit 1
|
|
110
|
+
rm -rf "$TEMP"
|
|
111
|
+
|
|
112
|
+
echo "done!"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "better-sqlite3-multiple-ciphers",
|
|
3
|
-
"version": "9.4.
|
|
3
|
+
"version": "9.4.5",
|
|
4
4
|
"description": "better-sqlite3 with multiple-cipher encryption support",
|
|
5
5
|
"homepage": "https://github.com/m4heshd/better-sqlite3-multiple-ciphers",
|
|
6
6
|
"author": "Mahesh Bandara Wijerathna (m4heshd) <m4heshd@gmail.com>",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"fs-extra": "^11.1.1",
|
|
29
29
|
"mocha": "^10.2.0",
|
|
30
30
|
"nodemark": "^0.3.0",
|
|
31
|
-
"prebuild": "^
|
|
31
|
+
"prebuild": "^13.0.0",
|
|
32
32
|
"sqlite": "^5.0.1",
|
|
33
33
|
"sqlite3": "^5.1.6"
|
|
34
34
|
},
|
package/src/better_sqlite3.cpp
CHANGED
|
@@ -2,7 +2,35 @@
|
|
|
2
2
|
//
|
|
3
3
|
|
|
4
4
|
#include "better_sqlite3.hpp"
|
|
5
|
-
#line
|
|
5
|
+
#line 153 "./src/util/macros.lzz"
|
|
6
|
+
void SetPrototypeGetter(
|
|
7
|
+
v8::Isolate* isolate,
|
|
8
|
+
v8::Local<v8::External> data,
|
|
9
|
+
v8::Local<v8::FunctionTemplate> recv,
|
|
10
|
+
const char* name,
|
|
11
|
+
v8::AccessorGetterCallback func
|
|
12
|
+
) {
|
|
13
|
+
v8::HandleScope scope(isolate);
|
|
14
|
+
|
|
15
|
+
#if defined NODE_MODULE_VERSION && NODE_MODULE_VERSION < 121
|
|
16
|
+
recv->InstanceTemplate()->SetAccessor(
|
|
17
|
+
InternalizedFromLatin1(isolate, name),
|
|
18
|
+
func,
|
|
19
|
+
0,
|
|
20
|
+
data,
|
|
21
|
+
v8::AccessControl::DEFAULT,
|
|
22
|
+
v8::PropertyAttribute::None
|
|
23
|
+
);
|
|
24
|
+
#else
|
|
25
|
+
recv->InstanceTemplate()->SetAccessor(
|
|
26
|
+
InternalizedFromLatin1(isolate, name),
|
|
27
|
+
func,
|
|
28
|
+
0,
|
|
29
|
+
data
|
|
30
|
+
);
|
|
31
|
+
#endif
|
|
32
|
+
}
|
|
33
|
+
#line 183 "./src/util/macros.lzz"
|
|
6
34
|
#ifndef V8_COMPRESS_POINTERS_IN_SHARED_CAGE
|
|
7
35
|
#define SAFE_NEW_BUFFER(env, data, length, finalizeCallback, finalizeHint) node::Buffer::New(env, data, length, finalizeCallback, finalizeHint)
|
|
8
36
|
#else
|
|
@@ -119,20 +147,6 @@ void SetPrototypeSymbolMethod (v8::Isolate * isolate, v8::Local <v8::External> d
|
|
|
119
147
|
v8::FunctionTemplate::New(isolate, func, data, v8::Signature::New(isolate, recv))
|
|
120
148
|
);
|
|
121
149
|
}
|
|
122
|
-
#line 142 "./src/util/macros.lzz"
|
|
123
|
-
void SetPrototypeGetter (v8::Isolate * isolate, v8::Local <v8::External> data, v8::Local <v8::FunctionTemplate> recv, char const * name, v8::AccessorGetterCallback func)
|
|
124
|
-
#line 148 "./src/util/macros.lzz"
|
|
125
|
-
{
|
|
126
|
-
v8::HandleScope scope(isolate);
|
|
127
|
-
recv->InstanceTemplate()->SetAccessor(
|
|
128
|
-
InternalizedFromLatin1(isolate, name),
|
|
129
|
-
func,
|
|
130
|
-
0,
|
|
131
|
-
data,
|
|
132
|
-
v8::AccessControl::DEFAULT,
|
|
133
|
-
v8::PropertyAttribute::None
|
|
134
|
-
);
|
|
135
|
-
}
|
|
136
150
|
#line 4 "./src/util/constants.lzz"
|
|
137
151
|
v8::Local <v8::String> CS::Code (v8::Isolate * isolate, int code)
|
|
138
152
|
#line 4 "./src/util/constants.lzz"
|
package/src/better_sqlite3.hpp
CHANGED
|
@@ -18,6 +18,14 @@
|
|
|
18
18
|
#include <node_buffer.h>
|
|
19
19
|
#line 31 "./src/util/macros.lzz"
|
|
20
20
|
template <class T> using CopyablePersistent = v8::Persistent<T, v8::CopyablePersistentTraits<T>>;
|
|
21
|
+
#line 144 "./src/util/macros.lzz"
|
|
22
|
+
void SetPrototypeGetter(
|
|
23
|
+
v8::Isolate* isolate,
|
|
24
|
+
v8::Local<v8::External> data,
|
|
25
|
+
v8::Local<v8::FunctionTemplate> recv,
|
|
26
|
+
const char* name,
|
|
27
|
+
v8::AccessorGetterCallback func
|
|
28
|
+
);
|
|
21
29
|
#line 36 "./src/util/binder.lzz"
|
|
22
30
|
static bool IsPlainObject(v8::Isolate* isolate, v8::Local<v8::Object> obj);
|
|
23
31
|
#define LZZ_INLINE inline
|
|
@@ -53,8 +61,6 @@ v8::Local <v8::FunctionTemplate> NewConstructorTemplate (v8::Isolate * isolate,
|
|
|
53
61
|
void SetPrototypeMethod (v8::Isolate * isolate, v8::Local <v8::External> data, v8::Local <v8::FunctionTemplate> recv, char const * name, v8::FunctionCallback func);
|
|
54
62
|
#line 129 "./src/util/macros.lzz"
|
|
55
63
|
void SetPrototypeSymbolMethod (v8::Isolate * isolate, v8::Local <v8::External> data, v8::Local <v8::FunctionTemplate> recv, v8::Local <v8::Symbol> symbol, v8::FunctionCallback func);
|
|
56
|
-
#line 142 "./src/util/macros.lzz"
|
|
57
|
-
void SetPrototypeGetter (v8::Isolate * isolate, v8::Local <v8::External> data, v8::Local <v8::FunctionTemplate> recv, char const * name, v8::AccessorGetterCallback func);
|
|
58
64
|
#line 1 "./src/util/constants.lzz"
|
|
59
65
|
class CS
|
|
60
66
|
{
|