@vltpkg/vsr 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/.editorconfig +13 -0
  2. package/.prettierrc +7 -0
  3. package/CONTRIBUTING.md +228 -0
  4. package/LICENSE.md +110 -0
  5. package/README.md +373 -0
  6. package/bin/vsr.ts +29 -0
  7. package/config.ts +124 -0
  8. package/debug-npm.js +19 -0
  9. package/drizzle.config.js +33 -0
  10. package/package.json +80 -0
  11. package/pnpm-workspace.yaml +5 -0
  12. package/src/api.ts +2246 -0
  13. package/src/assets/public/images/bg.png +0 -0
  14. package/src/assets/public/images/clients/logo-bun.png +0 -0
  15. package/src/assets/public/images/clients/logo-deno.png +0 -0
  16. package/src/assets/public/images/clients/logo-npm.png +0 -0
  17. package/src/assets/public/images/clients/logo-pnpm.png +0 -0
  18. package/src/assets/public/images/clients/logo-vlt.png +0 -0
  19. package/src/assets/public/images/clients/logo-yarn.png +0 -0
  20. package/src/assets/public/images/favicon/apple-touch-icon.png +0 -0
  21. package/src/assets/public/images/favicon/favicon-96x96.png +0 -0
  22. package/src/assets/public/images/favicon/favicon.ico +0 -0
  23. package/src/assets/public/images/favicon/favicon.svg +3 -0
  24. package/src/assets/public/images/favicon/site.webmanifest +21 -0
  25. package/src/assets/public/images/favicon/web-app-manifest-192x192.png +0 -0
  26. package/src/assets/public/images/favicon/web-app-manifest-512x512.png +0 -0
  27. package/src/assets/public/styles/styles.css +219 -0
  28. package/src/db/client.ts +544 -0
  29. package/src/db/migrations/0000_faulty_ricochet.sql +14 -0
  30. package/src/db/migrations/0000_initial.sql +29 -0
  31. package/src/db/migrations/0001_uuid_validation.sql +35 -0
  32. package/src/db/migrations/0001_wealthy_magdalene.sql +7 -0
  33. package/src/db/migrations/drop.sql +3 -0
  34. package/src/db/migrations/meta/0000_snapshot.json +104 -0
  35. package/src/db/migrations/meta/0001_snapshot.json +155 -0
  36. package/src/db/migrations/meta/_journal.json +20 -0
  37. package/src/db/schema.ts +41 -0
  38. package/src/index.ts +709 -0
  39. package/src/routes/access.ts +263 -0
  40. package/src/routes/auth.ts +93 -0
  41. package/src/routes/index.ts +135 -0
  42. package/src/routes/packages.ts +924 -0
  43. package/src/routes/search.ts +50 -0
  44. package/src/routes/static.ts +53 -0
  45. package/src/routes/tokens.ts +102 -0
  46. package/src/routes/users.ts +14 -0
  47. package/src/utils/auth.ts +145 -0
  48. package/src/utils/cache.ts +466 -0
  49. package/src/utils/database.ts +44 -0
  50. package/src/utils/packages.ts +337 -0
  51. package/src/utils/response.ts +100 -0
  52. package/src/utils/routes.ts +47 -0
  53. package/src/utils/spa.ts +14 -0
  54. package/src/utils/tracing.ts +63 -0
  55. package/src/utils/upstream.ts +131 -0
  56. package/test/README.md +91 -0
  57. package/test/access.test.js +760 -0
  58. package/test/cloudflare-waituntil.test.js +141 -0
  59. package/test/db.test.js +447 -0
  60. package/test/dist-tag.test.js +415 -0
  61. package/test/e2e.test.js +904 -0
  62. package/test/hono-context.test.js +250 -0
  63. package/test/integrity-validation.test.js +183 -0
  64. package/test/json-response.test.js +76 -0
  65. package/test/manifest-slimming.test.js +449 -0
  66. package/test/packument-consistency.test.js +351 -0
  67. package/test/packument-version-range.test.js +144 -0
  68. package/test/performance.test.js +162 -0
  69. package/test/route-with-waituntil.test.js +298 -0
  70. package/test/run-tests.js +151 -0
  71. package/test/setup-cache-tests.js +190 -0
  72. package/test/setup.js +64 -0
  73. package/test/stale-while-revalidate.test.js +273 -0
  74. package/test/static-assets.test.js +85 -0
  75. package/test/upstream-routing.test.js +86 -0
  76. package/test/utils/test-helpers.js +84 -0
  77. package/test/waituntil-correct.test.js +208 -0
  78. package/test/waituntil-demo.test.js +138 -0
  79. package/test/waituntil-readme.md +113 -0
  80. package/tsconfig.json +37 -0
  81. package/types.ts +446 -0
  82. package/vitest.config.js +95 -0
  83. package/wrangler.json +58 -0
