Openbase Activity

Joined Feb 2021

Rating Distribution

5
21
4
11
3
8
2
1
1
1

Feedback Distribution

41
Great Documentation
39
Easy to Use
16
Performant
10
Highly Customizable
9
Bleeding Edge
8
Responsive Maintainers

Top Reviews

reactA declarative, efficient, and flexible JavaScript library for building user interfaces.
Your developer will thank you. It takes your UI web development to a whole new level. React helps you build maintainable projects which feel intuitive. Developers can share code more easily, take advantage of the massive catalog of react libraries (from things as complex as tables to as simple as a modal). I've been using it for around 7 years so not far from the beginning. In that time my favour towards it has never wavered. It brought components to the web and gives you the flexibility to pick and choose the parts that matter to you instead of being forced to take what you get with the framework like angular. I hope this review finds you well and you consider at least trying it. There are plenty of up to date resources about learning react. Make sure that it is a recent tutorial since as with a lot of the web, in that many years, a lot of the tutorials might be using old or even worse deprecated apis. React is coming for you, after having developed on the web, I then also went on to build a react-native application which was a great experience in terms of knowing how to build it (for the most part), the hard part was what to do with the built application. Then I've used React to build chrome extensions. It's a great framework to know which really has built my confidence as a developer. VR development, here I come !
reactA declarative, efficient, and flexible JavaScript library for building user interfaces.
Your developer will thank you. It takes your UI web development to a whole new level. React helps you build maintainable projects which feel intuitive. Developers can share code more easily, take advantage of the massive catalog of react libraries (from things as complex as tables to as simple as a modal). I've been using it for around 7 years so not far from the beginning. In that time my favour towards it has never wavered. It brought components to the web and gives you the flexibility to pick and choose the parts that matter to you instead of being forced to take what you get with the framework like angular. I hope this review finds you well and you consider at least trying it. There are plenty of up to date resources about learning react. Make sure that it is a recent tutorial since as with a lot of the web, in that many years, a lot of the tutorials might be using old or even worse deprecated apis. React is coming for you, after having developed on the web, I then also went on to build a react-native application which was a great experience in terms of knowing how to build it (for the most part), the hard part was what to do with the built application. Then I've used React to build chrome extensions. It's a great framework to know which really has built my confidence as a developer. VR development, here I come !
react-hook-form📋 React Hooks for forms validation (Web + React Native)
After having used Redux-forms and then Formik moving away from redux. This felt a very natural form library to use. Why did I use it when I was already using a great form library? main reasons: 1. It felt like it was a better level of abstraction which only took responsibility for the form state and behaviour but leaving the markdown alone. 2. It has a smaller package size compared to formik (gotta think about user's download) 3. It's more performant and optimises how often the form re-renders. Then as well as the above, I found that their documentation of typescript types was amazing and definitely a learning for other library documentations!
typescriptTypeScript is a superset of JavaScript that compiles to clean JavaScript output.
There's a reason why after you go typescript you never go back. I've been developing with typescript for the past ~3 years and the community development to get the internet typed has been phenomenal ! The most valuable place where typescript really shines are: 1. When integrating with other libraries it makes sure you comply with how the library was intended to be used, at least code wise. 2. When integrating with any kind of data provider. This helps document your data with your team and then there are tools that can take you further which help you stay aligned with apis in an automated way. It's the first line of defence in building more robust code! Just try it, you can even just have typescript in parts of your application and the compilation feels pretty invisible in terms of complication time.
@testing-library/react🐐 Simple and complete React DOM testing utilities that encourage good testing practices.
This library without a doubt encourages really great testing practices. It also has been built with the foundation of javascript meaning it has wrappers for all sorts of frontend technologies (Vue, Cypress, Svelte) and all using the same APIs. Learn once, use everywhere. So why does it encourage good testing practices ? 1. It's abstracted from react rendering. When you're asserting against react testing library, it gives you what the browser gives you. DOM elements which also teaches you how to use browser developer tools. No testing implementation details which stops you from having false-positive tests because you've implemented correctly but it doesn't actually work and false negatives where you've changed your code then your tests start failing because it's too tightly coupled to your tests. 2. The way you select elements via the api encourages you to test via what your users see. This means nothing specific to your framework and also discourages you to test by what you use for your styling! Sometimes it might be hard to find your thing you're asserting, byText or byRole, then you can always use good old document.querySelector :) I haven't been blocked from using any other libraries like fetch-mock and even has useful async utility functions which waits for your UI to change as well. There is some room for improvement though with the assertion messages. Quite often because you're rendering large parts of your app (if not your whole app!) then the output diff of not finding an element or otherwise requires you to debut and print.
@storybook/react📓 The UI component explorer. Develop, document, & test React, Vue, Angular, Web Components, Ember, Svelte & more!
I initially wasn't so convinced about the useful-ness of storybook but after working in a tech company, you appreciate that not everyone has a development machine setup. Not everyone has access to an environment which they can see and use the code that you've build. Not everyone is able to easily start developing on their machine because of needing access to something or other. Storybook is the answer, it allows you to develop your UI independently and I really have felt the benefits. The power of being able to share a link with minimal access requirements has been empowering for designers and product people alike. The most recent version of storybook has really taken it to a whole new level with by default providing controls to play with your UI elements, fully customisable documentation and even have started to think about things like data mocking which aligns with my testing principles and opens up ways of writing code which is helpful to both testing and storybook. Finally it's great for developers in terms of discovering re-usable code as well as just mapping out customer journeys. When you get someone new to the team, it's then easy to talk about each different journey and not need to get your users of the application in certain states which can be difficult in some case.
fm
fetch-mockMock http requests made using fetch
Do you use fetch in your browser to make api requests. Do you like to write tests which aren't implementation detailed tests ? Then you'll love fetch-mock. It does exactly what it says on the tin, fetch-mock allows you stub out your responses to your apis in your unit tests with an easy to learn api and if you use typescript then even better! Before your tests, you just provide the url to mock and the data you'd like to respond with + the status in most cases. It also allows you to overwrite if you need to change the data that is provided by a particular URL. Just don't forget to reset your mocks between your tests, been caught out by that a couple of times which led to unexpected test behaviour. One thing that isn't that is is to test loading states. Mocking means that you get responses pretty much instantly and makes it difficult to make sure that the user is seeing feedback that a request is happening. There are ways to work around this by using promises, but it's not very intuitive and most UIs have a loading state of sorts so it doesn't feel that edge case either. Some reasonably simple helpers can sort you out, just feels like a missed opportunity of the library.
svelteCybernetically enhanced web apps
There's a lot of hype around Svelte and can definitely see why. It's got a great developer experience and you're able to get an app up and running so fast ! I built with Svelte as an experiment at work by comparing it with our typical setup for our apps using create-react-app. Our conclusion is that overall, it's more a less similar experience building with React which is a + because it felt like a reasonably low learning curve BUT as soon as we started doing something a bit more complex, that's where we started stumbling a bit and having to look for community help. It wasn't quite as flexible. In the end, we'd be moving away from what we as a group of developers knew very very well for what is shouted about as a performance benefit. I was a little disappointed to find that there was still Svelte code required to run, it didn't compile down to pure pure JS as the documentation promises. Still, to be taking the community by storm and creating competition is very healthy and I'm sure there'll be exchange of ideas between the libraries that can help innovation
hus
huskyModern native Git hooks made easy 🐶 woof!
This is such a timesaver! it's an easy way to build hooks which run code before it has to be seen by someone else. Far quicker feedback than on a CI pipeline. You can run pretty much any command but I wouldn't recommend any slow running commands otherwise it might just end up being quite painful. It reduced code review from being 50% of the time blocked by some small linting or code styling error to near enough 0% of the time. In fact the only time I've seen an issue has been when the developer didn't setup their project correctly or deliberately bypassed husky because they didn't think it was important. The one improvement that the library could make is some suggestions and use-case examples in its documentation. For example, I know quite often this is paired up with a package called lint-staged to help only check the code that's changed as part of your work instead of the whole project.
ag-grid-reactThe best JavaScript Data Table for building Enterprise Applications. Supports React / Angular / Vue / Plain JavaScript.
This is always my go to when adding a table into complex data sets. I've used this in a property management platform which had to support a number of workflows and processes. This was perfect in terms of performance because it virtualises your table for that smashing performance. Eventually our table dataset became too large to deal with just on the client side and fortunately the library does a good job providing documentation and a way of integrating with your server side data. The only downside (which is understandable) is to have so many features packed into one package: it's monetised by having an enterprise edition. It didn't put us off and was well worth the money but it's definitely important to know. The documentation clearly sign posts which features are enterprise and which are free via the community edition so make sure to do your research if it'll meet your needs first.
@lingui/react🌍📖 A readable, automated, and optimized (5 kb) internationalization for JavaScript
Looking for internationalisation in your React app, look no further. This is a great library which has ready made code examples (such as with create-react-app), supports dynamic loading of your translations based on the locale the user is requesting to see and is as simple as wrapping your text in their `<Trans>` component + translating a json file. No messing about with custom message ids and files like you might be used to in other internationalisation libraries. It supports dynamic parts of your copy with placeholders (e.g. {0}) and has pluralisation for different locales built in. For those of you with more complex cases, like I can't use a react component or my translation is based on an api response code, then again, check out their docs for they have in depth examples and explanations of how the recommended way to solve those are. What more could you want ?

GitHub Activity

Joined May 2014
21
Followers
8
Following
26
Repositories
0
Gists
57
Pull Requests
134
Issues
828
Starred
4
Watched
8mos ago
qs
qsA querystring parser with nesting support
Great Documentation
Easy to Use

I'm definitely not using the full potential of this library, I just wanted an easy secure way of adding query strings to urls that adds minimal bundle overhead and allows me to create more complex query strings where "objects" can be supported. QS is exactly that and has been maintained with security vulnerabilities resolved pretty quickly


0
8mos ago
date-fns⏳ Modern JavaScript date utility library ⌛️
Great Documentation
Easy to Use
Performant

This is now my go to date library, it has fulfilled my needs while staying lean in my bundle. It's very predictable with it's immutable api and suits my functional application building. This is my go to date library now since the MomentJS library has gone into maintenance mode.


0
8mos ago
mswSeamless REST/GraphQL API mocking library for browser and Node.js.
Great Documentation
Easy to Use
Bleeding Edge

It's great to finally have a solution for mocking which allows me to keep mocks consistent between my unit tests, storybook and developing on my local machine. While the library is great I think it can go a step further by helping provide information on how to create mocks (maybe some automated way of listening to api responses). There are also cases where the UI doesn't change but we want to test that an api was called with the expected request, the way I ended up achieving this was by spying on fetch with Jest (my test runner at the time) but again this is something that could be useful to document.


1
8mos ago
immutableImmutable persistent data collections for Javascript which increase efficiency and simplicity.
Great Documentation
Hard to Use

One of the projects that I'm working on uses this library. I've tried to remove it a handful of times but it's so complex and working in an unexpected way that I had to revert. It probably won't be as buggy if the project got it updated, but I just don't feel like it's the best way to enforce immutability into web applications. I think there are better solutions out there like immerjs which has a much simpler api and actually can make code easier to read not harder to understand. This is particularly important when you have new developers on the team since it's another syntax and api that they have to learn before being able to contribute to the project.


2
fmj
fetch-mock-jestJest wrapper for fetch-mock, a comprehensive stub for fetch
Great Documentation
Buggy
Easy to Use
Responsive Maintainers

Great little library which helps write clearer code using assertions instead of having to dig deep into fetch-mock object. For the most part it works as expected but have come across bugs here and there being still a reasonably new library. Maintainer is generally active though and in the cases where I got stuck, I just reverted to the good old way of traversing the fetch-mock object to do my test assertions until the bug was resolved.


3
eslint-plugin-jest-domeslint rules for use with jest-dom
Great Documentation
Easy to Use

Helps me make consistent decisions about how to write assertions in my tests. This helps the team be more aligned and is one less thing to think about when using the jest-dom package.


3
8mos ago
ls
lint-staged🚫💩 — Run linters on git staged files
Performant
Easy to Use

Works great when paired with a git hook library like husky. Makes any githooks work super duper fast and feel like lightning. This does mean that you'll occasionally get the missed file but that's what CI pipelines are there to protect us from.


2
8mos ago
yup
yupDead simple Object schema validation
Great Documentation

Yup truly does make writing validation easier and being so big in the community has meant that there are plenty of examples of how to integrate it with various useful form libraries (e.g. Formik). One thing that I found pretty hard is debugging async validation. Because of the object like structure, when you end up with really complex forms and validations, I found myself struggling to get to the bottom of understanding of whether I've written the validation wrong, I'm using the tool wrong or something genuinely isn't working and a bug.


2
8mos ago
lodashA modern JavaScript utility library delivering modularity, performance, & extras.
Great Documentation
Easy to Use

The library is undoubtedly proved useful just purely by the amount of projects I've worked with it in. I would say though that I think Lodash could do an even better job by deprecating more of it's utilities and encouraging users to use the native JS versions of code instead of relying on a library. Another library is another layer of having to learn a specific api for developers alike and therefore (even if it's low) another barrier to understanding what code is actually doing.


4
@testing-library/user-event🐕 Simulate user events
Great Documentation
Easy to Use
Highly Customizable

This is a great pairing with testing library to create realistic events to truly test your features in your test. Typing into an input actually consists of focusing on the input, typing (which can be customised to be slow or fast), then blurring the element. This library takes all that hassle away from you but you get a more lifelike test which leads to better tested apps. The api is very intuitive and I haven't come across anything surprising about the usage either.


2