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
26 changes: 13 additions & 13 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -403,9 +403,9 @@ jobs:
# Linux packages
if [ -f packages/lpop-linux-x64/lpop-linux-x64 ]; then
if [ "${{ needs.check-certificates.outputs.has-linux-cert }}" == "true" ]; then
echo "Publishing lpop-linux-x64 (signed)..."
echo "Publishing @loggipop/lpop-linux-x64 (signed)..."
else
echo "Publishing lpop-linux-x64 (unsigned)..."
echo "Publishing @loggipop/lpop-linux-x64 (unsigned)..."
fi
cd packages/lpop-linux-x64
bun publish --access public
Expand All @@ -415,9 +415,9 @@ jobs:

if [ -f packages/lpop-linux-arm64/lpop-linux-arm64 ]; then
if [ "${{ needs.check-certificates.outputs.has-linux-cert }}" == "true" ]; then
echo "Publishing lpop-linux-arm64 (signed)..."
echo "Publishing @loggipop/lpop-linux-arm64 (signed)..."
else
echo "Publishing lpop-linux-arm64 (unsigned)..."
echo "Publishing @loggipop/lpop-linux-arm64 (unsigned)..."
fi
cd packages/lpop-linux-arm64
bun publish --access public
Expand All @@ -428,15 +428,15 @@ jobs:
# macOS packages (only signed)
if [ "${{ needs.check-certificates.outputs.has-macos-cert }}" == "true" ]; then
if [ -f packages/lpop-darwin-x64/lpop-darwin-x64 ]; then
echo "Publishing lpop-darwin-x64 (signed)..."
echo "Publishing @loggipop/lpop-darwin-x64 (signed)..."
cd packages/lpop-darwin-x64
bun publish --access public
cd ../..
published_count=$((published_count + 1))
fi

if [ -f packages/lpop-darwin-arm64/lpop-darwin-arm64 ]; then
echo "Publishing lpop-darwin-arm64 (signed)..."
echo "Publishing @loggipop/lpop-darwin-arm64 (signed)..."
cd packages/lpop-darwin-arm64
bun publish --access public
cd ../..
Expand All @@ -447,9 +447,9 @@ jobs:
# Windows packages
if [ -f packages/lpop-windows-x64/lpop-windows-x64.exe ]; then
if [ "${{ needs.check-certificates.outputs.has-windows-cert }}" == "true" ]; then
echo "Publishing lpop-windows-x64 (signed)..."
echo "Publishing @loggipop/lpop-windows-x64 (signed)..."
else
echo "Publishing lpop-windows-x64 (unsigned)..."
echo "Publishing @loggipop/lpop-windows-x64 (unsigned)..."
fi
cd packages/lpop-windows-x64
bun publish --access public
Expand All @@ -471,25 +471,25 @@ jobs:

// Include Linux packages if binaries exist (signed or unsigned)
if (fs.existsSync('packages/lpop-linux-x64/lpop-linux-x64')) {
optDeps['lpop-linux-x64'] = pkg.version;
optDeps['@loggipop/lpop-linux-x64'] = pkg.version;
}
if (fs.existsSync('packages/lpop-linux-arm64/lpop-linux-arm64')) {
optDeps['lpop-linux-arm64'] = pkg.version;
optDeps['@loggipop/lpop-linux-arm64'] = pkg.version;
}

// Include macOS packages only if signed (requirement remains)
if ('${{ needs.check-certificates.outputs.has-macos-cert }}' === 'true') {
if (fs.existsSync('packages/lpop-darwin-x64/lpop-darwin-x64')) {
optDeps['lpop-darwin-x64'] = pkg.version;
optDeps['@loggipop/lpop-darwin-x64'] = pkg.version;
}
if (fs.existsSync('packages/lpop-darwin-arm64/lpop-darwin-arm64')) {
optDeps['lpop-darwin-arm64'] = pkg.version;
optDeps['@loggipop/lpop-darwin-arm64'] = pkg.version;
}
}

