We are using changesets for version management.
To simplify the changeset creation process, you can use command
npm run changeset
It opens an interactive interface, which should help you with changeset file composition.
For a new version release of packages, we use changesets, which will automatically bump version and generate changelogs. Following command will initialize interactive guide through the version release per package. Run from root:
npm run release
This command prepares commit, tag and pushes everything to git and triggers pipeline in CI, which publishes the packages into npm registry.
Plugins in this repository are abided by Semantic Versioning. Among others this means that plugins with major version zero (0.y.z) shouldn't be used in production. Such plugins are in development or are not tested enough to be marked as "production ready". That doesn't necessary mean that this plugin version is not stable (or is not currently running in production environment on some project), but it's a way to say "Don't use it yet" to other teams.
We use changesets prereleases in this repository to release RC versions of packages.
Pre-release maintener usualy inits this stage once by npm run release:next:init
and team then commit and release RC version from branch next
by common release command npm run release
.
Maintener can close pre-release stage by npm run release:graduate
command , whitch will exit pre
mode and releases new production versions of packages.
The IMA.js plugins is multi-package repository containing most commonly used plugins on IMA.js application development stack.
- cli-plugin-analyze
- cli-plugin-legacy-css
- cli-plugin-less-constants
- cli-plugin-scramble-css
- plugin-analytic
- plugin-analytic-fb-pixel
- plugin-analytic-google
- plugin-atoms
- plugin-halson-rest-client
- plugin-http-client
- plugin-local-storage
- plugin-logger
- plugin-managed-component
- plugin-merkur
- plugin-resource-loader
- plugin-rest-client
- plugin-script-loader
- plugin-select
- plugin-self-xss
- plugin-shared-cache
- plugin-style-loader
- plugin-testing-integration
- plugin-useragent
- plugin-websocket
follow the prompt and fill proper data to setup plugin properties.
The IMA.js is an application development stack for developing isomorphic applications written in pure JavaScript. You can find the IMA.js skeleton application at https://github.com/seznam/ima.
Contribute to this project via Pull-Requests.
Our dev stack expects node>=18
and npm>=8
.
To set up, simply run npm ci
from the repo root.