Compare commits
654 Commits
v3.8.4
...
docker-bas
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4f87750c18 | ||
|
|
12b60f6cb7 | ||
|
|
b71df94897 | ||
|
|
66f4197236 | ||
|
|
b453681082 | ||
|
|
d4e16051fa | ||
|
|
8d906ead47 | ||
|
|
495bb0afee | ||
|
|
274bb1a9b9 | ||
|
|
44c1610791 | ||
|
|
45b8a7658b | ||
|
|
a0cf98546b | ||
|
|
0061e380c3 | ||
|
|
318f868720 | ||
|
|
eb6bf5168b | ||
|
|
6ff356b312 | ||
|
|
acf5a791f6 | ||
|
|
41310ca0fb | ||
|
|
20bc433d5a | ||
|
|
0177241504 | ||
|
|
a6a4eee66b | ||
|
|
3c539975c3 | ||
|
|
b38ef9608f | ||
|
|
1aa9b4d4a5 | ||
|
|
d252e66588 | ||
|
|
a92bd5f633 | ||
|
|
e40083a6be | ||
|
|
1d6eb945c9 | ||
|
|
9f5f563a3b | ||
|
|
e3da67fad9 | ||
|
|
0fa26293a8 | ||
|
|
eb7a8e3528 | ||
|
|
f242d1b261 | ||
|
|
e77ffb4c31 | ||
|
|
85c1bd1f76 | ||
|
|
192fb77169 | ||
|
|
e5816342a6 | ||
|
|
b6a1adca4e | ||
|
|
ddcd89da33 | ||
|
|
94e735ad39 | ||
|
|
df834f4836 | ||
|
|
390d0d6066 | ||
|
|
d53c345bed | ||
|
|
de0446376d | ||
|
|
2e71daacfd | ||
|
|
b9506d6ef6 | ||
|
|
f0b8673ecf | ||
|
|
4e4b218ed2 | ||
|
|
cb20169c02 | ||
|
|
0e9f23d8bf | ||
|
|
995350f27e | ||
|
|
46eeb7e963 | ||
|
|
1f42c526ae | ||
|
|
fdbe3ae703 | ||
|
|
01a48af7d7 | ||
|
|
9fdae85421 | ||
|
|
c96590114f | ||
|
|
bfadbf800b | ||
|
|
63695e2f2b | ||
|
|
95d134bdfd | ||
|
|
e7913ab32e | ||
|
|
3ac038fd8b | ||
|
|
197095efe3 | ||
|
|
81ee0fa3f2 | ||
|
|
8cf3966d5c | ||
|
|
134a738a47 | ||
|
|
cc7bd999d3 | ||
|
|
8786a3740e | ||
|
|
4bf6b3b844 | ||
|
|
b1eb7c6278 | ||
|
|
ca2e23cf9d | ||
|
|
596c727a35 | ||
|
|
e7400cef71 | ||
|
|
3929633f7e | ||
|
|
b4c42c1a78 | ||
|
|
2f3ec2ce42 | ||
|
|
d052bcef89 | ||
|
|
cb7b695896 | ||
|
|
26c5e2d670 | ||
|
|
7686417f29 | ||
|
|
5c6b515712 | ||
|
|
b9ffac5d1b | ||
|
|
a588588cf3 | ||
|
|
8e48eea511 | ||
|
|
b4bc6ff4e5 | ||
|
|
daa7e897b6 | ||
|
|
3c691329c7 | ||
|
|
144e95f4bf | ||
|
|
96dd2d8306 | ||
|
|
1bdb338092 | ||
|
|
86a7aa7a0c | ||
|
|
01f8da6366 | ||
|
|
9589d47ff7 | ||
|
|
615db0affb | ||
|
|
5ee485e984 | ||
|
|
f48b23fbcf | ||
|
|
f53f4c4536 | ||
|
|
ff71640e8a | ||
|
|
780ba27014 | ||
|
|
40c4b40c77 | ||
|
|
b8f63295b8 | ||
|
|
a0af84faee | ||
|
|
46ca898103 | ||
|
|
f637efdd68 | ||
|
|
5f2a29d5e5 | ||
|
|
3d5abd521b | ||
|
|
e6690aadbe | ||
|
|
40679aae9a | ||
|
|
9abe29593c | ||
|
|
4242eaa6b8 | ||
|
|
450224dc1f | ||
|
|
117e45783e | ||
|
|
65f5ba3676 | ||
|
|
914d36f003 | ||
|
|
8e5203be9e | ||
|
|
a2d706244f | ||
|
|
117cd4f151 | ||
|
|
4af7b88919 | ||
|
|
9f8a054f88 | ||
|
|
56c70d4b0e | ||
|
|
2b4550bb31 | ||
|
|
4efbad1ef7 | ||
|
|
313882ca69 | ||
|
|
86a6e5eb7f | ||
|
|
372cd36497 | ||
|
|
f94fa08002 | ||
|
|
d7e1a97a7c | ||
|
|
fbe9409f86 | ||
|
|
69dce414e7 | ||
|
|
a5be22b900 | ||
|
|
8037c9ea77 | ||
|
|
8760e1821c | ||
|
|
41c3ecd84a | ||
|
|
f730e7ac9c | ||
|
|
8b93df7c10 | ||
|
|
1044e8e80b | ||
|
|
c3c62021e5 | ||
|
|
1ec4066416 | ||
|
|
3451b1c4c0 | ||
|
|
18d2f6fd70 | ||
|
|
5343c61989 | ||
|
|
d99053e368 | ||
|
|
c61f3f4e7c | ||
|
|
27ec4494cb | ||
|
|
f7dc60f946 | ||
|
|
265849eaa9 | ||
|
|
cc639c3b1e | ||
|
|
284af15c46 | ||
|
|
9af62c3ad2 | ||
|
|
9e7e751526 | ||
|
|
9953a354a2 | ||
|
|
89b0efe164 | ||
|
|
c968120fa8 | ||
|
|
ebb3c421c8 | ||
|
|
672969c4eb | ||
|
|
4d5da9c073 | ||
|
|
d5e7f752aa | ||
|
|
789fb8561c | ||
|
|
649c9dfae2 | ||
|
|
2b89d46a74 | ||
|
|
4043da1ea3 | ||
|
|
446fc9fd32 | ||
|
|
40500ad899 | ||
|
|
4da21c1490 | ||
|
|
89b5d9a070 | ||
|
|
42d5640e57 | ||
|
|
86dd30313e | ||
|
|
0f8c934f29 | ||
|
|
54d73eb9a3 | ||
|
|
87203f2cdf | ||
|
|
56e1d4becf | ||
|
|
ad0d9900f3 | ||
|
|
4507dc8394 | ||
|
|
c1f1ae1d27 | ||
|
|
d0d74fa21b | ||
|
|
5bd83f27d1 | ||
|
|
c1dce88020 | ||
|
|
37a0d9c92e | ||
|
|
9472fe5077 | ||
|
|
94d5216bf4 | ||
|
|
3c05dd1f27 | ||
|
|
75c0e1e4ec | ||
|
|
9bc9597413 | ||
|
|
c9c0aa481d | ||
|
|
84be869aaf | ||
|
|
1ab7c504ec | ||
|
|
9c01aa4072 | ||
|
|
6bfc673e1d | ||
|
|
d39a494131 | ||
|
|
47cc15e72d | ||
|
|
38362c9596 | ||
|
|
70d8e5f624 | ||
|
|
df62a8ea63 | ||
|
|
5aff7bc1a8 | ||
|
|
c9858c85e3 | ||
|
|
07d9aebc62 | ||
|
|
ea6b6c7efc | ||
|
|
f85479bc10 | ||
|
|
aec337719e | ||
|
|
c518b94978 | ||
|
|
01d0f4a663 | ||
|
|
eda4bb9b03 | ||
|
|
1f71fb152c | ||
|
|
de57adcd63 | ||
|
|
eed58fcb8d | ||
|
|
fe28e24226 | ||
|
|
bca4f09b64 | ||
|
|
d105573665 | ||
|
|
3c1f49bf73 | ||
|
|
6cc9241cc3 | ||
|
|
b92805522c | ||
|
|
70cd62372c | ||
|
|
6553c6bce1 | ||
|
|
1d13979a58 | ||
|
|
43f8bc3db1 | ||
|
|
9e4e8be6a6 | ||
|
|
d682e4f328 | ||
|
|
9e17d2bc27 | ||
|
|
cab3596843 | ||
|
|
c3edb8e35a | ||
|
|
3d4ec60140 | ||
|
|
4b63a6d1dd | ||
|
|
a49cd1dd3d | ||
|
|
e46697a33b | ||
|
|
5566924edd | ||
|
|
3ed7a86db9 | ||
|
|
e943d9181e | ||
|
|
1984f04c99 | ||
|
|
009bb98240 | ||
|
|
9047fca98f | ||
|
|
783fbce060 | ||
|
|
d470cfeeed | ||
|
|
59ae8dd12d | ||
|
|
098ab90576 | ||
|
|
b749cbfe4e | ||
|
|
67a217f718 | ||
|
|
5fdf678a30 | ||
|
|
e143b7d0fe | ||
|
|
0c449e1503 | ||
|
|
31860540e1 | ||
|
|
811bd81d07 | ||
|
|
01e0634c40 | ||
|
|
28a50bfe08 | ||
|
|
fde90351bc | ||
|
|
7db5b93806 | ||
|
|
f7734a001a | ||
|
|
ee8859c99c | ||
|
|
8cb342786c | ||
|
|
4b0c4e3464 | ||
|
|
28231841f6 | ||
|
|
82a8870d0d | ||
|
|
5f9cdd2cfa | ||
|
|
96b2e2fc47 | ||
|
|
403cb6b584 | ||
|
|
6ebebcb023 | ||
|
|
f981024d5f | ||
|
|
f1bad195e4 | ||
|
|
bc31cc5bab | ||
|
|
2c0ebc8591 | ||
|
|
9699e0bab7 | ||
|
|
4bc1f0c46b | ||
|
|
84d6f3b48f | ||
|
|
16ae178f97 | ||
|
|
8ce3f87dc6 | ||
|
|
d336505b69 | ||
|
|
c04f4ad793 | ||
|
|
70f3f73bc7 | ||
|
|
25a3338c3e | ||
|
|
f5e4cc18de | ||
|
|
321ee19719 | ||
|
|
5b3e69eec7 | ||
|
|
f2f1be927b | ||
|
|
ce63b2d7c5 | ||
|
|
06bd34f2cc | ||
|
|
b906d0aa99 | ||
|
|
33fa3dd0cd | ||
|
|
ebf2547a1f | ||
|
|
16b1eb92cf | ||
|
|
820405a7d7 | ||
|
|
c7789f1ce6 | ||
|
|
7fb6fe0c15 | ||
|
|
7279662fcb | ||
|
|
1bc1883f1a | ||
|
|
049917a0a6 | ||
|
|
43a50dbcb2 | ||
|
|
1a1cc699f2 | ||
|
|
7d77e219d1 | ||
|
|
c42c06666f | ||
|
|
744e57135b | ||
|
|
12d153344b | ||
|
|
f6f014a907 | ||
|
|
48fe265397 | ||
|
|
27e47a741d | ||
|
|
1b270684da | ||
|
|
1d6efd79d2 | ||
|
|
e93c40d45f | ||
|
|
200b6cc0f0 | ||
|
|
64f06f8467 | ||
|
|
ef503257f3 | ||
|
|
49c6f0353e | ||
|
|
10370c6eeb | ||
|
|
c4747d0260 | ||
|
|
c4b1e1550c | ||
|
|
bbfd951a77 | ||
|
|
7f79c77354 | ||
|
|
61954aa7b3 | ||
|
|
9efd1e2b42 | ||
|
|
5af6b04b28 | ||
|
|
1c80c0a0fc | ||
|
|
c639b03df9 | ||
|
|
c2c79f91a3 | ||
|
|
e3fa6d37a6 | ||
|
|
9c632b7f6e | ||
|
|
75a2c54adb | ||
|
|
83d74f6b8c | ||
|
|
039a94d61b | ||
|
|
711f8153a5 | ||
|
|
1c0b07a46e | ||
|
|
c35486d495 | ||
|
|
fed9711f48 | ||
|
|
cba68431f7 | ||
|
|
3ea04b22fb | ||
|
|
c9e6a3f79b | ||
|
|
9293df521b | ||
|
|
495ec89da4 | ||
|
|
fc24c615b2 | ||
|
|
266471533e | ||
|
|
e83d483a8e | ||
|
|
d7eea01efc | ||
|
|
b25632718c | ||
|
|
f346534571 | ||
|
|
51ac52ca57 | ||
|
|
1105f39da0 | ||
|
|
ae6c514dce | ||
|
|
e094e73802 | ||
|
|
39c3509c5f | ||
|
|
c3af3cbb80 | ||
|
|
752b870aba | ||
|
|
766a2ab677 | ||
|
|
b12bfe8a3e | ||
|
|
1c301b1c3a | ||
|
|
ad4dc37e39 | ||
|
|
004a407ae7 | ||
|
|
6fd8d4fd84 | ||
|
|
6b919247c3 | ||
|
|
5ed2d54b6a | ||
|
|
09ac72990c | ||
|
|
933034f3c9 | ||
|
|
f7685f781e | ||
|
|
35f0b539d9 | ||
|
|
e62ef8df99 | ||
|
|
95686be47d | ||
|
|
36c1866f19 | ||
|
|
83a0d186e1 | ||
|
|
23b02c01fc | ||
|
|
02bfa9a7ff | ||
|
|
a3590558d7 | ||
|
|
11166c0e23 | ||
|
|
5178e1be5c | ||
|
|
5673837771 | ||
|
|
d37fe5c29a | ||
|
|
34424b5448 | ||
|
|
d3cc419719 | ||
|
|
0ea798d09d | ||
|
|
848dcee9ae | ||
|
|
ce38362626 | ||
|
|
2c229cc319 | ||
|
|
e36bd6cba9 | ||
|
|
e98c4cce6e | ||
|
|
f7713180b2 | ||
|
|
72391bd1f8 | ||
|
|
e2fa581644 | ||
|
|
7808a325c5 | ||
|
|
9820c460e8 | ||
|
|
1a456fb8a6 | ||
|
|
50fc702281 | ||
|
|
158666f163 | ||
|
|
8c06f968f9 | ||
|
|
4ecf0de172 | ||
|
|
593f1c09f8 | ||
|
|
06ff59c76a | ||
|
|
2929e371b9 | ||
|
|
108936a6e4 | ||
|
|
6c3276926e | ||
|
|
05498fe651 | ||
|
|
27b40fbdcb | ||
|
|
b174c22eb9 | ||
|
|
08dcebc2c2 | ||
|
|
f725597baa | ||
|
|
e9168a8a30 | ||
|
|
3c541df8e1 | ||
|
|
4dff2b75c9 | ||
|
|
eb8ef781b8 | ||
|
|
84494f448a | ||
|
|
7b0ff3b734 | ||
|
|
35a6cbdbdf | ||
|
|
06604f5d9f | ||
|
|
ac90c76db8 | ||
|
|
5299e58341 | ||
|
|
5a8d92f5f9 | ||
|
|
adfcbc2aff | ||
|
|
86a650e996 | ||
|
|
f147b2b131 | ||
|
|
056d396b59 | ||
|
|
399dc18134 | ||
|
|
5573ff5acd | ||
|
|
13b8347fdd | ||
|
|
ab56d750ca | ||
|
|
064f7cfa5d | ||
|
|
f20fefaf87 | ||
|
|
e9b3907859 | ||
|
|
394386385e | ||
|
|
3b2a068099 | ||
|
|
b6a8dd37d0 | ||
|
|
8a168760f5 | ||
|
|
97a0ae1eab | ||
|
|
b7b817533b | ||
|
|
6a6dc16c82 | ||
|
|
df755291e6 | ||
|
|
6d960078e8 | ||
|
|
4e7b3195bf | ||
|
|
c338f461c9 | ||
|
|
c760a8099e | ||
|
|
409ec3c3fa | ||
|
|
29c6e56e02 | ||
|
|
ed53ec424d | ||
|
|
4c5c460f82 | ||
|
|
7b2751cccd | ||
|
|
4f4720dafb | ||
|
|
6dbe9e9837 | ||
|
|
1ff72cbcc8 | ||
|
|
ce994040d2 | ||
|
|
773b2d37a4 | ||
|
|
777eb9dd43 | ||
|
|
4f41fc94e2 | ||
|
|
236cc9530b | ||
|
|
8543ac6da5 | ||
|
|
078afeb1e8 | ||
|
|
b215c74ad3 | ||
|
|
78fa20058f | ||
|
|
0146c7d235 | ||
|
|
a5e2853518 | ||
|
|
0a2ea1f35e | ||
|
|
412efb6ceb | ||
|
|
d349b2f0d4 | ||
|
|
ba9e48e5b1 | ||
|
|
41f0782db4 | ||
|
|
b3ea81e596 | ||
|
|
d18426eecd | ||
|
|
02d15c395b | ||
|
|
39cccd09b1 | ||
|
|
f26d78a0d7 | ||
|
|
0529b8e7a9 | ||
|
|
98c3a5b8d0 | ||
|
|
a7dd409f1a | ||
|
|
67476032e0 | ||
|
|
e582ca38fc | ||
|
|
305d6d84ce | ||
|
|
c99266dd54 | ||
|
|
239501c3d8 | ||
|
|
d940da490e | ||
|
|
3bda0cf566 | ||
|
|
2b4895851b | ||
|
|
c7034e7c26 | ||
|
|
4962e36bbc | ||
|
|
1dc96c18c9 | ||
|
|
a7c34b348e | ||
|
|
97d5f6cbfb | ||
|
|
30e36e8098 | ||
|
|
530f4cb629 | ||
|
|
1dc26d1b93 | ||
|
|
19b0f47827 | ||
|
|
4c2fed677f | ||
|
|
02b4ce50e5 | ||
|
|
1421546baf | ||
|
|
2a30f5263a | ||
|
|
2d5d8ba84f | ||
|
|
529fa5656b | ||
|
|
3354c93b06 | ||
|
|
5abc025f9e | ||
|
|
5d3f498138 | ||
|
|
ef42cb11d0 | ||
|
|
f61dfdf787 | ||
|
|
46d9f952c2 | ||
|
|
d74b347373 | ||
|
|
cbf42ee063 | ||
|
|
c5c33be00f | ||
|
|
9b42b45cfb | ||
|
|
0fb344d0c2 | ||
|
|
172182357b | ||
|
|
b2b176be0d | ||
|
|
ff409ab7c0 | ||
|
|
9f6106cfe9 | ||
|
|
2ba9e7a6bb | ||
|
|
9570d2d0e1 | ||
|
|
e4d0dd2d36 | ||
|
|
3525e6e8a7 | ||
|
|
b3580c3e43 | ||
|
|
eb2947213d | ||
|
|
0e252fc4d7 | ||
|
|
68165ca7ad | ||
|
|
6554973e2b | ||
|
|
545a627c03 | ||
|
|
523446f9f4 | ||
|
|
f4e9d3208a | ||
|
|
9d3b7ba32c | ||
|
|
24e91216f7 | ||
|
|
fdbe51e7fa | ||
|
|
715cd58813 | ||
|
|
3c8e0fbd16 | ||
|
|
4c88d2371c | ||
|
|
9b52b1d396 | ||
|
|
9d4c76153d | ||
|
|
66391f4c9c | ||
|
|
9869edfb38 | ||
|
|
77199531ee | ||
|
|
e712eb4460 | ||
|
|
b4b3978ae5 | ||
|
|
2362310aba | ||
|
|
ff3b86ec2e | ||
|
|
712db31a43 | ||
|
|
c8939a2792 | ||
|
|
903bd0b091 | ||
|
|
3dd7dcd53c | ||
|
|
5cf2ff2ea3 | ||
|
|
4d1349a328 | ||
|
|
9ef29df947 | ||
|
|
26794add9a | ||
|
|
ee878c66ce | ||
|
|
79b3ce4bb6 | ||
|
|
4e3455157c | ||
|
|
ae20bd3382 | ||
|
|
5980708f00 | ||
|
|
45740a4bc7 | ||
|
|
1c22db6ecf | ||
|
|
5caeb26d1a | ||
|
|
fa7627853a | ||
|
|
821c45934f | ||
|
|
9db7fdc6d3 | ||
|
|
bb6377c54d | ||
|
|
193c30cea0 | ||
|
|
9b3faf92a4 | ||
|
|
f3be8346cb | ||
|
|
40e8fc3963 | ||
|
|
f2dddbbbb6 | ||
|
|
0599f4e949 | ||
|
|
43d899986e | ||
|
|
1d705f58b6 | ||
|
|
f18e749e93 | ||
|
|
76482ec8d7 | ||
|
|
9d265996f9 | ||
|
|
98754c03a3 | ||
|
|
33b1d317e9 | ||
|
|
829177ad75 | ||
|
|
a606f2f16d | ||
|
|
c4940bcd21 | ||
|
|
d7d389c896 | ||
|
|
e977c7fffa | ||
|
|
be4672d11e | ||
|
|
bc78a5d761 | ||
|
|
395e11e74e | ||
|
|
cbcfc9a48b | ||
|
|
fea20d1a65 | ||
|
|
723af38417 | ||
|
|
67c0b8c0b7 | ||
|
|
e12aaf2c67 | ||
|
|
bfbb58fef4 | ||
|
|
5b34dc88bd | ||
|
|
8281b8ddc7 | ||
|
|
f1416ed557 | ||
|
|
87092a5185 | ||
|
|
b8055c1d0b | ||
|
|
34faa0d074 | ||
|
|
3588df5efd | ||
|
|
b19df01b49 | ||
|
|
e3772227a6 | ||
|
|
219d868e30 | ||
|
|
7f963ac4bc | ||
|
|
0bd2428e6c | ||
|
|
71e34e2194 | ||
|
|
5673436a78 | ||
|
|
83289224cc | ||
|
|
919828fd32 | ||
|
|
d41a990e97 | ||
|
|
94c20b44f5 | ||
|
|
9ed8f3497c | ||
|
|
83b586f000 | ||
|
|
5d66d3da88 | ||
|
|
d9187f124d | ||
|
|
9f5cac26e9 | ||
|
|
d17c31d725 | ||
|
|
385a791237 | ||
|
|
06706c857c | ||
|
|
d913145fe2 | ||
|
|
d504d28dc4 | ||
|
|
af0b22aba9 | ||
|
|
44144b40ce | ||
|
|
353860d0ba | ||
|
|
4b3fbb3f75 | ||
|
|
3bedabc3d4 | ||
|
|
680c4b7976 | ||
|
|
98ac81b6ca | ||
|
|
9117673bed | ||
|
|
680811d2d0 | ||
|
|
fb6d9b852d | ||
|
|
a8f7ea5594 | ||
|
|
55cad51d8f | ||
|
|
40e2b10915 | ||
|
|
c3edcbfcf5 | ||
|
|
4cfe996679 | ||
|
|
cf31982127 | ||
|
|
7e78209474 | ||
|
|
32fce8eaea | ||
|
|
e92c680586 | ||
|
|
bc04703ce7 | ||
|
|
0b7224f038 | ||
|
|
4431c4799e | ||
|
|
0df8c10619 | ||
|
|
e45882e846 | ||
|
|
ba9dc35f87 | ||
|
|
2a8f1e0e3d | ||
|
|
3639557118 | ||
|
|
ec186794c6 | ||
|
|
a285fa192f | ||
|
|
7b1bc65117 | ||
|
|
bcd5e3faa0 | ||
|
|
f97b44abf8 | ||
|
|
0919c8253c | ||
|
|
92f4c10ba1 | ||
|
|
dd72120379 | ||
|
|
d7f34b494c | ||
|
|
dfd95f05aa | ||
|
|
9c94cc5732 | ||
|
|
6f11471e3f | ||
|
|
ffc941016b | ||
|
|
de7812558e | ||
|
|
68cb10f44d | ||
|
|
945eaef277 | ||
|
|
a68d247a44 | ||
|
|
26873682b8 | ||
|
|
f2b2280f19 | ||
|
|
1602840ed1 | ||
|
|
43bd622e29 | ||
|
|
c3f5c972af | ||
|
|
b4c1b4a50c | ||
|
|
1418df6ee4 | ||
|
|
0ba1ccfabb | ||
|
|
acf9f89151 | ||
|
|
57d35e126d | ||
|
|
51c59f89eb | ||
|
|
8c1fe7c21b | ||
|
|
611aeb46a7 | ||
|
|
9ba61c346f | ||
|
|
4862acdc0e |
76
.babelrc
@@ -1,77 +1,3 @@
|
||||
{
|
||||
"env": {
|
||||
"ui": {
|
||||
"presets": [
|
||||
"react",
|
||||
["env",{
|
||||
"targets": {
|
||||
"browsers": [
|
||||
"last 5 versions",
|
||||
"FireFox >= 44",
|
||||
"Safari >= 7",
|
||||
"Explorer 11",
|
||||
"last 4 Edge versions"
|
||||
],
|
||||
"loose": true
|
||||
}
|
||||
}],
|
||||
"stage-2",
|
||||
"stage-3"
|
||||
],
|
||||
"plugins": [
|
||||
"react-hot-loader/babel",
|
||||
"transform-runtime",
|
||||
"transform-object-rest-spread",
|
||||
"transform-decorators-legacy",
|
||||
"syntax-dynamic-import"
|
||||
]
|
||||
},
|
||||
"test": {
|
||||
"presets": [["env", {
|
||||
"targets": {
|
||||
"node": "6.10"
|
||||
}
|
||||
}], "flow", "react"],
|
||||
"plugins": [
|
||||
"transform-class-properties",
|
||||
"transform-object-rest-spread",
|
||||
"babel-plugin-dynamic-import-node"
|
||||
]
|
||||
},
|
||||
"testOldEnv": {
|
||||
"presets": [ "es2015-node4", "flow"],
|
||||
"plugins": [
|
||||
"transform-class-properties",
|
||||
"transform-object-rest-spread"
|
||||
]
|
||||
},
|
||||
"registry": {
|
||||
"presets": [
|
||||
["env", {
|
||||
"targets": {
|
||||
"node": "6.10"
|
||||
}
|
||||
}], "stage-3", "flow"],
|
||||
"plugins": [
|
||||
"transform-object-rest-spread",
|
||||
"transform-class-properties"
|
||||
]
|
||||
},
|
||||
"registry-docker": {
|
||||
"presets": [
|
||||
["env", {
|
||||
"targets": {
|
||||
"node": "10"
|
||||
}
|
||||
}], "flow"],
|
||||
"plugins": [
|
||||
"transform-object-rest-spread",
|
||||
"transform-class-properties"
|
||||
]
|
||||
},
|
||||
"development": {
|
||||
"presets": ["flow"],
|
||||
"plugins": ["flow-runtime"]
|
||||
}
|
||||
}
|
||||
"presets": [["@verdaccio", {"typescript": true}]]
|
||||
}
|
||||
|
||||
@@ -3,23 +3,23 @@ version: 2
|
||||
aliases:
|
||||
- &defaults
|
||||
working_directory: ~/verdaccio
|
||||
- &node6_executor
|
||||
docker:
|
||||
- image: circleci/node:6
|
||||
- &node8_executor
|
||||
docker:
|
||||
- image: circleci/node:8
|
||||
- &node9_executor
|
||||
- &node12_browser_executor
|
||||
docker:
|
||||
- image: circleci/node:9
|
||||
- &node9_browser_executor
|
||||
docker:
|
||||
- image: circleci/node:9-browsers
|
||||
- image: circleci/node:12-browsers
|
||||
- &node10_executor
|
||||
docker:
|
||||
- image: circleci/node:10
|
||||
- &node11_executor
|
||||
docker:
|
||||
- image: circleci/node:11
|
||||
- &node12_executor
|
||||
docker:
|
||||
- image: circleci/node:12
|
||||
- &default_executor
|
||||
<<: *node9_executor
|
||||
<<: *node12_executor
|
||||
- &repo_key
|
||||
repo-{{ .Branch }}-{{ .Revision }}
|
||||
- &coverage_key
|
||||
@@ -29,9 +29,8 @@ aliases:
|
||||
- &yarn_cache_key
|
||||
yarn-sha-{{ checksum "yarn.lock" }}
|
||||
- &restore_repo
|
||||
restore_cache:
|
||||
keys:
|
||||
- *repo_key
|
||||
attach_workspace:
|
||||
at: ~/verdaccio
|
||||
- &ignore_non_dev_branches
|
||||
filters:
|
||||
tags:
|
||||
@@ -41,41 +40,20 @@ aliases:
|
||||
- gh-pages
|
||||
- l10n_master
|
||||
- /release\/.*/
|
||||
- &execute_on_release
|
||||
filters:
|
||||
tags:
|
||||
only: /v?[0-9]+(\.[0-9]+)+([-+\.][0-9a-zA-Z]+)*/
|
||||
branches:
|
||||
ignore:
|
||||
- /.*/
|
||||
|
||||
jobs:
|
||||
prepare:
|
||||
<<: *defaults
|
||||
<<: *default_executor
|
||||
steps:
|
||||
- *restore_repo
|
||||
- checkout
|
||||
- restore_cache:
|
||||
key: *base_config_key
|
||||
- run:
|
||||
name: 'Base environment setup'
|
||||
command: |
|
||||
git config --global user.email "verdacciobot@users.noreply.github.com"
|
||||
git config --global user.name "Verdaccio bot for Deployments"
|
||||
echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
|
||||
echo "machine github.com login verdacciobot password $GITHUB_TOKEN" > ~/.netrc
|
||||
- save_cache:
|
||||
key: *base_config_key
|
||||
paths:
|
||||
- ~/.npmrc
|
||||
- ~/.gitconfig
|
||||
- ~/.netrc
|
||||
- restore_cache:
|
||||
key: *yarn_cache_key
|
||||
- run:
|
||||
name: Install Js dependencies
|
||||
command: yarn install --no-progress
|
||||
command: yarn install --no-progress --registry https://registry.verdaccio.org
|
||||
- run:
|
||||
name: Prepare CI
|
||||
command: yarn run pre:ci
|
||||
@@ -88,19 +66,10 @@ jobs:
|
||||
- ~/.yarn
|
||||
- ~/.cache/yarn
|
||||
- node_modules
|
||||
- save_cache:
|
||||
key: *repo_key
|
||||
- persist_to_workspace:
|
||||
root: ~/verdaccio
|
||||
paths:
|
||||
- ~/verdaccio
|
||||
|
||||
test_node6:
|
||||
<<: *defaults
|
||||
<<: *node6_executor
|
||||
steps:
|
||||
- *restore_repo
|
||||
- run:
|
||||
name: Test with Node 6
|
||||
command: yarn run test
|
||||
- ./*
|
||||
|
||||
test_node8:
|
||||
<<: *defaults
|
||||
@@ -111,23 +80,7 @@ jobs:
|
||||
name: Test with Node 8
|
||||
command: |
|
||||
yarn test
|
||||
yarn test:functional
|
||||
|
||||
test_node9:
|
||||
<<: *defaults
|
||||
<<: *default_executor
|
||||
steps:
|
||||
- *restore_repo
|
||||
- run:
|
||||
name: Test with Node 9
|
||||
command: |
|
||||
yarn test
|
||||
yarn test:functional
|
||||
- save_cache:
|
||||
key: *coverage_key
|
||||
paths:
|
||||
- coverage
|
||||
|
||||
yarn test:functional
|
||||
test_node10:
|
||||
<<: *defaults
|
||||
<<: *node10_executor
|
||||
@@ -139,24 +92,36 @@ jobs:
|
||||
yarn run test
|
||||
yarn test:functional
|
||||
|
||||
test_node11:
|
||||
<<: *defaults
|
||||
<<: *node11_executor
|
||||
steps:
|
||||
- *restore_repo
|
||||
- run:
|
||||
name: Test with Node 11
|
||||
command: |
|
||||
yarn run test
|
||||
yarn test:functional
|
||||
|
||||
test_node12:
|
||||
<<: *defaults
|
||||
<<: *node12_executor
|
||||
steps:
|
||||
- *restore_repo
|
||||
- run:
|
||||
name: Test with Node 12
|
||||
command: |
|
||||
yarn run test
|
||||
yarn test:functional
|
||||
|
||||
test_e2e:
|
||||
<<: *defaults
|
||||
<<: *node9_browser_executor
|
||||
<<: *node12_browser_executor
|
||||
steps:
|
||||
- *restore_repo
|
||||
- run:
|
||||
name: Test End-to-End
|
||||
command: yarn run test:e2e
|
||||
|
||||
test_size:
|
||||
<<: *defaults
|
||||
<<: *default_executor
|
||||
steps:
|
||||
- *restore_repo
|
||||
- run:
|
||||
name: Test size
|
||||
command: yarn test:size
|
||||
|
||||
coverage:
|
||||
<<: *defaults
|
||||
<<: *default_executor
|
||||
@@ -176,81 +141,37 @@ jobs:
|
||||
- store_test_results:
|
||||
path: coverage/clover.xml
|
||||
|
||||
publish_gh_pages:
|
||||
<<: *defaults
|
||||
<<: *default_executor
|
||||
steps:
|
||||
- *restore_repo
|
||||
- restore_cache:
|
||||
key: *base_config_key
|
||||
- run:
|
||||
name: Publish gh-pages
|
||||
command: |
|
||||
cd website
|
||||
yarn install
|
||||
GIT_USER=verdacciobot USE_SSH=false yarn run publish-gh-pages
|
||||
|
||||
publish_package:
|
||||
<<: *defaults
|
||||
<<: *default_executor
|
||||
steps:
|
||||
- *restore_repo
|
||||
- restore_cache:
|
||||
key: *base_config_key
|
||||
- run:
|
||||
name: Publish
|
||||
command: scripts/publish.sh
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
workflow:
|
||||
jobs:
|
||||
- prepare:
|
||||
<<: *ignore_non_dev_branches
|
||||
- test_node6:
|
||||
requires:
|
||||
- prepare
|
||||
<<: *ignore_non_dev_branches
|
||||
- test_node8:
|
||||
requires:
|
||||
- prepare
|
||||
<<: *ignore_non_dev_branches
|
||||
- test_node9:
|
||||
requires:
|
||||
- prepare
|
||||
<<: *ignore_non_dev_branches
|
||||
- test_node10:
|
||||
requires:
|
||||
- prepare
|
||||
<<: *ignore_non_dev_branches
|
||||
- test_e2e:
|
||||
- test_node11:
|
||||
requires:
|
||||
- prepare
|
||||
- prepare
|
||||
<<: *ignore_non_dev_branches
|
||||
- test_size:
|
||||
- test_node12:
|
||||
requires:
|
||||
- prepare
|
||||
<<: *ignore_non_dev_branches
|
||||
- test_e2e:
|
||||
requires:
|
||||
- prepare
|
||||
<<: *ignore_non_dev_branches
|
||||
- coverage:
|
||||
requires:
|
||||
- test_node6
|
||||
- test_node8
|
||||
- test_node9
|
||||
- test_node10
|
||||
- test_node11
|
||||
- test_node12
|
||||
- test_e2e
|
||||
- test_size
|
||||
<<: *ignore_non_dev_branches
|
||||
- publish_gh_pages:
|
||||
requires:
|
||||
- test_node6
|
||||
- test_node8
|
||||
- test_node9
|
||||
- test_node10
|
||||
- test_e2e
|
||||
- test_size
|
||||
<<: *execute_on_release
|
||||
- publish_package:
|
||||
requires:
|
||||
- coverage
|
||||
- publish_gh_pages
|
||||
<<: *execute_on_release
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# we try to aoid adding files to the docker images that change often
|
||||
# we try to avoid adding files to the docker images that change often
|
||||
# or that are not needed for running the docker image
|
||||
# tis greatly reduces the amount of times we need to rerun `npm install` when building image locally
|
||||
# this greatly reduces the amount of times we need to rerun `npm install` when building image locally
|
||||
# https://codefresh.io/blog/not-ignore-dockerignore/
|
||||
# https://docs.docker.com/engine/reference/builder/#dockerignore-file
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
# e.g.
|
||||
!.babelrc
|
||||
!.eslintrc
|
||||
!.prettierrc
|
||||
!.eslintignore
|
||||
!.stylelintrc
|
||||
!.flowconfig
|
||||
@@ -28,6 +29,6 @@ coverage/
|
||||
jsconfig.json
|
||||
*.iml
|
||||
|
||||
# let's not get to recursive ;)
|
||||
# let's not get too recursive ;)
|
||||
Dockerfile*
|
||||
docker-compose*.yaml
|
||||
|
||||
@@ -5,3 +5,15 @@ static/
|
||||
flow-typed/
|
||||
website/
|
||||
build/
|
||||
*.md
|
||||
*.lock
|
||||
*.yaml
|
||||
Dockerfile
|
||||
*.rpi
|
||||
*.html
|
||||
*.scss
|
||||
*.png
|
||||
*.jpg
|
||||
*.sh
|
||||
test/unit/partials/
|
||||
types/custom.d.ts
|
||||
49
.eslintrc
@@ -1,48 +1,13 @@
|
||||
{
|
||||
"plugins": [
|
||||
"react",
|
||||
"flowtype",
|
||||
"jest"
|
||||
],
|
||||
"extends": [
|
||||
"eslint:recommended",
|
||||
"google",
|
||||
"plugin:react/recommended",
|
||||
"plugin:flowtype/recommended",
|
||||
"plugin:jest/recommended"
|
||||
"@verdaccio"
|
||||
],
|
||||
"parser": "babel-eslint",
|
||||
"parserOptions": {
|
||||
"sourceType": "module",
|
||||
"ecmaVersion": 7,
|
||||
"ecmaFeatures": {
|
||||
"impliedStrict": true,
|
||||
"jsx": true
|
||||
}
|
||||
},
|
||||
"env": {
|
||||
"browser": true,
|
||||
"node": true,
|
||||
"es6": true,
|
||||
"jest": true
|
||||
},
|
||||
"globals": {
|
||||
"__APP_VERSION__": true
|
||||
},
|
||||
"rules": {
|
||||
"no-useless-escape": 2,
|
||||
"react/no-deprecated": 1,
|
||||
"react/jsx-no-target-blank": 1,
|
||||
"handle-callback-err": 2,
|
||||
"no-fallthrough": 2,
|
||||
"no-new-require": 2,
|
||||
"max-len": [2, 160],
|
||||
"camelcase": 0,
|
||||
"require-jsdoc": 0,
|
||||
"valid-jsdoc": 0,
|
||||
"prefer-spread": 1,
|
||||
"prefer-rest-params": 1,
|
||||
"linebreak-style": 0,
|
||||
"quote-props":["error", "as-needed"]
|
||||
"@typescript-eslint/no-var-requires": ["warn"],
|
||||
"@typescript-eslint/no-use-before-define": 0,
|
||||
"@typescript-eslint/array-type": ["warn"],
|
||||
"@typescript-eslint/no-explicit-any": 0,
|
||||
"@typescript-eslint/indent": 0,
|
||||
"@typescript-eslint/interface-name-prefix": 0
|
||||
}
|
||||
}
|
||||
|
||||
25
.flowconfig
@@ -1,25 +0,0 @@
|
||||
[ignore]
|
||||
.*/node_modules/.*
|
||||
.*/test/**/*.json
|
||||
.*/static/.*
|
||||
.*/test/unit/partials/.*
|
||||
.*/.nyc_output/.*
|
||||
.*/coverage/.*
|
||||
.*/.vscode/.*
|
||||
.*/build/.*
|
||||
.*/docs/.*
|
||||
.*/scripts/.*
|
||||
.*/assets/.*
|
||||
.*/bin/.*
|
||||
.*/systemd/.*
|
||||
.*/website/.*
|
||||
.*/wiki/.*
|
||||
.*/docs/.*
|
||||
.*/tools/.*
|
||||
|
||||
[libs]
|
||||
node_modules/@verdaccio/types/lib/
|
||||
|
||||
[options]
|
||||
suppress_comment= \\(.\\|\n\\)*\\$FlowFixMe
|
||||
module.ignore_non_literal_requires=true
|
||||
1
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1 @@
|
||||
open_collective: verdaccio
|
||||
41
.github/ISSUE_TEMPLATE/Bug_report.md
vendored
@@ -1,13 +1,24 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
|
||||
---
|
||||
|
||||
<!--
|
||||
Hi folk, please read carefully the following points, all this information is what you need to share and make the process efficient
|
||||
so eveyrbody can understand your issue, please notice if you don't fill any of this points our friendly boot will remind you to do it or
|
||||
close automatically the issue. Removing the sections you considere are irrelevant for your issue is totally ok.
|
||||
|
||||
If you have questions, you might rather join use over Discord https://chat.verdaccio.org
|
||||
|
||||
As reminder, we have code of conduct all of us we must follow https://github.com/verdaccio/verdaccio/blob/master/CODE_OF_CONDUCT.md
|
||||
-->
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
<!-- A clear and concise description of what the bug is. -->
|
||||
|
||||
**To Reproduce**
|
||||
<!-- How to reproduce the issue -->
|
||||
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
@@ -15,23 +26,41 @@ Steps to reproduce the behavior:
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
<!-- A clear and concise description of what you expected to happen. -->
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Docker || Kubernetes (please complete the following information):**
|
||||
- Docker verdaccio tag: [e.g. verdaccio:beta]
|
||||
- Docker verdaccio tag: [e.g. verdaccio:4.x]
|
||||
- Docker commands [e.g. docker pull ...]
|
||||
- Docker Version [e.g. v18.05.0-ce-rc1]
|
||||
|
||||
**Configuration File (cat ~/.config/verdaccio/config.yaml)**
|
||||
**Configuration File (cat ~/.config/verdaccio/config.yaml)**
|
||||
|
||||
<!-- Please be careful do not leak any sensitive information, remove tokens -->
|
||||
|
||||
**Environment information**
|
||||
|
||||
<!--
|
||||
Please paste the results of `verdaccio --info` here (only if you are using >4.0.0).
|
||||
Share, Node.js, node package manager used (npm, yarn or pnpm) and the version.
|
||||
The verdaccio version is really important, run `verdaccio --version` if you don't know it.
|
||||
-->
|
||||
|
||||
**Debugging output**
|
||||
<!-- If you are contributing and need to share internal stuff, here some useful commands to get more verbose output -->
|
||||
|
||||
- `$ NODE_DEBUG=request verdaccio` display request calls (verdaccio <--> uplinks)
|
||||
- `$ DEBUG=express:* verdaccio` enable extreme verdaccio debug mode (verdaccio api)
|
||||
- `$ npm -ddd` prints:
|
||||
- `$ npm config get registry` prints:
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
|
||||
<!--
|
||||
|
||||
If there is something else to share, screenshots, log files, or link references to other tickets.
|
||||
IMPORTANT: please do not attach log files, rather copy the content so is indexable for future search.
|
||||
-->
|
||||
|
||||
|
||||
32
.github/issue_template.md
vendored
@@ -1,32 +0,0 @@
|
||||
<!--
|
||||
First of all, please read this section
|
||||
|
||||
https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md#reporting-a-bug
|
||||
|
||||
Some advices before file an issue
|
||||
* Give a brief explanation of the issue, suggestion or feature to request.
|
||||
* If the issue is a question, provide as much information you have available.
|
||||
* How can I do in order to reproduce it? What environment?
|
||||
* Define which version the issue happens and whether previous version the behaviour is correct.
|
||||
* Provide your config file is really helpful. Please be aware to hide sensisive data (passwords, server IP, etc) before post.
|
||||
-->
|
||||
|
||||
#### My reason:
|
||||
#### Steps to reproduce:
|
||||
#### App Version:
|
||||
#### Config file:
|
||||
#### Additional information:
|
||||
|
||||
- `$ NODE_DEBUG=request verdaccio` display request calls (verdaccio <--> uplinks)
|
||||
- `$ DEBUG=express:* verdaccio` enable extreme verdaccio debug mode (verdaccio api)
|
||||
- `$ npm -ddd` prints:
|
||||
- `$ npm config get registry` prints:
|
||||
- Verdaccio terminal output
|
||||
- Which (Windows, OS X/macOS, or Linux) environment are you running verdaccio?:
|
||||
- Verdaccio configuration file, eg: `cat ~/.config/verdaccio/config.yaml`
|
||||
- Container Options:
|
||||
- Docker?:
|
||||
- Kubernetes?:
|
||||
|
||||
#### Additional verbose log:
|
||||
|
||||
16
.github/lock.yml
vendored
@@ -1,7 +1,7 @@
|
||||
# Configuration for lock-threads - https://github.com/dessant/lock-threads
|
||||
|
||||
# Number of days of inactivity before a closed issue or pull request is locked
|
||||
daysUntilLock: 365
|
||||
daysUntilLock: 90
|
||||
|
||||
# Issues and pull requests with these labels will not be locked. Set to `[]` to disable
|
||||
exemptLabels: []
|
||||
@@ -11,9 +11,15 @@ lockLabel: false
|
||||
|
||||
# Comment to post before locking. Set to `false` to disable
|
||||
lockComment: >
|
||||
This thread has been automatically locked since there has not been
|
||||
any recent activity after it was closed. Please open a new issue for
|
||||
related bugs.
|
||||
🤖This thread has been automatically locked 🔒 since there has not been
|
||||
any recent activity after it was closed.
|
||||
|
||||
We lock tickets after 90 days with the idea to encourage you to open a ticket with new fresh data
|
||||
and to provide you better feedback 🤝and better visibility 👀.
|
||||
|
||||
If you consider, can attach this ticket 📨to the new one as a reference for better context.
|
||||
|
||||
Thanks for being a part of the Verdaccio community! 💘
|
||||
|
||||
# Limit to only `issues` or `pulls`
|
||||
# only: issues
|
||||
@@ -25,4 +31,4 @@ issues:
|
||||
lockLabel: outdated
|
||||
|
||||
pulls:
|
||||
daysUntilLock: 180
|
||||
daysUntilLock: 10
|
||||
|
||||
97
.github/main.workflow
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
workflow "Docker && Publish Pre-check" {
|
||||
resolves = [
|
||||
"Docker build health check",
|
||||
"Test Publish Verdaccio",
|
||||
]
|
||||
on = "push"
|
||||
}
|
||||
|
||||
action "Docker build health check" {
|
||||
uses = "actions/docker/cli@8cdf801b322af5f369e00d85e9cf3a7122f49108"
|
||||
args = "build ."
|
||||
env = {
|
||||
VERDACCIO_BUILD_REGISTRY = "https://registry.verdaccio.org"
|
||||
}
|
||||
}
|
||||
|
||||
action "Test Publish Verdaccio" {
|
||||
uses = "verdaccio/github-actions/publish@v0.1.0"
|
||||
needs = ["Docker build health check"]
|
||||
args = "-d"
|
||||
}
|
||||
|
||||
workflow "release" {
|
||||
resolves = [
|
||||
"github-release",
|
||||
"release:lint",
|
||||
"release:build",
|
||||
]
|
||||
on = "push"
|
||||
}
|
||||
|
||||
action "release:tag-filter" {
|
||||
uses = "actions/bin/filter@master"
|
||||
args = "tag v*"
|
||||
}
|
||||
|
||||
action "release:install" {
|
||||
uses = "docker://node:10"
|
||||
needs = ["release:tag-filter"]
|
||||
args = "yarn install --frozen-lockfile"
|
||||
}
|
||||
|
||||
action "release:build" {
|
||||
uses = "docker://node:10"
|
||||
needs = ["release:install"]
|
||||
args = "yarn run code:build"
|
||||
}
|
||||
|
||||
action "release:lint" {
|
||||
uses = "docker://node:10"
|
||||
needs = ["release:install"]
|
||||
args = "yarn run lint"
|
||||
}
|
||||
|
||||
action "release:publish" {
|
||||
needs = ["release:build"]
|
||||
uses = "docker://node:10"
|
||||
args = "sh scripts/publish.sh"
|
||||
secrets = [
|
||||
"REGISTRY_AUTH_TOKEN",
|
||||
]
|
||||
env = {
|
||||
REGISTRY_URL = "registry.npmjs.org"
|
||||
}
|
||||
}
|
||||
|
||||
action "github-release" {
|
||||
needs = ["release:publish"]
|
||||
uses = "docker://node:10"
|
||||
args = "sh scripts/github-release.sh"
|
||||
secrets = [
|
||||
"GITHUB_TOKEN",
|
||||
]
|
||||
}
|
||||
|
||||
action "branch-filter" {
|
||||
uses = "actions/bin/filter@master"
|
||||
args = "branch"
|
||||
}
|
||||
|
||||
action "install" {
|
||||
needs = ["branch-filter"]
|
||||
uses = "docker://node:10"
|
||||
args = "yarn install --frozen-lockfile"
|
||||
}
|
||||
|
||||
action "build" {
|
||||
uses = "docker://node:10"
|
||||
needs = ["install"]
|
||||
args = "yarn run code:build"
|
||||
}
|
||||
|
||||
action "lint" {
|
||||
uses = "docker://node:10"
|
||||
needs = ["install"]
|
||||
args = "yarn run lint"
|
||||
}
|
||||
30
.github/stale.yml
vendored
@@ -1,20 +1,26 @@
|
||||
# Number of days of inactivity before an issue becomes stale
|
||||
daysUntilStale: 60
|
||||
daysUntilStale: 15
|
||||
# Number of days of inactivity before a stale issue is closed
|
||||
daysUntilClose: 15
|
||||
daysUntilClose: 10
|
||||
# Issues with these labels will never be considered stale
|
||||
exemptLabels:
|
||||
- High Priority
|
||||
- Feature Request
|
||||
- need verification
|
||||
- bug
|
||||
- discuss
|
||||
- dev: high priority
|
||||
- topic: feature request
|
||||
- issue: need verification
|
||||
- issue: bug
|
||||
- dev: discuss
|
||||
# Label to use when marking an issue as stale
|
||||
staleLabel: wontfix
|
||||
staleLabel: issue: wontfix
|
||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This issue has been automatically marked as stale because it has not had
|
||||
recent activity. It will be closed if no further activity occurs. Thank you
|
||||
for your contributions.
|
||||
Hi pal 👋🏼!
|
||||
|
||||
This issue has gone quiet 😶.
|
||||
|
||||
We get a lot of issues, so we currently close issues after 25 days of inactivity. It’s been at least 15 days since the last update here.
|
||||
If we missed this issue or if you want to keep it open, please reply here. You can also add/suggest the label "discuss" to keep this issue open!
|
||||
As a friendly reminder: the best way to see this issue, or any other, fixed is to open a Pull Request. Check out [https://github.com/verdaccio/contributing](https://github.com/verdaccio/contributing) for more information about opening PRs, triaging issues, and contributing!
|
||||
|
||||
Thanks for being a part of the Verdaccio community! 💘
|
||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||
closeComment: false
|
||||
closeComment: false
|
||||
|
||||
9
.gitignore
vendored
@@ -3,6 +3,14 @@ verdaccio-*.tgz
|
||||
.DS_Store
|
||||
build/
|
||||
|
||||
### Test
|
||||
|
||||
test/unit/partials/store/test-*-storage/*
|
||||
test/unit/partials/store/*-storage/*
|
||||
test/unit/partials/store/storage_default_storage/*
|
||||
.verdaccio-db.json
|
||||
.sinopia-db.json
|
||||
|
||||
###
|
||||
!bin/verdaccio
|
||||
test-storage*
|
||||
@@ -10,7 +18,6 @@ access-storage*
|
||||
.verdaccio_test_env
|
||||
node_modules
|
||||
package-lock.json
|
||||
build/
|
||||
npm_test-fails-add-tarball*
|
||||
yarn-error.log
|
||||
|
||||
|
||||
13
.npmignore
@@ -4,10 +4,7 @@ npm-debug.log
|
||||
yarn-error.log
|
||||
node_modules
|
||||
verdaccio-*.tgz
|
||||
|
||||
renovate.json
|
||||
docker-compose.yaml
|
||||
Dockerfile.rpi
|
||||
Dockerfile
|
||||
crowdin.yaml
|
||||
scripts/
|
||||
@@ -17,12 +14,9 @@ src/
|
||||
.circleci/
|
||||
debug/
|
||||
|
||||
# build ui
|
||||
tools/
|
||||
|
||||
## assets and website
|
||||
assets/
|
||||
website/
|
||||
|
||||
## docs
|
||||
docs/
|
||||
@@ -40,6 +34,9 @@ __mocks__/
|
||||
jestEnvironment.js
|
||||
test/jest.e2e.config.js
|
||||
test/jest.config.functional.js
|
||||
jest.config.unit.js
|
||||
|
||||
jest.config.js
|
||||
|
||||
# misc
|
||||
contrib/
|
||||
storage_default_storage/
|
||||
docker-bin/
|
||||
|
||||
12
.prettierrc
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"useTabs": false,
|
||||
"printWidth": 160,
|
||||
"tabWidth": 2,
|
||||
"singleQuote": true,
|
||||
"requirePragma": true,
|
||||
"bracketSpacing": true,
|
||||
"jsxBracketSameLine": true,
|
||||
"trailingComma": "es5",
|
||||
"semi": true,
|
||||
"parser": "typescript"
|
||||
}
|
||||
45
.stylelintrc
@@ -1,8 +1,41 @@
|
||||
{
|
||||
"extends": "stylelint-config-recommended-scss",
|
||||
"rules": {
|
||||
"selector-pseudo-class-no-unknown": [true, {
|
||||
"ignorePseudoClasses": ["/global/"]
|
||||
}]
|
||||
}
|
||||
"processors": ["stylelint-processor-styled-components"],
|
||||
"extends": [
|
||||
"stylelint-config-recommended"
|
||||
],
|
||||
"rules": {
|
||||
"at-rule-no-unknown": true,
|
||||
"block-no-empty": true,
|
||||
"color-named": "always-where-possible",
|
||||
"comment-no-empty": true,
|
||||
"declaration-block-no-duplicate-properties": [
|
||||
true,
|
||||
{
|
||||
ignore: ["consecutive-duplicates-with-different-values"]
|
||||
}
|
||||
],
|
||||
"declaration-block-no-shorthand-property-overrides": true,
|
||||
"font-family-no-duplicate-names": true,
|
||||
"color-no-invalid-hex": true,
|
||||
"font-family-no-missing-generic-family-keyword": true,
|
||||
"function-calc-no-unspaced-operator": true,
|
||||
"function-linear-gradient-no-nonstandard-direction": true,
|
||||
"keyframe-declaration-no-important": true,
|
||||
"property-no-vendor-prefix": true,
|
||||
"media-feature-name-no-unknown": true,
|
||||
"no-descending-specificity": [true, { "severity": "warning" }],
|
||||
"no-duplicate-at-import-rules": true,
|
||||
"no-duplicate-selectors": true,
|
||||
"no-empty-source": true,
|
||||
"no-extra-semicolons": true,
|
||||
"no-invalid-double-slash-comments": true,
|
||||
"property-no-unknown": true,
|
||||
"selector-pseudo-class-no-unknown": true,
|
||||
"selector-pseudo-element-no-unknown": true,
|
||||
"selector-type-no-unknown": [true, { "severity": "warning" }],
|
||||
"string-no-newline": true,
|
||||
"unit-no-unknown": true
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
4
.vscode/launch.json
vendored
@@ -10,6 +10,7 @@
|
||||
"name": "CLI Babel Registry",
|
||||
"stopOnEntry": false,
|
||||
"program": "${workspaceFolder}/debug/bootstrap.js",
|
||||
"args": ["-l", "0.0.0.0:4873"],
|
||||
"env": {
|
||||
"BABEL_ENV": "registry"
|
||||
},
|
||||
@@ -71,7 +72,8 @@
|
||||
"name": "Verdaccio Compiled",
|
||||
"preLaunchTask": "npm: code:build",
|
||||
"program": "${workspaceRoot}/bin/verdaccio",
|
||||
"args": ["-l", "0.0.0.0:4873"],
|
||||
"console": "integratedTerminal"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
141
AUTHORS
@@ -1,141 +0,0 @@
|
||||
030 <chocolatey030@gmail.com>
|
||||
Aaron Lozier <aaron@potenzainnovations.com>
|
||||
Adam Szmyd <szmydadam@gmail.com>
|
||||
Alex Kocharin <alex@kocharin.ru>
|
||||
Alex Kocharin <rlidwka@kocharin.ru>
|
||||
Alex Vernacchia <avernacchia@exacttarget.com>
|
||||
Alexander Makarenko <estliberitas@gmail.com>
|
||||
Alexander Remishevsky <aremishevsky@chegg.com>
|
||||
Alexandre-io <Alexandre-io@users.noreply.github.com>
|
||||
Amir Mohsen Abdolrazaghi <amirmohsen@users.noreply.github.com>
|
||||
Anmol <anmol@i0157.local>
|
||||
Aram Drevekenin <grimsniffer@gmail.com>
|
||||
Ayush Sharma <ayush.sharma@innovaccer.com>
|
||||
Bart Dubois <dubcio@o2.pl>
|
||||
Barthélemy Vessemont <bvessemont@gmail.com>
|
||||
Bo Chen <bochen2014@yahoo.com>
|
||||
Bogdan Alexandru Marginean <bogdanmarginean@ymail.com>
|
||||
Brandon Nicholls <brandon.nicholls@gmail.com>
|
||||
Bren Norris <bnorris@enterrasolutions.com>
|
||||
Breno <breno@inspr.com>
|
||||
Breno Rodrigues <brenorodrigues@me.com>
|
||||
Brett Trotter <brett.trotter@webfilings.com>
|
||||
Brian Muenzenmeyer <brian.muenzenmeyer@gmail.com>
|
||||
Brian Peacock <bpeacock@fastfig.com>
|
||||
Carlos Galarza <carloslfu@gmail.com>
|
||||
Cedric Darne <cdarne@hibernum.com>
|
||||
Chad Killingsworth <chad.killingsworth@banno.com>
|
||||
Chomba Ng'ang'a <choeringa@gmail.com>
|
||||
Chris Breneman <crispy@cluenet.org>
|
||||
Christian Bewernitz <coder@karfau.de>
|
||||
Christoph Rohrer <crohrer@users.noreply.github.com>
|
||||
Christopher Kelley <000@cranlabs.io>
|
||||
Cody Droz <cody-geest@uiowa.edu>
|
||||
Conor Hastings <hastings.conorm@gmail.com>
|
||||
Corey Jewett <coreyjewett@users.noreply.github.com>
|
||||
Daniel Rodríguez Rivero <rdanielo@gmail.com>
|
||||
David Broadhurst <david@union25.com>
|
||||
David Rubin <davidrub@gmail.com>
|
||||
Denis Babineau <denis.babineau@gmail.com>
|
||||
Emmanuel Narh <narhe@advisory.com>
|
||||
Etienne Tremel <etienne.tremel@container-solutions.com>
|
||||
Fabio Poloni <fabio@APP-roved.com>
|
||||
Facundo Chambó <fchambo@despegar.com>
|
||||
Geoffroy Empain <empaingeo@hotmail.com>
|
||||
Guilherme Bernal <dev@lbguilherme.com>
|
||||
Gustavo Cruz <gecruz.dev@gmail.com>
|
||||
Håkan Canberger <hakan.canberger@thomascook.se>
|
||||
Idan Gozlan <idangozlan@gmail.com>
|
||||
J. Russell Smyth <jrussell.smyth@gmail.com>
|
||||
Jakub Jirutka <jakub@jirutka.cz>
|
||||
James Newell <j.newell@nib.com.au>
|
||||
Jan <king-jan1999@hotmail.de>
|
||||
Jan Vansteenkiste <jan@vstone.eu>
|
||||
Jannis Achstetter <jannis.achstetter@schneider-electric.com>
|
||||
Jeff Mixon <jeff@altdroid.com>
|
||||
Jeremy Moritz <jeremy@jeremymoritz.com>
|
||||
Jess <jessachandler@gmail.com>
|
||||
John Case <john.case@ge.com>
|
||||
John Gozde <johng@pandell.com>
|
||||
Jon de la Motte <jondlm@gmail.com>
|
||||
Joseph Gentle <me@josephg.com>
|
||||
José De Paz <josedepaz@users.noreply.github.com>
|
||||
Juan Carlos Picado <juan@encuestame.org>
|
||||
Juan Carlos Picado <juanpicado19@gmail.com>
|
||||
Juan Picado <juanpicado19@gmail.com>
|
||||
Juan Picado @jotadeveloper <juanpicado19@gmail.com>
|
||||
Jérôme Tamarelle <jerome@tamarelle.net>
|
||||
Kalman Speier <kalman.speier@gmail.com>
|
||||
Karl Wiggisser <karl@onebytezero.com>
|
||||
Keyvan Fatehi <keyvanfatehi@gmail.com>
|
||||
Kody J. Peterson <kodypeterson@users.noreply.github.com>
|
||||
Konstantin Baierer <unixprog@gmail.com>
|
||||
Lucius Gaitán <lucius@luciusgaitan.com>
|
||||
Madison Grubb <madison.grubb@itential.com>
|
||||
Manuel de Brito Fontes <aledbf@gmail.com>
|
||||
Mark Doeswijk <mark.doeswijk@marviq.com>
|
||||
Mathieu Savy <mathieu.savy@gmail.com>
|
||||
Meeeeow <Meeeeow@users.noreply.github.com>
|
||||
Meeeeow <i@aka.mn>
|
||||
Meeeeow <me@async.sh>
|
||||
Metaa <metaa@users.noreply.github.com>
|
||||
Michael Arnel <michael.arnel@gmail.com>
|
||||
Michael Crowe <michael@developrise.com>
|
||||
Miguel Mejias <miguelangelmejias@dorna.com>
|
||||
Mikhail T <Mikhail.Teterin@Refinery29.com>
|
||||
Miroslav Bajtoš <miroslav@strongloop.com>
|
||||
Miroslav Pokorný <m.pokorny@gmc.net>
|
||||
Nate Ziarek <natez@OSX12-L-NATEZ.local>
|
||||
Nicholas Farley <ohcrap524@gmail.com>
|
||||
Nick <nick.edelenbos@trimm.nl>
|
||||
Nicolas Bazille <oltodo@msn.com>
|
||||
Noah Prail <nprail@filiosoft.com>
|
||||
Oleg Korobenko <oleg.korobenko@gmail.com>
|
||||
Oliver Maskery <omaskery@googlemail.com>
|
||||
Patrik Votocek <patrik@votocek.cz>
|
||||
Piotr Synowiec <psynowiec@gmail.com>
|
||||
Rafael Cesar <rafa.cesar@gmail.com>
|
||||
Rafael Pinheiro <moriarty.pinheiro@gmail.com>
|
||||
Ramon Henrique Ornelas <ramon.ornela@gmail.com>
|
||||
Renovate Bot <bot@renovateapp.com>
|
||||
Robert Ewald <r3wald@gmail.com>
|
||||
Robert Groh <robert.groh@medesso.de>
|
||||
Robin Persson <rprssn@gmail.com>
|
||||
RodrigoBalest <r.balest@gmail.com>
|
||||
Roger Meier <roger@bufferoverflow.ch>
|
||||
Romain Lai-King <romain.laiking@opentrust.com>
|
||||
Ryan Graham <r.m.graham@gmail.com>
|
||||
Ryan Graham <ryan@codingintrigue.co.uk>
|
||||
Sam Day <sday@atlassian.com>
|
||||
Tarun Garg <tarun1793@users.noreply.github.com>
|
||||
Thomas Cort <thomasc@ssimicro.com>
|
||||
Tom McKenzie <tom@chillidonut.com>
|
||||
Tom Vincent <git@tlvince.com>
|
||||
Trent Earl <trent@trentearl.com>
|
||||
Waldemar Reusch <lordvlad@users.noreply.github.com>
|
||||
Wilfredo Porta <wporta@gmail.com>
|
||||
Willi Pasternak <willi.pasternak@gmail.com>
|
||||
Yannick Croissant <yannick.croissant@gmail.com>
|
||||
Yannick Galatol <ygalatol@teads.tv>
|
||||
Yuuki Tada <yuuki.tada@jp.fujitsu.com>
|
||||
cklein <trancesilken@gmail.com>
|
||||
danielo515 <rdanielo@gmail.com>
|
||||
firegrind <firegrind@gmail.com>
|
||||
jharris4 <harris.jb@gmail.com>
|
||||
jjaakola <jjaakola@users.noreply.github.com>
|
||||
jmwilkinson <j.wilkinson@f5.com>
|
||||
jotadeveloper <juanpicado19@gmail.com>
|
||||
jotadeveloper <juanpicado@users.noreply.github.com>
|
||||
karl wiggisser <karl.wiggisser@dachenstein.at>
|
||||
karl wiggisser <karl@dachenstein.at>
|
||||
markpeterfejes <fejes.mark@gmail.com>
|
||||
maxlaverse <max@laverse.net>
|
||||
osher <osher.filter@gmail.com>
|
||||
renovate[bot] <renovate[bot]@users.noreply.github.com>
|
||||
robi-wan <robi-wan@users.noreply.github.com>
|
||||
saheba <saheba@users.noreply.github.com>
|
||||
snyk-bot <snyk-bot@snyk.io>
|
||||
steve-p-com <github@steve-p.com>
|
||||
trent.earl <trent.earl@malauzai.com>
|
||||
verdacciobot <35213902+verdacciobot@users.noreply.github.com>
|
||||
丸子 <princeb4d@gmail.com>
|
||||
525
CHANGELOG.md
@@ -1,7 +1,519 @@
|
||||
# Change Log
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||
|
||||
## [4.1.0](https://github.com/verdaccio/verdaccio/compare/v4.0.4...v4.1.0) (2019-07-08)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* parse YAML/JSON/JS config file ([#1258](https://github.com/verdaccio/verdaccio/issues/1258)) ([95d134b](https://github.com/verdaccio/verdaccio/commit/95d134b))
|
||||
* plugin support to filter packages ([b9ffac5](https://github.com/verdaccio/verdaccio/commit/b9ffac5)), closes [#818](https://github.com/verdaccio/verdaccio/issues/818)
|
||||
* **chore:** Included provision to show up local environment information ([#1365](https://github.com/verdaccio/verdaccio/issues/1365)) ([eb6bf51](https://github.com/verdaccio/verdaccio/commit/eb6bf51)), closes [#1364](https://github.com/verdaccio/verdaccio/issues/1364)
|
||||
|
||||
|
||||
### Tests
|
||||
|
||||
* increase usage of constants ([2f3ec2c](https://github.com/verdaccio/verdaccio/commit/2f3ec2c))
|
||||
* fix broken test for validate parameters ([4bf6b3b](https://github.com/verdaccio/verdaccio/commit/4bf6b3b))
|
||||
* relocate api spec test ([8786a37](https://github.com/verdaccio/verdaccio/commit/8786a37))
|
||||
* relocate helpers ([d052bce](https://github.com/verdaccio/verdaccio/commit/d052bce))
|
||||
* relocate notification test ([596c727](https://github.com/verdaccio/verdaccio/commit/596c727))
|
||||
* relocate plugin storage ([e7400ce](https://github.com/verdaccio/verdaccio/commit/e7400ce))
|
||||
* relocate spec test ([b4c42c1](https://github.com/verdaccio/verdaccio/commit/b4c42c1))
|
||||
* relocate test ([3929633](https://github.com/verdaccio/verdaccio/commit/3929633))
|
||||
* relocate unit test ([ca2e23c](https://github.com/verdaccio/verdaccio/commit/ca2e23c))
|
||||
* relocate unit test cli, proxy, utils ([b1eb7c6](https://github.com/verdaccio/verdaccio/commit/b1eb7c6))
|
||||
|
||||
|
||||
|
||||
## [4.0.4](https://github.com/verdaccio/verdaccio/compare/v4.0.3...v4.0.4) (2019-06-20)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* correctly check the keepAliveTimeout value, fixes [#1352](https://github.com/verdaccio/verdaccio/issues/1352) ([#1353](https://github.com/verdaccio/verdaccio/issues/1353)) ([a92bd5f](https://github.com/verdaccio/verdaccio/commit/a92bd5f))
|
||||
|
||||
|
||||
|
||||
## [4.0.3](https://github.com/verdaccio/verdaccio/compare/v4.0.2...v4.0.3) (2019-06-14)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **api:** return 503 to npm/yarn on uplink connection timeout ([#1331](https://github.com/verdaccio/verdaccio/issues/1331)) ([eb7a8e3](https://github.com/verdaccio/verdaccio/commit/eb7a8e3)), closes [#1328](https://github.com/verdaccio/verdaccio/issues/1328) [#720](https://github.com/verdaccio/verdaccio/issues/720) [#1328](https://github.com/verdaccio/verdaccio/issues/1328) [#720](https://github.com/verdaccio/verdaccio/issues/720)
|
||||
|
||||
|
||||
|
||||
## [4.0.2](https://github.com/verdaccio/verdaccio/compare/v4.0.1...v4.0.2) (2019-06-13)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* correctly check if the proxy setting evaluates to false ([#1336](https://github.com/verdaccio/verdaccio/issues/1336)) ([df834f4](https://github.com/verdaccio/verdaccio/commit/df834f4))
|
||||
* update dependencies ([e581634](https://github.com/verdaccio/verdaccio/commit/e581634)), closes [#1339](https://github.com/verdaccio/verdaccio/issues/1339)
|
||||
* update security policy details ([#1342](https://github.com/verdaccio/verdaccio/issues/1342)) ([ddcd89d](https://github.com/verdaccio/verdaccio/commit/ddcd89d))
|
||||
* **api:** force authenticate on login ([#1347](https://github.com/verdaccio/verdaccio/issues/1347)) ([85c1bd1](https://github.com/verdaccio/verdaccio/commit/85c1bd1))
|
||||
* **ui:** failed to load all packages after login ([192fb77](https://github.com/verdaccio/verdaccio/commit/192fb77))
|
||||
|
||||
|
||||
|
||||
## [4.0.1](https://github.com/verdaccio/verdaccio/compare/v4.0.0...v4.0.1) (2019-05-28)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **web:** fix sidebar tarball protocol ([#1326](https://github.com/verdaccio/verdaccio/issues/1326)) ([de04463](https://github.com/verdaccio/verdaccio/commit/de04463)), closes [#1320](https://github.com/verdaccio/verdaccio/issues/1320)
|
||||
|
||||
|
||||
|
||||
# [4.0.0](https://github.com/verdaccio/verdaccio/compare/v4.0.0-beta.8...v4.0.0) (2019-05-26)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* add missing pkg version and name on start up ([8cf3966](https://github.com/verdaccio/verdaccio/commit/8cf3966))
|
||||
* update @verdaccio/ui-theme:0.1.7 ([8e48eea](https://github.com/verdaccio/verdaccio/commit/8e48eea))
|
||||
* warning text is hard to read when running under root ([3ac038f](https://github.com/verdaccio/verdaccio/commit/3ac038f))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* create security policy ([#1322](https://github.com/verdaccio/verdaccio/issues/1322)) ([0e9f23d](https://github.com/verdaccio/verdaccio/commit/0e9f23d))
|
||||
* prepare release v4 ([#1307](https://github.com/verdaccio/verdaccio/issues/1307)) ([b9506d6](https://github.com/verdaccio/verdaccio/commit/b9506d6))
|
||||
* update readme v4 ([#1312](https://github.com/verdaccio/verdaccio/issues/1312)) ([7686417](https://github.com/verdaccio/verdaccio/commit/7686417))
|
||||
|
||||
|
||||
|
||||
# [4.0.0-beta.10](https://github.com/verdaccio/verdaccio/compare/v4.0.0-beta.9...v4.0.0-beta.10) (2019-05-20)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* add missing pkg version and name on start up ([8cf3966](https://github.com/verdaccio/verdaccio/commit/8cf3966))
|
||||
|
||||
|
||||
|
||||
# [4.0.0-beta.9](https://github.com/verdaccio/verdaccio/compare/v4.0.0-beta.8...v4.0.0-beta.9) (2019-05-20)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* update @verdaccio/ui-theme:0.1.7 ([8e48eea](https://github.com/verdaccio/verdaccio/commit/8e48eea))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* update readme v4 ([#1312](https://github.com/verdaccio/verdaccio/issues/1312)) ([7686417](https://github.com/verdaccio/verdaccio/commit/7686417))
|
||||
|
||||
|
||||
|
||||
# [4.0.0-beta.8](https://github.com/verdaccio/verdaccio/compare/v4.0.0-beta.7...v4.0.0-beta.8) (2019-05-07)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* update lock file ([3c69132](https://github.com/verdaccio/verdaccio/commit/3c69132))
|
||||
|
||||
|
||||
|
||||
# [4.0.0-beta.7](https://github.com/verdaccio/verdaccio/compare/v4.0.0-beta.6...v4.0.0-beta.7) (2019-05-07)
|
||||
|
||||
|
||||
|
||||
# [4.0.0-beta.6](https://github.com/verdaccio/verdaccio/compare/v4.0.0-beta.5...v4.0.0-beta.6) (2019-05-07)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* routing is aware of reverse proxy directory [#1297](https://github.com/verdaccio/verdaccio/issues/1297) ([01f8da6](https://github.com/verdaccio/verdaccio/commit/01f8da6))
|
||||
|
||||
|
||||
|
||||
# [4.0.0-beta.5](https://github.com/verdaccio/verdaccio/compare/v4.0.0-beta.4...v4.0.0-beta.5) (2019-04-30)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* remove unused dependencies [#1292](https://github.com/verdaccio/verdaccio/issues/1292) ([f48b23f](https://github.com/verdaccio/verdaccio/commit/f48b23f))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add some security headers for web UI ([#1295](https://github.com/verdaccio/verdaccio/issues/1295)) [@juanpicado](https://github.com/juanpicado) ([615db0a](https://github.com/verdaccio/verdaccio/commit/615db0a))
|
||||
|
||||
|
||||
|
||||
# [4.0.0-beta.4](https://github.com/verdaccio/verdaccio/compare/v4.0.0-beta.3...v4.0.0-beta.4) (2019-04-29)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* replace chalk with kleur ([#1289](https://github.com/verdaccio/verdaccio/issues/1289)) @DanielRuf ([ff71640](https://github.com/verdaccio/verdaccio/commit/ff71640))
|
||||
|
||||
|
||||
|
||||
# [4.0.0-beta.3](https://github.com/verdaccio/verdaccio/compare/v4.0.0-beta.2...v4.0.0-beta.3) (2019-04-28)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* logo field in configuration cannot use the local file ([56c70d4](https://github.com/verdaccio/verdaccio/commit/56c70d4))
|
||||
* **ui:** version rendering issue ([40679aa](https://github.com/verdaccio/verdaccio/commit/40679aa))
|
||||
|
||||
|
||||
|
||||
# [4.0.0-beta.2](https://github.com/verdaccio/verdaccio/compare/v4.0.0-beta.1...v4.0.0-beta.2) (2019-04-26)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* accept web.primary_color as config option and inject into webui ([#1282](https://github.com/verdaccio/verdaccio/issues/1282)) ([9f8a054](https://github.com/verdaccio/verdaccio/commit/9f8a054))
|
||||
|
||||
|
||||
|
||||
# [4.0.0-beta.1](https://github.com/verdaccio/verdaccio/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2019-04-16)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* all static files are captured by the router ([86a6e5e](https://github.com/verdaccio/verdaccio/commit/86a6e5e))
|
||||
|
||||
|
||||
|
||||
# [4.0.0-beta.0](https://github.com/verdaccio/verdaccio/compare/v4.0.0-alpha.7...v4.0.0-beta.0) (2019-04-15)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* package.json to reduce vulnerabilities ([#1276](https://github.com/verdaccio/verdaccio/issues/1276)) ([fbe9409](https://github.com/verdaccio/verdaccio/commit/fbe9409))
|
||||
* update @verdaccio/ui-theme@0.0.13 ([8760e18](https://github.com/verdaccio/verdaccio/commit/8760e18))
|
||||
* update docker node to latest lts version ([a5be22b](https://github.com/verdaccio/verdaccio/commit/a5be22b))
|
||||
|
||||
|
||||
|
||||
# [4.0.0-alpha.7](https://github.com/verdaccio/verdaccio/compare/v4.0.0-alpha.6...v4.0.0-alpha.7) (2019-04-06)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* package.json to reduce vulnerabilities ([d99053e](https://github.com/verdaccio/verdaccio/commit/d99053e))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* theme as plugin ([#1252](https://github.com/verdaccio/verdaccio/issues/1252)) ([c3c6202](https://github.com/verdaccio/verdaccio/commit/c3c6202))
|
||||
|
||||
|
||||
|
||||
<a name="4.0.0-alpha.6"></a>
|
||||
# [4.0.0-alpha.6](https://github.com/verdaccio/verdaccio/compare/v4.0.0-alpha.5...v4.0.0-alpha.6) (2019-03-30)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* add new enpoind that allow download tarballs according the standard ([87203f2](https://github.com/verdaccio/verdaccio/commit/87203f2))
|
||||
* add not found if package is missing ([4da21c1](https://github.com/verdaccio/verdaccio/commit/4da21c1))
|
||||
* husky commitlint not work, replace invalid test ([84be869](https://github.com/verdaccio/verdaccio/commit/84be869))
|
||||
* potential issue on sign new jwt tokens ([265849e](https://github.com/verdaccio/verdaccio/commit/265849e)), closes [/github.com/auth0/node-jsonwebtoken/issues/326#issuecomment-288124020](https://github.com//github.com/auth0/node-jsonwebtoken/issues/326/issues/issuecomment-288124020)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add star and unstar api for 4.x ([1ab7c50](https://github.com/verdaccio/verdaccio/commit/1ab7c50))
|
||||
* add stars api ([75c0e1e](https://github.com/verdaccio/verdaccio/commit/75c0e1e))
|
||||
* engines and npm upgraded to v8 and v5 ([89b0efe](https://github.com/verdaccio/verdaccio/commit/89b0efe))
|
||||
|
||||
|
||||
|
||||
<a name="4.0.0-alpha.5"></a>
|
||||
# [4.0.0-alpha.5](https://github.com/verdaccio/verdaccio/compare/v3.11.6...v4.0.0-alpha.5) (2019-03-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* [#1191](https://github.com/verdaccio/verdaccio/issues/1191) overrides existing package to 0 bytes file ([783fbce](https://github.com/verdaccio/verdaccio/commit/783fbce))
|
||||
* applied jsx-max-depth ([d940da4](https://github.com/verdaccio/verdaccio/commit/d940da4))
|
||||
* applied prefer-const ([4962e36](https://github.com/verdaccio/verdaccio/commit/4962e36))
|
||||
* applied valid-describe ([2b48958](https://github.com/verdaccio/verdaccio/commit/2b48958))
|
||||
* applied valid-describe ([3bda0cf](https://github.com/verdaccio/verdaccio/commit/3bda0cf))
|
||||
* applied valid-expect-in-promise ([c7034e7](https://github.com/verdaccio/verdaccio/commit/c7034e7))
|
||||
* broken home page ([4f41fc9](https://github.com/verdaccio/verdaccio/commit/4f41fc9))
|
||||
* click on logo break ui ([#1071](https://github.com/verdaccio/verdaccio/issues/1071)) ([5b34dc8](https://github.com/verdaccio/verdaccio/commit/5b34dc8))
|
||||
* fixed container size ([039a94d](https://github.com/verdaccio/verdaccio/commit/039a94d))
|
||||
* issue on refactor router ([19b0f47](https://github.com/verdaccio/verdaccio/commit/19b0f47))
|
||||
* logo on header ([158666f](https://github.com/verdaccio/verdaccio/commit/158666f))
|
||||
* remove online fonts ([29c6e56](https://github.com/verdaccio/verdaccio/commit/29c6e56))
|
||||
* remove unused dependency ([3ed7a86](https://github.com/verdaccio/verdaccio/commit/3ed7a86))
|
||||
* update markup@6.0.1 ([009bb98](https://github.com/verdaccio/verdaccio/commit/009bb98))
|
||||
* v4 compatible helpers ([7279662](https://github.com/verdaccio/verdaccio/commit/7279662))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* ability to restrict unpublish action to certain users [#492](https://github.com/verdaccio/verdaccio/issues/492) ([ef50325](https://github.com/verdaccio/verdaccio/commit/ef50325))
|
||||
* add dependencies navigation ([adfcbc2](https://github.com/verdaccio/verdaccio/commit/adfcbc2))
|
||||
* add dist-tags on ui ([4f4720d](https://github.com/verdaccio/verdaccio/commit/4f4720d))
|
||||
* add support for profile cli command [#392](https://github.com/verdaccio/verdaccio/issues/392) (change password) ([#1034](https://github.com/verdaccio/verdaccio/issues/1034)) ([f1416ed](https://github.com/verdaccio/verdaccio/commit/f1416ed))
|
||||
* added uplinks component ([6c32769](https://github.com/verdaccio/verdaccio/commit/6c32769))
|
||||
* added versions. wip ([5573ff5](https://github.com/verdaccio/verdaccio/commit/5573ff5))
|
||||
* allow apiJWTmiddleware to be managed by Auth plugin ([049917a](https://github.com/verdaccio/verdaccio/commit/049917a))
|
||||
* allow disable gravatar [#1172](https://github.com/verdaccio/verdaccio/issues/1172) ([c338f46](https://github.com/verdaccio/verdaccio/commit/c338f46))
|
||||
* allow order packages via on web [#1163](https://github.com/verdaccio/verdaccio/issues/1163) ([49c6f03](https://github.com/verdaccio/verdaccio/commit/49c6f03))
|
||||
* disable node9 on circleci ([9e4e8be](https://github.com/verdaccio/verdaccio/commit/9e4e8be))
|
||||
* endpoints change password on ui ([#1068](https://github.com/verdaccio/verdaccio/issues/1068)) ([712db31](https://github.com/verdaccio/verdaccio/commit/712db31))
|
||||
* migrate react router from hash to history api [#1013](https://github.com/verdaccio/verdaccio/issues/1013) ([1a456fb](https://github.com/verdaccio/verdaccio/commit/1a456fb))
|
||||
* not found page ([#1208](https://github.com/verdaccio/verdaccio/issues/1208)) ([752b870](https://github.com/verdaccio/verdaccio/commit/752b870))
|
||||
* package version gets sent to plugins ([3943863](https://github.com/verdaccio/verdaccio/commit/3943863))
|
||||
* register info selector ([6d96007](https://github.com/verdaccio/verdaccio/commit/6d96007))
|
||||
* stop hit proxies on search web UI ([#1126](https://github.com/verdaccio/verdaccio/issues/1126)) ([2362310](https://github.com/verdaccio/verdaccio/commit/2362310))
|
||||
* update verdaccio author ([9efd1e2](https://github.com/verdaccio/verdaccio/commit/9efd1e2))
|
||||
* use verdaccio babel preset ([d37fe5c](https://github.com/verdaccio/verdaccio/commit/d37fe5c))
|
||||
* use verdaccio babel preset ([c3af3cb](https://github.com/verdaccio/verdaccio/commit/c3af3cb))
|
||||
|
||||
|
||||
|
||||
<a name="4.0.0-alpha.1"></a>
|
||||
# [4.0.0-alpha.1](https://github.com/verdaccio/verdaccio/compare/v4.0.0-alpha.0...v4.0.0-alpha.1) (2018-09-27)
|
||||
|
||||
|
||||
|
||||
<a name="4.0.0-alpha.0"></a>
|
||||
# [4.0.0-alpha.0](https://github.com/verdaccio/verdaccio/compare/v3.8.2...v4.0.0-alpha.0) (2018-09-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* fix docker python issue [#883](https://github.com/verdaccio/verdaccio/issues/883) ([611aeb4](https://github.com/verdaccio/verdaccio/commit/611aeb4))
|
||||
* load package list undefined ([#993](https://github.com/verdaccio/verdaccio/issues/993)) ([4431c47](https://github.com/verdaccio/verdaccio/commit/4431c47))
|
||||
* Make systemd unit more production-like ([#929](https://github.com/verdaccio/verdaccio/issues/929)) ([ffc9410](https://github.com/verdaccio/verdaccio/commit/ffc9410))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add support for jwt on api ([#896](https://github.com/verdaccio/verdaccio/issues/896)) ([a68d247](https://github.com/verdaccio/verdaccio/commit/a68d247)), closes [#168](https://github.com/verdaccio/verdaccio/issues/168)
|
||||
* add support for multiple protocol on protocol header ([#1014](https://github.com/verdaccio/verdaccio/issues/1014)) ([40e2b10](https://github.com/verdaccio/verdaccio/commit/40e2b10))
|
||||
* added prettier ([#921](https://github.com/verdaccio/verdaccio/issues/921)) ([43bd622](https://github.com/verdaccio/verdaccio/commit/43bd622))
|
||||
* check for minimum node.js version on start ([#968](https://github.com/verdaccio/verdaccio/issues/968)) ([ba9dc35](https://github.com/verdaccio/verdaccio/commit/ba9dc35))
|
||||
* rename database file name ([#954](https://github.com/verdaccio/verdaccio/issues/954)) ([dd72120](https://github.com/verdaccio/verdaccio/commit/dd72120))
|
||||
* replaced element-react by Material-UI ([#950](https://github.com/verdaccio/verdaccio/issues/950)) ([#985](https://github.com/verdaccio/verdaccio/issues/985)) ([3639557](https://github.com/verdaccio/verdaccio/commit/3639557))
|
||||
* replaced lunr by lunr-mutable ([#915](https://github.com/verdaccio/verdaccio/issues/915)) ([1602840](https://github.com/verdaccio/verdaccio/commit/1602840))
|
||||
* verdaccio update notification on CLI ([#988](https://github.com/verdaccio/verdaccio/issues/988)) ([#998](https://github.com/verdaccio/verdaccio/issues/998)) ([bc04703](https://github.com/verdaccio/verdaccio/commit/bc04703))
|
||||
|
||||
|
||||
|
||||
<a name="4.0.0-alpha.4"></a>
|
||||
# [4.0.0-alpha.4](https://github.com/verdaccio/verdaccio/compare/v3.10.1...v4.0.0-alpha.4) (2019-01-09)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* applied jsx-max-depth ([d940da4](https://github.com/verdaccio/verdaccio/commit/d940da4))
|
||||
* applied prefer-const ([4962e36](https://github.com/verdaccio/verdaccio/commit/4962e36))
|
||||
* applied valid-describe ([3bda0cf](https://github.com/verdaccio/verdaccio/commit/3bda0cf))
|
||||
* applied valid-describe ([2b48958](https://github.com/verdaccio/verdaccio/commit/2b48958))
|
||||
* applied valid-expect-in-promise ([c7034e7](https://github.com/verdaccio/verdaccio/commit/c7034e7))
|
||||
* broken home page ([4f41fc9](https://github.com/verdaccio/verdaccio/commit/4f41fc9))
|
||||
* click on logo break ui ([#1071](https://github.com/verdaccio/verdaccio/issues/1071)) ([5b34dc8](https://github.com/verdaccio/verdaccio/commit/5b34dc8))
|
||||
* issue on refactor router ([19b0f47](https://github.com/verdaccio/verdaccio/commit/19b0f47))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add support for profile cli command [#392](https://github.com/verdaccio/verdaccio/issues/392) (change password) ([#1034](https://github.com/verdaccio/verdaccio/issues/1034)) ([f1416ed](https://github.com/verdaccio/verdaccio/commit/f1416ed))
|
||||
* endpoints change password on ui ([#1068](https://github.com/verdaccio/verdaccio/issues/1068)) ([712db31](https://github.com/verdaccio/verdaccio/commit/712db31))
|
||||
* stop hit proxies on search web UI ([#1126](https://github.com/verdaccio/verdaccio/issues/1126)) ([2362310](https://github.com/verdaccio/verdaccio/commit/2362310))
|
||||
|
||||
<a name="4.0.0-alpha.3"></a>
|
||||
# [4.0.0-alpha.3](https://github.com/verdaccio/verdaccio/compare/v3.8.3...v4.0.0-alpha.3) (2018-10-12)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* click on logo break ui ([#1071](https://github.com/verdaccio/verdaccio/issues/1071)) ([5b34dc8](https://github.com/verdaccio/verdaccio/commit/5b34dc8))
|
||||
|
||||
|
||||
|
||||
<a name="4.0.0-alpha.2"></a>
|
||||
# [4.0.0-alpha.2](https://github.com/verdaccio/verdaccio/compare/v3.8.3...v4.0.0-alpha.2) (2018-10-12)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* click on logo when using url_prefix was not working ([#996](https://github.com/verdaccio/verdaccio/issues/996)) ([3ac9646](https://github.com/verdaccio/verdaccio/commit/3ac9646))
|
||||
|
||||
|
||||
|
||||
<a name="4.0.0-alpha.1"></a>
|
||||
# [4.0.0-alpha.1](https://github.com/verdaccio/verdaccio/compare/v4.0.0-alpha.0...v4.0.0-alpha.1) (2018-09-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* fix docker python issue [#883](https://github.com/verdaccio/verdaccio/issues/883) ([611aeb4](https://github.com/verdaccio/verdaccio/commit/611aeb4))
|
||||
* load package list undefined ([#993](https://github.com/verdaccio/verdaccio/issues/993)) ([4431c47](https://github.com/verdaccio/verdaccio/commit/4431c47))
|
||||
* Make systemd unit more production-like ([#929](https://github.com/verdaccio/verdaccio/issues/929)) ([ffc9410](https://github.com/verdaccio/verdaccio/commit/ffc9410))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add support for jwt on api ([#896](https://github.com/verdaccio/verdaccio/issues/896)) ([a68d247](https://github.com/verdaccio/verdaccio/commit/a68d247)), closes [#168](https://github.com/verdaccio/verdaccio/issues/168)
|
||||
* add support for multiple protocol on protocol header ([#1014](https://github.com/verdaccio/verdaccio/issues/1014)) ([40e2b10](https://github.com/verdaccio/verdaccio/commit/40e2b10))
|
||||
* added prettier ([#921](https://github.com/verdaccio/verdaccio/issues/921)) ([43bd622](https://github.com/verdaccio/verdaccio/commit/43bd622))
|
||||
* check for minimum node.js version on start ([#968](https://github.com/verdaccio/verdaccio/issues/968)) ([ba9dc35](https://github.com/verdaccio/verdaccio/commit/ba9dc35))
|
||||
* rename database file name ([#954](https://github.com/verdaccio/verdaccio/issues/954)) ([dd72120](https://github.com/verdaccio/verdaccio/commit/dd72120))
|
||||
* replaced element-react by Material-UI ([#950](https://github.com/verdaccio/verdaccio/issues/950)) ([#985](https://github.com/verdaccio/verdaccio/issues/985)) ([3639557](https://github.com/verdaccio/verdaccio/commit/3639557))
|
||||
* replaced lunr by lunr-mutable ([#915](https://github.com/verdaccio/verdaccio/issues/915)) ([1602840](https://github.com/verdaccio/verdaccio/commit/1602840))
|
||||
* verdaccio update notification on CLI ([#988](https://github.com/verdaccio/verdaccio/issues/988)) ([#998](https://github.com/verdaccio/verdaccio/issues/998)) ([bc04703](https://github.com/verdaccio/verdaccio/commit/bc04703))
|
||||
|
||||
|
||||
<a name="3.11.6"></a>
|
||||
## [3.11.6](https://github.com/verdaccio/verdaccio/compare/v3.11.5...v3.11.6) (2019-02-25)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* overrides existing package to zero bytes file [#1191](https://github.com/verdaccio/verdaccio/issues/1191) ([d470cfe](https://github.com/verdaccio/verdaccio/commit/d470cfe))
|
||||
* remove unused dependency ([e943d91](https://github.com/verdaccio/verdaccio/commit/e943d91))
|
||||
|
||||
|
||||
|
||||
<a name="3.11.5"></a>
|
||||
## [3.11.5](https://github.com/verdaccio/verdaccio/compare/v3.11.4...v3.11.5) (2019-02-21)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* debugging with all ports ([c7789f1](https://github.com/verdaccio/verdaccio/commit/c7789f1))
|
||||
* package.json to reduce vulnerabilities ([5fdf678](https://github.com/verdaccio/verdaccio/commit/5fdf678))
|
||||
|
||||
|
||||
<a name="3.11.4"></a>
|
||||
## [3.11.4](https://github.com/verdaccio/verdaccio/compare/v3.11.3...v3.11.4) (2019-02-11)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* update dependencies due to security vulnerabilities ([f6f014a](https://github.com/verdaccio/verdaccio/commit/f6f014a))
|
||||
|
||||
|
||||
|
||||
<a name="3.11.3"></a>
|
||||
## [3.11.3](https://github.com/verdaccio/verdaccio/compare/v3.11.2...v3.11.3) (2019-02-07)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* server keepAliveTimeout is in milliseconds, config value in seconds. ([7f79c77](https://github.com/verdaccio/verdaccio/commit/7f79c77))
|
||||
|
||||
|
||||
|
||||
<a name="3.11.2"></a>
|
||||
## [3.11.2](https://github.com/verdaccio/verdaccio/compare/v3.11.1...v3.11.2) (2019-02-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* lodash vulnerability ([c35486d](https://github.com/verdaccio/verdaccio/commit/c35486d))
|
||||
|
||||
|
||||
|
||||
<a name="3.11.1"></a>
|
||||
## [3.11.1](https://github.com/verdaccio/verdaccio/compare/v3.11.0...v3.11.1) (2019-01-31)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* don’t make change if `time` fields match ([#1167](https://github.com/verdaccio/verdaccio/issues/1167)) ([e62ef8d](https://github.com/verdaccio/verdaccio/commit/e62ef8d))
|
||||
* don’t packages that have no uplinks after reading ([#1204](https://github.com/verdaccio/verdaccio/issues/1204)) ([95686be](https://github.com/verdaccio/verdaccio/commit/95686be))
|
||||
|
||||
|
||||
|
||||
<a name="3.11.0"></a>
|
||||
# [3.11.0](https://github.com/verdaccio/verdaccio/compare/v3.10.2...v3.11.0) (2019-01-27)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* introduce server keepAliveTimeout into config files ([a359055](https://github.com/verdaccio/verdaccio/commit/a359055))
|
||||
|
||||
|
||||
|
||||
<a name="3.10.2"></a>
|
||||
## [3.10.2](https://github.com/verdaccio/verdaccio/compare/v3.10.1...v3.10.2) (2019-01-22)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* add logic to catch clause ([#1183](https://github.com/verdaccio/verdaccio/issues/1183)) ([056d396](https://github.com/verdaccio/verdaccio/commit/056d396))
|
||||
* adds _id to normalise metadata ([#1194](https://github.com/verdaccio/verdaccio/issues/1194)) ([e2fa581](https://github.com/verdaccio/verdaccio/commit/e2fa581))
|
||||
* remove some unneeded checks ([#1182](https://github.com/verdaccio/verdaccio/issues/1182)) ([ab56d75](https://github.com/verdaccio/verdaccio/commit/ab56d75))
|
||||
* remove unused object ([#1185](https://github.com/verdaccio/verdaccio/issues/1185)) ([e9b3907](https://github.com/verdaccio/verdaccio/commit/e9b3907))
|
||||
* remove unused parameters from processBody method invocation ([#1184](https://github.com/verdaccio/verdaccio/issues/1184)) ([064f7cf](https://github.com/verdaccio/verdaccio/commit/064f7cf))
|
||||
* remove use of comma separator ([#1186](https://github.com/verdaccio/verdaccio/issues/1186)) ([f20fefa](https://github.com/verdaccio/verdaccio/commit/f20fefa))
|
||||
* remove useless assignment to local variable emailCopy ([#1181](https://github.com/verdaccio/verdaccio/issues/1181)) ([13b8347](https://github.com/verdaccio/verdaccio/commit/13b8347))
|
||||
|
||||
|
||||
<a name="3.10.1"></a>
|
||||
## [3.10.1](https://github.com/verdaccio/verdaccio/compare/v3.10.0...v3.10.1) (2018-12-20)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* remove useless secureProtocol option ([#1158](https://github.com/verdaccio/verdaccio/issues/1158)) ([c99266d](https://github.com/verdaccio/verdaccio/commit/c99266d))
|
||||
|
||||
|
||||
|
||||
<a name="3.10.0"></a>
|
||||
# [3.10.0](https://github.com/verdaccio/verdaccio/compare/v3.9.0...v3.10.0) (2018-12-06)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* update docker node to 10.14.1 ([#1148](https://github.com/verdaccio/verdaccio/issues/1148)) ([68165ca](https://github.com/verdaccio/verdaccio/commit/68165ca))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* allows package.json as package name ([#1149](https://github.com/verdaccio/verdaccio/issues/1149)) ([6554973](https://github.com/verdaccio/verdaccio/commit/6554973))
|
||||
|
||||
|
||||
|
||||
<a name="3.9.0"></a>
|
||||
# [3.9.0](https://github.com/verdaccio/verdaccio/compare/v3.8.6...v3.9.0) (2018-12-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* update node within Dockerfile ([#1139](https://github.com/verdaccio/verdaccio/issues/1139)) ([24e9121](https://github.com/verdaccio/verdaccio/commit/24e9121))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* display package peer deps ([#1144](https://github.com/verdaccio/verdaccio/issues/1144)) ([9b52b1d](https://github.com/verdaccio/verdaccio/commit/9b52b1d))
|
||||
|
||||
|
||||
|
||||
<a name="3.8.6"></a>
|
||||
## [3.8.6](https://github.com/verdaccio/verdaccio/compare/v3.8.5...v3.8.6) (2018-11-15)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* answer with 401 instead of 403 when no credentials were sent ([#1109](https://github.com/verdaccio/verdaccio/issues/1109)) ([4e34551](https://github.com/verdaccio/verdaccio/commit/4e34551)), closes [#1105](https://github.com/verdaccio/verdaccio/issues/1105)
|
||||
|
||||
|
||||
|
||||
<a name="3.8.5"></a>
|
||||
## [3.8.5](https://github.com/verdaccio/verdaccio/compare/v3.8.4...v3.8.5) (2018-10-18)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* word wrap longer description ([#1076](https://github.com/verdaccio/verdaccio/issues/1076)) ([67c0b8c](https://github.com/verdaccio/verdaccio/commit/67c0b8c))
|
||||
|
||||
|
||||
|
||||
<a name="3.8.4"></a>
|
||||
## [3.8.4](https://github.com/verdaccio/verdaccio/compare/v3.8.3...v3.8.4) (2018-10-13)
|
||||
|
||||
@@ -648,7 +1160,7 @@ All notable changes to this project will be documented in this file. See [standa
|
||||
|
||||
- Improve Docker Build - [#181](https://github.com/verdaccio/verdaccio/pull/181)
|
||||
- Bugfix #73 `npm-latest` support - [#228](https://github.com/verdaccio/verdaccio/pull/228)
|
||||
- Add [documentation](https://github.com/verdaccio/verdaccio/tree/master/wiki) - [#229](https://github.com/verdaccio/verdaccio/pull/229)
|
||||
- Add [documentation](https://github.com/verdaccio/verdaccio/tree/master/wiki) - [#229](https://github.com/verdaccio/verdaccio/pull/229)
|
||||
|
||||
## 2.2.1 (June 17, 2017)
|
||||
|
||||
@@ -670,7 +1182,7 @@ All notable changes to this project will be documented in this file. See [standa
|
||||
- Fix upstream search not work with gzip - ([@Meeeeow](https://github.com/Meeeeow) in [#170](https://github.com/verdaccio/verdaccio/pull/170))
|
||||
- Add additional requirement to output message - ([@marnel ](https://github.com/marnel) in [#184](https://github.com/verdaccio/verdaccio/pull/184))
|
||||
- Implement npm ping endpoint - ([@juanpicado]((https://github.com/juanpicado))) in [#179](https://github.com/verdaccio/verdaccio/pull/179)
|
||||
- Add support for multiple notification endpoints to existing webhook - ([@ryan-codingintrigue]((https://github.com/ryan-codingintrigue)))
|
||||
- Add support for multiple notification endpoints to existing webhook - ([@ryan-codingintrigue]((https://github.com/ryan-codingintrigue)))
|
||||
in [#108](https://github.com/verdaccio/verdaccio/pull/108)
|
||||
|
||||
|
||||
@@ -706,9 +1218,9 @@ in [#108](https://github.com/verdaccio/verdaccio/pull/108)
|
||||
- rename clean up ([@juanpicado](https://github.com/juanpicado) in [#114](https://github.com/verdaccio/verdaccio/issues/114))
|
||||
- _npmUser / author not showing up ([@juanpicado](https://github.com/juanpicado) in [#65](https://github.com/verdaccio/verdaccio/issues/65))
|
||||
- Docs: correct config attribute `proxy_access` ([@robertgroh](https://github.com/robertgroh) in [#96](https://github.com/verdaccio/verdaccio/pull/96))
|
||||
- Problem with docker.yaml ([@josedepaz](https://github.com/josedepaz) in [#72](https://github.com/verdaccio/verdaccio/pull/72))
|
||||
- Problem with docker.yaml ([@josedepaz](https://github.com/josedepaz) in [#72](https://github.com/verdaccio/verdaccio/pull/72))
|
||||
- Prevent logging of user and password ([@tlvince](https://github.com/tlvince) in [#94](https://github.com/verdaccio/verdaccio/pull/94))
|
||||
- Updated README.md to reflect the availability of the docker image ([@jmwilkinson](https://github.com/jmwilkinson)) in [#71](https://github.com/verdaccio/verdaccio/pull/71))
|
||||
- Updated README.md to reflect the availability of the docker image ([@jmwilkinson](https://github.com/jmwilkinson)) in [#71](https://github.com/verdaccio/verdaccio/pull/71))
|
||||
|
||||
## 2.1.0 (October 11, 2016)
|
||||
|
||||
@@ -782,7 +1294,7 @@ in [#108](https://github.com/verdaccio/verdaccio/pull/108)
|
||||
|
||||
## 25 Nov 2014, version 1.0.0-alpha
|
||||
|
||||
- Config file is now created in `$XDG_CONFIG_HOME` instead of current directory.
|
||||
- Config file is now created in `$XDG_CONFIG_HOME` instead of current directory.
|
||||
|
||||
It is printed to stdout each time sinopia starts, so you hopefully won't have any trouble locating it.
|
||||
|
||||
@@ -1041,3 +1553,4 @@ in [#108](https://github.com/verdaccio/verdaccio/pull/108)
|
||||
## 22 May 2013, version 0.0.0
|
||||
|
||||
- first commits
|
||||
|
||||
|
||||
193
CONTRIBUTING.md
@@ -1,59 +1,101 @@
|
||||
# Contributing to Verdaccio
|
||||
|
||||
We are happy you wish to contribute this project, for that reason we want to board you with this guide.
|
||||
We are happy that you wish to contribute to this project. For that reason, we
|
||||
present you with this guide.
|
||||
|
||||
## How I contribute?
|
||||
Additional information is available on the
|
||||
[wiki](https://github.com/verdaccio/verdaccio/wiki).
|
||||
|
||||
## Contents
|
||||
|
||||
### Ways to contribute
|
||||
- [Contents](#contents)
|
||||
- [How Do I Contribute?](#how-do-i-contribute)
|
||||
- [Development](#development)
|
||||
- [Reporting Bugs](#reporting-bugs)
|
||||
- [Issue Search](#issue-search)
|
||||
- [Check Website For Solution](#check-website-for-solution)
|
||||
- [Chat](#chat)
|
||||
- [Check If It's Been Fixed](#check-if-its-been-fixed)
|
||||
- [Request Features](#request-features)
|
||||
- [Submitting a Pull Request](#submitting-a-pull-request)
|
||||
- [Make Changes and Commit](#make-changes-and-commit)
|
||||
- [Update Tests](#update-tests)
|
||||
- [Develop Plugins](#develop-plugins)
|
||||
|
||||
There are many ways to contribute to the Verdaccio Project. Here’s a list of technical contributions with increasing levels of involvement and required knowledge of Verdaccio's code and operations.
|
||||
## How Do I Contribute?
|
||||
|
||||
* [Reporting a Bug](CONTRIBUTING.md#reporting-a-bug)
|
||||
* [Request Features](CONTRIBUTING.md#request-features)
|
||||
* [Plugins](CONTRIBUTING.md#plugins)
|
||||
* [Improve the Documentation](http://www.verdaccio.org/docs/en/installation.html)
|
||||
There are different ways to contribute, each with a different level
|
||||
of involvement and technical knowledge required, such as:
|
||||
|
||||
Please read carefully this document. It will guide you to provide maintainers and readers valuable information to boots the process solve the issue or evaluate your proposal.
|
||||
* [Reporting Bugs](#reporting-bugs)
|
||||
* [Request Features](#request-features)
|
||||
* [Develop Plugins](#develop-plugins)
|
||||
* [Improve Documentation](http://www.verdaccio.org/docs/en/installation.html)
|
||||
|
||||
## Reporting a Bug
|
||||
**Please read this document carefully. It will help maintainers and readers
|
||||
in solving your issue(s), evaluating your feature request, etc.**
|
||||
|
||||
We welcome clear bug reports. If you've found a bug in Verdaccio that isn't a security risk, please file a report in our [issue tracker](https://github.com/verdaccio/verdaccio/issues). Before you file your issue, search to see if it has already been reported. If so, up-vote (using GitHub reactions) or add additional helpful details to the existing issue to show that it's affecting multiple people.
|
||||
## Development
|
||||
|
||||
Development guides can be found on the [wiki](https://github.com/verdaccio/verdaccio/wiki):
|
||||
|
||||
* [Building the project](https://github.com/verdaccio/verdaccio/wiki/Build-Source-Code)
|
||||
* [Running, debugging, and testing](https://github.com/verdaccio/verdaccio/wiki/Running-and-Debugging-tests)
|
||||
|
||||
## Reporting Bugs
|
||||
|
||||
We welcome clear, detailed bug reports.
|
||||
|
||||
**Bugs are considered features that are not working as described in
|
||||
documentation.**
|
||||
|
||||
If you've found a bug in Verdaccio **that isn't a security risk**, please file
|
||||
a report in our [issue tracker](https://github.com/verdaccio/verdaccio/issues).
|
||||
|
||||
**NOTE: Verdaccio still does not support all npm commands. Some were not
|
||||
considered important and others have not been requested yet.**
|
||||
|
||||
### Issue Search
|
||||
|
||||
Search to see if it has already been reported via
|
||||
the issue search.
|
||||
|
||||
Additionally, we have labelled questions for easy follow-up as [questions](https://github.com/verdaccio/verdaccio/labels/question).
|
||||
|
||||
If so, up-vote it (using GitHub reactions) or add additional helpful details to
|
||||
the existing issue to show that it's affecting multiple people.
|
||||
|
||||
### Check if there's a simple solution in the website.
|
||||
### Check Website For Solution
|
||||
|
||||
Some of the most popular topics can be found in our website(http://www.verdaccio.org/docs/en/installation.html)
|
||||
|
||||
### Questions & Chat
|
||||
### Chat
|
||||
|
||||
We have tagged questions for easy follow up under the tag [questions](https://github.com/verdaccio/verdaccio/labels/question). Additionaly, I'd recommend to deliver questions in the new chat as **#questions/#development** channels at [gitter](https://gitter.im/verdaccio/).
|
||||
Questions can be asked via [Discord](http://chat.verdaccio.org/)
|
||||
|
||||
### Using the issue tracker
|
||||
**Please use the `#questions#` and `#development` channels.**
|
||||
|
||||
The issue tracker is a channel were mostly users/developers post.
|
||||
### Check If It's Been Fixed
|
||||
|
||||
#### I want to report a bug
|
||||
|
||||
We considere a bug a feature that is not working as is described in the documentation. Before reporting a bug follow the next steps:
|
||||
|
||||
1. Use the GitHub issue search — check if the issue has already been reported.
|
||||
|
||||
2. Check if the issue has been fixed — try to reproduce it using the latest master or development branch in the repository.
|
||||
|
||||
Verdaccio still does not support all npm commands due either in the initial design were not considered important or nobody has request it yet.
|
||||
Check if the issue has been fixed — try to reproduce it using the latest
|
||||
`master` or development branch in the repository.
|
||||
|
||||
## Request Features
|
||||
|
||||
A new feature is always welcome, thus, analyse whether your idea fits in the scope of the project and elaborate your request providing enough context, for instance:
|
||||
New feature requests are welcome. Analyse whether the idea fits within scope of
|
||||
the project. Then, detail your request, ensuring context and use case is provided.
|
||||
|
||||
* A wide description the advantages of your request.
|
||||
* It's compatible with `npm` and `yarn`?
|
||||
* You might implement your feature and provide a forked repository as example.
|
||||
* Whatever you have on mind 🤓.
|
||||
**Please provide:**
|
||||
|
||||
* A detailed description the advantages of your request
|
||||
* Whether or not it's compatible with `npm` and `yarn`
|
||||
* A potential implementation or design
|
||||
* Whatever else you have in your mind 🤓
|
||||
|
||||
### Submitting a Pull Request
|
||||
The following are the general steps you should follow in creating a pull request. Subsequent pull requests only need
|
||||
to follow step 3 and beyond:
|
||||
|
||||
The following are the steps you should follow when creating a pull request.
|
||||
Subsequent pull requests only need to follow step 3 and beyond.
|
||||
|
||||
1. Fork the repository on GitHub
|
||||
2. Clone the forked repository to your machine
|
||||
@@ -62,63 +104,90 @@ to follow step 3 and beyond:
|
||||
5. Issue a Pull Request to the official repository
|
||||
6. Your Pull Request is reviewed by a committer and merged into the repository
|
||||
|
||||
*Note*: While there are other ways to accomplish the steps using other tools, the examples here will assume the most
|
||||
actions will be performed via the `git` command line.
|
||||
**NOTE**: While there are other ways to accomplish the steps using other tools,
|
||||
the examples here will assume most actions will be performed via `git` on
|
||||
command line.
|
||||
|
||||
For more information on maintaining a fork, please see the GitHub Help article [Fork a Repo](https://help.github.com/articles/fork-a-repo/) and information on
|
||||
[rebasing](https://git-scm.com/book/en/v2/Git-Branching-Rebasing) from git.
|
||||
For more information on maintaining a fork, please see the GitHub Help article
|
||||
titled [Fork a Repo](https://help.github.com/articles/fork-a-repo/), and
|
||||
information on [rebasing](https://git-scm.com/book/en/v2/Git-Branching-Rebasing).
|
||||
|
||||
### Make Changes and Commit
|
||||
|
||||
#### Before commit
|
||||
#### Before Commit
|
||||
|
||||
At this point you have ready your changes, your new feature it's ready to be shipped, but, to avoid delays to merge, please be aware the build must past.
|
||||
Before committing, **you must ensure there are no linting errors and
|
||||
all tests pass.**
|
||||
|
||||
Before commit, run the test command:
|
||||
To do this, run all tests (including e2e):
|
||||
|
||||
```bash
|
||||
yarn test
|
||||
yarn test:all
|
||||
```
|
||||
It won't have **eslint** errors and **all test must past**. Then, and only then, you should push and ship your **PR**.
|
||||
|
||||
#### Git Commit Guidelines
|
||||
Then, and only then, you can create your pull request.
|
||||
|
||||
We follow the [conventional commit messages](https://conventionalcommits.org/) convention in order to automate Changelog generation and auto semantic versioning based on commit messages.
|
||||
#### Commit Guidelines
|
||||
|
||||
* feat: A new feature
|
||||
* fix: A bug fix
|
||||
We follow the [conventional commit messages](https://conventionalcommits.org/)
|
||||
convention in order to automate CHANGELOG generation and to automate
|
||||
semantic versioning.
|
||||
|
||||
A commit of the type feat introduces a new feature to the codebase (this correlates with MINOR in semantic versioning).
|
||||
For example:
|
||||
|
||||
* `feat: A new feature`
|
||||
* `fix: A bug fix`
|
||||
|
||||
A commit of the type feat introduces a new feature to the codebase
|
||||
(this correlates with MINOR in semantic versioning).
|
||||
|
||||
e.g.:
|
||||
|
||||
eg:
|
||||
```
|
||||
feat: xxxxxxxxxx
|
||||
````
|
||||
```
|
||||
|
||||
A commit of the type fix patches a bug in your codebase (this correlates with PATCH in semantic versioning).
|
||||
|
||||
eg:
|
||||
e.g.:
|
||||
|
||||
```
|
||||
fix: xxxxxxxxxx
|
||||
````
|
||||
```
|
||||
|
||||
Commits types as `docs:`,`style:`,`refactor:`,`perf:`,`test:` and `chore:` are valid but has no effect on versioning, but, it would be great if you use them.
|
||||
Commits types such as as `docs:`,`style:`,`refactor:`,`perf:`,`test:`
|
||||
and `chore:` are valid but have no effect on versioning. **It would be great
|
||||
if you use them.**
|
||||
|
||||
Use `npm run commitmsg` to check your commit message.
|
||||
Use `npm run commitmsg` to check your commit message format.
|
||||
|
||||
> All PR that does not follow the commit guidelines will be hold until messages are fixed.
|
||||
**PRs that do not follow the commit message guidelines will not be merged.**
|
||||
|
||||
## Update Test
|
||||
## Update Tests
|
||||
|
||||
Any change in the sour code **must to include test update**, if you need support about how test works, please [refers to the following guide](https://github.com/verdaccio/verdaccio/wiki/Running-and-Debugging-tests). Please include test whether is a new feature, otherwise will be hold and never be merged.
|
||||
**Any change in source code must include test updates**.
|
||||
|
||||
> Documentation, website, build, deployment, assets or flow types are excluded in this section
|
||||
If you need help with how testing works, please [refer to the following guide](https://github.com/verdaccio/verdaccio/wiki/Running-and-Debugging-tests).
|
||||
|
||||
## Plugins
|
||||
**If you are introducing new features, you MUST include new tests. PRs for
|
||||
features without tests will not be merged.**
|
||||
|
||||
Plugins are Add-ons that extend the functionality of the application. Whether you want develop your own plugin I'd suggest do the following:
|
||||
Things excluded from tests:
|
||||
* Documentation
|
||||
* Website
|
||||
* Build
|
||||
* Deployment
|
||||
* Assets
|
||||
* Flow types
|
||||
|
||||
1. Check whether there is a legacy sinopia plugin for the feature that you need at [npmjs](https://www.npmjs.com/search?q=sinopia).
|
||||
2. There is a [life-cycle to load a plugin](https://github.com/verdaccio/verdaccio/blob/master/lib/plugin-loader.js#L22) you should keep on mind.
|
||||
3. You are free to host your plugin in your repository, whether you want to host within in our organization, feel free to ask, we'll happy to host it.
|
||||
4. Try a describe widely your plugin to provide a deeply understanding to your users.
|
||||
## Develop Plugins
|
||||
|
||||
Plugins are add-ons that extend the functionality of the application.
|
||||
|
||||
If you want to develop your own plugin:
|
||||
|
||||
1. Check whether there is a legacy Sinopia plugin for the feature that you need
|
||||
via [npmjs](https://www.npmjs.com/search?q=sinopia)
|
||||
2. Keep in mind the [life-cycle to load a plugin](https://verdaccio.org/docs/en/dev-plugins)
|
||||
3. You are free to host your plugin in your repository or ours (just ask)
|
||||
4. Provide a detailed description of your plugin to help users understand it
|
||||
|
||||
70
Dockerfile
@@ -1,50 +1,58 @@
|
||||
FROM node:10.7-alpine
|
||||
LABEL maintainer="https://github.com/verdaccio/verdaccio"
|
||||
FROM node:10.15.3-alpine as builder
|
||||
|
||||
RUN apk --no-cache add wget openssl && \
|
||||
wget -O /usr/local/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64 && \
|
||||
chmod +x /usr/local/bin/dumb-init && \
|
||||
apk del openssl && \
|
||||
apk --no-cache add ca-certificates wget && \
|
||||
ENV NODE_ENV=production \
|
||||
VERDACCIO_BUILD_REGISTRY=https://registry.npmjs.org
|
||||
|
||||
RUN apk --no-cache add openssl ca-certificates wget && \
|
||||
apk --no-cache add g++ gcc libgcc libstdc++ linux-headers make python && \
|
||||
wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \
|
||||
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.25-r0/glibc-2.25-r0.apk && \
|
||||
wget -q https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.25-r0/glibc-2.25-r0.apk && \
|
||||
apk add glibc-2.25-r0.apk
|
||||
|
||||
ENV APPDIR /usr/local/app
|
||||
WORKDIR /opt/verdaccio-build
|
||||
COPY . .
|
||||
|
||||
WORKDIR $APPDIR
|
||||
|
||||
ADD . $APPDIR
|
||||
|
||||
ENV NODE_ENV=production
|
||||
|
||||
RUN npm config set registry http://registry.npmjs.org/ && \
|
||||
yarn global add -s flow-bin@0.69.0 && \
|
||||
yarn install --production=false && \
|
||||
RUN yarn config set registry $VERDACCIO_BUILD_REGISTRY && \
|
||||
yarn install --production=false --no-lockfile && \
|
||||
yarn lint && \
|
||||
yarn code:docker-build && \
|
||||
yarn build:webui && \
|
||||
yarn cache clean && \
|
||||
yarn install --production=true --pure-lockfile
|
||||
yarn install --production=true --no-lockfile
|
||||
|
||||
|
||||
|
||||
FROM node:10.15.3-alpine
|
||||
LABEL maintainer="https://github.com/verdaccio/verdaccio"
|
||||
|
||||
ENV VERDACCIO_APPDIR=/opt/verdaccio \
|
||||
VERDACCIO_USER_NAME=verdaccio \
|
||||
VERDACCIO_USER_UID=10001 \
|
||||
VERDACCIO_PORT=4873 \
|
||||
VERDACCIO_PROTOCOL=http
|
||||
ENV PATH=$VERDACCIO_APPDIR/docker-bin:$PATH \
|
||||
HOME=$VERDACCIO_APPDIR
|
||||
|
||||
WORKDIR $VERDACCIO_APPDIR
|
||||
|
||||
RUN apk --no-cache add openssl dumb-init
|
||||
|
||||
RUN mkdir -p /verdaccio/storage /verdaccio/plugins /verdaccio/conf
|
||||
|
||||
COPY --from=builder /opt/verdaccio-build .
|
||||
|
||||
ADD conf/docker.yaml /verdaccio/conf/config.yaml
|
||||
|
||||
RUN addgroup -S verdaccio && adduser -S -G verdaccio verdaccio && \
|
||||
chown -R verdaccio:verdaccio "$APPDIR" && \
|
||||
chown -R verdaccio:verdaccio /verdaccio
|
||||
RUN adduser -u $VERDACCIO_USER_UID -S -D -h $VERDACCIO_APPDIR -g "$VERDACCIO_USER_NAME user" -s /sbin/nologin $VERDACCIO_USER_NAME && \
|
||||
chmod -R +x $VERDACCIO_APPDIR/bin $VERDACCIO_APPDIR/docker-bin && \
|
||||
chown -R $VERDACCIO_USER_UID:root /verdaccio/storage && \
|
||||
chmod -R g=u /verdaccio/storage /etc/passwd
|
||||
|
||||
USER verdaccio
|
||||
USER $VERDACCIO_USER_UID
|
||||
|
||||
ENV PORT 4873
|
||||
ENV PROTOCOL http
|
||||
EXPOSE $VERDACCIO_PORT
|
||||
|
||||
EXPOSE $PORT
|
||||
VOLUME /verdaccio/storage
|
||||
|
||||
VOLUME ["/verdaccio"]
|
||||
ENTRYPOINT ["uid_entrypoint"]
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/dumb-init", "--"]
|
||||
|
||||
CMD $APPDIR/bin/verdaccio --config /verdaccio/conf/config.yaml --listen $PROTOCOL://0.0.0.0:${PORT}
|
||||
CMD $VERDACCIO_APPDIR/bin/verdaccio --config /verdaccio/conf/config.yaml --listen $VERDACCIO_PROTOCOL://0.0.0.0:$VERDACCIO_PORT
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
FROM hypriot/rpi-node:6-onbuild
|
||||
|
||||
RUN mkdir -p /verdaccio/storage /verdaccio/conf
|
||||
|
||||
WORKDIR /verdaccio
|
||||
|
||||
ADD conf/docker.yaml /verdaccio/conf/config.yaml
|
||||
|
||||
EXPOSE 4873
|
||||
|
||||
VOLUME ["/verdaccio/conf", "/verdaccio/storage"]
|
||||
|
||||
CMD ["/usr/src/app/bin/verdaccio", "--config", "/verdaccio/conf/config.yaml", "--listen", "0.0.0.0:4873"]
|
||||
384
LICENSE-docs
@@ -1,384 +0,0 @@
|
||||
Attribution 4.0 International
|
||||
|
||||
=======================================================================
|
||||
|
||||
Creative Commons Corporation ("Creative Commons") is not a law firm and
|
||||
does not provide legal services or legal advice. Distribution of
|
||||
Creative Commons public licenses does not create a lawyer-client or
|
||||
other relationship. Creative Commons makes its licenses and related
|
||||
information available on an "as-is" basis. Creative Commons gives no
|
||||
warranties regarding its licenses, any material licensed under their
|
||||
terms and conditions, or any related information. Creative Commons
|
||||
disclaims all liability for damages resulting from their use to the
|
||||
fullest extent possible.
|
||||
|
||||
Using Creative Commons Public Licenses
|
||||
|
||||
Creative Commons public licenses provide a standard set of terms and
|
||||
conditions that creators and other rights holders may use to share
|
||||
original works of authorship and other material subject to copyright
|
||||
and certain other rights specified in the public license below. The
|
||||
following considerations are for informational purposes only, are not
|
||||
exhaustive, and do not form part of our licenses.
|
||||
|
||||
Considerations for licensors: Our public licenses are
|
||||
intended for use by those authorized to give the public
|
||||
permission to use material in ways otherwise restricted by
|
||||
copyright and certain other rights. Our licenses are
|
||||
irrevocable. Licensors should read and understand the terms
|
||||
and conditions of the license they choose before applying it.
|
||||
Licensors should also secure all rights necessary before
|
||||
applying our licenses so that the public can reuse the
|
||||
material as expected. Licensors should clearly mark any
|
||||
material not subject to the license. This includes other CC-
|
||||
licensed material, or material used under an exception or
|
||||
limitation to copyright. More considerations for licensors:
|
||||
wiki.creativecommons.org/Considerations_for_licensors
|
||||
|
||||
Considerations for the public: By using one of our public
|
||||
licenses, a licensor grants the public permission to use the
|
||||
licensed material under specified terms and conditions. If
|
||||
the licensor's permission is not necessary for any reason--for
|
||||
example, because of any applicable exception or limitation to
|
||||
copyright--then that use is not regulated by the license. Our
|
||||
licenses grant only permissions under copyright and certain
|
||||
other rights that a licensor has authority to grant. Use of
|
||||
the licensed material may still be restricted for other
|
||||
reasons, including because others have copyright or other
|
||||
rights in the material. A licensor may make special requests,
|
||||
such as asking that all changes be marked or described.
|
||||
Although not required by our licenses, you are encouraged to
|
||||
respect those requests where reasonable. More_considerations
|
||||
for the public:
|
||||
wiki.creativecommons.org/Considerations_for_licensees
|
||||
|
||||
=======================================================================
|
||||
|
||||
Creative Commons Attribution 4.0 International Public License
|
||||
|
||||
By exercising the Licensed Rights (defined below), You accept and agree
|
||||
to be bound by the terms and conditions of this Creative Commons
|
||||
Attribution 4.0 International Public License ("Public License"). To the
|
||||
extent this Public License may be interpreted as a contract, You are
|
||||
granted the Licensed Rights in consideration of Your acceptance of
|
||||
these terms and conditions, and the Licensor grants You such rights in
|
||||
consideration of benefits the Licensor receives from making the
|
||||
Licensed Material available under these terms and conditions.
|
||||
|
||||
Section 1 -- Definitions.
|
||||
|
||||
a. Adapted Material means material subject to Copyright and Similar
|
||||
Rights that is derived from or based upon the Licensed Material
|
||||
and in which the Licensed Material is translated, altered,
|
||||
arranged, transformed, or otherwise modified in a manner requiring
|
||||
permission under the Copyright and Similar Rights held by the
|
||||
Licensor. For purposes of this Public License, where the Licensed
|
||||
Material is a musical work, performance, or sound recording,
|
||||
Adapted Material is always produced where the Licensed Material is
|
||||
synched in timed relation with a moving image.
|
||||
|
||||
b. Adapter's License means the license You apply to Your Copyright
|
||||
and Similar Rights in Your contributions to Adapted Material in
|
||||
accordance with the terms and conditions of this Public License.
|
||||
|
||||
c. Copyright and Similar Rights means copyright and/or similar rights
|
||||
closely related to copyright including, without limitation,
|
||||
performance, broadcast, sound recording, and Sui Generis Database
|
||||
Rights, without regard to how the rights are labeled or
|
||||
categorized. For purposes of this Public License, the rights
|
||||
specified in Section 2(b)(1)-(2) are not Copyright and Similar
|
||||
Rights.
|
||||
|
||||
d. Effective Technological Measures means those measures that, in the
|
||||
absence of proper authority, may not be circumvented under laws
|
||||
fulfilling obligations under Article 11 of the WIPO Copyright
|
||||
Treaty adopted on December 20, 1996, and/or similar international
|
||||
agreements.
|
||||
|
||||
e. Exceptions and Limitations means fair use, fair dealing, and/or
|
||||
any other exception or limitation to Copyright and Similar Rights
|
||||
that applies to Your use of the Licensed Material.
|
||||
|
||||
f. Licensed Material means the artistic or literary work, database,
|
||||
or other material to which the Licensor applied this Public
|
||||
License.
|
||||
|
||||
g. Licensed Rights means the rights granted to You subject to the
|
||||
terms and conditions of this Public License, which are limited to
|
||||
all Copyright and Similar Rights that apply to Your use of the
|
||||
Licensed Material and that the Licensor has authority to license.
|
||||
|
||||
h. Licensor means the individual(s) or entity(ies) granting rights
|
||||
under this Public License.
|
||||
|
||||
i. Share means to provide material to the public by any means or
|
||||
process that requires permission under the Licensed Rights, such
|
||||
as reproduction, public display, public performance, distribution,
|
||||
dissemination, communication, or importation, and to make material
|
||||
available to the public including in ways that members of the
|
||||
public may access the material from a place and at a time
|
||||
individually chosen by them.
|
||||
|
||||
j. Sui Generis Database Rights means rights other than copyright
|
||||
resulting from Directive 96/9/EC of the European Parliament and of
|
||||
the Council of 11 March 1996 on the legal protection of databases,
|
||||
as amended and/or succeeded, as well as other essentially
|
||||
equivalent rights anywhere in the world.
|
||||
|
||||
k. You means the individual or entity exercising the Licensed Rights
|
||||
under this Public License. Your has a corresponding meaning.
|
||||
|
||||
Section 2 -- Scope.
|
||||
|
||||
a. License grant.
|
||||
|
||||
1. Subject to the terms and conditions of this Public License,
|
||||
the Licensor hereby grants You a worldwide, royalty-free,
|
||||
non-sublicensable, non-exclusive, irrevocable license to
|
||||
exercise the Licensed Rights in the Licensed Material to:
|
||||
|
||||
a. reproduce and Share the Licensed Material, in whole or
|
||||
in part; and
|
||||
|
||||
b. produce, reproduce, and Share Adapted Material.
|
||||
|
||||
2. Exceptions and Limitations. For the avoidance of doubt, where
|
||||
Exceptions and Limitations apply to Your use, this Public
|
||||
License does not apply, and You do not need to comply with
|
||||
its terms and conditions.
|
||||
|
||||
3. Term. The term of this Public License is specified in Section
|
||||
6(a).
|
||||
|
||||
4. Media and formats; technical modifications allowed. The
|
||||
Licensor authorizes You to exercise the Licensed Rights in
|
||||
all media and formats whether now known or hereafter created,
|
||||
and to make technical modifications necessary to do so. The
|
||||
Licensor waives and/or agrees not to assert any right or
|
||||
authority to forbid You from making technical modifications
|
||||
necessary to exercise the Licensed Rights, including
|
||||
technical modifications necessary to circumvent Effective
|
||||
Technological Measures. For purposes of this Public License,
|
||||
simply making modifications authorized by this Section 2(a)
|
||||
(4) never produces Adapted Material.
|
||||
|
||||
5. Downstream recipients.
|
||||
|
||||
a. Offer from the Licensor -- Licensed Material. Every
|
||||
recipient of the Licensed Material automatically
|
||||
receives an offer from the Licensor to exercise the
|
||||
Licensed Rights under the terms and conditions of this
|
||||
Public License.
|
||||
|
||||
b. No downstream restrictions. You may not offer or impose
|
||||
any additional or different terms or conditions on, or
|
||||
apply any Effective Technological Measures to, the
|
||||
Licensed Material if doing so restricts exercise of the
|
||||
Licensed Rights by any recipient of the Licensed
|
||||
Material.
|
||||
|
||||
6. No endorsement. Nothing in this Public License constitutes or
|
||||
may be construed as permission to assert or imply that You
|
||||
are, or that Your use of the Licensed Material is, connected
|
||||
with, or sponsored, endorsed, or granted official status by,
|
||||
the Licensor or others designated to receive attribution as
|
||||
provided in Section 3(a)(1)(A)(i).
|
||||
|
||||
b. Other rights.
|
||||
|
||||
1. Moral rights, such as the right of integrity, are not
|
||||
licensed under this Public License, nor are publicity,
|
||||
privacy, and/or other similar personality rights; however, to
|
||||
the extent possible, the Licensor waives and/or agrees not to
|
||||
assert any such rights held by the Licensor to the limited
|
||||
extent necessary to allow You to exercise the Licensed
|
||||
Rights, but not otherwise.
|
||||
|
||||
2. Patent and trademark rights are not licensed under this
|
||||
Public License.
|
||||
|
||||
3. To the extent possible, the Licensor waives any right to
|
||||
collect royalties from You for the exercise of the Licensed
|
||||
Rights, whether directly or through a collecting society
|
||||
under any voluntary or waivable statutory or compulsory
|
||||
licensing scheme. In all other cases the Licensor expressly
|
||||
reserves any right to collect such royalties.
|
||||
|
||||
Section 3 -- License Conditions.
|
||||
|
||||
Your exercise of the Licensed Rights is expressly made subject to the
|
||||
following conditions.
|
||||
|
||||
a. Attribution.
|
||||
|
||||
1. If You Share the Licensed Material (including in modified
|
||||
form), You must:
|
||||
|
||||
a. retain the following if it is supplied by the Licensor
|
||||
with the Licensed Material:
|
||||
|
||||
i. identification of the creator(s) of the Licensed
|
||||
Material and any others designated to receive
|
||||
attribution, in any reasonable manner requested by
|
||||
the Licensor (including by pseudonym if
|
||||
designated);
|
||||
|
||||
ii. a copyright notice;
|
||||
|
||||
iii. a notice that refers to this Public License;
|
||||
|
||||
iv. a notice that refers to the disclaimer of
|
||||
warranties;
|
||||
|
||||
v. a URI or hyperlink to the Licensed Material to the
|
||||
extent reasonably practicable;
|
||||
|
||||
b. indicate if You modified the Licensed Material and
|
||||
retain an indication of any previous modifications; and
|
||||
|
||||
c. indicate the Licensed Material is licensed under this
|
||||
Public License, and include the text of, or the URI or
|
||||
hyperlink to, this Public License.
|
||||
|
||||
2. You may satisfy the conditions in Section 3(a)(1) in any
|
||||
reasonable manner based on the medium, means, and context in
|
||||
which You Share the Licensed Material. For example, it may be
|
||||
reasonable to satisfy the conditions by providing a URI or
|
||||
hyperlink to a resource that includes the required
|
||||
information.
|
||||
|
||||
3. If requested by the Licensor, You must remove any of the
|
||||
information required by Section 3(a)(1)(A) to the extent
|
||||
reasonably practicable.
|
||||
|
||||
4. If You Share Adapted Material You produce, the Adapter's
|
||||
License You apply must not prevent recipients of the Adapted
|
||||
Material from complying with this Public License.
|
||||
|
||||
Section 4 -- Sui Generis Database Rights.
|
||||
|
||||
Where the Licensed Rights include Sui Generis Database Rights that
|
||||
apply to Your use of the Licensed Material:
|
||||
|
||||
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
|
||||
to extract, reuse, reproduce, and Share all or a substantial
|
||||
portion of the contents of the database;
|
||||
|
||||
b. if You include all or a substantial portion of the database
|
||||
contents in a database in which You have Sui Generis Database
|
||||
Rights, then the database in which You have Sui Generis Database
|
||||
Rights (but not its individual contents) is Adapted Material; and
|
||||
|
||||
c. You must comply with the conditions in Section 3(a) if You Share
|
||||
all or a substantial portion of the contents of the database.
|
||||
|
||||
For the avoidance of doubt, this Section 4 supplements and does not
|
||||
replace Your obligations under this Public License where the Licensed
|
||||
Rights include other Copyright and Similar Rights.
|
||||
|
||||
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
|
||||
|
||||
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
|
||||
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
|
||||
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
|
||||
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
|
||||
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
|
||||
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
|
||||
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
|
||||
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
|
||||
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
|
||||
|
||||
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
|
||||
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
|
||||
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
|
||||
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
|
||||
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
|
||||
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
|
||||
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
|
||||
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
|
||||
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
|
||||
|
||||
c. The disclaimer of warranties and limitation of liability provided
|
||||
above shall be interpreted in a manner that, to the extent
|
||||
possible, most closely approximates an absolute disclaimer and
|
||||
waiver of all liability.
|
||||
|
||||
Section 6 -- Term and Termination.
|
||||
|
||||
a. This Public License applies for the term of the Copyright and
|
||||
Similar Rights licensed here. However, if You fail to comply with
|
||||
this Public License, then Your rights under this Public License
|
||||
terminate automatically.
|
||||
|
||||
b. Where Your right to use the Licensed Material has terminated under
|
||||
Section 6(a), it reinstates:
|
||||
|
||||
1. automatically as of the date the violation is cured, provided
|
||||
it is cured within 30 days of Your discovery of the
|
||||
violation; or
|
||||
|
||||
2. upon express reinstatement by the Licensor.
|
||||
|
||||
For the avoidance of doubt, this Section 6(b) does not affect any
|
||||
right the Licensor may have to seek remedies for Your violations
|
||||
of this Public License.
|
||||
|
||||
c. For the avoidance of doubt, the Licensor may also offer the
|
||||
Licensed Material under separate terms or conditions or stop
|
||||
distributing the Licensed Material at any time; however, doing so
|
||||
will not terminate this Public License.
|
||||
|
||||
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
|
||||
License.
|
||||
|
||||
Section 7 -- Other Terms and Conditions.
|
||||
|
||||
a. The Licensor shall not be bound by any additional or different
|
||||
terms or conditions communicated by You unless expressly agreed.
|
||||
|
||||
b. Any arrangements, understandings, or agreements regarding the
|
||||
Licensed Material not stated herein are separate from and
|
||||
independent of the terms and conditions of this Public License.
|
||||
|
||||
Section 8 -- Interpretation.
|
||||
|
||||
a. For the avoidance of doubt, this Public License does not, and
|
||||
shall not be interpreted to, reduce, limit, restrict, or impose
|
||||
conditions on any use of the Licensed Material that could lawfully
|
||||
be made without permission under this Public License.
|
||||
|
||||
b. To the extent possible, if any provision of this Public License is
|
||||
deemed unenforceable, it shall be automatically reformed to the
|
||||
minimum extent necessary to make it enforceable. If the provision
|
||||
cannot be reformed, it shall be severed from this Public License
|
||||
without affecting the enforceability of the remaining terms and
|
||||
conditions.
|
||||
|
||||
c. No term or condition of this Public License will be waived and no
|
||||
failure to comply consented to unless expressly agreed to by the
|
||||
Licensor.
|
||||
|
||||
d. Nothing in this Public License constitutes or may be interpreted
|
||||
as a limitation upon, or waiver of, any privileges and immunities
|
||||
that apply to the Licensor or You, including from the legal
|
||||
processes of any jurisdiction or authority.
|
||||
|
||||
=======================================================================
|
||||
|
||||
Creative Commons is not a party to its public licenses.
|
||||
Notwithstanding, Creative Commons may elect to apply one of its public
|
||||
licenses to material it publishes and in those instances will be
|
||||
considered the "Licensor." Except for the limited purpose of indicating
|
||||
that material is shared under a Creative Commons public license or as
|
||||
otherwise permitted by the Creative Commons policies published at
|
||||
creativecommons.org/policies, Creative Commons does not authorize the
|
||||
use of the trademark "Creative Commons" or any other trademark or logo
|
||||
of Creative Commons without its prior written consent including,
|
||||
without limitation, in connection with any unauthorized modifications
|
||||
to any of its public licenses or any other arrangements,
|
||||
understandings, or agreements concerning use of licensed material. For
|
||||
the avoidance of doubt, this paragraph does not form part of the public
|
||||
licenses.
|
||||
|
||||
Creative Commons may be contacted at creativecommons.org.
|
||||
219
README.md
@@ -1,38 +1,37 @@
|
||||
<div align="center">
|
||||
<a href="https://www.verdaccio.org/">
|
||||
<img src="https://github.com/verdaccio/verdaccio/raw/master/assets/bitmap/verdaccio%402x.png">
|
||||
</a>
|
||||
<br>
|
||||
<br>
|
||||
<h1>Version 3 Released 🎉</h1>
|
||||
<h5>
|
||||
<a target="_blank" href="https://medium.com/verdaccio/verdaccio-3-released-feb06ef38558">
|
||||
All the new features you need to know
|
||||
</a>
|
||||
</h5>
|
||||
</div>
|
||||

|
||||
|
||||

|
||||
|
||||
# Version 4
|
||||
|
||||
[Verdaccio](https://verdaccio.org/) is a simple, **zero-config-required local private npm registry**.
|
||||
No need for an entire database just to get started! Verdaccio comes out of the box with
|
||||
**its own tiny database**, and the ability to proxy other registries (eg. npmjs.org),
|
||||
caching the downloaded modules along the way.
|
||||
For those looking to extend their storage capabilities, Verdaccio
|
||||
**supports various community-made plugins to hook into services such as Amazon's s3,
|
||||
Google Cloud Storage** or create your own plugin.
|
||||
|
||||
|
||||
<div align="center">
|
||||
<p>
|
||||
A lightweight private npm proxy registry
|
||||
</p>
|
||||
<a href="https://www.npmjs.org/package/verdaccio"><img alt="npm version" src="https://img.shields.io/npm/v/verdaccio.svg"></a>
|
||||
<a href="https://circleci.com/gh/verdaccio/verdaccio"><img alt="CircleCI Status" src="https://circleci.com/gh/verdaccio/verdaccio.svg?style=shield&circle-token=:circle-token"></a>
|
||||
<a href="https://codecov.io/github/verdaccio/verdaccio"><img alt="Coverage Status" src="https://img.shields.io/codecov/c/github/verdaccio/verdaccio/master.svg"></a>
|
||||
<a href="https://www.npmjs.org/package/verdaccio"><img alt="npm Downloads" src="http://img.shields.io/npm/dm/verdaccio.svg"></a>
|
||||
<a href="https://hub.docker.com/r/verdaccio/verdaccio/"><img alt="npm Downloads" src="https://img.shields.io/docker/pulls/verdaccio/verdaccio.svg?maxAge=43200"></a>
|
||||
<a href="https://www.browserstack.com/automate/public-build/am8rVDJ1V1BSbW90aE4xUnZsbnNUOFVuVS9ZRmJWL3NWcjkzRUxycHF3TT0tLUh5aTBiY2VzT1A1NDRWdHg2L0FQT3c9PQ==--0e9064ebcb01bfebb9976a543500b0396c0bfcae%"><img src='https://www.browserstack.com/automate/badge.svg?badge_key=am8rVDJ1V1BSbW90aE4xUnZsbnNUOFVuVS9ZRmJWL3NWcjkzRUxycHF3TT0tLUh5aTBiY2VzT1A1NDRWdHg2L0FQT3c9PQ==--0e9064ebcb01bfebb9976a543500b0396c0bfcae%'/></a>
|
||||
<a href="https://discord.gg/AwXRqPD"
|
||||
><img alt="discord" src="https://img.shields.io/badge/Discord-%23questions%20%23general-blue.svg"/>
|
||||
</a>
|
||||
</div>
|
||||
<div align="center">
|
||||
<p align="center"><img src="https://github.com/verdaccio/verdaccio/blob/master/assets/gif/verdaccio_big_30.gif?raw=true"></p>
|
||||
[](https://www.npmjs.com/package/verdaccio)
|
||||
[](https://www.npmjs.com/package/verdaccio)
|
||||
[](https://verdaccio.org/docs/en/docker.html)
|
||||
[](https://opencollective.com/verdaccio)
|
||||
[](https://stackshare.io/verdaccio)
|
||||
|
||||
</div>
|
||||

|
||||
[](https://codecov.io/gh/verdaccio/verdaccio)
|
||||
[](http://chat.verdaccio.org/)
|
||||
[](https://www.npmjs.com/package/verdaccio)
|
||||

|
||||
[](https://crowdin.com/project/verdaccio)
|
||||
|
||||
<h2 align="center">Install</h2>
|
||||
|
||||
[](https://twitter.com/verdaccio_npm)
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
Install with npm:
|
||||
|
||||
@@ -40,26 +39,11 @@ Install with npm:
|
||||
npm install --global verdaccio
|
||||
```
|
||||
|
||||
Install with yarn:
|
||||
|
||||
```bash
|
||||
yarn global add verdaccio
|
||||
```
|
||||
|
||||
Install with pnpm:
|
||||
|
||||
```bash
|
||||
pnpm i -g verdaccio
|
||||
```
|
||||
|
||||
|
||||
<h2 align="center">Introduction</h2>
|
||||
|
||||
Verdaccio is a simple, **zero-config-required local private npm registry**. No need for an entire database just to get started! Verdaccio comes out of the box with **its own tiny database**, and the ability to proxy other registries (eg. npmjs.org), caching the downloaded modules along the way. For those looking to extend their storage capabilities, Verdaccio **supports various community-made plugins to hook into services such as Amazon's s3 and Google Cloud Storage**.
|
||||
## What does Verdaccio do for me?
|
||||
|
||||
### Use private packages
|
||||
|
||||
If you want to use all benefits of npm package system in your company without sending all code to the public, and use your private packages just as easy as public ones.
|
||||
If you want to use all benefits of npm package system in your company without sending all code to the public, and use your private packages just as easy as public ones.
|
||||
|
||||
### Cache npmjs.org registry
|
||||
|
||||
@@ -73,11 +57,15 @@ If you use multiples registries in your organization and need to fetch packages
|
||||
|
||||
### Override public packages
|
||||
|
||||
If you want to use a modified version of some 3rd-party package (for example, you found a bug, but maintainer didn't accept pull request yet), you can publish your version locally under the same name.
|
||||
If you want to use a modified version of some 3rd-party package (for example, you found a bug, but maintainer didn't accept pull request yet), you can publish your version locally under the same name. See in detail each of these [use cases](https://github.com/verdaccio/verdaccio/tree/master/docs/use-cases.md).
|
||||
|
||||
See in detail each of these [use cases](https://github.com/verdaccio/verdaccio/tree/master/docs/use-cases.md).
|
||||
### E2E Testing
|
||||
|
||||
<h2 align="center">Get Started</h2>
|
||||
Verdaccio has proved to be a lightweight registry that can be
|
||||
booted in a couple of seconds, fast enough for any CI. Many open source projects use verdaccio for end to end testing, to mention some examples, **create-react-app**, **mozilla neutrino**, **pnpm**, **storybook**, **alfresco** or **eclipse theia**. You can read more in dedicated article to E2E in our blog.
|
||||
|
||||
|
||||
## Get Started
|
||||
|
||||
Run in your terminal
|
||||
|
||||
@@ -89,24 +77,27 @@ You would need set some npm configuration, this is optional.
|
||||
|
||||
```bash
|
||||
$ npm set registry http://localhost:4873/
|
||||
# if you use HTTPS, add an appropriate CA information
|
||||
# ("null" means get CA list from OS)
|
||||
$ npm set ca null
|
||||
```
|
||||
|
||||
Now you can navigate to [http://localhost:4873/](http://localhost:4873/) where your local packages will be listed and can be searched.
|
||||
|
||||
> Warning: Verdaccio does not currently support PM2's cluster mode, running it with cluster mode may cause unknown behavior.
|
||||
> Warning: Verdaccio [does not currently support PM2's cluster mode](https://github.com/verdaccio/verdaccio/issues/1301#issuecomment-489302298), running it with cluster mode may cause unknown behavior.
|
||||
|
||||
<h2 align="center">Publishing Private Packages</h2>
|
||||
## Publishing
|
||||
|
||||
#### Create an user and log in
|
||||
#### 1. create an user and log in
|
||||
|
||||
```bash
|
||||
npm adduser --registry http://localhost:4873
|
||||
```
|
||||
|
||||
#### Publish your package
|
||||
> if you use HTTPS, add an appropriate CA information ("null" means get CA list from OS)
|
||||
|
||||
```bash
|
||||
$ npm set ca null
|
||||
```
|
||||
|
||||
#### 2. publish your package
|
||||
|
||||
```bash
|
||||
npm publish --registry http://localhost:4873
|
||||
@@ -114,7 +105,8 @@ npm publish --registry http://localhost:4873
|
||||
|
||||
This will prompt you for user credentials which will be saved on the `verdaccio` server.
|
||||
|
||||
<h2 align="center"> Docker</h2>
|
||||
|
||||
## Docker
|
||||
|
||||
Below are the most commonly needed informations,
|
||||
every aspect of Docker and verdaccio is [documented separately](https://www.verdaccio.org/docs/en/docker.html)
|
||||
@@ -127,7 +119,7 @@ docker pull verdaccio/verdaccio
|
||||
Available as [tags](https://hub.docker.com/r/verdaccio/verdaccio/tags/).
|
||||
|
||||
```
|
||||
docker pull verdaccio/verdaccio:3.0.0
|
||||
docker pull verdaccio/verdaccio:4
|
||||
```
|
||||
|
||||
### Running verdaccio using Docker
|
||||
@@ -140,7 +132,7 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio
|
||||
|
||||
Docker examples are available [in this repository](https://github.com/verdaccio/docker-examples).
|
||||
|
||||
<h2 align="center">Compatibility</h2>
|
||||
## Compatibility
|
||||
|
||||
Verdaccio aims to support all features of a standard npm client that make sense to support in private repository. Unfortunately, it isn't always possible.
|
||||
|
||||
@@ -158,59 +150,108 @@ Verdaccio aims to support all features of a standard npm client that make sense
|
||||
### User management
|
||||
|
||||
- Registering new users (npm adduser {newuser}) - **supported**
|
||||
- Change password (npm profile set password) - **supported**
|
||||
- Transferring ownership (npm owner add {user} {pkg}) - not supported, *PR-welcome*
|
||||
### Misc stuff
|
||||
- Token (npm token) - wip [#1271](https://github.com/verdaccio/verdaccio/pull/1271)
|
||||
|
||||
### Miscellany
|
||||
|
||||
- Searching (npm search) - **supported** (cli / browser)
|
||||
- Ping (npm ping) - **supported**
|
||||
- Starring (npm star, npm unstar) - not supported, *PR-welcome*
|
||||
- Starring (npm star, npm unstar, npm stars) - **supported**
|
||||
|
||||
### Security
|
||||
|
||||
- npm audit - **supported**
|
||||
- npm/yarn audit - **supported**
|
||||
|
||||
<h2 align="center">Contributors</h2>
|
||||
## Report a vulnerability
|
||||
|
||||
This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
|
||||
<a href="../../graphs/contributors"><img src="https://opencollective.com/verdaccio/contributors.svg?width=890&button=false" /></a>
|
||||
If you want to report a security vulnerability, please follow the steps which we have defined for you in our [security policy](https://github.com/verdaccio/verdaccio/security/policy).
|
||||
|
||||
## Core Team
|
||||
|
||||
### Backers
|
||||
The core team is responsible for driving this project ahead, team is ordered by antiquity and areas of responsibility.
|
||||
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio#backer)]
|
||||
| [Juan Picado](https://github.com/juanpicado) | [Ayush Sharma](https://github.com/ayusharma) | [Sergio Hg](https://github.com/sergiohgz) | [Priscila Oliveria](https://github.com/priscilawebdev) |
|
||||
|---|---|---|---|
|
||||
|  |  |  |  |
|
||||
| [@jotadeveloper](https://twitter.com/jotadeveloper) | [@ayusharma_](https://twitter.com/ayusharma_) | [@sergiohgz](https://twitter.com/sergiohgz) | [@priscilawebdev](https://twitter.com/priscilawebdev) |
|
||||
| All areas | All areas | Docker,Builds,Stack | UI, Stack |
|
||||
|
||||
<a href="https://opencollective.com/verdaccio#backers" target="_blank"><img src="https://opencollective.com/verdaccio/backers.svg?width=890"></a>
|
||||
You can find and chat with then over Discord, click [here](http://chat.verdaccio.org) or follow them at *Twitter*.
|
||||
|
||||
## Who is using Verdaccio?
|
||||
|
||||
### Sponsors
|
||||
* [create-react-app](https://github.com/facebook/create-react-app/blob/master/CONTRIBUTING.md#contributing-to-e2e-end-to-end-tests) *(+67k ⭐️)*
|
||||
* [Storybook](https://github.com/storybooks/storybook) *(+37k ⭐️)*
|
||||
* [Gatsby](https://github.com/gatsbyjs/gatsby) *(+34k ⭐️)*
|
||||
* [Angular CLI](https://github.com/angular/angular-cli) *(+21k ⭐️)*
|
||||
* [Uppy](https://github.com/transloadit/uppy) *(+19k ⭐️)*
|
||||
* [Aurelia Framework](https://github.com/aurelia) *(+11k ⭐️)*
|
||||
* [bit](https://github.com/teambit/bit) *(+6k ⭐️)*
|
||||
* [pnpm](https://github.com/pnpm/pnpm) *(+5k ⭐️)*
|
||||
* [Mozilla Neutrino](https://github.com/neutrinojs/neutrino) *(+3k ⭐️)*
|
||||
* [Hyperledger Composer](https://github.com/hyperledger/composer) *(+1.6k ⭐️)*
|
||||
* [webiny-js](https://github.com/Webiny/webiny-js) *(+1k ⭐️)*
|
||||
|
||||
🤓 Don't be shy, you also can be in [the list](https://github.com/verdaccio/website/blob/master/docs/who-is-using.md).
|
||||
|
||||
## Sponsorship
|
||||
|
||||
If you are a *company/project* and you 😍 Verdaccio and FOSS, your **logo can be here** 😉 if you support our activities. [Donate](https://opencollective.com/verdaccio).
|
||||
|
||||
## Open Collective Sponsors
|
||||
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/verdaccio#sponsor)]
|
||||
|
||||
<a href="https://opencollective.com/verdaccio/sponsor/0/website" target="_blank"><img src="https://opencollective.com/verdaccio/sponsor/0/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/verdaccio/sponsor/1/website" target="_blank"><img src="https://opencollective.com/verdaccio/sponsor/1/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/verdaccio/sponsor/2/website" target="_blank"><img src="https://opencollective.com/verdaccio/sponsor/2/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/verdaccio/sponsor/3/website" target="_blank"><img src="https://opencollective.com/verdaccio/sponsor/3/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/verdaccio/sponsor/4/website" target="_blank"><img src="https://opencollective.com/verdaccio/sponsor/4/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/verdaccio/sponsor/5/website" target="_blank"><img src="https://opencollective.com/verdaccio/sponsor/5/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/verdaccio/sponsor/6/website" target="_blank"><img src="https://opencollective.com/verdaccio/sponsor/6/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/verdaccio/sponsor/7/website" target="_blank"><img src="https://opencollective.com/verdaccio/sponsor/7/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/verdaccio/sponsor/8/website" target="_blank"><img src="https://opencollective.com/verdaccio/sponsor/8/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/verdaccio/sponsor/9/website" target="_blank"><img src="https://opencollective.com/verdaccio/sponsor/9/avatar.svg"></a>
|
||||
[](https://opencollective.com/verdaccio/sponsor/0/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/1/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/2/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/3/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/4/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/5/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/6/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/7/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/8/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/9/website)
|
||||
|
||||
<h2 align="center"> FAQ / Contact / Troubleshoot</h2>
|
||||
## Open Collective Backers
|
||||
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio#backer)]
|
||||
|
||||
[](https://opencollective.com/verdaccio#backers)
|
||||
|
||||
## Special Thanks
|
||||
|
||||
Thanks to the following companies to help us to achieve our goals providing free open source licenses.
|
||||
|
||||
[](https://www.jetbrains.com/)
|
||||
[](https://crowdin.com/)
|
||||
[](https://balsamiq.com/)
|
||||
|
||||
## Contributors
|
||||
|
||||
This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
|
||||
|
||||
[](../../graphs/contributors)
|
||||
|
||||
### FAQ / Contact / Troubleshoot
|
||||
|
||||
If you have any issue you can try the following options, do no desist to ask or check our issues database, perhaps someone has asked already what you are looking for.
|
||||
|
||||
* [Roadmap](https://github.com/verdaccio/verdaccio/wiki)
|
||||
* [Most common questions](https://github.com/verdaccio/verdaccio/issues?utf8=%E2%9C%93&q=is%3Aissue%20label%3Aquestion%20)
|
||||
* [Reporting a bug](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md#reporting-a-bug)
|
||||
* [Blog](https://verdaccio.org/blog/)
|
||||
* [Donations](https://opencollective.com/verdaccio)
|
||||
* [Reporting an issue](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md#reporting-a-bug)
|
||||
* [Running discussions](https://github.com/verdaccio/verdaccio/issues?q=is%3Aissue+is%3Aopen+label%3Adiscuss)
|
||||
* [Chat Room](http://chat.verdaccio.org/)
|
||||
* [Logos](https://github.com/verdaccio/verdaccio/tree/master/assets)
|
||||
* [Chat](http://chat.verdaccio.org/)
|
||||
* [Logos](https://verdaccio.org/docs/en/logo)
|
||||
* [Docker Examples](https://github.com/verdaccio/docker-examples)
|
||||
* [FAQ](https://github.com/verdaccio/verdaccio/issues?utf8=%E2%9C%93&q=is%3Aissue%20label%3Aquestion%20)
|
||||
|
||||
|
||||
<h2 align="center">License</h2>
|
||||
### License
|
||||
|
||||
Verdaccio is [MIT licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
|
||||
The Verdaccio documentation and logos (e.g., .md, .png, .sketch) files in the /docs and /assets folder) is [Creative Commons licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE-docs).
|
||||
The Verdaccio documentation and logos (excluding /thanks, e.g., .md, .png, .sketch) files within the /assets folder) is
|
||||
[Creative Commons licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE-docs).
|
||||
|
||||
73
SECURITY.md
Normal file
@@ -0,0 +1,73 @@
|
||||
# Security Policy
|
||||
|
||||
## Supported versions
|
||||
|
||||
The following table describes the versions of this project that are currently supported with security updates:
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| 2.x | :x: |
|
||||
| 3.x | :white_check_mark: |
|
||||
| 4.x | :white_check_mark: |
|
||||
|
||||
## Responsible disclosure security policy
|
||||
|
||||
A responsible disclosure policy helps protect users of the project from publicly disclosed security vulnerabilities without a fix by employing a process where vulnerabilities are first triaged in a private manner, and only publicly disclosed after a reasonable time period that allows patching the vulnerability and provides an upgrade path for users.
|
||||
|
||||
When contacting us directly via email, we will do our best efforts to respond in a reasonable time to resolve the issue. When contacting a security program their disclosure policy will provide details on timeframe, processes and paid bounties.
|
||||
|
||||
We kindly ask you to refrain from malicious acts that put our users, the project, or any of the project’s team members at risk.
|
||||
|
||||
## Reporting a security issue
|
||||
|
||||
At Verdaccio, we consider the security of our systems a top priority. But no matter how much effort we put into system security, there can still be vulnerabilities present.
|
||||
|
||||
If you discover a security vulnerability, please use one of the following means of communications to report it to us:
|
||||
|
||||
* Report the security issue to the Node.js Security WG through the [HackerOne program](https://hackerone.com/nodejs-ecosystem) for ecosystem modules on npm, or to [Snyk Security Team](https://snyk.io/vulnerability-disclosure). They will help triage the security issue and work with all involved parties to remediate and release a fix.
|
||||
|
||||
Note that time-frame and processes are subject to each program’s own policy.
|
||||
|
||||
* Report the security issue to the project maintainers directly at verdaccio@pm.me. If the report contains highly sensitive information, please be advised to encrypt your findings using our [PGP key](https://verdaccio.nyc3.digitaloceanspaces.com/gpg/publickey.verdaccio@pm.me.asc) which is also available in this document.
|
||||
|
||||
Your efforts to responsibly disclose your findings are sincerely appreciated and will be taken into account to acknowledge your contributions.
|
||||
|
||||
## PGP key
|
||||
|
||||
The following is this project’s PGP key which should be used to encrypt any sensitive information shared on unsecured medium such as e-mails:
|
||||
|
||||
```
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: OpenPGP.js v4.5.1
|
||||
Comment: https://openpgpjs.org
|
||||
|
||||
xsBNBFzm3asBCACxnJDv1r6dxiM2e8iqS6B7fxY2I3X1Rc+3m8mhXOwVwRG4
|
||||
AOrQ417oSzsVLf4iocg+DWrtxzY79odTLJEovVt79rxwqIIl4y96tH+29kLB
|
||||
ao7eaYZacfstonVkBAmxBLaYv1x7cqWuukm6sBCOxapW1X9BcbR3vOghDziY
|
||||
/1AwNjupAOPvKNMtghjrdh3w0iMfZS1hw28zjM1oCeezEil+CTjgQDN+69qS
|
||||
UFG/BInJ7CVn9TvhU85inSwpxVa576fkhvFoNUrGvFvYRWtXRJndbRdBodVj
|
||||
C9At/Gb2IeNf7xqXH2KloZ1yaVNVSzLX4jqrMWeF+9Z12SjUyL6G9TwDABEB
|
||||
AAHNIXZlcmRhY2Npb0BwbS5tZSA8dmVyZGFjY2lvQHBtLm1lPsLAdQQQAQgA
|
||||
HwUCXObdqwYLCQcIAwIEFQgKAgMWAgECGQECGwMCHgEACgkQpSvoGbwFJYhn
|
||||
2wf+JF+yLQXh1EFMih6lpbx243hvglgOWmcigYVRh5mSfULcdW2pmkPQXqhE
|
||||
DW73qqwN9G9piiPnGMw7sKoB7XJVuFKyvHOYKtem5UQVRvs2rTxnSc5qFcUJ
|
||||
0w3Tw/pZ9B3fYAEYti2B/GsSOzaECfBKCFOg15xXGAdwfgff5FsorN1Gb6MG
|
||||
eCO9c8faSF/+fQUCfokwMDVzxXQFZEMx3q/rHVJ/Fm+XelZ+00c9fdyiuPW5
|
||||
dM9gATle7lz0iPtxaUDGLW8QZ/7b6O8IJ1kle0tL4AE++bXsVWxNdzhlNohH
|
||||
Hn09sIdFnG4ySTz4YJjiDd70ZdQjOGEGvutymEIN1xcNq87ATQRc5t2rAQgA
|
||||
yX2ZhUCtrz7lzK0992yveB+duVF//yo9Pei2ra9Z3GNmA+oWlRH1FTWpAmVH
|
||||
uDdUchTnxAwaKntabt3Mb1AgEZwrdiG4LuHFbdx2ls93BJ5lXdp7vB6pVf3N
|
||||
IrhHKyQ/Y5L5kMSj/GjrhO19zmj6mPPEgb3M3ZIZjQUF4pro0pExuAPA9Wxe
|
||||
awn5+0BUYFs4mZQDtTdiVuz5tWA0fNtt1aBfOPA97tmn18y4b1b0iQIJQpep
|
||||
BVVnFLeAZOevDcBJFbmQOdAjufWSSgpzX+FZ3rx6RVwwKxUiVQyUuwSQkKh5
|
||||
RufZ5zE0y7Fe/YlWXbKoj4zNJqYtjPSPngQRWf7UpwARAQABwsBfBBgBCAAJ
|
||||
BQJc5t2rAhsMAAoJEKUr6Bm8BSWIoYQH+QDw0Z84tZK4N1lh49hYyohs6vNU
|
||||
9kG69nKLQA5NymPtTxh8YOJhdJL697FkvKI4OGEO2FXUmcJS3CBJ2nBVKMq2
|
||||
1biDRKC4OhIU2RgFhS6bHy6VOn24EYs77T+zX8YXpz8ulYVln2b0QZCubN0Z
|
||||
L50tEC8HnuVMVN+/pqITdD3FjzwGZgHdW8qkKgD6qhObHCl8/cW2buCsaIAY
|
||||
eZWVPgPY1S1U0V608qYNtUCkrmUW5Sl6YLvz7JTvTsaym5mzyFXF3ErAURgI
|
||||
/v4XaWmRgNGIxbIxsFGuEs+KIKBQDJmtvJCVpBNS5IYnFf5h/LA5cfkwMKJt
|
||||
wXhyE0b/iDs60ZM=
|
||||
=QWXs
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
```
|
||||
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
BIN
assets/bitmap/banner-background/verdaccio@2x.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
BIN
assets/bitmap/banner-transparent-background/verdaccio.png
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
BIN
assets/bitmap/banner-transparent-background/verdaccio@2x.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
assets/bitmap/banner-transparent-background/verdaccio@3x.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
assets/bitmap/logo-background-title/verdaccio-tiny-text.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
assets/bitmap/logo-background-title/verdaccio-tiny-text@2x.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
assets/bitmap/logo-background-title/verdaccio-tiny-text@3x.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 145 KiB After Width: | Height: | Size: 145 KiB |
|
Before Width: | Height: | Size: 256 KiB After Width: | Height: | Size: 256 KiB |
BIN
assets/bitmap/twitter/github-template.png
Normal file
|
After Width: | Height: | Size: 134 KiB |
|
Before Width: | Height: | Size: 79 KiB |
BIN
assets/bitmap/twitter/twitter-social-banner-tittle-light.png
Normal file
|
After Width: | Height: | Size: 94 KiB |
BIN
assets/bitmap/twitter/twitter-social-banner-tittle.png
Normal file
|
After Width: | Height: | Size: 95 KiB |
BIN
assets/bitmap/twitter/twitter-social-banner.png
Normal file
|
After Width: | Height: | Size: 79 KiB |
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="100px" height="100px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 51.2 (57519) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>logo-small-header-bottom</title>
|
||||
<svg width="301px" height="100px" viewBox="0 0 301 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 55 (78076) - https://sketchapp.com -->
|
||||
<title>Logo-Full</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs>
|
||||
<polygon id="path-1" points="48 17.6 32.8 48 24 48 0.4 0.8 15.6 0.8 28.4 26.4 32.8 17.6 48 17.6"></polygon>
|
||||
@@ -20,15 +20,15 @@
|
||||
</filter>
|
||||
</defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="logo-small-header-bottom">
|
||||
<g>
|
||||
<path d="M37,0 L63,0 C83.421,0 100,16.579 100,37 L100,63 C100,83.421 83.421,100 63,100 L37,100 C16.579,100 0,83.421 0,63 L0,37 C0,16.579 16.579,0 37,0 Z" id="Shape" fill="#F7F8F6"></path>
|
||||
<g id="Textmarke" transform="translate(28.400000, 77.000000)" fill="#405236" font-family="OpenSansLight-Italic, Open Sans" font-size="10" font-style="italic" font-weight="300">
|
||||
<g id="verdaccio">
|
||||
<g id="Group-2" transform="translate(27.000000, 19.000000)">
|
||||
<g id="Group-2-Copy" transform="translate(81.200000, 0.400000)" fill="#405236" font-family="OpenSansLight-Italic, Open Sans" font-size="42.4" font-style="italic" font-weight="300">
|
||||
<text id="Verdaccio">
|
||||
<tspan x="0.497" y="11.379">Verdaccio</tspan>
|
||||
<tspan x="0" y="45">Verdaccio</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Bildmarke" transform="translate(22.000000, 26.000000)">
|
||||
<path d="M66,30 L66,36.596969" id="Line-2" stroke="#0F5200" stroke-width="1.6" opacity="0.101109601" stroke-linecap="square"></path>
|
||||
<g id="Group" transform="translate(0.000000, 8.500000)">
|
||||
<g id="Combined-Shape">
|
||||
<use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
|
||||
<path stroke="#405236" stroke-width="2.4" d="M46.0583592,18.8 L33.5416408,18.8 L28.4,29.0832816 L14.8583592,2 L2.34164079,2 L24.7416408,46.8 L32.0583592,46.8 L46.0583592,18.8 Z" stroke-linejoin="square" fill="#405236" fill-rule="evenodd"></path>
|
||||
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
86
assets/svg/social-background.svg
Normal file
@@ -0,0 +1,86 @@
|
||||
|
||||
<svg width="960px" height="487px" viewBox="0 0 960 487" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<defs>
|
||||
<rect id="path-1" x="0" y="0" width="960" height="369"></rect>
|
||||
<filter x="-0.7%" y="-2.0%" width="101.4%" height="103.5%" filterUnits="objectBoundingBox" id="filter-3">
|
||||
<feOffset dx="0" dy="-1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
||||
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
||||
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0744168931 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
|
||||
</filter>
|
||||
<polygon id="path-4" points="96 34.2 65.6 95 48 95 0.8 0.6 31.2 0.6 56.8 51.8 65.6 34.2 96 34.2"></polygon>
|
||||
<filter x="-20.0%" y="-11.7%" width="139.9%" height="140.3%" filterUnits="objectBoundingBox" id="filter-5">
|
||||
<feOffset dx="0" dy="8" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
||||
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
||||
<feComposite in="shadowBlurOuter1" in2="SourceAlpha" operator="out" result="shadowBlurOuter1"></feComposite>
|
||||
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0906646286 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
|
||||
</filter>
|
||||
<polygon id="path-6" points="101.6 23 71.2 23 82.4 0.6 112.8 0.6 101.6 23"></polygon>
|
||||
<filter x="-45.7%" y="-49.1%" width="191.3%" height="269.6%" filterUnits="objectBoundingBox" id="filter-7">
|
||||
<feOffset dx="0" dy="8" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
||||
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
||||
<feComposite in="shadowBlurOuter1" in2="SourceAlpha" operator="out" result="shadowBlurOuter1"></feComposite>
|
||||
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0906646286 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
|
||||
</filter>
|
||||
</defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="verdaccio.github.io">
|
||||
<g id="Group-5">
|
||||
<mask id="mask-2" fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<g id="Rectangle">
|
||||
<use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-1"></use>
|
||||
<use fill="#F7F8F6" fill-rule="evenodd" xlink:href="#path-1"></use>
|
||||
</g>
|
||||
<g id="Group" opacity="0.417346014" mask="url(#mask-2)" fill="#4A5E3F">
|
||||
<g transform="translate(740.694191, 349.064745) rotate(-35.000000) translate(-740.694191, -349.064745) translate(400.694191, 64.564745)" id="Combined-Shape">
|
||||
<polygon fill-opacity="0.141332654" points="580.60076 202.388704 395.198837 568.615882 287.860881 568.615882 0 0 185.401923 6.84789635e-14 341.529859 308.401834 395.198837 202.388704 580.60076 202.388704"></polygon>
|
||||
<path d="M426.889943,133.165312 L339.571545,133.165312 L339.571545,104.629888 L441.443009,104.629888 L455.996075,76.094464 L388.081766,76.094464 L388.081766,47.55904 L470.549142,47.55904 L480.251186,28.535424 L436.591987,28.535424 L436.591987,0 L572.548175,0 L679.143091,0 L611.228782,133.165312 L426.889943,133.165312 Z" fill-opacity="0.233978714"></path>
|
||||
<polygon fill-opacity="0.113988904" points="396.562186 568.615882 288.853938 568.615882 0 0 186.041519 0 435.45057 492.609383"></polygon>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group-Copy" opacity="0.417346014" mask="url(#mask-2)" fill="#4A5E3F">
|
||||
<g transform="translate(180.322830, 94.008655) rotate(-35.000000) translate(-180.322830, -94.008655) translate(-79.177170, -123.491345)" id="Combined-Shape">
|
||||
<polygon fill-opacity="0.141332654" points="443.271172 154.517672 301.722394 434.121079 219.773102 434.121079 0 0 141.548778 5.22816235e-14 260.747748 235.4555 301.722394 154.517672 443.271172 154.517672"></polygon>
|
||||
<polygon fill-opacity="0.113988904" points="302.76327 434.121079 220.531271 434.121079 0 0 142.03709 0 332.453379 376.092409"></polygon>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group-Copy" opacity="0.417346014" mask="url(#mask-2)" fill="#4A5E3F">
|
||||
<g transform="translate(119.506397, 347.831732) rotate(-90.000000) translate(-119.506397, -347.831732) translate(3.006397, 250.331732)" id="Combined-Shape">
|
||||
<polygon fill-opacity="0.141332654" points="198.951506 69.3515067 135.420773 194.844709 98.6398225 194.844709 0 0 63.5307331 2.34653377e-14 117.030298 105.678486 135.420773 69.3515067 198.951506 69.3515067"></polygon>
|
||||
<path d="M146.280203,45.6310794 L116.359253,45.6310794 L116.359253,35.852991 L151.267028,35.852991 L156.253853,26.0749025 L132.982003,26.0749025 L132.982003,16.2968141 L161.240679,16.2968141 L164.565229,9.77808845 L149.604753,9.77808845 L149.604753,0 L196.192168,0 L232.718505,0 L209.446655,45.6310794 L146.280203,45.6310794 Z" fill-opacity="0.233978714"></path>
|
||||
<polygon fill-opacity="0.113988904" points="135.887945 194.844709 98.9801083 194.844709 0 0 63.7499002 0 149.21363 168.799949"></polygon>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<text id="Lightweight-private" font-family="OpenSans, Open Sans" font-size="24" font-weight="normal" fill="#405236">
|
||||
<tspan x="265" y="481">Lightweight private npm proxy registry</tspan>
|
||||
</text>
|
||||
<g id="Verdaccio-Copy-2" transform="translate(380.000000, 114.000000)">
|
||||
<path d="M88.5889891,-2.67995381e-15 L111.411011,2.67995381e-15 C136.867488,-1.99632522e-15 150.084032,3.43454761 162.143291,9.88391004 C174.20255,16.3332725 183.666728,25.7974497 190.11609,37.856709 C196.565452,49.9159682 200,63.1325117 200,88.5889891 L200,111.411011 C200,136.867488 196.565452,150.084032 190.11609,162.143291 C183.666728,174.20255 174.20255,183.666728 162.143291,190.11609 C150.084032,196.565452 136.867488,200 111.411011,200 L88.5889891,200 C63.1325117,200 49.9159682,196.565452 37.856709,190.11609 C25.7974497,183.666728 16.3332725,174.20255 9.88391004,162.143291 C3.43454761,150.084032 1.33088348e-15,136.867488 -1.78663588e-15,111.411011 L1.78663588e-15,88.5889891 C-1.33088348e-15,63.1325117 3.43454761,49.9159682 9.88391004,37.856709 C16.3332725,25.7974497 25.7974497,16.3332725 37.856709,9.88391004 C49.9159682,3.43454761 63.1325117,1.99632522e-15 88.5889891,-2.67995381e-15 Z" id="BG" fill="#FFFFFF"></path>
|
||||
<g id="Group" transform="translate(44.000000, 59.000000)">
|
||||
<g id="Combined-Shape">
|
||||
<use fill="black" fill-opacity="1" filter="url(#filter-5)" xlink:href="#path-4"></use>
|
||||
<path stroke="#405236" stroke-width="4.8" d="M92.1167184,36.6 L67.0832816,36.6 L56.8,57.1665631 L29.7167184,3 L4.68328157,3 L49.4832816,92.6 L64.1167184,92.6 L92.1167184,36.6 Z" stroke-linejoin="square" fill="#405236" fill-rule="evenodd"></path>
|
||||
</g>
|
||||
<g id="Path">
|
||||
<use fill="black" fill-opacity="1" filter="url(#filter-7)" xlink:href="#path-6"></use>
|
||||
<path stroke="#CD4000" stroke-width="4.8" d="M100.116718,20.6 L108.916718,3 L83.8832816,3 L75.0832816,20.6 L100.116718,20.6 Z" stroke-linejoin="square" fill="#CD4000" fill-rule="evenodd"></path>
|
||||
</g>
|
||||
<path d="M64.1214744,92.6 L69.2702249,82.3759732 L29.7145053,3 L4.68328157,3 L49.4832816,92.6 L64.1214744,92.6 Z" id="Combined-Shape" stroke="#405236" stroke-width="4.8" fill="#4A5E3F"></path>
|
||||
<path d="M75.2,3 L105.642076,3" id="Line-3" stroke="#CD4000" stroke-width="4.8" stroke-linecap="square"></path>
|
||||
<path d="M67.2,11 L97.6420761,11" id="Line-3" stroke="#CD4000" stroke-width="4.8" stroke-linecap="square"></path>
|
||||
<path d="M59.2,20.6 L89.6420761,20.6" id="Line-3" stroke="#CD4000" stroke-width="4.8" stroke-linecap="square"></path>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group-4" transform="translate(373.000000, 392.000000)">
|
||||
<text id="Verdaccio" font-family="OpenSansLight-Italic, Open Sans" font-size="42.4" font-style="italic" font-weight="300" fill="#405236">
|
||||
<tspan x="27" y="45">Verdaccio</tspan>
|
||||
</text>
|
||||
<path d="M11.5,22.5 L18.170832,22.5" id="Line-2" stroke="#CD4000" stroke-width="2.4" stroke-linecap="square"></path>
|
||||
<path d="M6.5,29.5 L18.0108644,29.5" id="Line-2-Copy" stroke="#CD4000" stroke-width="2.4" stroke-linecap="square"></path>
|
||||
<path d="M0.5,36.5 L18.0071414,36.5" id="Line-2-Copy" stroke="#CD4000" stroke-width="2.4" stroke-linecap="square"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 9.0 KiB |
44
assets/svg/social-no-text.svg
Normal file
@@ -0,0 +1,44 @@
|
||||
|
||||
<svg width="960px" height="372px" viewBox="0 0 960 372" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<defs>
|
||||
<rect id="path-1" x="0" y="0" width="960" height="369"></rect>
|
||||
<filter x="-0.7%" y="-2.0%" width="101.4%" height="103.5%" filterUnits="objectBoundingBox" id="filter-3">
|
||||
<feOffset dx="0" dy="-1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
||||
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
||||
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0744168931 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
|
||||
</filter>
|
||||
</defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="verdaccio.github.io">
|
||||
<g id="Group-5">
|
||||
<mask id="mask-2" fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<g id="Rectangle">
|
||||
<use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-1"></use>
|
||||
<use fill="#F7F8F6" fill-rule="evenodd" xlink:href="#path-1"></use>
|
||||
</g>
|
||||
<g id="Group" opacity="0.417346014" mask="url(#mask-2)" fill="#4A5E3F">
|
||||
<g transform="translate(740.694191, 349.064745) rotate(-35.000000) translate(-740.694191, -349.064745) translate(400.694191, 64.564745)" id="Combined-Shape">
|
||||
<polygon fill-opacity="0.141332654" points="580.60076 202.388704 395.198837 568.615882 287.860881 568.615882 0 0 185.401923 6.84789635e-14 341.529859 308.401834 395.198837 202.388704 580.60076 202.388704"></polygon>
|
||||
<path d="M426.889943,133.165312 L339.571545,133.165312 L339.571545,104.629888 L441.443009,104.629888 L455.996075,76.094464 L388.081766,76.094464 L388.081766,47.55904 L470.549142,47.55904 L480.251186,28.535424 L436.591987,28.535424 L436.591987,0 L572.548175,0 L679.143091,0 L611.228782,133.165312 L426.889943,133.165312 Z" fill-opacity="0.233978714"></path>
|
||||
<polygon fill-opacity="0.113988904" points="396.562186 568.615882 288.853938 568.615882 0 0 186.041519 0 435.45057 492.609383"></polygon>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group-Copy" opacity="0.417346014" mask="url(#mask-2)" fill="#4A5E3F">
|
||||
<g transform="translate(180.322830, 94.008655) rotate(-35.000000) translate(-180.322830, -94.008655) translate(-79.177170, -123.491345)" id="Combined-Shape">
|
||||
<polygon fill-opacity="0.141332654" points="443.271172 154.517672 301.722394 434.121079 219.773102 434.121079 0 0 141.548778 5.22816235e-14 260.747748 235.4555 301.722394 154.517672 443.271172 154.517672"></polygon>
|
||||
<polygon fill-opacity="0.113988904" points="302.76327 434.121079 220.531271 434.121079 0 0 142.03709 0 332.453379 376.092409"></polygon>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group-Copy" opacity="0.417346014" mask="url(#mask-2)" fill="#4A5E3F">
|
||||
<g transform="translate(119.506397, 347.831732) rotate(-90.000000) translate(-119.506397, -347.831732) translate(3.006397, 250.331732)" id="Combined-Shape">
|
||||
<polygon fill-opacity="0.141332654" points="198.951506 69.3515067 135.420773 194.844709 98.6398225 194.844709 0 0 63.5307331 2.34653377e-14 117.030298 105.678486 135.420773 69.3515067 198.951506 69.3515067"></polygon>
|
||||
<path d="M146.280203,45.6310794 L116.359253,45.6310794 L116.359253,35.852991 L151.267028,35.852991 L156.253853,26.0749025 L132.982003,26.0749025 L132.982003,16.2968141 L161.240679,16.2968141 L164.565229,9.77808845 L149.604753,9.77808845 L149.604753,0 L196.192168,0 L232.718505,0 L209.446655,45.6310794 L146.280203,45.6310794 Z" fill-opacity="0.233978714"></path>
|
||||
<polygon fill-opacity="0.113988904" points="135.887945 194.844709 98.9801083 194.844709 0 0 63.7499002 0 149.21363 168.799949"></polygon>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
@@ -1,8 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<svg width="100px" height="100px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 51.2 (57519) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>verdaccio-blackwhite</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs>
|
||||
<polygon id="path-1" points="48 16.7288136 32.6722689 47 23.7983193 47 0 0 15.3277311 5.66025569e-15 28.2352941 25.4915254 32.6722689 16.7288136 48 16.7288136"></polygon>
|
||||
<filter x="-19.8%" y="-11.7%" width="139.6%" height="140.4%" filterUnits="objectBoundingBox" id="filter-2">
|
||||
@@ -11,7 +8,7 @@
|
||||
<feComposite in="shadowBlurOuter1" in2="SourceAlpha" operator="out" result="shadowBlurOuter1"></feComposite>
|
||||
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0906646286 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
|
||||
</filter>
|
||||
<path d="M35.2,11 L28,11 L28,8.64285714 L36.4,8.64285714 L37.6,6.28571429 L32,6.28571429 L32,3.92857143 L38.8,3.92857143 L39.6,2.35714286 L36,2.35714286 L36,0 L40.8,0 L56,0 L50.4,11 L35.2,11 Z" id="path-3"></path>
|
||||
<path d="M35.2,11 L28,11 L28,8.64285714 L36.4,8.64285714 L37.6,6.28571429 L32,6.28571429 L32,3.92857143 L38.8,3.92857143 L39.6,2.35714286 L36,2.35714286 L36,0 L47.210519,0 L56,0 L50.4,11 L35.2,11 Z" id="path-3"></path>
|
||||
<filter x="-33.9%" y="-50.0%" width="167.9%" height="272.7%" filterUnits="objectBoundingBox" id="filter-4">
|
||||
<feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
||||
<feGaussianBlur stdDeviation="2.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
||||
@@ -19,8 +16,11 @@
|
||||
</filter>
|
||||
</defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="verdaccio-blackwhite">
|
||||
<rect id="BG" fill="#000000" x="0" y="0" width="100" height="100" rx="37"></rect>
|
||||
<g id="verdaccio-blackwhite-text">
|
||||
<path d="M44.2944945,-1.33997691e-15 L55.7055055,1.33997691e-15 C68.4337442,-9.98162608e-16 75.0420159,1.71727381 81.0716455,4.94195502 C87.1012751,8.16663623 91.8333638,12.8987249 95.058045,18.9283545 C98.2827262,24.9579841 100,31.5662558 100,44.2944945 L100,55.7055055 C100,68.4337442 98.2827262,75.0420159 95.058045,81.0716455 C91.8333638,87.1012751 87.1012751,91.8333638 81.0716455,95.058045 C75.0420159,98.2827262 68.4337442,100 55.7055055,100 L44.2944945,100 C31.5662558,100 24.9579841,98.2827262 18.9283545,95.058045 C12.8987249,91.8333638 8.16663623,87.1012751 4.94195502,81.0716455 C1.71727381,75.0420159 6.65441739e-16,68.4337442 -8.93317938e-16,55.7055055 L8.93317938e-16,44.2944945 C-6.65441739e-16,31.5662558 1.71727381,24.9579841 4.94195502,18.9283545 C8.16663623,12.8987249 12.8987249,8.16663623 18.9283545,4.94195502 C24.9579841,1.71727381 31.5662558,9.98162608e-16 44.2944945,-1.33997691e-15 Z" id="BG" fill="#000000"></path>
|
||||
<text id="Verdaccio" font-family="OpenSansLight-Italic, Open Sans" font-size="10" font-style="italic" font-weight="300" fill="#FFFFFF">
|
||||
<tspan x="30" y="90">Verdaccio</tspan>
|
||||
</text>
|
||||
<g id="Group" transform="translate(22.000000, 30.000000)">
|
||||
<g id="Combined-Shape">
|
||||
<use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
|
||||
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 3.7 KiB |
@@ -1,8 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="100px" height="100px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 51.2 (57519) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>verdaccio-tiny</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
|
||||
<svg width="65px" height="57px" viewBox="0 0 65 57" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<defs>
|
||||
<polygon id="path-1" points="48 17.6 32.8 48 24 48 0.4 0.8 15.6 0.8 28.4 26.4 32.8 17.6 48 17.6"></polygon>
|
||||
<filter x="-20.0%" y="-11.7%" width="139.9%" height="140.3%" filterUnits="objectBoundingBox" id="filter-2">
|
||||
@@ -20,8 +17,7 @@
|
||||
</filter>
|
||||
</defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="verdaccio-tiny">
|
||||
<rect id="BG" fill="#F7F8F6" x="0" y="0" width="100" height="100" rx="37"></rect>
|
||||
<g id="verdaccio-tiny" transform="translate(-18.000000, -29.000000)">
|
||||
<g id="Group" transform="translate(22.000000, 29.000000)">
|
||||
<g id="Combined-Shape">
|
||||
<use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
|
||||
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.2 KiB |
@@ -1,8 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<svg width="100px" height="100px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 51.2 (57519) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>verdaccio-tiny</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs>
|
||||
<polygon id="path-1" points="48 17.6 32.8 48 24 48 0.4 0.8 15.6 0.8 28.4 26.4 32.8 17.6 48 17.6"></polygon>
|
||||
<filter x="-20.0%" y="-11.7%" width="139.9%" height="140.3%" filterUnits="objectBoundingBox" id="filter-2">
|
||||
@@ -20,8 +17,11 @@
|
||||
</filter>
|
||||
</defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="verdaccio-tiny">
|
||||
<rect id="BG" fill="#F7F8F6" x="0" y="0" width="100" height="100" rx="37"></rect>
|
||||
<g id="verdaccio-tiny-text">
|
||||
<path d="M44.2944945,-1.33997691e-15 L55.7055055,1.33997691e-15 C68.4337442,-9.98162608e-16 75.0420159,1.71727381 81.0716455,4.94195502 C87.1012751,8.16663623 91.8333638,12.8987249 95.058045,18.9283545 C98.2827262,24.9579841 100,31.5662558 100,44.2944945 L100,55.7055055 C100,68.4337442 98.2827262,75.0420159 95.058045,81.0716455 C91.8333638,87.1012751 87.1012751,91.8333638 81.0716455,95.058045 C75.0420159,98.2827262 68.4337442,100 55.7055055,100 L44.2944945,100 C31.5662558,100 24.9579841,98.2827262 18.9283545,95.058045 C12.8987249,91.8333638 8.16663623,87.1012751 4.94195502,81.0716455 C1.71727381,75.0420159 6.65441739e-16,68.4337442 -8.93317938e-16,55.7055055 L8.93317938e-16,44.2944945 C-6.65441739e-16,31.5662558 1.71727381,24.9579841 4.94195502,18.9283545 C8.16663623,12.8987249 12.8987249,8.16663623 18.9283545,4.94195502 C24.9579841,1.71727381 31.5662558,9.98162608e-16 44.2944945,-1.33997691e-15 Z" id="BG" fill="#F7F8F6"></path>
|
||||
<text id="Verdaccio" font-family="OpenSansLight-Italic, Open Sans" font-size="10" font-style="italic" font-weight="300" fill="#405236">
|
||||
<tspan x="30" y="90">Verdaccio</tspan>
|
||||
</text>
|
||||
<g id="Group" transform="translate(22.000000, 29.000000)">
|
||||
<g id="Combined-Shape">
|
||||
<use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
|
||||
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 4.3 KiB |
@@ -1,99 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="960px" height="561px" viewBox="0 0 960 561" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 51.2 (57519) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>verdaccio.github.io</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs>
|
||||
<rect id="path-1" x="0" y="0" width="960" height="369"></rect>
|
||||
<filter x="-0.7%" y="-2.0%" width="101.4%" height="103.5%" filterUnits="objectBoundingBox" id="filter-3">
|
||||
<feOffset dx="0" dy="-1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
||||
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
||||
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0744168931 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
|
||||
</filter>
|
||||
<polygon id="path-4" points="96 34.2 65.6 95 48 95 0.8 0.6 31.2 0.6 56.8 51.8 65.6 34.2 96 34.2"></polygon>
|
||||
<filter x="-20.0%" y="-11.7%" width="139.9%" height="140.3%" filterUnits="objectBoundingBox" id="filter-5">
|
||||
<feOffset dx="0" dy="8" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
||||
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
||||
<feComposite in="shadowBlurOuter1" in2="SourceAlpha" operator="out" result="shadowBlurOuter1"></feComposite>
|
||||
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0906646286 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
|
||||
</filter>
|
||||
<polygon id="path-6" points="101.6 23 71.2 23 82.4 0.6 112.8 0.6 101.6 23"></polygon>
|
||||
<filter x="-45.7%" y="-49.1%" width="191.3%" height="269.6%" filterUnits="objectBoundingBox" id="filter-7">
|
||||
<feOffset dx="0" dy="8" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
||||
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
||||
<feComposite in="shadowBlurOuter1" in2="SourceAlpha" operator="out" result="shadowBlurOuter1"></feComposite>
|
||||
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0906646286 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
|
||||
</filter>
|
||||
</defs>
|
||||
<g id="verdaccio.github.io" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect fill="#FFFFFF" x="0" y="0" width="960" height="561"></rect>
|
||||
<g id="Group-5">
|
||||
<mask id="mask-2" fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<g id="Rectangle">
|
||||
<use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-1"></use>
|
||||
<use fill="#F7F8F6" fill-rule="evenodd" xlink:href="#path-1"></use>
|
||||
</g>
|
||||
<g id="Group" opacity="0.417346014" mask="url(#mask-2)" fill="#4A5E3F">
|
||||
<g transform="translate(740.694191, 349.064745) rotate(-35.000000) translate(-740.694191, -349.064745) translate(400.694191, 64.564745)" id="Combined-Shape">
|
||||
<polygon fill-opacity="0.141332654" points="580.60076 202.388704 395.198837 568.615882 287.860881 568.615882 0 0 185.401923 6.84789635e-14 341.529859 308.401834 395.198837 202.388704 580.60076 202.388704"></polygon>
|
||||
<path d="M426.889943,133.165312 L339.571545,133.165312 L339.571545,104.629888 L441.443009,104.629888 L455.996075,76.094464 L388.081766,76.094464 L388.081766,47.55904 L470.549142,47.55904 L480.251186,28.535424 L436.591987,28.535424 L436.591987,0 L494.804252,0 L679.143091,0 L611.228782,133.165312 L426.889943,133.165312 Z" fill-opacity="0.233978714"></path>
|
||||
<polygon fill-opacity="0.113988904" points="396.562186 568.615882 288.853938 568.615882 0 0 186.041519 0 435.45057 492.609383"></polygon>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group-Copy" opacity="0.417346014" mask="url(#mask-2)" fill="#4A5E3F">
|
||||
<g transform="translate(180.322830, 94.008655) rotate(-35.000000) translate(-180.322830, -94.008655) translate(-79.177170, -123.491345)" id="Combined-Shape">
|
||||
<polygon fill-opacity="0.141332654" points="443.271172 154.517672 301.722394 434.121079 219.773102 434.121079 0 0 141.548778 5.22816235e-14 260.747748 235.4555 301.722394 154.517672 443.271172 154.517672"></polygon>
|
||||
<polygon fill-opacity="0.113988904" points="302.76327 434.121079 220.531271 434.121079 0 0 142.03709 0 332.453379 376.092409"></polygon>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group-Copy" opacity="0.417346014" mask="url(#mask-2)" fill="#4A5E3F">
|
||||
<g transform="translate(119.506397, 347.831732) rotate(-90.000000) translate(-119.506397, -347.831732) translate(3.006397, 250.331732)" id="Combined-Shape">
|
||||
<polygon fill-opacity="0.141332654" points="198.951506 69.3515067 135.420773 194.844709 98.6398225 194.844709 0 0 63.5307331 2.34653377e-14 117.030298 105.678486 135.420773 69.3515067 198.951506 69.3515067"></polygon>
|
||||
<path d="M146.280203,45.6310794 L116.359253,45.6310794 L116.359253,35.852991 L151.267028,35.852991 L156.253853,26.0749025 L132.982003,26.0749025 L132.982003,16.2968141 L161.240679,16.2968141 L164.565229,9.77808845 L149.604753,9.77808845 L149.604753,0 L169.552054,0 L232.718505,0 L209.446655,45.6310794 L146.280203,45.6310794 Z" fill-opacity="0.233978714"></path>
|
||||
<polygon fill-opacity="0.113988904" points="135.887945 194.844709 98.9801083 194.844709 0 0 63.7499002 0 149.21363 168.799949"></polygon>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<text id="Lightweight-private" font-family=".SFNSDisplay, .SF NS Display" font-size="24" font-weight="normal" fill="#405236">
|
||||
<tspan x="265" y="478">Lightweight private npm proxy registry</tspan>
|
||||
</text>
|
||||
<g id="Verdaccio-Copy-2" transform="translate(380.000000, 114.000000)">
|
||||
<rect id="BG" fill="#FFFFFF" x="0" y="0" width="200" height="200" rx="74"></rect>
|
||||
<g id="Group" transform="translate(44.000000, 59.000000)">
|
||||
<g id="Combined-Shape">
|
||||
<use fill="black" fill-opacity="1" filter="url(#filter-5)" xlink:href="#path-4"></use>
|
||||
<path stroke="#405236" stroke-width="4.8" d="M92.1167184,36.6 L67.0832816,36.6 L56.8,57.1665631 L29.7167184,3 L4.68328157,3 L49.4832816,92.6 L64.1167184,92.6 L92.1167184,36.6 Z" stroke-linejoin="square" fill="#405236" fill-rule="evenodd"></path>
|
||||
</g>
|
||||
<g id="Path">
|
||||
<use fill="black" fill-opacity="1" filter="url(#filter-7)" xlink:href="#path-6"></use>
|
||||
<path stroke="#CD4000" stroke-width="4.8" d="M100.116718,20.6 L108.916718,3 L83.8832816,3 L75.0832816,20.6 L100.116718,20.6 Z" stroke-linejoin="square" fill="#CD4000" fill-rule="evenodd"></path>
|
||||
</g>
|
||||
<path d="M64.1214744,92.6 L69.2702249,82.3759732 L29.7145053,3 L4.68328157,3 L49.4832816,92.6 L64.1214744,92.6 Z" id="Combined-Shape" stroke="#405236" stroke-width="4.8" fill="#4A5E3F"></path>
|
||||
<path d="M75.2,3 L105.642076,3" id="Line-3" stroke="#CD4000" stroke-width="4.8" stroke-linecap="square"></path>
|
||||
<path d="M67.2,11 L97.6420761,11" id="Line-3" stroke="#CD4000" stroke-width="4.8" stroke-linecap="square"></path>
|
||||
<path d="M59.2,20.6 L89.6420761,20.6" id="Line-3" stroke="#CD4000" stroke-width="4.8" stroke-linecap="square"></path>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group-3" transform="translate(749.000000, 20.000000)">
|
||||
<rect id="Rectangle-2-Copy" fill="#FFFFFF" x="0" y="0" width="191" height="44" rx="22"></rect>
|
||||
<text id="Documentation" font-family="OpenSans-Semibold, Open Sans" font-size="22" font-weight="500" fill="#405236">
|
||||
<tspan x="13" y="30">Documentation</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Group-2" transform="translate(590.000000, 20.000000)">
|
||||
<rect id="Rectangle-2" fill="#000000" x="0" y="0" width="139" height="44" rx="22"></rect>
|
||||
<path d="M22.288,6 C13.294,6 6,13.293 6,22.29 C6,29.487 10.667,35.592 17.14,37.746 C17.955,37.896 18.252,37.393 18.252,36.961 C18.252,36.574 18.238,35.55 18.23,34.191 C13.699,35.175 12.743,32.007 12.743,32.007 C12.002,30.125 10.934,29.624 10.934,29.624 C9.455,28.614 11.046,28.634 11.046,28.634 C12.681,28.749 13.541,30.313 13.541,30.313 C14.994,32.802 17.354,32.083 18.282,31.666 C18.43,30.614 18.851,29.896 19.316,29.489 C15.699,29.078 11.896,27.68 11.896,21.438 C11.896,19.66 12.531,18.205 13.573,17.067 C13.405,16.655 12.846,14.998 13.733,12.756 C13.733,12.756 15.1,12.318 18.212,14.426 C19.511,14.064 20.905,13.884 22.29,13.877 C23.674,13.884 25.067,14.064 26.368,14.426 C29.478,12.318 30.843,12.756 30.843,12.756 C31.732,14.998 31.173,16.655 31.006,17.067 C32.05,18.205 32.68,19.66 32.68,21.438 C32.68,27.696 28.871,29.073 25.243,29.476 C25.827,29.979 26.348,30.973 26.348,32.492 C26.348,34.67 26.328,36.427 26.328,36.961 C26.328,37.397 26.622,37.904 27.448,37.745 C33.916,35.586 38.579,29.485 38.579,22.29 C38.579,13.293 31.285,6 22.288,6" id="Fill-50" fill="#FFFFFE"></path>
|
||||
<text id="GitHub" font-family="OpenSans-Semibold, Open Sans" font-size="22" font-weight="500" fill="#FFFFFF">
|
||||
<tspan x="51" y="30">GitHub</tspan>
|
||||
</text>
|
||||
<path d="M45.5,17.5 L45.5,28.6803399" id="Line" stroke="#FFFFFF" stroke-width="2" opacity="0.546761775" stroke-linecap="square"></path>
|
||||
</g>
|
||||
<g id="Group-4" transform="translate(393.000000, 392.000000)" fill="#405236" font-family="OpenSansLight-Italic, Open Sans" font-size="42.4" font-style="italic" font-weight="300">
|
||||
<text id="Verdaccio">
|
||||
<tspan x="0.41640625" y="45">Verdaccio</tspan>
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 9.8 KiB |
BIN
assets/thanks/balsamiq/logo.jpg
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
assets/thanks/crowdin/logo.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
assets/thanks/jetbrains/logo.png
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
@@ -1,55 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="301px" height="100px" viewBox="0 0 301 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 47.1 (45422) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>Logo-Full</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs>
|
||||
<polygon id="path-1" points="48 17.6 32.8 48 24 48 0.4 0.8 15.6 0.8 28.4 26.4 32.8 17.6 48 17.6"></polygon>
|
||||
<filter x="-20.0%" y="-11.7%" width="139.9%" height="140.3%" filterUnits="objectBoundingBox" id="filter-2">
|
||||
<feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
||||
<feGaussianBlur stdDeviation="2.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
||||
<feComposite in="shadowBlurOuter1" in2="SourceAlpha" operator="out" result="shadowBlurOuter1"></feComposite>
|
||||
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0906646286 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
|
||||
</filter>
|
||||
<polygon id="path-3" points="50.8 12 35.6 12 41.2 0.8 56.4 0.8 50.8 12"></polygon>
|
||||
<filter x="-45.7%" y="-49.1%" width="191.3%" height="269.6%" filterUnits="objectBoundingBox" id="filter-4">
|
||||
<feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
||||
<feGaussianBlur stdDeviation="2.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
||||
<feComposite in="shadowBlurOuter1" in2="SourceAlpha" operator="out" result="shadowBlurOuter1"></feComposite>
|
||||
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0906646286 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
|
||||
</filter>
|
||||
<polygon id="path-5" points="32.8 48 24 48 0.4 0.8 15.6 0.8 35.9772662 41.6908081"></polygon>
|
||||
</defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="Verdaccio">
|
||||
<rect id="BG" fill="#F7F8F6" x="0" y="0" width="301" height="100" rx="37"></rect>
|
||||
<g id="Group-2" transform="translate(27.000000, 22.000000)">
|
||||
<g id="Group-2-Copy" transform="translate(65.200000, 0.400000)" font-weight="300" font-size="42.4" font-family="OpenSans-LightItalic, Open Sans" fill="#405236" font-style="italic">
|
||||
<text id="Verdaccio">
|
||||
<tspan x="16" y="45">Verdaccio</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<path d="M66,27 L66,33.596969" id="Line-2" stroke="#0F5200" stroke-width="1.6" opacity="0.101109601" stroke-linecap="square"></path>
|
||||
<g id="Group" transform="translate(0.000000, 5.500000)">
|
||||
<g id="Combined-Shape">
|
||||
<use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
|
||||
<use fill="#405236" fill-rule="evenodd" xlink:href="#path-1"></use>
|
||||
<path stroke="#405236" stroke-width="2.4" d="M46.0583592,18.8 L33.5416408,18.8 L28.4,29.0832816 L14.8583592,2 L2.34164079,2 L24.7416408,46.8 L32.0583592,46.8 L46.0583592,18.8 Z"></path>
|
||||
</g>
|
||||
<g id="Path">
|
||||
<use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-3"></use>
|
||||
<use fill="#CD4000" fill-rule="evenodd" xlink:href="#path-3"></use>
|
||||
<path stroke="#CD4000" stroke-width="2.4" d="M50.0583592,10.8 L54.4583592,2 L41.9416408,2 L37.5416408,10.8 L50.0583592,10.8 Z"></path>
|
||||
</g>
|
||||
<g id="Combined-Shape">
|
||||
<use fill="#4A5E3F" fill-rule="evenodd" xlink:href="#path-5"></use>
|
||||
<path stroke="#405236" stroke-width="2.4" d="M32.0607372,46.8 L34.6351125,41.6879866 L14.8572527,2 L2.34164079,2 L24.7416408,46.8 L32.0607372,46.8 Z"></path>
|
||||
</g>
|
||||
<path d="M37.6,2 L52.8210381,2" id="Line-3" stroke="#CD4000" stroke-width="2.4" stroke-linecap="square"></path>
|
||||
<path d="M33.6,6 L48.8210381,6" id="Line-3" stroke="#CD4000" stroke-width="2.4" stroke-linecap="square"></path>
|
||||
<path d="M29.6,10.8 L44.8210381,10.8" id="Line-3" stroke="#CD4000" stroke-width="2.4" stroke-linecap="square"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 146 KiB |
@@ -1 +1,9 @@
|
||||
This directory is for config examples.
|
||||
## Looking 👀 for Documentation?
|
||||
|
||||
This directory host the default configuration file, but you can find more here:
|
||||
|
||||
* [https://verdaccio.org/docs/en/installation](https://verdaccio.org/docs/en/installation)
|
||||
* [Chat with us](http://chat.verdaccio.org) <- You need a Discord account
|
||||
* [Follou us on Twitter](https://twitter.com/verdaccio_npm)
|
||||
|
||||
Enjoy Verdaccio !
|
||||
|
||||
@@ -12,16 +12,29 @@ storage: ./storage
|
||||
plugins: ./plugins
|
||||
|
||||
web:
|
||||
# WebUI is enabled as default, if you want disable it, just uncomment this line
|
||||
#enable: false
|
||||
title: Verdaccio
|
||||
# comment out to disable gravatar support
|
||||
# gravatar: false
|
||||
# by default packages are ordercer ascendant (asc|desc)
|
||||
# sort_packages: asc
|
||||
|
||||
auth:
|
||||
htpasswd:
|
||||
file: ./htpasswd
|
||||
# Maximum amount of users allowed to register, defaults to "+inf".
|
||||
# You can set this to -1 to disable registration.
|
||||
#max_users: 1000
|
||||
# max_users: 1000
|
||||
|
||||
security:
|
||||
api:
|
||||
jwt:
|
||||
sign:
|
||||
expiresIn: 60d
|
||||
notBefore: 1
|
||||
web:
|
||||
sign:
|
||||
expiresIn: 7d
|
||||
notBefore: 1
|
||||
|
||||
# a list of other known repositories we can talk to
|
||||
uplinks:
|
||||
@@ -33,6 +46,7 @@ packages:
|
||||
# scoped packages
|
||||
access: $all
|
||||
publish: $authenticated
|
||||
unpublish: $authenticated
|
||||
proxy: npmjs
|
||||
|
||||
'**':
|
||||
@@ -43,20 +57,26 @@ packages:
|
||||
# and three keywords: "$all", "$anonymous", "$authenticated"
|
||||
access: $all
|
||||
|
||||
# allow all known users to publish packages
|
||||
# allow all known users to publish/publish packages
|
||||
# (anyone can register by default, remember?)
|
||||
publish: $authenticated
|
||||
unpublish: $authenticated
|
||||
|
||||
# if package is not available locally, proxy requests to 'npmjs' registry
|
||||
proxy: npmjs
|
||||
|
||||
# To use `npm audit` uncomment the following section
|
||||
# You can specify HTTP/1.1 server keep alive timeout in seconds for incomming connections.
|
||||
# A value of 0 makes the http server behave similarly to Node.js versions prior to 8.0.0, which did not have a keep-alive timeout.
|
||||
# WORKAROUND: Through given configuration you can workaround following issue https://github.com/verdaccio/verdaccio/issues/301. Set to 0 in case 60 is not enought.
|
||||
server:
|
||||
keepAliveTimeout: 60
|
||||
|
||||
middlewares:
|
||||
audit:
|
||||
enabled: true
|
||||
|
||||
# log settings
|
||||
logs:
|
||||
- {type: stdout, format: pretty, level: http}
|
||||
- { type: stdout, format: pretty, level: http }
|
||||
#- {type: file, path: verdaccio.log, level: info}
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#
|
||||
|
||||
# path to a directory with all packages
|
||||
storage: /verdaccio/storage
|
||||
storage: /verdaccio/storage/data
|
||||
# path to a directory with plugins to include
|
||||
plugins: /verdaccio/plugins
|
||||
|
||||
@@ -19,13 +19,28 @@ web:
|
||||
# WebUI is enabled as default, if you want disable it, just uncomment this line
|
||||
#enable: false
|
||||
title: Verdaccio
|
||||
# comment out to disable gravatar support
|
||||
# gravatar: false
|
||||
# by default packages are ordercer ascendant (asc|desc)
|
||||
# sort_packages: asc
|
||||
|
||||
auth:
|
||||
htpasswd:
|
||||
file: /verdaccio/conf/htpasswd
|
||||
file: /verdaccio/storage/htpasswd
|
||||
# Maximum amount of users allowed to register, defaults to "+infinity".
|
||||
# You can set this to -1 to disable registration.
|
||||
#max_users: 1000
|
||||
# max_users: 1000
|
||||
|
||||
security:
|
||||
api:
|
||||
jwt:
|
||||
sign:
|
||||
expiresIn: 60d
|
||||
notBefore: 1
|
||||
web:
|
||||
sign:
|
||||
expiresIn: 7d
|
||||
notBefore: 1
|
||||
|
||||
# a list of other known repositories we can talk to
|
||||
uplinks:
|
||||
@@ -37,6 +52,7 @@ packages:
|
||||
# scoped packages
|
||||
access: $all
|
||||
publish: $authenticated
|
||||
unpublish: $authenticated
|
||||
proxy: npmjs
|
||||
|
||||
'**':
|
||||
@@ -47,19 +63,19 @@ packages:
|
||||
# and three keywords: "$all", "$anonymous", "$authenticated"
|
||||
access: $all
|
||||
|
||||
# allow all known users to publish packages
|
||||
# allow all known users to publish/publish packages
|
||||
# (anyone can register by default, remember?)
|
||||
publish: $authenticated
|
||||
unpublish: $authenticated
|
||||
|
||||
# if package is not available locally, proxy requests to 'npmjs' registry
|
||||
proxy: npmjs
|
||||
|
||||
# To use `npm audit` uncomment the following section
|
||||
middlewares:
|
||||
audit:
|
||||
enabled: true
|
||||
|
||||
# log settings
|
||||
logs:
|
||||
- {type: stdout, format: pretty, level: http}
|
||||
- { type: stdout, format: pretty, level: http }
|
||||
#- {type: file, path: verdaccio.log, level: info}
|
||||
|
||||
203
conf/full.yaml
@@ -1,197 +1,10 @@
|
||||
# path to a directory with all packages
|
||||
storage: ./storage
|
||||
# path to a directory with plugins to include
|
||||
plugins: ./plugins
|
||||
## This file is deprecated and the content does not exist anymore
|
||||
## we highly recommend either visit
|
||||
## https://verdaccio.org/docs/en/configuration
|
||||
## or read the local file
|
||||
## https://github.com/verdaccio/website/tree/master/docs/config.md
|
||||
|
||||
web:
|
||||
# WebUI is enabled as default, if you want disable it, just uncomment this line
|
||||
#enable: false
|
||||
|
||||
title: Verdaccio
|
||||
|
||||
#logo: logo.png
|
||||
|
||||
# If you're using this registry for a specific module scope,
|
||||
# specify that scope to set it in the webui instructions header (note: escape @ with \@)
|
||||
#scope: \@myscope
|
||||
|
||||
auth:
|
||||
htpasswd:
|
||||
file: ./htpasswd
|
||||
# Maximum amount of users allowed to register, defaults to "+infinity".
|
||||
# You can set this to -1 to disable registration.
|
||||
#max_users: 1000
|
||||
|
||||
# Configure plugins that can register custom middlewares
|
||||
# To use `npm audit` uncomment the following section
|
||||
middlewares:
|
||||
audit:
|
||||
enabled: true
|
||||
|
||||
# a list of other known repositories we can talk to
|
||||
uplinks:
|
||||
npmjs:
|
||||
url: https://registry.npmjs.org/
|
||||
|
||||
# amount of time to wait for repository to respond
|
||||
# before giving up and use the local cached copy
|
||||
#timeout: 30s
|
||||
|
||||
# maximum time in which data is considered up to date
|
||||
#
|
||||
# default is 2 minutes, so server won't request the same data from
|
||||
# uplink if a similar request was made less than 2 minutes ago
|
||||
#maxage: 2m
|
||||
|
||||
# if two subsequent requests fail, no further requests will be sent to
|
||||
# this uplink for five minutes
|
||||
#max_fails: 2
|
||||
#fail_timeout: 5m
|
||||
|
||||
# timeouts are defined in the same way as nginx, see:
|
||||
# http://wiki.nginx.org/ConfigNotation
|
||||
|
||||
# add/override HTTP headers sent to the uplink server
|
||||
# this allows for HTTP Basic auth for example:
|
||||
#headers:
|
||||
# authorization: "Basic YourBase64EncodedCredentials=="
|
||||
|
||||
# set this to false to prevent tarballs from this upstream
|
||||
# to be stored in the local storage (defaults to true)
|
||||
#cache: false
|
||||
|
||||
# set this to false to disable strict SSL cert check (defaults to true)
|
||||
#strict_ssl: false
|
||||
|
||||
packages:
|
||||
'@*/*':
|
||||
# scoped packages
|
||||
access: $all
|
||||
publish: $authenticated
|
||||
proxy: npmjs
|
||||
# uncomment this for packages with "local-" prefix to be available
|
||||
# for admin only, it's a recommended way of handling private packages
|
||||
#'local-*':
|
||||
# access: admin
|
||||
# publish: admin
|
||||
# # you can override storage directory for a group of packages this way:
|
||||
# storage: 'local_storage'
|
||||
|
||||
'**':
|
||||
# allow all users to read packages (including non-authenticated users)
|
||||
#
|
||||
# you can specify usernames/groupnames (depending on your auth plugin)
|
||||
# and three keywords: "$all", "$anonymous", "$authenticated"
|
||||
access: $all
|
||||
|
||||
# allow 'admin' to publish packages
|
||||
publish: $authenticated
|
||||
|
||||
# if package is not available locally, proxy requests to 'npmjs' registry
|
||||
proxy: npmjs
|
||||
|
||||
#####################################################################
|
||||
# Advanced settings
|
||||
#####################################################################
|
||||
|
||||
## Special packages publish configurations
|
||||
#publish:
|
||||
## This will allow the publisher to publish packages even if any uplink is down.
|
||||
# allow_offline: true
|
||||
|
||||
# if you use nginx with custom path, use this to override links
|
||||
#url_prefix: https://dev.company.local/verdaccio/
|
||||
|
||||
# You can specify listen address (or simply a port).
|
||||
# If you add multiple values, verdaccio will listen on all of them.
|
||||
#
|
||||
# Examples:
|
||||
#
|
||||
#listen:
|
||||
# - localhost:4873 # default value
|
||||
# - http://localhost:4873 # same thing
|
||||
# - 0.0.0.0:4873 # listen on all addresses (INADDR_ANY)
|
||||
# - https://example.org:4873 # if you want to use https
|
||||
# - [::1]:4873 # ipv6
|
||||
# - unix:/tmp/verdaccio.sock # unix socket
|
||||
|
||||
# Configure HTTPS, it is required if you use "https" protocol above.
|
||||
#https:
|
||||
# key: path/to/server.key
|
||||
# cert: path/to/server.crt
|
||||
# ca: path/to/server.pem
|
||||
|
||||
# type: file | stdout | stderr
|
||||
# level: trace | debug | info | http (default) | warn | error | fatal
|
||||
#
|
||||
# parameters for file: name is filename
|
||||
# {type: 'file', path: 'verdaccio.log', level: 'debug'},
|
||||
# Rotating log stream. Options are passed directly to bunyan. See: https://github.com/trentm/node-bunyan#stream-type-rotating-file
|
||||
# {type: rotating-file, format: json, path: /path/to/log.jsonl, level: http, options: {period: 1d}}
|
||||
# parameters for stdout and stderr: format: json | pretty | pretty-timestamped
|
||||
# {type: 'stdout', format: 'pretty', level: 'debug'},
|
||||
logs:
|
||||
- {type: stdout, format: pretty, level: http}
|
||||
#- {type: file, path: verdaccio.log, level: info}
|
||||
|
||||
# you can specify proxy used with all requests in wget-like manner here
|
||||
# (or set up ENV variables with the same name)
|
||||
#http_proxy: http://something.local/
|
||||
#https_proxy: https://something.local/
|
||||
#no_proxy: localhost,127.0.0.1
|
||||
|
||||
# maximum size of uploaded json document
|
||||
# increase it if you have "request entity too large" errors
|
||||
#max_body_size: 1mb
|
||||
|
||||
# Notify Settings
|
||||
# Notify was built primarily to use with Slack's Incoming
|
||||
# webhooks, but will also deliver a simple payload to
|
||||
# any endpoint. Currently only active for publish / create
|
||||
# commands.
|
||||
#notify:
|
||||
# Choose a method. Technically this will accept any HTTP
|
||||
# request method, but probably stick to GET or POST
|
||||
# method: POST
|
||||
# Only run this notification if the package name matches the regular
|
||||
# expression
|
||||
# packagePattern: ^example-package$
|
||||
# Any flags to be used with the regular expression
|
||||
# packagePatternFlags: i
|
||||
# If this endpoint requires specific headers, set them here
|
||||
# as an array of key: value objects.
|
||||
# headers: [{'Content-type': 'application/x-www-form-urlencoded'}]
|
||||
# set the URL endpoint for this call
|
||||
# endpoint: https://hooks.slack.com/...
|
||||
# Finally, the content you will be sending in the body.
|
||||
# This data will first be run through Handlebars to parse
|
||||
# any Handlebar expressions. All data housed in the metadata object
|
||||
# is available for use within the expressions.
|
||||
# content: ' {{ handlebar-expression }}'
|
||||
# For Slack, follow the following format:
|
||||
# content: '{ "text": "Package *{{ name }}* published to version *{{ dist-tags.latest }}*", "username": "Verdaccio", "icon_emoji": ":package:" }'
|
||||
|
||||
# Multiple notification endpoints can be created by specifying a collection
|
||||
# 'example-package-1':
|
||||
# method: POST
|
||||
# Only run this notification if the package name matches the regular
|
||||
# expression
|
||||
# packagePattern: ^example-package-regex$
|
||||
# Any flags to be used with the regular expression
|
||||
# since verdaccio 2.2.2 this property has been disabled read #108
|
||||
# it will be re-enabled after 2.5.0
|
||||
# packagePatternFlags: i
|
||||
# If this endpoint requires specific headers, set them here
|
||||
# as an array of key: value objects.
|
||||
# headers supports as well a literal object
|
||||
# headers: {'Content-type': 'application/x-www-form-urlencoded'}
|
||||
# set the URL endpoint for this call
|
||||
# endpoint: https://hooks.slack.com/...
|
||||
# Finally, the content you will be sending in the body.
|
||||
# This data will first be run through Handlebars to parse
|
||||
# any Handlebar expressions. All data housed in the metadata object
|
||||
# is available for use within the expressions.
|
||||
# content: ' {{ handlebar-expression }}'
|
||||
# For Slack, follow the following format:
|
||||
# content: '{ "text": "Package *{{ name }}* published to version *{{ dist-tags.latest }}*", "username": "Verdaccio", "icon_emoji": ":package:" }'
|
||||
## contribute with translations
|
||||
|
||||
## You can contribute translating documentation through the crowdin platform
|
||||
## https://crowdin.com/project/verdaccio
|
||||
|
||||
341
contrib/aws/cloudformation-ec2-efs.yaml
Normal file
@@ -0,0 +1,341 @@
|
||||
# Instructions:
|
||||
# 1. Check all "TODO" comments and make changes if required for your environment
|
||||
# 2. Provide values for all required parameters and any optional parameters desired
|
||||
|
||||
AWSTemplateFormatVersion: '2010-09-09'
|
||||
Description: Verdaccio - NPM cache / private registry
|
||||
Parameters:
|
||||
# REQUIRED PARAMETERS
|
||||
Ami:
|
||||
Type: AWS::EC2::Image::Id
|
||||
Description: >
|
||||
Amazon Linux 2 AMI ID for the proxy instances. Find it with
|
||||
'aws ssm get-parameters --names /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2'
|
||||
Ec2KeyPair:
|
||||
Type: String
|
||||
Description: EC2 Key Pair to use for the proxy instances.
|
||||
HttpsCertificateArn:
|
||||
Type: String
|
||||
Description: ACM certificate ARN to use
|
||||
DnsHostedZoneName:
|
||||
Type: String
|
||||
Description: >
|
||||
The route 53 hosted zone name to create the `npm.<zone>` record in. Do not
|
||||
include the trailing dot!
|
||||
Route53RecordHostedZoneId:
|
||||
Type: String
|
||||
Description: >
|
||||
Hosted Zone ID for the load balancer. Find it here:
|
||||
https://docs.aws.amazon.com/general/latest/gr/rande.html
|
||||
Vpc:
|
||||
Type: AWS::EC2::VPC::Id
|
||||
Description: VPC to create this stack inside
|
||||
AsgSubnets:
|
||||
Type: List<AWS::EC2::Subnet::Id>
|
||||
Description: >
|
||||
Subnets the auto scaling group should span.
|
||||
LbSubnets:
|
||||
Type: List<AWS::EC2::Subnet::Id>
|
||||
Description: >
|
||||
Subnets the load balancer should span.
|
||||
VerdaccioConfigUrl:
|
||||
Type: String
|
||||
Description: URL the ASG instances can download Verdaccio's config.yaml from.
|
||||
# TODO: if you aren't using htpasswd authentication, remove this parameter
|
||||
# and the associated user data reference.
|
||||
VerdaccioHtpasswdUrl:
|
||||
Type: String
|
||||
Description: URL the ASG instances can download Verdaccio's htpasswd from.
|
||||
|
||||
# OPTIONAL PARAMETERS
|
||||
DockerImage:
|
||||
Type: String
|
||||
Default: verdaccio/verdaccio:3
|
||||
AsgMinSize:
|
||||
Type: String
|
||||
Default: '1'
|
||||
AsgMaxSize:
|
||||
Type: String
|
||||
Default: '1'
|
||||
AsgInstanceType:
|
||||
Type: String
|
||||
Default: t3.nano
|
||||
DnsName:
|
||||
Type: String
|
||||
Default: npm
|
||||
Description: The Route 53 record created is $DnsName.$DnsHostedZoneName
|
||||
|
||||
Resources:
|
||||
Asg:
|
||||
Type: AWS::AutoScaling::AutoScalingGroup
|
||||
DependsOn:
|
||||
- EfsMountA
|
||||
- EfsMountB
|
||||
- EfsMountC
|
||||
Properties:
|
||||
DesiredCapacity:
|
||||
Ref: AsgMaxSize
|
||||
HealthCheckGracePeriod: 60
|
||||
HealthCheckType: ELB
|
||||
LaunchConfigurationName:
|
||||
Ref: Lc
|
||||
MaxSize:
|
||||
Ref: AsgMinSize
|
||||
MinSize:
|
||||
Ref: AsgMaxSize
|
||||
Tags:
|
||||
- Key: Name
|
||||
Value:
|
||||
Ref: AWS::StackName
|
||||
PropagateAtLaunch: true
|
||||
TargetGroupARNs:
|
||||
- Ref: Tg
|
||||
VPCZoneIdentifier:
|
||||
Ref: AsgSubnets
|
||||
|
||||
# TODO: you may want to add target tracking scaling policy. By default the ASG
|
||||
# does not automatically scale.
|
||||
|
||||
AsgSg:
|
||||
Type: AWS::EC2::SecurityGroup
|
||||
Properties:
|
||||
GroupDescription: Used by instances in the Auto Scaling Group.
|
||||
SecurityGroupIngress:
|
||||
- FromPort: 22
|
||||
ToPort: 22
|
||||
IpProtocol: tcp
|
||||
# TODO: you may want to restrict this further
|
||||
CidrIp: 0.0.0.0/0
|
||||
SecurityGroupEgress:
|
||||
- FromPort: 0
|
||||
ToPort: 65535
|
||||
IpProtocol: tcp
|
||||
CidrIp: 0.0.0.0/0
|
||||
Tags:
|
||||
- Key: Name
|
||||
Value:
|
||||
Fn::Sub: ${AWS::StackName} ASG
|
||||
VpcId:
|
||||
Ref: Vpc
|
||||
AsgSgHttpIngress:
|
||||
Type: AWS::EC2::SecurityGroupIngress
|
||||
Properties:
|
||||
GroupId:
|
||||
Ref: AsgSg
|
||||
FromPort: 4873
|
||||
ToPort: 4873
|
||||
IpProtocol: tcp
|
||||
SourceSecurityGroupId:
|
||||
Ref: LbSg
|
||||
|
||||
Lc:
|
||||
Type: AWS::AutoScaling::LaunchConfiguration
|
||||
Properties:
|
||||
ImageId:
|
||||
Ref: Ami
|
||||
InstanceType:
|
||||
Ref: AsgInstanceType
|
||||
KeyName:
|
||||
Ref: Ec2KeyPair
|
||||
SecurityGroups:
|
||||
- Ref: AsgSg
|
||||
UserData:
|
||||
Fn::Base64:
|
||||
# Since this uses Fn::Sub, don't use the ${var} form for any bash
|
||||
# variables. Just use $var.
|
||||
Fn::Sub: |
|
||||
#!/bin/bash
|
||||
set -eu
|
||||
|
||||
start_time=$(date +%s)
|
||||
|
||||
IMAGE="${DockerImage}"
|
||||
BASE="/verdaccio"
|
||||
|
||||
# Mount EFS first
|
||||
yum -y install amazon-efs-utils
|
||||
mkdir /verdaccio
|
||||
echo "${Efs}:/ "$BASE" efs tls,_netdev" >> /etc/fstab
|
||||
mount -a -t efs defaults
|
||||
|
||||
# Create/update the config & password files.
|
||||
mkdir "$BASE/conf"
|
||||
curl -o "$BASE/conf/htpasswd" "${VerdaccioHtpasswdUrl}"
|
||||
curl -o "$BASE/conf/config.yaml" "${VerdaccioConfigUrl}"
|
||||
|
||||
amazon-linux-extras install docker
|
||||
systemctl start docker
|
||||
|
||||
# Download the image
|
||||
docker pull "$IMAGE"
|
||||
|
||||
# Update permissions on the cache directory.
|
||||
target_uid=$(docker run "$IMAGE" id -u)
|
||||
target_gid=$(docker run "$IMAGE" id -g)
|
||||
chown "$target_uid:$target_gid" "$BASE"
|
||||
|
||||
docker run --detach \
|
||||
-p 4873:4873 \
|
||||
--mount "type=bind,src=$BASE,dst=/verdaccio" \
|
||||
"$IMAGE"
|
||||
|
||||
echo "Finished user-data script in $(( $(date +%s) - start_time)) secs"
|
||||
|
||||
Tg:
|
||||
Type: AWS::ElasticLoadBalancingV2::TargetGroup
|
||||
Properties:
|
||||
HealthCheckIntervalSeconds: 5
|
||||
HealthCheckPort: '4873'
|
||||
HealthCheckProtocol: 'HTTP'
|
||||
HealthCheckTimeoutSeconds: 2
|
||||
Port: 4873
|
||||
Protocol: 'HTTP'
|
||||
TargetGroupAttributes:
|
||||
- Key: deregistration_delay.timeout_seconds
|
||||
Value: '10'
|
||||
VpcId:
|
||||
Ref: Vpc
|
||||
|
||||
Lb:
|
||||
Type: AWS::ElasticLoadBalancingV2::LoadBalancer
|
||||
Properties:
|
||||
SecurityGroups:
|
||||
- Ref: LbSg
|
||||
Subnets:
|
||||
Ref: LbSubnets
|
||||
Tags:
|
||||
- Key: Name
|
||||
Value:
|
||||
Fn::Sub: ${AWS::StackName} ALB
|
||||
|
||||
LbSg:
|
||||
Type: AWS::EC2::SecurityGroup
|
||||
Properties:
|
||||
GroupDescription:
|
||||
Fn::Sub: Allow HTTPS connections to the ${AWS::StackName} load balancer
|
||||
SecurityGroupIngress:
|
||||
# TODO: You may want to restrict the allowed IPs
|
||||
- FromPort: 443
|
||||
ToPort: 443
|
||||
IpProtocol: tcp
|
||||
CidrIp: 0.0.0.0/0
|
||||
Tags:
|
||||
- Key: Name
|
||||
Value:
|
||||
Fn::Sub: ${AWS::StackName} LB
|
||||
VpcId:
|
||||
Ref: Vpc
|
||||
LbSgHttpEgress:
|
||||
Type: AWS::EC2::SecurityGroupEgress
|
||||
Properties:
|
||||
GroupId:
|
||||
Ref: LbSg
|
||||
FromPort: 4873
|
||||
ToPort: 4873
|
||||
IpProtocol: tcp
|
||||
DestinationSecurityGroupId:
|
||||
Ref: AsgSg
|
||||
|
||||
LbListener:
|
||||
Type: AWS::ElasticLoadBalancingV2::Listener
|
||||
Properties:
|
||||
Certificates:
|
||||
- CertificateArn:
|
||||
Ref: HttpsCertificateArn
|
||||
DefaultActions:
|
||||
- TargetGroupArn:
|
||||
Ref: Tg
|
||||
Type: forward
|
||||
LoadBalancerArn:
|
||||
Ref: Lb
|
||||
Port: 443
|
||||
Protocol: HTTPS
|
||||
SslPolicy: ELBSecurityPolicy-TLS-1-2-2017-01
|
||||
|
||||
Dns:
|
||||
Type: AWS::Route53::RecordSet
|
||||
Properties:
|
||||
AliasTarget:
|
||||
DNSName:
|
||||
Fn::GetAtt:
|
||||
- Lb
|
||||
- DNSName
|
||||
HostedZoneId:
|
||||
Ref: Route53RecordHostedZoneId
|
||||
HostedZoneName:
|
||||
Fn::Sub: ${DnsHostedZoneName}.
|
||||
Name:
|
||||
Fn::Sub: ${DnsName}.${DnsHostedZoneName}.
|
||||
Type: A
|
||||
|
||||
Efs:
|
||||
Type: AWS::EFS::FileSystem
|
||||
Properties:
|
||||
FileSystemTags:
|
||||
- Key: Name
|
||||
Value:
|
||||
Ref: AWS::StackName
|
||||
|
||||
EfsSg:
|
||||
Type: AWS::EC2::SecurityGroup
|
||||
Properties:
|
||||
GroupDescription:
|
||||
Fn::Sub: Allow connections from the ${AWS::StackName} ASG
|
||||
Tags:
|
||||
- Key: Name
|
||||
Value:
|
||||
Fn::Sub: ${AWS::StackName} EFS
|
||||
VpcId:
|
||||
Ref: Vpc
|
||||
EfsSgFsIngress:
|
||||
Type: AWS::EC2::SecurityGroupIngress
|
||||
Properties:
|
||||
GroupId:
|
||||
Ref: EfsSg
|
||||
FromPort: 2049
|
||||
ToPort: 2049
|
||||
IpProtocol: tcp
|
||||
SourceSecurityGroupId:
|
||||
Ref: AsgSg
|
||||
|
||||
# TODO: if you have more / less than three subnets for AsgSubnets, add/delete
|
||||
# entries here as appropriate. Also update the DependsOn section of Asg
|
||||
# resource.
|
||||
EfsMountA:
|
||||
Type: AWS::EFS::MountTarget
|
||||
Properties:
|
||||
FileSystemId:
|
||||
Ref: Efs
|
||||
SecurityGroups:
|
||||
- Ref: EfsSg
|
||||
SubnetId:
|
||||
Fn::Select:
|
||||
- 0
|
||||
- Ref: AsgSubnets
|
||||
EfsMountB:
|
||||
Type: AWS::EFS::MountTarget
|
||||
Properties:
|
||||
FileSystemId:
|
||||
Ref: Efs
|
||||
SecurityGroups:
|
||||
- Ref: EfsSg
|
||||
SubnetId:
|
||||
Fn::Select:
|
||||
- 1
|
||||
- Ref: AsgSubnets
|
||||
EfsMountC:
|
||||
Type: AWS::EFS::MountTarget
|
||||
Properties:
|
||||
FileSystemId:
|
||||
Ref: Efs
|
||||
SecurityGroups:
|
||||
- Ref: EfsSg
|
||||
SubnetId:
|
||||
Fn::Select:
|
||||
- 2
|
||||
- Ref: AsgSubnets
|
||||
|
||||
Outputs:
|
||||
Hostname:
|
||||
Value:
|
||||
Ref: Dns
|
||||
50
crowdin.yaml
@@ -1,50 +0,0 @@
|
||||
project_identifier_env: CROWDIN_VERDACCIO_PROJECT_ID
|
||||
api_key_env: CROWDIN_VERDACCIO_API_KEY
|
||||
base_path: "./"
|
||||
preserve_hierarchy: true
|
||||
commit_message: 'docs(website): new translations'
|
||||
|
||||
files:
|
||||
-
|
||||
source: '/docs/*.md'
|
||||
translation: '/website/translated_docs/%locale%/%original_file_name%'
|
||||
languages_mapping: &anchor
|
||||
locale:
|
||||
'af': 'af'
|
||||
'ar': 'ar'
|
||||
'bs-BA': 'bs-BA'
|
||||
'ca': 'ca'
|
||||
'cs': 'cs'
|
||||
'da': 'da'
|
||||
'de': 'de'
|
||||
'el': 'el'
|
||||
'es-ES': 'es-ES'
|
||||
'fa': 'fa-IR'
|
||||
'fi': 'fi'
|
||||
'fr': 'fr'
|
||||
'he': 'he'
|
||||
'hu': 'hu'
|
||||
'id': 'id-ID'
|
||||
'it': 'it'
|
||||
'ja': 'ja'
|
||||
'ko': 'ko'
|
||||
'mr': 'mr-IN'
|
||||
'nl': 'nl'
|
||||
'no': 'no-NO'
|
||||
'pl': 'pl'
|
||||
'pt-BR': 'pt-BR'
|
||||
'pt-PT': 'pt-PT'
|
||||
'ro': 'ro'
|
||||
'ru': 'ru'
|
||||
'sk': 'sk-SK'
|
||||
'sr': 'sr'
|
||||
'sv-SE': 'sv-SE'
|
||||
'tr': 'tr'
|
||||
'uk': 'uk'
|
||||
'vi': 'vi'
|
||||
'zh-CN': 'zh-CN'
|
||||
'zh-TW': 'zh-TW'
|
||||
-
|
||||
source: '/website/i18n/en.json'
|
||||
translation: '/website/i18n/%locale%.json'
|
||||
languages_mapping: *anchor
|
||||
|
||||
4
debug/bootstrap.js
vendored
@@ -1,4 +1,6 @@
|
||||
// this file aims to help local debugging with hot transpilation
|
||||
// it requires BABEL_ENV=registry set as env variable
|
||||
require('babel-register')();
|
||||
require('@babel/register')({
|
||||
extensions: [".ts", ".js"]
|
||||
});
|
||||
require('../src/lib/cli');
|
||||
|
||||
9
docker-bin/uid_entrypoint
Normal file
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
if ! whoami &> /dev/null; then
|
||||
if [ -w /etc/passwd ]; then
|
||||
echo "${VERDACCIO_USER_NAME:-default}:x:$(id -u):0:${VERDACCIO_USER_NAME:-default} user:${HOME}:/sbin/nologin" >> /etc/passwd
|
||||
fi
|
||||
fi
|
||||
|
||||
exec /usr/bin/dumb-init -- "$@"
|
||||
@@ -4,11 +4,11 @@ services:
|
||||
build: .
|
||||
container_name: verdaccio
|
||||
environment:
|
||||
- PORT
|
||||
- VERDACCIO_PORT
|
||||
ports:
|
||||
- $PORT:$PORT
|
||||
- $VERDACCIO_PORT:$VERDACCIO_PORT
|
||||
volumes:
|
||||
- verdaccio:/verdaccio
|
||||
- verdaccio-storage:/verdaccio/storage
|
||||
volumes:
|
||||
verdaccio:
|
||||
driver: local
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
---
|
||||
id: ansible
|
||||
title: "Ansible"
|
||||
---
|
||||
|
||||
We have a customised solution for `verdaccio` in our organization.
|
||||
|
||||
[https://github.com/verdaccio/ansible-verdaccio](https://github.com/verdaccio/ansible-verdaccio)
|
||||
|
||||
#### Other options
|
||||
|
||||
* Ansible role for Gentoo users: [jirutka/ansible-role-sinopia](https://github.com/jirutka/ansible-role-sinopia).
|
||||
* Ansible role for Ubuntu users: [jagregory/sinopia-ansible](https://github.com/jagregory/sinopia-ansible).
|
||||
* ansible-verdaccio-role [https://github.com/refinery29/ansible-verdaccio-role](https://github.com/refinery29/ansible-verdaccio-role)
|
||||
57
docs/auth.md
@@ -1,57 +0,0 @@
|
||||
---
|
||||
id: authentification
|
||||
title: "Authentification"
|
||||
---
|
||||
|
||||
The authentification is tied to the auth [plugin](plugins.md) you are using. The package restrictions also is handled by the [Package Access](packages.md).
|
||||
|
||||
The client authentification is handled by `npm` client itself. Once you login to the application:
|
||||
|
||||
```bash
|
||||
npm adduser --registry http://localhost:4873
|
||||
```
|
||||
|
||||
A token is generated in the `npm` configuration file hosted in your user home folder. For more information about `.npmrc` read the [official documentation](https://docs.npmjs.com/files/npmrc).
|
||||
|
||||
```bash
|
||||
cat .npmrc
|
||||
registry=http://localhost:5555/
|
||||
//localhost:5555/:_authToken="secretVerdaccioToken"
|
||||
//registry.npmjs.org/:_authToken=secretNpmjsToken
|
||||
```
|
||||
|
||||
#### Anonymous publish
|
||||
|
||||
`verdaccio`allows you to enable anonymous publish, to achieve that you will need to set up correctly your [packages access](packages.md).
|
||||
|
||||
Eg:
|
||||
|
||||
```yaml
|
||||
'my-company-*':
|
||||
access: $anonymous
|
||||
publish: $anonymous
|
||||
proxy: npmjs
|
||||
```
|
||||
|
||||
As is described [on issue #212](https://github.com/verdaccio/verdaccio/issues/212#issuecomment-308578500) until `npm@5.3.0` and all minor releases **won't allow you publish without a token**. However `yarn` has not such limitation.
|
||||
|
||||
## Default htpasswd
|
||||
|
||||
In order to simplify the setup, `verdaccio` use a plugin based on `htpasswd`. As of version v3.0.x an [external plugin](https://github.com/verdaccio/verdaccio-htpasswd)
|
||||
is used by default. The v2.x version of this package still contains the built-in version of this plugin.
|
||||
|
||||
```yaml
|
||||
auth:
|
||||
htpasswd:
|
||||
file: ./htpasswd
|
||||
# Maximum amount of users allowed to register, defaults to "+inf".
|
||||
# You can set this to -1 to disable registration.
|
||||
#max_users: 1000
|
||||
```
|
||||
|
||||
Property | Type | Required | Example | Support | Description
|
||||
--- | --- | --- | --- | --- | ---
|
||||
file | string | Yes | ./htpasswd | all | file that host the encrypted credentials
|
||||
max_users | number | No | 1000 | all | set limit of users
|
||||
|
||||
In case to decide do not allow user to login, you can set `max_users: -1`.
|
||||
@@ -1,14 +0,0 @@
|
||||
---
|
||||
id: build
|
||||
title: "Build the source code"
|
||||
---
|
||||
|
||||
Verdaccio relies on `yarn` instead `npm` to download dependencies.
|
||||
|
||||
*Note: the current build only will build with `➜ yarn@1.x`.
|
||||
|
||||
```bash
|
||||
yarn install
|
||||
```
|
||||
|
||||
To see the complete list of scripts, [click here](https://github.com/verdaccio/verdaccio/wiki/Build-Source-Code).
|
||||
17
docs/chef.md
@@ -1,17 +0,0 @@
|
||||
---
|
||||
id: chef
|
||||
title: "Chef Cookbook"
|
||||
---
|
||||
|
||||
Using Chef Cookbook for Verdaccio
|
||||
|
||||
For further information:
|
||||
|
||||
* [https://github.com/verdaccio/verdaccio-cookbook](https://github.com/verdaccio/verdaccio-cookbook)
|
||||
* [https://supermarket.chef.io/cookbooks/verdaccio](https://supermarket.chef.io/cookbooks/verdaccio)
|
||||
|
||||
> We are looking for contributors for this repository, if you are interested please notify the author via tickets.
|
||||
|
||||
Author: [Keli Grubb](https://github.com/kgrubb) && Barthelemy Vessemont.
|
||||
|
||||
|
||||
14
docs/ci.md
@@ -1,14 +0,0 @@
|
||||
---
|
||||
id: ci
|
||||
title: "Continuous Integration"
|
||||
---
|
||||
|
||||
You may use verdaccio with continuous integration while login or publish. When
|
||||
using NPM to install a private module in a continuous integration environment
|
||||
for the first time, a brick wall is quickly hit. The NPM login command is
|
||||
designed to be used interactively. This causes an issue in CI, scripts, etc.
|
||||
Here’s how to use NPM login different continuous integration platforms.
|
||||
|
||||
- [Travis CI](https://remysharp.com/2015/10/26/using-travis-with-private-npm-deps)
|
||||
- [Circle CI 1.0](https://circleci.com/docs/1.0/npm-login/) or [Circle CI 2.0](https://circleci.com/docs/2.0/deployment-integrations/#npm)
|
||||
- [Gitlab CI](https://www.exclamationlabs.com/blog/continuous-deployment-to-npm-using-gitlab-ci/)
|
||||
26
docs/cli.md
@@ -1,26 +0,0 @@
|
||||
---
|
||||
id: cli
|
||||
title: "Command Line Tool"
|
||||
---
|
||||
|
||||
The verdaccio CLI is your go start the application.
|
||||
|
||||
## Commands
|
||||
|
||||
```bash
|
||||
verdaccio --listen 4000 --config ~./config.yaml
|
||||
```
|
||||
|
||||
Command | Default | Example | Description
|
||||
--- | --- | --- | ---
|
||||
--listen \ **-l** | 4873 | -p 7000 | http port
|
||||
--config \ **-c** | ~/.local/verdaccio/config.yaml | ~./config.yaml | the configuration file
|
||||
|
||||
## Default config file location
|
||||
|
||||
To locate the home directory, we rely on **$XDG_DATA_HOME** as a first choice and Windows environment we look for [APPDATA environment variable](https://www.howtogeek.com/318177/what-is-the-appdata-folder-in-windows/).
|
||||
|
||||
## Default storage location
|
||||
|
||||
We use **$XDG_DATA_HOME** environment variable as default to locate the storage by default which [should be the same](https://askubuntu.com/questions/538526/is-home-local-share-the-default-value-for-xdg-data-home-in-ubuntu-14-04) as $HOME/.local/share.
|
||||
If you are using a custom storage, this location is irrelevant.
|
||||
209
docs/config.md
@@ -1,209 +0,0 @@
|
||||
---
|
||||
id: configuration
|
||||
title: "Configuration File"
|
||||
---
|
||||
|
||||
This file is the cornerstone of verdaccio where you can modify the default behaviour, enable plugins and extend features.
|
||||
|
||||
A default configuration file is created the very first time you run `verdaccio`.
|
||||
|
||||
## Default Configuration
|
||||
|
||||
The default configuration has support for **scoped** packages and allow any user to access all packages but only **authenticated users to publish**.
|
||||
|
||||
```yaml
|
||||
storage: ./storage
|
||||
auth:
|
||||
htpasswd:
|
||||
file: ./htpasswd
|
||||
uplinks:
|
||||
npmjs:
|
||||
url: https://registry.npmjs.org/
|
||||
packages:
|
||||
'@*/*':
|
||||
access: $all
|
||||
publish: $authenticated
|
||||
proxy: npmjs
|
||||
'**':
|
||||
proxy: npmjs
|
||||
logs:
|
||||
- {type: stdout, format: pretty, level: http}
|
||||
```
|
||||
|
||||
## Sections
|
||||
|
||||
The following sections explain what each property means and the different options.
|
||||
|
||||
### Storage
|
||||
|
||||
Is the location of the default storage. **Verdaccio is by default based on local file system**.
|
||||
|
||||
```yaml
|
||||
storage: ./storage
|
||||
```
|
||||
|
||||
### Plugins
|
||||
|
||||
Is the location of the plugin directory. Useful for Docker/Kubernetes based deployments.
|
||||
|
||||
```yaml
|
||||
plugins: ./plugins
|
||||
```
|
||||
|
||||
### Authentification
|
||||
|
||||
The authentification set up is done here, the default auth is based on `htpasswd` and is built-in. You can modify this behaviour via [plugins](plugins.md). For more information about this section read the [auth page](auth.md).
|
||||
|
||||
```yaml
|
||||
auth:
|
||||
htpasswd:
|
||||
file: ./htpasswd
|
||||
max_users: 1000
|
||||
```
|
||||
|
||||
### Web UI
|
||||
|
||||
This property allow you to modify the look and feel of the web UI. For more information about this section read the [web ui page](web.md).
|
||||
|
||||
```yaml
|
||||
web:
|
||||
enable: true
|
||||
title: Verdaccio
|
||||
logo: logo.png
|
||||
scope:
|
||||
```
|
||||
|
||||
### Uplinks
|
||||
|
||||
Uplinks is the ability of the system to fetch packages from remote registries when those packages are not available locally. For more information about this section read the [uplinks page](uplinks.md).
|
||||
|
||||
|
||||
```yaml
|
||||
uplinks:
|
||||
npmjs:
|
||||
url: https://registry.npmjs.org/
|
||||
```
|
||||
|
||||
### Packages
|
||||
|
||||
Packages allow the user to control how the packages are gonna be accessed. For more information about this section read the [packages page](packages.md).
|
||||
|
||||
|
||||
```yaml
|
||||
packages:
|
||||
'@*/*':
|
||||
access: $all
|
||||
publish: $authenticated
|
||||
proxy: npmjs
|
||||
```
|
||||
|
||||
## Advanced Settings
|
||||
|
||||
### Offline Publish
|
||||
|
||||
By default `verdaccio` does not allow to publish when the client is offline, that behavior can be overridden by setting this to *true*.
|
||||
|
||||
```yaml
|
||||
publish:
|
||||
allow_offline: false
|
||||
```
|
||||
|
||||
<small>Since: `verdaccio@2.3.6` due [#223](https://github.com/verdaccio/verdaccio/pull/223)</small>
|
||||
|
||||
### URL Prefix
|
||||
|
||||
```yaml
|
||||
url_prefix: https://dev.company.local/verdaccio/
|
||||
```
|
||||
|
||||
Since: `verdaccio@2.3.6` due [#197](https://github.com/verdaccio/verdaccio/pull/197)
|
||||
|
||||
|
||||
### Max Body Size
|
||||
|
||||
By default the maximum body size for a JSON document is `10mb`, if you run in errors as `"request entity too large"` you may increase this value.
|
||||
|
||||
```yaml
|
||||
max_body_size: 10mb
|
||||
```
|
||||
|
||||
### Listen Port
|
||||
|
||||
`verdaccio` runs by default in the port `4873`. Changing the port can be done via [cli](cli.md) or in the configuration file, the following options are valid.
|
||||
|
||||
```yaml
|
||||
listen:
|
||||
# - localhost:4873 # default value
|
||||
# - http://localhost:4873 # same thing
|
||||
# - 0.0.0.0:4873 # listen on all addresses (INADDR_ANY)
|
||||
# - https://example.org:4873 # if you want to use https
|
||||
# - "[::1]:4873" # ipv6
|
||||
# - unix:/tmp/verdaccio.sock # unix socket
|
||||
```
|
||||
|
||||
### HTTPS
|
||||
|
||||
To enable `https` in `verdaccio` it's enough to set the `listen` flag with the protocol *https://*. For more information about this section read the [ssl page](ssl.md).
|
||||
|
||||
|
||||
```yaml
|
||||
https:
|
||||
key: ./path/verdaccio-key.pem
|
||||
cert: ./path/verdaccio-cert.pem
|
||||
ca: ./path/verdaccio-csr.pem
|
||||
```
|
||||
|
||||
### Proxy
|
||||
|
||||
Proxies are special-purpose HTTP servers designed to transfer data from remote servers to local clients.
|
||||
|
||||
#### http_proxy and https_proxy
|
||||
|
||||
If you have a proxy in your network you can set a `X-Forwarded-For` header using the following properties.
|
||||
|
||||
```yaml
|
||||
http_proxy: http://something.local/
|
||||
https_proxy: https://something.local/
|
||||
```
|
||||
|
||||
#### no_proxy
|
||||
|
||||
This variable should contain a comma-separated list of domain extensions proxy should not be used for.
|
||||
|
||||
```yaml
|
||||
no_proxy: localhost,127.0.0.1
|
||||
```
|
||||
|
||||
### Notifications
|
||||
|
||||
Enabling notifications to third-party tools is fairly easy via web hooks. For more information about this section read the [notifications page](notifications.md).
|
||||
|
||||
```yaml
|
||||
notify:
|
||||
method: POST
|
||||
headers: [{'Content-Type': 'application/json'}]
|
||||
endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken
|
||||
content: '{"color":"green","message":"New package published: * {{ name }}*","notify":true,"message_format":"text"}'
|
||||
```
|
||||
|
||||
|
||||
> For more detailed configuration settings, please [check the source code](https://github.com/verdaccio/verdaccio/tree/master/conf).
|
||||
|
||||
|
||||
### Audit
|
||||
|
||||
<small>Since: `verdaccio@3.0.0`</small>
|
||||
|
||||
`npm audit` is a new command released with [npm 6.x](https://github.com/npm/npm/releases/tag/v6.1.0). Verdaccio includes
|
||||
a built-in middleware plugin to handle this command.
|
||||
|
||||
> If you have a new installation it comes by default, otherwise you need to add the following props to your config file
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
audit:
|
||||
enabled: true
|
||||
```
|
||||
|
||||
|
||||
|
||||
@@ -1,83 +0,0 @@
|
||||
---
|
||||
id: contributing
|
||||
title: "Contributing Verdaccio"
|
||||
---
|
||||
|
||||
First of all 👏👏 thanks for visiting this page, for us means you are willing contribute to `verdaccio` and we are happy for that. Jumping into an unfamiliar code base is not easy but we are here to help you.
|
||||
|
||||
## Comunication Channels
|
||||
|
||||
If you are willing for asking, we use two channels for discussions:
|
||||
|
||||
* [Public Discord channel](http://chat.verdaccio.org/)
|
||||
|
||||
## Getting started
|
||||
|
||||
As a first glance verdaccio is a single repository, but there are many ways you might contribute and a variety of technologies to practice.
|
||||
|
||||
### Finding my spot
|
||||
|
||||
All we have different skills, so, let's see where you might feel comfortable.
|
||||
|
||||
### I know or I want to learn Node.js
|
||||
|
||||
Node.js is the base of `verdaccio`, we use libraries as `express`, `commander`, `request` or `async`. Verdaccio is basically a Rest API that create a communication with `npm` clients compatible, as `yarn`.
|
||||
|
||||
We have a long [list of plugins](plugins.md) ready to be used and improved but at the same time [you might create your own](dev-plugins.md).
|
||||
|
||||
### I would prefer to work in the User Interface
|
||||
|
||||
Recently we have moved to modern techonologies as `React` and `element-react`. We are looking forward to see new ideas how to improve the UI.
|
||||
|
||||
### I feel more confortable improving the stack
|
||||
|
||||
Of course, we will be happy to help us improving the stack, you can upgrade dependencies as `eslint`, `stylelint`, `webpack`. You might merely improve the `webpack` configuration would be great. Any suggestion is very welcome. Furthermore whether you have experience with **Yeoman** you might help us with the [verdaccio generator](https://github.com/verdaccio/generator-verdaccio-plugin).
|
||||
|
||||
Here some ideas:
|
||||
|
||||
* Create a common eslint rules to be used across all dependencies or plugins
|
||||
* Improve Flow types definitions delivery
|
||||
* Moving to Webpack 4
|
||||
* Improve hot reload with Webpack
|
||||
* We use babel and webpack across all dependencies, why not a common preset?
|
||||
* Improve continous integration delivery
|
||||
|
||||
### I do great Documentation
|
||||
|
||||
Many contributors find typos and grammar issues, that also helps to improve the overall experience for troubleshooting.
|
||||
|
||||
### I am a Designer
|
||||
|
||||
We have a frontend website [http://www.verdaccio.org/](http://www.verdaccio.org/) that will be happy to see your ideas.
|
||||
|
||||
Our website is based on [Docusaurus](https://docusaurus.io/).
|
||||
|
||||
### I am a DevOps
|
||||
|
||||
We have a widely popular Docker image [https://hub.docker.com/r/verdaccio/verdaccio/](https://hub.docker.com/r/verdaccio/verdaccio/) that need maintenance and pretty likely huge improvements, we need your knowledge for the benefits of all users.
|
||||
|
||||
We have support for **Kubernetes**, **Puppet**, **Ansible** and **Chef** and we need help in those fields, feel free to see all repositories.
|
||||
|
||||
### I can do translations
|
||||
|
||||
Verdaccio aims to be multilingual, in order to achieve it **we have the awesome support** of [Crowdin](https://crowdin.com) that is an amazing platform for translations.
|
||||
|
||||
<img src="https://d3n8a8pro7vhmx.cloudfront.net/uridu/pages/144/attachments/original/1485948891/Crowdin.png" width="400px"/>
|
||||
|
||||
We have setup a project where you can choose your favourite language, if you do not find your language feel free to request one [creating a ticket](https://github.com/verdaccio/verdaccio/issues/new).
|
||||
|
||||
[Go to Crowdin Verdaccio](https://crowdin.com/project/verdaccio)
|
||||
|
||||
|
||||
## I'm ready to contribute
|
||||
|
||||
If you are thinking *"I've seen already the [repositories](repositories.md) and I'm willing to start right away"* then I have good news for you, that's the next step.
|
||||
|
||||
You will need learn how to build, [we have prepared a guide just for that](build.md).
|
||||
|
||||
Once you have played around with all scripts and you know how to use them, we are ready to go to the next step, run the [**Unit Test**](test.md).
|
||||
|
||||
|
||||
## Full list of contributors. We want to see your face here !
|
||||
|
||||
<a href="graphs/contributors"><img src="https://opencollective.com/verdaccio/contributors.svg?width=890&button=false" /></a>
|
||||
@@ -1,193 +0,0 @@
|
||||
---
|
||||
id: dev-plugins
|
||||
title: "Developing Plugins"
|
||||
---
|
||||
|
||||
There are many ways to extend `verdaccio`, the kind of plugins supported are:
|
||||
|
||||
* Authentication plugins
|
||||
* Middleware plugins (since `v2.7.0`)
|
||||
* Storage plugins since (`v3.x`)
|
||||
|
||||
> We recommend developing plugins using our [flow type definitions](https://github.com/verdaccio/flow-types).
|
||||
|
||||
## Authentication Plugin
|
||||
|
||||
Basically we have to return an object with a single method called `authenticate` that will recieve 3 arguments (`user, password, callback`).
|
||||
|
||||
### API
|
||||
|
||||
```flow
|
||||
interface IPluginAuth extends IPlugin {
|
||||
login_url?: string;
|
||||
authenticate(user: string, password: string, cb: Callback): void;
|
||||
adduser(user: string, password: string, cb: Callback): void;
|
||||
allow_access(user: RemoteUser, pkg: $Subtype<PackageAccess>, cb: Callback): void;
|
||||
allow_publish(user: RemoteUser, pkg: $Subtype<PackageAccess>, cb: Callback): void;
|
||||
}
|
||||
```
|
||||
> Only `adduser`, `allow_access` and `allow_publish` are optional, verdaccio provide a fallback in all those cases.
|
||||
|
||||
#### Callback
|
||||
|
||||
Once the authentication has been executed there is 2 options to give a response to `verdaccio`.
|
||||
|
||||
###### OnError
|
||||
|
||||
Either something bad happened or auth was unsuccessful.
|
||||
|
||||
```flow
|
||||
callback(null, false)
|
||||
```
|
||||
|
||||
###### OnSuccess
|
||||
|
||||
The auth was successful.
|
||||
|
||||
|
||||
`groups` is an array of strings where the user is part of.
|
||||
|
||||
```
|
||||
callback(null, groups);
|
||||
```
|
||||
|
||||
### Example
|
||||
|
||||
```javascript
|
||||
function Auth(config, stuff) {
|
||||
var self = Object.create(Auth.prototype);
|
||||
self._users = {};
|
||||
|
||||
// config for this module
|
||||
self._config = config;
|
||||
|
||||
// verdaccio logger
|
||||
self._logger = stuff.logger;
|
||||
|
||||
// pass verdaccio logger to ldapauth
|
||||
self._config.client_options.log = stuff.logger;
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
Auth.prototype.authenticate = function (user, password, callback) {
|
||||
var LdapClient = new LdapAuth(self._config.client_options);
|
||||
....
|
||||
LdapClient.authenticate(user, password, function (err, ldapUser) {
|
||||
...
|
||||
var groups;
|
||||
...
|
||||
callback(null, groups);
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = Auth;
|
||||
```
|
||||
|
||||
And the configuration will looks like:
|
||||
|
||||
```yaml
|
||||
auth:
|
||||
htpasswd:
|
||||
file: ./htpasswd
|
||||
```
|
||||
Where `htpasswd` is the sufix of the plugin name. eg: `verdaccio-htpasswd` and the rest of the body would be the plugin configuration params.
|
||||
|
||||
## Middleware Plugin
|
||||
|
||||
Middleware plugins have the capability to modify the API layer, either adding new endpoints or intercepting requests.
|
||||
|
||||
```flow
|
||||
interface verdaccio$IPluginMiddleware extends verdaccio$IPlugin {
|
||||
register_middlewares(app: any, auth: IBasicAuth, storage: IStorageManager): void;
|
||||
}
|
||||
```
|
||||
|
||||
### register_middlewares
|
||||
|
||||
The method provide full access to the authentification and storage via `auth` and `storage`. `app` is the express application that allows you to add new endpoints.
|
||||
|
||||
> A pretty good example
|
||||
of middleware plugin is the [sinopia-github-oauth](https://github.com/soundtrackyourbrand/sinopia-github-oauth) and [verdaccio-audit](https://github.com/verdaccio/verdaccio-audit).
|
||||
|
||||
### API
|
||||
|
||||
```js
|
||||
function register_middlewares(expressApp, authInstance, storageInstance) {
|
||||
/* more stuff */
|
||||
}
|
||||
```
|
||||
|
||||
To register a middleware we need an object with a single method called `register_middlewares` that will recieve 3 arguments (`expressApp, auth, storage`).
|
||||
*Auth* is the authentification instance and *storage* is also the main Storage instance that will give you have access to all to the storage actions.
|
||||
|
||||
|
||||
## Storage Plugin
|
||||
|
||||
Verdaccio by default uses a file system storage plugin [local-storage](https://github.com/verdaccio/local-storage), but, since `verdaccio@3.x` you can plug in a custom storage replacing the default behaviour.
|
||||
|
||||
### API
|
||||
|
||||
The storage API is a bit more complex, you will need to create a class that return a `IPluginStorage` implementation. Please see details bellow.
|
||||
|
||||
```flow
|
||||
class LocalDatabase<IPluginStorage>{
|
||||
constructor(config: $Subtype<verdaccio$Config>, logger: verdaccio$Logger): ILocalData;
|
||||
}
|
||||
|
||||
interface IPluginStorage {
|
||||
logger: verdaccio$Logger;
|
||||
config: $Subtype<verdaccio$Config>;
|
||||
add(name: string, callback: verdaccio$Callback): void;
|
||||
remove(name: string, callback: verdaccio$Callback): void;
|
||||
get(callback: verdaccio$Callback): void;
|
||||
getSecret(): Promise<string>;
|
||||
setSecret(secret: string): Promise<any>;
|
||||
getPackageStorage(packageInfo: string): verdaccio$IPackageStorage;
|
||||
search(onPackage: verdaccio$Callback, onEnd: verdaccio$Callback, validateName: Function): void;
|
||||
}
|
||||
|
||||
interface IPackageStorageManager {
|
||||
path: string;
|
||||
logger: verdaccio$Logger;
|
||||
writeTarball(name: string): verdaccio$IUploadTarball;
|
||||
readTarball(name: string): verdaccio$IReadTarball;
|
||||
readPackage(fileName: string, callback: verdaccio$Callback): void;
|
||||
createPackage(name: string, value: verdaccio$Package, cb: verdaccio$Callback): void;
|
||||
deletePackage(fileName: string, callback: verdaccio$Callback): void;
|
||||
removePackage(callback: verdaccio$Callback): void;
|
||||
updatePackage(pkgFileName: string,
|
||||
updateHandler: verdaccio$Callback,
|
||||
onWrite: verdaccio$Callback,
|
||||
transformPackage: Function,
|
||||
onEnd: verdaccio$Callback): void;
|
||||
savePackage(fileName: string, json: verdaccio$Package, callback: verdaccio$Callback): void;
|
||||
}
|
||||
|
||||
class verdaccio$IUploadTarball extends stream$PassThrough {
|
||||
abort: Function;
|
||||
done: Function;
|
||||
_transform: Function;
|
||||
abort(): void;
|
||||
done(): void;
|
||||
}
|
||||
|
||||
class verdaccio$IReadTarball extends stream$PassThrough {
|
||||
abort: Function;
|
||||
abort(): void;
|
||||
}
|
||||
```
|
||||
|
||||
> The Storage API is still experimental and might change in the next minor versions. For further information about Storage API please follow the [types
|
||||
definitions in our official repository](https://github.com/verdaccio/flow-types).
|
||||
|
||||
### Storage Plugins Examples
|
||||
|
||||
The following list of plugins are implementing the Storage API and might be used them as example.
|
||||
|
||||
* [verdaccio-memory](https://github.com/verdaccio/verdaccio-memory)
|
||||
* [local-storage](https://github.com/verdaccio/local-storage)
|
||||
* [verdaccio-google-cloud](https://github.com/verdaccio/verdaccio-google-cloud)
|
||||
* [verdaccio-s3-storage](https://github.com/Remitly/verdaccio-s3-storage/tree/s3)
|
||||
|
||||
> Are you willing to contribute with new Storage Plugins? [Click here.](https://github.com/verdaccio/verdaccio/issues/103#issuecomment-357478295)
|
||||
170
docs/docker.md
@@ -1,170 +0,0 @@
|
||||
---
|
||||
id: docker
|
||||
title: Docker
|
||||
---
|
||||
|
||||
<div class="docker-count">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
|
||||
To pull the latest pre-built [docker image](https://hub.docker.com/r/verdaccio/verdaccio/):
|
||||
|
||||
```bash
|
||||
docker pull verdaccio/verdaccio
|
||||
```
|
||||
|
||||

|
||||
|
||||
## Tagged Versions
|
||||
|
||||
Since version `v2.x` you can pull docker images by [tag](https://hub.docker.com/r/verdaccio/verdaccio/tags/), as follows:
|
||||
|
||||
For a major version:
|
||||
|
||||
```bash
|
||||
docker pull verdaccio/verdaccio:3
|
||||
```
|
||||
For a minor version:
|
||||
|
||||
```bash
|
||||
docker pull verdaccio/verdaccio:3.0
|
||||
```
|
||||
|
||||
For a specific (patch) version:
|
||||
|
||||
```bash
|
||||
docker pull verdaccio/verdaccio:3.0.1
|
||||
```
|
||||
|
||||
For the next major release using the `beta` (master branch) version.
|
||||
|
||||
```bash
|
||||
docker pull verdaccio/verdaccio:beta
|
||||
```
|
||||
|
||||
> If you are interested on a list of tags, [please visit the Docker Hub website](https://hub.docker.com/r/verdaccio/verdaccio/tags/).
|
||||
|
||||
## Running verdaccio using Docker
|
||||
|
||||
To run the docker container:
|
||||
```bash
|
||||
docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio
|
||||
```
|
||||
The last argument defines which image to use.
|
||||
The above line will pull the latest prebuilt image from dockerhub, if you haven't done that already.
|
||||
|
||||
If you have [build an image locally](#build-your-own-docker-image) use `verdaccio` as the last argument.
|
||||
|
||||
|
||||
You can use `-v` to bind mount `conf`, `storage` and `plugins` to the hosts filesystem:
|
||||
```bash
|
||||
V_PATH=/path/for/verdaccio; docker run -it --rm --name verdaccio -p 4873:4873 \
|
||||
-v $V_PATH/conf:/verdaccio/conf \
|
||||
-v $V_PATH/storage:/verdaccio/storage \
|
||||
-v $V_PATH/plugins:/verdaccio/plugins \
|
||||
verdaccio/verdaccio
|
||||
```
|
||||
>Note: Verdaccio runs as a non-root user (uid=100, gid=101) inside the container, if you use bind mount to override default, you need to make sure the mount directory is assigned to the right user. In above example, you need to run `sudo chown -R 100:101 /opt/verdaccio` otherwise you will get permission errors at runtime. [Use docker volume](https://docs.docker.com/storage/volumes/) is recommended over using bind mount.
|
||||
|
||||
### Plugins
|
||||
Plugins can be installed in a separate directory and mounted using Docker or Kubernetes, however make sure you build plugins with native dependencies using the same base image as the Verdaccio Dockerfile.
|
||||
|
||||
### Docker and custom port configuration
|
||||
Any `host:port` configured in `conf/config.yaml` under `listen` is currently ignored when using docker.
|
||||
|
||||
If you want to reach verdaccio docker instance under different port, lets say `5000`
|
||||
in your `docker run` command replace `-p 4873:4873` with `-p 5000:4873`.
|
||||
|
||||
In case you need to specify which port to listen to **in the docker container**,
|
||||
since version 2.?.? you can do so by providing additional arguments to `docker run`: `--env PORT=5000`
|
||||
This changes which port the docker container exposes and the port verdaccio listens to.
|
||||
|
||||
Of course the numbers you give to `-p` paremeter need to match,
|
||||
so assuming you want them to all be the same this is what you could copy, paste and adopt:
|
||||
```bash
|
||||
PORT=5000; docker run -it --rm --name verdaccio \
|
||||
--env PORT -p $PORT:$PORT
|
||||
verdaccio/verdaccio
|
||||
```
|
||||
|
||||
### Using HTTPS with Docker
|
||||
You can configure the protocol verdaccio is going to listen on, similarly to the port configuration.
|
||||
You have to overwrite the default value("http") of the `PROTOCOL` environment variable to "https", after you specified the certificates in the config.yaml.
|
||||
|
||||
```bash
|
||||
PROTOCOL=https; docker run -it --rm --name verdaccio \
|
||||
--env PROTOCOL -p 4873:4873
|
||||
verdaccio/verdaccio
|
||||
```
|
||||
|
||||
### Using docker-compose
|
||||
|
||||
1. Get the latest version of [docker-compose](https://github.com/docker/compose).
|
||||
2. Build and run the container:
|
||||
|
||||
```bash
|
||||
$ docker-compose up --build
|
||||
```
|
||||
|
||||
You can set the port to use (for both container and host) by prefixing the above command with `PORT=5000 `.
|
||||
|
||||
Docker will generate a named volume in which to store persistent application data. You can use `docker inspect` or `docker volume inspect` to reveal the physical location of the volume and edit the configuration, such as:
|
||||
|
||||
```
|
||||
$ docker volume inspect verdaccio_verdaccio
|
||||
[
|
||||
{
|
||||
"Name": "verdaccio_verdaccio",
|
||||
"Driver": "local",
|
||||
"Mountpoint": "/var/lib/docker/volumes/verdaccio_verdaccio/_data",
|
||||
"Labels": null,
|
||||
"Scope": "local"
|
||||
}
|
||||
]
|
||||
|
||||
```
|
||||
|
||||
## Build your own Docker image
|
||||
|
||||
```bash
|
||||
docker build -t verdaccio .
|
||||
```
|
||||
|
||||
There is also an npm script for building the docker image, so you can also do:
|
||||
|
||||
```bash
|
||||
npm run build:docker
|
||||
```
|
||||
|
||||
Note: The first build takes some minutes to build because it needs to run `npm install`,
|
||||
and it will take that long again whenever you change any file that is not listed in `.dockerignore`.
|
||||
|
||||
If you want to use the docker image on a rpi or a compatible device there is also a dockerfile available.
|
||||
To build the docker image for raspberry pi execute:
|
||||
|
||||
```bash
|
||||
npm run build:docker:rpi
|
||||
```
|
||||
|
||||
Please note that for any of the above docker commands you need to have docker installed on your machine and the docker executable should be available on your `$PATH`.
|
||||
|
||||
## Docker Examples
|
||||
|
||||
There is a separate repository that hosts multiple configurations to compose Docker images with `verdaccio`, for instance, as reverse proxy:
|
||||
|
||||
[https://github.com/verdaccio/docker-examples](https://github.com/verdaccio/docker-examples)
|
||||
|
||||
## Docker Custom Builds
|
||||
|
||||
* [docker-verdaccio-gitlab](https://github.com/snics/docker-verdaccio-gitlab)
|
||||
* [docker-verdaccio](https://github.com/deployable/docker-verdaccio)
|
||||
* [docker-verdaccio-s3](https://github.com/asynchrony/docker-verdaccio-s3) Private NPM container that can backup to s3
|
||||
* [docker-verdaccio-ldap](https://github.com/snadn/docker-verdaccio-ldap)
|
||||
* [verdaccio-ldap](https://github.com/nathantreid/verdaccio-ldap)
|
||||
* [verdaccio-compose-local-bridge](https://github.com/shingtoli/verdaccio-compose-local-bridge)
|
||||
* [docker-verdaccio](https://github.com/Global-Solutions/docker-verdaccio)
|
||||
* [verdaccio-docker](https://github.com/idahobean/verdaccio-docker)
|
||||
* [verdaccio-server](https://github.com/andru255/verdaccio-server)
|
||||
* [coldrye-debian-verdaccio](https://github.com/coldrye-docker/coldrye-debian-verdaccio) docker image providing verdaccio from coldrye-debian-nodejs.
|
||||
@@ -1,113 +0,0 @@
|
||||
---
|
||||
id: iss-server
|
||||
title: "Installing on IIS server"
|
||||
---
|
||||
|
||||
These instructions were written for Windows Server 2012, IIS 8, [Node.js 0.12.3](https://nodejs.org/), [iisnode 0.2.16](https://github.com/tjanczuk/iisnode) and [verdaccio 2.1.0](https://github.com/verdaccio/verdaccio).
|
||||
|
||||
* Install IIS Install [iisnode](https://github.com/tjanczuk/iisnode).
|
||||
Make sure you install prerequisites (Url Rewrite Module & node) as explained in the instructions for iisnode.
|
||||
* Create a new folder in Explorer where you want to host verdaccio.
|
||||
For example `C:\verdaccio`.
|
||||
Save [package.json](#packagejson),
|
||||
[start.js](#startjs)
|
||||
and [web.config](#webconfig) in this folder.
|
||||
* Create a new site in Internet Information Services Manager. You can name it whatever you want.
|
||||
I'll call it verdaccio in these [instructions](http://www.iis.net/learn/manage/configuring-security/application-pool-identities). Specify the path to where you saved all files and a port number.
|
||||
* Go back to Explorer and give the user that runs the application pool modify rights to the folder you just created. If you've named the new site verdaccio and did not change the app pool, it's running under an ApplicationPoolIdentity and you should give the user IIS AppPool\verdaccio modify rights see instructions if you need help. (You can restrict access later if you want so that it only has modify rights on the iisnode and verdaccio\storage)
|
||||
* Start a command prompt and execute the commands below to download verdaccio:
|
||||
|
||||
````
|
||||
cd c:\verdaccio
|
||||
npm install
|
||||
````
|
||||
|
||||
* Make sure you have an inbound rule accepting TCP traffic to the port in Windows Firewall
|
||||
* Thats it! Now you can navigate to the host and port that you specified
|
||||
|
||||
|
||||
I wanted the `verdaccio` site to be the default site in IIS so I did the following:
|
||||
|
||||
* I made sure the .npmrc file in `c:\users{yourname}\` had the registry set to `"registry=http://localhost/"`
|
||||
* I stopped the "Default Web Site" and only start the site "verdaccio" site in IIS
|
||||
* I set the bindings to "http", ip address "All Unassigned" on port 80, ok any warning or prompts
|
||||
|
||||
These instructions are based on [Host Sinopia in IIS
|
||||
on Windows](https://gist.github.com/HCanber/4dd8409f79991a09ac75). I had to tweak my web config as per below but you may find the original from the
|
||||
for mentioned link works better
|
||||
|
||||
A default configuration file will be created `c:\verdaccio\verdaccio\config.yaml`
|
||||
|
||||
### package.json
|
||||
|
||||
````json
|
||||
{
|
||||
"name": "iisnode-verdaccio",
|
||||
"version": "1.0.0",
|
||||
"description": "Hosts verdaccio in iisnode",
|
||||
"main": "start.js",
|
||||
"dependencies": {
|
||||
"verdaccio": "^2.1.0"
|
||||
}
|
||||
}
|
||||
````
|
||||
|
||||
### start.js
|
||||
|
||||
````bash
|
||||
process.argv.push('-l', 'unix:' + process.env.PORT);
|
||||
require('./node_modules/verdaccio/src/lib/cli.js');
|
||||
````
|
||||
|
||||
### web.config
|
||||
|
||||
````xml
|
||||
<configuration>
|
||||
<system.webServer>
|
||||
<modules>
|
||||
<remove name="WebDAVModule" />
|
||||
</modules>
|
||||
|
||||
<!-- indicates that the start.js file is a node.js application
|
||||
to be handled by the iisnode module -->
|
||||
<handlers>
|
||||
<remove name="WebDAV" />
|
||||
<add name="iisnode" path="start.js" verb="*" modules="iisnode" resourceType="Unspecified" requireAccess="Execute" />
|
||||
<add name="WebDAV" path="*" verb="*" modules="WebDAVModule" resourceType="Unspecified" requireAccess="Execute" />
|
||||
</handlers>
|
||||
|
||||
<rewrite>
|
||||
<rules>
|
||||
|
||||
<!-- iisnode folder is where iisnode stores it's logs. These should
|
||||
never be rewritten -->
|
||||
<rule name="iisnode" stopProcessing="true">
|
||||
<match url="iisnode*" />
|
||||
<action type="None" />
|
||||
</rule>
|
||||
|
||||
<!-- Rewrite all other urls in order for verdaccio to handle these -->
|
||||
<rule name="verdaccio">
|
||||
<match url="/*" />
|
||||
<action type="Rewrite" url="start.js" />
|
||||
</rule>
|
||||
</rules>
|
||||
</rewrite>
|
||||
|
||||
<!-- exclude node_modules directory and subdirectories from serving
|
||||
by IIS since these are implementation details of node.js applications -->
|
||||
<security>
|
||||
<requestFiltering>
|
||||
<hiddenSegments>
|
||||
<add segment="node_modules" />
|
||||
</hiddenSegments>
|
||||
</requestFiltering>
|
||||
</security>
|
||||
|
||||
</system.webServer>
|
||||
</configuration>
|
||||
````
|
||||
|
||||
### Troubleshooting
|
||||
- **The web interface does not load when hosted with https as it tries to download scripts over http.**
|
||||
Make sure that you have correctly mentioned `url_prefix` in verdaccio config. Follow the [discussion](https://github.com/verdaccio/verdaccio/issues/622).
|
||||
@@ -1,55 +0,0 @@
|
||||
---
|
||||
id: installation
|
||||
title: "Installation"
|
||||
---
|
||||
|
||||
Verdaccio is a multiplatform web application. To install it, you need a few prerequisites.
|
||||
|
||||
#### Prerequisites
|
||||
|
||||
1. Node higher than
|
||||
- For version `verdaccio@2.x` Node `v4.6.1` is the minimum supported version.
|
||||
- For version `verdaccio@latest` Node `6.12.0` is the minimum supported version.
|
||||
2. npm `>=3.x` or `yarn`
|
||||
3. The web interface supports the `Chrome, Firefox, Edge, and IE9` browsers.
|
||||
|
||||
## Installing the CLI
|
||||
|
||||
`verdaccio` must be installed globaly using either of the following methods:
|
||||
|
||||
Using `npm`
|
||||
|
||||
```bash
|
||||
npm install -g verdaccio
|
||||
```
|
||||
or using `yarn`
|
||||
|
||||
```bash
|
||||
yarn global add verdaccio
|
||||
```
|
||||
|
||||

|
||||
|
||||
|
||||
## Basic Usage
|
||||
|
||||
Once it has been installed, you only need to execute the CLI command:
|
||||
|
||||
```bash
|
||||
$> verdaccio
|
||||
warn --- config file - /home/.config/verdaccio/config.yaml
|
||||
warn --- http address - http://localhost:4873/ - verdaccio/3.0.1
|
||||
```
|
||||
|
||||
For more information about the CLI, please [read the cli section](cli.md).
|
||||
|
||||
## Docker Image
|
||||
|
||||
`verdaccio` has an official docker image you can use, and in most cases, the default configuration is good enough. For more information about how to install the official image, [read the docker section](docker.md).
|
||||
|
||||
## Cloudron
|
||||
|
||||
`verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io)
|
||||
|
||||
[](https://cloudron.io/button.html?app=org.eggertsson.verdaccio)
|
||||
|
||||
@@ -1,99 +0,0 @@
|
||||
---
|
||||
id: kubernetes
|
||||
title: "Kubernetes"
|
||||
---
|
||||
|
||||
You can find instructions to deploy Verdaccio on a Kubernetes cluster on the
|
||||
[verdaccio/docker-example](https://github.com/verdaccio/docker-examples/tree/master/kubernetes-example)
|
||||
repository. However, the recommended method to install Verdaccio on a Kubernetes
|
||||
cluster is to use [Helm](https://helm.sh). Helm is a
|
||||
[Kubernetes](https://kubernetes.io) package manager which bring multiple
|
||||
advantages.
|
||||
|
||||
## Helm
|
||||
|
||||
### Setup Helm
|
||||
|
||||
If you haven't used Helm before, you need to setup the Helm controller called
|
||||
Tiller:
|
||||
|
||||
```bash
|
||||
helm init
|
||||
```
|
||||
|
||||
### Install
|
||||
|
||||
Deploy the Helm [stable/verdaccio](https://github.com/kubernetes/charts/tree/master/stable/verdaccio)
|
||||
chart. In this example we use `npm` as release name:
|
||||
|
||||
```bash
|
||||
helm install --name npm stable/verdaccio
|
||||
```
|
||||
|
||||
### Deploy a specific version
|
||||
|
||||
```bash
|
||||
helm install --name npm --set image.tag=2.6.5 stable/verdaccio
|
||||
```
|
||||
|
||||
### Upgrading Verdaccio
|
||||
|
||||
```bash
|
||||
helm upgrade npm stable/verdaccio
|
||||
```
|
||||
|
||||
### Uninstalling
|
||||
|
||||
```bash
|
||||
helm del --purge npm
|
||||
```
|
||||
|
||||
**Note:** this command delete all the resources, including packages that you may
|
||||
have previously published to the registry.
|
||||
|
||||
|
||||
### Custom Verdaccio configuration
|
||||
|
||||
You can customize the Verdaccio configuration using a Kubernetes *configMap*.
|
||||
|
||||
#### Prepare
|
||||
|
||||
Copy the [existing configuration](https://github.com/verdaccio/verdaccio/blob/master/conf/full.yaml)
|
||||
and adapt it for your use case:
|
||||
|
||||
```bash
|
||||
wget https://raw.githubusercontent.com/verdaccio/verdaccio/master/conf/full.yaml -O config.yaml
|
||||
```
|
||||
|
||||
**Note:** Make sure you are using the right path for the storage that is used for
|
||||
persistency:
|
||||
|
||||
```yaml
|
||||
storage: /verdaccio/storage/data
|
||||
auth:
|
||||
htpasswd:
|
||||
file: /verdaccio/storage/htpasswd
|
||||
```
|
||||
|
||||
#### Deploy the configMap
|
||||
|
||||
Deploy the `configMap` to the cluster
|
||||
|
||||
```bash
|
||||
kubectl create configmap verdaccio-config --from-file ./config.yaml
|
||||
```
|
||||
|
||||
#### Deploy Verdaccio
|
||||
|
||||
Now you can deploy the Verdaccio Helm chart and specify which configuration to
|
||||
use:
|
||||
|
||||
```bash
|
||||
helm install --name npm --set customConfigMap=verdaccio-config stable/verdaccio
|
||||
```
|
||||
|
||||
## Rancher Support
|
||||
|
||||
[Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy.
|
||||
|
||||
* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher)
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
id: logger
|
||||
title: "Logger"
|
||||
---
|
||||
|
||||
As any web application, verdaccio has a customisable built-in logger. You can define multiple types of outputs.
|
||||
|
||||
```yaml
|
||||
logs:
|
||||
# console output
|
||||
- {type: stdout, format: pretty, level: http}
|
||||
# file output
|
||||
- {type: file, path: verdaccio.log, level: info}
|
||||
# Rotating log stream. Options are passed directly to bunyan. See: https://github.com/trentm/node-bunyan#stream-type-rotating-file
|
||||
- {type: rotating-file, format: json, path: /path/to/log.jsonl, level: http, options: {period: 1d}}
|
||||
```
|
||||
|
||||
Use `SIGUSR2` to notify the application, the log-file was rotated and it needs to reopen it.
|
||||
Note: Rotating log stream is not supported in cluster mode. [See here](https://github.com/trentm/node-bunyan#stream-type-rotating-file)
|
||||
|
||||
### Configuration
|
||||
|
||||
Property | Type | Required | Example | Support | Description
|
||||
--- | --- | --- | --- | --- | ---
|
||||
type | string | No | [stdout, file] | all | define the output
|
||||
path | string | No | verdaccio.log | all | if type is file, define the location of that file
|
||||
format | string | No | [pretty, pretty-timestamped] | all | output format
|
||||
level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level
|
||||