@mitranim/js v0.1.67
Overview
Kinda "JS standard library" that doesn't suck. Or sucks less than X, insert some alternative here.
Important non-features:
- Doesn't require Node or Deno.
- Doesn't require TypeScript.
- Doesn't require a transpiler.
- Doesn't require a bundler.
- Doesn't require NPM.
- No external dependencies.
- No prototype pollution.
- No globals.
- No slowness.
Important features:
- Environment-independent. Runs in browsers, Deno, Node.
- Approximate browser compatibility: evergreen, Safari 11+.
- Node compatibility: 18+.
- Compact and performant.
- Relatively few source files.
- Relatively clear source code.
- Native JS modules. Can be imported by URL.
Alternatives that suck:
- Using only built-ins.
- Google Closure.
- Deno stdlib.
- Lodash.
- Various other things.
TOC
Usage
Uses native JS modules, which can be imported by URL in browsers and Deno. The truly lazy can import many core modules at once:
import * as a from 'https://cdn.jsdelivr.net/npm/@mitranim/js@0.1.67/all.mjs'Otherwise, import specific modules you need. See the list below. Example:
import * as l from 'https://cdn.jsdelivr.net/npm/@mitranim/js@0.1.67/lang.mjs'
import * as s from 'https://cdn.jsdelivr.net/npm/@mitranim/js@0.1.67/str.mjs'Also available on NPM:
npm i -E @mitranim/jsFeatures
lang: type assertions and other essentials needed by all other code.iter: tools for iteration and functional programming.obj: tools for manipulating JS objects and plain dicts.str: tools for manipulating strings.coll: extended versions of JS data structure classes, with better APIs.url: better URL implementation.time: tools for datetimes and intervals.path: various functions for working with FS paths.dom: shortcuts for working with the DOM.dom_shim: lightweight and performant shim for DOM nodes and elements.dom_global_shim: shimmed DOM globals, interchangeable withdom_global_nativedom_global_native: native DOM globals, interchangeable withdom_global_shimdom_reg: shortcuts for registering custom DOM elements.prax: simple system for rendering DOM elements. React-inspired syntax, better semantics and performance.obs: observables and reactivity.http: shortcuts for the fetch/Response APIs, URL routing, cookie decoding/encoding.http_deno: tools for HTTP servers running in Deno.http_srv: streaming and broadcasting tools for generic HTTP servers.live_deno: tools for live-reloading in development.cli: essential tools for CLI apps.test: tools for testing and benchmarking.
Some other extremely useful features are undocumented for now. Docs are in progress.
Perf
- Written carefully and with benchmarks.
- Balances optimization and code compactness.
- Tries to avoid ludicrous inefficiencies.
- Benchmarked only in V8 for now. (Engine used in Deno / Node / Chrome.)
License
Misc
Contact me by opening an issue or via https://mitranim.com/#contacts.
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
11 months ago
11 months ago
7 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago