nry 0.0.0 โ†’ 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (5) hide show
  1. package/LICENSE +25 -0
  2. package/README.md +303 -2
  3. package/bin.mjs +2 -0
  4. package/package.json +40 -20
  5. package/index.js +0 -24
package/LICENSE ADDED
@@ -0,0 +1,25 @@
1
+ # MIT License
2
+
3
+ Copyright (c) <2025> <๐Ÿฅœ>
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16
+
17
+ # MIT ่ฎธๅฏ่ฏ
18
+
19
+ ็‰ˆๆƒๆ‰€ๆœ‰ (c) [2025] [่Šฑ็”Ÿไบป]
20
+
21
+ ็‰นๆญคๅ…่ดนๆŽˆไบˆไปปไฝ•่Žทๅพ—ๆœฌ่ฝฏไปถๅŠ็›ธๅ…ณๆ–‡ๆกฃๆ–‡ไปถ๏ผˆไปฅไธ‹็ฎ€็งฐโ€œ่ฝฏไปถโ€๏ผ‰ๅ‰ฏๆœฌ็š„ไบบไธๅ—้™ๅˆถๅœฐๅค„็ฝฎ่ฏฅ่ฝฏไปถ็š„ๆƒๅˆฉ๏ผŒๅŒ…ๆ‹ฌไธๅ—้™ๅˆถๅœฐไฝฟ็”จใ€ๅคๅˆถใ€ไฟฎๆ”นใ€ๅˆๅนถใ€ๅ‘ๅธƒใ€ๅˆ†ๅ‘ใ€ๅ†่ฎธๅฏๅ’Œ/ๆˆ–ๅ‡บๅ”ฎ่ฏฅ่ฝฏไปถๅ‰ฏๆœฌ็š„ๆƒๅˆฉ๏ผŒๅนถๅ…่ฎธๅ‘ๅ…ถๆไพ›่ฏฅ่ฝฏไปถ็š„ไบบ่ฟ™ๆ ทๅš๏ผŒไฝ†้กป้ตๅฎˆไปฅไธ‹ๆกไปถ๏ผš
22
+
23
+ ไธŠ่ฟฐ็‰ˆๆƒๅฃฐๆ˜Žๅ’Œๆœฌ่ฎธๅฏๅฃฐๆ˜Žๅบ”ๅŒ…ๅซๅœจๆ‰€ๆœ‰ๅ‰ฏๆœฌๆˆ–่ฝฏไปถ็š„้‡่ฆ้ƒจๅˆ†ไธญใ€‚
24
+
25
+ ่ฝฏไปถๆŒ‰โ€œๅŽŸๆ ทโ€ๆไพ›๏ผŒไธ้™„ๅธฆไปปไฝ•ๅฝขๅผ็š„ๆ˜Ž็คบๆˆ–ๆš—็คบ็š„ไฟ่ฏ๏ผŒๅŒ…ๆ‹ฌไฝ†ไธ้™ไบŽ้€‚้”€ๆ€งใ€็‰นๅฎš็”จ้€”้€‚็”จๆ€งๅ’Œไธไพตๆƒ็š„ไฟ่ฏใ€‚ๅœจไปปไฝ•ๆƒ…ๅ†ตไธ‹๏ผŒไฝœ่€…ๆˆ–็‰ˆๆƒๆŒๆœ‰ไบบๅ‡ไธๅฏนๅ› ๅˆๅŒใ€ไพตๆƒๆˆ–ๅ…ถไป–ๆ–นๅผๅผ•่ตท็š„ไปปไฝ•็ดข่ต”ใ€ๆŸๅฎณๆˆ–ๅ…ถไป–่ดฃไปป่ดŸ่ดฃ๏ผŒๆ— ่ฎบๆ˜ฏๅœจไธŽ่ฝฏไปถๆˆ–่ฝฏไปถ็š„ไฝฟ็”จๆˆ–ๅ…ถไป–ไบคๆ˜“ๆœ‰ๅ…ณ็š„ไปปไฝ•่ฏ‰่ฎผไธญใ€‚
package/README.md CHANGED
@@ -1,3 +1,304 @@
1
- # ่ฟ™ไธชๅ่ขซๆˆ‘ๅ ็”จไบ†
1
+ # nry
2
2
 
