Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 2 additions & 10 deletions .SRCINFO
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
pkgbase = nvm-fish
pkgdesc = Fish shell wrapper for official nvm using bass - enables nvm commands in fish while preserving full compatibility with bash nvm installations
pkgver = 1.1.2
pkgver = 1.2.0
pkgrel = 1
url = https://github.com/ChHsiching/nvm-fish-aur
install = nvm-fish.install
Expand All @@ -10,15 +10,7 @@ pkgbase = nvm-fish
depends = nvm
depends = fish
depends = git
source = core/nvm.fish
source = core/nvm_find_nvmrc.fish
source = core/load_nvm.fish
source = core/bass_helper.fish
source = core/nvm_utils.fish
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
source = nvm-fish::git+https://github.com/ChHsiching/nvm-fish-aur.git#tag=v1.2.0
sha256sums = SKIP

pkgname = nvm-fish
53 changes: 53 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,58 @@
# 更新日志

## v1.2.0 (2025-09-28)

### 🎉 主要版本更新

#### 🌍 国际化支持
- **完整英文翻译**:将所有中文注释和消息翻译为英文
- **全球用户体验**:提升国际化兼容性
- **文档标准化**:统一中英文文档格式

#### 🔒 安全性增强
- **临时目录安全**:修复临时目录创建漏洞,添加用户名标识符
- **函数调用健壮性**:增强nvm_dir函数调用的多重fallback机制
- **代码审查**:全面的安全代码审查和修复

#### 🧪 测试和CI/CD完善
- **完整测试套件**:添加配置和性能测试覆盖
- **GitHub Actions优化**:修正CI工作流配置
- **自动化验证**:增强代码质量检查

#### 📦 包结构重构
- **文件组织**:重新组织core/目录结构
- **模块化设计**:分离工具模块和核心功能
- **包管理优化**:改进AUR包构建流程

#### ⚡ 代码质量提升
- **Fish语法优化**:修复语法错误和引号转义问题
- **变量作用域**:解决变量作用域和安全问题
- **性能优化**:提升代码执行效率

### 🔄 现代化改进
- **AUR包现代化**:采用GitHub作为源码仓库
- **简化发布流程**:减少维护重复文件
- **版本管理**:使用semantic versioning

## v1.1.2 (2025-09-28)

### 🔧 Bug 修复和安全性增强

- **修复 GitHub Actions 路径错误**:修正 CI 测试脚本路径配置
- **修复变量拼写错误**:修正测试文件中的变量名拼写问题
- **增强安全性**:修复临时目录创建安全性漏洞,添加用户名标识符
- **改进函数调用**:增强 nvm_dir 函数调用的健壮性,添加多重 fallback 机制
- **国际化支持**:将所有中文注释和消息翻译为英文,提升国际化支持
- **Fish 语法优化**:修复语法错误,移除不适用的 then 关键字
- **引号转义修复**:修正测试文件中的引号转义问题
- **代码质量提升**:修复工具模块中的变量作用域和安全问题

### 🧪 测试和 CI/CD

- **完善测试套件**:增加配置和性能测试覆盖
- **CI/CD 流程优化**:改进 GitHub Actions 工作流配置
- **自动化测试**:增强自动化测试验证流程

## v1.1.0 (2025-09-25)

### 🎉 新功能
Expand Down
26 changes: 10 additions & 16 deletions PKGBUILD
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Maintainer: ChHsich <hsichingchang@gmail.com>
pkgname=nvm-fish
pkgver=1.1.2
pkgver=1.2.0
pkgrel=1
pkgdesc="Fish shell wrapper for official nvm using bass - enables nvm commands in fish while preserving full compatibility with bash nvm installations"
arch=('any')
Expand All @@ -10,27 +10,21 @@ license=('MIT')
depends=('nvm' 'fish' 'git')
makedepends=()
install="${pkgname}.install"
source=("core/nvm.fish"
"core/nvm_find_nvmrc.fish"
"core/load_nvm.fish"
"core/bass_helper.fish"
"core/nvm_utils.fish")
sha256sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP')
source=("${pkgname}::git+https://github.com/ChHsiching/nvm-fish-aur.git#tag=v${pkgver}")
sha256sums=('SKIP')

