Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ngnjs/ngn
A systems development platform. A revamped portal is coming soon at:
https://github.com/ngnjs/ngn
browser data data-model deno event-driven eventemitter javascript middleware ngn nodejs queue systems web
Last synced: about 3 hours ago
JSON representation
A systems development platform. A revamped portal is coming soon at:
- Host: GitHub
- URL: https://github.com/ngnjs/ngn
- Owner: ngnjs
- License: mit
- Created: 2012-07-05T15:35:36.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2022-05-14T20:26:27.000Z (over 2 years ago)
- Last Synced: 2024-10-31T12:24:02.622Z (20 days ago)
- Topics: browser, data, data-model, deno, event-driven, eventemitter, javascript, middleware, ngn, nodejs, queue, systems, web
- Language: JavaScript
- Homepage: https://ngn.js.org
- Size: 6.51 MB
- Stars: 63
- Watchers: 7
- Forks: 14
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
NGN
NGN is a suite of JavaScript libraries for building systems and frameworks. Version 1.x.x was first released in 2012. Since then, the JavaScript language, runtimes, and communities have seen a continental shift. NGN 2.0.0 has been re-engineered to take advantage of modern JavaScript capabilities.
The library consists of numerous integrated ES modules, designed and tested to work together in any modern JavaScript runtime. Over 1000 combined unit tests are run against Chromium, Node.js 14+ (12+ using ES Module flag), and Deno.
1. **Core** (this repo) - [Live Examples on Codepen](https://codepen.io/collection/Dpqymr)
- Event Emitter
- Middleware Engine
- Custom Exceptions (Errors)
- Ledger System (Auditing/Logging)
- Base Class
2. **[Queue](https://github.com/ngnjs/queue)**
- Parallel Task Runner
- Sequential Task Runner
- Evented Task Runner
3. **[Network](https://github.com/ngnjs/net)** (net)
- HTTP Client (Promise & Callback-Based)
- Network Resource Feature
- Enhanced URL
4. **[Plugin Engine](https://github.com/ngnjs/plugin)**
- Create Plugins
- Extend Core Modules & Plugins
- Semver Support (Dependency Declarations)In addition, the following libraries are available:
- _[libdata](https://github.com/ngnjs/libdata)_: Common data manipulation methods.
- _[libnet-node](https://github.com/ngnjs/libnet-node)_: Polyfill network features Node doesn't have (Request Caching, ReferralPolicy, Subresource Integrity)
- _[libcrypto](https://github.com/ngnjs/libcrypto)_: Simple cryptography features (Generate Keypairs, Sign/Verify Content, Encrypt/Decrypt). The [crypto plugin](https://github.com/ngnjs/crypto) can be used to enable simple crypto for any NGN plugin.We are still working on the **data module**, which is the most powerful, but also most complex library in NGN. The data module supports data modeling, data stores, events, indexing, has it's own query language, and is often described as a small cross-runtime database.
NGNX, the extension system, has been dropped in 2.0.0. The libraries, such as the date/time library, are being integrated directly into NGN.
## Development Status
NGN 2.0.0 is currently in an alpha state. We are battle testing it with select [Butler Logic](https://butlerlogic.com) clients, but we're really putting it through rigorous production testing as we build [Metadoc](https://metadoc.io) and [EnableDB](https://enabledb.com) on NGN 2, [JET](https://github.com/jet-ngn) and [Chassis](https://github.com/ngn-chassis).
NGN 2.0.0 documentation will be forthcoming, with an early release of [Metadoc](https://metadoc.io). In the meantime, a series of code examples are available [here, on Codepen](https://codepen.io/collection/Dpqymr).