Skip to content

Commit

Permalink
pkg: Fix bug #275
Browse files Browse the repository at this point in the history
Bug:

  Node.js v4 does not support the ES6 syntax fully, thus we
  get the error:

    Block scoped declarations (let, const, function,class) not yet
    supported outside strict mode

Fix:

  * Load transpiled code
  * Deprecate support for Node.js v4.x

References:

  * Bug report: #275
  * PR: #280
  * Reported-by: @CrazyAbdul
  * PR-by: @CrazyAbdul
  • Loading branch information
GochoMugo committed Feb 8, 2017
1 parent 7e4cadb commit d4a469d
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 9 deletions.
10 changes: 5 additions & 5 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/**
* If running on Nodejs 0.12, we load the transpiled code.
* If running on Nodejs 4.x and below, we load the transpiled code.
* Otherwise, we use the ES6 code.
* We are deprecating support for Node.js v0.x
* We are deprecating support for Node.js v4.x and below.
*/
const majorVersion = process.versions.node.split('.')[0];
if (majorVersion === '0') {
const majorVersion = parseInt(process.versions.node.split('.')[0], 10);
if (majorVersion <= 4) {
const deprecate = require('depd')('node-telegram-bot-api');
deprecate('Node.js v0.12 and below will no longer be supported in the future');
deprecate('Node.js v4.x and below will no longer be supported in the future');
module.exports = require('./lib/telegram');
} else {
module.exports = require('./src/telegram');
Expand Down
9 changes: 5 additions & 4 deletions test/telegram.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,13 @@ before(function beforeAll() {


describe('module.exports', function moduleExportsSuite() {
it('is loaded from src/ if NOT on Node.js 0.12', function test() {
if (process.versions.node.split('.')[0] === '0') this.skip(); // skip on Node.js v0.12
const nodeVersion = parseInt(process.versions.node.split('.')[0], 10);
it('is loaded from src/ on Node.js v5+', function test() {
if (nodeVersion <= 4) this.skip(); // skip on Node.js v4 and below
assert.equal(TelegramBot, require('../src/telegram'));
});
it('is loaded from lib/ if on Node.js 0.12', function test() {
if (process.versions.node.split('.')[0] !== '0') this.skip(); // skip on newer versions
it('is loaded from lib/ on Node.js v4 and below', function test() {
if (nodeVersion > 4) this.skip(); // skip on newer versions
assert.equal(TelegramBot, require('../lib/telegram'));
});
});
Expand Down

0 comments on commit d4a469d

Please sign in to comment.