Skip to content

Commit fa0873c

Browse files
committed
Add babel build
1 parent ecb2f06 commit fa0873c

8 files changed

Lines changed: 74 additions & 58 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: 9 additions & 0 deletions
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
@@ -35,3 +38,9 @@ jspm_packages
3538

3639
# Optional REPL history
3740
.node_repl_history
41+
42+
# OS-specific files
43+
.DS_Store
44+
.Trash*
45+
.fseventsd
46+
.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: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
language: node_js
22
matrix:
33
include:
4-
# - node_js: '0.10'
5-
# env: _CXXAUTO=1
6-
# - node_js: '0.12'
7-
# env: _CXXAUTO=1
4+
- node_js: '0.10'
5+
env: BABEL_ENV=legacy
6+
- node_js: '0.12'
7+
env: BABEL_ENV=legacy
88
# - node_js: '4'
99
# env: CXX=g++-4.8
1010
- node_js: '6'
@@ -22,6 +22,7 @@ addons:
2222
# - gcc-4.8
2323
# - g++-4.8
2424
before_script:
25+
- npm run build
2526
- sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4
2627
- echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | sudo tee -a /etc/apt/sources.list
2728
- sudo apt-get update -qq
@@ -35,6 +36,5 @@ before_script:
3536
- (ls -la /var/lib/clickhouse/data/default/ || exit 0)
3637
- (ls -la /var/lib/clickhouse/metadata/default/ || exit 0)
3738
- curl -v "http://127.0.0.1:8123/"
38-
- npm run legacy-install
39-
after_script:
39+
script:
4040
- 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/preset-env": "^7.4.5",
41+
"babel-polyfill": "^6.26.0",
42+
"babel-register": "^6.26.0",
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)