diff --git a/.SRCINFO b/.SRCINFO index fbd4b5e..52d31b5 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -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 @@ -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 diff --git a/CHANGELOG.md b/CHANGELOG.md index a08a007..0d012cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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) ### 🎉 新功能 diff --git a/PKGBUILD b/PKGBUILD index ab99819..886e2df 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,6 +1,6 @@ # Maintainer: ChHsich 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') @@ -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" diff --git a/README.md b/README.md index b741dea..f73f2f6 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/README_zh-CN.md b/README_zh-CN.md index 876bb1e..4927f67 100644 --- a/README_zh-CN.md +++ b/README_zh-CN.md @@ -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 验证 +- 📊 **扩展覆盖**:所有功能的全面测试覆盖 ## 概述