npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@weni/flow-editor

v3.1.1

Published

Standalone flow editing tool designed for use within the RapidPro suite of messaging tools but can be adopted for use outside of that ecosystem.

Downloads

1,415

Readme

codecov Build Status License: MPL 2.0

:desktop_computer: Flow Editor

About

This is a flow editing tool designed for use within the Flows Module suite of messaging tools but can be adopted for use outside of that ecosystem. The editor is a React component built with TypeScript and bundled with Webpack. It is open-sourced under the AGPL-3.0 license.

Usability documentation image

Technologies

Requirements

Before running the application, make sure you have installed the following tools on your machine:

Set up

  1. Open the terminal and clone the repository
  git clone https://github.com/weni-ai/floweditor.git
  1. Enter the created directory
  cd floweditor
  1. Install the dependencies:
  yarn install

How to develop

To run the flow editor in development mode, it requires an asset server. This is what is responsible for serving up flow definitions, groups, contact fields, etc. This project includes an in memory asset server for testing purposes. These are the same lambda functions used by our Netlify preview site.

First, compile and run the local version for a faux asset server.

yarn lambda

Then you are ready to fire up the development server for the editor.

yarn start

Localization

The project is fully localized using i18next and leans on react-i18next to integrate it inside components. To generate new keys and defaults for localization, we use i18next-scanner. Use the yarn command scan to update localization keys.

yarn scan

Running Tests

This project uses Jest for unit/snapshot testing and react-testing-library where we can. The project has some older more complex tests that use Enzyme. Typescript and Jest are integrated via ts-jest.

yarn test

Note that running this locally will automatically multithread based on how many cores your box has. It will also run it in the interactive watch mode. This mode is what you can use to easily run only failed tests or update snapshots. When this same command is run on CI, the tests will be run without watch mode automatically. You can also run tests locally without watch mode

yarn test --watchAll=false

Formatting

Prettier is used to keep formatting consistent. We use huskey pre-commit hooks to run prettier on every commit. It is possible to run prettify against the entire project without commits. This is only necessary if the project conventions change.

yarn run prettify

Publishing

To publish, simply invoke the desired semver -- patch, minor or major. This will version the package and travis will publish it to the npm repository automatically.

yarn version --patch
git push --tags

Development Workflow

| Command | Description | |--|--| | yarn install | Install dependencies | yarn lambda | Compile and run the local version for a faux asset server at localhost:6000 | yarn start | Serve with hot reload at localhost:3000 | yarn build | Build for production with minification | yarn build --report | Build for production and view the bundle analyzer report | yarn test | Run all tests

Open-Source Governance

The Weni Platform open source projects are governed by @weni-ai. Weni opens all its software parts under terms of an open-source license to reach potential users and partners mainly. Secondly, Weni wants to reach developers by building a community for some pieces that are more reusable in other businesses or software projects, such as NLP models or tools. Besides that, the openness of our software is also related to building trust by enabling our external stakeholders to audit the security of our software.

Community

  • Join our community chat to discuss with our internal team
  • Join #dev for help from the community to development issues

Contributing

We are looking for collaboration from the Open Source community! There's so much we want to do, including but not limited to: enhancing existing applications with new features, optimizing the NLP tasks and algorithms involved that boost accuracy, new communication channels and integrations.