gh-setup-git-identity 0.3.0 → 0.4.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.
@@ -45,13 +45,13 @@ jobs:
45
45
  with:
46
46
  fetch-depth: 0
47
47
 
48
- - name: Setup Node.js
49
- uses: actions/setup-node@v4
48
+ - name: Setup Bun
49
+ uses: oven-sh/setup-bun@v2
50
50
  with:
51
- node-version: '20.x'
51
+ bun-version: latest
52
52
 
53
53
  - name: Install dependencies
54
- run: npm install
54
+ run: bun install
55
55
 
56
56
  - name: Check for changesets
57
57
  run: |
@@ -62,7 +62,7 @@ jobs:
62
62
  fi
63
63
 
64
64
  # Run changeset validation script
65
- node scripts/validate-changeset.mjs
65
+ bun scripts/validate-changeset.mjs
66
66
 
67
67
  # Linting - runs after changeset check on PRs, immediately on main
68
68
  lint:
@@ -73,78 +73,42 @@ jobs:
73
73
  steps:
74
74
  - uses: actions/checkout@v4
75
75
 
76
- - name: Setup Node.js
77
- uses: actions/setup-node@v4
76
+ - name: Setup Bun
77
+ uses: oven-sh/setup-bun@v2
78
78
  with:
79
- node-version: '20.x'
79
+ bun-version: latest
80
80
 
81
81
  - name: Install dependencies
82
- run: npm install
82
+ run: bun install
83
83
 
84
84
  - name: Run lint
85
- run: npm run lint
85
+ run: bun run lint
86
86
 
87
- # Test matrix: 3 runtimes (Node.js, Bun, Deno) x 3 OS (Ubuntu, macOS, Windows)
88
- # Note: Bun on Windows excluded due to known timeout issues with process spawning
87
+ # Test with Bun on multiple OS
88
+ # Note: Windows excluded due to known timeout issues with process spawning
89
89
  test:
90
- name: Test (${{ matrix.runtime }} on ${{ matrix.os }})
90
+ name: Test (Bun on ${{ matrix.os }})
91
91
  runs-on: ${{ matrix.os }}
92
92
  needs: [changeset-check]
93
93
  if: always() && (github.event_name == 'push' || needs.changeset-check.result == 'success')
94
94
  strategy:
95
95
  fail-fast: false
96
96
  matrix:
97
- os: [ubuntu-latest, macos-latest, windows-latest]
98
- runtime: [node, bun, deno]
99
- exclude:
100
- # Exclude Bun on Windows due to known timeout issues with process spawning
101
- - os: windows-latest
102
- runtime: bun
97
+ os: [ubuntu-latest, macos-latest]
103
98
  steps:
104
99
  - uses: actions/checkout@v4
105
100
 
106
- - name: Setup Node.js
107
- if: matrix.runtime == 'node'
108
- uses: actions/setup-node@v4
109
- with:
110
- node-version: '20.x'
111
-
112
- - name: Install dependencies (Node.js)
113
- if: matrix.runtime == 'node'
114
- run: npm install
115
-
116
- - name: Run tests (Node.js)
117
- if: matrix.runtime == 'node'
118
- run: npm test
119
-
120
101
  - name: Setup Bun
121
- if: matrix.runtime == 'bun'
122
102
  uses: oven-sh/setup-bun@v2
123
103
  with:
124
104
  bun-version: latest
125
105
 
126
- - name: Install dependencies (Bun)
127
- if: matrix.runtime == 'bun'
106
+ - name: Install dependencies
128
107
  run: bun install
129
108
 
130
- - name: Run tests (Bun)
131
- if: matrix.runtime == 'bun'
109
+ - name: Run tests
132
110
  run: bun test
133
111
 
134
- - name: Setup Deno
135
- if: matrix.runtime == 'deno'
136
- uses: denoland/setup-deno@v2
137
- with:
138
- deno-version: v2.x
139
-
140
- - name: Install dependencies (Deno)
141
- if: matrix.runtime == 'deno'
142
- run: deno install
143
-
144
- - name: Run tests (Deno)
145
- if: matrix.runtime == 'deno'
146
- run: deno test --allow-all
147
-
148
112
  # Release - only runs on main after tests pass (for push events)
149
113
  release:
150
114
  name: Release
@@ -163,17 +127,22 @@ jobs:
163
127
  with:
164
128
  fetch-depth: 0
165
129
 
166
- - name: Setup Node.js
130
+ - name: Setup Bun
131
+ uses: oven-sh/setup-bun@v2
132
+ with:
133
+ bun-version: latest
134
+
135
+ - name: Setup Node.js (for npm registry)
167
136
  uses: actions/setup-node@v4
168
137
  with:
169
138
  node-version: '20.x'
170
139
  registry-url: 'https://registry.npmjs.org'
171
140
 
172
141
  - name: Install dependencies
173
- run: npm install
142
+ run: bun install
174
143
 
175
144
  - name: Update npm for OIDC trusted publishing
176
- run: node scripts/setup-npm.mjs
145
+ run: bun scripts/setup-npm.mjs
177
146
 
178
147
  - name: Check for changesets
