@kaitranntt/ccs 7.0.0-dev.1 → 7.0.0-dev.2

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,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaitranntt/ccs",
3
- "version": "7.0.0-dev.1",
3
+ "version": "7.0.0-dev.2",
4
4
  "description": "Claude Code Switch - Instant profile switching between Claude Sonnet 4.5 and GLM 4.6",
5
5
  "keywords": [
6
6
  "cli",
@@ -106,6 +106,16 @@ gh release create "v${VERSION}" \
106
106
 
107
107
  log_info "Created GitHub prerelease"
108
108
 
109
+ # Save release info for Discord notification
110
+ # This file is read by send-discord-release.cjs for dev releases
111
+ cat > .dev-release-info.json << EOF
112
+ {
113
+ "version": "${VERSION}",
114
+ "notes": $(echo "$NOTES" | jq -Rs .)
115
+ }
116
+ EOF
117
+ log_info "Saved release info for Discord notification"
118
+
109
119
  # Output for GitHub Actions
110
120
  echo "version=${VERSION}" >> "${GITHUB_OUTPUT:-/dev/null}"
111
121
  echo "released=true" >> "${GITHUB_OUTPUT:-/dev/null}"
@@ -34,7 +34,7 @@ try {
34
34
  }
35
35
 
36
36
  /**
37
- * Extract latest release from CHANGELOG.md
37
+ * Extract latest release from CHANGELOG.md (for production releases)
38
38
  */
39
39
  function extractLatestRelease() {
40
40
  const changelogPath = 'CHANGELOG.md';
@@ -92,6 +92,40 @@ function extractLatestRelease() {
92
92
  return { version, date, sections };
93
93
  }
94
94
 
95
+ /**
96
+ * Extract dev release info from .dev-release-info.json (for dev releases)
97
+ * Falls back to CHANGELOG.md if file not found
98
+ */
99
+ function extractDevRelease() {
100
+ const devInfoPath = '.dev-release-info.json';
101
+
102
+ if (!fs.existsSync(devInfoPath)) {
103
+ console.log('[!] .dev-release-info.json not found, falling back to CHANGELOG.md');
104
+ return extractLatestRelease();
105
+ }
106
+
107
+ try {
108
+ const content = fs.readFileSync(devInfoPath, 'utf8');
109
+ const info = JSON.parse(content);
110
+
111
+ // Parse commit messages into a simple Changes section
112
+ const changes = info.notes
113
+ .split('\n')
114
+ .filter((line) => line.trim().startsWith('-'))
115
+ .map((line) => line.trim().substring(1).trim())
116
+ .filter((item) => item);
117
+
118
+ return {
119
+ version: info.version,
120
+ date: new Date().toISOString().split('T')[0],
121
+ sections: changes.length > 0 ? { Changes: changes } : {},
122
+ };
123
+ } catch (error) {
124
+ console.error('[!] Error reading .dev-release-info.json:', error.message);
125
+ return extractLatestRelease();
126
+ }
127
+ }
128
+
95
129
  /**
96
130
  * Create Discord embed
97
131
  */
@@ -203,7 +237,8 @@ function sendToDiscord(embed) {
203
237
 
204
238
  // Main
205
239
  try {
206
- const release = extractLatestRelease();
240
+ const isDev = releaseType === 'dev';
241
+ const release = isDev ? extractDevRelease() : extractLatestRelease();
207
242
  console.log(`[i] Preparing ${releaseType} notification for v${release.version}`);
208
243
 
209
244
  const embed = createEmbed(release);