Skip to content

Commit fefa84b

Browse files
hugomrdiasdaviddias
authored andcommitted
fix: use is-buffer
Buffer is not available in the browser and bundlers are going to stop injecting node globals in the bundles. Included is also some repo improvements to use the latest version of ipfs tooling.
1 parent f046f3a commit fefa84b

File tree

5 files changed

+71
-66
lines changed

5 files changed

+71
-66
lines changed

.travis.yml

Lines changed: 47 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,53 @@
1-
sudo: false
2-
language: node_js
1+
anguage: node_js
2+
cache: npm
3+
stages:
4+
- check
5+
- test
6+
- cov
37

4-
matrix:
5-
include:
6-
- node_js: 4
7-
env: CXX=g++-4.8
8-
- node_js: 6
9-
env:
10-
- SAUCE=true
11-
- CXX=g++-4.8
12-
- node_js: stable
13-
env: CXX=g++-4.8
8+
node_js:
9+
- '12'
10+
- '10'
11+
12+
os:
13+
- linux
14+
- osx
15+
- windows
1416

15-
# Make sure we have new NPM.
16-
before_install:
17-
- npm install -g npm
17+
script: npx nyc -s npm run test:node -- --bail
18+
after_success: npx nyc report --reporter=text-lcov > coverage.lcov && npx codecov
1819

19-
script:
20-
- npm run lint
21-
- npm test
22-
- npm run coverage
23-
- make test
20+
jobs:
21+
include:
22+
- stage: check
23+
script:
24+
- npx aegir commitlint --travis
25+
- npx aegir dep-check
26+
- npm run lint
2427

25-
before_script:
26-
- export DISPLAY=:99.0
27-
- sh -e /etc/init.d/xvfb start
28+
- stage: test
29+
name: chrome
30+
addons:
31+
chrome: stable
32+
script: npx aegir test -t browser -t webworker
2833

29-
after_success:
30-
- npm run coverage-publish
34+
- stage: test
35+
name: firefox
36+
addons:
37+
firefox: latest
38+
script: npx aegir test -t browser -t webworker -- --browsers FirefoxHeadless
39+
40+
- stage: test
41+
name: electron-main
42+
os: osx
43+
script:
44+
- npx aegir test -t electron-main --bail
45+
46+
- stage: test
47+
name: electron-renderer
48+
os: osx
49+
script:
50+
- npx aegir test -t electron-renderer --bail
3151

32-
addons:
33-
firefox: 'latest'
34-
apt:
35-
sources:
36-
- ubuntu-toolchain-r-test
37-
packages:
38-
- g++-4.8
52+
notifications:
53+
email: false

circle.yml

Lines changed: 0 additions & 12 deletions
This file was deleted.

package.json

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@
44
"description": "Parse all the varints in a Buffer (for when there are varints everywhere)",
55
"main": "src/index.js",
66
"scripts": {
7-
"lint": "aegir-lint",
8-
"build": "aegir-build",
9-
"test": "aegir-test",
10-
"test:node": "aegir-test --env node",
11-
"test:browser": "aegir-test --env browser",
12-
"release": "aegir-release",
13-
"release-minor": "aegir-release --type minor",
14-
"release-major": "aegir-release --type major",
15-
"coverage": "aegir-coverage",
16-
"coverage-publish": "aegir-coverage publish"
7+
"lint": "aegir lint",
8+
"build": "aegir build",
9+
"test": "aegir test",
10+
"test:node": "aegir test -t node",
11+
"test:browser": "aegir test -t browser",
12+
"release": "aegir release",
13+
"release-minor": "aegir release --type minor",
14+
"release-major": "aegir release --type major",
15+
"coverage": "aegir coverage",
16+
"coverage-publish": "aegir coverage publish"
1717
},
1818
"pre-commit": [
1919
"lint",
@@ -24,11 +24,13 @@
2424
"npm": ">=3.0.0"
2525
},
2626
"dependencies": {
27+
"is-buffer": "^2.0.4",
2728
"varint": "^5.0.0"
2829
},
2930
"devDependencies": {
30-
"aegir": "^9.3.0",
31-
"chai": "^3.5.0",
31+
"aegir": "^21.9.0",
32+
"buffer": "^5.6.0",
33+
"chai": "^4.2.0",
3234
"pre-commit": "^1.2.2"
3335
},
3436
"repository": {
@@ -48,4 +50,4 @@
4850
"contributors": [
4951
"David Dias <[email protected]>"
5052
]
51-
}
53+
}

src/index.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
'use strict'
22

33
const varint = require('varint')
4+
const isBuffer = require('is-buffer')
45

56
module.exports = (buf) => {
6-
if (!Buffer.isBuffer(buf)) {
7+
if (!isBuffer(buf)) {
78
throw new Error('arg needs to be a buffer')
89
}
910

10-
let result = []
11+
const result = []
1112

1213
while (buf.length > 0) {
1314
const num = varint.decode(buf)

test/varint-decoder.spec.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,44 +2,43 @@
22
'use strict'
33

44
const expect = require('chai').expect
5-
5+
const { Buffer } = require('buffer')
66
const vd = require('../src')
77

88
describe('varint-decoder', () => {
99
it('decode 1 varint', () => {
10-
const buf = new Buffer('05', 'hex')
10+
const buf = Buffer.from('05', 'hex')
1111
const arr = vd(buf)
1212
expect(arr[0]).to.equal(5)
1313
})
1414

1515
it('decode 2 varints', () => {
16-
const buf = new Buffer('000a', 'hex')
16+
const buf = Buffer.from('000a', 'hex')
1717
const arr = vd(buf)
1818
expect(arr[0]).to.equal(0)
1919
expect(arr[1]).to.equal(10)
2020
})
2121

2222
it('decode 3 varints', () => {
23-
const buf = new Buffer('0b0c03', 'hex')
23+
const buf = Buffer.from('0b0c03', 'hex')
2424
const arr = vd(buf)
2525
expect(arr[0]).to.equal(11)
2626
expect(arr[1]).to.equal(12)
2727
expect(arr[2]).to.equal(3)
2828
})
2929

3030
it('decode 1 long varint', () => {
31-
const buf = new Buffer('c801', 'hex')
31+
const buf = Buffer.from('c801', 'hex')
3232
const arr = vd(buf)
3333
expect(arr[0]).to.equal(200)
3434
})
3535

3636
it('decode a mix of long and short', () => {
37-
const buf = new Buffer('96130208b90a', 'hex')
37+
const buf = Buffer.from('96130208b90a', 'hex')
3838
const arr = vd(buf)
3939
expect(arr[0]).to.equal(2454)
4040
expect(arr[1]).to.equal(2)
4141
expect(arr[2]).to.equal(8)
4242
expect(arr[3]).to.equal(1337)
4343
})
4444
})
45-

0 commit comments

Comments
 (0)