Skip to content
/ oss Public

Formsort open source monorepo

Notifications You must be signed in to change notification settings

formsort/oss

Repository files navigation

Formsort Open Source Monorepo

Packages

constants

Constants that are used across Formsort products and repos.

custom-question-api

Helpers for implementing custom questions in Formsort.

eslint-config

ESLint config used by all projects in this repo and other Formsort repos.

react-embed

React component to load formsort flows.

tsconfig

TypeScript configuration used by all projects in this repo and other Formsort repos.

web-embed-api

Embed flows within other webpages, allowing communication between the embed and the parent page.

Publishing

This repo is published using Craft via GitHub Actions.

To release a new version of a package, follow these steps:

  1. Decide on the version of the package you are going to release, following semver (MAJOR.MINOR.PATCH):
    • Bump PATCH version if you are only fixing minor bugs w/o new features or breaking changes
    • Bump MINOR version if you are adding new features
    • Bump MAJOR version if you have any backwards incompatible changes
  2. Add #skip-changelog to PR bodies you want to omit from the automated changelogs
  3. Create some milestones and associate relevant PRs with them to group PRs under higher-level initiatives. The milestone title and description will end up in the automated changelogs along with a list of PR numbers (but not the commit logs). See a Craft release itself for an example.
  4. Trigger the release through GitHub Actions:
    • Run gh workflow run release.yml -f package=<package> -f version=<version> if you have gh installed
    • Or visit the actions page, click on the Run workflow button on the top right corner, fill in the values and ship this sucker.
  5. Triggering this action will send an approval request to the Security guild
  6. Once the publish request is approved, Craft will run its magic, creating a release branch with automated changelogs
  7. After the build passes on the release branch it will publish to npm and GitHub releases

Contributing

See CONTRIBUTING.md for an overview of how to contribute to these packages.