π Hi! I'm Roy; I'm from the UK π¬π§.
π All my Open Source projects are published on Codsen org account, not here.
I wrote and maintain a broad spectrum of Open Source programs (npm handle royston
, see npm-stat), for example:
- A big, CPU-bound program:
detergent
,email-comb
- Exports...
- Both sync and async methods:
json-comb-core
- A regex:
regex-empty-conditional-comments
- A
Set
:html-entities-not-email-friendly
- CSS as string:
generate-atomic-css
2βΏ
combinations of plain options object boolean values for unit tests:test-mixer
- Both sync and async methods:
- Scannerless parser algorithm, processing the...
- HTML:
html-crush
- CSS:
string-extract-sass-vars
- JSON:
edit-package-json
- TypeScript:
tsd-extract
- CSV:
csv-split-easy
- IANA language codes:
is-language-code
- Commitizen-generated
CHANGELOG.md
:lerna-clean-changelogs
- human prose:
string-apostrophes
- HTML:
- Variety of program API styles:
- Classes-based API:
ranges-push
- Callback-only API:
ast-monkey-traverse-with-lookahead
- (One of a dozen) CLI:
csv-sort-cli
- Classes-based API:
- Stripping parsed tokens from HTML/CSS:
stristri
β done by traversing AST directly from a tokeniser β but I have an own AST traversing program too: πast-monkey
- Parser, which produces our custom-design AST:
codsen-parser
- Plugins:
- Gulp plugin:
gulp-email-remove-unused-css
- ESLint plugin:
eslint-plugin-row-num
- Gulp plugin:
- File streams:
tap-parse-string-to-object
- Observer pattern using Node's
EventEmmitter
:emlint
- Fetches values from the internet:
update-versions
- Unicode astral character-aware:
easy-replace
- Backwards-engineering a 3rd party API:
bitbucket-slug
- Recursion:
ast-monkey-traverse
- Normalising the perf benchmark scores against a mock program:
perf-ref
- String uglifier based on cryptography principles:
string-uglify
- Reduce but over promises:
json-comb
(surprisingly a common pattern, used by CLI's which read multiple files in async)
See the complete list on codsen.com/os
Thanks for visiting!