179
148
  id: check_changesets
@@ -186,25 +155,25 @@ jobs:
186
155
  - name: Version packages and commit to main
187
156
  if: steps.check_changesets.outputs.has_changesets == 'true'
188
157
  id: version
189
- run: node scripts/version-and-commit.mjs --mode changeset
158
+ run: bun scripts/version-and-commit.mjs --mode changeset
190
159
 
191
160
  - name: Publish to npm
192
161
  # Run if version was committed OR if a previous attempt already committed (for re-runs)
193
162
  if: steps.version.outputs.version_committed == 'true' || steps.version.outputs.already_released == 'true'
194
163
  id: publish
195
- run: node scripts/publish-to-npm.mjs --should-pull
164
+ run: bun scripts/publish-to-npm.mjs --should-pull
196
165
 
197
166
  - name: Create GitHub Release
198
167
  if: steps.publish.outputs.published == 'true'
199
168
  env:
200
169
  GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
201
- run: node scripts/create-github-release.mjs --release-version "${{ steps.publish.outputs.published_version }}" --repository "${{ github.repository }}"
170
+ run: bun scripts/create-github-release.mjs --release-version "${{ steps.publish.outputs.published_version }}" --repository "${{ github.repository }}"
202
171
 
203
172
  - name: Format GitHub release notes
204
173
  if: steps.publish.outputs.published == 'true'
205
174
  env:
206
175
  GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
207
- run: node scripts/format-github-release.mjs --release-version "${{ steps.publish.outputs.published_version }}" --repository "${{ github.repository }}" --commit-sha "${{ github.sha }}"
176
+ run: bun scripts/format-github-release.mjs --release-version "${{ steps.publish.outputs.published_version }}" --repository "${{ github.repository }}" --commit-sha "${{ github.sha }}"
208
177
 
209
178
  # Manual Instant Release - triggered via workflow_dispatch with instant mode
210
179
  # This job is in release.yml because npm trusted publishing
@@ -223,39 +192,44 @@ jobs:
223
192
  with:
224
193
  fetch-depth: 0
225
194
 
226
- - name: Setup Node.js
195
+ - name: Setup Bun
196
+ uses: oven-sh/setup-bun@v2
197
+ with:
198
+ bun-version: latest
199
+
200
+ - name: Setup Node.js (for npm registry)
227
201
  uses: actions/setup-node@v4
228
202
  with:
229
203
  node-version: '20.x'
230
204
  registry-url: 'https://registry.npmjs.org'
231
205
 
232
206
  - name: Install dependencies
233
- run: npm install
207
+ run: bun install
234
208
 
235
209
  - name: Update npm for OIDC trusted publishing
236
- run: node scripts/setup-npm.mjs
210
+ run: bun scripts/setup-npm.mjs
237
211
 
238
212
  - name: Version packages and commit to main
239
213
  id: version
240
- run: node scripts/version-and-commit.mjs --mode instant --bump-type "${{ github.event.inputs.bump_type }}" --description "${{ github.event.inputs.description }}"
214
+ run: bun scripts/version-and-commit.mjs --mode instant --bump-type "${{ github.event.inputs.bump_type }}" --description "${{ github.event.inputs.description }}"
241
215
 
242
216
  - name: Publish to npm
243
217
  # Run if version was committed OR if a previous attempt already committed (for re-runs)
244
218
  if: steps.version.outputs.version_committed == 'true' || steps.version.outputs.already_released == 'true'
245
219
  id: publish
246
- run: node scripts/publish-to-npm.mjs
220
+ run: bun scripts/publish-to-npm.mjs
247
221
 
248
222
  - name: Create GitHub Release
249
223
  if: steps.publish.outputs.published == 'true'
250
224
  env:
251
225
  GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
252
- run: node scripts/create-github-release.mjs --release-version "${{ steps.publish.outputs.published_version }}" --repository "${{ github.repository }}"
226
+ run: bun scripts/create-github-release.mjs --release-version "${{ steps.publish.outputs.published_version }}" --repository "${{ github.repository }}"
253
227
 
254
228
  - name: Format GitHub release notes
255
229
  if: steps.publish.outputs.published == 'true'
256
230
  env:
257
231
  GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
258
- run: node scripts/format-github-release.mjs --release-version "${{ steps.publish.outputs.published_version }}" --repository "${{ github.repository }}" --commit-sha "${{ github.sha }}"
232
+ run: bun scripts/format-github-release.mjs --release-version "${{ steps.publish.outputs.published_version }}" --repository "${{ github.repository }}" --commit-sha "${{ github.sha }}"
259
233
 
260
234
  # Manual Changeset PR - creates a pull request with the changeset for review
261
235
  changeset-pr:
@@ -270,16 +244,16 @@ jobs:
270
244
  with:
271
245
  fetch-depth: 0
272
246
 
273
- - name: Setup Node.js
274
- uses: actions/setup-node@v4
247
+ - name: Setup Bun
248
+ uses: oven-sh/setup-bun@v2
275
249
  with:
276
- node-version: '20.x'
250
+ bun-version: latest
277
251
 
278
252
  - name: Install dependencies
