2
0
mirror of https://github.com/yagop/node-telegram-bot-api synced 2025-08-22 18:07:16 +00:00

pkg: Fix bug #275

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: https://github.com/yagop/node-telegram-bot-api/issues/275
  * PR: https://github.com/yagop/node-telegram-bot-api/pull/280
  * Reported-by: @crazyabdul
  * PR-by: @crazyabdul
This commit is contained in:
GochoMugo 2017-02-08 12:16:51 +03:00
parent 7e4cadb514
commit d4a469df6b
No known key found for this signature in database
GPG Key ID: 7B6A01CB57AA39E4
2 changed files with 10 additions and 9 deletions

View File

@ -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');

View File

@ -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'));
});
});