0.8.3 โ€ข Published 2 years ago

cashx v0.8.3

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

๐Ÿฟ๏ธ Cashx

unixใฎใ‚ทใ‚งใƒซใ‚ณใƒžใƒณใƒ‰ใ‚’ๅˆฉ็”จใ™ใ‚‹ใŸใ‚ใฎใ‚คใƒณใ‚นใƒˆใƒผใƒฉใ€‚rmใ‚’rimrafใซ็ฝฎใๆ›ใˆใŸใ‚Šgit bashใ‚‚ไฝฟใ‚ใšใ‚ณใƒžใƒณใƒ‰ใจใ—ใฆไฝฟใˆใ‚‹ใ€‚cashใƒ•ใ‚ฉใƒผใ‚ฏใ—ใฆไปŠใฏใชใcash-globalใฎใ‚คใƒณใ‚นใƒˆใƒผใƒซใ‚นใ‚ฏใƒชใƒ—ใƒˆใ‚’็ต„ใฟ่พผใฟใพใ—ใŸใ€‚install.batใ™ใ‚ŒใฐๅฎŒไบ†

package.json
 {
   "files": {
     "cash"   ใ‚ณใƒžใƒณใƒ‰ใฎๆœฌไฝ“
     "global" ใ‚ณใƒžใƒณใƒ‰ใฎๆœฌไฝ“ใฎใ‚คใƒณใ‚นใƒˆใƒผใƒซใ‚นใ‚ฏใƒชใƒ—ใƒˆ
   },                                            โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
   "name"          : "cashx",                    โ”‚ PATH:C:\Program Files (x86)\Nodist\bin โ”‚
   "scripts": {                                  โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
 โ”Œโ”€โ”€โ”€"preinstall"  : "node ./install/preinstall.js", โ”‚  1.bin:{}ใซใ‚ณใƒžใƒณใƒ‰ๅใ‚’่ฟฝๅŠ 
 โ”‚   "postinstall" : "node ./install/postinstall.js  โ”‚        {clear,cp,head...etc}
 โ”‚ },                                                โ”‚  2.bin:{}ใฎใ‚ณใƒžใƒณใƒ‰ๅใ‹ใ‚‰Nodist\bin\ใซ็”Ÿๆˆ
 โ”‚ "bin": {                                          โ”‚        {clear,cp,head...etc}.cmd
 โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                                       |
 โ”‚   โ”‚ $     โ”‚                                       โ”‚  install\preinstall.js
 โ”‚   โ”‚ cash  โ”‚                                       โ”‚        try {
 โ”‚   โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚                                       โ”‚          execSync(`where ${command}`, {stdio: []});
 โ”‚   โ”‚ cat   โ”‚                                       โ”‚          stdout += 'Command exists: ' + command + '\n';
 โ”‚   โ”‚ clear โ”‚                                       โ”‚        } catch (e) { // ใชใ‘ใ‚Œใฐใ‚ณใƒžใƒณใƒ‰ๅใ‚’่ฟฝๅŠ ใ—ใพใ™
 โ””โ”€โ”€โ”€โ”‚ cp    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜          json.bin[command] = './bin/' + command + '.js';
     โ”‚ head  โ”‚                                                  stdout += 'Installed:      ' + command + '\n';
     โ”‚ false โ”‚  cash-global         cashx                     }
     โ”‚ kill  โ”‚    โ”‚                  โ”œโ”€cash
     โ”‚ ls    โ”‚    โ”œโ”€bin              โ””โ”€global           install\postinstall.js // ใƒชใƒ“ใƒซใƒ‰ใ—ใฆใ‚ณใƒžใƒณใƒ‰ใ‚’็”Ÿๆˆใ—ใพใ™
     โ”‚ mkdir โ”‚    โ”‚   postinstall.js     postinstall.js       var child = exec('npm', ['rebuild', 'cashx', '--global']);
     โ”‚ mv    โ”‚    โ”‚   preinstall.js      preinstall.js
     โ”‚ pwd   โ”‚    โ”‚                      mute.js
     โ”‚ tail  โ”‚    โ””โ”€dist
     โ”‚ touch โ”‚        mute.js
     โ”‚ true  โ”‚ 
     โ”‚ grep  โ”‚
     โ”‚ rm    โ”‚
     โ”‚ which โ”‚
     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
   }
 }

๐Ÿ’ช Updating

where command@return nใ‚’ใ‚ญใƒฃใƒƒใƒใซ็ฝฎใๆ›ใˆใพใ™ใ€‚ไฟฎๆญฃๅ‰ใฏ"Could not find"ใจใ„ใ†ๆจ™ๆบ–ใ‚จใƒฉใƒผใƒกใƒƒใ‚ปใƒผใ‚ธใฎๆœ‰็„กใ‹ใ‚‰ใ‚ณใƒžใƒณใƒ‰ใฎใ‚คใƒณใ‚นใƒˆใƒผใƒซ็Šถๆ…‹ใ‚’็ขบ่ชใ—ใฆใ„ใพใ™ใ€‚็ฝฎๆ›ๅพŒใฏๅ…จใฆใฎๅ›ฝใซๅฏพๅฟœใงใใพใ™ใ€‚่‹ฑ่ชžๅœใ‚‚ๆ—ฅๆœฌใ‚‚ใƒ‰ใ‚คใƒ„ใ‚‚

<   var spawnSync = require('child_process').spawnSync;
    if (os.platform().indexOf('win') > -1 && !excluded) {
      var child = spawnSync('where', [command], {encoding: 'utf8'});
      var exists = true;
<     if (String(child.stderr).indexOf('Could not find') > -1) {
<       exists = false;
<     } 
<     if (!exists) {
<       json.bin[command] = './bin/' + command + '.js';
<       stdout += 'Installed:      ' + command + '\n';
<     } else {
<       stdout += 'Command exists: ' + command + '\n';
<     }
>   var execSync = require('child_process').execSync;
>     try {
>       execSync(`where ${command}`, {stdio: []});
>       stdout += 'Command exists: ' + command + '\n';
>     } catch (e) {
>       json.bin[command] = './bin/' + command + '.js';
>       stdout += 'Installed:      ' + command + '\n';
>     }
    }

npm rebuildใซ็ฝฎใๆ›ใˆใพใ™ใ€‚็ฝฎๆ›ๅพŒใฏ6 ~ 8ใ™ในใฆใซๅฏพๅฟœใงใใพใ™ใ€‚็ฝฎๆ›ๅ‰ใฏnpm buildใจใ„ใ†npm 6.xใฎใฟๅฏพๅฟœใฎใ‚ณใƒžใƒณใƒ‰ใ‚’ๅˆฉ็”จใ—ใฆใ„ใพใ™ใ€‚

<  var child = exec('npm', ['build', '.' + path.sep + '..' + path.sep + 'cash-global', '--global']);
>  var child = exec('npm', ['rebuild', 'cashx', '--global']);

ใ“ใ‚Œใ‚‰ใฎ่ชฒ้กŒใ‚’่งฃๆฑบใ—ใพใ—ใŸใ€‚ |่งฃๆฑบ|https://github.com/dthree/cash/issues| |:-:|:-| |ใ€‡|[Windows 10] npm install cash-global -g does not work #83| |ใ€‡|cash-global doesn't work in non-English operating systems #74|

๐Ÿ˜Š Thanks