diff --git a/.github/workflows/canary-main.yml b/.github/workflows/canary-main.yml
new file mode 100644
index 00000000..30d5a77b
--- /dev/null
+++ b/.github/workflows/canary-main.yml
@@ -0,0 +1,172 @@
+name: Canary
+
+on:
+ pull_request:
+ branches: [main, latest]
+ types: [opened, synchronize, reopened, ready_for_review]
+ workflow_dispatch: {}
+
+permissions:
+ contents: write
+ pull-requests: write
+ packages: write
+
+concurrency:
+ group: canary-pr-${{ github.event.pull_request.number }}
+ cancel-in-progress: true
+
+jobs:
+ canary:
+ name: Canary publish (tests + publish next)
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ fetch-tags: true
+ - name: Setup Node
+ uses: actions/setup-node@v3
+ with:
+ node-version: 20
+ cache: yarn
+ - name: Setup npm auth
+ run: |
+ echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc
+ npm whoami || true
+ env:
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
+ - name: Install deps
+ run: yarn install --frozen-lockfile
+ - name: Build libs
+ run: yarn build:libs
+ - name: Test client-core (aggregate)
+ run: |
+ set +e
+ yarn test:client-core:coverage
+ RC=$?
+ if [ $RC -ne 0 ]; then echo client-core >> failed-tests.txt; fi
+ exit 0
+ - name: Report Client Core Coverage
+ if: always()
+ uses: davelosert/vitest-coverage-report-action@v2
+ with:
+ name: client-core
+ json-summary-path: coverage/coverage-summary.json
+ json-final-path: coverage/coverage-final.json
+ - name: Test client (aggregate)
+ run: |
+ set +e
+ yarn test:client:coverage
+ RC=$?
+ if [ $RC -ne 0 ]; then echo client >> failed-tests.txt; fi
+ exit 0
+ - name: Report Client Coverage
+ if: always()
+ uses: davelosert/vitest-coverage-report-action@v2
+ with:
+ name: client
+ json-summary-path: coverage/coverage-summary.json
+ json-final-path: coverage/coverage-final.json
+ - name: Test validators (aggregate)
+ run: |
+ set +e
+ yarn test:validators:coverage
+ RC=$?
+ if [ $RC -ne 0 ]; then echo validators >> failed-tests.txt; fi
+ exit 0
+ - name: Report Validators Coverage
+ if: always()
+ uses: davelosert/vitest-coverage-report-action@v2
+ with:
+ name: validators
+ json-summary-path: coverage/coverage-summary.json
+ json-final-path: coverage/coverage-final.json
+ - name: Evaluate aggregated test result
+ run: |
+ if [ -f failed-tests.txt ]; then
+ echo "::error::Falhas em pacotes de teste:";
+ cat failed-tests.txt | sed 's/^/- /';
+ echo "Marcando job como failed";
+ exit 1;
+ else
+ echo "Todos os testes passaram em todos os pacotes";
+ fi
+ - name: Compute ephemeral canary version
+ if: success()
+ id: version
+ run: |
+ BASE_VERSION=$(node -p 'require("./lerna.json").version')
+ SHORT_SHA=$(git rev-parse --short HEAD)
+ EPHEMERAL_VERSION="${BASE_VERSION}-next.${SHORT_SHA}.${GITHUB_RUN_ATTEMPT}"
+ echo "EPHEMERAL_VERSION=$EPHEMERAL_VERSION" >> $GITHUB_ENV
+ echo "EPHEMERAL_VERSION=$EPHEMERAL_VERSION" >> $GITHUB_OUTPUT
+ - name: Inject ephemeral version in packages
+ if: success()
+ run: |
+ EPV="$EPHEMERAL_VERSION"
+ echo "Aplicando versão efêmera $EPV nos package.json (sem commit)"
+ jq --arg v "$EPV" '.version = $v' lerna.json > lerna.tmp && mv lerna.tmp lerna.json
+ for PKG in packages/*/package.json; do
+ jq --arg v "$EPV" '.version = $v' "$PKG" > "$PKG.tmp" && mv "$PKG.tmp" "$PKG" || exit 1
+ done
+ - name: Git identity for ephemeral commit
+ if: success()
+ run: |
+ git config --global user.name 'github-actions[bot]'
+ git config --global user.email 'github-actions[bot]@users.noreply.github.com'
+ - name: Ephemeral commit (local, not pushed)
+ if: success()
+ run: |
+ echo "HEAD_ORIG=$(git rev-parse HEAD)" >> $GITHUB_ENV
+ git add lerna.json packages/*/package.json || true
+ if git diff --cached --quiet; then
+ echo "Sem mudanças para commit (rerun?)"
+ else
+ git commit -m "chore(ci): ephemeral canary version $EPHEMERAL_VERSION" || true
+ fi
+ git status --short
+ - name: Publish canary (no commit/tag)
+ if: success()
+ env:
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
+ run: |
+ npx lerna publish from-package --dist-tag next --yes --no-verify-access || echo "Nenhum pacote alterado para publicar (ok)"
+ echo "CURRENT_VERSION=$EPHEMERAL_VERSION" >> $GITHUB_ENV
+
+ - name: Revert ephemeral commit (keep tree clean for PR)
+ if: success()
+ run: |
+ if [ -n "$HEAD_ORIG" ]; then
+ git reset --hard "$HEAD_ORIG" || true
+ git status --short
+ fi
+ - name: PR Success Comment
+ if: success()
+ uses: actions/github-script@v6
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ const curr = process.env.CURRENT_VERSION;
+ const number = context.payload.pull_request.number;
+ const body = `Canary publicado: v${curr}`;
+ await github.rest.issues.createComment({
+ issue_number: number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ body
+ });
+ - name: PR Failure Comment
+ if: failure()
+ uses: actions/github-script@v6
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ const number = context.payload.pull_request.number;
+ const body = 'Canary não publicado: testes falharam. Verifique os logs do workflow.';
+ await github.rest.issues.createComment({
+ issue_number: number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ body
+ });
diff --git a/.github/workflows/minor-release-latest.yml b/.github/workflows/minor-release-latest.yml
new file mode 100644
index 00000000..f7a6a275
--- /dev/null
+++ b/.github/workflows/minor-release-latest.yml
@@ -0,0 +1,66 @@
+name: Minor Release (merge main -> latest)
+
+on:
+ pull_request:
+ types: [closed]
+ branches:
+ - latest
+
+permissions:
+ contents: write
+ pull-requests: write
+ packages: write
+
+jobs:
+ minor:
+ if: github.event.pull_request.merged == true && github.event.pull_request.head.ref == 'main'
+ runs-on: ubuntu-latest
+ name: Minor publish
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ - name: Setup Node
+ uses: actions/setup-node@v3
+ with:
+ node-version: 20
+ cache: yarn
+ - name: Git identity
+ run: |
+ git config --global user.name 'github-actions[bot]'
+ git config --global user.email 'github-actions[bot]@users.noreply.github.com'
+ - name: Setup npm auth
+ run: |
+ echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc
+ npm whoami || true
+ env:
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
+ - name: Install
+ run: yarn install --frozen-lockfile
+ - name: Build libs
+ run: yarn build:libs
+ - name: Minor version & publish
+ id: minor
+ run: |
+ yarn publish:minor
+ VERSION=$(node -p 'require("./lerna.json").version')
+ echo "CURRENT_VERSION=$VERSION" >> $GITHUB_ENV
+ echo "PREVIOUS_TAG=$(git describe --tags --abbrev=0 --exclude $VERSION 2>/dev/null || echo '')" >> $GITHUB_ENV
+ - name: PR Comment
+ uses: actions/github-script@v6
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ const curr = `v${process.env.CURRENT_VERSION}`;
+ const body = `Minor release publicado: ${curr}`;
+ if (!context.issue.number) {
+ core.warning('Sem issue/PR number detectado para comentar.');
+ } else {
+ await github.rest.issues.createComment({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ body
+ });
+ }
diff --git a/.github/workflows/patch-release-main.yml b/.github/workflows/patch-release-main.yml
new file mode 100644
index 00000000..9ee800cc
--- /dev/null
+++ b/.github/workflows/patch-release-main.yml
@@ -0,0 +1,66 @@
+name: Patch Release (merge -> main)
+
+on:
+ pull_request:
+ types: [closed]
+ branches:
+ - main
+
+permissions:
+ contents: write
+ pull-requests: write
+ packages: write
+
+jobs:
+ patch:
+ if: github.event.pull_request.merged == true
+ runs-on: ubuntu-latest
+ name: Patch publish
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ - name: Setup Node
+ uses: actions/setup-node@v3
+ with:
+ node-version: 20
+ cache: yarn
+ - name: Git identity
+ run: |
+ git config --global user.name 'github-actions[bot]'
+ git config --global user.email 'github-actions[bot]@users.noreply.github.com'
+ - name: Setup npm auth
+ run: |
+ echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc
+ npm whoami || true
+ env:
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
+ - name: Install
+ run: yarn install --frozen-lockfile
+ - name: Build libs
+ run: yarn build:libs
+ - name: Patch version & publish
+ id: patch
+ run: |
+ yarn publish:patch
+ VERSION=$(node -p 'require("./lerna.json").version')
+ echo "CURRENT_VERSION=$VERSION" >> $GITHUB_ENV
+ echo "PREVIOUS_TAG=$(git describe --tags --abbrev=0 --exclude $VERSION 2>/dev/null || echo '')" >> $GITHUB_ENV
+ - name: PR Comment
+ uses: actions/github-script@v6
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ const curr = `v${process.env.CURRENT_VERSION}`;
+ const body = `Patch release publicado: ${curr}`;
+ if (!context.issue.number) {
+ core.warning('Sem issue/PR number detectado para comentar.');
+ } else {
+ await github.rest.issues.createComment({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ body
+ });
+ }
diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml
index 58680d1f..a9b9c8b7 100644
--- a/.github/workflows/prerelease.yml
+++ b/.github/workflows/prerelease.yml
@@ -5,6 +5,7 @@ on:
types: [closed]
branches:
- main
+ workflow_dispatch: {}
permissions:
contents: write # for checkout and tag
@@ -12,43 +13,8 @@ permissions:
packages: write # for publish
jobs:
- publish:
- if: github.event.pull_request.merged == true
- name: Pre-release
+ disabled:
runs-on: ubuntu-latest
+ if: false
steps:
- - name: "Checkout"
- uses: actions/checkout@v2
- with:
- fetch-depth: 0
- - name: "Setup do nodejs"
- uses: actions/setup-node@v3
- with:
- node-version: 20
- cache: "yarn"
-
- - name: Git Identity
- run: |
- git config --global user.name 'github-actions[bot]'
- git config --global user.email 'github-actions[bot]@users.noreply.github.com'
- git remote set-url origin https://x-access-token:${GITHUB_TOKEN}@github.com/$GITHUB_REPOSITORY
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
- - name: Setup npm env
- run: |
- echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc
- npm whoami
- env:
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
-
- - name: Install
- run: yarn install
- - name: Build libs
- run: yarn build:libs
- - name: Bump versions and publish packages
- run: |
- yarn publish:canary
- env:
- GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ - run: echo "Workflow legacy desativado. Use canary-main.yml / patch-release-main.yml / minor-release-latest.yml"
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 96475b6e..3cb3f1e5 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -5,6 +5,7 @@ on:
branches:
- latest
types: [closed]
+ workflow_dispatch: {}
permissions:
contents: write # for checkout and tag
@@ -12,67 +13,8 @@ permissions:
packages: write # for publish
jobs:
- publish:
- if: github.event.pull_request.merged == true
- name: Publish
- runs-on: ubuntu-18.04
+ disabled:
+ runs-on: ubuntu-latest
+ if: false
steps:
- - name: Checkout
- uses: actions/checkout@v2
- with:
- fetch-depth: 0
- token: ${{ secrets.IQ_ADM_TIM_TOKEN }}
- - name: Use Node.js ${{ matrix.node-version }}
- uses: actions/setup-node@v3
- with:
- node-version: ${{ matrix.node-version }}
- cache: "yarn"
- - name: Git Identity
- run: |
- git config --global user.name 'github-actions[bot]'
- git config --global user.email 'github-actions[bot]@users.noreply.github.com'
- git remote set-url origin https://x-access-token:${GITHUB_TOKEN}@github.com/$GITHUB_REPOSITORY
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
- - name: Setup npm env
- run: |
- echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc
- npm whoami
- env:
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
-
- - name: Install
- run: yarn install
- - name: Setup lerna
- run: yarn bootstrap
- - name: Build libs
- run: yarn build:libs
- - name: bump version
- run: yarn versionup
- env:
- GH_TOKEN: ${{ secrets.IQ_ADM_TIM_TOKEN }}
- - name: Set Current Version
- run: |
- CURRENT_VERSION=$(node -p 'require("./lerna.json").version')
- echo "CURRENT_VERSION=${CURRENT_VERSION}" >> $GITHUB_ENV
- - name: Publish
- run: yarn publish:libs
- env:
- GH_TOKEN: ${{ secrets.IQ_ADM_TIM_TOKEN}}
- - uses: actions/github-script@v4
- with:
- github-token: ${{secrets.GITHUB_TOKEN}}
- script: |
- github.issues.createComment({
- issue_number: context.issue.number,
- owner: context.repo.owner,
- repo: context.repo.repo,
- body: 'https://github.com/${{ github.repository }}/releases/tag/v${{ env.CURRENT_VERSION }} is released 🎉'
- })
- - name: Update main branch
- run: |
- git checkout main
- git merge latest -m "chore: updated main branch (merged latest into main)"
- git push origin main
-
+ - run: echo "Workflow legacy desativado. Use minor-release-latest.yml"
diff --git a/.github/workflows/test-libs.yml b/.github/workflows/test-libs.yml
index de91399f..ec77d771 100644
--- a/.github/workflows/test-libs.yml
+++ b/.github/workflows/test-libs.yml
@@ -1,8 +1,10 @@
-name: Jest test validators
+name: Packages tests (vitest)
on:
pull_request:
branches: [main, latest]
+ types: [opened, synchronize, reopened, ready_for_review]
+ workflow_dispatch: {}
jobs:
test:
diff --git a/.vscode/settings.json b/.vscode/settings.json
index d71960f2..369c72ac 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -12,5 +12,6 @@
"br-addons"
],
"conventionalCommits.promptFooter": false,
- "conventionalCommits.promptBody": false
+ "conventionalCommits.promptBody": false,
+ "vitest.disableWorkspaceWarning": true
}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c5b67f25..be48bcc7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,188 +3,164 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-# [0.9.0](https://github.com/IQ-tech/firebolt/compare/v0.8.2...v0.9.0) (2022-10-19)
+## 0.10.0 (Baseline de Fluxo)
+Esta versão estabelece um novo ciclo interno de versionamento e publicação.
-### Bug Fixes
+### Resumo do Novo Fluxo
-* **types:** adding prop types ([5d7820e](https://github.com/IQ-tech/firebolt/commit/5d7820e5bfb0688e7593ce1e4a64e5eca3894b20))
-* **validators:** :bug: fix CI ([1a6db61](https://github.com/IQ-tech/firebolt/commit/1a6db61093a68728532512f7070b05e6a1b4c342))
-* **validators:** :bug: fix do fix kkkk ([99406c3](https://github.com/IQ-tech/firebolt/commit/99406c3b08a2eb56b3f0803127c56c25d839bb62))
-* **validators:** :bug: fixed validators label ([dd18c66](https://github.com/IQ-tech/firebolt/commit/dd18c66fec11204c48c9310cb9f17a64d38d1d6a))
-* **validators:** :sparkles: added backslash filter to name validator ([c1a32c3](https://github.com/IQ-tech/firebolt/commit/c1a32c3a3842dad985b68403be12a07fdeab9ba5))
-* **validators:** 🩹 add accents validator on email ([701adba](https://github.com/IQ-tech/firebolt/commit/701adba3b38754c1bd7eb5b91b11db17b5f578f2))
+- PR aberto/sincronizado para `main`: publica canary `0.10.x-next.N` (dist-tag `next`) sempre apontando para a PRÓXIMA versão patch.
+- Merge em `main`: gera release estável patch (`0.10.x`).
+- Merge de `main` em `latest`: gera release estável minor (`0.x+1.0`).
+- Apenas a branch `main` pode abrir PR para `latest`.
+### Motivos do Salto (0.8.x → 0.10.0)
-### Features
+- Reset lógico do fluxo de distribuição após reestruturação interna.
+- Eliminar herança de contagem inconsistente de canaries prévias.
+- Padronizar baseline para iniciar sequência clara de patches e minors.
-* :sparkles: added new generic account number preset ([8cf6bd6](https://github.com/IQ-tech/firebolt/commit/8cf6bd613897f71be4f98497ded5c4958ae9b063))
-* :sparkles: adding two news generic account preset ([291dc1d](https://github.com/IQ-tech/firebolt/commit/291dc1de0b25804da325e140c880c02d3e0c9237))
-* **blueberry-theme:** :sparkles: added maxLength ([9b2d1bf](https://github.com/IQ-tech/firebolt/commit/9b2d1bfb878e84b84f4533af829a56850ff96644))
-* **client:** :sparkles: added data attr to fireboltform ([9727ea9](https://github.com/IQ-tech/firebolt/commit/9727ea96570cb8e3b9c13094b0f6749759d9bd97))
-* **client:** :sparkles: added new hook to wizard to run callback before request a new step ([15dfc69](https://github.com/IQ-tech/firebolt/commit/15dfc69f7a2e4ad682bbc6fe74b582d3a6adcd46))
-* **client:** ✨ add unexpected error handler on api response ([7b2a119](https://github.com/IQ-tech/firebolt/commit/7b2a119293adaa62ce6d41c15c2ffca54ebd3309))
-* **client:** added payload to new hook ([693fb12](https://github.com/IQ-tech/firebolt/commit/693fb123f279aa4dc5a2a77852dfbdaf7057b273))
-* **fieds:** order fields by prop array value ([e806cae](https://github.com/IQ-tech/firebolt/commit/e806caef1bd422823777044983df0205a50bd0ed))
-* **validators:** :sparkles: adding a parameter to ignore spaces to the nonRepeatedChars validator ([ed31f80](https://github.com/IQ-tech/firebolt/commit/ed31f803fdfa22f21ff4fa2900dff762de84d286))
-* **validators:** :sparkles: email suggestion implementation ([5e2d372](https://github.com/IQ-tech/firebolt/commit/5e2d372e6c9b64dc68f735b817849b2cede27d39))
-* **validators:** :sparkles: removing repeated spaces from the payload field ([184ba26](https://github.com/IQ-tech/firebolt/commit/184ba26ae973354857d53cfdd44eeadebc439ca2))
+### Impactos
+- Todas as libs mantêm versão sincronizada (mesmo que sem mudanças internas) para facilitar rastreabilidade.
+- Canaries agora criam tags git e não usam mais `--no-git-tag-version`, garantindo continuidade previsível dos sufixos.
+### Observações de Uso
+- Canaries sempre representam a PRÓXIMA versão patch (ex: estável atual `0.10.3` ⇒ canary gera `0.10.4-next.0`).
+- Ao publicar `0.10.4`, o próximo ciclo de canary recomeça em `0.10.5-next.0`.
+- Rollbacks não removem publicações: emitir novo patch corretivo.
+---
-## [0.8.2](https://github.com/IQ-tech/firebolt/compare/v0.8.1...v0.8.2) (2022-07-04)
-
+# [0.9.0](https://github.com/IQ-tech/firebolt/compare/v0.8.2...v0.9.0) (2022-10-19)
### Bug Fixes
-* **client:** :bug: fixed bug with remote errors ([46df6c5](https://github.com/IQ-tech/firebolt/commit/46df6c53925f56b7376d4bde47754aaf323e34a1))
-* **client:** :bug: removed console.log ([6673ad1](https://github.com/IQ-tech/firebolt/commit/6673ad1821b0706625bf61f4ab21519cdaef9b71))
-* **client:** fixed autofill from api ([c18099b](https://github.com/IQ-tech/firebolt/commit/c18099b5795cd46d69991624c8bbbfdfb0e38273))
-* **client:** fixed if decision ([e0c2119](https://github.com/IQ-tech/firebolt/commit/e0c2119cce6ef0cc53b72ef1eba1616fd968bc2c))
-* **lab:** :art: add sample form to debug ([9109d99](https://github.com/IQ-tech/firebolt/commit/9109d99f4ba091b925fd6ce35b909deb7919039e))
-* some name validators ([d8083e6](https://github.com/IQ-tech/firebolt/commit/d8083e6e652952828e178763d0071a626f76af49))
-
-
-
+- **types:** adding prop types ([5d7820e](https://github.com/IQ-tech/firebolt/commit/5d7820e5bfb0688e7593ce1e4a64e5eca3894b20))
+- **validators:** :bug: fix CI ([1a6db61](https://github.com/IQ-tech/firebolt/commit/1a6db61093a68728532512f7070b05e6a1b4c342))
+- **validators:** :bug: fix do fix kkkk ([99406c3](https://github.com/IQ-tech/firebolt/commit/99406c3b08a2eb56b3f0803127c56c25d839bb62))
+- **validators:** :bug: fixed validators label ([dd18c66](https://github.com/IQ-tech/firebolt/commit/dd18c66fec11204c48c9310cb9f17a64d38d1d6a))
+- **validators:** :sparkles: added backslash filter to name validator ([c1a32c3](https://github.com/IQ-tech/firebolt/commit/c1a32c3a3842dad985b68403be12a07fdeab9ba5))
+- **validators:** 🩹 add accents validator on email ([701adba](https://github.com/IQ-tech/firebolt/commit/701adba3b38754c1bd7eb5b91b11db17b5f578f2))
+### Features
-## [0.8.1](https://github.com/IQ-tech/firebolt/compare/v0.8.0...v0.8.1) (2022-06-23)
+- :sparkles: added new generic account number preset ([8cf6bd6](https://github.com/IQ-tech/firebolt/commit/8cf6bd613897f71be4f98497ded5c4958ae9b063))
+- :sparkles: adding two news generic account preset ([291dc1d](https://github.com/IQ-tech/firebolt/commit/291dc1de0b25804da325e140c880c02d3e0c9237))
+- **blueberry-theme:** :sparkles: added maxLength ([9b2d1bf](https://github.com/IQ-tech/firebolt/commit/9b2d1bfb878e84b84f4533af829a56850ff96644))
+- **client:** :sparkles: added data attr to fireboltform ([9727ea9](https://github.com/IQ-tech/firebolt/commit/9727ea96570cb8e3b9c13094b0f6749759d9bd97))
+- **client:** :sparkles: added new hook to wizard to run callback before request a new step ([15dfc69](https://github.com/IQ-tech/firebolt/commit/15dfc69f7a2e4ad682bbc6fe74b582d3a6adcd46))
+- **client:** ✨ add unexpected error handler on api response ([7b2a119](https://github.com/IQ-tech/firebolt/commit/7b2a119293adaa62ce6d41c15c2ffca54ebd3309))
+- **client:** added payload to new hook ([693fb12](https://github.com/IQ-tech/firebolt/commit/693fb123f279aa4dc5a2a77852dfbdaf7057b273))
+- **fieds:** order fields by prop array value ([e806cae](https://github.com/IQ-tech/firebolt/commit/e806caef1bd422823777044983df0205a50bd0ed))
+- **validators:** :sparkles: adding a parameter to ignore spaces to the nonRepeatedChars validator ([ed31f80](https://github.com/IQ-tech/firebolt/commit/ed31f803fdfa22f21ff4fa2900dff762de84d286))
+- **validators:** :sparkles: email suggestion implementation ([5e2d372](https://github.com/IQ-tech/firebolt/commit/5e2d372e6c9b64dc68f735b817849b2cede27d39))
+- **validators:** :sparkles: removing repeated spaces from the payload field ([184ba26](https://github.com/IQ-tech/firebolt/commit/184ba26ae973354857d53cfdd44eeadebc439ca2))
+## [0.8.2](https://github.com/IQ-tech/firebolt/compare/v0.8.1...v0.8.2) (2022-07-04)
### Bug Fixes
-* **client:** :bug: fixed autofill fields after validation error ([aadb3fd](https://github.com/IQ-tech/firebolt/commit/aadb3fd33bbb1e0214cfd96894dafebd0d4d59bf))
-* **client:** :bug: trigger form validation when autofill and fill fields ([8d08764](https://github.com/IQ-tech/firebolt/commit/8d08764bdebd71efef6d4f059c1da7fa48d3a693))
-* **client:** safe map ([cb48120](https://github.com/IQ-tech/firebolt/commit/cb48120410fdfdd4bd3fd9d4f0e084a66325ceff))
-
+- **client:** :bug: fixed bug with remote errors ([46df6c5](https://github.com/IQ-tech/firebolt/commit/46df6c53925f56b7376d4bde47754aaf323e34a1))
+- **client:** :bug: removed console.log ([6673ad1](https://github.com/IQ-tech/firebolt/commit/6673ad1821b0706625bf61f4ab21519cdaef9b71))
+- **client:** fixed autofill from api ([c18099b](https://github.com/IQ-tech/firebolt/commit/c18099b5795cd46d69991624c8bbbfdfb0e38273))
+- **client:** fixed if decision ([e0c2119](https://github.com/IQ-tech/firebolt/commit/e0c2119cce6ef0cc53b72ef1eba1616fd968bc2c))
+- **lab:** :art: add sample form to debug ([9109d99](https://github.com/IQ-tech/firebolt/commit/9109d99f4ba091b925fd6ce35b909deb7919039e))
+- some name validators ([d8083e6](https://github.com/IQ-tech/firebolt/commit/d8083e6e652952828e178763d0071a626f76af49))
+## [0.8.1](https://github.com/IQ-tech/firebolt/compare/v0.8.0...v0.8.1) (2022-06-23)
+### Bug Fixes
+- **client:** :bug: fixed autofill fields after validation error ([aadb3fd](https://github.com/IQ-tech/firebolt/commit/aadb3fd33bbb1e0214cfd96894dafebd0d4d59bf))
+- **client:** :bug: trigger form validation when autofill and fill fields ([8d08764](https://github.com/IQ-tech/firebolt/commit/8d08764bdebd71efef6d4f059c1da7fa48d3a693))
+- **client:** safe map ([cb48120](https://github.com/IQ-tech/firebolt/commit/cb48120410fdfdd4bd3fd9d4f0e084a66325ceff))
# [0.8.0](https://github.com/IQ-tech/firebolt/compare/v0.7.0...v0.8.0) (2022-06-08)
-
### Bug Fixes
-* 🐛 import react at firebolt provider ([d3d873c](https://github.com/IQ-tech/firebolt/commit/d3d873c0c3b18db124979f14148928d6219533d1))
-* **client:** :bug: fixed form cleaning error on onblur ([5c5593c](https://github.com/IQ-tech/firebolt/commit/5c5593ca62d76019e4bf55353dd7437c35612948))
-* **material-theme:** :bug: added missing react import ([ecceef6](https://github.com/IQ-tech/firebolt/commit/ecceef6ef55142a1bd19ce34d7bc160f5945bcb9))
-
+- 🐛 import react at firebolt provider ([d3d873c](https://github.com/IQ-tech/firebolt/commit/d3d873c0c3b18db124979f14148928d6219533d1))
+- **client:** :bug: fixed form cleaning error on onblur ([5c5593c](https://github.com/IQ-tech/firebolt/commit/5c5593ca62d76019e4bf55353dd7437c35612948))
+- **material-theme:** :bug: added missing react import ([ecceef6](https://github.com/IQ-tech/firebolt/commit/ecceef6ef55142a1bd19ce34d7bc160f5945bcb9))
### Features
-* **client:** :sparkles: add nationality preset to br-addon ([f7c4b20](https://github.com/IQ-tech/firebolt/commit/f7c4b201cbb8cd43e34923180a85645b8a4e7e10))
-* **client:** :sparkles: allow FireboltForm to apply local props presets ([03522d7](https://github.com/IQ-tech/firebolt/commit/03522d7de16e73637b01999c06428c5a10317901))
-
-
-
-
+- **client:** :sparkles: add nationality preset to br-addon ([f7c4b20](https://github.com/IQ-tech/firebolt/commit/f7c4b201cbb8cd43e34923180a85645b8a4e7e10))
+- **client:** :sparkles: allow FireboltForm to apply local props presets ([03522d7](https://github.com/IQ-tech/firebolt/commit/03522d7de16e73637b01999c06428c5a10317901))
# [0.7.0](https://github.com/IQ-tech/firebolt/compare/v0.6.0...v0.7.0) (2022-04-26)
-
### Bug Fixes
-* 🐛 checkboxgroup widget missing columns prop ([4ade990](https://github.com/IQ-tech/firebolt/commit/4ade9900231a6010918d9218c06080e847715b10))
-* **client-core:** :bug: fixed step debugger used on firebolt lab ([5c929c4](https://github.com/IQ-tech/firebolt/commit/5c929c4596999c01029d1f54ef515b5df563b780))
-* **validators:** :bug: fixed number range validator with big numbers ([7703cf1](https://github.com/IQ-tech/firebolt/commit/7703cf1dbe962089525dcc6349defdc735c91bea))
-
+- 🐛 checkboxgroup widget missing columns prop ([4ade990](https://github.com/IQ-tech/firebolt/commit/4ade9900231a6010918d9218c06080e847715b10))
+- **client-core:** :bug: fixed step debugger used on firebolt lab ([5c929c4](https://github.com/IQ-tech/firebolt/commit/5c929c4596999c01029d1f54ef515b5df563b780))
+- **validators:** :bug: fixed number range validator with big numbers ([7703cf1](https://github.com/IQ-tech/firebolt/commit/7703cf1dbe962089525dcc6349defdc735c91bea))
### Features
-* ✨ upload files to aws s3 ([1ac2c81](https://github.com/IQ-tech/firebolt/commit/1ac2c81c61148752ef5970cde0b45235ec5beff3))
-
-
-
-
+- ✨ upload files to aws s3 ([1ac2c81](https://github.com/IQ-tech/firebolt/commit/1ac2c81c61148752ef5970cde0b45235ec5beff3))
# [0.6.0](https://github.com/IQ-tech/firebolt/compare/v0.5.0...v0.6.0) (2022-03-15)
-
### Bug Fixes
-* :fire: removing jest config file from project root ([5304345](https://github.com/IQ-tech/firebolt/commit/5304345b524e0b79e319538bce70e515d79acb40))
-* :green_heart: build github ([3220194](https://github.com/IQ-tech/firebolt/commit/32201946f6d221f800f552483a09c5dfd1efdc0f))
-* :green_heart: moving interface to client-core to fix build error ([44f802c](https://github.com/IQ-tech/firebolt/commit/44f802c99b8131a42f3aabcb72de860ccb1873e4))
-* :green_heart: moving interface to client-core to fix build error ([14b9c56](https://github.com/IQ-tech/firebolt/commit/14b9c561280e7e1579c8f6f82c99ac2afaeb8487))
-* :white_check_mark: fit in a FireBoltForm test ([dae8cf1](https://github.com/IQ-tech/firebolt/commit/dae8cf15839c035eddfc70ddc135d040a0865597))
-* **all:** :bug: generated new yarnLock ([0b3f286](https://github.com/IQ-tech/firebolt/commit/0b3f28626475763ddc6597922487cefb086c483b))
-* **all:** :fire: unused codes removed ([2a1966a](https://github.com/IQ-tech/firebolt/commit/2a1966a69c6acce9520950687eff95c5d45325d4))
-
+- :fire: removing jest config file from project root ([5304345](https://github.com/IQ-tech/firebolt/commit/5304345b524e0b79e319538bce70e515d79acb40))
+- :green_heart: build github ([3220194](https://github.com/IQ-tech/firebolt/commit/32201946f6d221f800f552483a09c5dfd1efdc0f))
+- :green_heart: moving interface to client-core to fix build error ([44f802c](https://github.com/IQ-tech/firebolt/commit/44f802c99b8131a42f3aabcb72de860ccb1873e4))
+- :green_heart: moving interface to client-core to fix build error ([14b9c56](https://github.com/IQ-tech/firebolt/commit/14b9c561280e7e1579c8f6f82c99ac2afaeb8487))
+- :white_check_mark: fit in a FireBoltForm test ([dae8cf1](https://github.com/IQ-tech/firebolt/commit/dae8cf15839c035eddfc70ddc135d040a0865597))
+- **all:** :bug: generated new yarnLock ([0b3f286](https://github.com/IQ-tech/firebolt/commit/0b3f28626475763ddc6597922487cefb086c483b))
+- **all:** :fire: unused codes removed ([2a1966a](https://github.com/IQ-tech/firebolt/commit/2a1966a69c6acce9520950687eff95c5d45325d4))
### Features
-* :chart_with_upwards_trend: coverage script for client package ([bfa8edb](https://github.com/IQ-tech/firebolt/commit/bfa8edbaa427c6920857e8ba1aaed2fe9c999579))
-* :construction: adding jest base config the package name based on package json ([d37140a](https://github.com/IQ-tech/firebolt/commit/d37140a17ab4054325ff45d307d5b927619392b8))
-* :construction: client-core package types ([2c4a49c](https://github.com/IQ-tech/firebolt/commit/2c4a49c4198002c1e46a586df69e62e30fa5c4d5))
-* :construction: jest base config init ([9560c37](https://github.com/IQ-tech/firebolt/commit/9560c37e754b50232fb9d5eb1d3070c80393d4f9))
-* :construction: scripts to test all packages at once from project root ([5767e59](https://github.com/IQ-tech/firebolt/commit/5767e599a4333c0768868ae1901c897e8dafbbde))
-* :heavy_plus_sign: added jest-transform-stub ([4b57e94](https://github.com/IQ-tech/firebolt/commit/4b57e940bce2b58e0d8bf0bfbc96cd1090a292e0))
-* :recycle: added console.log form demo ([f27bb7f](https://github.com/IQ-tech/firebolt/commit/f27bb7f23ae204a41d4661c43f66418e8c90e5f9))
-* :recycle: client-core package all converted to TS ([a24e12c](https://github.com/IQ-tech/firebolt/commit/a24e12c7b3c779b54ab2c9f21d0cfc6454e5d85b))
-* :recycle: constants converted to ts ([b9d65d8](https://github.com/IQ-tech/firebolt/commit/b9d65d8b9a74f4d2078ed21448d6478c9cfb5c1a))
-* :recycle: entities converted to ts ([5144504](https://github.com/IQ-tech/firebolt/commit/51445048c676ee74961744ed5473a42451d925c6))
-* :recycle: formatters converted to ts ([9662ff0](https://github.com/IQ-tech/firebolt/commit/9662ff032eac3eb9fcd2c07fa29fa407097558aa))
-* :recycle: helpers converted to ts ([3d4591f](https://github.com/IQ-tech/firebolt/commit/3d4591f8a727a6409ecb15dda25dd6e777d7b450))
-* :recycle: lib converted to ts ([93ed548](https://github.com/IQ-tech/firebolt/commit/93ed548accf293f9f73a52e0baa86e80e6bad6ec))
-* :recycle: lib/__mocks__ converted to ts ([2a555ad](https://github.com/IQ-tech/firebolt/commit/2a555ada4c9ddf19244bc441688ca6c860ee779b))
-* :recycle: requests converted to ts ([0e2aef6](https://github.com/IQ-tech/firebolt/commit/0e2aef66ce9bdf57d18d1b067131c8413e7cbf6f))
-* :recycle: services converted to ts ([a380075](https://github.com/IQ-tech/firebolt/commit/a3800759b17fc5c2c32bab8284508c1f1fd9aeeb))
-* commitlint config ([4222204](https://github.com/IQ-tech/firebolt/commit/42222045eb800b472fec3ef03816ec65d9b4c71b))
-* console.log debug ([e02214d](https://github.com/IQ-tech/firebolt/commit/e02214d709fd43fa84ea4026181bffdf723d4fda))
-* execute commitlint on commit message hook ([7191c9c](https://github.com/IQ-tech/firebolt/commit/7191c9c0c56f5dc6ffdc262294a1e06551a8cd58))
-
-
-
-
+- :chart_with_upwards_trend: coverage script for client package ([bfa8edb](https://github.com/IQ-tech/firebolt/commit/bfa8edbaa427c6920857e8ba1aaed2fe9c999579))
+- :construction: adding jest base config the package name based on package json ([d37140a](https://github.com/IQ-tech/firebolt/commit/d37140a17ab4054325ff45d307d5b927619392b8))
+- :construction: client-core package types ([2c4a49c](https://github.com/IQ-tech/firebolt/commit/2c4a49c4198002c1e46a586df69e62e30fa5c4d5))
+- :construction: jest base config init ([9560c37](https://github.com/IQ-tech/firebolt/commit/9560c37e754b50232fb9d5eb1d3070c80393d4f9))
+- :construction: scripts to test all packages at once from project root ([5767e59](https://github.com/IQ-tech/firebolt/commit/5767e599a4333c0768868ae1901c897e8dafbbde))
+- :heavy_plus_sign: added jest-transform-stub ([4b57e94](https://github.com/IQ-tech/firebolt/commit/4b57e940bce2b58e0d8bf0bfbc96cd1090a292e0))
+- :recycle: added console.log form demo ([f27bb7f](https://github.com/IQ-tech/firebolt/commit/f27bb7f23ae204a41d4661c43f66418e8c90e5f9))
+- :recycle: client-core package all converted to TS ([a24e12c](https://github.com/IQ-tech/firebolt/commit/a24e12c7b3c779b54ab2c9f21d0cfc6454e5d85b))
+- :recycle: constants converted to ts ([b9d65d8](https://github.com/IQ-tech/firebolt/commit/b9d65d8b9a74f4d2078ed21448d6478c9cfb5c1a))
+- :recycle: entities converted to ts ([5144504](https://github.com/IQ-tech/firebolt/commit/51445048c676ee74961744ed5473a42451d925c6))
+- :recycle: formatters converted to ts ([9662ff0](https://github.com/IQ-tech/firebolt/commit/9662ff032eac3eb9fcd2c07fa29fa407097558aa))
+- :recycle: helpers converted to ts ([3d4591f](https://github.com/IQ-tech/firebolt/commit/3d4591f8a727a6409ecb15dda25dd6e777d7b450))
+- :recycle: lib converted to ts ([93ed548](https://github.com/IQ-tech/firebolt/commit/93ed548accf293f9f73a52e0baa86e80e6bad6ec))
+- :recycle: lib/**mocks** converted to ts ([2a555ad](https://github.com/IQ-tech/firebolt/commit/2a555ada4c9ddf19244bc441688ca6c860ee779b))
+- :recycle: requests converted to ts ([0e2aef6](https://github.com/IQ-tech/firebolt/commit/0e2aef66ce9bdf57d18d1b067131c8413e7cbf6f))
+- :recycle: services converted to ts ([a380075](https://github.com/IQ-tech/firebolt/commit/a3800759b17fc5c2c32bab8284508c1f1fd9aeeb))
+- commitlint config ([4222204](https://github.com/IQ-tech/firebolt/commit/42222045eb800b472fec3ef03816ec65d9b4c71b))
+- console.log debug ([e02214d](https://github.com/IQ-tech/firebolt/commit/e02214d709fd43fa84ea4026181bffdf723d4fda))
+- execute commitlint on commit message hook ([7191c9c](https://github.com/IQ-tech/firebolt/commit/7191c9c0c56f5dc6ffdc262294a1e06551a8cd58))
# [0.5.0](https://github.com/IQ-tech/firebolt/compare/v0.4.1...v0.5.0) (2022-03-08)
-
### Features
-* ✨ feat to trigger ci added to firebolt client ([d95daff](https://github.com/IQ-tech/firebolt/commit/d95daffbeafafa7d7f11348a6f07e8c2cb98d849))
-* ✨ mock feat to trigger ci added to firebolt client core ([3b09794](https://github.com/IQ-tech/firebolt/commit/3b09794a36aae6b17a4444d86fcf14ea306d106f))
-
-
-
-
+- ✨ feat to trigger ci added to firebolt client ([d95daff](https://github.com/IQ-tech/firebolt/commit/d95daffbeafafa7d7f11348a6f07e8c2cb98d849))
+- ✨ mock feat to trigger ci added to firebolt client core ([3b09794](https://github.com/IQ-tech/firebolt/commit/3b09794a36aae6b17a4444d86fcf14ea306d106f))
## [0.4.1](https://github.com/IQ-tech/firebolt/compare/v0.4.0...v0.4.1) (2022-03-08)
-
### Bug Fixes
-* 🐛 simple fix ([6302c2e](https://github.com/IQ-tech/firebolt/commit/6302c2e95af3088d21cd4d9633d615d4711209a7))
-* 🐛 simple fix ([d58ebaf](https://github.com/IQ-tech/firebolt/commit/d58ebaf79c7d6a0aecb8806a0896f8e0f81ffb87))
-
-
-
-
+- 🐛 simple fix ([6302c2e](https://github.com/IQ-tech/firebolt/commit/6302c2e95af3088d21cd4d9633d615d4711209a7))
+- 🐛 simple fix ([d58ebaf](https://github.com/IQ-tech/firebolt/commit/d58ebaf79c7d6a0aecb8806a0896f8e0f81ffb87))
# [0.4.0](https://github.com/IQ-tech/firebolt/compare/v0.3.5...v0.4.0) (2022-03-08)
-
### Features
-* ✨ mock feature ([d1659d1](https://github.com/IQ-tech/firebolt/commit/d1659d17999d804f01b76369dbdee46aea4c8b1f))
-
-
-
-
+- ✨ mock feature ([d1659d1](https://github.com/IQ-tech/firebolt/commit/d1659d17999d804f01b76369dbdee46aea4c8b1f))
## [0.3.5](https://github.com/IQ-tech/firebolt/compare/v0.3.3...v0.3.5) (2022-03-08)
-
### Features
-* ✨ added missing value on publish ([d0c755f](https://github.com/IQ-tech/firebolt/commit/d0c755f8c2123a00867f9f413d3ee627bff26cf3))
-
-
-
-
+- ✨ added missing value on publish ([d0c755f](https://github.com/IQ-tech/firebolt/commit/d0c755f8c2123a00867f9f413d3ee627bff26cf3))
## 0.3.4 (2022-03-08)
diff --git a/RELEASE_CHECKLIST.md b/RELEASE_CHECKLIST.md
new file mode 100644
index 00000000..b4880940
--- /dev/null
+++ b/RELEASE_CHECKLIST.md
@@ -0,0 +1,43 @@
+## Checklist Operacional de Release
+
+### Inicial (Baseline já criada)
+
+1. Garantir `main` sem alterações não commitadas.
+2. Validar secrets: `NPM_TOKEN`, `GITHUB_TOKEN` presentes.
+
+### Canary (PR para main)
+
+1. Abrir PR.
+2. Ver comentário do bot com versão `vX.Y.Z-next.N`.
+3. Validar diff link.
+
+### Patch (merge em main)
+
+1. Fazer merge.
+2. Conferir comentário com `vX.Y.(Z+1)`.
+3. Instalar internamente se necessário.
+
+### Minor (merge main -> latest)
+
+1. Abrir PR de `main` para `latest`.
+2. Checar proteção (apenas main permitido).
+3. Merge gera `vX.(Y+1).0`.
+
+### Falhas comuns
+
+| Sintoma | Ação |
+| ---------------------------- | -------------------------------------------------------- |
+| Tag criada sem pacote no npm | Rodar `yarn publish:from-package` manualmente |
+| Canary não incrementou | Confirmar que versão baseline estava estável (sem -next) |
+| Patch não subiu | Ver logs do step "Patch version & publish" |
+
+### Rollback
+
+1. Criar fix branch.
+2. Aplicar correção.
+3. Abrir PR → patch normal (não remover versão anterior).
+
+### Observações
+
+- Não force push em tags publicadas.
+- Evitar rebase após canaries se não necessário.
diff --git a/RELEASE_FLOW.md b/RELEASE_FLOW.md
new file mode 100644
index 00000000..47dcc6cb
--- /dev/null
+++ b/RELEASE_FLOW.md
@@ -0,0 +1,49 @@
+## Fluxo de Versionamento e Publicação
+
+Baseline atual: 0.10.0
+
+### Eventos
+
+| Evento | Workflow | Ação | Resultado |
+| ------------------------ | ------------------------ | -------------------------- | ------------------ |
+| PR aberto/sync para main | canary-main.yml | prerelease (próximo patch) | v0.10.(N+1)-next.X |
+| Merge PR em main | patch-release-main.yml | patch | v0.10.(N+1) |
+| Merge PR main -> latest | minor-release-latest.yml | minor | v0.(M+1).0 |
+
+### Regras
+
+1. Apenas `main` pode abrir PR para `latest` (validado por `protect-latest.yml`).
+2. Canaries usam dist-tag `next` e criam tag git.
+3. Cada ciclo de canary reinicia sufixo `-next.0` após release estável.
+
+### Scripts Principais
+
+| Script | Uso |
+| ------------------- | --------------------------------------- |
+| yarn publish:canary | gera prerelease + publish dist-tag next |
+| yarn publish:patch | patch estável |
+| yarn publish:minor | minor estável |
+
+### Edge Cases
+
+| Caso | Ação |
+| -------------------------------------------- | ----------------------------------------------------------- |
+| Canary falhou depois do version | Rodar novamente `yarn publish:from-package --dist-tag next` |
+| Tag criada mas publish falhou em patch/minor | Reexecutar `yarn publish:from-package` |
+| PR fechado sem merge | Nada é publicado |
+| Rebase reescreveu histórico | Próximo canary recalcula e segue contador da nova base |
+| Necessário rollback | Publicar patch corretivo (não remover versão no npm) |
+
+### Convenção de Tags
+
+- Estáveis: `vX.Y.Z`
+- Prerelease: `vX.Y.Z-next.N` (sempre apontando para próxima versão patch)
+
+### Diferenças entre Fluxo Novo e Antigo
+
+- Removido uso de `--no-git-tag-version` (continuidade de tags garantida).
+- Publicações agora sempre geram tag git correspondente.
+
+### Baseline 0.10.0
+
+Salto proposital de 0.8.x para 0.10.x para marcar início do ciclo estruturado.
diff --git a/lerna.json b/lerna.json
index 2b4aee1b..93e3ce7b 100644
--- a/lerna.json
+++ b/lerna.json
@@ -2,7 +2,7 @@
"packages": [
"packages/*"
],
- "version": "0.8.4-next.1",
+ "version": "0.9.6",
"npmClient": "yarn",
"command": {
"publish": {
diff --git a/package.json b/package.json
index 8c74ce32..66138a9a 100644
--- a/package.json
+++ b/package.json
@@ -24,8 +24,13 @@
"build:validators": "cd packages/validators && yarn build",
"build:libs": "lerna run build --scope @iq-firebolt/client-core --scope @iq-firebolt/validators --scope @iq-firebolt/client",
"versionup": "lerna version --conventional-commits --exact --create-release github --yes",
- "publish:libs": "lerna publish from-package --yes --no-verify-access",
- "publish:canary": "lerna publish --canary patch --exact --preid next --dist-tag next --force-publish='*' --yes --no-verify-access --no-git-tag-version",
+ "version:prerelease": "lerna version prerelease --preid next --exact --yes --force-publish='*'",
+ "version:patch": "lerna version patch --exact --yes",
+ "version:minor": "lerna version minor --exact --yes",
+ "publish:from-package": "lerna publish from-package --yes --no-verify-access",
+ "publish:canary": "yarn version:prerelease && yarn publish:from-package --dist-tag next",
+ "publish:patch": "yarn version:patch && yarn publish:from-package",
+ "publish:minor": "yarn version:minor && yarn publish:from-package",
"prepare": "husky"
},
"devDependencies": {
diff --git a/packages/atlas-theme/package.json b/packages/atlas-theme/package.json
index b3c473a4..2c583eaa 100644
--- a/packages/atlas-theme/package.json
+++ b/packages/atlas-theme/package.json
@@ -1,6 +1,6 @@
{
"name": "@iq-firebolt/atlas-theme",
- "version": "0.8.4-next.1",
+ "version": "0.9.6",
"description": "> ATLAS Theme",
"author": "iq team",
"homepage": "https://github.com/IQ-tech/firebolt#readme",
diff --git a/packages/aurora-theme/package.json b/packages/aurora-theme/package.json
index 1b76ae15..efd9fb1a 100644
--- a/packages/aurora-theme/package.json
+++ b/packages/aurora-theme/package.json
@@ -1,6 +1,6 @@
{
"name": "@iq-firebolt/aurora-theme",
- "version": "0.8.4-next.1",
+ "version": "0.9.6",
"description": "> AURORA Theme",
"author": "iq team",
"homepage": "https://github.com/IQ-tech/firebolt#readme",
diff --git a/packages/blueberry/package.json b/packages/blueberry/package.json
index 8c1e18b6..335b6e6e 100644
--- a/packages/blueberry/package.json
+++ b/packages/blueberry/package.json
@@ -1,6 +1,6 @@
{
"name": "@iq-firebolt/blueberry-theme",
- "version": "0.8.4-next.1",
+ "version": "0.9.6",
"description": "> TODO: description",
"author": "iq team",
"homepage": "https://github.com/IQ-tech/firebolt#readme",
@@ -24,7 +24,7 @@
"iq-blueberry": "^0.0.88"
},
"devDependencies": {
- "@iq-firebolt/validators": "^0.8.4-next.1",
+ "@iq-firebolt/validators": "0.9.6",
"react": "18.2.0",
"react-dom": "18.2.0"
},
diff --git a/packages/br-addons/package.json b/packages/br-addons/package.json
index a9aa65e0..4fb1b36e 100644
--- a/packages/br-addons/package.json
+++ b/packages/br-addons/package.json
@@ -1,6 +1,6 @@
{
"name": "@iq-firebolt/br-addons",
- "version": "0.8.4-next.1",
+ "version": "0.9.6",
"description": "> TODO: description",
"author": "iq team",
"homepage": "https://github.com/IQ-tech/firebolt#readme",
diff --git a/packages/client-core/package.json b/packages/client-core/package.json
index a7bcb788..043df002 100644
--- a/packages/client-core/package.json
+++ b/packages/client-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@iq-firebolt/client-core",
- "version": "0.8.4-next.1",
+ "version": "0.9.6",
"description": "> TODO: description",
"author": "iq team",
"homepage": "https://github.com/IQ-tech/firebolt#readme",
diff --git a/packages/client/package.json b/packages/client/package.json
index 09a41808..e30d3d94 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
{
"name": "@iq-firebolt/client",
- "version": "0.8.4-next.1",
+ "version": "0.9.6",
"description": "> TODO: description",
"author": "iq team",
"homepage": "https://github.com/IQ-tech/firebolt#readme",
@@ -36,8 +36,8 @@
},
"dependencies": {
"@babel/runtime": "^7.16.3",
- "@iq-firebolt/client-core": "^0.8.4-next.1",
- "@iq-firebolt/validators": "^0.8.4-next.1",
+ "@iq-firebolt/client-core": "0.9.6",
+ "@iq-firebolt/validators": "0.9.6",
"classnames": "^2.3.1",
"fast-levenshtein": "^3.0.0",
"regex-parser": "^2.2.11",
@@ -49,7 +49,7 @@
"@babel/plugin-transform-runtime": "^7.16.0",
"@babel/preset-env": "^7.15.6",
"@babel/preset-react": "^7.14.5",
- "@iq-firebolt/material-theme": "^0.8.4-next.1",
+ "@iq-firebolt/material-theme": "0.9.6",
"@rollup/plugin-node-resolve": "^16.0.1",
"@testing-library/react-hooks": "^7.0.2",
"autoprefixer": "^10.4.2",
diff --git a/packages/client/src/Main.test.tsx b/packages/client/src/Main.test.tsx
index c17b25e0..a2d65dcf 100644
--- a/packages/client/src/Main.test.tsx
+++ b/packages/client/src/Main.test.tsx
@@ -1,5 +1,12 @@
-import { vi, type MockedFunction } from "vitest"
-import { render, waitFor, screen } from "@testing-library/react"
+import {
+ vi,
+ type MockedFunction,
+ it,
+ describe,
+ beforeEach,
+ expect,
+} from "vitest"
+import { render, screen } from "@testing-library/react"
import axios from "axios"
import { StepForm, Wizard, clearFormSession, FireboltProvider } from "./index"
import Theme from "@iq-firebolt/material-theme"
@@ -14,7 +21,7 @@ const formAccess: IFormAccess = {
formName: "testing",
}
-const DefaultTemplate = (firebolt) =>
+const DefaultTemplate = (firebolt: any) =>
const MockComponent = (addons: IPropsPresetCollection[]) =>
render(
@@ -42,9 +49,9 @@ describe("testing props-presets render", () => {
MockComponent([propsPresetsMock.customCollection])
- await waitFor(() => {})
-
- expect(screen.getByPlaceholderText(/write something/)).toBeInTheDocument()
+ expect(
+ await screen.findByPlaceholderText(/write something/)
+ ).toBeInTheDocument()
})
it("should render field with props:preset with collection", async () => {
@@ -57,9 +64,8 @@ describe("testing props-presets render", () => {
propsPresetsMock.secondCollection,
])
- await waitFor(() => {})
expect(
- screen.getByPlaceholderText(/second collection cod/)
+ await screen.findByPlaceholderText(/second collection cod/)
).toBeInTheDocument()
})
@@ -70,7 +76,8 @@ describe("testing props-presets render", () => {
MockComponent([propsPresetsMock.customCollection])
- await waitFor(() => {})
- expect(screen.getByPlaceholderText(/Nome completo/)).toBeInTheDocument()
+ expect(
+ await screen.findByPlaceholderText(/Nome completo/)
+ ).toBeInTheDocument()
})
})
diff --git a/packages/client/src/canary-touch.md b/packages/client/src/canary-touch.md
new file mode 100644
index 00000000..df6bf783
--- /dev/null
+++ b/packages/client/src/canary-touch.md
@@ -0,0 +1,4 @@
+# Canary Touch
+
+Este arquivo existe apenas para disparar o workflow de testes e a publicação canary efêmera.
+Data: 2025-10-09
diff --git a/packages/entities/package.json b/packages/entities/package.json
index da753de8..c650bbbe 100644
--- a/packages/entities/package.json
+++ b/packages/entities/package.json
@@ -1,6 +1,6 @@
{
"name": "@iq-firebolt/entities",
- "version": "0.8.4-next.1",
+ "version": "0.9.6",
"description": "> TODO: description",
"author": "iq team",
"private": true,
diff --git a/packages/json-schema/package.json b/packages/json-schema/package.json
index 0f652d7c..b3043e2c 100644
--- a/packages/json-schema/package.json
+++ b/packages/json-schema/package.json
@@ -1,6 +1,6 @@
{
"name": "@iq-firebolt/json-schema",
- "version": "0.8.4-next.1",
+ "version": "0.9.6",
"description": "json schema lib",
"author": "iq team",
"homepage": "https://github.com/IQ-tech/firebolt#readme",
diff --git a/packages/lab/package.json b/packages/lab/package.json
index 5d26143d..0d3e2863 100644
--- a/packages/lab/package.json
+++ b/packages/lab/package.json
@@ -1,14 +1,14 @@
{
"name": "@iq-firebolt/lab",
- "version": "0.8.4-next.1",
+ "version": "0.9.6",
"private": true,
"license": "Apache-2.0",
"dependencies": {
- "@iq-firebolt/blueberry-theme": "^0.8.4-next.1",
+ "@iq-firebolt/blueberry-theme": "0.9.6",
"@iq-firebolt/br-addons": "0.8.3-next.148",
- "@iq-firebolt/client": "^0.8.4-next.1",
- "@iq-firebolt/client-core": "^0.8.4-next.1",
- "@iq-firebolt/material-theme": "^0.8.4-next.1",
+ "@iq-firebolt/client": "0.9.6",
+ "@iq-firebolt/client-core": "0.9.6",
+ "@iq-firebolt/material-theme": "0.9.6",
"iq-blueberry": "^0.0.88",
"react": "18.2.0",
"react-dom": "18.2.0",
diff --git a/packages/material-theme/package.json b/packages/material-theme/package.json
index 1fd60381..d863bbe4 100644
--- a/packages/material-theme/package.json
+++ b/packages/material-theme/package.json
@@ -1,6 +1,6 @@
{
"name": "@iq-firebolt/material-theme",
- "version": "0.8.4-next.1",
+ "version": "0.9.6",
"description": "> TODO: description",
"author": "iq team",
"homepage": "https://github.com/IQ-tech/firebolt#readme",
diff --git a/packages/validators/package.json b/packages/validators/package.json
index 8e175b56..44dab336 100644
--- a/packages/validators/package.json
+++ b/packages/validators/package.json
@@ -1,6 +1,6 @@
{
"name": "@iq-firebolt/validators",
- "version": "0.8.4-next.1",
+ "version": "0.9.6",
"description": "> TODO: description",
"author": "iq team",
"homepage": "https://github.com/IQ-tech/firebolt#readme",
diff --git a/vitest.config.ts b/vitest.config.ts
index cccf3ffe..a6c6153c 100644
--- a/vitest.config.ts
+++ b/vitest.config.ts
@@ -66,7 +66,7 @@ export default defineConfig({
thresholds: {
statements: 80,
branches: 70,
- functions: 80,
+ functions: 70,
lines: 80,
},
},