Skip to content

Commit 3785b9a

Browse files
committed
chore: release v17.56.0
1 parent 5fdd53c commit 3785b9a

File tree

5 files changed

+123
-3
lines changed

5 files changed

+123
-3
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "json-joy-monorepo",
3-
"version": "17.55.1",
3+
"version": "17.56.0",
44
"description": "Collection of libraries for building collaborative editing apps.",
55
"author": {
66
"name": "streamich",

packages/buffers/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"publishConfig": {
44
"access": "public"
55
},
6-
"version": "17.55.1",
6+
"version": "17.56.0",
77
"description": "Various helper utilities for working with buffers and binary data",
88
"author": {
99
"name": "streamich",

packages/json-joy/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "json-joy",
3-
"version": "17.55.1",
3+
"version": "17.56.0",
44
"description": "Collection of libraries for building collaborative editing apps.",
55
"author": {
66
"name": "streamich",

RELEASE.md renamed to scripts/RELEASE.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,24 @@
1+
## Quick Release Guide
2+
3+
Simply run the `quick-release.sh` script with an optional version bump type or
4+
specific version:
5+
6+
```bash
7+
# Use default (minor) version bump
8+
./scripts/quick-release.sh
9+
10+
# Specify version bump type
11+
./scripts/quick-release.sh patch
12+
./scripts/quick-release.sh major
13+
./scripts/quick-release.sh 1.2.3
14+
```
15+
16+
It will test test and build the packages and publish them to NPM, then create
17+
a git commit and tag for the new version.
18+
19+
20+
## Manual Release Steps
21+
122
Verify code quality and correctness:
223

324
```bash

scripts/quick-release.sh

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
#!/bin/bash
2+
3+
# Quick Release Script
4+
# This script automates the release process for json-joy
5+
# Usage: ./scripts/quick-release.sh [major|minor|patch|pre*|{version}]
6+
# Default: minor
7+
8+
set -e # Exit immediately if a command exits with a non-zero status
9+
10+
# Color codes for output
11+
RED='\033[0;31m'
12+
GREEN='\033[0;32m'
13+
YELLOW='\033[1;33m'
14+
NC='\033[0m' # No Color
15+
16+
# Get version bump type (default to minor)
17+
VERSION_BUMP=${1:-minor}
18+
19+
echo -e "${GREEN}Starting release process with version bump: ${VERSION_BUMP}${NC}\n"
20+
21+
# Step 1: Verify code quality and correctness
22+
echo -e "${YELLOW}Step 1: Verifying code quality and correctness...${NC}"
23+
echo "Running lint..."
24+
yarn lint
25+
26+
echo "Running format check..."
27+
yarn format
28+
29+
echo "Running typecheck..."
30+
yarn typecheck
31+
32+
echo "Running tests..."
33+
yarn test
34+
35+
echo "Generating typedoc..."
36+
yarn typedoc
37+
38+
echo -e "${GREEN}✓ Code quality verification completed${NC}\n"
39+
40+
# Step 2: Prepare for release
41+
echo -e "${YELLOW}Step 2: Preparing for release...${NC}"
42+
echo "Cleaning..."
43+
yarn clean
44+
45+
echo "Building..."
46+
yarn build
47+
48+
echo -e "${GREEN}✓ Build completed${NC}\n"
49+
50+
# Step 3: Update version in root package.json
51+
echo -e "${YELLOW}Step 3: Updating version in root package.json...${NC}"
52+
npm version --allow-same-version --no-git-tag-version "${VERSION_BUMP}"
53+
54+
NEW_VERSION=$(node -p "require('./package.json').version")
55+
echo -e "${GREEN}✓ Version updated to ${NEW_VERSION}${NC}\n"
56+
57+
# Step 4: Synchronize versions across all packages
58+
echo -e "${YELLOW}Step 4: Synchronizing versions across all packages...${NC}"
59+
./scripts/sync-versions.ts
60+
61+
echo -e "${GREEN}✓ Versions synchronized${NC}\n"
62+
63+
# Step 5: Perform a dry run
64+
echo -e "${YELLOW}Step 5: Performing dry run...${NC}"
65+
yarn workspaces foreach -A --no-private npm publish --dry-run
66+
67+
echo -e "${GREEN}✓ Dry run completed${NC}\n"
68+
69+
# Step 6: Login with NPM (interactive)
70+
echo -e "${YELLOW}Step 6: NPM Login${NC}"
71+
echo "Please login to NPM if not already logged in:"
72+
yarn npm login
73+
74+
echo -e "${GREEN}✓ NPM login completed${NC}\n"
75+
76+
# Step 7: Publish to NPM (with confirmation)
77+
echo -e "${YELLOW}Step 7: Ready to publish v${NEW_VERSION} to NPM${NC}"
78+
read -p "Do you want to proceed with publishing? (yes/no): " CONFIRM
79+
80+
if [ "$CONFIRM" != "yes" ]; then
81+
echo -e "${RED}Publishing cancelled by user${NC}"
82+
exit 1
83+
fi
84+
85+
echo "Publishing to NPM..."
86+
yarn workspaces foreach -A --no-private npm publish
87+
88+
echo -e "${GREEN}✓ Published to NPM${NC}\n"
89+
90+
# Step 8: Create Git tag and push to remote
91+
echo -e "${YELLOW}Step 8: Creating Git tag and pushing to remote...${NC}"
92+
git add .
93+
git commit -m "chore: release v${NEW_VERSION}"
94+
git tag "v${NEW_VERSION}"
95+
git push origin --tags
96+
97+
echo -e "${GREEN}✓ Git tag created and pushed${NC}\n"
98+
99+
echo -e "${GREEN}🎉 Release v${NEW_VERSION} completed successfully!${NC}"

0 commit comments

Comments
 (0)