// Include Windows packages if binaries exist (signed or unsigned)
if (fs.existsSync('packages/lpop-windows-x64/lpop-windows-x64.exe')) {
optDeps['lpop-windows-x64'] = pkg.version;
optDeps['@loggipop/lpop-windows-x64'] = pkg.version;
}

pkg.optionalDependencies = optDeps;
Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co

## Project Overview

lpop is a CLI tool for managing environment variables securely in the system keychain. It uses git repository context to organize variables by repo and environment.
lpop (@loggipop/lpop) is a CLI tool for managing environment variables securely in the system keychain. It uses git repository context to organize variables by repo and environment.

## Development Commands

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ lpop stores your environment variables in the system keychain (macOS Keychain, W

```bash
# Install globally with npm
npm install -g lpop
npm install -g @loggipop/lpop
```

## 📖 How It Works
Expand Down
20 changes: 5 additions & 15 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

140 changes: 70 additions & 70 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,72 +1,72 @@
{
"name": "lpop",
"version": "0.2.0",
"description": "A CLI tool for managing environment variables in the system keychain",
"type": "module",
"bin": {
"lpop": "./bin/lpop"
},
"scripts": {
"build:binaries": "./scripts/build-binary.sh",
"build:sign-notarize": "./scripts/build-sign-notarize.sh",
"prepare-packages": "node scripts/prepare-packages.js",
"dev": "bun run src/index.ts",
"clean": "rm -rf dist/ lpop lpop-*",
"lint": "biome check",
"lint:fix": "biome check --write",
"prepack": "bun run build:binaries && bun run prepare-packages",
"postinstall": "node scripts/postinstall.js",
"test": "vitest --run",
"test:watch": "vitest --watch",
"test:ui": "vitest --ui",
"test:coverage": "vitest --coverage"
},
"keywords": [
"cli",
"environment",
"variables",
"keychain",
"git"
],
"author": "Loggipop",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/loggipop/lpop.git"
},
"bugs": {
"url": "https://github.com/loggipop/lpop/issues"
},
"homepage": "https://github.com/loggipop/lpop#readme",
"devDependencies": {
"@biomejs/biome": "2.1.4",
"@napi-rs/keyring": "^1.1.8",
"@types/bun": "latest",
"@types/node": "^24.2.0",
"@vitest/coverage-v8": "^3.2.4",
"@vitest/ui": "^3.2.4",
"chalk": "^5.4.1",
"commander": "^14.0.0",
"dotenv": "^17.2.0",
"git-url-parse": "^16.1.0",
"happy-dom": "^18.0.1",
"lefthook": "^1.12.3",
"simple-git": "^3.28.0",
"tsx": "^4.19.2",
"typescript": "^5.7.2",
"vitest": "^3.2.4"
},
"optionalDependencies": {
"lpop-linux-x64": "*",
"lpop-linux-arm64": "*",
"lpop-darwin-x64": "*",
"lpop-darwin-arm64": "*",
"lpop-windows-x64": "*"
},
"files": [
"bin/lpop",
"scripts/postinstall.js",
"README.md",
"LICENSE"
]
"name": "@loggipop/lpop",
"version": "0.3.0",
"description": "A CLI tool for managing environment variables in the system keychain",
"type": "module",
"bin": {
"lpop": "./bin/lpop"
},
"scripts": {
"build:binaries": "./scripts/build-binary.sh",
"build:sign-notarize": "./scripts/build-sign-notarize.sh",
"prepare-packages": "node scripts/prepare-packages.js",
"dev": "bun run src/index.ts",
"clean": "rm -rf dist/ lpop lpop-*",
"lint": "biome check",
"lint:fix": "biome check --write",
"prepack": "bun run build:binaries && bun run prepare-packages",
"postinstall": "node scripts/postinstall.js",
"test": "vitest --run",
"test:watch": "vitest --watch",
"test:ui": "vitest --ui",
"test:coverage": "vitest --coverage"
},
"keywords": [
"cli",
"environment",
"variables",
"keychain",
"git"
],
"author": "Loggipop",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/loggipop/lpop.git"
},
"bugs": {
"url": "https://github.com/loggipop/lpop/issues"
},
"homepage": "https://github.com/loggipop/lpop#readme",
"devDependencies": {
"@biomejs/biome": "2.1.4",
"@napi-rs/keyring": "^1.1.8",
"@types/bun": "latest",
"@types/node": "^24.2.0",
"@vitest/coverage-v8": "^3.2.4",
"@vitest/ui": "^3.2.4",
"chalk": "^5.4.1",
"commander": "^14.0.0",
"dotenv": "^17.2.0",
"git-url-parse": "^16.1.0",
"happy-dom": "^18.0.1",
"lefthook": "^1.12.3",
"simple-git": "^3.28.0",
"tsx": "^4.19.2",
"typescript": "^5.7.2",
"vitest": "^3.2.4"
},
"optionalDependencies": {
"@loggipop/lpop-linux-x64": "0.3.0",
"@loggipop/lpop-linux-arm64": "0.3.0",
"@loggipop/lpop-darwin-x64": "0.3.0",
"@loggipop/lpop-darwin-arm64": "0.3.0",
"@loggipop/lpop-windows-x64": "0.3.0"
},
"files": [
"bin/lpop",
"scripts/postinstall.js",
"README.md",
"LICENSE"
]
}
6 changes: 3 additions & 3 deletions packages/lpop-darwin-arm64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "lpop-darwin-arm64",
"version": "0.1.13",
"name": "@loggipop/lpop-darwin-arm64",
"version": "0.3.0",
"description": "lpop binary for macOS arm64",
"os": [
"darwin"
Expand All @@ -17,4 +17,4 @@
"type": "git",
"url": "git+https://github.com/loggipop/lpop.git"
}
}
}
6 changes: 3 additions & 3 deletions packages/lpop-darwin-x64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "lpop-darwin-x64",
"version": "0.1.13",
"name": "@loggipop/lpop-darwin-x64",
"version": "0.3.0",
"description": "lpop binary for macOS x64",
"os": [
"darwin"
Expand All @@ -17,4 +17,4 @@
"type": "git",
"url": "git+https://github.com/loggipop/lpop.git"
}
}
}
31 changes: 31 additions & 0 deletions packages/lpop-deprecation/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# ⚠️ DEPRECATED: lpop has moved to @loggipop/lpop

