Skip to content

google/dart-neats

Dart Neats Github Actions

A collection of a small neat packages for dart.

Disclaimer: This is not an officially supported Google product.

This repository is meant as a playground where small neat packages are cultivated. If package grows too large and complex and needs a dedicated issue tracker it should be moved to a dedicated repository.

Each folder in this repository contains a neat pub package. This project aims to use a separate package whenever it makes sense to have an independent major version. This often means splitting functionality into separate packages, which can be reused independently.

Package Description Version
acyclic_steps An explicit acyclic step dependency framework with concurrent evaluation and dependency injection. pub package
canonical_json Encoder and decoder for a canonical JSON format, useful when cryptographically hashing or signing JSON objects. pub package
chunked_stream Utilities for working with chunked streams, such as byte streams which is often given as a stream of byte chunks with type Stream<List<int>>. pub package
http_methods List of all HTTP methods registered with IANA as list of strings, and metadata such as whether a method idempotent. pub package
neat_cache A neat cache abstraction for wrapping in-memory or redis caches. pub package
neat_periodic_task Auxiliary classes for reliably running a periodic task in a long-running process such as web-server. pub package
pem PEM encoding/decoding of textual keys following RFC 7468, supporting both lax/strict-mode, and certificates chains of concatenated PEM blocks. pub package
retry Utility for wrapping an asynchronous function in automatic retry logic with exponential back-off, useful when making requests over network. pub package
safe_url_check Check if an untrusted URL is broken, without allowing connections to a private IP address. pub package
sanitize_html Function for sanitizing HTML to prevent XSS by restrict elements and attributes to a safe subset of allowed values. pub package
slugid A URL-safe base64 encoding for UUIDv4 stripped of padding. Useful when embedding short random UUIDs in URLs. pub package
vendor Utility for vendoring packages into a project and rewriting import/export statements. pub package

Repository Management

The root pubspec.yaml is only intended to lock the development dependencies for repository management. When adding new packages or changing mono_repo.yaml or mono_pkg.yaml in a package, make sure to run the following commands to update travis configuration.

  • pub get
  • pub run mono_repo travis

Contributing

We love patches and contributions, please refer to CONTRIBUTING.md for technicalities on CLA and community guidelines. As this project aims to build neat packages using other neat packages we might also accept proposals for new neat packages, though it's often easier to publish independently.

License

Unless stated otherwise contents in this repository is licensed under Apache License 2.0, see LICENSE.