@icrc/esm-frontend-dependencies 1.0.10-bootstrap.1 → 1.0.10
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/package.json
CHANGED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
# One-off workflow to create @icrc/esm-frontend-dependencies on npmjs.org.
|
|
2
|
-
#
|
|
3
|
-
# Trusted publishing (OIDC) cannot create a package that does not exist yet: a
|
|
4
|
-
# trusted publisher is configured on a package's settings page on npmjs.com, and
|
|
5
|
-
# that page only exists once something has published the package. npmjs.org has no
|
|
6
|
-
# "create package" button, so the very first publish has to use a token.
|
|
7
|
-
#
|
|
8
|
-
# Run this once, then configure the trusted publisher, revoke the token, delete
|
|
9
|
-
# the NPM_TOKEN secret and delete this file. publish.yml then runs with no secret:
|
|
10
|
-
#
|
|
11
|
-
# npm trust github @icrc/esm-frontend-dependencies \
|
|
12
|
-
# --repo icrc/openmrs-esm-frontend-dependencies-icrc \
|
|
13
|
-
# --file publish.yml --env npm --allow-publish
|
|
14
|
-
#
|
|
15
|
-
# NPM_TOKEN must be a classic Automation token. A granular token that bypasses
|
|
16
|
-
# two-factor authentication loses direct publish capability in January 2027, and
|
|
17
|
-
# npm trust refuses such tokens afterwards. Publishing with an ordinary token
|
|
18
|
-
# fails with EOTP, because a runner cannot answer a two-factor prompt.
|
|
19
|
-
name: Bootstrap npm package
|
|
20
|
-
|
|
21
|
-
on:
|
|
22
|
-
workflow_dispatch:
|
|
23
|
-
inputs:
|
|
24
|
-
confirm:
|
|
25
|
-
description: 'Type "bootstrap" to confirm a token-authenticated publish'
|
|
26
|
-
required: true
|
|
27
|
-
type: string
|
|
28
|
-
|
|
29
|
-
permissions:
|
|
30
|
-
contents: read
|
|
31
|
-
|
|
32
|
-
jobs:
|
|
33
|
-
bootstrap:
|
|
34
|
-
runs-on: ubuntu-latest
|
|
35
|
-
environment: npm
|
|
36
|
-
timeout-minutes: 20
|
|
37
|
-
steps:
|
|
38
|
-
- name: Require explicit confirmation
|
|
39
|
-
if: inputs.confirm != 'bootstrap'
|
|
40
|
-
run: |
|
|
41
|
-
echo "::error::Refusing to run. Type 'bootstrap' in the confirm input to proceed."
|
|
42
|
-
exit 1
|
|
43
|
-
|
|
44
|
-
- name: Checkout
|
|
45
|
-
uses: actions/checkout@v6
|
|
46
|
-
|
|
47
|
-
- name: Setup Node.js
|
|
48
|
-
uses: actions/setup-node@v6
|
|
49
|
-
with:
|
|
50
|
-
node-version: "24"
|
|
51
|
-
cache: "npm"
|
|
52
|
-
registry-url: "https://registry.npmjs.org"
|
|
53
|
-
|
|
54
|
-
# --legacy-peer-deps is required: the pinned @openmrs and react versions
|
|
55
|
-
# in this bundle do not satisfy each other's peer ranges.
|
|
56
|
-
- name: Install dependencies
|
|
57
|
-
run: npm ci --legacy-peer-deps
|
|
58
|
-
|
|
59
|
-
# Distinct prerelease identifier so a bootstrap version can never collide
|
|
60
|
-
# with, or sort above, the -pre.N versions that publish.yml produces.
|
|
61
|
-
- name: Set bootstrap version
|
|
62
|
-
run: npm version --no-git-tag-version "$(node -p "require('./package.json').version")-bootstrap.${{ github.run_number }}"
|
|
63
|
-
|
|
64
|
-
# This version exists only to create the package name, and is parked on the
|
|
65
|
-
# "bootstrap" dist-tag. Note npm still points "latest" at whatever is
|
|
66
|
-
# published first, so expect the first real release to correct it.
|
|
67
|
-
- name: Build
|
|
68
|
-
run: npm run build
|
|
69
|
-
|
|
70
|
-
- name: Publish bootstrap version
|
|
71
|
-
env:
|
|
72
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
73
|
-
run: npm publish --access public --tag bootstrap
|