279
- run: npm install
253
+ run: bun install
280
254
 
281
255
  - name: Create changeset file
282
- run: node scripts/create-manual-changeset.mjs --bump-type "${{ github.event.inputs.bump_type }}" --description "${{ github.event.inputs.description }}"
256
+ run: bun scripts/create-manual-changeset.mjs --bump-type "${{ github.event.inputs.bump_type }}" --description "${{ github.event.inputs.description }}"
283
257
 
284
258
  - name: Create Pull Request
285
259
  uses: peter-evans/create-pull-request@v7
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # gh-setup-git-identity
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - bda1ef5: Make project bun-first and bun-only
8
+
9
+ - Updated all shebangs from `#!/usr/bin/env node` to `#!/usr/bin/env bun`
10
+ - Replaced npm commands with bun in package.json scripts
11
+ - Updated README.md to recommend bun installation and usage
12
+ - Modified GitHub Actions workflows to use bun instead of node
13
+ - Changed package.json engines from node to bun
14
+ - Simplified test matrix to only use bun (removed node and deno)
15
+
16
+ ## 0.3.1
17
+
18
+ ### Patch Changes
19
+
20
+ - 51dceeb: Fix release notes formatting to support Major and Minor changes
21
+
22
+ Previously, the format-release-notes.mjs script only looked for "### Patch Changes" sections in release notes. This caused releases with Minor or Major changes (like v0.3.0) to not be properly formatted with PR links and npm badges.
23
+
24
+ Updated the regex pattern to handle all three change types (Major, Minor, and Patch), matching the release template from test-anywhere repository.
25
+
3
26
  ## 0.3.0
4
27
 
5
28
  ### Minor Changes
