2
0
mirror of https://github.com/tenrok/BBob.git synced 2026-05-15 11:59:37 +03:00

98 Commits

Author SHA1 Message Date
Nikolay Kostyurin 689d5a84cc chore(release): publish v2.6.2 2020-12-17 00:01:49 +02:00
Nikolay Kostyurin cad0e9e7f4 perf(parser): cache nested tokens in Set to prevent deoptimization (#83) 2020-12-16 23:55:17 +02:00
Nikolay Kostyurin 70ff2e6660 fix(parser): dont process nested tags as string if parent is not allowed (#84)
* fix(parser): dont process nested tags as string if parent is not allowed

* fix(plugin-helper): toString method with default params
2020-12-16 23:51:28 +02:00
Nikolay Kostyurin c9aa6b368b chore(release): publish v2.6.1 (#82) 2020-12-16 00:41:01 +02:00
Nikolay Kostyurin 09bda26d7c fix(parser): tag inside tag parsing regression (#81) 2020-12-16 00:29:26 +02:00
Nikolay Kostyurin 69018b1b1d chore(release): publish v2.6.0 (#79) 2020-12-10 22:36:11 +02:00
Nikolay Kostyurin 772d422d77 feat(parser): rewrite lexer to make it faster (#50)
* feat(parser): first iteration of new lexer

* feat(parser): convert token string props to number props

* refactor(parser): optimize char grabber

* refactor(parser): working on new lexer

* refactor(parser): convert token string props to number props

* refactor(parser): rebuild lexer, add tag attrs parsing

* refactor(parser): rework word parsing and tag parsing

* refactor(parser): rework to pass tests

* refactor(parser): rework tag parsing

* refactor(parser): rework escape tags parsing

* refactor(parser): rework tests

* refactor(parser): all test pass

* refactor(parser): make lexer faster by move mode switching in loop

* refactor(parser): remove all state map objects

* refactor(parser): order of parsing states

* refactor(parser): state switching without return

* refactor(parser): rename buffers to chars

* refactor(lexer): reduce function calls

* feat(lexer): add new parser tests and code to pass it

* fix(utils): remove unused variable in char grabber

* feat(lexer): add test for new lexer bug

* chore(*): add lexer and lexer2 to benchmark

* chore(lexer): add some debug info for char grabber

* feat(parser): add new test for single attributes without values

* fix(lexer): paired tags tests

* refactor(lexer): comment breaking changes tests for future releases

* feat(core): improve tests

* refactor(parser): add more tests, reduce char grabber size

* refactor(parser): reduce utils size

* refactor(parser): remove unused code from tag parsing code

* refactor(parser): remove unused code from word to tag transforming code

* chore(benchmark): fix benchmark imports
2020-12-09 01:03:48 +02:00
Nikolay Kostyurin fda6ddd6ee refactor: reduce dist files sizes (#76)
* fix(parser): plugin-helper import, remove dist file code duplication

* feat(plugin-helper): reduce bundle size, set new limits to 650 bytes

* refactor(preset): html5, react presets to reduce the size of dist files
2020-12-09 00:01:34 +02:00
Nikolay Kostyurin 2eb1fbcccf chore(release): publish v2.5.8 2020-07-08 19:34:55 +02:00
Nikolay Kostyurin fe6a16b6d9 chore(release): publish v2.5.7 2020-07-05 15:24:30 +02:00
Nikolay Kostyurin 5af63e4158 chore(release): publish v2.5.6 2020-04-12 21:37:50 +02:00
Nikolay Kostyurin a16b9f73b0 fix(parser): don't eat not allowed tags with params (#58) fixes #54
* feat(parser): write test for only allowed tags parsing

* chore(parser): rename only allowed test

* fix(parser): only allowed tag rendering

* fix(plugin-helper): add new TagNode toString tests
2020-04-12 21:14:52 +02:00
Nikolay Kostyurin 97ecba0af6 perf(parser): optimize v8 perf deoptimizations (#61) 2020-04-05 15:08:59 +02:00
Nikolay Kostyurin 2670fc1288 chore(release): publish v2.5.5 2020-03-26 00:51:02 +02:00
Nikolay Kostyurin aac1ae0e81 chore(*): update dependencies (#57)
Updated Rollup
Updated Babel
Fixed security problems with some dependencies
2020-01-22 20:25:42 +02:00
Nikolay Kostyurin b6744e9758 v2.5.4 (#51) 2019-09-25 09:34:56 +02:00
Nikolay Kostyurin be938fd21f fix(parser): try to hack terser minifier that removes working code (#49)
* fix(parser): try to hack terser minifier that removes working code Fixes #48
2019-09-25 09:29:21 +02:00
Nikolay Kostyurin 50adc1c056 chore: v2.5.3 (#44) 2019-08-11 15:32:07 +02:00
Nikolay Kostyurin 597c2a9008 feat(plugin-helper): lowercase resulting tag names (#42) 2019-07-28 15:28:46 +02:00
Nikolay Kostyurin 39d0564b0e chore: v2.5.2 (#33) 2019-06-30 11:41:49 +02:00
Nikolay Kostyurin b4cf27127f fix(parser): infinity loop problem when escape [\b] (#31)
With enableEscapeTags: true, when trying to write [b]test[\b] page is crashed.
Fixes #23
2019-06-30 11:15:10 +02:00
Nikolay Kostyurin c4a88e5036 chore: v2.5.1 (#21)
* fix(parser): fix issue with escaping backslashes when enableEscapeTags is set (#20)

there is a bug in the lexer where when enableEscapeTags is set, backslashes
are not always escaped (ie. \\[b] is treated as an escaped tag, rather than a
literal backslash, and then a tag).

* chore: v2.5.1
2019-06-18 09:56:21 +02:00
Nikolay Kostyurin 3b46fbe23c chore: v2.5.0 (#19) 2019-06-17 22:30:51 +02:00
David Ferguson c4f78c1230 feat(parse): allow tags to be escaped with backslash (#17)
* feat(parse): allow tags to be escaped with backslash

adds additional option `enableEscapeTags` to `parse` and `createLexer` that
when true will parse openTag and closeTag as WORD (rather than TAG) when
proceeded with backslash
2019-06-17 21:29:10 +02:00
Nikolay Kostyurin c0b4eb7c05 v2.4.0 2019-03-29 10:37:03 +02:00
Nikolay Kostyurin 788d22e081 v2.3.4 2019-03-29 10:09:02 +02:00
Nikolay Kostyurin a8d3c496a3 v2.3.2 2019-03-10 00:35:42 +02:00
Nikolay Kostyurin 6e0f5bdf92 chore: add descriptions for all package.json files 2019-03-06 00:03:51 +02:00
Nikolay Kostyurin 8b0ceae591 v2.3.1 2019-03-04 02:52:37 +02:00
Nikolay Kostyurin 8cb1d495dd refactor(parser): better jsdoc, some behavior fixes, more tests
— all operations on nodes moved to `createList` function
- fixed problem with single tags with value only like `[url=value]` fixes #6
- write tests for `Token` class
- moved all node arrays to parse func, now parser supports many instances
- add jsdoc to critical parts of the parser to better understanding how it works
2019-03-04 02:24:12 +02:00
Nikolay Kostyurin ef6a778f45 refactor(parser): jsdoc, move some utility functions to separate files 2019-03-02 22:21:44 +02:00
Nikolay Kostyurin a1d859fdad chore: add bundle size restrictions to all packages 2018-10-30 23:32:06 +02:00
Nikolay Kostyurin c5aa4f08d1 Publish
- @bbob/cli@2.0.2
 - @bbob/core@2.0.2
 - @bbob/html@2.1.1
 - @bbob/parser@2.2.0
 - @bbob/preset-html5@2.1.1
 - @bbob/preset-react@2.0.2
 - @bbob/react@2.0.2
2018-10-07 22:27:07 +02:00
Nikolay Kostyurin 1c3bebef22 feat(parser): better line and column counting support in tokens 2018-10-07 22:20:49 +02:00
Nikolay Kostyurin f35a37433b Publish
- @bbob/cli@2.0.1
 - @bbob/core@2.0.1
 - @bbob/html@2.1.0
 - @bbob/parser@2.1.0
 - @bbob/plugin-helper@2.0.1
 - @bbob/preset-html5@2.1.0
 - @bbob/preset-react@2.0.1
 - @bbob/preset@2.1.0
 - @bbob/react@2.0.1
2018-09-24 00:56:50 +02:00
Nikolay Kostyurin b56b3c71a5 style(parser): remove unused func 2018-09-24 00:45:01 +02:00
Nikolay Kostyurin b49b7435da feat(parser): better handlinf of unclosed tags like '[My unclosed and [closed] tag' 2018-09-24 00:33:27 +02:00
Nikolay Kostyurin e3c2a2f4dd Publish
- @bbob/cli@2.0.0
 - @bbob/core@2.0.0
 - @bbob/html@2.0.0
 - @bbob/parser@2.0.0
 - @bbob/plugin-helper@2.0.0
 - @bbob/preset-html5@2.0.0
 - @bbob/preset-react@2.0.0
 - @bbob/preset@2.0.0
 - @bbob/react@2.0.0
2018-09-18 23:50:16 +02:00
Nikolay Kostyurin 790825af30 feat(parser): custom open and close tags support, html tags tests (#3) 2018-09-18 23:41:52 +02:00
Nikolay Kostyurin a11aeffdd9 chore(parser): publish 1.3.2 2018-09-10 09:42:02 +02:00
Nikolay Kostyurin 7300535aff fix(parser): dependency fail 2018-09-10 09:40:49 +02:00
Nikolay Kostyurin 4ab06bed08 Publish
- @bbob/cli@1.0.8
 - @bbob/core@1.1.1
 - @bbob/html@1.1.1
 - @bbob/parser@1.3.1
 - @bbob/plugin-helper@1.1.1
 - @bbob/preset-html5@1.1.1
 - @bbob/preset-react@1.1.1
 - @bbob/preset@1.1.1
 - @bbob/react@1.1.1
2018-09-09 23:56:22 +02:00
Nikolay Kostyurin 32a7fb51da refactor(*): convert to babel and generation to lib, es, dist folders (#2)
* refactor(*): convert to babel and generation to lib, es, dist

* chore(*): remove generated files

* fix(*): lint run command
2018-09-09 23:55:28 +02:00
Nikolay Kostyurin d22a2895a4 chore(parser): update readme 2018-08-20 08:54:50 +02:00
Nikolay Kostyurin b48feab135 chore(parser): bump to 1.3.0 2018-08-14 18:17:35 +02:00
Nikolay Kostyurin 88826512e7 feat(lexer): new lexer (#1) 2018-08-14 18:12:58 +02:00
Nikolay Kostyurin 10f6ff9ff1 Publish
- @bbob/cli@1.0.7
 - @bbob/core@1.1.0
 - @bbob/html@1.1.0
 - @bbob/parser@1.2.0
 - @bbob/plugin-helper@1.1.0
 - @bbob/preset-html5@1.1.0
 - @bbob/react@1.1.0
2018-08-09 02:46:35 +02:00
Nikolay Kostyurin fb78c4fefb refactor(*): move helper fucntions from core and preset-html5 to separate package — plugin-helper 2018-08-06 23:52:44 +02:00
Nikolay Kostyurin fdc05c0618 test(parser): add posthtml integration test 2018-07-30 22:49:55 +02:00
Nikolay Kostyurin 2eb83c1ad7 feat(parser): inconsistent tag detection test 2018-07-23 23:06:50 +02:00