@beworke/pixel-bemony 0.1.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +157 -0
- package/README.md +176 -0
- package/RELEASE_CANDIDATE.md +37 -0
- package/dist/browser/index.cjs.js +2598 -0
- package/dist/browser/index.cjs.js.map +1 -0
- package/dist/browser/index.d.mts +184 -0
- package/dist/browser/index.d.ts +184 -0
- package/dist/browser/index.esm.js +2557 -0
- package/dist/browser/index.esm.js.map +1 -0
- package/dist/browser/pixel-bemony.global.js +9848 -0
- package/dist/browser/pixel-bemony.global.js.map +1 -0
- package/dist/createBemonyPixel-BGRD66p-.d.mts +474 -0
- package/dist/createBemonyPixel-BGRD66p-.d.ts +474 -0
- package/dist/index.cjs.js +2154 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.mts +320 -0
- package/dist/index.d.ts +320 -0
- package/dist/index.esm.js +2081 -0
- package/dist/index.esm.js.map +1 -0
- package/docs/BACKEND_PURCHASE_AND_REDIRECTS.md +125 -0
- package/docs/BROWSER_EVENT_ENRICHMENT.md +116 -0
- package/docs/SCENARIOS.md +92 -0
- package/docs/SECURITY_LIMITATIONS.md +45 -0
- package/docs/TEST_MATRIX.md +39 -0
- package/docs/TROUBLESHOOTING.md +81 -0
- package/examples/README.md +73 -0
- package/examples/browser-bootstrap.html +47 -0
- package/examples/checkout-price-code.html +37 -0
- package/examples/funnel/donsell/downsell_1.html +130 -0
- package/examples/funnel/donsell/downsell_2.html +130 -0
- package/examples/funnel/donsell/downsell_3.html +130 -0
- package/examples/funnel/offer-page.html +105 -0
- package/examples/funnel/upsell/upsell_1.html +130 -0
- package/examples/funnel/upsell/upsell_2.html +130 -0
- package/examples/funnel/upsell/upsell_3.html +139 -0
- package/examples/offer-page-price-code.html +22 -0
- package/examples/one-click-price-code.html +38 -0
- package/examples/security/checkout-sim.css +408 -0
- package/examples/security/checkout-sim.js +414 -0
- package/examples/security/one-click/pri_downsell_1.html +85 -0
- package/examples/security/one-click/pri_downsell_1a.html +85 -0
- package/examples/security/one-click/pri_downsell_1b.html +78 -0
- package/examples/security/one-click/pri_downsell_2.html +78 -0
- package/examples/security/one-click/pri_downsell_2a.html +78 -0
- package/examples/security/one-click/pri_downsell_2b.html +78 -0
- package/examples/security/one-click/pri_downsell_3.html +78 -0
- package/examples/security/one-click/pri_downsell_3a.html +78 -0
- package/examples/security/one-click/pri_downsell_3b.html +78 -0
- package/examples/security/one-click/pri_upsell_1.html +78 -0
- package/examples/security/one-click/pri_upsell_1a.html +78 -0
- package/examples/security/one-click/pri_upsell_1b.html +78 -0
- package/examples/security/one-click/pri_upsell_2.html +78 -0
- package/examples/security/one-click/pri_upsell_2a.html +78 -0
- package/examples/security/one-click/pri_upsell_2b.html +78 -0
- package/examples/security/one-click/pri_upsell_3.html +78 -0
- package/examples/security/one-click/pri_upsell_3a.html +78 -0
- package/examples/security/one-click/pri_upsell_3b.html +78 -0
- package/examples/security/one-click/pri_upsell_3c.html +78 -0
- package/examples/security/pri1766322.html +333 -0
- package/examples/security/pri5529930.html +333 -0
- package/examples/security/pri6670988.html +334 -0
- package/examples/security/thank-you.html +65 -0
- package/examples/sim/funnel-flow.js +258 -0
- package/examples/sim/one-click-sim.js +167 -0
- package/examples/upsell-price-code.html +41 -0
- package/examples/url-context-navigation.html +96 -0
- package/package.json +63 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# Changelog — `@beworke/pixel-bemony`
|
|
2
|
+
|
|
3
|
+
## 0.1.0-rc.1 — First public RC
|
|
4
|
+
|
|
5
|
+
Primeira publicação npm para validação em funis reais.
|
|
6
|
+
|
|
7
|
+
### Highlights
|
|
8
|
+
|
|
9
|
+
- Cenários: `offer-page`, `checkout`, `upsell-offer`, `one-click-checkout`, `thank-you`
|
|
10
|
+
- Auto-init browser (IIFE): `data-funnel-id` como chave do pixel; `data-pixel-id` com precedência no checkout
|
|
11
|
+
- Dependência de runtime: `@beworke/pixel` `>=0.1.0-rc.7`
|
|
12
|
+
- Tags npm: `rc` + `latest`
|
|
13
|
+
|
|
14
|
+
## Unreleased — Remoção do enriquecimento browser / catálogo
|
|
15
|
+
|
|
16
|
+
### Breaking
|
|
17
|
+
|
|
18
|
+
- Removida toda a infraestrutura de resolução remota de contexto/catálogo (`src/context/`)
|
|
19
|
+
- Removidos `getResolvedContext`, `getPriceCatalog`, `BEMONY_SCENARIO_AUTO_RESOLVE_CONTEXT`, mock resolver
|
|
20
|
+
- Identidade comercial canônica: `priceCode` (`priceId` deprecated)
|
|
21
|
+
- `declineUpsell` não consulta navegação remota — usar `navigateTo`
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
|
|
25
|
+
- `resolvePriceCode`, `extractPriceCodeFromUrl`
|
|
26
|
+
- Docs `BROWSER_EVENT_ENRICHMENT.md`
|
|
27
|
+
- Exemplos `*-price-code.html`
|
|
28
|
+
- Testes `browser-price-code.test.ts`
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
|
|
32
|
+
- Bootstrap: journey → config → Core init (sem fase de resolução)
|
|
33
|
+
- Eventos browser transportam `priceCode` via `productId` genérico do Core
|
|
34
|
+
|
|
35
|
+
## Unreleased — B11 URL context + LinkAutoSource + afid
|
|
36
|
+
|
|
37
|
+
### Added
|
|
38
|
+
|
|
39
|
+
- `BEMONY_DEFAULT_ALLOWED_DOMAINS` (`security.bemony.com`)
|
|
40
|
+
- Managed param `afid` (lê/persiste/propaga; **nunca gera**)
|
|
41
|
+
- `createBemonyOfferLinkSource` — ADD_TO_CART por destino `/offer_*` sem data attributes
|
|
42
|
+
- Decoração de links somente por `allowedDomains` (sem selector Bemony)
|
|
43
|
+
- Exemplos `url-context-navigation.html` e CTAs HTML puros
|
|
44
|
+
- Testes `browser.url-context-propagation.test.ts`
|
|
45
|
+
- Hardening Core: `LinkDecorator` managed vs forwarded; prefix pathname `/offer_`
|
|
46
|
+
|
|
47
|
+
### Changed
|
|
48
|
+
|
|
49
|
+
- `configureBemonyLinks`: denylist Bemony aplicada; `mergeDefaultDenylist: true`; sem `allowlist: ['*']`
|
|
50
|
+
- `offer-page` habilita auto `ADD_TO_CART` via LinkAutoSource
|
|
51
|
+
- Docs: sid vs afid vs session_id; CTAs sem data-*
|
|
52
|
+
|
|
53
|
+
## Unreleased — B10 Default global auto-init + HTTP
|
|
54
|
+
|
|
55
|
+
### Added
|
|
56
|
+
|
|
57
|
+
- Defaults públicos: `BEMONY_DEFAULT_API_ENDPOINT`, `BEMONY_BROWSER_AUTO_INIT_DEFAULTS`
|
|
58
|
+
- Auto-init por padrão no IIFE `pixel-bemony.global.js` (opt-out `data-auto-init="false"`)
|
|
59
|
+
- `window.BemonyPixel.ready` / `whenReady()`
|
|
60
|
+
- Eventos `bemony:pixel:ready` / `bemony:pixel:error`
|
|
61
|
+
- Leitura de `data-funnel-step-id`
|
|
62
|
+
- `resolveBemonyExecutingScript` (currentScript → src → legado)
|
|
63
|
+
- Testes `browser.default-autoinit-http.test.ts` (HTTP com fetch mock)
|
|
64
|
+
- Smoke opt-in `BEMONY_REAL_API_SMOKE=1`
|
|
65
|
+
|
|
66
|
+
### Changed
|
|
67
|
+
|
|
68
|
+
- Precedência: defaults → window config → data-* → explicit (merge campo a campo)
|
|
69
|
+
- Exemplos HTML mínimos sem markers obrigatórios
|
|
70
|
+
- Docs: README, TROUBLESHOOTING, TEST_MATRIX, lifecycle package doc
|
|
71
|
+
|
|
72
|
+
### Notes
|
|
73
|
+
|
|
74
|
+
- Factory programática `development` + mock preservada
|
|
75
|
+
- Endpoint padrão é infraestrutura pública (não credencial)
|
|
76
|
+
- Core continua compondo `/pixels/public/event` e `/batch`
|
|
77
|
+
|
|
78
|
+
## Unreleased — B9 Hardening / docs / release interno
|
|
79
|
+
|
|
80
|
+
### Added
|
|
81
|
+
|
|
82
|
+
- README completo (cenários, segurança, exports, quick start)
|
|
83
|
+
- `docs/SCENARIOS.md`, `docs/TROUBLESHOOTING.md`, `docs/SECURITY_LIMITATIONS.md`, `docs/TEST_MATRIX.md`
|
|
84
|
+
- `RELEASE_CANDIDATE.md` (proposta `0.1.0-rc.1`, compat Core, naming)
|
|
85
|
+
- Export `./global` (IIFE)
|
|
86
|
+
- Pack/validate/smoke internos (`pack:pixel-bemony`, etc.)
|
|
87
|
+
- `examples/` e `docs/` incluídos no tarball (`files`)
|
|
88
|
+
|
|
89
|
+
### Changed
|
|
90
|
+
|
|
91
|
+
- `clearBootstrapStoreForTests` removido da API pública de `/browser` (permanece interno ao módulo)
|
|
92
|
+
|
|
93
|
+
### Notes
|
|
94
|
+
|
|
95
|
+
- Sem publish npm
|
|
96
|
+
- Sem alteração de `version` (`0.0.0`)
|
|
97
|
+
- Gates B1–B8 + B9 verdes
|
|
98
|
+
|
|
99
|
+
## Unreleased — B8 Browser bootstrap / auto-init
|
|
100
|
+
|
|
101
|
+
### Added
|
|
102
|
+
|
|
103
|
+
- `@beworke/pixel-bemony/browser` — `bootstrapBemonyPixel`, `installBemonyPixelAutoInit`
|
|
104
|
+
- IIFE `dist/browser/pixel-bemony.global.js` → `window.BemonyPixel`
|
|
105
|
+
- Precedência: explicit → `data-*` → `window.BemonyPixelConfig`
|
|
106
|
+
- Exemplo `examples/browser-bootstrap.html`
|
|
107
|
+
|
|
108
|
+
## Unreleased — B7 Thank-you + contrato backend
|
|
109
|
+
|
|
110
|
+
### Added
|
|
111
|
+
|
|
112
|
+
- Cenário `thank-you` (PAGE_VIEW only)
|
|
113
|
+
- Tipos PLACEHOLDER + validators de redirect/purchase server
|
|
114
|
+
- `docs/BACKEND_PURCHASE_AND_REDIRECTS.md`
|
|
115
|
+
- Exemplo `examples/thank-you.html`
|
|
116
|
+
|
|
117
|
+
## Unreleased — B6 One-click checkout
|
|
118
|
+
|
|
119
|
+
### Added
|
|
120
|
+
|
|
121
|
+
- Cenário `one-click-checkout`
|
|
122
|
+
- `trackOneClickConfirmation`, `withOneClickPaymentContext`
|
|
123
|
+
- Token efêmero privado (não em config/snapshot)
|
|
124
|
+
|
|
125
|
+
## Unreleased — B5 Upsell / downsell
|
|
126
|
+
|
|
127
|
+
### Added
|
|
128
|
+
|
|
129
|
+
- Cenário `upsell-offer`
|
|
130
|
+
- `viewUpsell`, `acceptUpsell`, `declineUpsell` (decline sem evento Core)
|
|
131
|
+
|
|
132
|
+
## Unreleased — B4 Checkout
|
|
133
|
+
|
|
134
|
+
### Added
|
|
135
|
+
|
|
136
|
+
- Cenário `checkout`
|
|
137
|
+
- Lead, order bumps, `trackPaymentMethod` (enum only)
|
|
138
|
+
|
|
139
|
+
## Unreleased — B3 Offer page
|
|
140
|
+
|
|
141
|
+
### Added
|
|
142
|
+
|
|
143
|
+
- Cenário `offer-page`
|
|
144
|
+
- `viewOffer`, `selectOffer`, `getPublicSessionId`
|
|
145
|
+
|
|
146
|
+
## Unreleased — B2 Lifecycle / factory
|
|
147
|
+
|
|
148
|
+
### Added
|
|
149
|
+
|
|
150
|
+
- `BemonyPixel`, `createBemonyPixel`
|
|
151
|
+
- Estados `created` … `destroyed` / `failed`
|
|
152
|
+
|
|
153
|
+
## Unreleased — B1 Fundação
|
|
154
|
+
|
|
155
|
+
### Added
|
|
156
|
+
|
|
157
|
+
- `createBemonyPixelConfig`, contratos de página, link policy, ambientes
|
package/README.md
ADDED
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# @beworke/pixel-bemony
|
|
2
|
+
|
|
3
|
+
Camada tipada da **Bemony** sobre [`@beworke/pixel`](../pixel).
|
|
4
|
+
|
|
5
|
+
| Campo | Valor |
|
|
6
|
+
|---|---|
|
|
7
|
+
| Status | **privado** (`private: true`) — não publicar |
|
|
8
|
+
| Versão no workspace | `0.0.0` |
|
|
9
|
+
| RC proposta | `0.1.0-rc.1` (ver [`RELEASE_CANDIDATE.md`](./RELEASE_CANDIDATE.md)) |
|
|
10
|
+
| Core mínimo proposto | `@beworke/pixel@0.1.0-rc.6` |
|
|
11
|
+
|
|
12
|
+
## Objetivo
|
|
13
|
+
|
|
14
|
+
API de domínio para os cinco cenários do funil Bemony, lifecycle explícito e bootstrap browser com auto-init HTTP no bundle global — sem duplicar visitor/session/attribution do Core e sem purchase no browser por default.
|
|
15
|
+
|
|
16
|
+
## Instalação (interna / monorepo)
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
pnpm --filter @beworke/pixel-bemony build
|
|
20
|
+
# Artifact interno (não npm publish):
|
|
21
|
+
pnpm pack:pixel-bemony
|
|
22
|
+
pnpm validate:pixel-bemony-package
|
|
23
|
+
pnpm smoke:pixel-bemony-package
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Dependência atual no workspace: `"@beworke/pixel": "workspace:*"`.
|
|
27
|
+
|
|
28
|
+
## Quick start (script mínimo)
|
|
29
|
+
|
|
30
|
+
```html
|
|
31
|
+
<script
|
|
32
|
+
src="pixel-bemony.global.js"
|
|
33
|
+
data-funnel-id="funnel_1"
|
|
34
|
+
data-funnel-step-id="step_1"
|
|
35
|
+
></script>
|
|
36
|
+
|
|
37
|
+
<a href="https://security.bemony.com/pri6670988">Comprar agora</a>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Isso inicializa automaticamente com:
|
|
41
|
+
|
|
42
|
+
- `environment: production`
|
|
43
|
+
- `scenario: offer-page`
|
|
44
|
+
- `pixelId: pix_7704308` / `namespace: bemony-web`
|
|
45
|
+
- transport HTTP + `BEMONY_DEFAULT_API_ENDPOINT`
|
|
46
|
+
- `allowedDomains: [security.bemony.com]`
|
|
47
|
+
- `sid` gerado/lido + `afid` lido (nunca gerado)
|
|
48
|
+
- `PAGE_VIEW` inicial via Core
|
|
49
|
+
- clique em `/pri*` → ADD_TO_CART (`productId` = último segmento do path)
|
|
50
|
+
|
|
51
|
+
CTAs **não** usam `data-bemony-offer`. Decoração = hostname permitido; evento = `LinkAutoSource`.
|
|
52
|
+
|
|
53
|
+
```js
|
|
54
|
+
const pixel = await window.BemonyPixel.whenReady();
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Opt-out: `data-auto-init="false"`.
|
|
58
|
+
|
|
59
|
+
Servir exemplos por HTTP local (não `file://`):
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
pnpm dlx serve packages/pixel-bemony
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Quick start (programático)
|
|
66
|
+
|
|
67
|
+
```typescript
|
|
68
|
+
import { createBemonyPixel } from '@beworke/pixel-bemony';
|
|
69
|
+
|
|
70
|
+
const pixel = await createBemonyPixel({
|
|
71
|
+
environment: 'development',
|
|
72
|
+
scenario: 'offer-page',
|
|
73
|
+
platform: {
|
|
74
|
+
pixelId: 'bemony-web',
|
|
75
|
+
allowedDomains: ['checkout.bemony.com'],
|
|
76
|
+
},
|
|
77
|
+
page: { public: { pageId: 'vsl-main', funnelId: 'funnel_1' } },
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
pixel.selectOffer({ priceCode: 'pri_123' });
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
> O Pixel extrai `priceCode` do link ou da API de domínio.
|
|
84
|
+
> Nenhuma consulta de catálogo é executada; o backend enriquece o evento.
|
|
85
|
+
> Ver [`docs/BROWSER_EVENT_ENRICHMENT.md`](./docs/BROWSER_EVENT_ENRICHMENT.md).
|
|
86
|
+
|
|
87
|
+
Entry principal **sem side effects**. Bootstrap/auto-init ESM:
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
import { bootstrapBemonyPixel } from '@beworke/pixel-bemony/browser';
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Global IIFE: `@beworke/pixel-bemony/global` → `window.BemonyPixel`.
|
|
94
|
+
|
|
95
|
+
## Defaults públicos
|
|
96
|
+
|
|
97
|
+
| Constante | Valor |
|
|
98
|
+
|---|---|
|
|
99
|
+
| `BEMONY_DEFAULT_API_ENDPOINT` | `https://micro-service-pixel-production-4826.up.railway.app` |
|
|
100
|
+
| `BEMONY_DEFAULT_PIXEL_ID` | `pix_7704308` |
|
|
101
|
+
| `BEMONY_DEFAULT_NAMESPACE` | `bemony-web` |
|
|
102
|
+
| `BEMONY_DEFAULT_ALLOWED_DOMAINS` | `['security.bemony.com']` |
|
|
103
|
+
| `BEMONY_DEFAULT_BROWSER_ENVIRONMENT` | `production` |
|
|
104
|
+
| `BEMONY_DEFAULT_BROWSER_SCENARIO` | `offer-page` |
|
|
105
|
+
|
|
106
|
+
O endpoint é configuração pública de infraestrutura (não credencial). O Core acrescenta `/pixels/public/event` e `/pixels/public/event/batch`.
|
|
107
|
+
|
|
108
|
+
## Cenários
|
|
109
|
+
|
|
110
|
+
| Cenário | Métodos principais | Notas |
|
|
111
|
+
|---|---|---|
|
|
112
|
+
| `offer-page` | `selectOffer`, `getPublicSessionId` | links `/pri*` → ADD_TO_CART |
|
|
113
|
+
| `checkout` | `startCheckout`, `captureLead`, bumps, `trackPaymentMethod` | auto INITIATE_CHECKOUT |
|
|
114
|
+
| `upsell-offer` | `viewUpsell`, `acceptUpsell`, `declineUpsell` | upsell e downsell |
|
|
115
|
+
| `one-click-checkout` | `trackOneClickConfirmation`, `setPublicOrderId` | sem token no Pixel |
|
|
116
|
+
| `thank-you` | `getPublicOrderId` | PAGE_VIEW; sem purchase browser |
|
|
117
|
+
|
|
118
|
+
Guias: [`docs/SCENARIOS.md`](./docs/SCENARIOS.md).
|
|
119
|
+
Browser → backend: [`docs/BROWSER_EVENT_ENRICHMENT.md`](./docs/BROWSER_EVENT_ENRICHMENT.md).
|
|
120
|
+
Backend / redirects: [`docs/BACKEND_PURCHASE_AND_REDIRECTS.md`](./docs/BACKEND_PURCHASE_AND_REDIRECTS.md).
|
|
121
|
+
|
|
122
|
+
> O Pixel Bemony não consulta catálogo durante a inicialização.
|
|
123
|
+
> Os eventos transportam o `priceCode` observado; o backend enriquece.
|
|
124
|
+
|
|
125
|
+
## Segurança (resumo)
|
|
126
|
+
|
|
127
|
+
- Token one-click **nunca** no Pixel (pagamento no backend/app).
|
|
128
|
+
- Purchase browser **desabilitado** em todos os presets.
|
|
129
|
+
- Sem dados de cartão no Pixel.
|
|
130
|
+
- Detalhes: [`docs/SECURITY_LIMITATIONS.md`](./docs/SECURITY_LIMITATIONS.md).
|
|
131
|
+
|
|
132
|
+
## Relação com o Core
|
|
133
|
+
|
|
134
|
+
| Responsabilidade | Onde |
|
|
135
|
+
|---|---|
|
|
136
|
+
| Visitor / session / sid / UrlContext | `@beworke/pixel` |
|
|
137
|
+
| Domínio Bemony + cenários + bootstrap | `@beworke/pixel-bemony` |
|
|
138
|
+
| PURCHASE de pagamento | Backend (não browser) |
|
|
139
|
+
|
|
140
|
+
Sem imports `@beworke/pixel/src/*`.
|
|
141
|
+
|
|
142
|
+
## Exports
|
|
143
|
+
|
|
144
|
+
| Subpath | Conteúdo |
|
|
145
|
+
|---|---|
|
|
146
|
+
| `.` | factory, `BemonyPixel`, contratos, helpers, defaults públicos |
|
|
147
|
+
| `./browser` | bootstrap + auto-init (sem side effect no import) |
|
|
148
|
+
| `./global` | IIFE `dist/browser/pixel-bemony.global.js` (auto-init por padrão) |
|
|
149
|
+
|
|
150
|
+
## Exemplos HTML
|
|
151
|
+
|
|
152
|
+
Ver guia do funil ponta a ponta: [`examples/README.md`](./examples/README.md).
|
|
153
|
+
|
|
154
|
+
Em [`examples/`](./examples/): `funnel/` (páginas externas), `security/` (checkout + one-click),
|
|
155
|
+
`*-price-code.html` (sem catálogo), browser-bootstrap.
|
|
156
|
+
|
|
157
|
+
## Troubleshooting
|
|
158
|
+
|
|
159
|
+
[`docs/TROUBLESHOOTING.md`](./docs/TROUBLESHOOTING.md)
|
|
160
|
+
|
|
161
|
+
## Matriz de testes
|
|
162
|
+
|
|
163
|
+
[`docs/TEST_MATRIX.md`](./docs/TEST_MATRIX.md)
|
|
164
|
+
|
|
165
|
+
## Changelog
|
|
166
|
+
|
|
167
|
+
[`CHANGELOG.md`](./CHANGELOG.md)
|
|
168
|
+
|
|
169
|
+
## Scripts do pacote
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
pnpm --filter @beworke/pixel-bemony lint
|
|
173
|
+
pnpm --filter @beworke/pixel-bemony type-check
|
|
174
|
+
pnpm --filter @beworke/pixel-bemony test
|
|
175
|
+
pnpm --filter @beworke/pixel-bemony build
|
|
176
|
+
```
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Release Candidate — `@beworke/pixel-bemony`
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
|
|
5
|
+
| Item | Decisão |
|
|
6
|
+
|---|---|
|
|
7
|
+
| Publish npm | **Sim** — RC pública para validação |
|
|
8
|
+
| Versão | `0.1.0-rc.1` |
|
|
9
|
+
| Naming | `@beworke/pixel-bemony` |
|
|
10
|
+
| Tags npm | `rc` + `latest` (ambas apontam para a RC atual) |
|
|
11
|
+
|
|
12
|
+
## Compatibilidade com o Core
|
|
13
|
+
|
|
14
|
+
| Pacote | Intervalo |
|
|
15
|
+
|---|---|
|
|
16
|
+
| `@beworke/pixel` (peer) | `>=0.1.0-rc.7` |
|
|
17
|
+
| Dependência no workspace | `workspace:*` (pnpm publish reescreve para a versão concreta do Core) |
|
|
18
|
+
|
|
19
|
+
## Checklist
|
|
20
|
+
|
|
21
|
+
1. `pnpm verify:pixel-bemony-rc`
|
|
22
|
+
2. Confirmar: sem token em artefatos, sem purchase browser, entry `.` sem side effects
|
|
23
|
+
3. `pnpm --filter @beworke/pixel-bemony publish:rc`
|
|
24
|
+
4. `npm view @beworke/pixel-bemony dist-tags` → `rc` e `latest` = `0.1.0-rc.1`
|
|
25
|
+
|
|
26
|
+
## Artifact local
|
|
27
|
+
|
|
28
|
+
```text
|
|
29
|
+
artifacts/beworke-pixel-bemony-0.1.0-rc.1.tgz
|
|
30
|
+
artifacts/latest-pixel-bemony-package.json
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Fora desta RC
|
|
34
|
+
|
|
35
|
+
- Versão estável `0.1.0` (sem sufixo)
|
|
36
|
+
- Alias de marca `bemony-pixel`
|
|
37
|
+
- CMP completo / purchase browser
|