package/README.md CHANGED
@@ -4,7 +4,7 @@ A tool to setup git identity based on current GitHub user.
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/gh-setup-git-identity)](https://www.npmjs.com/package/gh-setup-git-identity)
6
6
  [![License: Unlicense](https://img.shields.io/badge/license-Unlicense-blue.svg)](http://unlicense.org/)
7
- [![Node.js Version](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen.svg)](https://nodejs.org/)
7
+ [![Bun Version](https://img.shields.io/badge/bun-%3E%3D1.0.0-brightgreen.svg)](https://bun.sh/)
8
8
 
9
9
  ## Overview
10
10
 
@@ -39,10 +39,11 @@ gh-setup-git-identity
39
39
 
40
40
  ## Prerequisites
41
41
 
42
- - Node.js >= 20.0.0
42
+ - Bun >= 1.0.0
43
43
  - Git (installed and configured)
44
44
  - GitHub CLI (`gh`) installed
45
45
 
46
+ To install Bun, see: https://bun.sh/
46
47
  To install GitHub CLI, see: https://cli.github.com/
47
48
 
48
49
  ## Installation
@@ -50,13 +51,13 @@ To install GitHub CLI, see: https://cli.github.com/
50
51
  ### Global Installation (CLI)
51
52
 
52
53
  ```bash
53
- npm install -g gh-setup-git-identity
54
+ bun install -g gh-setup-git-identity
54
55
  ```
55
56
 
56
57
  ### Local Installation (Library)
57
58
 
58
59
  ```bash
59
- npm install gh-setup-git-identity
60
+ bun install gh-setup-git-identity
60
61
  ```
61
62
 
62
63
  ## CLI Usage
@@ -211,17 +212,10 @@ Get current git identity configuration.
211
212
 
212
213
  ## Testing
213
214
 
214
- Run tests using your preferred runtime:
215
+ Run tests using bun:
215
216
 
216
217
  ```bash
217
- # Node.js
218
- npm test
219
-
220
- # Bun
221
218
  bun test
222
-
223
- # Deno
224
- deno test --allow-all
225
219
  ```
226
220
 
227
221
  ## Development
package/bun.lock ADDED
@@ -0,0 +1,263 @@
1
+ {
2
+ "lockfileVersion": 1,
3
+ "configVersion": 0,
4
+ "workspaces": {
5
+ "": {
6
+ "name": "gh-setup-git-identity",
7
+ "dependencies": {
8
+ "lino-arguments": "^0.2.1",
9
+ "log-lazy": "^1.0.4",
10
+ "yargs": "^17.7.2",
11
+ },
12
+ "devDependencies": {
13
+ "@changesets/cli": "^2.29.7",
14
+ "test-anywhere": "^0.7.0",
15
+ },
16
+ },
17
+ },
18
+ "packages": {
19
+ "@babel/runtime": ["@babel/runtime@7.28.4", "", {}, "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ=="],
20
+
21
+ "@changesets/apply-release-plan": ["@changesets/apply-release-plan@7.0.14", "", { "dependencies": { "@changesets/config": "^3.1.2", "@changesets/get-version-range-type": "^0.4.0", "@changesets/git": "^3.0.4", "@changesets/should-skip-package": "^0.1.2", "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "detect-indent": "^6.0.0", "fs-extra": "^7.0.1", "lodash.startcase": "^4.4.0", "outdent": "^0.5.0", "prettier": "^2.7.1", "resolve-from": "^5.0.0", "semver": "^7.5.3" } }, "sha512-ddBvf9PHdy2YY0OUiEl3TV78mH9sckndJR14QAt87KLEbIov81XO0q0QAmvooBxXlqRRP8I9B7XOzZwQG7JkWA=="],
22
+
23
+ "@changesets/assemble-release-plan": ["@changesets/assemble-release-plan@6.0.9", "", { "dependencies": { "@changesets/errors": "^0.2.0", "@changesets/get-dependents-graph": "^2.1.3", "@changesets/should-skip-package": "^0.1.2", "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "semver": "^7.5.3" } }, "sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ=="],
24
+
25
+ "@changesets/changelog-git": ["@changesets/changelog-git@0.2.1", "", { "dependencies": { "@changesets/types": "^6.1.0" } }, "sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q=="],
26
+
27
+ "@changesets/cli": ["@changesets/cli@2.29.8", "", { "dependencies": { "@changesets/apply-release-plan": "^7.0.14", "@changesets/assemble-release-plan": "^6.0.9", "@changesets/changelog-git": "^0.2.1", "@changesets/config": "^3.1.2", "@changesets/errors": "^0.2.0", "@changesets/get-dependents-graph": "^2.1.3", "@changesets/get-release-plan": "^4.0.14", "@changesets/git": "^3.0.4", "@changesets/logger": "^0.1.1", "@changesets/pre": "^2.0.2", "@changesets/read": "^0.6.6", "@changesets/should-skip-package": "^0.1.2", "@changesets/types": "^6.1.0", "@changesets/write": "^0.4.0", "@inquirer/external-editor": "^1.0.2", "@manypkg/get-packages": "^1.1.3", "ansi-colors": "^4.1.3", "ci-info": "^3.7.0", "enquirer": "^2.4.1", "fs-extra": "^7.0.1", "mri": "^1.2.0", "p-limit": "^2.2.0", "package-manager-detector": "^0.2.0", "picocolors": "^1.1.0", "resolve-from": "^5.0.0", "semver": "^7.5.3", "spawndamnit": "^3.0.1", "term-size": "^2.1.0" }, "bin": { "changeset": "bin.js" } }, "sha512-1weuGZpP63YWUYjay/E84qqwcnt5yJMM0tep10Up7Q5cS/DGe2IZ0Uj3HNMxGhCINZuR7aO9WBMdKnPit5ZDPA=="],
28
+
29
+ "@changesets/config": ["@changesets/config@3.1.2", "", { "dependencies": { "@changesets/errors": "^0.2.0", "@changesets/get-dependents-graph": "^2.1.3", "@changesets/logger": "^0.1.1", "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "fs-extra": "^7.0.1", "micromatch": "^4.0.8" } }, "sha512-CYiRhA4bWKemdYi/uwImjPxqWNpqGPNbEBdX1BdONALFIDK7MCUj6FPkzD+z9gJcvDFUQJn9aDVf4UG7OT6Kog=="],
30
+
31
+ "@changesets/errors": ["@changesets/errors@0.2.0", "", { "dependencies": { "extendable-error": "^0.1.5" } }, "sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow=="],
32
+
33
+ "@changesets/get-dependents-graph": ["@changesets/get-dependents-graph@2.1.3", "", { "dependencies": { "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "picocolors": "^1.1.0", "semver": "^7.5.3" } }, "sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ=="],
34
+
35
+ "@changesets/get-release-plan": ["@changesets/get-release-plan@4.0.14", "", { "dependencies": { "@changesets/assemble-release-plan": "^6.0.9", "@changesets/config": "^3.1.2", "@changesets/pre": "^2.0.2", "@changesets/read": "^0.6.6", "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3" } }, "sha512-yjZMHpUHgl4Xl5gRlolVuxDkm4HgSJqT93Ri1Uz8kGrQb+5iJ8dkXJ20M2j/Y4iV5QzS2c5SeTxVSKX+2eMI0g=="],
36
+
37
+ "@changesets/get-version-range-type": ["@changesets/get-version-range-type@0.4.0", "", {}, "sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ=="],
38
+
39
+ "@changesets/git": ["@changesets/git@3.0.4", "", { "dependencies": { "@changesets/errors": "^0.2.0", "@manypkg/get-packages": "^1.1.3", "is-subdir": "^1.1.1", "micromatch": "^4.0.8", "spawndamnit": "^3.0.1" } }, "sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw=="],
40
+
41
+ "@changesets/logger": ["@changesets/logger@0.1.1", "", { "dependencies": { "picocolors": "^1.1.0" } }, "sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg=="],
42
+
43
+ "@changesets/parse": ["@changesets/parse@0.4.2", "", { "dependencies": { "@changesets/types": "^6.1.0", "js-yaml": "^4.1.1" } }, "sha512-Uo5MC5mfg4OM0jU3up66fmSn6/NE9INK+8/Vn/7sMVcdWg46zfbvvUSjD9EMonVqPi9fbrJH9SXHn48Tr1f2yA=="],
44
+
45
+ "@changesets/pre": ["@changesets/pre@2.0.2", "", { "dependencies": { "@changesets/errors": "^0.2.0", "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "fs-extra": "^7.0.1" } }, "sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug=="],
46
+
47
+ "@changesets/read": ["@changesets/read@0.6.6", "", { "dependencies": { "@changesets/git": "^3.0.4", "@changesets/logger": "^0.1.1", "@changesets/parse": "^0.4.2", "@changesets/types": "^6.1.0", "fs-extra": "^7.0.1", "p-filter": "^2.1.0", "picocolors": "^1.1.0" } }, "sha512-P5QaN9hJSQQKJShzzpBT13FzOSPyHbqdoIBUd2DJdgvnECCyO6LmAOWSV+O8se2TaZJVwSXjL+v9yhb+a9JeJg=="],
48
+
49
+ "@changesets/should-skip-package": ["@changesets/should-skip-package@0.1.2", "", { "dependencies": { "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3" } }, "sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw=="],
50
+
51
+ "@changesets/types": ["@changesets/types@6.1.0", "", {}, "sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA=="],
52
+
53
+ "@changesets/write": ["@changesets/write@0.4.0", "", { "dependencies": { "@changesets/types": "^6.1.0", "fs-extra": "^7.0.1", "human-id": "^4.1.1", "prettier": "^2.7.1" } }, "sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q=="],
54
+
55
+ "@inquirer/external-editor": ["@inquirer/external-editor@1.0.3", "", { "dependencies": { "chardet": "^2.1.1", "iconv-lite": "^0.7.0" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA=="],
56
+
57
+ "@manypkg/find-root": ["@manypkg/find-root@1.1.0", "", { "dependencies": { "@babel/runtime": "^7.5.5", "@types/node": "^12.7.1", "find-up": "^4.1.0", "fs-extra": "^8.1.0" } }, "sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA=="],
58
+
59
+ "@manypkg/get-packages": ["@manypkg/get-packages@1.1.3", "", { "dependencies": { "@babel/runtime": "^7.5.5", "@changesets/types": "^4.0.1", "@manypkg/find-root": "^1.1.0", "fs-extra": "^8.1.0", "globby": "^11.0.0", "read-yaml-file": "^1.1.0" } }, "sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A=="],
60
+
61
+ "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="],
62
+
63
+ "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="],
64
+
65
+ "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="],
66
+
67
+ "@types/node": ["@types/node@12.20.55", "", {}, "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ=="],
68
+
69
+ "ansi-colors": ["ansi-colors@4.1.3", "", {}, "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw=="],
70
+
71
+ "ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
72
+
73
+ "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="],
74
+
75
+ "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="],
76
+
77
+ "array-union": ["array-union@2.1.0", "", {}, "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="],
78
+
79
+ "better-path-resolve": ["better-path-resolve@1.0.0", "", { "dependencies": { "is-windows": "^1.0.0" } }, "sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g=="],
80
+
81
+ "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="],
82
+
83
+ "chardet": ["chardet@2.1.1", "", {}, "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ=="],
84
+
85
+ "ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="],
86
+
87
+ "cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="],
88
+
89
+ "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="],
90
+
91
+ "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],
92
+
93
+ "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="],
94
+
95
+ "detect-indent": ["detect-indent@6.1.0", "", {}, "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA=="],
96
+
97
+ "dir-glob": ["dir-glob@3.0.1", "", { "dependencies": { "path-type": "^4.0.0" } }, "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA=="],
98
+
99
+ "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
100
+
101
+ "enquirer": ["enquirer@2.4.1", "", { "dependencies": { "ansi-colors": "^4.1.1", "strip-ansi": "^6.0.1" } }, "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ=="],
102
+
103
+ "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="],
104
+
105
+ "esprima": ["esprima@4.0.1", "", { "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="],
106
+
107
+ "extendable-error": ["extendable-error@0.1.7", "", {}, "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg=="],
108
+
109
+ "fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="],
110
+
111
+ "fastq": ["fastq@1.19.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ=="],
112
+
113
+ "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="],
114
+
115
+ "find-up": ["find-up@4.1.0", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="],
116
+
117
+ "fs-extra": ["fs-extra@7.0.1", "", { "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw=="],
118
+
119
+ "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="],
120
+
121
+ "getenv": ["getenv@2.0.0", "", {}, "sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ=="],
122
+
123
+ "glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="],
124
+
125
+ "globby": ["globby@11.1.0", "", { "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", "fast-glob": "^3.2.9", "ignore": "^5.2.0", "merge2": "^1.4.1", "slash": "^3.0.0" } }, "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g=="],
126
+
127
+ "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="],
128
+
129
+ "human-id": ["human-id@4.1.3", "", { "bin": "dist/cli.js" }, "sha512-tsYlhAYpjCKa//8rXZ9DqKEawhPoSytweBC2eNvcaDK+57RZLHGqNs3PZTQO6yekLFSuvA6AlnAfrw1uBvtb+Q=="],
130
+
131
+ "iconv-lite": ["iconv-lite@0.7.0", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ=="],
132
+
133
+ "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="],
134
+
135
+ "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="],
136
+
137
+ "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="],
138
+
139
+ "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="],
140
+
141
+ "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="],
142
+
143
+ "is-subdir": ["is-subdir@1.2.0", "", { "dependencies": { "better-path-resolve": "1.0.0" } }, "sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw=="],
144
+
145
+ "is-windows": ["is-windows@1.0.2", "", {}, "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="],
146
+
147
+ "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="],
148
+
149
+ "js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": "bin/js-yaml.js" }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="],
150
+
151
+ "jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="],
152
+
153
+ "links-notation": ["links-notation@0.11.2", "", {}, "sha512-VPyELWBXpaCCiNPVeZhMbG7RuvOQR51nhqELK+s/rbSzKYhSs+tyiSOdQ7z8I7Kh3PLABF3bZETtWSFwx3vFfg=="],
154
+
155
+ "lino-arguments": ["lino-arguments@0.2.1", "", { "dependencies": { "getenv": "^2.0.0", "links-notation": "^0.11.2", "lino-env": "^0.2.6", "yargs": "^17.7.2" }, "peerDependencies": { "@dotenvx/dotenvx": "^1.0.0" }, "optionalPeers": ["@dotenvx/dotenvx"] }, "sha512-rLgQDWKHeMKw/R5btvXxb4OQlLSnKhog/AGJ12LJWXSN9KNZa1MO4xWOJ/VllmZv/vPziOIDLAvfxdWH25h9BA=="],
156
+
157
+ "lino-env": ["lino-env@0.2.8", "", { "dependencies": { "links-notation": "^0.11.2" } }, "sha512-j9JcPo8LWCSlWCO7B1SSL3OlpRc/bGaR/OYnH22DTiANaMaLWan7ebRIo2Pwaw/apcIzdV+UD5EXamdapbn6kA=="],
158
+
159
+ "locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="],
160
+
161
+ "lodash.startcase": ["lodash.startcase@4.4.0", "", {}, "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg=="],
162
+
163
+ "log-lazy": ["log-lazy@1.0.4", "", {}, "sha512-UHTdwIjZymnYIaNA5l6mW7YEQpJYXGhWsRwpblG+BpA8oThnsCj69JPy+CDRo6T2oi39u5TChlcqCfk+Qh6mHg=="],
164
+
165
+ "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="],
166
+
167
+ "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="],
168
+
169
+ "mri": ["mri@1.2.0", "", {}, "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA=="],
170
+
171
+ "outdent": ["outdent@0.5.0", "", {}, "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q=="],
172
+
173
+ "p-filter": ["p-filter@2.1.0", "", { "dependencies": { "p-map": "^2.0.0" } }, "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw=="],
174
+
175
+ "p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="],
176
+
177
+ "p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="],
178
+
179
+ "p-map": ["p-map@2.1.0", "", {}, "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw=="],
180
+
181
+ "p-try": ["p-try@2.2.0", "", {}, "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="],
182
+
183
+ "package-manager-detector": ["package-manager-detector@0.2.11", "", { "dependencies": { "quansync": "^0.2.7" } }, "sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ=="],
184
+
185
+ "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="],
186
+
187
+ "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="],
188
+
189
+ "path-type": ["path-type@4.0.0", "", {}, "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="],
190
+
191
+ "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
192
+
193
+ "picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
194
+
195
+ "pify": ["pify@4.0.1", "", {}, "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="],
196
+
197
+ "prettier": ["prettier@2.8.8", "", { "bin": "bin-prettier.js" }, "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q=="],
198
+
199
+ "quansync": ["quansync@0.2.11", "", {}, "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA=="],
200
+
201
+ "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="],
202
+
203
+ "read-yaml-file": ["read-yaml-file@1.1.0", "", { "dependencies": { "graceful-fs": "^4.1.5", "js-yaml": "^3.6.1", "pify": "^4.0.1", "strip-bom": "^3.0.0" } }, "sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA=="],
204
+
205
+ "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="],
206
+
207
+ "resolve-from": ["resolve-from@5.0.0", "", {}, "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="],
208
+
209
+ "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="],
210
+
211
+ "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="],
212
+
213
+ "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="],
214
+
215
+ "semver": ["semver@7.7.3", "", { "bin": "bin/semver.js" }, "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q=="],
216
+
217
+ "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="],
218
+
219
+ "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="],
220
+
221
+ "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="],
222
+
223
+ "slash": ["slash@3.0.0", "", {}, "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="],
224
+
225
+ "spawndamnit": ["spawndamnit@3.0.1", "", { "dependencies": { "cross-spawn": "^7.0.5", "signal-exit": "^4.0.1" } }, "sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg=="],
226
+
227
+ "sprintf-js": ["sprintf-js@1.0.3", "", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="],
228
+
229
+ "string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
230
+
231
+ "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
232
+
233
+ "strip-bom": ["strip-bom@3.0.0", "", {}, "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="],
234
+
235
+ "term-size": ["term-size@2.2.1", "", {}, "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg=="],
236
+
237
+ "test-anywhere": ["test-anywhere@0.7.1", "", {}, "sha512-kFfe9Cu5H8ctwIK/3W2RBy2MZujORYBtl7uff9JqTNTNVeiyEOm18NFCT/jb3I9N2YPIfGNwfJ3CTvYE/KYi1Q=="],
238
+
239
+ "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="],
240
+
241
+ "universalify": ["universalify@0.1.2", "", {}, "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="],
242
+
243
+ "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="],
244
+
245
+ "wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="],
246
+
247
+ "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="],
248
+
249
+ "yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="],
250
+
251
+ "yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="],
252
+
253
+ "@manypkg/find-root/fs-extra": ["fs-extra@8.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="],
254
+
255
+ "@manypkg/get-packages/@changesets/types": ["@changesets/types@4.1.0", "", {}, "sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw=="],
256
+
257
+ "@manypkg/get-packages/fs-extra": ["fs-extra@8.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="],
258
+
259
+ "read-yaml-file/js-yaml": ["js-yaml@3.14.2", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": "bin/js-yaml.js" }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="],
260
+
261
+ "read-yaml-file/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="],
262
+ }
263
+ }
@@ -0,0 +1,111 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Test script to verify the release notes regex pattern
5
+ * works correctly for Major, Minor, and Patch changes
6
+ */
7
+
8
+ // Test cases representing different release note formats
9
+ const testCases = [
10
+ {
11
+ name: 'Minor Changes with commit hash',
12
+ body: `### Minor Changes
13
+
14
+ - 8c146cc: Automatically run \`gh auth login\` when GitHub CLI is not authenticated, enabling single-command setup instead of requiring manual login first`,
15
+ expectedType: 'Minor',
16
+ expectedHash: '8c146cc',
17
+ expectedDesc: 'Automatically run `gh auth login` when GitHub CLI is not authenticated, enabling single-command setup instead of requiring manual login first',
18
+ },
19
+ {
20
+ name: 'Patch Changes with commit hash',
21
+ body: `### Patch Changes
22
+
23
+ - abc1234: Fix a bug in the login flow`,
24
+ expectedType: 'Patch',
25
+ expectedHash: 'abc1234',
26
+ expectedDesc: 'Fix a bug in the login flow',
27
+ },
28
+ {
29
+ name: 'Major Changes with commit hash',
30
+ body: `### Major Changes
31
+
32
+ - deadbeef: Breaking change - new API`,
33
+ expectedType: 'Major',
34
+ expectedHash: 'deadbeef',
35
+ expectedDesc: 'Breaking change - new API',
36
+ },
37
+ {
38
+ name: 'Minor Changes without commit hash',
39
+ body: `### Minor Changes
40
+
41
+ - Add new feature`,
42
+ expectedType: 'Minor',
43
+ expectedHash: null,
44
+ expectedDesc: 'Add new feature',
45
+ },
46
+ ];
47
+
48
+ // The regex pattern from the updated format-release-notes.mjs
49
+ const changesPattern =
50
+ /### (Major|Minor|Patch) Changes\s*\n\s*-\s+(?:([a-f0-9]+):\s+)?(.+?)$/s;
51
+
52
+ console.log('Testing release notes regex pattern\n');
53
+ console.log('='.repeat(60));
54
+
55
+ let passed = 0;
56
+ let failed = 0;
57
+
58
+ for (const testCase of testCases) {
59
+ console.log(`\nTest: ${testCase.name}`);
60
+ console.log('-'.repeat(40));
61
+
62
+ const match = testCase.body.match(changesPattern);
63
+
64
+ if (!match) {
65
+ console.log('❌ FAILED: No match found');
66
+ failed++;
67
+ continue;
68
+ }
69
+
70
+ const [, changeType, commitHash, rawDescription] = match;
71
+
72
+ let allPassed = true;
73
+
74
+ if (changeType !== testCase.expectedType) {
75
+ console.log(`❌ changeType: expected '${testCase.expectedType}', got '${changeType}'`);
76
+ allPassed = false;
77
+ } else {
78
+ console.log(`✅ changeType: ${changeType}`);
79
+ }
80
+
81
+ const expectedHash = testCase.expectedHash || null;
82
+ const actualHash = commitHash || null;
83
+ if (actualHash !== expectedHash) {
84
+ console.log(`❌ commitHash: expected '${expectedHash}', got '${actualHash}'`);
85
+ allPassed = false;
86
+ } else {
87
+ console.log(`✅ commitHash: ${actualHash}`);
88
+ }
89
+
90
+ if (rawDescription !== testCase.expectedDesc) {
91
+ console.log(`❌ description: expected '${testCase.expectedDesc}', got '${rawDescription}'`);
92
+ allPassed = false;
93
+ } else {
94
+ console.log(`✅ description: ${rawDescription.substring(0, 50)}...`);
95
+ }
96
+
97
+ if (allPassed) {
98
+ passed++;
99
+ console.log('✅ TEST PASSED');
100
+ } else {
101
+ failed++;
102
+ console.log('❌ TEST FAILED');
103
+ }
104
+ }
105
+
106
+ console.log('\n' + '='.repeat(60));
107
+ console.log(`\nResults: ${passed} passed, ${failed} failed`);
108
+
109
+ if (failed > 0) {
110
+ process.exit(1);
111
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gh-setup-git-identity",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "A tool to setup git identity based on current gh user",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -8,12 +8,12 @@
8
8
  "gh-setup-git-identity": "src/cli.js"
9
9
  },
