Skip to content

Commit 8bf2dad

Browse files
author
iexitdev
committed
docs(release): publish scoped packages before root
1 parent 47487b5 commit 8bf2dad

3 files changed

Lines changed: 18 additions & 17 deletions

File tree

docs/release/beta-checklist.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ This checklist tracks CKV2-017 readiness for the H5-approved Developer Preview.
99
- Current modern workspace package: `@chart-kit/react-native`
1010
- Package strategy: `react-native-chart-kit` remains the compatibility path; `@chart-kit/react-native` is the modern v2 API for new adopters
1111
- Dist-tag target for Developer Preview: `next`
12-
- Publish manifest: [package-manifest.json](evidence/package-manifest.json) is the source of truth for Developer Preview-publishable packages. It currently publishes the root compatibility package, `@chart-kit/core`, `@chart-kit/svg-renderer`, and `@chart-kit/react-native`; it pack-checks but does not publish `@chart-kit/skia-renderer` or `@chart-kit/pro`.
12+
- Publish manifest: [package-manifest.json](evidence/package-manifest.json) is the source of truth for Developer Preview-publishable packages. It publishes `@chart-kit/core`, `@chart-kit/svg-renderer`, `@chart-kit/react-native`, and then the root compatibility package `react-native-chart-kit`; it pack-checks but does not publish `@chart-kit/skia-renderer` or `@chart-kit/pro`.
13+
- npm access prerequisite: the `NPM_TOKEN` used by GitHub Actions must be able to create and publish public packages under the `@chart-kit` scope. npm returns `404 Not Found` for scoped package publishes when the token does not have access to that scope.
1314

1415
## Required Checks
1516

@@ -47,7 +48,7 @@ The `test:e2e` command covers web showcase interaction flows. The example comman
4748

4849
The `docs:build` command validates local links, balanced code fences, JS/TS markdown fence syntax, and public TS/TSX docs examples. Integrated docs example coverage still runs through `npm run rn:typecheck`.
4950

50-
The `pack:check` command runs `npm pack --dry-run --json --ignore-scripts` for every package in the release package manifest, using a repo-local temp npm cache. It verifies package names, package metadata, README files, built `dist` entrypoints, and the modern `pro-preview` subpath artifacts. The publish workflow reads the same manifest for the Developer Preview publish list so preview-only packages cannot be published by an unrelated hardcoded loop.
51+
The `pack:check` command runs `npm pack --dry-run --json --ignore-scripts` for every package in the release package manifest, using a repo-local temp npm cache. It verifies package names, package metadata, README files, built `dist` entrypoints, and the modern `pro-preview` subpath artifacts. The publish workflow reads the same manifest for the Developer Preview publish list so preview-only packages cannot be published by an unrelated hardcoded loop. Keep dependency packages before the root compatibility package in the manifest so scoped package access failures happen before the root package is published.
5152

5253
Use `npm run release:qa:record -- --matrix runtime --list` to inspect native QA matrix rows, and use the same command with `--row`, `--status`, and `--evidence` after a manual device pass. Use `--matrix skia` for Skia renderer install, parity, and performance evidence. The recorder rejects `pass` rows without evidence links or missing repo-relative evidence files and regenerates [native QA checklist](native-qa-checklists.md).
5354

docs/release/evidence/package-manifest.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,6 @@
44
"releaseLabel": "Developer Preview",
55
"distTag": "next",
66
"packages": [
7-
{
8-
"dir": ".",
9-
"name": "react-native-chart-kit",
10-
"publishInBeta": true,
11-
"requiredFiles": [
12-
"LICENSE",
13-
"README.md",
14-
"dist/index.d.ts",
15-
"dist/index.js",
16-
"package.json",
17-
"scripts/chartkit-codemod.mjs"
18-
]
19-
},
207
{
218
"dir": "packages/core",
229
"name": "@chart-kit/core",
@@ -52,6 +39,19 @@
5239
"package.json"
5340
]
5441
},
42+
{
43+
"dir": ".",
44+
"name": "react-native-chart-kit",
45+
"publishInBeta": true,
46+
"requiredFiles": [
47+
"LICENSE",
48+
"README.md",
49+
"dist/index.d.ts",
50+
"dist/index.js",
51+
"package.json",
52+
"scripts/chartkit-codemod.mjs"
53+
]
54+
},
5555
{
5656
"dir": "packages/skia-renderer",
5757
"name": "@chart-kit/skia-renderer",

docs/release/h5-beta-gate-evidence.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ Benchmark scope covers core geometry plus one web showcase scrub timing scenario
8585
| Changelog | [Changelog](../../CHANGELOG.md) | Covered for current v7 preview |
8686
| Support workflow | `.github/ISSUE_TEMPLATE/*` | Covered for layout, compatibility, and performance bugs |
8787
| Public export surface | `scripts/verify-public-surface.mjs`; `scripts/verify-package-boundaries.mjs`; `scripts/verify-pro-preview-imports.mjs`; `npm run surface:check` | Covered for root compatibility exports, free/baseline modern v2 exports, React Native Pro preview subpath exports, Pro-candidate surface/capability/trigger metadata, package-boundary constraints, and public docs/showcase import-boundary constraints |
88-
| Release command safety | `.github/workflows/publish.yml` | Covered for branch, duplicate version, dist-tag, tests, docs, and build checks |
89-
| Package contents | [package-manifest.json](evidence/package-manifest.json); `scripts/check-package-packs.mjs`; `scripts/list-release-packages.mjs`; `npm run pack:check`; `.github/workflows/publish.yml` | Covered for root and workspace dry-run file lists after build, including `dist` entrypoints and `@chart-kit/react-native/pro-preview` artifacts. The publish workflow reads the same manifest and only Developer Preview-publishes packages with `publishInBeta: true`; `@chart-kit/pro` and `@chart-kit/skia-renderer` stay unpublished. |
88+
| Release command safety | `.github/workflows/publish.yml` | Covered for branch, duplicate version, dist-tag, tests, docs, build checks, Playwright browser installation before E2E, local workspace publish targets, and idempotent reruns that skip already-published package versions. npm `@chart-kit` scope access is an external prerequisite for publishing scoped packages. |
89+
| Package contents | [package-manifest.json](evidence/package-manifest.json); `scripts/check-package-packs.mjs`; `scripts/list-release-packages.mjs`; `npm run pack:check`; `.github/workflows/publish.yml` | Covered for root and workspace dry-run file lists after build, including `dist` entrypoints and `@chart-kit/react-native/pro-preview` artifacts. The publish workflow reads the same manifest and only Developer Preview-publishes packages with `publishInBeta: true`; `@chart-kit/pro` and `@chart-kit/skia-renderer` stay unpublished. Publishable dependency packages are ordered before the root compatibility package. |
9090
| CI checks | `.github/workflows/ci.yml`; `.github/workflows/native-release.yml` | Covered for fast checks and native release-build workflow definition; native workflow result still pending |
9191

9292
## Visual Coverage Summary

0 commit comments

Comments
 (0)