add pkg git3

master
liu9293 2 years ago
parent bad52e08ff
commit f1f630eec2

@ -19,11 +19,12 @@
},
"license": "MIT",
"dependencies": {
"buffer-split": "^1.0.0",
"bip39": "^3.0.4",
"buffer-split": "^1.0.0",
"colors-cli": "^1.0.28",
"commander": "^9.4.1",
"debug": "^4.3.4",
"esbuild": "^0.16.4",
"eth-ens-namehash": "^2.0.8",
"ethers": "^5.7.2",
"git-config-path": "^2.0.0",
@ -40,6 +41,8 @@
"install-mac": "yarn pkg && cp ./bin/git-remote-git3-macos-x64 /usr/local/bin/git-remote-git3",
"install-mac-arm": "yarn pkg && cp ./bin/git-remote-git3-macos-arm64 /usr/local/bin/git-remote-git3",
"pkg": "yarn run build && pkg .",
"build:git3": "esbuild ./src/git3/index.js --bundle --platform=node --target=es6 --outfile=dist/git3.js",
"pkg:git3": "yarn build:git3 && pkg dist/git3.js --output bin/git3 && sudo cp bin/git3 /usr/local/bin/git3",
"clean": "rm -rf ./dist ./bin"
},
"devDependencies": {

@ -1,8 +1,8 @@
import { mkdirSync, readdirSync, readFileSync, writeFileSync, rmSync, createWriteStream } from 'fs'
import { mkdirSync, readdirSync, readFileSync, writeFileSync, rmSync, existsSync } from 'fs'
import { ethers } from 'ethers'
import { Command, Option } from 'commander'
import inquirer from 'inquirer'
import { Command } from 'commander'
import bip39 from 'bip39'
import inquirer from 'inquirer'
import parse from 'parse-git-config'
import { importActions, generateActions } from './actions.js'
const program = new Command()
@ -43,20 +43,36 @@ program.command('generate')
program.command('list', { isDefault: true })
.alias('ls')
.description('list all wallets in user folder ~/.git3/keys')
.action(() => {
.option('-r, --raw', 'output raw wallet data with pravate key / mnemonic')
.action(params => {
const keyPath = process.env.HOME + "/.git3/keys"
mkdirSync(keyPath, { recursive: true })
const wallets = readdirSync(keyPath)
if (wallets.length === 0) {
console.log('No wallet found, you can generate one with `git3 generate`')
console.log('No wallet found, you can generate one use <git3 new>')
}
wallets.forEach(file => {
const content = readFileSync(`${keyPath}/${file}`).toString()
if (params.raw) {
console.log(`[${file}]`)
console.log(` ${content.split('\n')[0]} - ${content.split('\n')[1]}`)
console.log('\t')
return
}
console.log(`[${file}]`)
console.log(` ${content.split('\n')[0]} - ${content.split('\n')[1]}`)
console.log('\n')
const [walletType, key] = content.split('\n')
const etherWallet = walletType === 'privateKey'
? new ethers.Wallet(key)
: ethers.Wallet.fromMnemonic(key)
const address = etherWallet.address
console.log(`address: ${address}`)
console.log('\t')
})
})
@ -126,9 +142,9 @@ program.command('info')
etherWallet.getBalance()
.then(balance => {
console.log(`[wallet] ${wallet}`)
console.log(` address: ${address}`)
console.log(` balance: ${ethers.utils.formatUnits(balance)} eth`)
console.log(`wallet: ${wallet}`)
console.log(`address: ${address}`)
console.log(`balance: ${ethers.utils.formatUnits(balance)} eth`)
})
.catch(err => {
console.error(err)
@ -145,6 +161,14 @@ program.command('set-wallet')
const currentConfig = parse.sync()
const existingRemote = currentConfig[`remote "${git3}"`]
const keyPath = process.env.HOME + "/.git3/keys"
mkdirSync(keyPath, { recursive: true })
if(!existsSync(`${keyPath}/${wallet}`)) {
console.error(`wallet ${wallet} not found, use <git3 new> to generate one`)
return
}
if (existingRemote) {
const newConfig = {
...currentConfig,

@ -9,6 +9,116 @@
dependencies:
"@jridgewell/trace-mapping" "0.3.9"
"@esbuild/android-arm64@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.4.tgz#4b31b9e3da2e4c12a8170bd682f713c775f68ab1"
integrity sha512-VPuTzXFm/m2fcGfN6CiwZTlLzxrKsWbPkG7ArRFpuxyaHUm/XFHQPD4xNwZT6uUmpIHhnSjcaCmcla8COzmZ5Q==
"@esbuild/android-arm@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.4.tgz#057d3e8b0ee41ff59386c33ba6dcf20f4bedd1f7"
integrity sha512-rZzb7r22m20S1S7ufIc6DC6W659yxoOrl7sKP1nCYhuvUlnCFHVSbATG4keGUtV8rDz11sRRDbWkvQZpzPaHiw==
"@esbuild/android-x64@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.4.tgz#62ccab8ac1d3e6ef1df3fa2e1974bc2b8528d74a"
integrity sha512-MW+B2O++BkcOfMWmuHXB15/l1i7wXhJFqbJhp82IBOais8RBEQv2vQz/jHrDEHaY2X0QY7Wfw86SBL2PbVOr0g==
"@esbuild/darwin-arm64@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.4.tgz#c19a6489d626c36fc611c85ccd8a3333c1f2a930"
integrity sha512-a28X1O//aOfxwJVZVs7ZfM8Tyih2Za4nKJrBwW5Wm4yKsnwBy9aiS/xwpxiiTRttw3EaTg4Srerhcm6z0bu9Wg==
"@esbuild/darwin-x64@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.4.tgz#b726bbc84a1e277f6ec2509d10b8ee03f242b776"
integrity sha512-e3doCr6Ecfwd7VzlaQqEPrnbvvPjE9uoTpxG5pyLzr2rI2NMjDHmvY1E5EO81O/e9TUOLLkXA5m6T8lfjK9yAA==
"@esbuild/freebsd-arm64@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.4.tgz#364568e6ca2901297f247de0681c9b14bbe658c8"
integrity sha512-Oup3G/QxBgvvqnXWrBed7xxkFNwAwJVHZcklWyQt7YCAL5bfUkaa6FVWnR78rNQiM8MqqLiT6ZTZSdUFuVIg1w==
"@esbuild/freebsd-x64@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.4.tgz#44701ba4a5497ba64eec0a6c9e221d8f46a25e72"
integrity sha512-vAP+eYOxlN/Bpo/TZmzEQapNS8W1njECrqkTpNgvXskkkJC2AwOXwZWai/Kc2vEFZUXQttx6UJbj9grqjD/+9Q==
"@esbuild/linux-arm64@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.4.tgz#b58fb418ec9ac714d8dbb38c787ff2441eb1d9db"
integrity sha512-2zXoBhv4r5pZiyjBKrOdFP4CXOChxXiYD50LRUU+65DkdS5niPFHbboKZd/c81l0ezpw7AQnHeoCy5hFrzzs4g==
"@esbuild/linux-arm@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.4.tgz#b37f15ecddb53eeea466e5960e31a58f33e0e87e"
integrity sha512-A47ZmtpIPyERxkSvIv+zLd6kNIOtJH03XA0Hy7jaceRDdQaQVGSDt4mZqpWqJYgDk9rg96aglbF6kCRvPGDSUA==
"@esbuild/linux-ia32@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.4.tgz#117e32a9680b5deac184ebee122f8575369fad1b"
integrity sha512-uxdSrpe9wFhz4yBwt2kl2TxS/NWEINYBUFIxQtaEVtglm1eECvsj1vEKI0KX2k2wCe17zDdQ3v+jVxfwVfvvjw==
"@esbuild/linux-loong64@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.4.tgz#dd504fb83c280752d4b485d9acb3cf391cb7bf5b"
integrity sha512-peDrrUuxbZ9Jw+DwLCh/9xmZAk0p0K1iY5d2IcwmnN+B87xw7kujOkig6ZRcZqgrXgeRGurRHn0ENMAjjD5DEg==
"@esbuild/linux-mips64el@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.4.tgz#9ab77e31cf3be1e35572afff94b51df8149d15bd"
integrity sha512-sD9EEUoGtVhFjjsauWjflZklTNr57KdQ6xfloO4yH1u7vNQlOfAlhEzbyBKfgbJlW7rwXYBdl5/NcZ+Mg2XhQA==
"@esbuild/linux-ppc64@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.4.tgz#69d56c2a960808bee1c7b9b84a115220ec9ce05c"
integrity sha512-X1HSqHUX9D+d0l6/nIh4ZZJ94eQky8d8z6yxAptpZE3FxCWYWvTDd9X9ST84MGZEJx04VYUD/AGgciddwO0b8g==
"@esbuild/linux-riscv64@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.4.tgz#9fc23583f4a1508a8d352bd376340e42217e8a90"
integrity sha512-97ANpzyNp0GTXCt6SRdIx1ngwncpkV/z453ZuxbnBROCJ5p/55UjhbaG23UdHj88fGWLKPFtMoU4CBacz4j9FA==
"@esbuild/linux-s390x@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.4.tgz#4cae1f70ac2943f076dd130c3c80d28f57bf75d1"
integrity sha512-pUvPQLPmbEeJRPjP0DYTC1vjHyhrnCklQmCGYbipkep+oyfTn7GTBJXoPodR7ZS5upmEyc8lzAkn2o29wD786A==
"@esbuild/linux-x64@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.4.tgz#fdf494de07cda23a2dc4b71ff1e0848e4ee6539c"
integrity sha512-N55Q0mJs3Sl8+utPRPBrL6NLYZKBCLLx0bme/+RbjvMforTGGzFvsRl4xLTZMUBFC1poDzBEPTEu5nxizQ9Nlw==
"@esbuild/netbsd-x64@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.4.tgz#b59ecb49087119c575c0f64d7e66001d52799e24"
integrity sha512-LHSJLit8jCObEQNYkgsDYBh2JrJT53oJO2HVdkSYLa6+zuLJh0lAr06brXIkljrlI+N7NNW1IAXGn/6IZPi3YQ==
"@esbuild/openbsd-x64@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.4.tgz#c51e36db875948b7b11d08bafa355605a1aa289c"
integrity sha512-nLgdc6tWEhcCFg/WVFaUxHcPK3AP/bh+KEwKtl69Ay5IBqUwKDaq/6Xk0E+fh/FGjnLwqFSsarsbPHeKM8t8Sw==
"@esbuild/sunos-x64@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.4.tgz#0b50e941cd44f069e9f2573321aec984244ec228"
integrity sha512-08SluG24GjPO3tXKk95/85n9kpyZtXCVwURR2i4myhrOfi3jspClV0xQQ0W0PYWHioJj+LejFMt41q+PG3mlAQ==
"@esbuild/win32-arm64@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.4.tgz#d1c93b20f17355ab2221cd18e13ae2f1b68013e3"
integrity sha512-yYiRDQcqLYQSvNQcBKN7XogbrSvBE45FEQdH8fuXPl7cngzkCvpsG2H9Uey39IjQ6gqqc+Q4VXYHsQcKW0OMjQ==
"@esbuild/win32-ia32@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.4.tgz#df5910e76660e0acbbdceb8d4ae6bf1efeade6ae"
integrity sha512-5rabnGIqexekYkh9zXG5waotq8mrdlRoBqAktjx2W3kb0zsI83mdCwrcAeKYirnUaTGztR5TxXcXmQrEzny83w==
"@esbuild/win32-x64@0.16.4":
version "0.16.4"
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.4.tgz#6ec594468610c176933da1387c609558371d37e0"
integrity sha512-sN/I8FMPtmtT2Yw+Dly8Ur5vQ5a/RmC8hW7jO9PtPSQUPkowxWpcUZnqOggU7VwyT3Xkj6vcXWd3V/qTXwultQ==
"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449"
@ -644,6 +754,34 @@ emoji-regex@^9.2.2:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
esbuild@^0.16.4:
version "0.16.4"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.4.tgz#06c86298d233386f5e41bcc14d36086daf3f40bd"
integrity sha512-qQrPMQpPTWf8jHugLWHoGqZjApyx3OEm76dlTXobHwh/EBbavbRdjXdYi/GWr43GyN0sfpap14GPkb05NH3ROA==
optionalDependencies:
"@esbuild/android-arm" "0.16.4"
"@esbuild/android-arm64" "0.16.4"
"@esbuild/android-x64" "0.16.4"
"@esbuild/darwin-arm64" "0.16.4"
"@esbuild/darwin-x64" "0.16.4"
"@esbuild/freebsd-arm64" "0.16.4"
"@esbuild/freebsd-x64" "0.16.4"
"@esbuild/linux-arm" "0.16.4"
"@esbuild/linux-arm64" "0.16.4"
"@esbuild/linux-ia32" "0.16.4"
"@esbuild/linux-loong64" "0.16.4"
"@esbuild/linux-mips64el" "0.16.4"
"@esbuild/linux-ppc64" "0.16.4"
"@esbuild/linux-riscv64" "0.16.4"
"@esbuild/linux-s390x" "0.16.4"
"@esbuild/linux-x64" "0.16.4"
"@esbuild/netbsd-x64" "0.16.4"
"@esbuild/openbsd-x64" "0.16.4"
"@esbuild/sunos-x64" "0.16.4"
"@esbuild/win32-arm64" "0.16.4"
"@esbuild/win32-ia32" "0.16.4"
"@esbuild/win32-x64" "0.16.4"
escape-string-regexp@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8"

Loading…
Cancel
Save