10
10
  "scripts": {
11
- "test": "node --test test/index.test.js",
11
+ "test": "bun test",
12
12
  "test:bun": "bun test",
13
13
  "test:deno": "deno test --allow-all",
14
- "lint": "node --check src/index.js && node --check src/cli.js",
14
+ "lint": "bun build src/index.js --target=bun --format=esm --outfile=/dev/null && bun build src/cli.js --target=bun --format=esm --outfile=/dev/null",
15
15
  "changeset": "changeset",
16
- "changeset:version": "node scripts/changeset-version.mjs",
16
+ "changeset:version": "bun scripts/changeset-version.mjs",
17
17
  "changeset:publish": "changeset publish",
18
18
  "changeset:status": "changeset status --since=origin/main"
19
19
  },
@@ -32,7 +32,7 @@
32
32
  "url": "https://github.com/link-foundation/gh-setup-git-identity.git"
33
33
  },
34
34
  "engines": {
35
- "node": ">=20.0.0"
35
+ "bun": ">=1.0.0"
36
36
  },
37
37
  "dependencies": {
38
38
  "lino-arguments": "^0.2.1",
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env bun
2
2
 
3
3
  /**
4
4
  * Custom changeset version script that ensures package-lock.json is synchronized
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env bun
2
2
 
3
3
  /**
4
4
  * Create GitHub Release from CHANGELOG.md
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env bun
2
2
 
3
3
  /**
4
4
  * Create a changeset file for manual releases
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env bun
2
2
 
3
3
  /**
4
4
  * Format GitHub release notes using the format-release-notes.mjs script
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env bun
2
2
 
3
3
  /**
4
4
  * Script to format GitHub release notes with proper formatting:
@@ -86,28 +86,32 @@ try {
86
86
  process.exit(0);
87
87
  }
88
88
 
89
- // Extract the patch changes section
90
- // This regex handles two formats:
91
- // 1. With commit hash: "- abc1234: Description"
92
- // 2. Without commit hash: "- Description"
93
- const patchChangesMatchWithHash = currentBody.match(
94
- /### Patch Changes\s*\n\s*-\s+([a-f0-9]+):\s+(.+?)$/s
95
- );
96
- const patchChangesMatchNoHash = currentBody.match(
97
- /### Patch Changes\s*\n\s*-\s+(.+?)$/s
98
- );
89
+ // Extract the changes section (Major, Minor, or Patch)
90
+ // This regex handles formats:
91
+ // 1. With commit hash: "### Major Changes\n- abc1234: Description"
92
+ // 2. Without commit hash: "### Minor Changes\n- Description"
93
+ const changesPattern =
94
+ /### (Major|Minor|Patch) Changes\s*\n\s*-\s+(?:([a-f0-9]+):\s+)?(.+?)$/s;
95
+ const changesMatch = currentBody.match(changesPattern);
99
96
 
100
97
  let commitHash = null;
101
98
  let rawDescription = null;
99
+ let changeType = null;
100
+
101
+ if (changesMatch) {
102
+ [, changeType, commitHash, rawDescription] = changesMatch;
103
+ console.log(`Found ${changeType} Changes section`);
102
104
 
103
- if (patchChangesMatchWithHash) {
104
- // Format: - abc1234: Description
105
- [, commitHash, rawDescription] = patchChangesMatchWithHash;
106
- } else if (patchChangesMatchNoHash) {
107
- // Format: - Description (no commit hash)
108
- [, rawDescription] = patchChangesMatchNoHash;
105
+ // Extract commit hash if embedded in description (fallback)
106
+ if (!commitHash && rawDescription) {
107
+ const descWithHashMatch = rawDescription.match(/^([a-f0-9]+):\s+(.+)$/s);
108
+ if (descWithHashMatch) {
109
+ [, commitHash, rawDescription] = descWithHashMatch;
110
+ }
111
+ }
109
112
  } else {
110
- console.log('Could not parse patch changes from release notes');
113
+ console.log('Could not parse changes from release notes');
114
+ console.log(' Looking for pattern: ### [Major|Minor|Patch] Changes');
111
115
  process.exit(0);
112
116
  }
113
117
 
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env bun
2
2
 
3
3
  /**
4
4
  * Instant version bump script for manual releases
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env bun
2
2
 
3
3
  /**
4
4
  * Publish to npm using OIDC trusted publishing
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env bun
2
2
 
3
3
  /**
4
4
  * Update npm for OIDC trusted publishing
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env bun
2
2
 
3
3
  /**
4
4
  * Validate changeset for CI - ensures exactly one valid changeset exists
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env bun
2
2
 
3
3
  /**
4
4
  * Version packages and commit to main
package/src/cli.js CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env bun
2
2
 
3
3
  /**
4
4
  * gh-setup-git-identity CLI
package/src/index.js CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env bun
2
2
 
3
3
  /**
4
4
  * gh-setup-git-identity - Core library for setting up git identity