openalex-mcp-server 1.0.3 → 1.0.5
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.
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nodejs-npm-auto-release
|
|
3
|
+
description: Set up and run a standardized Node.js npm release workflow with auto version bump, npm publish via GitHub Actions, and local pre-push checks. Use when you want a repo to auto-bump version on push to main, publish to npm, and keep release steps consistent.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Node.js NPM Auto Release
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Provide a repeatable workflow to prepare, verify, and ship npm packages with a combined auto-version-and-publish GitHub Action, plus local checks before push.
|
|
11
|
+
|
|
12
|
+
## Setup Checklist
|
|
13
|
+
|
|
14
|
+
1. Add release scripts in `package.json`
|
|
15
|
+
|
|
16
|
+
```json
|
|
17
|
+
{
|
|
18
|
+
"scripts": {
|
|
19
|
+
"release:patch": "npm version patch -m \"chore(release): v%s\"",
|
|
20
|
+
"release:minor": "npm version minor -m \"chore(release): v%s\"",
|
|
21
|
+
"release:major": "npm version major -m \"chore(release): v%s\""
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
2. Add `.npmignore` to keep packages clean
|
|
27
|
+
|
|
28
|
+
Typical entries:
|
|
29
|
+
- `.github/`
|
|
30
|
+
- `.claude/`
|
|
31
|
+
- `docs/`
|
|
32
|
+
- `tests/`
|
|
33
|
+
- `.env`
|
|
34
|
+
- `node_modules/`
|
|
35
|
+
|
|
36
|
+
3. Add the combined workflow file
|
|
37
|
+
|
|
38
|
+
Create `.github/workflows/auto-version-publish.yml` with:
|
|
39
|
+
|
|
40
|
+
```yaml
|
|
41
|
+
name: auto version and publish
|
|
42
|
+
|
|
43
|
+
on:
|
|
44
|
+
push:
|
|
45
|
+
branches:
|
|
46
|
+
- main
|
|
47
|
+
|
|
48
|
+
permissions:
|
|
49
|
+
contents: write
|
|
50
|
+
id-token: write
|
|
51
|
+
|
|
52
|
+
jobs:
|
|
53
|
+
release:
|
|
54
|
+
if: ${{ !contains(github.event.head_commit.message, 'chore(release):') }}
|
|
55
|
+
runs-on: ubuntu-latest
|
|
56
|
+
steps:
|
|
57
|
+
- name: Checkout
|
|
58
|
+
uses: actions/checkout@v4
|
|
59
|
+
with:
|
|
60
|
+
fetch-depth: 0
|
|
61
|
+
|
|
62
|
+
- name: Setup Node.js
|
|
63
|
+
uses: actions/setup-node@v4
|
|
64
|
+
with:
|
|
65
|
+
node-version: "18"
|
|
66
|
+
registry-url: "https://registry.npmjs.org"
|
|
67
|
+
|
|
68
|
+
- name: Install dependencies
|
|
69
|
+
run: |
|
|
70
|
+
npm ci
|
|
71
|
+
|
|
72
|
+
- name: Typecheck
|
|
73
|
+
run: |
|
|
74
|
+
npm run typecheck
|
|
75
|
+
|
|
76
|
+
- name: Test
|
|
77
|
+
run: |
|
|
78
|
+
npm test
|
|
79
|
+
|
|
80
|
+
- name: Configure git
|
|
81
|
+
run: |
|
|
82
|
+
git config user.name "github-actions[bot]"
|
|
83
|
+
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
84
|
+
|
|
85
|
+
- name: Bump patch version and tag
|
|
86
|
+
run: |
|
|
87
|
+
npm version patch -m "chore(release): v%s [skip ci]"
|
|
88
|
+
|
|
89
|
+
- name: Push version bump and tag
|
|
90
|
+
run: |
|
|
91
|
+
git push origin HEAD:main --follow-tags
|
|
92
|
+
|
|
93
|
+
- name: Publish
|
|
94
|
+
env:
|
|
95
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
96
|
+
run: |
|
|
97
|
+
npm publish --access public
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
4. Set GitHub secret
|
|
101
|
+
|
|
102
|
+
Add `NPM_TOKEN` in repo Secrets with publish permission.
|
|
103
|
+
|
|
104
|
+
## Release Workflow
|
|
105
|
+
|
|
106
|
+
1. Local checks
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
npm run typecheck
|
|
110
|
+
npm test
|
|
111
|
+
npm pack --dry-run
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
2. Commit and push
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
git add -A
|
|
118
|
+
git commit -m "feat: update package"
|
|
119
|
+
git push origin main
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
3. Verify release
|
|
123
|
+
|
|
124
|
+
- Ensure `auto version and publish` workflow succeeds
|
|
125
|
+
- Confirm new tag created
|
|
126
|
+
- Confirm npm version:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
npm view <package-name> version
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Notes
|
|
133
|
+
|
|
134
|
+
- Auto-release skips commits containing `chore(release):` to avoid loops.
|
|
135
|
+
- If you need manual bump, use `npm run release:patch` then push tags.
|