Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Epic: https://github.com/pouchdb/pouchdb/issues/8661 #8662

Open
wants to merge 292 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
292 commits
Select commit Hold shift + click to select a range
566032a
14. Juni 2023, 09:56
frank-dspeed Jun 14, 2023
b23ca04
14. Juni 2023, 09:57
frank-dspeed Jun 14, 2023
d760c69
14. Juni 2023, 09:59
frank-dspeed Jun 14, 2023
67bc1b6
14. Juni 2023, 10:03
frank-dspeed Jun 14, 2023
fd69e23
14. Juni 2023, 10:05
frank-dspeed Jun 14, 2023
321c8f6
14. Juni 2023, 10:06
frank-dspeed Jun 14, 2023
8366718
14. Juni 2023, 10:14
frank-dspeed Jun 14, 2023
c1d6963
14. Juni 2023, 10:17
frank-dspeed Jun 14, 2023
dda1bea
14. Juni 2023, 10:19
frank-dspeed Jun 14, 2023
1a38be2
14. Juni 2023, 10:22
frank-dspeed Jun 14, 2023
f124f5c
14. Juni 2023, 10:22
frank-dspeed Jun 14, 2023
5d8a4f0
14. Juni 2023, 10:24
frank-dspeed Jun 14, 2023
45999a5
14. Juni 2023, 10:31
frank-dspeed Jun 14, 2023
b5b006c
14. Juni 2023, 10:36
frank-dspeed Jun 14, 2023
824f126
14. Juni 2023, 11:05
frank-dspeed Jun 14, 2023
d809a14
14. Juni 2023, 11:06
frank-dspeed Jun 14, 2023
6a33fb1
14. Juni 2023, 11:08
frank-dspeed Jun 14, 2023
7ae8146
14. Juni 2023, 11:09
frank-dspeed Jun 14, 2023
c823a0e
14. Juni 2023, 11:10
frank-dspeed Jun 14, 2023
739ead5
14. Juni 2023, 11:11
frank-dspeed Jun 14, 2023
7f9fa2e
14. Juni 2023, 11:12
frank-dspeed Jun 14, 2023
f5edd2e
14. Juni 2023, 11:13
frank-dspeed Jun 14, 2023
c9a79e9
14. Juni 2023, 11:22
frank-dspeed Jun 14, 2023
f8416e3
14. Juni 2023, 11:30
frank-dspeed Jun 14, 2023
ffc7867
14. Juni 2023, 11:30
frank-dspeed Jun 14, 2023
facab89
14. Juni 2023, 11:35
frank-dspeed Jun 14, 2023
46bd6de
14. Juni 2023, 11:36
frank-dspeed Jun 14, 2023
c5c1f11
14. Juni 2023, 11:39
frank-dspeed Jun 14, 2023
5ede9ea
14. Juni 2023, 11:47
frank-dspeed Jun 14, 2023
1ccc1e1
14. Juni 2023, 11:48
frank-dspeed Jun 14, 2023
5066b6f
14. Juni 2023, 12:01
frank-dspeed Jun 14, 2023
3268041
14. Juni 2023, 12:05
frank-dspeed Jun 14, 2023
3db1747
14. Juni 2023, 12:06
frank-dspeed Jun 14, 2023
1f7c543
14. Juni 2023, 12:10
frank-dspeed Jun 14, 2023
6198124
fresh
frank-dspeed Jun 14, 2023
748c483
14. Juni 2023, 12:36
frank-dspeed Jun 14, 2023
036f68c
14. Juni 2023, 12:37
frank-dspeed Jun 14, 2023
420b7bf
14. Juni 2023, 13:08
frank-dspeed Jun 14, 2023
0f8170f
14. Juni 2023, 13:09
frank-dspeed Jun 14, 2023
b9870bd
14. Juni 2023, 13:10
frank-dspeed Jun 14, 2023
c75f7d2
14. Juni 2023, 13:11
frank-dspeed Jun 14, 2023
806a382
14. Juni 2023, 13:19
frank-dspeed Jun 14, 2023
2788d12
14. Juni 2023, 13:20
frank-dspeed Jun 14, 2023
3916894
14. Juni 2023, 13:21
frank-dspeed Jun 14, 2023
1077460
Add: plugin builds
frank-dspeed Jun 14, 2023
26f592c
14. Juni 2023, 13:34
frank-dspeed Jun 14, 2023
b39d588
14. Juni 2023, 13:37
frank-dspeed Jun 14, 2023
affce62
update crypto methods to work with blob and string
frank-dspeed Jun 14, 2023
bcb4195
14. Juni 2023, 13:41
frank-dspeed Jun 14, 2023
424997c
14. Juni 2023, 13:42
frank-dspeed Jun 14, 2023
98701d5
14. Juni 2023, 13:45
frank-dspeed Jun 14, 2023
2f965d8
14. Juni 2023, 13:47
frank-dspeed Jun 14, 2023
b573c84
14. Juni 2023, 20:32
frank-dspeed Jun 14, 2023
7194316
14. Juni 2023, 20:33
frank-dspeed Jun 14, 2023
dd8a15b
14. Juni 2023, 20:34
frank-dspeed Jun 14, 2023
5f6a443
14. Juni 2023, 20:35
frank-dspeed Jun 14, 2023
2cf889f
14. Juni 2023, 20:40
frank-dspeed Jun 14, 2023
bc0892b
14. Juni 2023, 20:41
frank-dspeed Jun 14, 2023
70335a6
14. Juni 2023, 20:43
frank-dspeed Jun 14, 2023
7dde3ec
15. Juni 2023, 07:26
frank-dspeed Jun 15, 2023
ff06619
15. Juni 2023, 07:32
frank-dspeed Jun 15, 2023
be1622f
15. Juni 2023, 07:33
frank-dspeed Jun 15, 2023
0cf4b46
15. Juni 2023, 07:52
frank-dspeed Jun 15, 2023
8058d6f
15. Juni 2023, 07:55
frank-dspeed Jun 15, 2023
aa381b7
15. Juni 2023, 07:57
frank-dspeed Jun 15, 2023
779be0b
15. Juni 2023, 07:58
frank-dspeed Jun 15, 2023
12b0576
15. Juni 2023, 07:59
frank-dspeed Jun 15, 2023
42e7780
15. Juni 2023, 08:05
frank-dspeed Jun 15, 2023
c1ec8ff
15. Juni 2023, 08:09
frank-dspeed Jun 15, 2023
a7d38e7
15. Juni 2023, 08:16
frank-dspeed Jun 15, 2023
ab69714
15. Juni 2023, 11:30
frank-dspeed Jun 15, 2023
3bf7ef4
15. Juni 2023, 11:31
frank-dspeed Jun 15, 2023
28975bf
15. Juni 2023, 11:35
frank-dspeed Jun 15, 2023
8833c12
15. Juni 2023, 11:36
frank-dspeed Jun 15, 2023
185d386
15. Juni 2023, 11:40
frank-dspeed Jun 15, 2023
9944bca
15. Juni 2023, 11:42
frank-dspeed Jun 15, 2023
75a6fe7
15. Juni 2023, 11:44
frank-dspeed Jun 15, 2023
818a3ad
15. Juni 2023, 11:45
frank-dspeed Jun 15, 2023
0a0d8c5
15. Juni 2023, 11:47
frank-dspeed Jun 15, 2023
43df44b
15. Juni 2023, 11:55
frank-dspeed Jun 15, 2023
0801909
15. Juni 2023, 11:56
frank-dspeed Jun 15, 2023
f5e1050
15. Juni 2023, 11:57
frank-dspeed Jun 15, 2023
b3d63a7
15. Juni 2023, 12:00
frank-dspeed Jun 15, 2023
a62e0e7
15. Juni 2023, 12:01
frank-dspeed Jun 15, 2023
cd48e7d
15. Juni 2023, 12:01
frank-dspeed Jun 15, 2023
6360a23
15. Juni 2023, 12:04
frank-dspeed Jun 15, 2023
351768c
15. Juni 2023, 12:04
frank-dspeed Jun 15, 2023
7468230
15. Juni 2023, 12:06
frank-dspeed Jun 15, 2023
5809d91
15. Juni 2023, 12:09
frank-dspeed Jun 15, 2023
3230d4c
15. Juni 2023, 12:12
frank-dspeed Jun 15, 2023
28c88fd
15. Juni 2023, 12:13
frank-dspeed Jun 15, 2023
1c95168
15. Juni 2023, 12:15
frank-dspeed Jun 15, 2023
4107659
Update
frank-dspeed Jun 15, 2023
6667147
15. Juni 2023, 12:30
frank-dspeed Jun 15, 2023
e27d4db
15. Juni 2023, 12:33
frank-dspeed Jun 15, 2023
70fe231
15. Juni 2023, 12:34
frank-dspeed Jun 15, 2023
4ad3932
15. Juni 2023, 12:35
frank-dspeed Jun 15, 2023
5cbc500
15. Juni 2023, 12:36
frank-dspeed Jun 15, 2023
2b54f02
15. Juni 2023, 12:37
frank-dspeed Jun 15, 2023
3a83fce
15. Juni 2023, 12:38
frank-dspeed Jun 15, 2023
71896e3
15. Juni 2023, 12:40
frank-dspeed Jun 15, 2023
cf8304b
15. Juni 2023, 12:41
frank-dspeed Jun 15, 2023
e091126
15. Juni 2023, 12:42
frank-dspeed Jun 15, 2023
ecf5788
15. Juni 2023, 12:45
frank-dspeed Jun 15, 2023
873cdd6
15. Juni 2023, 12:49
frank-dspeed Jun 15, 2023
e8dfe3d
15. Juni 2023, 13:05
frank-dspeed Jun 15, 2023
64e3894
15. Juni 2023, 13:10
frank-dspeed Jun 15, 2023
0607e09
15. Juni 2023, 13:13
frank-dspeed Jun 15, 2023
45e8127
15. Juni 2023, 13:24
frank-dspeed Jun 15, 2023
704a138
15. Juni 2023, 13:26
frank-dspeed Jun 15, 2023
dd5a358
15. Juni 2023, 13:27
frank-dspeed Jun 15, 2023
4bacc3d
15. Juni 2023, 13:27
frank-dspeed Jun 15, 2023
a869c5e
15. Juni 2023, 13:28
frank-dspeed Jun 15, 2023
c242412
15. Juni 2023, 13:30
frank-dspeed Jun 15, 2023
15604b3
15. Juni 2023, 13:31
frank-dspeed Jun 15, 2023
5b582aa
15. Juni 2023, 13:32
frank-dspeed Jun 15, 2023
4aefb91
15. Juni 2023, 13:33
frank-dspeed Jun 15, 2023
c8ec67b
15. Juni 2023, 13:34
frank-dspeed Jun 15, 2023
bd163e4
15. Juni 2023, 13:38
frank-dspeed Jun 15, 2023
50db89a
15. Juni 2023, 13:40
frank-dspeed Jun 15, 2023
1fb9ae3
15. Juni 2023, 13:41
frank-dspeed Jun 15, 2023
180b2c6
15. Juni 2023, 13:43
frank-dspeed Jun 15, 2023
7645d2c
15. Juni 2023, 13:46
frank-dspeed Jun 15, 2023
5bb4643
15. Juni 2023, 13:47
frank-dspeed Jun 15, 2023
494642d
15. Juni 2023, 13:48
frank-dspeed Jun 15, 2023
62d88d0
15. Juni 2023, 13:59
frank-dspeed Jun 15, 2023
32dba9c
15. Juni 2023, 14:00
frank-dspeed Jun 15, 2023
0eb2cda
15. Juni 2023, 14:01
frank-dspeed Jun 15, 2023
285f465
15. Juni 2023, 14:07
frank-dspeed Jun 15, 2023
08e3b4f
nicer: query
frank-dspeed Jun 15, 2023
4e0428e
15. Juni 2023, 14:11
frank-dspeed Jun 15, 2023
69f75ee
15. Juni 2023, 14:13
frank-dspeed Jun 15, 2023
eab7dd4
15. Juni 2023, 14:29
frank-dspeed Jun 15, 2023
d371528
15. Juni 2023, 14:31
frank-dspeed Jun 15, 2023
23549a9
15. Juni 2023, 14:33
frank-dspeed Jun 15, 2023
23040fc
15. Juni 2023, 14:37
frank-dspeed Jun 15, 2023
2239d25
15. Juni 2023, 14:39
frank-dspeed Jun 15, 2023
2bda42b
15. Juni 2023, 14:43
frank-dspeed Jun 15, 2023
4d3d176
15. Juni 2023, 14:58
frank-dspeed Jun 15, 2023
79bcbed
15. Juni 2023, 15:01
frank-dspeed Jun 15, 2023
983bbf7
15. Juni 2023, 15:04
frank-dspeed Jun 15, 2023
100c068
15. Juni 2023, 15:16
frank-dspeed Jun 15, 2023
61aa1ab
15. Juni 2023, 15:17
frank-dspeed Jun 15, 2023
65ce660
15. Juni 2023, 15:19
frank-dspeed Jun 15, 2023
5b06f6d
15. Juni 2023, 15:20
frank-dspeed Jun 15, 2023
8330064
15. Juni 2023, 15:22
frank-dspeed Jun 15, 2023
a1362ae
15. Juni 2023, 15:36
frank-dspeed Jun 15, 2023
3968c79
15. Juni 2023, 15:46
frank-dspeed Jun 15, 2023
ca7c64f
15. Juni 2023, 15:47
frank-dspeed Jun 15, 2023
26c03d9
15. Juni 2023, 15:47
frank-dspeed Jun 15, 2023
82e0ece
15. Juni 2023, 15:48
frank-dspeed Jun 15, 2023
e22d59a
15. Juni 2023, 15:50
frank-dspeed Jun 15, 2023
e0ba7e0
15. Juni 2023, 15:51
frank-dspeed Jun 15, 2023
43477e7
15. Juni 2023, 15:55
frank-dspeed Jun 15, 2023
c0da26b
15. Juni 2023, 15:58
frank-dspeed Jun 15, 2023
2bba83e
15. Juni 2023, 16:05
frank-dspeed Jun 15, 2023
b462ece
16. Juni 2023, 07:15
frank-dspeed Jun 16, 2023
09a452b
16. Juni 2023, 07:24
frank-dspeed Jun 16, 2023
2f6518f
16. Juni 2023, 07:25
frank-dspeed Jun 16, 2023
02b26ed
16. Juni 2023, 07:26
frank-dspeed Jun 16, 2023
3ad1dbc
Fix: sublevel-pouchdb => pouchdb-sublevel
frank-dspeed Jun 16, 2023
23a5cd8
Fix: sublevel-pouchdb => pouchdb-sublevel
frank-dspeed Jun 16, 2023
6148216
16. Juni 2023, 07:39
frank-dspeed Jun 16, 2023
828e062
16. Juni 2023, 07:41
frank-dspeed Jun 16, 2023
434f6dd
16. Juni 2023, 07:42
frank-dspeed Jun 16, 2023
c435383
16. Juni 2023, 08:13
frank-dspeed Jun 16, 2023
704d51e
16. Juni 2023, 08:14
frank-dspeed Jun 16, 2023
616d6f7
16. Juni 2023, 08:15
frank-dspeed Jun 16, 2023
4791b15
16. Juni 2023, 08:16
frank-dspeed Jun 16, 2023
717ae6c
16. Juni 2023, 08:17
frank-dspeed Jun 16, 2023
a23ddde
16. Juni 2023, 08:19
frank-dspeed Jun 16, 2023
2254655
16. Juni 2023, 08:20
frank-dspeed Jun 16, 2023
b21be86
16. Juni 2023, 08:30
frank-dspeed Jun 16, 2023
820a63f
16. Juni 2023, 08:31
frank-dspeed Jun 16, 2023
33f4fdb
16. Juni 2023, 08:32
frank-dspeed Jun 16, 2023
bc15035
16. Juni 2023, 08:40
frank-dspeed Jun 16, 2023
b9044de
16. Juni 2023, 08:43
frank-dspeed Jun 16, 2023
c1615e3
16. Juni 2023, 08:44
frank-dspeed Jun 16, 2023
b7d1b3f
16. Juni 2023, 08:45
frank-dspeed Jun 16, 2023
9ae0be7
16. Juni 2023, 08:48
frank-dspeed Jun 16, 2023
b6ca24f
16. Juni 2023, 08:52
frank-dspeed Jun 16, 2023
53118bf
16. Juni 2023, 08:56
frank-dspeed Jun 16, 2023
da9389d
16. Juni 2023, 08:58
frank-dspeed Jun 16, 2023
01f9624
16. Juni 2023, 08:59
frank-dspeed Jun 16, 2023
ac3b643
16. Juni 2023, 09:02
frank-dspeed Jun 16, 2023
14cf04f
16. Juni 2023, 09:05
frank-dspeed Jun 16, 2023
8fa3d1c
16. Juni 2023, 09:06
frank-dspeed Jun 16, 2023
2ddc6b3
16. Juni 2023, 09:08
frank-dspeed Jun 16, 2023
8ab3b88
16. Juni 2023, 09:09
frank-dspeed Jun 16, 2023
d0ce7d0
16. Juni 2023, 09:10
frank-dspeed Jun 16, 2023
0d674d9
16. Juni 2023, 09:11
frank-dspeed Jun 16, 2023
cb4dcb7
16. Juni 2023, 09:15
frank-dspeed Jun 16, 2023
7f56e51
16. Juni 2023, 09:16
frank-dspeed Jun 16, 2023
107c8d0
16. Juni 2023, 09:17
frank-dspeed Jun 16, 2023
632f3e9
16. Juni 2023, 09:18
frank-dspeed Jun 16, 2023
50abec6
16. Juni 2023, 09:20
frank-dspeed Jun 16, 2023
a37046e
16. Juni 2023, 09:22
frank-dspeed Jun 16, 2023
cd6ee4a
16. Juni 2023, 09:30
frank-dspeed Jun 16, 2023
d8dad75
16. Juni 2023, 09:38
frank-dspeed Jun 16, 2023
21218c2
16. Juni 2023, 09:43
frank-dspeed Jun 16, 2023
51f5f1a
16. Juni 2023, 09:44
frank-dspeed Jun 16, 2023
1b2b9e3
16. Juni 2023, 09:46
frank-dspeed Jun 16, 2023
128e448
16. Juni 2023, 10:04
frank-dspeed Jun 16, 2023
3bbb7b7
16. Juni 2023, 10:05
frank-dspeed Jun 16, 2023
4977f7e
16. Juni 2023, 10:09
frank-dspeed Jun 16, 2023
41627bd
16. Juni 2023, 10:12
frank-dspeed Jun 16, 2023
30cd091
16. Juni 2023, 10:19
frank-dspeed Jun 16, 2023
abd6401
16. Juni 2023, 10:25
frank-dspeed Jun 16, 2023
15b1a3e
16. Juni 2023, 10:30
frank-dspeed Jun 16, 2023
6287e49
16. Juni 2023, 10:32
frank-dspeed Jun 16, 2023
393dfa6
16. Juni 2023, 10:32
frank-dspeed Jun 16, 2023
6262259
16. Juni 2023, 10:39
frank-dspeed Jun 16, 2023
737978c
16. Juni 2023, 10:40
frank-dspeed Jun 16, 2023
786e372
16. Juni 2023, 10:42
frank-dspeed Jun 16, 2023
9360326
16. Juni 2023, 10:43
frank-dspeed Jun 16, 2023
0ae6eca
16. Juni 2023, 10:45
frank-dspeed Jun 16, 2023
9f355a9
16. Juni 2023, 10:46
frank-dspeed Jun 16, 2023
17a8e0e
16. Juni 2023, 10:47
frank-dspeed Jun 16, 2023
7a6c500
16. Juni 2023, 10:49
frank-dspeed Jun 16, 2023
0fc6f4f
16. Juni 2023, 10:52
frank-dspeed Jun 16, 2023
86e0af6
16. Juni 2023, 10:55
frank-dspeed Jun 16, 2023
518f3f4
16. Juni 2023, 11:01
frank-dspeed Jun 16, 2023
1faa674
16. Juni 2023, 11:03
frank-dspeed Jun 16, 2023
17ae7d2
16. Juni 2023, 11:06
frank-dspeed Jun 16, 2023
a4e610b
16. Juni 2023, 11:06
frank-dspeed Jun 16, 2023
be62bec
16. Juni 2023, 11:07
frank-dspeed Jun 16, 2023
cad0c9a
16. Juni 2023, 11:08
frank-dspeed Jun 16, 2023
6d738b9
16. Juni 2023, 11:10
frank-dspeed Jun 16, 2023
3dd654a
16. Juni 2023, 11:30
frank-dspeed Jun 16, 2023
d950260
16. Juni 2023, 11:31
frank-dspeed Jun 16, 2023
01d2a64
16. Juni 2023, 11:34
frank-dspeed Jun 16, 2023
9c849ce
16. Juni 2023, 11:39
frank-dspeed Jun 16, 2023
33be941
16. Juni 2023, 11:47
frank-dspeed Jun 16, 2023
6c68a21
16. Juni 2023, 11:53
frank-dspeed Jun 16, 2023
52faebd
16. Juni 2023, 11:54
frank-dspeed Jun 16, 2023
16bd7a7
16. Juni 2023, 12:03
frank-dspeed Jun 16, 2023
2bdef40
16. Juni 2023, 12:03
frank-dspeed Jun 16, 2023
492ed0c
16. Juni 2023, 12:06
frank-dspeed Jun 16, 2023
1d9f434
16. Juni 2023, 12:09
frank-dspeed Jun 16, 2023
fb144e4
16. Juni 2023, 12:10
frank-dspeed Jun 16, 2023
793e807
16. Juni 2023, 12:11
frank-dspeed Jun 16, 2023
a9e2697
16. Juni 2023, 12:12
frank-dspeed Jun 16, 2023
0328b43
16. Juni 2023, 12:15
frank-dspeed Jun 16, 2023
7a113e3
16. Juni 2023, 12:43
frank-dspeed Jun 16, 2023
705aa72
16. Juni 2023, 12:44
frank-dspeed Jun 16, 2023
d1761a8
16. Juni 2023, 12:45
frank-dspeed Jun 16, 2023
9925a4e
16. Juni 2023, 13:24
frank-dspeed Jun 16, 2023
5a16bd5
16. Juni 2023, 13:33
frank-dspeed Jun 16, 2023
382461f
Merge branch 'master' into new_build
lemanschik Jun 16, 2023
4374258
Merge branch 'new_build' of https://github.com/lemanschik/pouchdb int…
frank-dspeed Jun 16, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"extends": "eslint:recommended",

