Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
6ae9050
chore: install playwright
AlbaHerrerias Sep 10, 2025
8db0604
chore: Playwright setup
AlbaHerrerias Sep 11, 2025
a417fc3
chore: deprecate argsarray dependency
AlbaHerrerias Sep 11, 2025
54df118
chore: deprecate inherits dependency
AlbaHerrerias Sep 11, 2025
ef35434
chore: deprecate lodash.pick dependency
AlbaHerrerias Sep 11, 2025
1a62b27
chore: deprecate unused pouchdb-adapter-memory dependency
AlbaHerrerias Sep 11, 2025
e218d3a
chore: deprecate bluebird dev dependency
AlbaHerrerias Sep 11, 2025
a254331
chore: deprecate uglify-js dev dependency
AlbaHerrerias Sep 11, 2025
7154f6c
chore: deprecate lie dev dependency
AlbaHerrerias Sep 11, 2025
1a0c32c
chore: deprecate es3ify dev dependency
AlbaHerrerias Sep 11, 2025
97a8a5f
chore: upgrade http-server dev dependency
AlbaHerrerias Sep 11, 2025
98c6d48
chore: upgrade jshint dev dependency
AlbaHerrerias Sep 11, 2025
6fbc1d5
chore: upgrade istanbul dev dependency
AlbaHerrerias Sep 12, 2025
7628b5f
chore: upgrade mkdirp dev dependency
AlbaHerrerias Sep 12, 2025
4330db5
chore: upgrade mocha dev depencendy
AlbaHerrerias Sep 12, 2025
bb63f78
chore: replace istanbul with nyc dev dependency
AlbaHerrerias Sep 12, 2025
34757c6
chore: upgrade browserify dev dependency and put back uglify-js
AlbaHerrerias Sep 12, 2025
0a744db
chore: upgrade bundle-collapser dev dependency
AlbaHerrerias Sep 12, 2025
5caaef6
chore: upgrade watchify dev dependency
AlbaHerrerias Sep 12, 2025
b9a5571
chore: remove istanbul from test-node script
AlbaHerrerias Nov 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .github/workflows/playwright.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Playwright Tests
on:
push:
branches: [ main, master ]
pull_request:
branches: [ main, master ]
jobs:
test:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Install dependencies
run: npm ci
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run Playwright tests
run: npx playwright test
- uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: playwright-report
path: playwright-report/
retention-days: 30
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,11 @@ test/test-bundle.js
npm-debug.log
dist
.idea

# Playwright
/test-results/
/playwright-report/
/blob-report/
/playwright/.cache/

.nyc*
12 changes: 11 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,6 @@ Stream directly without the dump file
On Node.js or with [`Browserify`](http://browserify.org/), ou can use a [`MemoryStream`](https://github.com/JSBizon/node-memorystream) to stream directly without dumping to a file. Here's an example:

```js
var Promise = require('bluebird');
var PouchDB = require('pouchdb');
var replicationStream = require('pouchdb-replication-stream');
var MemoryStream = require('memorystream');
Expand Down Expand Up @@ -303,6 +302,12 @@ Your plugin is now located at `dist/pouchdb.mypluginname.js` and `dist/pouchdb.m
Testing
----

### Prerequisites

- Enable CORS in your CouchDB

An easy way to do so is using Fauxton. Go to Config, CORS, and under `Restrict to specific domains`, add `http://127.0.0.1:8001`

### In Node

This will run the tests in Node using LevelDB:
Expand Down Expand Up @@ -337,3 +342,8 @@ You can run e.g.
CLIENT=selenium:phantomjs npm test

This will run the tests automatically and the process will exit with a 0 or a 1 when it's done. Firefox uses IndexedDB, and PhantomJS uses WebSQL.

### Automated browser tests with Playwright

- Run `npm run dev-server`
- On another console, run `npm run test-browser-playwright`
1 change: 0 additions & 1 deletion bin/dev-server.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
var COUCH_HOST = process.env.COUCH_HOST || 'http://127.0.0.1:5984';
var HTTP_PORT = 8001;

var Promise = require('bluebird');
var request = require('request');
var http_server = require("http-server");
var fs = require('fs');
Expand Down
4 changes: 0 additions & 4 deletions bin/es3ify.js

This file was deleted.

7 changes: 5 additions & 2 deletions lib/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ var utils = require('./pouch-utils');
var version = require('./version');
var ndj = require('ndjson');
var through = require('through2').obj;
var pick = require('lodash.pick');
var toBufferStream = require('./to-buffer-stream');
var DEFAULT_BATCH_SIZE = 50;

Expand Down Expand Up @@ -50,7 +49,11 @@ exports.plugin.dump = utils.toPromise(function (writableStream, opts, callback)
db_info: info
};
writableStream.write(JSON.stringify(header) + '\n');
opts = pick(opts, ALLOWED_PARAMS);

opts = Object.fromEntries(
Object.entries(opts).filter(([param]) => ALLOWED_PARAMS.includes(param))
);

if (!opts.batch_size) {
opts.batch_size = DEFAULT_BATCH_SIZE;
}
Expand Down
1 change: 0 additions & 1 deletion lib/pouch-utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -72,4 +72,3 @@ exports.toPromise = function (func) {
});
};

exports.inherits = require('inherits');
Loading
Loading