Binary file
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev/svgjs" width="1171" height="1171" viewBox="0 0 1171 1171"><image width="1171" height="1171" xlink:href="data:image/png;base64,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"></image><style>@media (prefers-color-scheme: light) { :root { filter: none; } }
2
+ @media (prefers-color-scheme: dark) { :root { filter: none; } }
3
+ </style></svg>
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "vlt /vōlt/",
3
+ "short_name": "vlt",
4
+ "icons": [
5
+ {
6
+ "src": "/web-app-manifest-192x192.png",
7
+ "sizes": "192x192",
8
+ "type": "image/png",
9
+ "purpose": "maskable"
10
+ },
11
+ {
12
+ "src": "/web-app-manifest-512x512.png",
13
+ "sizes": "512x512",
14
+ "type": "image/png",
15
+ "purpose": "maskable"
16
+ }
17
+ ],
18
+ "theme_color": "#262626",
19
+ "background_color": "#262626",
20
+ "display": "standalone"
21
+ }
@@ -0,0 +1,219 @@
1
+ .open-api-client-button {
2
+ display: none !important;
3
+ }
4
+
5
+ :root {
6
+ --scalar-text-decoration: underline;
7
+ }
8
+
9
+ .light-mode {
10
+ --scalar-background-1: #fff;
11
+ --scalar-background-2: #f7f7f7;
12
+ --scalar-background-3: #e7e7e7;
13
+ --scalar-background-accent: #8ab4f81f;
14
+
15
+ --scalar-color-1: #2a2f45;
16
+ --scalar-color-2: #757575;
17
+ --scalar-color-3: #8e8e8e;
18
+
19
+ --scalar-color-accent: var(--scalar-color-1);
20
+ --scalar-border-color: rgba(0, 0, 0, 0.1);
21
+ }
22
+
23
+ .dark-mode {
24
+ --scalar-background-1: #000;
25
+ --scalar-background-2: #0f0f0f;
26
+ --scalar-background-3: #1d1d1d;
27
+
28
+ --scalar-color-1: rgba(255, 255, 255, 0.9);
29
+ --scalar-color-2: rgba(255, 255, 255, 0.62);
30
+ --scalar-color-3: rgba(255, 255, 255, 0.44);
31
+
32
+ --scalar-color-accent: var(--scalar-color-1);
33
+ --scalar-background-accent: #3ea6ff1f;
34
+
35
+ --scalar-border-color: rgba(255, 255, 255, 0.15);
36
+ }
37
+
38
+ /* Document Sidebar */
39
+ .light-mode .t-doc__sidebar,
40
+ .dark-mode .t-doc__sidebar {
41
+ --scalar-sidebar-background-1: var(--scalar-background-1);
42
+ --scalar-sidebar-color-1: var(--scalar-color-1);
43
+ --scalar-sidebar-color-2: var(--scalar-color-2);
44
+ --scalar-sidebar-border-color: var(--scalar-border-color);
45
+
46
+ --scalar-sidebar-item-hover-background: var(--scalar-background-2);
47
+ --scalar-sidebar-item-hover-color: currentColor;
48
+
49
+ --scalar-sidebar-item-active-background: var(--scalar-background-2);
50
+ --scalar-sidebar-color-active: var(--scalar-color-1);
51
+
52
+ --scalar-sidebar-search-background: transparent;
53
+ --scalar-sidebar-search-color: var(--scalar-color-3);
54
+ --scalar-sidebar-search-border-color: var(--scalar-border-color);
55
+ }
56
+
57
+ /* advanced */
58
+ .light-mode {
59
+ --scalar-color-green: #069061;
60
+ --scalar-color-red: #ef0006;
61
+ --scalar-color-yellow: #edbe20;
62
+ --scalar-color-blue: #0082d0;
63
+ --scalar-color-orange: #fb892c;
64
+ --scalar-color-purple: #5203d1;
65
+
66
+ --scalar-button-1: rgba(0, 0, 0, 1);
67
+ --scalar-button-1-hover: rgba(0, 0, 0, 0.8);
68
+ --scalar-button-1-color: rgba(255, 255, 255, 0.9);
69
+ }
70
+
71
+ .dark-mode {
72
+ --scalar-color-green: #00b648;
73
+ --scalar-color-red: #dc1b19;
74
+ --scalar-color-yellow: #ffc90d;
75
+ --scalar-color-blue: #4eb3ec;
76
+ --scalar-color-orange: #ff8d4d;
77
+ --scalar-color-purple: #b191f9;
78
+
79
+ --scalar-button-1: rgba(255, 255, 255, 1);
80
+ --scalar-button-1-hover: rgba(255, 255, 255, 0.9);
81
+ --scalar-button-1-color: black;
82
+ }
83
+
84
+ /* custom stuff for vlt */
85
+ .introduction-section {
86
+ position: static !important;
87
+ }
88
+
89
+ .introduction-section:before {
90
+ content: "";
91
+ position: absolute;
92
+ top: 0;
93
+ left: 0;
94
+ width: 100%;
95
+ height: 100%;
96
+ z-index: 0;
97
+ background: url("/public/images/bg.png");
98
+ background-position: center;
99
+ background-size: cover;
100
+ background-repeat: no-repeat;
101
+ opacity: .3;
102
+ mask-image: linear-gradient( 135deg ,transparent 60%, black 100%)
103
+ }
104
+
105
+ .dark-mode .introduction-section:before {
106
+ filter: invert(1);
107
+ opacity: .4;
108
+ }
109
+
110
+ .introduction-section .section-columns {
111
+ position: relative;
112
+ }
113
+
114
+ .introduction-description table,
115
+ .introduction-description table tbody,
116
+ .introduction-description table tbody tr {
117
+ display: flex !important;
118
+ overflow: hidden !important;
119
+ }
120
+
121
+ .introduction-description table {
122
+ width: 90% !important;
123
+ border: none !important;
124
+ box-shadow: none !important;
125
+ }
126
+
127
+ .introduction-description table tbody,
128
+ .introduction-description table tbody tr {
129
+ width: 100% !important;
130
+ border: none !important;
131
+ }
132
+
133
+ .introduction-description table tbody {
134
+ flex-wrap: wrap !important;
135
+ }
136
+
137
+ .introduction-description table td {
138
+ padding: 0 !important;
139
+ width: 33.3333% !important;
140
+ display: flex !important;
141
+ border: none !important;
142
+ }
143
+
144
+ .introduction-description table a {
145
+ box-sizing: border-box !important;
146
+ padding: 0 !important;
147
+ width: 100% !important;
148
+ display: block !important;
149
+ outline: none !important;
150
+ border: none !important;
151
+ width: 100% !important;
152
+ height: 65px !important;
153
+ text-indent: -9999px !important;
154
+ white-space: nowrap !important;
155
+ background-size: 60px auto !important;
156
+ background-position: center !important;
157
+ background-repeat: no-repeat !important;
158
+ transition: transform 0.25s !important;
159
+ }
160
+
161
+ .dark-mode .introduction-description table a {
162
+ filter: invert(1) !important;
163
+ }
164
+
165
+ .introduction-description table a:hover {
166
+ transform: scale(1.25) !important;
167
+ }
168
+
169
+ .introduction-description table a[alt="vlt"] {
170
+ background-image: url("/public/images/clients/logo-vlt.png") !important;
171
+ }
172
+
173
+ .introduction-description table a[alt="npm"] {
174
+ background-image: url("/public/images/clients/logo-npm.png") !important;
175
+ }
176
+
177
+ .introduction-description table a[alt="yarn"] {
178
+ background-image: url("/public/images/clients/logo-yarn.png") !important;
179
+ }
180
+
181
+ .introduction-description table a[alt="pnpm"] {
182
+ background-image: url("/public/images/clients/logo-pnpm.png") !important;
183
+ }
184
+
185
+ .introduction-description table a[alt="deno"] {
186
+ background-image: url("/public/images/clients/logo-deno.png") !important;
187
+ }
188
+
189
+ .introduction-description table a[alt="bun"] {
190
+ background-image: url("/public/images/clients/logo-bun.png") !important;
191
+ }
192
+
193
+ .scalar-app .markdown [alt=license] summary:after {
194
+ top: 2px;
195
+ }
196
+
197
+ .sidebar-heading-link {
198
+ font-size: 11px;
199
+ }
200
+
201
+ [alt=features],
202
+ [alt=resources],
203
+ [alt=trademark-disclaimer],
204
+ [alt=license],
205
+ [alt=license] summary {
206
+ font-size: 12px !important;
207
+ line-height: 180% !important;
208
+ }
209
+
210
+ [alt=license] {
211
+ padding: 5px 20px !important;
212
+ font-family: courier !important;
213
+ }
214
+
215
+ [alt=license] summary {
216
+ padding: 0 0 0 20px !important;
217
+ margin: 0 0 0 -20px !important;
218
+ font-family: Inter, -apple-system, "system-ui", "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif !important;
219
+ }