@opetope/runtime 0.1.0
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 +5 -0
- package/LICENSE +21 -0
- package/README.md +345 -0
- package/README.ru.md +344 -0
- package/dist/application-compiler-edges.d.ts +3 -0
- package/dist/application-compiler-edges.js +2 -0
- package/dist/application-compiler-edges.js.map +1 -0
- package/dist/application-compiler-graph.d.ts +8 -0
- package/dist/application-compiler-graph.js +2 -0
- package/dist/application-compiler-graph.js.map +1 -0
- package/dist/application-compiler.d.ts +116 -0
- package/dist/application-compiler.js +2 -0
- package/dist/application-compiler.js.map +1 -0
- package/dist/application-conditions.d.ts +18 -0
- package/dist/application-conditions.js +2 -0
- package/dist/application-conditions.js.map +1 -0
- package/dist/application-definition.d.ts +30 -0
- package/dist/application-definition.js +2 -0
- package/dist/application-definition.js.map +1 -0
- package/dist/application-error.d.ts +10 -0
- package/dist/application-error.js +2 -0
- package/dist/application-error.js.map +1 -0
- package/dist/application-execution.d.ts +43 -0
- package/dist/application-execution.js +2 -0
- package/dist/application-execution.js.map +1 -0
- package/dist/application-feature-bindings.d.ts +11 -0
- package/dist/application-feature-bindings.js +2 -0
- package/dist/application-feature-bindings.js.map +1 -0
- package/dist/application-feature-instance.d.ts +5 -0
- package/dist/application-feature-instance.js +2 -0
- package/dist/application-feature-instance.js.map +1 -0
- package/dist/application-group-order.d.ts +29 -0
- package/dist/application-group-order.js +2 -0
- package/dist/application-group-order.js.map +1 -0
- package/dist/application-instance-retirement.d.ts +36 -0
- package/dist/application-instance-retirement.js +2 -0
- package/dist/application-instance-retirement.js.map +1 -0
- package/dist/application-open-options.d.ts +29 -0
- package/dist/application-open-options.js +2 -0
- package/dist/application-open-options.js.map +1 -0
- package/dist/application-port-compiler.d.ts +28 -0
- package/dist/application-port-compiler.js +2 -0
- package/dist/application-port-compiler.js.map +1 -0
- package/dist/attachment-call-declaration.d.ts +43 -0
- package/dist/attachment-call-declaration.js +2 -0
- package/dist/attachment-call-declaration.js.map +1 -0
- package/dist/attachment-declaration.d.ts +68 -0
- package/dist/attachment-declaration.js +2 -0
- package/dist/attachment-declaration.js.map +1 -0
- package/dist/attachment-execution.d.ts +9 -0
- package/dist/attachment-execution.js +2 -0
- package/dist/attachment-execution.js.map +1 -0
- package/dist/attachment-retirement-scheduler.d.ts +14 -0
- package/dist/attachment-retirement-scheduler.js +2 -0
- package/dist/attachment-retirement-scheduler.js.map +1 -0
- package/dist/call-option-snapshot.d.ts +20 -0
- package/dist/call-option-snapshot.js +2 -0
- package/dist/call-option-snapshot.js.map +1 -0
- package/dist/compile-call-target-bindings.d.ts +14 -0
- package/dist/compile-call-target-bindings.js +2 -0
- package/dist/compile-call-target-bindings.js.map +1 -0
- package/dist/compile-module-template.d.ts +38 -0
- package/dist/compile-module-template.js +2 -0
- package/dist/compile-module-template.js.map +1 -0
- package/dist/condition-group-execution.d.ts +44 -0
- package/dist/condition-group-execution.js +2 -0
- package/dist/condition-group-execution.js.map +1 -0
- package/dist/condition-override.d.ts +28 -0
- package/dist/condition-override.js +2 -0
- package/dist/condition-override.js.map +1 -0
- package/dist/condition-source.d.ts +10 -0
- package/dist/condition-source.js +2 -0
- package/dist/condition-source.js.map +1 -0
- package/dist/condition-types.d.ts +14 -0
- package/dist/condition.d.ts +28 -0
- package/dist/condition.js +2 -0
- package/dist/condition.js.map +1 -0
- package/dist/control-registry.d.ts +56 -0
- package/dist/control-registry.js +2 -0
- package/dist/control-registry.js.map +1 -0
- package/dist/dynamic-scope-child.d.ts +23 -0
- package/dist/dynamic-scope-child.js +2 -0
- package/dist/dynamic-scope-child.js.map +1 -0
- package/dist/dynamic-scope-controller.d.ts +16 -0
- package/dist/dynamic-scope-controller.js +2 -0
- package/dist/dynamic-scope-controller.js.map +1 -0
- package/dist/feature-attachment-authoring-types.d.ts +51 -0
- package/dist/feature-attachment-lowering.d.ts +18 -0
- package/dist/feature-attachment-lowering.js +2 -0
- package/dist/feature-attachment-lowering.js.map +1 -0
- package/dist/feature-attachment.d.ts +45 -0
- package/dist/feature-attachment.js +2 -0
- package/dist/feature-attachment.js.map +1 -0
- package/dist/feature-authoring-types.d.ts +196 -0
- package/dist/feature-authoring.d.ts +15 -0
- package/dist/feature-authoring.js +2 -0
- package/dist/feature-authoring.js.map +1 -0
- package/dist/feature-body.d.ts +53 -0
- package/dist/feature-body.js +2 -0
- package/dist/feature-body.js.map +1 -0
- package/dist/feature-call-authority.d.ts +8 -0
- package/dist/feature-call-authority.js +2 -0
- package/dist/feature-call-authority.js.map +1 -0
- package/dist/feature-call-types.d.ts +39 -0
- package/dist/feature-call.d.ts +18 -0
- package/dist/feature-call.js +2 -0
- package/dist/feature-call.js.map +1 -0
- package/dist/feature-calls.d.ts +6 -0
- package/dist/feature-calls.js +2 -0
- package/dist/feature-calls.js.map +1 -0
- package/dist/feature-contract.d.ts +70 -0
- package/dist/feature-contract.js +2 -0
- package/dist/feature-contract.js.map +1 -0
- package/dist/feature-contribution-model.d.ts +38 -0
- package/dist/feature-contribution-model.js +2 -0
- package/dist/feature-contribution-model.js.map +1 -0
- package/dist/feature-contribution.d.ts +126 -0
- package/dist/feature-contribution.js +2 -0
- package/dist/feature-contribution.js.map +1 -0
- package/dist/feature-definition-api.d.ts +53 -0
- package/dist/feature-definition-support.d.ts +21 -0
- package/dist/feature-definition-support.js +2 -0
- package/dist/feature-definition-support.js.map +1 -0
- package/dist/feature-effect.d.ts +26 -0
- package/dist/feature-effect.js +2 -0
- package/dist/feature-effect.js.map +1 -0
- package/dist/feature-event.d.ts +32 -0
- package/dist/feature-event.js +2 -0
- package/dist/feature-event.js.map +1 -0
- package/dist/feature-generation.d.ts +34 -0
- package/dist/feature-generation.js +2 -0
- package/dist/feature-generation.js.map +1 -0
- package/dist/feature-lazy-generation.d.ts +6 -0
- package/dist/feature-lazy-generation.js +2 -0
- package/dist/feature-lazy-generation.js.map +1 -0
- package/dist/feature-lazy.d.ts +44 -0
- package/dist/feature-lazy.js +2 -0
- package/dist/feature-lazy.js.map +1 -0
- package/dist/feature-materialization-binding.d.ts +31 -0
- package/dist/feature-materialization-binding.js +2 -0
- package/dist/feature-materialization-binding.js.map +1 -0
- package/dist/feature-materialization-types.d.ts +45 -0
- package/dist/feature-model-dependencies.d.ts +23 -0
- package/dist/feature-model-dependencies.js +2 -0
- package/dist/feature-model-dependencies.js.map +1 -0
- package/dist/feature-model.d.ts +60 -0
- package/dist/feature-model.js +2 -0
- package/dist/feature-model.js.map +1 -0
- package/dist/feature-optional.d.ts +15 -0
- package/dist/feature-optional.js +2 -0
- package/dist/feature-optional.js.map +1 -0
- package/dist/feature-own-lowering.d.ts +22 -0
- package/dist/feature-own-lowering.js +2 -0
- package/dist/feature-own-lowering.js.map +1 -0
- package/dist/feature-port-binding.d.ts +6 -0
- package/dist/feature-port-binding.js +2 -0
- package/dist/feature-port-binding.js.map +1 -0
- package/dist/feature-port.d.ts +66 -0
- package/dist/feature-port.js +2 -0
- package/dist/feature-port.js.map +1 -0
- package/dist/feature-record.d.ts +6 -0
- package/dist/feature-record.js +2 -0
- package/dist/feature-record.js.map +1 -0
- package/dist/feature-resource.d.ts +29 -0
- package/dist/feature-resource.js +2 -0
- package/dist/feature-resource.js.map +1 -0
- package/dist/feature-scope-types.d.ts +35 -0
- package/dist/feature-scope.d.ts +29 -0
- package/dist/feature-scope.js +2 -0
- package/dist/feature-scope.js.map +1 -0
- package/dist/feature-stream.d.ts +37 -0
- package/dist/feature-stream.js +2 -0
- package/dist/feature-stream.js.map +1 -0
- package/dist/feature-timers.d.ts +14 -0
- package/dist/feature-timers.js +2 -0
- package/dist/feature-timers.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/inspection-activity-protocol.d.ts +63 -0
- package/dist/inspection-activity.d.ts +54 -0
- package/dist/inspection-activity.js +2 -0
- package/dist/inspection-activity.js.map +1 -0
- package/dist/inspection-diff.d.ts +10 -0
- package/dist/inspection-diff.js +2 -0
- package/dist/inspection-diff.js.map +1 -0
- package/dist/inspection-module-activity.d.ts +4 -0
- package/dist/inspection-module-activity.js +2 -0
- package/dist/inspection-module-activity.js.map +1 -0
- package/dist/inspection-observer.d.ts +38 -0
- package/dist/inspection-observer.js +2 -0
- package/dist/inspection-observer.js.map +1 -0
- package/dist/inspection-plan.d.ts +33 -0
- package/dist/inspection-plan.js +2 -0
- package/dist/inspection-plan.js.map +1 -0
- package/dist/inspection-protocol.d.ts +333 -0
- package/dist/inspection-protocol.js +2 -0
- package/dist/inspection-protocol.js.map +1 -0
- package/dist/inspection-registry.d.ts +41 -0
- package/dist/inspection-registry.js +2 -0
- package/dist/inspection-registry.js.map +1 -0
- package/dist/inspection-session.d.ts +92 -0
- package/dist/inspection-session.js +2 -0
- package/dist/inspection-session.js.map +1 -0
- package/dist/inspection-snapshot.d.ts +4 -0
- package/dist/inspection-snapshot.js +2 -0
- package/dist/inspection-snapshot.js.map +1 -0
- package/dist/inspection-state.d.ts +91 -0
- package/dist/inspection-state.js +2 -0
- package/dist/inspection-state.js.map +1 -0
- package/dist/instance-demand.d.ts +31 -0
- package/dist/instance-demand.js +2 -0
- package/dist/instance-demand.js.map +1 -0
- package/dist/internal.d.ts +41 -0
- package/dist/internal.js +2 -0
- package/dist/internal.js.map +1 -0
- package/dist/keyed-scope-controller.d.ts +11 -0
- package/dist/keyed-scope-controller.js +2 -0
- package/dist/keyed-scope-controller.js.map +1 -0
- package/dist/model-kernel.d.ts +18 -0
- package/dist/model-kernel.js +2 -0
- package/dist/model-kernel.js.map +1 -0
- package/dist/module-call-context.d.ts +7 -0
- package/dist/module-call-context.js +2 -0
- package/dist/module-call-context.js.map +1 -0
- package/dist/module-call-runtime.d.ts +21 -0
- package/dist/module-call-runtime.js +2 -0
- package/dist/module-call-runtime.js.map +1 -0
- package/dist/module-generation.d.ts +57 -0
- package/dist/module-generation.js +2 -0
- package/dist/module-generation.js.map +1 -0
- package/dist/module-instance-types.d.ts +156 -0
- package/dist/module-instance.d.ts +19 -0
- package/dist/module-instance.js +2 -0
- package/dist/module-instance.js.map +1 -0
- package/dist/module-runtime-identity.d.ts +4 -0
- package/dist/module-runtime-identity.js +2 -0
- package/dist/module-runtime-identity.js.map +1 -0
- package/dist/module-scope-open.d.ts +4 -0
- package/dist/module-scope-open.js +2 -0
- package/dist/module-scope-open.js.map +1 -0
- package/dist/module-scope-retirement.d.ts +3 -0
- package/dist/module-scope-retirement.js +2 -0
- package/dist/module-scope-retirement.js.map +1 -0
- package/dist/module-template-ir.d.ts +59 -0
- package/dist/owner-generation-retirement.d.ts +6 -0
- package/dist/owner-generation-retirement.js +2 -0
- package/dist/owner-generation-retirement.js.map +1 -0
- package/dist/owner-generation-state.d.ts +123 -0
- package/dist/owner-generation-state.js +2 -0
- package/dist/owner-generation-state.js.map +1 -0
- package/dist/owner-generation.d.ts +16 -0
- package/dist/owner-generation.js +2 -0
- package/dist/owner-generation.js.map +1 -0
- package/dist/public-module-definition.d.ts +9 -0
- package/dist/public-module-definition.js +2 -0
- package/dist/public-module-definition.js.map +1 -0
- package/dist/public-module-instance.d.ts +6 -0
- package/dist/public-module-instance.js +2 -0
- package/dist/public-module-instance.js.map +1 -0
- package/dist/public-module-retirement-diagnostics.d.ts +5 -0
- package/dist/public-module-retirement-diagnostics.js +2 -0
- package/dist/public-module-retirement-diagnostics.js.map +1 -0
- package/dist/public-module-retirement.d.ts +3 -0
- package/dist/public-module-retirement.js +2 -0
- package/dist/public-module-retirement.js.map +1 -0
- package/dist/public-module-scope.d.ts +5 -0
- package/dist/public-module-scope.js +2 -0
- package/dist/public-module-scope.js.map +1 -0
- package/dist/public-module-state.d.ts +28 -0
- package/dist/public-module-state.js +2 -0
- package/dist/public-module-state.js.map +1 -0
- package/dist/public-module-types.d.ts +295 -0
- package/dist/public-module.d.ts +4 -0
- package/dist/resource-cache.d.ts +12 -0
- package/dist/resource-cache.js +2 -0
- package/dist/resource-cache.js.map +1 -0
- package/dist/resource-controller.d.ts +29 -0
- package/dist/resource-controller.js +2 -0
- package/dist/resource-controller.js.map +1 -0
- package/dist/resource-policy.d.ts +16 -0
- package/dist/resource-policy.js +2 -0
- package/dist/resource-policy.js.map +1 -0
- package/dist/resource-snapshot.d.ts +12 -0
- package/dist/resource-snapshot.js +2 -0
- package/dist/resource-snapshot.js.map +1 -0
- package/dist/resource-types.d.ts +3 -0
- package/dist/runtime-error-reporting.d.ts +4 -0
- package/dist/runtime-error-reporting.js +2 -0
- package/dist/runtime-error-reporting.js.map +1 -0
- package/dist/stream-backpressure.d.ts +18 -0
- package/dist/stream-backpressure.js +2 -0
- package/dist/stream-backpressure.js.map +1 -0
- package/dist/stream-cleanup.d.ts +17 -0
- package/dist/stream-cleanup.js +2 -0
- package/dist/stream-cleanup.js.map +1 -0
- package/dist/stream-controller-types.d.ts +51 -0
- package/dist/stream-controller.d.ts +5 -0
- package/dist/stream-controller.js +2 -0
- package/dist/stream-controller.js.map +1 -0
- package/docs/agent-guide.md +214 -0
- package/docs/agent-guide.ru.md +208 -0
- package/docs/cookbook.md +734 -0
- package/docs/cookbook.ru.md +729 -0
- package/docs/decisions.md +1437 -0
- package/docs/devtools.md +423 -0
- package/docs/devtools.ru.md +419 -0
- package/docs/how-it-works.md +521 -0
- package/docs/how-it-works.ru.md +495 -0
- package/docs/releases.md +78 -0
- package/docs/releases.ru.md +78 -0
- package/docs/spec.md +874 -0
- package/docs/spec.ru.md +884 -0
- package/package.json +72 -0
package/docs/releases.md
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Publishing a release
|
|
2
|
+
|
|
3
|
+
The five packages share one version: Core, Runtime, React, Devtools and Lint. Before 1.0, use a minor changeset
|
|
4
|
+
for a breaking change and a patch changeset for a compatible fix. Run `npm run changeset`; the version workflow
|
|
5
|
+
opens a release PR. Review its changelogs and exact peer versions before merging.
|
|
6
|
+
|
|
7
|
+
## Published artifacts
|
|
8
|
+
|
|
9
|
+
The npm packages ship minified ESM (`minify: true`, `keepNames: false`), TypeScript declarations (`.d.ts`), and
|
|
10
|
+
source maps containing the original sources in `sourcesContent` (D254). Minification targets smaller uncompressed
|
|
11
|
+
JavaScript; tarball size and the consuming application's final bundle must be measured separately.
|
|
12
|
+
|
|
13
|
+
Reflected `fn.name` and `constructor.name` are not stable API. Explicit declaration IDs, public `error.name` and
|
|
14
|
+
`error.code` values, and `instanceof` checks against exported error classes retain their contract. Source-map-aware
|
|
15
|
+
tools can locate the original TypeScript; the shipped maps expose those sources, so minification does not conceal
|
|
16
|
+
implementation code.
|
|
17
|
+
|
|
18
|
+
## Acceptance
|
|
19
|
+
|
|
20
|
+
From a clean checkout of the reviewed commit, using the pinned Node/npm toolchain:
|
|
21
|
+
|
|
22
|
+
```sh
|
|
23
|
+
npm ci
|
|
24
|
+
npx playwright install --with-deps chromium firefox webkit
|
|
25
|
+
npm run check
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
CI and release acceptance use the official Playwright image, pinned by version and digest to match the locked
|
|
29
|
+
Playwright dependency. Update the dependency, image tag and digest together. The local commands above install
|
|
30
|
+
browsers and their platform dependencies without requiring that image.
|
|
31
|
+
|
|
32
|
+
`ci:pack` creates five real tarballs and installs them in isolated consumers. It verifies all export entries,
|
|
33
|
+
NodeNext/Bundler declarations, renderer and headless paths, Lint without runtime packages, maps and shipped links. React/React DOM and their type packages are installed separately at `19.0.0` and at the contributor toolchain versions; both renderer/Devtools consumers also run on Node `20.19.0`.
|
|
34
|
+
Its accepted manifest and archives are in `.cache/release/`. Preserve this exact directory until publication
|
|
35
|
+
finishes. `pack-local` prepares archives for development and does not mark them accepted for release.
|
|
36
|
+
|
|
37
|
+
The Git commit and archive checksums must match at publication. Do not edit or rebuild the packages after
|
|
38
|
+
acceptance. The publish script rejects an unaccepted manifest, another commit or a dirty checkout.
|
|
39
|
+
|
|
40
|
+
## First release and authentication
|
|
41
|
+
|
|
42
|
+
Authenticate interactively with `npm login` using an account allowed to publish in `@opetope`. For the first release,
|
|
43
|
+
publish the accepted set:
|
|
44
|
+
|
|
45
|
+
```sh
|
|
46
|
+
node tooling/release/publish.mjs --version 0.1.0
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
The script publishes exact archives with lifecycle scripts disabled. Release candidates use `next`; stable
|
|
50
|
+
versions first use `candidate`. It checks existing versions before writing and resumes a partial publication only
|
|
51
|
+
when the already-published integrity matches. It never overwrites versions or changes `latest`.
|
|
52
|
+
|
|
53
|
+
After the first package versions exist, configure each package's npm trusted publisher with owner `telchardev`,
|
|
54
|
+
repository `opetope`, workflow `release.yml`, and permission for direct `npm publish`. The workflow uses a
|
|
55
|
+
GitHub-hosted runner and OIDC. No permanent npm write token is needed. This repository is private, so provenance
|
|
56
|
+
is disabled. See [npm trusted publishing](https://docs.npmjs.com/trusted-publishers/).
|
|
57
|
+
|
|
58
|
+
For subsequent releases, dispatch **Release** from the reviewed `main` commit and provide its exact version. The
|
|
59
|
+
workflow repeats acceptance and publishes those same archives. Pushes to `main` prepare release PRs; they do not
|
|
60
|
+
publish arbitrary commits. Enable GitHub Actions' permission to create PRs in the repository settings.
|
|
61
|
+
|
|
62
|
+
## Registry acceptance and promotion
|
|
63
|
+
|
|
64
|
+
Install the complete version set from the registry in a clean application with no workspace/source overrides and
|
|
65
|
+
run its build, type, integration and browser checks. Check the lockfile's registry URLs and integrity. Only then
|
|
66
|
+
promote a stable set, using interactive npm authentication:
|
|
67
|
+
|
|
68
|
+
```sh
|
|
69
|
+
npm dist-tag add @opetope/core@0.1.0 latest
|
|
70
|
+
npm dist-tag add @opetope/runtime@0.1.0 latest
|
|
71
|
+
npm dist-tag add @opetope/react@0.1.0 latest
|
|
72
|
+
npm dist-tag add @opetope/devtools@0.1.0 latest
|
|
73
|
+
npm dist-tag add @opetope/lint@0.1.0 latest
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Replace `0.1.0` with the accepted stable version. Verify all five tags before updating applications. Neither
|
|
77
|
+
package publication nor tag promotion is atomic. OIDC authenticates publish operations; tag management requires
|
|
78
|
+
separate account authentication. Keep a record of the accepted commit, archive checksums and registry checks.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Публикация релиза
|
|
2
|
+
|
|
3
|
+
Пять пакетов используют общую версию: Core, Runtime, React, Devtools и Lint. До 1.0 для breaking change выбирайте
|
|
4
|
+
minor changeset, для совместимого исправления — patch. `npm run changeset` описывает изменение; workflow версий
|
|
5
|
+
создаёт release PR. Перед merge проверьте changelog и точные версии peers.
|
|
6
|
+
|
|
7
|
+
## Содержимое пакетов
|
|
8
|
+
|
|
9
|
+
npm-пакеты поставляют минифицированный ESM (`minify: true`, `keepNames: false`), декларации TypeScript (`.d.ts`) и
|
|
10
|
+
source maps с исходниками в `sourcesContent` (D254). Цель минификации — уменьшить несжатый JavaScript; размер tarball
|
|
11
|
+
и итогового бандла приложения-потребителя измеряются отдельно.
|
|
12
|
+
|
|
13
|
+
Значения `fn.name` и `constructor.name`, полученные через рефлексию, не являются стабильным API. Явные ID деклараций,
|
|
14
|
+
публичные значения `error.name` и `error.code`, а также проверки `instanceof` с экспортируемыми классами ошибок
|
|
15
|
+
сохраняют контракт. Инструменты с поддержкой source maps могут показать исходный TypeScript; карты поставляют эти
|
|
16
|
+
исходники, поэтому минификация не скрывает реализацию.
|
|
17
|
+
|
|
18
|
+
## Приёмка
|
|
19
|
+
|
|
20
|
+
В чистом checkout проверенного commit с закреплёнными Node/npm:
|
|
21
|
+
|
|
22
|
+
```sh
|
|
23
|
+
npm ci
|
|
24
|
+
npx playwright install --with-deps chromium firefox webkit
|
|
25
|
+
npm run check
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
CI и release acceptance используют официальный образ Playwright, закреплённый по версии и digest в соответствии
|
|
29
|
+
с версией Playwright в lockfile. Обновляйте зависимость, тег образа и digest вместе. Локальные команды выше
|
|
30
|
+
устанавливают браузеры и нужные системе зависимости без необходимости использовать этот образ.
|
|
31
|
+
|
|
32
|
+
`ci:pack` создаёт пять настоящих tarballs и устанавливает их в изолированных потребителях. Проверяются все export
|
|
33
|
+
entries, типы NodeNext/Bundler, renderer и headless пути, Lint без runtime-пакетов, maps и ссылки документов. React/React DOM и их типы устанавливаются отдельно в версии `19.0.0` и версиях contributor toolchain; оба renderer/Devtools consumer также исполняются на Node `20.19.0`.
|
|
34
|
+
Принятый manifest и архивы лежат в `.cache/release/`. Сохраните этот каталог до окончания публикации.
|
|
35
|
+
`pack-local` готовит архивы для разработки, но не отмечает их принятыми для релиза.
|
|
36
|
+
|
|
37
|
+
При публикации должны совпасть Git commit и контрольные суммы. После приёмки не меняйте и не пересобирайте
|
|
38
|
+
пакеты. Скрипт отклоняет непринятый manifest, другой commit и грязное рабочее дерево.
|
|
39
|
+
|
|
40
|
+
## Первый выпуск и аутентификация
|
|
41
|
+
|
|
42
|
+
Выполните интерактивный `npm login` под аккаунтом с правом публикации в `@opetope`. Для первого выпуска опубликуйте
|
|
43
|
+
принятый набор:
|
|
44
|
+
|
|
45
|
+
```sh
|
|
46
|
+
node tooling/release/publish.mjs --version 0.1.0
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Скрипт отправляет точные архивы с отключёнными lifecycle scripts. RC используют `next`, stable сначала использует
|
|
50
|
+
`candidate`. До записи скрипт проверяет существующие версии; частичную публикацию можно продолжить только при
|
|
51
|
+
совпадении integrity уже опубликованного содержимого. Версии не перезаписываются, `latest` не меняется.
|
|
52
|
+
|
|
53
|
+
После появления первых версий настройте для каждого пакета npm trusted publisher: owner `telchardev`, repository
|
|
54
|
+
`opetope`, workflow `release.yml`, разрешение прямого `npm publish`. Workflow использует GitHub-hosted runner и
|
|
55
|
+
OIDC без постоянного npm write token. Репозиторий приватный, поэтому provenance выключен.
|
|
56
|
+
См. [npm trusted publishing](https://docs.npmjs.com/trusted-publishers/).
|
|
57
|
+
|
|
58
|
+
Для последующих релизов запустите **Release** вручную из проверенного commit в `main`, указав точную версию.
|
|
59
|
+
Workflow повторяет приёмку и публикует эти же архивы. Push в `main` готовит release PR, но не публикует произвольные
|
|
60
|
+
commits. В настройках репозитория разрешите GitHub Actions создавать PR.
|
|
61
|
+
|
|
62
|
+
## Приёмка registry и продвижение
|
|
63
|
+
|
|
64
|
+
Установите весь набор из registry в чистое приложение без workspace/source overrides. Пройдите build, type,
|
|
65
|
+
integration и browser проверки. Проверьте registry URLs и integrity lockfile. Только затем продвигайте stable
|
|
66
|
+
набор с интерактивной npm-аутентификацией:
|
|
67
|
+
|
|
68
|
+
```sh
|
|
69
|
+
npm dist-tag add @opetope/core@0.1.0 latest
|
|
70
|
+
npm dist-tag add @opetope/runtime@0.1.0 latest
|
|
71
|
+
npm dist-tag add @opetope/react@0.1.0 latest
|
|
72
|
+
npm dist-tag add @opetope/devtools@0.1.0 latest
|
|
73
|
+
npm dist-tag add @opetope/lint@0.1.0 latest
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Подставьте принятую stable версию вместо `0.1.0`. До обновления приложения проверьте все пять тегов. Публикация
|
|
77
|
+
пакетов и продвижение тегов не атомарны. OIDC аутентифицирует publish; управление тегами требует отдельной
|
|
78
|
+
аутентификации аккаунта. Сохраните commit, контрольные суммы архивов и результаты проверки registry.
|