Skip to content

Commit 6482959

Browse files
committed
Add babel build
1 parent ecb2f06 commit 6482959

8 files changed

Lines changed: 77 additions & 59 deletions

File tree

.babelrc

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"env": {
3+
"default": {
4+
"presets": [
5+
["@babel/preset-env", {
6+
"targets": "node 8.0",
7+
"useBuiltIns": "usage",
8+
"corejs": 3,
9+
"exclude": ["es.promise", "es.string.trim"]
10+
}]
11+
]
12+
},
13+
"legacy": {
14+
"presets": [
15+
["@babel/preset-env", {
16+
"targets": "node 0.10",
17+
"useBuiltIns": "usage",
18+
"corejs": 3
19+
}]
20+
]
21+
},
22+
}
23+
}

.gitignore

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# Built library assets
2+
lib*
3+
14
# Logs
25
logs
36
*.log
@@ -11,8 +14,9 @@ pids
1114
# Directory for instrumented libs generated by jscoverage/JSCover
1215
lib-cov
1316

14-
# Coverage directory used by tools like istanbul
17+
# Coverage used by tools like istanbul
1518
coverage
19+
coverage.*
1620

1721
# nyc test coverage
1822
.nyc_output
@@ -35,3 +39,9 @@ jspm_packages
3539

3640
# Optional REPL history
3741
.node_repl_history
42+
43+
# OS-specific files
44+
.DS_Store
45+
.Trash*
46+
.fseventsd
47+
.Spotlight*

.npmignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
*
2+
!lib*/**/*.js
3+
!lib*/**/*.js.map

.travis.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
language: node_js
22
matrix:
33
include:
4+
# Babel runtime aren't working on node <= 6
45
# - node_js: '0.10'
5-
# env: _CXXAUTO=1
6+
# env: BABEL_ENV=legacy
67
# - node_js: '0.12'
7-
# env: _CXXAUTO=1
8+
# env: BABEL_ENV=legacy
89
# - node_js: '4'
9-
# env: CXX=g++-4.8
10+
# env: BABEL_ENV=legacy
1011
- node_js: '6'
11-
# env: CXX=g++-4.8
12+
env: BABEL_ENV=legacy
1213
- node_js: '8'
13-
# env: CXX=g++-4.8
1414
- node_js: '10'
1515
dist: trusty
1616
sudo: required
@@ -35,6 +35,7 @@ before_script:
3535
- (ls -la /var/lib/clickhouse/data/default/ || exit 0)
3636
- (ls -la /var/lib/clickhouse/metadata/default/ || exit 0)
3737
- curl -v "http://127.0.0.1:8123/"
38-
- npm run legacy-install
38+
script:
39+
- npm run test
3940
after_script:
4041
- npm run report

index.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// Tries to import library built for modern nodejs
2+
try {
3+
var nodeVer = process.version.substr(1).split ('.')
4+
if (nodeVer[0] >= 6) {
5+
return module.exports = require('lib/clickhouse')
6+
}
7+
} catch (e) {}
8+
9+
// Tries to import library built for legacy nodejs
10+
try {
11+
module.exports = require('lib-legacy/clickhouse')
12+
} catch (e) {
13+
// If all imports are failed it may be dev enviroment
14+
module.exports = require('src/clickhouse')
15+
}

package.json

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@
77
"legacy-install": "node ./src/legacy-support.js",
88
"launch-docker-image": "docker run --rm -d -p 8123:8123 --name clickhouse-server yandex/clickhouse-server",
99
"stop-docker-image": "docker stop clickhouse-server",
10-
"test": "nyc mocha --recursive ./test -R spec",
10+
"test": "nyc mocha --require @babel/polyfill --require @babel/register --recursive ./test -R spec",
1111
"report": "nyc report --reporter=lcov > coverage.lcov && codecov",
1212
"simpletest": "mocha --recursive ./test -R spec",
13-
"torturetest": "TORTURE=1 mocha -gc --recursive ./test -R spec"
13+
"torturetest": "TORTURE=1 mocha -gc --recursive ./test -R spec",
14+
"build": "rm -r lib*/; babel src -d lib --source-maps && BABEL_ENV=legacy babel src -d lib-legacy --source-maps"
1415
},
1516
"repository": {
1617
"type": "git",
@@ -27,8 +28,18 @@
2728
"url": "https://github.com/apla/node-clickhouse/issues"
2829
},
2930
"homepage": "https://github.com/apla/node-clickhouse#readme",
30-
"dependencies": {},
31+
"dependencies": {
32+
"core-js": "3"
33+
},
34+
"optionalDependencies": {
35+
"buffer-indexof-polyfill": "^1.0.1"
36+
},
3137
"devDependencies": {
38+
"@babel/cli": "^7.4.4",
39+
"@babel/core": "^7.4.5",
40+
"@babel/polyfill": "^7.4.4",
41+
"@babel/preset-env": "^7.4.5",
42+
"@babel/register": "^7.4.4",
3243
"bluebird": "^3.5.0",
3344
"codecov": "^2.2.0",
3445
"mocha": "^2.5.3",

src/clickhouse.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@ var util = require ('util');
66

77
// var debug = require ('debug')('clickhouse');
88

9-
require ('./legacy-support');
10-
119
var RecordStream = require ('./streams').RecordStream;
1210
var JSONStream = require ('./streams').JSONStream;
1311

12+
// node <6 polyfill
13+
require('buffer-indexof-polyfill')
14+
1415
var parseError = require ('./parse-error');
1516

1617
function httpResponseHandler (stream, reqParams, reqData, cb, response) {
@@ -183,7 +184,7 @@ function httpRequest (reqParams, reqData, cb) {
183184
stream.emit ('error', e);
184185
return cb && cb (e);
185186
});
186-
187+
187188
req.on('timeout', function (e) {
188189
req.abort();
189190
})

src/legacy-support.js

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

0 commit comments

Comments
 (0)