@link-assistant/hive-mind 0.48.0 → 0.48.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/CHANGELOG.md +44 -0
- package/package.json +1 -1
- package/src/solve.repository.lib.mjs +17 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,49 @@
|
|
|
1
1
|
# @link-assistant/hive-mind
|
|
2
2
|
|
|
3
|
+
## 0.48.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Test patch release
|
|
8
|
+
|
|
9
|
+
## 0.48.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 279642e: Comprehensive release and validation fixes
|
|
14
|
+
|
|
15
|
+
This release includes multiple critical fixes that work together to ensure reliable releases and prevent unvalidated code from merging:
|
|
16
|
+
|
|
17
|
+
**1. Fix workflow conditions to prevent unvalidated code from merging (#958)**
|
|
18
|
+
|
|
19
|
+
Updated lint job conditions in release.yml to check all file types that Prettier formats (.mjs, .md, .json, .js), not just .mjs files. This ensures the lint check runs consistently for both pull requests and main branch, preventing formatting issues from bypassing validation. Previously, PRs changing only .md or .json files would skip lint checks, allowing unformatted code to merge and cause main branch CI failures.
|
|
20
|
+
|
|
21
|
+
Documentation added:
|
|
22
|
+
- Case study analysis (docs/case-studies/issue-958/ANALYSIS.md) with root cause analysis and timeline reconstruction
|
|
23
|
+
- Branch protection policy guide (docs/BRANCH_PROTECTION_POLICY.md) with required status checks specification and configuration instructions
|
|
24
|
+
|
|
25
|
+
**2. Fix perlbrew bashrc unbound variable error at perl version check (#954)**
|
|
26
|
+
|
|
27
|
+
Resolves an issue where running `perl --version` during installation would trigger an "unbound variable" error from perlbrew's bashrc file at line 71. The error occurred because:
|
|
28
|
+
- The version check command triggered .bashrc sourcing in a subshell
|
|
29
|
+
- Perlbrew's bashrc referenced positional parameter $1 without guards
|
|
30
|
+
- With `set -u` enabled, unbound variables cause errors
|
|
31
|
+
|
|
32
|
+
Solution:
|
|
33
|
+
- Only load perlbrew in interactive shells (PS1 check in .bashrc)
|
|
34
|
+
- Temporarily disable `set -u` when sourcing perlbrew bashrc in the install script
|
|
35
|
+
- Re-enable strict mode immediately after sourcing
|
|
36
|
+
- Added comprehensive test script (experiments/test-perlbrew-fix.sh)
|
|
37
|
+
|
|
38
|
+
**3. Enhance README.md initialization for empty repositories (#706)**
|
|
39
|
+
|
|
40
|
+
Enhanced the existing empty repository handling to include repository description in the auto-generated README.md file. When the solve command encounters an empty repository that cannot be forked, it now creates a more descriptive README with both the repository title and description (if available).
|
|
41
|
+
|
|
42
|
+
**4. Fix package-lock.json sync in changeset version bump flow**
|
|
43
|
+
- Add `npm install --package-lock-only` after `npm run changeset:version` in version-and-commit.mjs
|
|
44
|
+
- Ensures package-lock.json stays in sync with package.json during changeset-based releases
|
|
45
|
+
- Fixes issue where version bumps only updated package.json
|
|
46
|
+
|
|
3
47
|
## 0.48.0
|
|
4
48
|
|
|
5
49
|
### Minor Changes
|
package/package.json
CHANGED
|
@@ -154,8 +154,23 @@ const tryInitializeEmptyRepository = async (owner, repo) => {
|
|
|
154
154
|
|
|
155
155
|
await log(`${formatAligned('', '', 'Creating a simple README.md to make repository forkable')}`);
|
|
156
156
|
|
|
157
|
-
//
|
|
158
|
-
const
|
|
157
|
+
// Get repository description to include in README
|
|
158
|
+
const repoInfoResult = await $`gh api repos/${owner}/${repo} --jq '{description: .description}'`;
|
|
159
|
+
let description = '';
|
|
160
|
+
if (repoInfoResult.code === 0) {
|
|
161
|
+
try {
|
|
162
|
+
const repoInfo = JSON.parse(repoInfoResult.stdout.toString().trim());
|
|
163
|
+
description = repoInfo.description || '';
|
|
164
|
+
} catch {
|
|
165
|
+
// If parsing fails, continue with empty description
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// Create README content with repository name and description (if available)
|
|
170
|
+
let readmeContent = `# ${repo}\n`;
|
|
171
|
+
if (description) {
|
|
172
|
+
readmeContent += `\n${description}\n`;
|
|
173
|
+
}
|
|
159
174
|
const base64Content = Buffer.from(readmeContent).toString('base64');
|
|
160
175
|
|
|
161
176
|
// Try to create README.md using GitHub API
|