Description
Super fast specification compliant URL parser state machine for Node.js.
URL Parser alternatives and similar libraries
Based on the "Editors" category.
Alternatively, view url-js alternatives based on common mentions on social networks and blogs.
-
quill
Quill is a modern WYSIWYG editor built for compatibility and extensibility. -
slate
A completely customizable framework for building rich text editors. (Currently in beta.) -
Quasar Framework
Quasar Framework - Build high-performance VueJS user interfaces in record time -
medium-editor
Medium.com WYSIWYG editor clone. Uses contenteditable API to implement a rich text solution. -
TOAST UI Editor
๐๐ Markdown WYSIWYG Editor. GFM Standard + Chart & UML Extensible. -
TinyMCE
The world's #1 JavaScript library for rich text editing. Available for React, Vue and Angular -
jsoneditor
A web-based tool to view, edit, format, and validate JSON -
SimpleMDE
A simple, beautiful, and embeddable JavaScript Markdown editor. Delightful editing for beginners and experts alike. Features built-in autosaving and spell checking. -
bootstrap-wysiwyg
Tiny bootstrap-compatible WYSIWYG rich text editor. -
wysihtml5
Open source rich text editor based on HTML5 and the progressive-enhancement approach. Uses a sophisticated security concept and aims to generate fully valid HTML5 markup by preventing unmaintainable tag soups and inline styles. -
Froala Editor
The next generation Javascript WYSIWYG HTML Editor. -
Trumbowyg
A lightweight and amazing WYSIWYG JavaScript editor under 10kB -
EpicEditor
EpicEditor is an embeddable JavaScript Markdown editor with split fullscreen editing, live previewing, automatic draft saving, offline support, and more. For developers, it offers a robust API, can be easily themed, and allows you to swap out the bundled Markdown parser with anything you throw at it. -
ContentTools
A JS library for building WYSIWYG editors for HTML content. -
jquery-notebook
A modern, simple and elegant WYSIWYG rich text editor. -
Mobiledoc Kit
A toolkit for building WYSIWYG editors with Mobiledoc -
ckeditor-releases
Official distribution releases of CKEditor 4. -
Monod
:notebook: Our cool, secure, and offline-first Markdown editor. -
php-parser
:herb: NodeJS PHP Parser - extract AST or tokens (PHP5 and PHP7) -
Bangle.dev
Collection of higher level rich text editing tools. It powers the local only note taking app https://bangle.io -
Zepcode
โ๏ธ Zeplin extension that generates Swift snippets from colors, fonts, and layers -
#<Sawyer::Resource:0x00007fbac98da410>
Basic operations on iterables -
convert-plain-text-into-links
An npm module which replaces any plain text link within string with achor tag -
react-component-widget
Component for resizing and repositioning charts, parsing transferred data when working with Recharts library. -
jquery-connect
Easily connect your jQuery code to stores like Redux -
#<Sawyer::Resource:0x00007f6e64170690>
1KB (GZipped) state manager for React. It is small and easy to use
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of URL Parser or a related project?
README
URL Parser
This repository contains a work in progress state machine 100% compliant to the URL parser specification. The goal is to create a performant URL parser.
For more information about the URL parsing state machine visit here.
Installation
npm i --save url-state-machine
Usage
const URLStateMachine = require('url-state-machine')
const state = new URLStateMachine('https://www.yagiz.co/implementing-node-js-url-parser-in-webassembly-with-rust/')
console.log(state.url)
Benchmarks
Here's the current benchmarks comparing url-state-machine
with the native URL implementation and whatwg-url
.
Even though these benchmarks provide a good reference for url-state-machine
, should not be taken in any consideration since the implementation of url-state-machine
is not finished, and does not reflect the final performance of it.
โโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโโโ
โ Slower tests โ Samples โ Result โ Tolerance โ
โโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโข
โ whatwg-url โ 1500 โ 52643.30 op/sec โ ยฑ 0.85 % โ
โ url-state-machine โ 1500 โ 60174.30 op/sec โ ยฑ 0.97 % โ
โโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโข
โ Fastest test โ Samples โ Result โ Tolerance โ
โโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโข
โ URL โ 10000 โ 914694.49 op/sec โ ยฑ 2.42 % โ
โโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโโโ
Testing
All tests are referenced and borrowed from web-platform-tests.
Test Files 1 failed (1)
Tests 189 failed | 544 passed (733)
Time 76ms
Conformance to specification
We're currently testing only the following attributes for URL
- pathname
- 93 failed | 640 passed (733)
- host
- 72 failed | 661 passed (733)
- password
- 2 failed | 731 passed (733)
- protocol
- 1 failed | 732 passed (733)
- username
- 733 passed (733)
- port
- 733 passed (733)
- fragment
- 733 passed (733)
- query
- 733 passed (733)