package() {
cd "${srcdir}/${pkgname}"

# Create fish functions directory
install -d "${pkgdir}/usr/share/fish/vendor_functions.d/"

# Install core fish function files
install -m644 "${srcdir}/core/nvm.fish" "${pkgdir}/usr/share/fish/vendor_functions.d/"
install -m644 "${srcdir}/core/nvm_find_nvmrc.fish" "${pkgdir}/usr/share/fish/vendor_functions.d/"
install -m644 "${srcdir}/core/load_nvm.fish" "${pkgdir}/usr/share/fish/vendor_functions.d/"
install -m644 "${srcdir}/core/bass_helper.fish" "${pkgdir}/usr/share/fish/vendor_functions.d/"
install -m644 "${srcdir}/core/nvm_utils.fish" "${pkgdir}/usr/share/fish/vendor_functions.d/"
install -m644 "core/nvm.fish" "${pkgdir}/usr/share/fish/vendor_functions.d/"
install -m644 "core/nvm_find_nvmrc.fish" "${pkgdir}/usr/share/fish/vendor_functions.d/"
install -m644 "core/load_nvm.fish" "${pkgdir}/usr/share/fish/vendor_functions.d/"
install -m644 "core/bass_helper.fish" "${pkgdir}/usr/share/fish/vendor_functions.d/"
install -m644 "core/nvm_utils.fish" "${pkgdir}/usr/share/fish/vendor_functions.d/"

# Create bass local compilation directory (for cases without plugin manager)
install -d "${pkgdir}/usr/share/nvm-fish/bass/functions"
Expand Down
55 changes: 39 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,45 @@

Fish shell integration for Node Version Manager (nvm) on Arch Linux.

## 🎉 What's New in v1.1.1

### Critical Bug Fixes
- ✅ **Fixed version number writing issue**: `.nvmrc` now correctly records the actual Node.js version instead of always writing 4.0.8
- ✅ **Eliminated automatic prompts**: No more unwanted `.nvmrc` management prompts when switching directories
- ✅ **Enhanced automatic switching**: Fixed syntax errors when `.nvmrc` contains npm version information
- ✅ **Improved parent directory support**: Now finds `.nvmrc` files in parent directories recursively
- ✅ **Optimized performance**: Prevents duplicate `nvm use` calls and reduces unnecessary version switching
- ✅ **Better user interaction**: Improved terminal input handling and error recovery
- ✅ **Robust error handling**: Enhanced stty configuration management and fail-safe mechanisms

### Enhanced User Experience
- 🎯 **Smarter version detection**: Accurately extracts semantic versions from complex nvm output
- 🚀 **Faster directory navigation**: No delays when entering directories with `.nvmrc` files
- 🔧 **Intelligent prompts**: Cleaner, more intuitive user interaction flow
- 📁 **Recursive configuration**: Automatically uses parent `.nvmrc` files in subdirectories
## 🎉 What's New in v1.2.0

### Major Release: Complete Modernization

#### 🌍 Full Internationalization
- **Complete English Translation**: All Chinese comments and messages translated to English
- **Global User Experience**: Enhanced international compatibility
- **Standardized Documentation**: Unified formatting across all documentation

#### 🔒 Security Hardening
- **Temporary Directory Security**: Fixed vulnerability with user-specific identifiers
- **Robust Function Calls**: Added multiple fallback mechanisms for nvm_dir functions
- **Comprehensive Security Audit**: Complete code security review and fixes

#### 🧪 Complete Testing Framework
- **Full Test Suite**: Added configuration and performance testing coverage
- **CI/CD Optimization**: Corrected GitHub Actions workflow configuration
- **Automated Validation**: Enhanced code quality checking processes

#### 📦 Package Structure Redesign
- **File Organization**: Restructured core/ directory layout
- **Modular Design**: Separated utility modules from core functionality
- **Package Management**: Improved AUR package build process

#### ⚡ Code Quality Revolution
- **Fish Syntax Optimization**: Fixed syntax errors and quote escaping issues
- **Variable Scope**: Resolved scope and security issues throughout codebase
- **Performance Enhancement**: Improved code execution efficiency

#### 🔄 Modern AUR Integration
- **AUR Modernization**: Adopted GitHub as source repository
- **Simplified Publishing**: Reduced maintenance of duplicate files
- **Semantic Versioning**: Proper version management

### Technical Improvements
- 🏗️ **Robust Error Handling**: Enhanced error recovery mechanisms
- 🎯 **Code Quality**: Fixed variable name issues and improved maintainability
- 🔄 **Automated Testing**: Better GitHub Actions validation
- 📊 **Extended Coverage**: Comprehensive test coverage for all features

## Overview

Expand Down
55 changes: 39 additions & 16 deletions README_zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,45 @@

Arch Linux 下 Fish shell 的 Node Version Manager (nvm) 集成。

## 🎉 v1.1.1 版本更新

### 关键Bug修复
- ✅ **修复版本号写入问题**:`.nvmrc` 现在正确记录实际 Node.js 版本,而不是总是写入 4.0.8
- ✅ **消除自动提示**:切换目录时不再出现不必要的 `.nvmrc` 管理提示
- ✅ **增强自动切换**:修复当 `.nvmrc` 包含 npm 版本信息时的语法错误
- ✅ **改进父目录支持**:现在递归查找父目录中的 `.nvmrc` 文件
- ✅ **优化性能**:防止重复 `nvm use` 调用,减少不必要的版本切换
- ✅ **更好的用户交互**:改进终端输入处理和错误恢复
- ✅ **健壮的错误处理**:增强 stty 配置管理和故障安全机制

### 用户体验增强
- 🎯 **更智能的版本检测**:从复杂的 nvm 输出中准确提取语义化版本
- 🚀 **更快的目录导航**:进入包含 `.nvmrc` 文件的目录时不再有延迟
- 🔧 **智能提示**:更清晰、更直观的用户交互流程
- 📁 **递归配置**:在子目录中自动使用父目录的 `.nvmrc` 文件
## 🎉 v1.2.0 版本更新

### 主要版本发布:全面现代化

#### 🌍 完整国际化支持
- **全英文翻译**:所有中文注释和消息翻译为英文
- **全球用户体验**:增强国际化兼容性
- **标准化文档**:统一所有文档格式

#### 🔒 安全性强化
- **临时目录安全**:修复漏洞,添加用户特定标识符
- **健壮函数调用**:为 nvm_dir 函数添加多重回退机制
- **全面安全审计**:完整代码安全审查和修复

#### 🧪 完整测试框架
- **完整测试套件**:添加配置和性能测试覆盖
- **CI/CD 优化**:修正 GitHub Actions 工作流配置
- **自动化验证**:增强代码质量检查流程

#### 📦 包结构重新设计
- **文件组织**:重构 core/ 目录布局
- **模块化设计**:分离工具模块和核心功能
- **包管理优化**:改进 AUR 包构建流程

#### ⚡ 代码质量革命
- **Fish 语法优化**:修复语法错误和引号转义问题
- **变量作用域**:解决整个代码库的作用域和安全问题
- **性能增强**:提升代码执行效率

#### 🔄 现代 AUR 集成
- **AUR 现代化**:采用 GitHub 作为源码仓库
- **简化发布**:减少重复文件的维护
- **语义化版本**:正确的版本管理

### 技术改进
- 🏗️ **健壮错误处理**:增强错误恢复机制
- 🎯 **代码质量**:修复变量名问题,提升可维护性
- 🔄 **自动化测试**:更好的 GitHub Actions 验证
- 📊 **扩展覆盖**:所有功能的全面测试覆盖

## 概述

Expand Down