Import CLI and configure npm trusted publishing by frendip · Pull Request #1 · yandex/ymaps3-cli · GitHub
Skip to content

Import CLI and configure npm trusted publishing - #1

Open
frendip wants to merge 50 commits into
mainfrom
cli-opensource
Open

frendip wants to merge 50 commits into
mainfrom
cli-opensource

Conversation

@frendip

@frendip frendip commented Oct 12, 2026

Copy link
Copy Markdown
Contributor

Imports @yandex/ymaps3-cli into its new repository and configures npm trusted publishing through GitHub Actions OIDC. Package name, version (0.0.25), CLI commands and shared helper entry points are retained. LICENSE and NOTICES are carried over unchanged.

Preserves all 42 original historical commits with their existing hashes, authors and dates. An empty initialization commit on main provides the PR base; the import commit joins that base to the original history. No historical tags are imported.

Uses Node 24, release-only id-token: write, exact version tags without v, an unpublished-version check and serialized releases. Publishing requires integration tests; PRs without APIKEY still run lint/build/package checks and explicitly report skipped integration tests. The bump command requires clean main and atomically pushes only main and the new version tag.

Updates generated projects too: OIDC workflows, token-free npmrc, safe bump commands, Node 24, Jest compatibility setup and instructions for the actual GitHub repository URL/trusted publisher. Removes the nonexistent Stack Overflow support link. Pins template Vue and Node/Scheduler types to versions from the working CLI lockfile because fresh installs otherwise select types incompatible with TypeScript 5.1. Root dependency versions remain unchanged.

Refreshes three existing DOM snapshots for the additional empty controls container returned by the current live JS API; no runtime code changes.

Validation: clean npm ci, lint, CLI build/hashbang, all three integration tests, actionlint, package contents and known-key scan, npm publish --dry-run with a temporary prerelease, and isolated release-command fixtures passed. Installed the tarball, invoked CLI help, generated a fresh project and passed its install/lint/build/integration test against both the published and candidate CLI helpers. No package was published. Existing JS API caching, React 18 legacy-render and Jest open-handle warnings remain.

Before merging:

  • Configure the existing npm package's GitHub trusted publisher: organization yandex, repository ymaps3-cli, workflow release.yml, no environment; allow direct npm publish.
  • Configure GitHub Actions secret APIKEY and optionally REFERRER (default http://yandex.localhost/).

Merge only after npm setup. Use Create a merge commit, not squash, to retain the imported history. Merging to main runs CI and does not publish. Disable the old publisher before the first new version tag; historical tags are not imported. No temporary enablement flag is used. Live OIDC authorization must be verified during the first actual release.

xdan and others added 30 commits October 12, 2023 13:56
Add template replacement support in ts/tsx and js/jsx
Co-authored-by: Matthew Kalinin <matthew44@yandex-team.ru>
* Support typescript in examples

* types lates

* types lates

---------

Co-authored-by: Matthew Kalinin <matthew44@yandex-team.ru>
* Add NodeFilter in jest

* fix tests

---------

Co-authored-by: Matthew Kalinin <matthew44@yandex-team.ru>
xdan and others added 20 commits July 16, 2026 17:36
Update LICENSE copyright year to 2026
Use upstream DefinitelyTyped license in NOTICES
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants