microlinkhq / keyvhq

Simple key-value storage with support for multiple backends.

Home Page:https://keyvhq.js.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TODOs and Roadmap

Jytesh opened this issue · comments

So what should we start doing, I upgraded the deps and did nothing else in the packages I have touched need to update keyv-redis to the new test suite and start publishing

Need to enable coveralls and travis ci on all repos to get CI and coverages

can I suggest GitHub Actions instead of Travis?

Travis changed their pricing for OSS making it a less attractive product

Sure just need to update the workflow files, I am not sure how coveralls works but it should integrate with Github Actions as well I assume?

Also someone took the name keyvhq on npm so need to make an org there too

keyvjs is already in use as well

I own keyvhq namespace on npm; let me add you for publishing packages

I think this issue and this one are the major ones, typescript translation + monorepo are also mostly done in casey webb's fork

I am more inclined towards adding typings and testing those instead of a full typescript translation ( as I don't know ts ) but I'll leave that to you

Related PR adding typings

@Jytesh one suggestion: maybe makes sense to have all the source code around one monorepo?

just for inspiration, check browserless monorepo. it will be easier manage the organization as just one repo IMHO.

Absolutely, its the typescript translation that I'm reluctant about, updating each repo is too cumbersome

Should I name the adapter packages as @keyvhq/keyv-* or just @keyvhq/*

Will merge into this repo once its done

Github Actions are enabled :D

Snyk & Coveralls require owner access to add, so you must add those, what's next?

I'm trying to enable coveralls but I'm not seeing the organization on the coveralls dashboard.

Maybe for GH just you need to use the GitHub integration? https://github.com/marketplace/actions/coveralls-github-action

It think you can skip Snyk

Alright I'll add that action, you need to give coveralls OAuth access and then grant it permissions as a Github App in your GitHub settings to see the org in the coveralls dash

The actions should automatically create it so I will look into that

Screen Shot 2021-04-18 at 18 38 54

all right, approved!

We need separate coverage stats for each package right?

Coveralls would average it if we sent it all as in one repo

and would you mind adding me as owner to keyvhq as well

added as owner 🎉

here a tip for setup coverage in a monorepo:

  1. in the "root" repo, add a script for executing all the tests: https://github.com/microlinkhq/metascraper/blob/master/package.json#L119

  2. when an individual package test is run, it creates the coverage file at the root repo: https://github.com/microlinkhq/metascraper/blob/master/packages/metascraper/package.json#L78

  3. when all tests finished, just merge all the partial coverage as one: https://github.com/microlinkhq/metascraper/blob/master/package.json#L111

  4. call the coverage command after test finished on GH action: https://github.com/microlinkhq/metascraper/blob/4c8648a9d639531821b64786d72909906cd0b198/.github/workflows/test.yml#L30

Thoughts on deprecating url based connections for 'official storage adapters' and just include them as a store?

IMHO this is creating unnecessary code dependency:

const keyv = new Keyv('mysql://user:pass@localhost:3306/dbname');

better if the library use memory by default and make it configurable via store option:

const keyv = new Keyv();
const keyv = new Keyv({ store : new KeyvMySQL('mysql://user:pass@localhost:3306/dbname' }));

Yeah exactly

All the pending PR merged 👏