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

122 Commits

Author SHA1 Message Date
github-actions[bot] 5ec0dfa382 chore(release): publish 4.0.1 (#236)
chore(release): release

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-25 22:54:52 +02:00
github-actions[bot] dae171feeb chore(release): publish v4.0.0 (#200)
chore(release): release

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-25 21:39:44 +02:00
Nikolay Kost 270f5645f8 fix(#206): TagNode.create now with null content argument by default (#233)
* fix: TagNode.create with null content by default

* Create five-meals-sing.md

* fix: tests

* fix(preset): types inference

* fix: preset types

* fix: preset types

* fix: lock file, parser and utils

* refactor: move types to separate package

* fix(preset): add @bbob/core to dev deps

* fix(preset): lock file

* test(preset-vue): create tags

* test(preset-vue): tests

* chore(nx): fix nx cover deps

* chore: changesets
2024-06-24 01:32:15 +03:00
Nikolay Kost 8797f7f363 feat: typescript support (#185)
* feat: initial typescript support

* feat: typescript support

* feat(plugin-helper): move files to typescript

* chore: update lock files

* feat: preset types

* fix: build

* fix: benchmark

* fix: remove pnpm cache

* fix: bench action

* fix: pnpm recursive install

* fix: nx cache

* fix: lock file

* fix: workflows

* fix: lerna support in pnpm

* fix: pnpm workspace

* fix: remove unused files

* fix: pnpm lock file

* fix: update lerna for support pnpm

* fix: lerna bootstrap

* fix: rollup build

* fix: update nx

* fix: build

* fix: add nx dep target

* fix: remove nx cache

* fix: workflow run on push only for master

* fix: test workflow run on push only for master

* fix: remove parallel for gen types

* fix: benchmark

* fix: benchmark imports

* fix: pnpm

* fix: types errors and pnpm

* fix: types

* fix: types

* refactor: parser

* fix(parser): tests

* fix: preset tests

* fix: react types

* fix: react type declarations

* fix: pnpm lock file

* fix: react preset types

* fix: lock file

* fix: vue2 types

* feat: dev container support

* fix: types

* fix: types

* refactor: rewrite pkg-task, add nx gen-types deps, fix react/render.ts

* refactor: types

* fix: types

* fix: rename gen-types to types

* fix: nx build order

* fix: nx reset

* fix: define nx deps explicit

* fix: build

* fix: nx

* fix: nx order build

* fix: nx deps

* fix: bbob cli tests

* fix: tests

* fix: cli tests and import

* fix: test cover

* fix: cli cover
2024-04-23 21:11:14 +02:00
Steven Chang 05246b2aea fix: treat contextFreeTags case insensitively (#230) 2024-04-14 16:02:29 +03:00
Nikolay Kost 3575982b28 chore: pnpm support (#199)
* feat: initial pnpm support

* feat: lock files

* fix: github actions

* fix: lerna bootstrap

* fix: lerna useWorkspaces

* fix: lerna no ci

* fix: lint

* fix: audit

* chore: changeset

* fix: publish action
2023-10-23 13:21:56 +02:00
github-actions[bot] d26f833f1b chore(release): publish v3.0.2 (#192)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-09-28 04:38:31 +03:00
Nikolay Kost 0c78831372 feat(preset-html5): color tag #189, case insensitive tags #190 (#191)
* fix(preset-html5): add color tag #189

* fix(parser): case insensitive tags bug #190
2023-09-28 04:02:52 +03:00
github-actions[bot] 3bccca086f chore(release): publish v3.0.1 (#188)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-08-29 00:48:48 +02:00
Nikolay Kost 603c3ead0f fix: bug with lost closing tag (#186)
* fix: closing tag bug

* chore: add changeset thin-crabs-wonder.md

* chore: remove debug code

* chore: add more tests
2023-08-28 14:26:27 +02:00
github-actions[bot] 485bb11df0 chore(release): publish v3.0.0 (#183)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-24 16:00:05 +02:00
Nikolay Kost a05e5cef07 chore(release): publish v2.9.0 (#170)
* chore: update readme to latest API

* chore: release 2.9.0
2023-01-29 17:55:46 +02:00
Nikolay Kost 19e8dd659e feat(parser): context free tag mode (#165)
* feat(parser): initial context free tag mode

* fix: tests coverage

* chore: update readme

* chore: remove unused badge from readme
2023-01-27 05:26:09 +02:00
Nikolay Kost 6b2810fcf4 chore(release): release 2.8.3 (#163) 2022-12-18 03:28:03 +02:00
Nikolay Kost 2d1a08ba9a chore: update build system and dependencies (#155)
* chore: fix swc + rollup transform

* chore: fix pkg-task args parsing

* chore: update lerna, rollup and swc to build proper es6 files

* chore: fix swc build for es targets

* ci: nodes matrix to newest versions

* ci: rollup to mjs, swc to json

* ci: add canary publish

* ci: no git tag for canary

* ci: no private publish for canary

* ci: remove --canary from publish-canary

* fix: remove gitHead from package.json

* fix: tests setup

* fix: bbob plugin helper imports

* fix: plugin helper build priority and circular deps

* fix: add nx for parallel build

* fix: npm ci

* fix: code ql

* fix: remove exports directive

* fix: rollup build

* fix: vue2 test and minify

* fix: bundle size limits

* feat: bundlephobia pr review

* feat: bundlephobia more popular action

* feat: publish branch to npm

* fix: secret NPM token

* fix: bundlephobia version

* fix: remove bundlephobia checker

* fix: npm publish in PR

* chore: release 2.8.3

* chore: fix test runs on CI, removed 14.x version

* fix: sync package-lock

* fix: remove lock files in sub packages

* fix: bundlesize > bundlesize2

* fix: update lock files

* fix: lock file in vue2-example
2022-12-18 03:09:56 +02:00
Nikolay Kost b2cfc23ee9 chore(release): publish v2.8.2 (#156)
* chore: audit fix

* chore: release
2022-11-29 01:47:30 +02:00
Nikolay Kostyurin 861359a656 chore(release): publish v2.8.1 (#139)
* fix: lerna issue and publish patch

* fix: lerna publish scripts

* chore(release): bump version to v2.8.1
2022-05-24 02:42:33 +02:00
Nikolay Kostyurin d070a66db3 chore(release): publish v2.8.0 (#122)
* chore(lerna): don't publish packages to npm by lerna

* chore(lerna): add publish to npm command

* fix(github): publish using lerna

* chore(lerna): add publish minor

* chore(release): publish v2.8.0
2021-11-29 00:55:29 +02:00
Nikolay Kostyurin da6709d437 feat: update core deps (#120)
* feat: use swc.rs instead of babel

* BREAKING CHANGE: now we use swc.rs as main bundler and transpiler instead of babel
  - jest now uses swc
  - rollup now uses swc

* feat: benchmark now separate package with `npm start` and colored output
  - benchmark as separate package with error throw if package drops performance

* feat: all lerna packages now using scripts/pkg-task

* feat(github): publish to npm and github registry
  - when release was created this action automaticly publish packages to npm and github

* feat(github): move all from Travis CI to Github Actions
  - code analysis and tests now using github actions

* test: increase tests coverage
  - add more tests for @bbob/react, @bbob/vue2 and @bbob/parser
2021-11-29 00:33:06 +02:00
Nikolay Kostyurin 86d1dde106 chore(release): publish v2.7.1 (#121) 2021-11-04 13:30:53 +02:00
Nikolay Kostyurin dad1b6e08b chore: update descriptions of vue2, react and html bbob packages (#118) 2021-10-11 02:22:04 +02:00
Nikolay Kostyurin 2b68e22d23 chore: include gitHead to all packages 2021-05-19 23:21:18 +02:00
Nikolay Kostyurin 01b0916b4a chore(release): publish v2.7.0 2021-05-19 23:00:30 +02:00
Nikolay Kostyurin cbccbaf896 feat: support for vue2 (#88)
* chore: initial setup for vue2 packages

* feat: basic Vue 2 Component

* feat(vue2): add more test cases

* test(preset): add more cases to test in preset

* test(preset-vue2): add more cases to test tags processing

* fix(preset): tag node checking

* test(preset-vue): more coverage for vue preset

* refactor(vue2): move default export to plugin install func

* feat(example-vue2): add vue2 example to examples folder

* chore(example-vue2): remove unused npm scripts

* chore: add vue 2 example in main README

* chore: update package.json descriptions
2021-05-19 19:41:56 +02:00
Nikolay Kostyurin 1906c3cd01 chore(release): publish v2.6.2 (#85) 2020-12-17 00:07:56 +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