diff --git a/benchmark/index.js b/benchmark/index.js new file mode 100644 index 0000000..927543b --- /dev/null +++ b/benchmark/index.js @@ -0,0 +1,46 @@ +const Benchmark = require('benchmark'); +const stub = require('./test/stub'); + +const suite = new Benchmark.Suite(); + +// add tests +suite + .add('Regex Based Parser', () => { + const RegexParser = require('./test/RegexParser'); + + const result = RegexParser.parse(stub); + }) + .add('xBBCode Parser', () => { + const xbbcode = require('xbbcode-parser'); + xbbcode.addTags({ + ch: { + openTag(params, content) { + return '
'; + }, + closeTag(params, content) { + return '
'; + }, + restrictChildrenTo: [], + }, + }); + + const result = xbbcode.process({ + text: stub, + removeMisalignedTags: false, + addInLineBreaks: false, + }); + }) + .add('BBob Parser', () => { + const parse = require('../packages/bbob-parser/lib/index'); + + const result = parse(stub); + }) +// add listeners + .on('cycle', (event) => { + console.log(String(event.target)); + }) + .on('complete', function onComplete() { + console.log(`Fastest is ${this.filter('fastest').map('name')}`); + }) +// run async + .run({ async: true }); diff --git a/benchmark/parser_test_new.js b/benchmark/parser_test_new.js deleted file mode 100644 index 9ae5c20..0000000 --- a/benchmark/parser_test_new.js +++ /dev/null @@ -1,19 +0,0 @@ -const parse = require('../packages/bbob-parser/lib/index'); - -const textStub = require('./test/stub'); - -const count = 0; -const parsers3 = []; - -function test() { - console.time('newParser'); - for (let i = 0; i <= count; i++) { - const parser3 = parse(textStub); - - parsers3.push(parser3); - } - console.timeEnd('newParser'); -} - -test(); -// console.log(JSON.stringify(parsers3)); diff --git a/benchmark/parser_test_old.js b/benchmark/parser_test_old.js deleted file mode 100644 index 89dcec0..0000000 --- a/benchmark/parser_test_old.js +++ /dev/null @@ -1,15 +0,0 @@ -const OldParser = require('./OldParser'); - -const textStub = require('./test/stub'); - -const count = 0; -const oldParsers3 = []; -console.time('oldParser'); -for (let i = 0; i <= count; i++) { - const oldParser3 = OldParser.parse(textStub); - - oldParsers3.push(oldParser3); -} -console.timeEnd('oldParser'); -// console.log(JSON.stringify(oldParsers3)); - diff --git a/benchmark/OldParser.js b/benchmark/test/RegexParser.js similarity index 100% rename from benchmark/OldParser.js rename to benchmark/test/RegexParser.js diff --git a/benchmark/test/stub2.js b/benchmark/test/stub2.js deleted file mode 100644 index e69de29..0000000 diff --git a/benchmark/test/stub3.js b/benchmark/test/stub3.js deleted file mode 100644 index e69de29..0000000 diff --git a/package-lock.json b/package-lock.json index 907118b..c8a7560 100644 --- a/package-lock.json +++ b/package-lock.json @@ -419,6 +419,16 @@ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://npm.wsmgroup.ru/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, "argparse": { "version": "1.0.10", "resolved": "https://npm.wsmgroup.ru/argparse/-/argparse-1.0.10.tgz", @@ -982,6 +992,16 @@ "tweetnacl": "^0.14.3" } }, + "benchmark": { + "version": "2.1.4", + "resolved": "https://npm.wsmgroup.ru/benchmark/-/benchmark-2.1.4.tgz", + "integrity": "sha1-CfPeMckWQl1JjMLuVloOvzwqVik=", + "dev": true, + "requires": { + "lodash": "^4.17.4", + "platform": "^1.3.3" + } + }, "bfj-node4": { "version": "5.3.1", "resolved": "https://npm.wsmgroup.ru/bfj-node4/-/bfj-node4-5.3.1.tgz", @@ -1005,6 +1025,22 @@ "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", "dev": true }, + "bindings": { + "version": "1.3.0", + "resolved": "https://npm.wsmgroup.ru/bindings/-/bindings-1.3.0.tgz", + "integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw==", + "dev": true + }, + "bl": { + "version": "1.2.2", + "resolved": "https://npm.wsmgroup.ru/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "dev": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, "bluebird": { "version": "3.5.1", "resolved": "https://npm.wsmgroup.ru/bluebird/-/bluebird-3.5.1.tgz", @@ -1203,6 +1239,28 @@ "isarray": "^1.0.0" } }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://npm.wsmgroup.ru/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://npm.wsmgroup.ru/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://npm.wsmgroup.ru/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, "buffer-from": { "version": "1.1.0", "resolved": "https://npm.wsmgroup.ru/buffer-from/-/buffer-from-1.1.0.tgz", @@ -1726,6 +1784,12 @@ "date-now": "^0.1.4" } }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://npm.wsmgroup.ru/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, "constants-browserify": { "version": "1.0.0", "resolved": "https://npm.wsmgroup.ru/constants-browserify/-/constants-browserify-1.0.0.tgz", @@ -2001,6 +2065,15 @@ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://npm.wsmgroup.ru/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, "deep-extend": { "version": "0.6.0", "resolved": "https://npm.wsmgroup.ru/deep-extend/-/deep-extend-0.6.0.tgz", @@ -2100,6 +2173,12 @@ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, + "delegates": { + "version": "1.0.0", + "resolved": "https://npm.wsmgroup.ru/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, "depd": { "version": "1.1.2", "resolved": "https://npm.wsmgroup.ru/depd/-/depd-1.1.2.tgz", @@ -2131,6 +2210,12 @@ "repeating": "^2.0.0" } }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://npm.wsmgroup.ru/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "dev": true + }, "detect-newline": { "version": "2.1.0", "resolved": "https://npm.wsmgroup.ru/detect-newline/-/detect-newline-2.1.0.tgz", @@ -2901,6 +2986,12 @@ } } }, + "expand-template": { + "version": "1.1.1", + "resolved": "https://npm.wsmgroup.ru/expand-template/-/expand-template-1.1.1.tgz", + "integrity": "sha512-cebqLtV8KOZfw0UI8TEFWxtczxxC1jvyUvx6H4fyp1K1FN7A4Q+uggVUlOsI1K8AGU0rwOGqP8nCapdrw8CYQg==", + "dev": true + }, "expect": { "version": "23.1.0", "resolved": "https://npm.wsmgroup.ru/expect/-/expect-23.1.0.tgz", @@ -3457,6 +3548,12 @@ "readable-stream": "^2.0.0" } }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://npm.wsmgroup.ru/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, "fs-then-native": { "version": "2.0.0", "resolved": "https://npm.wsmgroup.ru/fs-then-native/-/fs-then-native-2.0.0.tgz", @@ -4022,6 +4119,53 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, + "gauge": { + "version": "2.7.4", + "resolved": "https://npm.wsmgroup.ru/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://npm.wsmgroup.ru/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://npm.wsmgroup.ru/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://npm.wsmgroup.ru/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, "get-caller-file": { "version": "1.0.2", "resolved": "https://npm.wsmgroup.ru/get-caller-file/-/get-caller-file-1.0.2.tgz", @@ -4049,6 +4193,12 @@ "assert-plus": "^1.0.0" } }, + "github-from-package": { + "version": "0.0.0", + "resolved": "https://npm.wsmgroup.ru/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=", + "dev": true + }, "glob": { "version": "7.1.2", "resolved": "https://npm.wsmgroup.ru/glob/-/glob-7.1.2.tgz", @@ -4207,6 +4357,12 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://npm.wsmgroup.ru/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, "has-value": { "version": "1.0.0", "resolved": "https://npm.wsmgroup.ru/has-value/-/has-value-1.0.0.tgz", @@ -4401,6 +4557,12 @@ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, + "ini": { + "version": "1.3.5", + "resolved": "https://npm.wsmgroup.ru/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, "inquirer": { "version": "3.3.0", "resolved": "https://npm.wsmgroup.ru/inquirer/-/inquirer-3.3.0.tgz", @@ -5828,6 +5990,17 @@ } } }, + "microtime": { + "version": "2.1.8", + "resolved": "https://npm.wsmgroup.ru/microtime/-/microtime-2.1.8.tgz", + "integrity": "sha1-tDxMWrE+Un4XM3DQMG2eCku/QQ0=", + "dev": true, + "requires": { + "bindings": "1.3.x", + "nan": "2.10.x", + "prebuild-install": "^2.1.0" + } + }, "miller-rabin": { "version": "4.0.1", "resolved": "https://npm.wsmgroup.ru/miller-rabin/-/miller-rabin-4.0.1.tgz", @@ -5865,6 +6038,12 @@ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://npm.wsmgroup.ru/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://npm.wsmgroup.ru/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -5976,8 +6155,7 @@ "version": "2.10.0", "resolved": "https://npm.wsmgroup.ru/nan/-/nan-2.10.0.tgz", "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", - "dev": true, - "optional": true + "dev": true }, "nanomatch": { "version": "1.2.9", @@ -6025,6 +6203,15 @@ "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==", "dev": true }, + "node-abi": { + "version": "2.4.3", + "resolved": "https://npm.wsmgroup.ru/node-abi/-/node-abi-2.4.3.tgz", + "integrity": "sha512-b656V5C0628gOOA2kwcpNA/bxdlqYF9FvxJ+qqVX0ctdXNVZpS8J6xEUYir3WAKc7U0BH/NRlSpNbGsy+azjeg==", + "dev": true, + "requires": { + "semver": "^5.4.1" + } + }, "node-fetch": { "version": "1.7.3", "resolved": "https://npm.wsmgroup.ru/node-fetch/-/node-fetch-1.7.3.tgz", @@ -6092,6 +6279,12 @@ "which": "^1.3.0" } }, + "noop-logger": { + "version": "0.1.1", + "resolved": "https://npm.wsmgroup.ru/noop-logger/-/noop-logger-0.1.1.tgz", + "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=", + "dev": true + }, "normalize-package-data": { "version": "2.4.0", "resolved": "https://npm.wsmgroup.ru/normalize-package-data/-/normalize-package-data-2.4.0.tgz", @@ -6122,6 +6315,18 @@ "path-key": "^2.0.0" } }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://npm.wsmgroup.ru/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, "number-is-nan": { "version": "1.0.1", "resolved": "https://npm.wsmgroup.ru/number-is-nan/-/number-is-nan-1.0.1.tgz", @@ -6525,6 +6730,12 @@ "find-up": "^2.1.0" } }, + "platform": { + "version": "1.3.5", + "resolved": "https://npm.wsmgroup.ru/platform/-/platform-1.3.5.tgz", + "integrity": "sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q==", + "dev": true + }, "pluralize": { "version": "7.0.0", "resolved": "https://npm.wsmgroup.ru/pluralize/-/pluralize-7.0.0.tgz", @@ -6607,6 +6818,37 @@ "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", "dev": true }, + "prebuild-install": { + "version": "2.5.3", + "resolved": "https://npm.wsmgroup.ru/prebuild-install/-/prebuild-install-2.5.3.tgz", + "integrity": "sha512-/rI36cN2g7vDQnKWN8Uzupi++KjyqS9iS+/fpwG4Ea8d0Pip0PQ5bshUNzVwt+/D2MRfhVAplYMMvWLqWrCF/g==", + "dev": true, + "requires": { + "detect-libc": "^1.0.3", + "expand-template": "^1.0.2", + "github-from-package": "0.0.0", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "node-abi": "^2.2.0", + "noop-logger": "^0.1.1", + "npmlog": "^4.0.1", + "os-homedir": "^1.0.1", + "pump": "^2.0.1", + "rc": "^1.1.6", + "simple-get": "^2.7.0", + "tar-fs": "^1.13.0", + "tunnel-agent": "^0.6.0", + "which-pm-runs": "^1.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://npm.wsmgroup.ru/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, "prelude-ls": { "version": "1.1.2", "resolved": "https://npm.wsmgroup.ru/prelude-ls/-/prelude-ls-1.1.2.tgz", @@ -6861,6 +7103,26 @@ } } }, + "rc": { + "version": "1.2.8", + "resolved": "https://npm.wsmgroup.ru/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://npm.wsmgroup.ru/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, "read-pkg": { "version": "1.1.0", "resolved": "https://npm.wsmgroup.ru/read-pkg/-/read-pkg-1.1.0.tgz", @@ -7655,6 +7917,23 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, + "simple-concat": { + "version": "1.0.0", + "resolved": "https://npm.wsmgroup.ru/simple-concat/-/simple-concat-1.0.0.tgz", + "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=", + "dev": true + }, + "simple-get": { + "version": "2.8.1", + "resolved": "https://npm.wsmgroup.ru/simple-get/-/simple-get-2.8.1.tgz", + "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", + "dev": true, + "requires": { + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, "size-limit": { "version": "0.18.5", "resolved": "https://npm.wsmgroup.ru/size-limit/-/size-limit-0.18.5.tgz", @@ -8354,6 +8633,45 @@ "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==", "dev": true }, + "tar-fs": { + "version": "1.16.3", + "resolved": "https://npm.wsmgroup.ru/tar-fs/-/tar-fs-1.16.3.tgz", + "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", + "dev": true, + "requires": { + "chownr": "^1.0.1", + "mkdirp": "^0.5.1", + "pump": "^1.0.0", + "tar-stream": "^1.1.2" + }, + "dependencies": { + "pump": { + "version": "1.0.3", + "resolved": "https://npm.wsmgroup.ru/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "tar-stream": { + "version": "1.6.1", + "resolved": "https://npm.wsmgroup.ru/tar-stream/-/tar-stream-1.6.1.tgz", + "integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==", + "dev": true, + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.1.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.0", + "xtend": "^4.0.0" + } + }, "temp-path": { "version": "1.0.0", "resolved": "https://npm.wsmgroup.ru/temp-path/-/temp-path-1.0.0.tgz", @@ -8470,6 +8788,12 @@ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", "dev": true }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://npm.wsmgroup.ru/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, "to-fast-properties": { "version": "1.0.3", "resolved": "https://npm.wsmgroup.ru/to-fast-properties/-/to-fast-properties-1.0.3.tgz", @@ -9206,6 +9530,21 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, + "which-pm-runs": { + "version": "1.0.0", + "resolved": "https://npm.wsmgroup.ru/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://npm.wsmgroup.ru/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, "window-size": { "version": "0.1.0", "resolved": "https://npm.wsmgroup.ru/window-size/-/window-size-0.1.0.tgz", diff --git a/package.json b/package.json index bdfa9e1..a2fb037 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ }, "license": "MIT", "devDependencies": { + "benchmark": "^2.1.4", "eslint": "^4.19.1", "eslint-config-airbnb": "^16.1.0", "eslint-plugin-import": "^2.12.0", @@ -20,6 +21,7 @@ "jest": "^23.1.0", "jsdoc-to-markdown": "^4.0.1", "lerna": "^2.11.0", + "microtime": "^2.1.8", "rollup": "^0.62.0", "rollup-plugin-commonjs": "^9.1.3", "rollup-plugin-node-resolve": "^3.3.0",