This package has been deprecated and moved to the `@loggipop` organization scope.

## Migration Instructions

1. **Uninstall the old package:**
```bash
npm uninstall -g lpop
```

2. **Install the new scoped package:**
```bash
npm install -g @loggipop/lpop
```

The `lpop` command will continue to work exactly the same with the new package.

## Why the move?

- **Security**: Scoped packages reduce the risk of typosquatting attacks
- **Organization**: All packages are now properly organized under the `@loggipop` scope
- **Professionalism**: Scoped packages provide better namespace management

## Need Help?

If you encounter any issues during migration, please visit:
- [GitHub Issues](https://github.com/loggipop/lpop/issues)
- [Documentation](https://github.com/loggipop/lpop#readme)

Thank you for using lpop! 🙏
16 changes: 16 additions & 0 deletions packages/lpop-deprecation/deprecation-notice.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/usr/bin/env node

console.log('\n⚠️ DEPRECATION NOTICE ⚠️');
console.log('━'.repeat(50));
console.log('The "lpop" package has moved to "@loggipop/lpop"');
console.log('');
console.log('To migrate:');
console.log(' 1. Uninstall the old package:');
console.log(' npm uninstall -g lpop');
console.log('');
console.log(' 2. Install the new scoped package:');
console.log(' npm install -g @loggipop/lpop');
console.log('');
console.log('The command "lpop" will continue to work with the new package.');
console.log('━'.repeat(50));
console.log('');
Loading
Loading