"parserOptions": {
"ecmaVersion": 8,
"ecmaVersion": "latest",
"sourceType": "module"
},

Expand Down
10 changes: 5 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
dist
tmp*
.DS_Store
/node_modules
node_modules
docs/_site
docs/static/css
docs/.jekyll-cache
Expand All @@ -14,16 +15,15 @@ bower_components
tests/integration/cordova/www
tests/pouchdb_server
tests/performance-bundle.js
packages/node_modules/pouchdb/dist/*
pouchdb-webpack.js
lib
!/packages/pouchdb-lib/lib
!/packages/pouchdb-platform/lib
lib_unit
src_browser/
lerna-debug.log
tests/integration/utils-bundle.js
*.heapsnapshot
/pouchdb-server-install
package-lock.json
yarn.lock
/.eslintcache
release-todo.txt
release-todo.txt
15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,18 @@ Contributing
We're always looking for new contributors! If you'd like to try your hand at writing code, writing documentation, designing the website, writing a blog post, or answering [questions on StackOverflow](http://stackoverflow.com/search?tab=newest&q=pouchdb), then we'd love to have your input.

If you have a pull request that you'd like to submit, please read the [contributing guide](https://github.com/pouchdb/pouchdb/blob/master/CONTRIBUTING.md) for info on style, commit message format, and other (slightly!) nitpicky things like that. PouchDB is heavily tested, so you'll also want to check out the [testing guide](https://github.com/pouchdb/pouchdb/blob/master/TESTING.md).

```sh

git clone this
## TODO: fix build scripts to use only the packages/ folder without node_modules.
## link ./packages/node_modules
npm --prefix ./packages install
# or
cd packages
npm install

## Update migration lib
cd packages/pouchdb-lib/
rollup -c
```
58 changes: 25 additions & 33 deletions bin/build-module.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@ var denodeify = require('denodeify');
var mkdirp = denodeify(require('mkdirp'));
var rimraf = denodeify(require('rimraf'));
var builtInModules = require('builtin-modules');
var fs = require('fs');
var all = Promise.all.bind(Promise);
var fs = require('node:fs');

// special case - pouchdb-for-coverage is heavily optimized because it's
// simpler to run the coverage reports that way.
Expand All @@ -34,9 +33,9 @@ var BROWSER_ONLY_PACKAGES =
var BROWSER_DEPENDENCY_ONLY_PACKAGES =
['pouchdb-adapter-leveldb'];

function buildModule(filepath) {
async function buildModule(filepath) {
var pkg = require(path.resolve(filepath, 'package.json'));
var topPkg = require(path.resolve(filepath, '../../../package.json'));
var topPkg = require(path.resolve(filepath, '../../package.json'));
var pouchdbPackages = fs.readdirSync(path.resolve(filepath, '..'));
// All external modules are assumed to be CommonJS, and therefore should
// be skipped by Rollup. We may revisit this later.
Expand All @@ -56,47 +55,40 @@ function buildModule(filepath) {
var skipBrowserField = BROWSER_DEPENDENCY_ONLY_PACKAGES.indexOf(pkg.name) !== -1;
if (!skipBrowserField && pkg.browser && pkg.browser['./lib/index.js'] !==
'./lib/index-browser.js') {
return Promise.reject(new Error(pkg.name +
' is missing a "lib/index.js" entry in the browser field'));
new Error(pkg.name +
' is missing a "lib/index.js" entry in the browser field');
}

// special case for "pouchdb-browser" - there is only one index.js,
// and it's built in "browser mode"
var forceBrowser = BROWSER_ONLY_PACKAGES.indexOf(pkg.name) !== -1;

return Promise.resolve().then(function () {
return rimraf(path.resolve(filepath, 'lib'));
}).then(function () {
return mkdirp(path.resolve(filepath, 'lib'));
}).then(function () {
return all(versions.map(function (isBrowser) {
return rollup({
rimraf(path.resolve(filepath, 'lib'));
mkdirp(path.resolve(filepath, 'lib'));

return versions.map((isBrowser) => ['es'].map(
async (format) => {
const file = (isBrowser ? 'lib/index-browser' : 'lib/index') +
(format === 'es' ? '.es.js' : '.js');
await (await rollup({
input: path.resolve(filepath, './src/index.js'),
external: depsToSkip,
plugins: rollupPlugins({
mainFields: ['module', 'main'],
browser: isBrowser || forceBrowser
})
}).then(function (bundle) {
var formats = ['cjs', 'es'];
return all(formats.map(function (format) {
var file = (isBrowser ? 'lib/index-browser' : 'lib/index') +
(format === 'es' ? '.es.js' : '.js');
return bundle.write({
format: format,
file: path.resolve(filepath, file)
}).then(function () {
console.log(' \u2713' + ' wrote ' +
path.basename(filepath) + '/' + file + ' in ' +
(isBrowser ? 'browser' :
versions.length > 1 ? 'node' : 'vanilla') +
' mode');
});
}));
})).write({
inlineDynamicImports: true,
format: format,
file: path.resolve(filepath, file)
});
}));
});
console.log(' \u2713' + ' wrote ' +
path.basename(filepath) + '/' + file + ' in ' +
(isBrowser ? 'browser' :
versions.length > 1 ? 'node' : 'vanilla') +
' mode');
}
));
}

if (require.main === module) {
buildModule(process.argv[process.argv.length - 1]).catch(function (err) {
console.error('build-module.js error');
Expand Down
30 changes: 12 additions & 18 deletions bin/build-modules.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,23 @@

var path = require('path');
var denodeify = require('denodeify');
var fs = require('fs');
var fs = require('node:fs');
const fsPromises = fs.promises;
var readDir = denodeify(fs.readdir);
var stat = denodeify(fs.stat);

var buildModule = require('./build-module');
var buildPouchDB = require('./build-pouchdb');

function buildPackage(pkg) {
return stat(path.resolve('packages/node_modules', pkg)).then(function (stat) {
if (!stat.isDirectory()) { // skip e.g. 'npm-debug.log'
return;
}
console.log('Building ' + pkg + '...');
if (pkg === 'pouchdb') {
return buildPouchDB();
} else {
return buildModule(path.resolve('./packages/node_modules', pkg));
}
});
}

readDir('packages/node_modules').then(function (packages) {
return Promise.all(packages.map(buildPackage)).catch(function (err) {
readDir('packages').then(function (packages) {
console.log(packages);
return Promise.all(packages.map(async (pkg) => {
const isDir = pkg !== 'server' &&
pkg.startsWith('pouchdb') &&
(await fsPromises.stat(path.resolve('packages', pkg))).isDirectory();
isDir && console.log('Building ' + pkg + '...');
return isDir && pkg === 'pouchdb' ? buildPouchDB() : buildModule(path.resolve('./packages', pkg));

})).catch(function (err) {
console.error('build error');
console.error(err.stack);
process.exit(1);
Expand Down
127 changes: 65 additions & 62 deletions bin/build-pouchdb.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,18 @@

var DEV_MODE = process.env.CLIENT === 'dev';

var path = require('path');
var path = require('node:path');
var denodeify = require('denodeify');
var rollup = require('rollup');
var rollupPlugins = require('./rollupPlugins');
var rimraf = denodeify(require('rimraf'));
var mkdirp = denodeify(require('mkdirp'));
var all = Promise.all.bind(Promise);
var buildUtils = require('./build-utils');
var addPath = buildUtils.addPath;
var doUglify = buildUtils.doUglify;
var doBrowserify = buildUtils.doBrowserify;
var writeFile = buildUtils.writeFile;

var pkg = require('../packages/node_modules/pouchdb/package.json');
var pkg = require('../packages/pouchdb/package.json');
var version = pkg.version;

var builtInModules = require('builtin-modules');
Expand Down Expand Up @@ -70,44 +68,51 @@ var comments = {
'\n// http://pouchdb.com\n',
};

function doRollup(input, browser, formatsToFiles) {
async function doRollup(inputPath, browser, formatsToFiles) {
var start = process.hrtime();
return rollup.rollup({
input: addPath('pouchdb', input),
external: external,
console.log('ROLLUP:',{ inputPath });
const input = path.resolve('packages/' + 'pouchdb/' + inputPath);
const bundle = (await rollup.rollup({
input,
external,
plugins: rollupPlugins({
mainFields: ["module"],
browser: browser
//mainFields: ["module"],
browser
})
}).then(function (bundle) {
return Promise.all(Object.keys(formatsToFiles).map(function (format) {
var fileOut = formatsToFiles[format];
return bundle.generate({format: format}).then(function (bundle) {
if (DEV_MODE) {
var ms = Math.round(process.hrtime(start)[1] / 1000000);
console.log(' took ' + ms + ' ms to rollup ' +
path.dirname(input) + '/' + path.basename(input));
}
return writeFile(addPath('pouchdb', fileOut), bundle.code);
});
}));
});
}));

return Promise.all(Object.keys(formatsToFiles).map(function (format) {
return bundle.generate({format: format}).then(function (bundle) {
if (DEV_MODE) {
var ms = Math.round(process.hrtime(start)[1] / 1000000);
console.log(' took ' + ms + ' ms to rollup ' +
path.dirname(input) + '/' + path.basename(input));
}

return writeFile(path.resolve('packages/' + 'pouchdb/' + formatsToFiles[format]), bundle.output[0].code);
});
}));

}
// true == isBrowser
const builds = [['src/index.js', false, {
cjs: 'lib/index.js',
es: 'lib/index.es.js'
}],['src/index.js', true, {
cjs: 'lib/index-browser.js',
es: 'lib/index-browser.es.js'
}]];


// build for Node (index.js)
function buildForNode() {
return doRollup('src/index.js', false, {
cjs: 'lib/index.js',
es: 'lib/index.es.js'
});
return doRollup(...builds[0]);
}

// build for Browserify/Webpack (index-browser.js)
function buildForBrowserify() {
return doRollup('src/index.js', true, {
cjs: 'lib/index-browser.js',
es: 'lib/index-browser.es.js'
});
async function buildForBrowserify() {
return true;
//return doRollup(...builds[1]);
}

// build for the browser (dist)
Expand All @@ -116,67 +121,65 @@ function buildForBrowser() {
standalone: 'PouchDB'
}).then(function (code) {
code = comments.pouchdb + code;
return all([
writeFile(addPath('pouchdb', 'dist/pouchdb.js'), code),
//console.log('comments:',{code});
return Promise.all([
writeFile(path.resolve('packages/' + 'pouchdb/' + 'dist/pouchdb.js'), code),
doUglify('pouchdb', code, comments.pouchdb, 'dist/pouchdb.min.js')
]);
});
}

function buildPluginsForBrowserify() {
return all(plugins.map(function (plugin) {
return doRollup('src/plugins/' + plugin + '.js', true, {
cjs: 'lib/plugins/' + plugin + '.js'
});
return plugins.map(async (plugin) => await doRollup('src/plugins/' + plugin + '.js', true, {
cjs: 'lib/plugins/' + plugin + '.js'
}));
}

function buildPluginsForBrowser() {
return all(plugins.map(function (plugin) {
return Promise.all(plugins.map(function (plugin) {
var source = 'lib/plugins/' + plugin + '.js';
return doBrowserify('pouchdb', source, {}, 'pouchdb').then(function (code) {
code = comments[plugin] + code;
return all([
writeFile('packages/node_modules/pouchdb/dist/pouchdb.' + plugin + '.js', code),
return Promise.all([
writeFile('packages/pouchdb/dist/pouchdb.' + plugin + '.js', code),
doUglify('pouchdb', code, comments[plugin], 'dist/pouchdb.' + plugin + '.min.js')
]);
});
})).then(function () {
return rimraf(addPath('pouchdb', 'lib/plugins')); // no need for this after building dist/
return rimraf(path.resolve('packages/' + 'pouchdb/' + 'lib/plugins')); // no need for this after building dist/
});
}

var rimrafMkdirp = function (...args) {
return all(args.map(function (otherPath) {
return rimraf(addPath('pouchdb', otherPath));
return Promise.all(args.map(function (otherPath) {
return rimraf(path.resolve('packages/' + 'pouchdb/' + otherPath));
})).then(function () {
return all(args.map(function (otherPath) {
return mkdirp(addPath('pouchdb', otherPath));
return Promise.all(args.map(function (otherPath) {
return mkdirp(path.resolve('packages/' + 'pouchdb/' + otherPath));
}));
});
};

var doAll = function (...args) {
return function () {
return all(args.map(function (promiseFactory) {
return promiseFactory();
}));
};
};

function doBuildNode() {
return mkdirp(addPath('pouchdb', 'lib/plugins'))
.then(buildForNode);
async function doBuildNode() {
await mkdirp(path.resolve('packages/' + 'pouchdb/' + 'lib/plugins'));
buildForNode();
}

function doBuildAll() {
return rimrafMkdirp('lib', 'dist', 'lib/plugins')
.then(doAll(buildForNode, buildForBrowserify))
.then(doAll(buildForBrowser, buildPluginsForBrowserify))
.then(doAll(buildPluginsForBrowser));
async function doBuildAll() {
await rimrafMkdirp('lib', 'dist', 'lib/plugins');
Promise.all([
buildForNode,
//buildForBrowserify,
buildForBrowser,
//buildPluginsForBrowserify,
//buildPluginsForBrowser
].map((fn) => fn()));


}

function doBuild() {
//return doBuildNode();
if (process.env.BUILD_NODE) { // rebuild before "npm test"
return doBuildNode();
} else { // normal, full build
Expand Down
Loading