3
- ไฝ†ๆ˜ฏไฝ ๅฆ‚ๆžœๆœ‰้œ€่ฆ๏ผŒๅฏไปฅ [้‚ฎๆˆ‘่ฝฌ่ฎฉ](mailto:earthnut.dev@outlook.com)
3
+ [![version](<https://img.shields.io/npm/v/nry.svg?logo=npm&logoColor=rgb(0,0,0)&label=็‰ˆๆœฌๅท&labelColor=rgb(73,73,228)&color=rgb(0,0,0)>)](https://www.npmjs.com/package/nry) [![issues ๆไบค](<https://img.shields.io/badge/issues-ๆไบค-rgb(255,0,63)?logo=github>)](https://github.com/earthnutDev/nry/issues)
4
+
5
+ ไธ€ไธชไป…็”จไบŽ npm registry ๅˆ‡ๆข็š„ๅทฅๅ…ทใ€‚
6
+
7
+ ## ๅฎ‰่ฃ…
8
+
9
+ ๅฏๅ…จๅฑ€ๅฎ‰่ฃ…๏ผŒไบฆๅฏ็›ดๆŽฅไฝฟ็”จ `npx` ไฝฟ็”จๅณๅฏ
10
+
11
+ ```bash
12
+ npm install -g nry
13
+ ```
14
+
15
+ ## ไฝฟ็”จ
16
+
17
+ ๆœฌๅบ”็”จไฝฟ็”จ [a-command](https://www.npmjs.com/package/a-command) ๏ผŒๆ‰€ไปฅๅฑ่”ฝไบ† `Ctrl + C` ใ€`Ctrl + D` ๏ผŒไฝ†ๅฏ้‡‡็”จ*ๅŒๅ‡ป `Esc` ้€€ๅ‡บ*ใ€‚
18
+
19
+ | ่ฐƒ็”จๅญ้กน | ็ผฉๅ†™้กน | ้‡Šไน‰ |
20
+ | :--------------- | :------------ | :---------------------- |
21
+ | `npx nry` | -- | ๅˆ‡ๆข npm registry |
22
+ | `npx nry add` | `npx nry a` | ๆทปๅŠ ่‡ชๅฎšไน‰ npm registry |
23
+ | `npx nry delete` | `npx nry del` | ๅˆ ้™ค npm registry |
24
+ | `npx nry edit` | `npx nry ed` | ไฟฎๆ”น npm registry |
25
+ | `npx nry list` | `npx nry ls` | ๅฑ•็คบ npm registry |
26
+ | `npx nry manage` | `npx nry mg` | ็ฎก็† npm registry ๆ˜พ้š |
27
+ | `npx nry reset` | `npx nry re` | ้‡็ฝฎ npm registry |
28
+
29
+ ้ข๏ผŒๅ› ไธบๆ–‡ๆกฃๆฒกๅ•ฅๅ†™็š„๏ผŒๆ‰€ไปฅๅฐฑๆœ‰ไบ†ไธ‹้ข็š„*ๆ‰ง่กŒๅฑ•็คบ*ใ€‚
30
+
31
+ ### ็ฎ€ๅ•ไฝฟ็”จ
32
+
33
+ ```bash
34
+ # ็ฎ€ๅ•ไฝฟ็”จ
35
+ npx nry
36
+ ```
37
+
38
+ ๅ…ถๆ•ˆๆžœไธบ๏ผš
39
+
40
+ ```bash
41
+ โ–ถ๏ธŽ ่ฏท้€‰ๆ‹ฉๆƒณไฝฟ็”จ็š„ๆ–ฐ็š„ npm registry
42
+
43
+ โ— ๅฎ˜ๆ–น
44
+ โ—ฆ tao bao
45
+ โ—ฆ ่…พ่ฎฏ๏ผˆๅฝ“ๅ‰ไฝฟ็”จ๏ผ‰
46
+ โ—ฆ ไธญ็ง‘ๅคง
47
+ โ—ฆ yarn
48
+
49
+ https://registry.npmjs.org
50
+ ```
51
+
52
+ ๅฏไฝฟ็”จ้”ฎ็›˜ไธŠไธ‹้”ฎๅˆ‡ๆข้กน๏ผŒไฝฟ็”จ `Enter` ้”ฎ้€‰ๆ‹ฉ่ฆ้€‰ๆ‹ฉๆ–ฐ npm registryใ€‚
53
+
54
+ ### ๆทปๅŠ ่‡ชๅฎšไน‰้กน
55
+
56
+ ๅฏไฝฟ็”จ ๅญๅ‘ฝไปค `add` ๆทปๅŠ ่‡ชๅฎšไน‰ npm registryใ€‚
57
+
58
+ ```bash
59
+ # ้•ฟๅ‘ฝไปคไฝฟ็”จ
60
+ npx nry add
61
+ # ไฝฟ็”จ็ผฉๅ†™
62
+ npx nry a
63
+ ```
64
+
65
+ ๆ‰ง่กŒๆ•ˆๆžœ
66
+
67
+ ```bash
68
+ # ๅ…ˆ้—ฎ่ฏข่พ“ๅ…ฅ่‡ชๅฎšไน‰ npm registry ็ฝ‘ๅ€
69
+ โ–ถ๏ธŽ ่ฏท่พ“ๅ…ฅ่‡ชๅฎšไน‰็š„ npm ็š„ๆบๅœฐๅ€: https://registry.npmjs.org
70
+ # ๅ†่ฏข้—ฎ่พ“ๅ…ฅ่‡ชๅฎšไน‰็š„ npm registry ๅˆซๅ
71
+ โ–ถ๏ธŽ ่ฏท่พ“ๅ…ฅ่‡ชๅฎšไน‰็š„ npm ็š„ๅˆซๅ: ไปปๆ„ๅˆซๅ
72
+ # ๅฑ•็คบๆทปๅŠ ็š„็ป“ๆžœ
73
+ ๅฝ“ๅ‰็š„ npm registry ๅˆ—่กจไธบ
74
+ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
75
+ โ”‚โ€‚npm registry โ€‚โ”‚โ€‚ๅˆซๅ โ€‚ โ”‚โ€‚ๅฝ“ๅ‰ๅฏ่ง โ”‚
76
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
77
+ โ”‚โ€‚* https://registry.npmjs.org โ€‚โ”‚โ€‚* ๅฎ˜ๆ–น โ€‚ โ”‚โ€‚โœ… โ€‚โ”‚
78
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
79
+ โ”‚โ€‚ https://taobao.com โ€‚โ”‚โ€‚ tao baoโ€‚โ”‚โ€‚โœ… โ”‚
80
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
81
+ โ”‚โ€‚ https://mirrors.tencent.com/npm โ€‚โ”‚โ€‚ ่…พ่ฎฏ โ€‚ โ”‚โ€‚โœ… โ€‚โ”‚
82
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
83
+ โ”‚โ€‚ https://npmreg.proxy.ustclug.orgโ€‚โ”‚ ไธญ็ง‘ๅคง โ€‚ โ”‚โ€‚โœ… โ€‚โ”‚
84
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
85
+ โ”‚โ€‚ https://registry.yarnpkg.com โ€‚โ”‚โ€‚ yarn โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
86
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
87
+ โ”‚โ€‚ https://earthnut.dev โ€‚โ”‚โ€‚ earthnutโ”‚โ€‚โœ… โ€‚โ”‚
88
+ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
89
+
90
+ ๆณจ๏ผšๅฝ“ๅ‰ๅฏ่ง็Šถๆ€ไป…ๅฝฑๅ“ npx nry ้€‰ๆ‹ฉ้กน
91
+ # ๆทปๅŠ ๆ–ฐ้กนๅŽ้—ฎ่ฏขๆ˜ฏๅฆๆ–ฐๆทปๅŠ ๆˆ–้€€ๅ‡บ
92
+ โ–ถ๏ธŽ ๆทปๅŠ ๅฎŒๆˆ๏ผŒๆ˜ฏๅฆๆŒ็ปญๆทปๅŠ : ้€€ๅ‡บ ็ปง็ปญๆทปๅŠ 
93
+ ```
94
+
95
+ ๆœฌๆฅ่€ƒ่™‘ๆ˜ฏๅฆๅœจๆทปๅŠ ๅŽ็›ดๆŽฅ้…็ฝฎๆ–ฐๆทปๅŠ ้กนไธบๅฝ“ๅ‰้กน๏ผŒๆ€ไน‹ๅ†ไธ‰๏ผŒไธ“ๅ‘ฝไปคไธ“็”จ*่ฏฅๅ‘ฝไปคไป…ๆทปๅŠ ๆ–ฐ็š„ npm registry,ๆทปๅŠ ๅŽๅนถไธ่ฎพ็ฝฎ่ฏฅๅ€ผไธบๅฝ“ๅ‰ๅ€ผ*ใ€‚
96
+
97
+ ### ๅˆ ้™ค้กน
98
+
99
+ ๅˆ ้™ค้กน๏ผŒ้™คไบ†ๅฝ“ๅ‰ไฝฟ็”จ้กน๏ผŒๅ…ถไป–้กนๅ‡ๅฏไปฅ่ขซๅˆ ้™ค๏ผŒไธ้™ไบŽ่‡ชๅฎšไน‰็š„้กนใ€‚
100
+
101
+ ```bash
102
+ # ๅธธ่ง„ไฝฟ็”จๅˆ ้™ค
103
+ npx nry delete
104
+ # ็ผฉๅ†™้กนๅˆ ้™ค
105
+ npx nry del
106
+ ```
107
+
108
+ ๆ•ˆๆžœ๏ผš
109
+
110
+ ```bash
111
+ # ๅ…ˆๅฑ•็คบไบคไบ’้€‰้กน๏ผŒๅฝ“ๅ‰ไฝฟ็”จ้กนไธๅฏ่ขซ้€‰ไธญ
112
+ โ–ถ๏ธŽ ่ฏท้€‰ๆ‹ฉ่ฆๅˆ ้™ค็š„้กน
113
+
114
+ โŠ— ๅฎ˜ๆ–น๏ผˆๅฝ“ๅ‰ไฝฟ็”จ๏ผ‰
115
+ โ—ฆ tao bao
116
+ โ—ฆ ่…พ่ฎฏ
117
+ โ—ฆ ไธญ็ง‘ๅคง
118
+ โ— yarn
119
+ โ—ฆ earthnut
120
+
121
+ https://registry.yarnpkg.com
122
+
123
+ # ๅˆ ้™คๅŽๅฑ•็คบ
124
+
125
+ ๅˆ ้™ค้กนๅŽ็š„ๅˆ—่กจไธบ๏ผš
126
+ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
127
+ โ”‚โ€‚npm registry โ€‚โ”‚โ€‚ๅˆซๅ โ€‚โ”‚โ€‚ๅฝ“ๅ‰ๅฏ่งโ€‚ โ”‚
128
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
129
+ โ”‚โ€‚* https://registry.npmjs.org โ€‚โ”‚โ€‚* ๅฎ˜ๆ–น โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
130
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
131
+ โ”‚โ€‚ https://taobao.com โ€‚โ”‚โ€‚ tao baoโ€‚โ”‚โ€‚โœ… โ€‚โ”‚
132
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
133
+ โ”‚โ€‚ https://mirrors.tencent.com/npm โ€‚โ”‚โ€‚ ่…พ่ฎฏ โ€‚ โ”‚โ€‚โœ… โ€‚โ”‚
134
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
135
+ โ”‚โ€‚ https://npmreg.proxy.ustclug.orgโ€‚โ”‚โ€‚ ไธญ็ง‘ๅคง โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
136
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
137
+ โ”‚โ€‚ https://lmssee.com โ€‚โ”‚โ€‚ lmssee โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
138
+ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
139
+
140
+ ๆณจ๏ผšๅฝ“ๅ‰ๅฏ่ง็Šถๆ€ไป…ๅฝฑๅ“ npx nry ้€‰ๆ‹ฉ้กน
141
+ # ้—ฎ่ฏขๆ˜ฏๅฆ่ฟ›่กŒๅ†ๆฌกๅˆ ้™คๆˆ–็›ดๆŽฅ้€€ๅ‡บ
142
+ โ–ถ๏ธŽ ๆ˜ฏๅฆ็ปง็ปญๅˆ ้™คๅ…ถไป–้กน: ้€€ๅ‡บ ็ปง็ปญๅˆ ้™ค
143
+ # ่‹ฅๆ˜ฏ้€‰ๆ‹ฉไบ†็ปง็ปญๅˆ ้™ค๏ผŒๅˆ™้‡ๅคไธŠ่ฟฐๆญฅ้ชค
144
+ ```
145
+
146
+ ### ็ผ–่พ‘้กน
147
+
148
+ ็ผ–่พ‘ๅทฒๆœ‰้กน๏ผŒไฝ†*ไธๅˆ‡ๆข้กน*๏ผŒไป…ไฝœ npm registry ็š„ๅ€ผๆ›ดๆ”น
149
+
150
+ ```bash
151
+ # ๅธธ่ง„็š„ไฝฟ็”จ
152
+ npx nry edit
153
+ # ็ผฉๅ†™็š„ไฝฟ็”จ
154
+ npx nry ed
155
+ ```
156
+
157
+ ๆ•ˆๆžœๅœจๅฑ•็คบ๏ผš
158
+
159
+ ```bash
160
+ # ๅ…ˆๅฑ•็คบไบคไบ’้€‰ๆ‹ฉ้œ€่ฆๆ›ดๆ”น็š„้กน
161
+ โ–ถ๏ธŽ ่ฏท้€‰ๆ‹ฉไฝ ๆƒณ่ฆไฟฎๆ”น็š„้กน
162
+
163
+ โ— ๅฎ˜ๆ–น๏ผˆๅฝ“ๅ‰ไฝฟ็”จ๏ผ‰
164
+ โ—ฆ tao bao
165
+ โ—ฆ ่…พ่ฎฏ
166
+ โ—ฆ ไธญ็ง‘ๅคง
167
+ โ—ฆ yarn
168
+ โ—ฆ earthnut
169
+
170
+ https://registry.npmjs.org
171
+ # ็„ถๅŽๅœจ้€‰ๆ‹ฉๅŽๆ›ดๆ”น npm registry ๅ€ผ๏ผŒ็›ดๆŽฅๅ›ž่ฝฆ๏ผŒ้ป˜่ฎคไธๆ›ดๆ”น
172
+ โ–ถ๏ธŽ ่ฏทๆ›ดๆ”นไธบๆ–ฐ็š„ npm registry ๅ€ผ: https://earthnut.dev
173
+ # ๆŽฅ็€ๆ›ดๆ”น้€‰ๆ‹ฉ้กน็š„ npm registry ็š„ๅˆซๅ ๏ผŒ้ป˜่ฎคไธๆ›ดๆ”น
174
+ โ–ถ๏ธŽ ่ฏทๆ›ดๆ”นไธบๆ–ฐ็š„ npm registry ๅˆซๅ: earthnut
175
+ # ๅฑ•็คบๆ•ˆๆžœๅนถ้—ฎ่ฏขๆ˜ฏๅฆไพๆ—ง็ปง็ปญไฟฎๆ”นๆˆ–้€€ๅ‡บ
176
+ ๆ›ดๆ”นๅŽ็š„ๅˆ—่กจไธบ๏ผš
177
+ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
178
+ โ”‚โ€‚npm registry โ€‚โ”‚โ€‚ๅˆซๅ โ€‚โ”‚โ€‚ๅฝ“ๅ‰ๅฏ่ง โ€‚โ”‚
179
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
180
+ โ”‚โ€‚* https://registry.npmjs.org โ€‚โ”‚โ€‚* ๅฎ˜ๆ–น โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
181
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
182
+ โ”‚โ€‚ https://taobao.com โ€‚โ”‚โ€‚ tao bao โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
183
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
184
+ โ”‚โ€‚ https://mirrors.tencent.com/npm โ€‚โ”‚โ€‚ ่…พ่ฎฏ โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
185
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
186
+ โ”‚โ€‚ https://npmreg.proxy.ustclug.orgโ€‚โ”‚ ไธญ็ง‘ๅคง โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
187
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
188
+ โ”‚โ€‚ https://earthnut.dev โ€‚โ”‚โ€‚ earthtnutโ€‚โ”‚โ€‚โœ… โ€‚โ”‚
189
+ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
190
+
191
+ ๆณจ๏ผšๅฝ“ๅ‰ๅฏ่ง็Šถๆ€ไป…ๅฝฑๅ“ npx nry ้€‰ๆ‹ฉ้กน
192
+ โ–ถ๏ธŽ ๆ˜ฏๅฆ็ปง็ปญไฟฎๆ”นๅ…ถไป–้กน: ้€€ๅ‡บ ็ปง็ปญไฟฎๆ”น
193
+ ```
194
+
195
+ ### ๅฑ•็คบๅฝ“ๅ‰้กน็Šถๆ€
196
+
197
+ ```bash
198
+ # ๅธธ่ง„ไฝฟ็”จ
199
+ npx nry list
200
+ # ็ผฉๅ†™่ฐƒ็”จ
201
+ npx nry ls
202
+ ```
203
+
204
+ ๆ•ˆๆžœๅฑ•็คบ๏ผš
205
+
206
+ ```bash
207
+ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
208
+ โ”‚โ€‚npm registry โ€‚โ”‚โ€‚ๅˆซๅ โ€‚โ”‚โ€‚ๅฝ“ๅ‰ๅฏ่ง โ€‚โ”‚
209
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
210
+ โ”‚โ€‚* https://registry.npmjs.org โ€‚โ”‚โ€‚* ๅฎ˜ๆ–น โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
211
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
212
+ โ”‚โ€‚ https://taobao.com โ€‚โ”‚โ€‚ tao bao โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
213
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
214
+ โ”‚โ€‚ https://mirrors.tencent.com/npm โ€‚โ”‚โ€‚ ่…พ่ฎฏ โ€‚โ”‚โ€‚โŒ โ€‚โ”‚
215
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
216
+ โ”‚โ€‚ https://npmreg.proxy.ustclug.orgโ€‚โ”‚ ไธญ็ง‘ๅคง โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
217
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
218
+ โ”‚โ€‚ https://earthnut.dev โ€‚โ”‚โ€‚ earthnut โ€‚โ”‚โ€‚โŒ โ€‚โ”‚
219
+ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
220
+
221
+ ๆณจ๏ผšๅฝ“ๅ‰ๅฏ่ง็Šถๆ€ไป…ๅฝฑๅ“ npx nry ้€‰ๆ‹ฉ้กน
222
+ ```
223
+
224
+ ### ็ฎก็†ๆ‰€ๆœ‰้กน็š„ๆ˜พ้š
225
+
226
+ ไฝฟ็”จ [a-command](https://www.npmjs.com/package/a-command) ็š„ๅคš้€‰๏ผŒๆ‰€ไปฅๅฏไปฅ*ไฝฟ็”จ`ctrl + A` ๅ…จ้€‰๏ผŒไฝฟ็”จ `ctrl + Z` ๅ…จไธ้€‰๏ผŒไฝฟ็”จ `ctrl + R` ๅ…จๅ้€‰*ใ€‚่€ŒไธŽๅˆ ้™คๅ‘ฝไปค็ฑปไผผ๏ผŒไธไฝœ็”จไบŽๅฝ“ๅ‰ไฝฟ็”จ้กนใ€‚
227
+
228
+ ```bash
229
+ # ๅธธ่ง„ไฝฟ็”จ้กน
230
+ npx nry manage
231
+ # ็ผฉๅ†™ไฝฟ็”จ
232
+ npx nry mg
233
+ ```
234
+
235
+ ๆ•ˆๆžœๅฑ•็คบ๏ผš
236
+
237
+ ```bash
238
+ # ไฝฟ็”จไธŠไธ‹้”ฎๅˆ‡ๆข็„ฆ็‚น้กน๏ผŒไฝฟ็”จ็ฉบๆ ผๆˆ–ๅทฆๅณ้”ฎๅˆ‡ๆข็Šถๆ€
239
+ โ–ถ๏ธŽ ่ฏทไฝฟ็”จ้”ฎ็›˜้€‰ๆ‹ฉ๏ผŒ่ฏทไฝฟ็”จ Enter ้”ฎ่ฟ›่กŒ้€‰ๆ‹ฉ
240
+
241
+ โ–ฃ ๅฎ˜ๆ–น
242
+ โ–  tao bao
243
+ โ–ก ่…พ่ฎฏ
244
+ โ–  ไธญ็ง‘ๅคง
245
+ โ–ก earthnut
246
+
247
+ https://registry.npmmirror.com
248
+ # ๆŒ‰ไธ‹ enter ้”ฎๅŽไฟๅญ˜็Šถๆ€
249
+
250
+ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
251
+ โ”‚โ€‚npm registry โ€‚โ”‚โ€‚ๅˆซๅ โ€‚โ”‚โ€‚ๅฝ“ๅ‰ๅฏ่ง โ€‚โ”‚
252
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
253
+ โ”‚โ€‚* https://registry.npmjs.org โ€‚โ”‚โ€‚* ๅฎ˜ๆ–น โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
254
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
255
+ โ”‚โ€‚ https://taobao.com โ€‚โ”‚โ€‚ tao bao โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
256
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
257
+ โ”‚โ€‚ https://mirrors.tencent.com/npm โ€‚โ”‚โ€‚ ่…พ่ฎฏ โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
258
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
259
+ โ”‚โ€‚ https://npmreg.proxy.ustclug.orgโ€‚โ”‚ ไธญ็ง‘ๅคง โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
260
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
261
+ โ”‚โ€‚ https://earthnut.dev โ€‚โ”‚โ€‚ earthnutโ€‚ โ”‚โ€‚โŒ โ€‚โ”‚
262
+ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
263
+
264
+ ๆณจ๏ผšๅฝ“ๅ‰ๅฏ่ง็Šถๆ€ไป…ๅฝฑๅ“ npx nry ้€‰ๆ‹ฉ้กน
265
+ ```
266
+
267
+ ### ้‡็ฝฎๆ‰€ๆœ‰ๅฝ“ๅ‰ๅ€ผ
268
+
269
+ ๆœ‰ๆ—ถๅ€™๏ผŒๅฐ†ๅ€ผๆ”น็š„ไนฑไธƒๅ…ซ็ณŸ๏ผŒๅฐฑ้œ€่ฆๆขๅคๅŽŸๆœ‰๏ผŒไฝ†**_่ฟ™ไนˆๆ“ไฝœๅฐ†ไธขๅคฑๆ‰€ๆœ‰็š„่‡ชๅฎšไน‰็š„้กน_**ใ€‚
270
+
271
+ ```bash
272
+ # ๅธธ่ง„ไฝฟ็”จ
273
+ npx nry reset
274
+ # ็ผฉๅ†™่ฐƒ็”จ
275
+ npx nry rs
276
+ ```
277
+
278
+ ๆ•ˆๆžœๅฑ•็คบ
279
+
280
+ ```bash
281
+ # ้‡็ฝฎๅ‰ๅ†ๆฌก่ฏข้—ฎ
282
+ โ–ถ๏ธŽ ่ฏท็กฎ่ฎคๆ˜ฏๅฆๆ‰ง่กŒ่ฆ†็›–ๅŽŸๆ•ฐๆฎ๏ผŒ่ฏฅๆ“ไฝœๆ— ๆณ•ๅคๅŽŸ: ้€€ๅ‡บ ้‡็ฝฎ
283
+ # ้€‰ๆ‹ฉ้‡็ฝฎ
284
+ ๅ†™ๅ…ฅๆˆๅŠŸ
285
+ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
286
+ โ”‚โ€‚npm registry โ€‚โ”‚โ€‚ๅˆซๅ โ€‚โ”‚โ€‚ๅฝ“ๅ‰ๅฏ่งโ€‚ โ”‚
287
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
288
+ โ”‚โ€‚* https://registry.npmjs.org โ€‚โ”‚โ€‚* ๅฎ˜ๆ–น โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
289
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
290
+ โ”‚โ€‚ https://registry.npmmirror.com โ€‚โ”‚โ€‚ ๆท˜ๅฎ โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
291
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
292
+ โ”‚โ€‚ https://mirrors.tencent.com/npm โ€‚โ”‚โ€‚ ่…พ่ฎฏ โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
293
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
294
+ โ”‚โ€‚ https://npmreg.proxy.ustclug.orgโ€‚โ”‚ ไธญ็ง‘ๅคง โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
295
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
296
+ โ”‚โ€‚ https://registry.yarnpkg.com โ€‚โ”‚โ€‚ yarn โ€‚โ”‚โ€‚โœ… โ€‚โ”‚
297
+ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
298
+
299
+ ๆณจ๏ผšๅฝ“ๅ‰ๅฏ่ง็Šถๆ€ไป…ๅฝฑๅ“ npx nry ้€‰ๆ‹ฉ้กน
300
+ ```
301
+
302
+ ## ๆ–‡ๆกฃๅœฐๅ€
303
+
304
+ ๅ‚็œ‹ [https://earthnut.dev/nry](https://earthnut.dev/nry)
package/bin.mjs ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import{Dog as a}from"@qqi/dev-log";import{isFalse as t,isArray as e,isString as i,isBusinessEmptyString as n,isUndefined as r}from"a-type-of-js";import{QQI as l}from"qqi";import{escapeRegExp as o}from"a-js-tools";import{brightRedPen as s,brightCyanPen as c,greenPen as u,cyanPen as f,magentaPen as p,brightBlackPen as w,bluePen as m}from"color-pen";import{Command as g}from"a-command";import{typewrite as d,cursorShow as b,runOtherCode as v,_p as y}from"a-node-tools";import{Table as h}from"colored-table";const $=new a({name:"nry",type:!1});t($.type);const q=new l("nry");function x(a=!1){const t=[{value:"https://registry.npmjs.org",label:"ๅฎ˜ๆ–น",tip:"https://registry.npmjs.org"},{value:"https://registry.npmmirror.com",label:"ๆท˜ๅฎ",tip:"https://registry.npmmirror.com"},{value:"https://mirrors.tencent.com/npm",label:"่…พ่ฎฏ",tip:"https://mirrors.tencent.com/npm"},{value:"https://npmreg.proxy.ustclug.org",label:"ไธญ็ง‘ๅคง",tip:"https://npmreg.proxy.ustclug.org"},{value:"https://registry.yarnpkg.com",label:"yarn",tip:"https://registry.yarnpkg.com"}];if(a)return t;if(!q.available)return t;const r=q.read("config");return e(r)&&r.every((a=>i(a.value)&&!n(a.label)&&i(a.value)&&!n(a.value)))?r:t}const k=new g("nry");async function E(a="ๅฅฝ็š„๏ผŒๅณๅฐ†้€€ๅ‡บ"){return n(a)||await d(a),b(),k.end()}function j(a){if(!q.available)return!1;const t={value:a.value,label:a.label.toString(),tip:a.value,disable:!1},e=q.read("config");return e.push(t),q.write("config",e)}async function V(){const a=await v("npm config get registry");if($("่Žทๅ–ๅฝ“ๅ‰็š„ๆœฌๅœฐ้…็ฝฎไธบ",a),a.success)return a.data.replace(/\s/gm,"")}async function L(){const a=x(),t=await V(),e=new h;e.setHeader(["npm registry","ๅˆซๅ","ๅฝ“ๅ‰ๅฏ่ง"]),a.forEach((a=>e.addRow([(t===a.value?p`* `:" ").concat(a.value),(t===a.value?p`* `:" ").concat(u(a.label)),a.disable?"โŒ":"โœ…"]))),e(),y(w`ๆณจ๏ผšๅฝ“ๅ‰ๅฏ่ง็Šถๆ€ไป…ๅฝฑๅ“ npx nry ้€‰ๆ‹ฉ้กน`)}async function S(){if(!q.available)return await E("่ฏปๅ†™ๅ—้™๏ผŒๆญฃๅœจ้€€ๅ‡บ");const a=x(),t=await async function(a){const t=[{reg:/\s+/g,info:"ไธๅ…่ฎธๅ‡บ็Žฐ็ฉบๆ ผ",inverse:!0}];a.forEach((a=>{t.push({reg:new RegExp(`^${o(a.value)}$`,"mg"),info:`${u(a.value)}(${f(a.label)}) ๅทฒๅญ˜ๅœจ`,inverse:!0})}));const e=await k.question({text:"่ฏท่พ“ๅ…ฅ่‡ชๅฎšไน‰็š„ npm ็š„ๆบๅœฐๅ€",tip:"https://registry.npmjs.org",minLen:5,maxLen:120,verify:t,required:!1});return $("็”จๆˆท่พ“ๅ…ฅ็š„ๅœฐๅ€",e),r(e)?await E():e}(a),e=await async function(a){const t=[{reg:/\s+/g,info:"ไธๅ…่ฎธๅ‡บ็Žฐ็ฉบๆ ผ",inverse:!0}];a.forEach((a=>{t.push({reg:new RegExp(`^${o(a.label)}$`,"mg"),info:`${u(a.label)}(${f(a.value)}) ๅทฒๅญ˜ๅœจ`,inverse:!0})}));const e=await k.question({text:"่ฏท่พ“ๅ…ฅ่‡ชๅฎšไน‰็š„ npm ็š„ๅˆซๅ",tip:"ไปปๆ„ๅˆซๅ",minLen:1,maxLen:120,verify:t,defaultValue:"",required:!1});return $("็”จๆˆท่พ“ๅ…ฅ็š„ๅˆซๅไธบ",e),r(e)?await E():e}(a);if(j({value:t,label:e})){y(w`ๅฝ“ๅ‰็š„ npm registry ๅˆ—่กจไธบ`),await L();const a=["้€€ๅ‡บ","็ปง็ปญๆทปๅŠ "],t=await k.question({text:"ๆทปๅŠ ๅฎŒๆˆ๏ผŒๆ˜ฏๅฆๆŒ็ปญๆทปๅŠ ",tip:a});return r(t)||t===a[0]?await E(""):await S()}return await E(`ๅ†™ๅ…ฅ${s`ๅคฑ่ดฅ`}๏ผŒๅŽŸๅ› ๆœช็Ÿฅ`)}async function M(a="่ฏท้€‰ๆ‹ฉๆƒณไฝฟ็”จ็š„ๆ–ฐ็š„ npm registry",e=!0,i=!0){let n=!1;const l=x(),o=await V();if(!r(o)){for(const a of l)if(a.value===o){a.label=a.label.toString()+`๏ผˆ${p`ๅฝ“ๅ‰ไฝฟ็”จ`}๏ผ‰`,a.disable=!i,n=!0;break}if(t(n)){const a={value:o,label:"ๅฝ“ๅ‰ไฝฟ็”จๅ€ผ",disable:!i};l.push(a),q.available&&j({value:o,label:"ๆ›พ็”จๅ€ผ"})}}$("ๅค„็†ๅฎŒ็š„ๆ•ฐๆฎ",l);const s=e?l.filter((a=>!a.disable||a.disable&&a.value===o)):l.map((a=>(a.value===o?a.disable=!i:a.disable=!1,a))),c=await k.selection({data:s,info:a},"number");return $("็”จๆˆท้€‰ๆ‹ฉ็š„้กน",c),r(c)?await E():($("ๅฝ“ๅ‰็”จๆˆท้€‰ๆ‹ฉไธบ",s[c]),s[c])}async function R(){const a=await M();await async function(a){(await v(`npm config set registry ${a.value}`)).success||await E(),y(`ๅทฒๅฐ† npm registry ๆ›ดๆ”นไธบ ${u(a.value)}(${m(a.label)})`)}(a)}k.bind(["add <a> (็”จไบŽๆทปๅŠ ไธ€ไธช่‡ชๅฎšไน‰็š„ npm ๆบ)","edit <ed> (็”จไบŽ็ผ–่พ‘ๆบ) ","delete <del> (็”จไบŽ็งป้™คๆŸไธชๆˆ–ๅคšไธช่‡ชๅฎšไน‰็š„้กน)","list <ls> (็”จไบŽๅฑ•็คบๅฝ“ๅ‰็š„ๆ‰€ๆœ‰็š„ๆบ)","manage <mg> (็”จไบŽ็ฎก็†ๅฝ“ๅ‰ๆบๅœจๅˆ—่กจไธญ็š„ๆ˜พ้š)",`reset <rs> (้‡ๅˆถๅฝ“ๅ‰็š„ๆบ๏ผŒๅฐ†${s`ๆฐธไน…็งป้™ค่‡ชๅฎšไน‰ๆบ`}ใ€${c`ๆขๅคๅทฒๆ›ดๆ”น็š„ๆบ`})`]).run().isEnd(!0);const H={add:!1,edit:!1,delete:!1,manage:!1,list:!1,noMatch:!1,reset:!1};async function N(){if(!q.available)return await E("ๅฝ“ๅ‰่ฏปๅ†™ๅ—้™๏ผŒๅณๅฐ†้€€ๅ‡บ็จ‹ๅบ");const a=await M("่ฏท้€‰ๆ‹ฉ่ฆๅˆ ้™ค็š„้กน",!1,!1),{value:t,label:e}=a,i=x();for(const a in i){const n=Number(a),r=i[n];if(r.value===t&&r.label===e){i.splice(n,1);break}}if(q.write("config",i)){y("ๅˆ ้™ค้กนๅŽ็š„ๅˆ—่กจไธบ๏ผš"),await L();const a=["้€€ๅ‡บ","็ปง็ปญๅˆ ้™ค"],t=await k.question({text:"ๆ˜ฏๅฆ็ปง็ปญๅˆ ้™คๅ…ถไป–้กน",tip:a});return r(t)||t===a[0]?await E(""):await N()}}async function z(){if(!q.available)return await E("ๅฝ“ๅ‰่ฏปๅ†™ๆƒ้™ไธ่ถณ๏ผŒๅณๅฐ†้€€ๅ‡บ็จ‹ๅบ");const a=await M("่ฏท้€‰ๆ‹ฉไฝ ๆƒณ่ฆไฟฎๆ”น็š„้กน",!1),{value:t,label:e}=a;$("่Žทๅ–็”จๆˆท็š„้€‰ๆ‹ฉ",a),$("ๅŽŸๅง‹็š„ๅ€ผ",t),$("ๅŽŸๅง‹็š„ๆ ‡็ญพ",e),await async function(a){const t=await k.question({text:"่ฏทๆ›ดๆ”นไธบๆ–ฐ็š„ npm registry ๅ€ผ",tip:a.value,defaultValue:a.value,required:!1});$("ๆ–ฐๅ€ผไธบ",t),r(t)||(a.value=a.tip=t)}(a),await async function(a){const t=await k.question({text:"่ฏทๆ›ดๆ”นไธบๆ–ฐ็š„ npm registry ๅˆซๅ",tip:a.label,defaultValue:a.label.toString(),required:!1});$("ๆ–ฐๅ€ผไธบ",t),r(t)||(a.label=t)}(a);const{value:i,label:n}=a;$("ๆ›ดๆ”นๅŽ็š„ๅ€ผ",i),$("ๆ›ดๆ”น็š„ๆ ‡็ญพ",n);const l=x();for(const a of l)if(a.value===t&&a.label===e){a.value=i,a.label=n.toString();break}if(q.write("config",l)){y("ๆ›ดๆ”นๅŽ็š„ๅˆ—่กจไธบ๏ผš"),await L();const a=["้€€ๅ‡บ","็ปง็ปญไฟฎๆ”น"],t=await k.question({text:"ๆ˜ฏๅฆ็ปง็ปญไฟฎๆ”นๅ…ถไป–้กน",tip:a});return r(t)||t===a[0]?await E(""):await z()}}async function A(){return function(){const a=k.args,e=a.$map;$("ๆบ่งฃๆžๅ€ผ",a),$("ๆบ่งฃๆžๅ€ผๆฒกๆœ‰ๅŒน้…้กน",a.$isVoid),["add","delete","edit","list","manage","reset"].forEach((a=>H[a]=t(r(e[a])))),H.noMatch=a.$isVoid,$("่งฃๆžๅฎŒ็š„ๅ€ผ",H)}(),$("ๆ‰ง่กŒ"),H.noMatch?($("ๅฝ“ๅ‰ๆฒกๆœ‰ๅŒน้…ๅ€ผ"),await R()):H.reset?($("้‡็ฝฎ้กน"),await async function(){if(!q.available)return await E("ๅฝ“ๅ‰่ฏปๅ†™ๆƒ้™ๅ—้™๏ผŒๆญฃๅœจ้€€ๅ‡บ็จ‹ๅบ");const a=["้€€ๅ‡บ","้‡็ฝฎ"],t=await k.question({text:"่ฏท็กฎ่ฎคๆ˜ฏๅฆๆ‰ง่กŒ่ฆ†็›–ๅŽŸๆ•ฐๆฎ๏ผŒ่ฏฅๆ“ไฝœๆ— ๆณ•ๅคๅŽŸ",tip:a});return r(t)||t===a[0]?await E("ๅฅฝ็š„๏ผŒ่ฟ™ๅฐฑ้€€ๅ‡บ้‡็ฝฎ"):q.write("config",x(!0))?(await d("ๅ†™ๅ…ฅ"+u`ๆˆๅŠŸ`,60),await L()):await E("้‡็ฝฎๆœช่ƒฝๅฎŒๆˆ๏ผŒๅŽŸๅ› ๆœช็Ÿฅ")}()):H.list?($("ๅฝ“ๅ‰ไธบๅฑ•็คบ้กน"),await L()):H.manage?($("ๅฝ“ๅ‰ๆ‰ง่กŒ็Šถๆ€ๆ›ดๆ”น"),await async function(){if(!q.available)return await E("ๅฝ“ๅ‰่ฏปๅ†™ๅ—้™๏ผŒๅณๅฐ†้€€ๅ‡บ็จ‹ๅบใ€‚");const a=x(),t=await V(),e=await k.selection({data:a.map((a=>({...a,checked:!a.disable,disable:a.value===t}))),kind:"check"},"number");if($("ไบคไบ’็ป“ๆžœ",e),r(e))return await E("ๅฅฝ็š„๏ผŒๅฐ†้€€ๅ‡บ็Šถๆ€ๆ˜พ้š็ฎก็†");a.forEach(((a,t)=>{a.disable=!e.includes(t)})),$("ไฟๅญ˜ๅ‰็š„ๆ•ฐๆฎ",a),q.write("config",a)&&await L()}()):H.add?($("ๆทปๅŠ ๆ–ฐ็š„้กน"),await S()):H.edit?($("็ผ–่พ‘้กน"),await z()):H.delete?($("ๅˆ ้™ค้กน"),await N()):void 0}(async()=>{try{await A()}catch(a){$.error("็ณป็ปŸ็บงๆ•่Žท ้”™่ฏฏ",a)}})();
package/package.json CHANGED
@@ -1,31 +1,51 @@
1
1
  {
2
2
  "name": "nry",
3
- "version": "0.0.0",
3
+ "version": "0.0.2",
4
4
  "type": "module",
5
- "main": "index.js",
6
- "author": "lmssee <lmssee@outlook.com> (https://lmssee.com)",
7
- "homepage": "https://earthnut.dev/vue",
8
- "license": "ISC",
9
- "description": "ไฝ†ๆ˜ฏไฝ ๅฆ‚ๆžœๆœ‰้œ€่ฆ๏ผŒๅฏไปฅ้‚ฎๆˆ‘่ฝฌ่ฎฉ <earthnut.dev@outlook.com>",
5
+ "description": "",
6
+ "license": "MIT",
7
+ "dependencies": {
8
+ "@qqi/dev-log": "^1.0.4",
9
+ "a-command": "^2.3.8",
10
+ "a-js-tools": "^1.0.0",
11
+ "a-node-tools": "^4.2.7",
12
+ "a-type-of-js": "^1.0.1",
13
+ "color-pen": "^2.0.10",
14
+ "colored-table": "^0.0.2",
15
+ "qqi": "^0.0.4"
16
+ },
17
+ "publishConfig": {
18
+ "access": "public",
19
+ "registry": "https://registry.npmjs.org/"
20
+ },
10
21
  "files": [
11
- "index.js"
22
+ "bin.mjs"
12
23
  ],
13
- "bugs": {
14
- "url": "https://github.com/lmssee/npm-earthnut-vue/issues"
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "git+https://github.com/earthnutDev/nry.git"
27
+ },
28
+ "author": {
29
+ "name": "๐Ÿฅœ",
30
+ "email": "earthnut.dev@outlook.com",
31
+ "url": "https://earthnut.dev"
32
+ },
33
+ "browserslist": [
34
+ "node>=18.0.0"
35
+ ],
36
+ "engines": {
37
+ "node": ">=18.0.0"
15
38
  },
16
39
  "keywords": [
40
+ "nry",
17
41
  "earthnut"
18
42
  ],
19
- "repository": {
20
- "type": "git",
21
- "url": "git+https://github.com/lmssee/npm-earthnut-vue.git"
22
- },
23
- "publishConfig": {
24
- "access": "public",
25
- "registry": "https://registry.npmjs.org"
43
+ "homepage": "https://earthnut.dev",
44
+ "bugs": {
45
+ "url": "https://github.com/earthnutDev/nry/issues",
46
+ "email": "earthnut.dev@outlook.com"
26
47
  },
27
- "dependencies": {
28
- "a-node-tools": "^0.1.0",
29
- "color-pen": "^0.1.0"
48
+ "bin": {
49
+ "nry": "./bin.mjs"
30
50
  }
31
- }
51
+ }
package/index.js DELETED
@@ -1,24 +0,0 @@
1
- import { readFileToJsonSync } from "a-node-tools";
2
- import { default as pen } from "color-pen";
3
- import { writeFileSync } from "node:fs";
4
-
5
- const fileInfo = readFileToJsonSync("./info.json");
6
-
7
- const npmLists = fileInfo.objects
8
- .map((i) => i.package.name)
9
- .filter((name) => name.length < 4)
10
- .sort()
11
- .reduce((accumulator, currentName, i) => {
12
- // const pkgName = pen.hex(i % 255)(currentName);
13
- // if (i % 3 === 2) {
14
- // accumulator += pen(`${currentName.padEnd(36, " ")}\n${" ".repeat(4)}`);
15
- // } else {
16
- // accumulator += `${currentName.padEnd(36, " ")}`;
17
- // }
18
- accumulator += `${currentName.padEnd(3, " ")}\n`;
19
- return accumulator;
20
- }, " ".repeat(4));
21
-
22
- console.log(npmLists);
23
-
24
- writeFileSync("./npm-lists.txt", npmLists);