Giter Site home page Giter Site logo

milliejs's People

Contributors

dependabot[bot] avatar sbonami avatar step-security-bot avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

milliejs's Issues

Comply with OWASP

  • Comply with OWASP
  • Add OWASP scans to CI/CD
  • Mention OWASP compliance in Security Policy

Expand Query capabilities

Queries are limited to simple equality checks for attributes, however, a more expansive feature set is necessary for even the most elementary use cases.

Document CRUD flows

sequenceDiagram
    Client->>Millie: create Entity (from request)
    par In parallel
        critical Attempt to update Replica with requested payload
            Millie->>Replica: create Entity (from request)
        option Succeeded
            Replica-->>Client: new Entity (from request)
        option Failed
            rect rgb(255, 0, 0)
                Note over Replica,Client: TBD
                Replica-->>Client: Replica Error
            end
        end
    and
        critical Attempt to update Source with requested payload
            Millie->>Source: create Entity (from request)
        option Succeeded
            Source->>Millie: 
            par In parallel
                Millie-->>Client: new Entity (from source)
            and
                critical Attempt to update Replica with Source's payload
                    Millie->>Replica: new Entity (from source)
                option Succeeded
                    Millie-->>Client: new Entity (from source)
                option Failed
                    rect rgb(255, 0, 0)
                        Note over Millie,Client: TBD
                        Millie-->>Client: Replica Error
                    end
                end
            end
        option Failed
            rect rgb(255, 0, 0)
                Note over Source,Client: TBD
                Source-->>Client: Source Error
            end
        end
    end

Support subscription narrowing

Not all source data is useful for every consumer, so it would be beneficial to allow the client to limit which source subscription data syncs into the replica store.

Simplify delegation code

The MillieJS class does a ton of delegation to the IncrementalStore, and the IncrementalStore likewise to the various CRUD actions. Instead, some meta-programming would be a boon to maintenance.

[Feature]: yarn constraints check in ci

πŸš€ Feature Proposal

Using the yarn constraints, plug-in check the repo is compliant during the continuous integration checks

Motivation

To keep the repo in compliance with standards and best practices

Example

No response

Pitch

Uh, because 😝

[Feature]: Improve type predicates

πŸš€ Feature Proposal

The type predicates are at present only checking for undefined properties, but they could be more specific. Additional checks within the predicate would include: type validation, enum validation, and nesting (Resource within Query).

Additionally, the MillieJS library should perform an invariant check of user inputs, and IncrementalStore should perform invariant checks of store inputs.

Motivation

To ensure the application is operating accurately and to provide specific feedback in moments where provided data is incorrect.

Example

No response

Pitch

The only way to achieve this is to add it to the core

[Bug]: CI dep cache check only for MacOS

Version

latest

Steps to reproduce

  1. Clone the repo on an OS other than Mac
  2. Perform a yarn cache check (yarn install --immutable --immutable-cache --check-cache)

Expected behavior

Successful check and/or better handling of optional dependencies that differ per OS

Actual behavior

An error is thrown for one or more of the optional dependencies that were just cached for MacOS

Additional context

See yarnpkg/berry#5692

Environment

All except MacOS

[Feature]: split out actions into different consistency models

πŸš€ Feature Proposal

To support other consistency models, like: strong consistency, weak consistency, read committed, read uncommitted, snapshot isolation, and linearizeability. This would support client needs that are specific to a particular resource or integration.

Motivation

This will make MillieJS more attractive for integrators that have varying requirements.

Example

No response

Pitch

The adapter to the different consistency models would have to live in core, but there’s no reason why the consistency models themselves could not be plug-and-play packages provided by the community.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.