├── .gitignore ├── .prettierrc ├── package-lock.json ├── package.json ├── src ├── app │ └── App.tsx └── index.tsx └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /dist -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rsc-without-nextjs", 3 | "version": "1.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "rsc-without-nextjs", 9 | "version": "1.0.0", 10 | "license": "MIT", 11 | "devDependencies": { 12 | "@types/react": "^18.2.33", 13 | "@types/react-dom": "^18.2.14", 14 | "prettier": "^3.0.3", 15 | "react": "^18.3.0-canary-8039e6d0b-20231026", 16 | "react-dom": "^18.3.0-canary-8039e6d0b-20231026", 17 | "react-server-dom-webpack": "^18.3.0-canary-8039e6d0b-20231026", 18 | "typescript": "^5.2.2" 19 | } 20 | }, 21 | "node_modules/@jridgewell/gen-mapping": { 22 | "version": "0.3.3", 23 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", 24 | "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", 25 | "dev": true, 26 | "peer": true, 27 | "dependencies": { 28 | "@jridgewell/set-array": "^1.0.1", 29 | "@jridgewell/sourcemap-codec": "^1.4.10", 30 | "@jridgewell/trace-mapping": "^0.3.9" 31 | }, 32 | "engines": { 33 | "node": ">=6.0.0" 34 | } 35 | }, 36 | "node_modules/@jridgewell/resolve-uri": { 37 | "version": "3.1.1", 38 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", 39 | "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", 40 | "dev": true, 41 | "peer": true, 42 | "engines": { 43 | "node": ">=6.0.0" 44 | } 45 | }, 46 | "node_modules/@jridgewell/set-array": { 47 | "version": "1.1.2", 48 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", 49 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", 50 | "dev": true, 51 | "peer": true, 52 | "engines": { 53 | "node": ">=6.0.0" 54 | } 55 | }, 56 | "node_modules/@jridgewell/source-map": { 57 | "version": "0.3.5", 58 | "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", 59 | "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", 60 | "dev": true, 61 | "peer": true, 62 | "dependencies": { 63 | "@jridgewell/gen-mapping": "^0.3.0", 64 | "@jridgewell/trace-mapping": "^0.3.9" 65 | } 66 | }, 67 | "node_modules/@jridgewell/sourcemap-codec": { 68 | "version": "1.4.15", 69 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 70 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", 71 | "dev": true, 72 | "peer": true 73 | }, 74 | "node_modules/@jridgewell/trace-mapping": { 75 | "version": "0.3.20", 76 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", 77 | "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", 78 | "dev": true, 79 | "peer": true, 80 | "dependencies": { 81 | "@jridgewell/resolve-uri": "^3.1.0", 82 | "@jridgewell/sourcemap-codec": "^1.4.14" 83 | } 84 | }, 85 | "node_modules/@types/eslint": { 86 | "version": "8.44.6", 87 | "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", 88 | "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==", 89 | "dev": true, 90 | "peer": true, 91 | "dependencies": { 92 | "@types/estree": "*", 93 | "@types/json-schema": "*" 94 | } 95 | }, 96 | "node_modules/@types/eslint-scope": { 97 | "version": "3.7.6", 98 | "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz", 99 | "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==", 100 | "dev": true, 101 | "peer": true, 102 | "dependencies": { 103 | "@types/eslint": "*", 104 | "@types/estree": "*" 105 | } 106 | }, 107 | "node_modules/@types/estree": { 108 | "version": "1.0.3", 109 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", 110 | "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==", 111 | "dev": true, 112 | "peer": true 113 | }, 114 | "node_modules/@types/json-schema": { 115 | "version": "7.0.14", 116 | "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", 117 | "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", 118 | "dev": true, 119 | "peer": true 120 | }, 121 | "node_modules/@types/node": { 122 | "version": "20.8.9", 123 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.9.tgz", 124 | "integrity": "sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==", 125 | "dev": true, 126 | "peer": true, 127 | "dependencies": { 128 | "undici-types": "~5.26.4" 129 | } 130 | }, 131 | "node_modules/@types/prop-types": { 132 | "version": "15.7.9", 133 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz", 134 | "integrity": "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==", 135 | "dev": true 136 | }, 137 | "node_modules/@types/react": { 138 | "version": "18.2.33", 139 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.33.tgz", 140 | "integrity": "sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg==", 141 | "dev": true, 142 | "dependencies": { 143 | "@types/prop-types": "*", 144 | "@types/scheduler": "*", 145 | "csstype": "^3.0.2" 146 | } 147 | }, 148 | "node_modules/@types/react-dom": { 149 | "version": "18.2.14", 150 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.14.tgz", 151 | "integrity": "sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ==", 152 | "dev": true, 153 | "dependencies": { 154 | "@types/react": "*" 155 | } 156 | }, 157 | "node_modules/@types/scheduler": { 158 | "version": "0.16.5", 159 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz", 160 | "integrity": "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==", 161 | "dev": true 162 | }, 163 | "node_modules/@webassemblyjs/ast": { 164 | "version": "1.11.6", 165 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", 166 | "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", 167 | "dev": true, 168 | "peer": true, 169 | "dependencies": { 170 | "@webassemblyjs/helper-numbers": "1.11.6", 171 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6" 172 | } 173 | }, 174 | "node_modules/@webassemblyjs/floating-point-hex-parser": { 175 | "version": "1.11.6", 176 | "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", 177 | "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", 178 | "dev": true, 179 | "peer": true 180 | }, 181 | "node_modules/@webassemblyjs/helper-api-error": { 182 | "version": "1.11.6", 183 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", 184 | "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", 185 | "dev": true, 186 | "peer": true 187 | }, 188 | "node_modules/@webassemblyjs/helper-buffer": { 189 | "version": "1.11.6", 190 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", 191 | "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", 192 | "dev": true, 193 | "peer": true 194 | }, 195 | "node_modules/@webassemblyjs/helper-numbers": { 196 | "version": "1.11.6", 197 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", 198 | "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", 199 | "dev": true, 200 | "peer": true, 201 | "dependencies": { 202 | "@webassemblyjs/floating-point-hex-parser": "1.11.6", 203 | "@webassemblyjs/helper-api-error": "1.11.6", 204 | "@xtuc/long": "4.2.2" 205 | } 206 | }, 207 | "node_modules/@webassemblyjs/helper-wasm-bytecode": { 208 | "version": "1.11.6", 209 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", 210 | "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", 211 | "dev": true, 212 | "peer": true 213 | }, 214 | "node_modules/@webassemblyjs/helper-wasm-section": { 215 | "version": "1.11.6", 216 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", 217 | "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", 218 | "dev": true, 219 | "peer": true, 220 | "dependencies": { 221 | "@webassemblyjs/ast": "1.11.6", 222 | "@webassemblyjs/helper-buffer": "1.11.6", 223 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 224 | "@webassemblyjs/wasm-gen": "1.11.6" 225 | } 226 | }, 227 | "node_modules/@webassemblyjs/ieee754": { 228 | "version": "1.11.6", 229 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", 230 | "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", 231 | "dev": true, 232 | "peer": true, 233 | "dependencies": { 234 | "@xtuc/ieee754": "^1.2.0" 235 | } 236 | }, 237 | "node_modules/@webassemblyjs/leb128": { 238 | "version": "1.11.6", 239 | "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", 240 | "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", 241 | "dev": true, 242 | "peer": true, 243 | "dependencies": { 244 | "@xtuc/long": "4.2.2" 245 | } 246 | }, 247 | "node_modules/@webassemblyjs/utf8": { 248 | "version": "1.11.6", 249 | "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", 250 | "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", 251 | "dev": true, 252 | "peer": true 253 | }, 254 | "node_modules/@webassemblyjs/wasm-edit": { 255 | "version": "1.11.6", 256 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", 257 | "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", 258 | "dev": true, 259 | "peer": true, 260 | "dependencies": { 261 | "@webassemblyjs/ast": "1.11.6", 262 | "@webassemblyjs/helper-buffer": "1.11.6", 263 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 264 | "@webassemblyjs/helper-wasm-section": "1.11.6", 265 | "@webassemblyjs/wasm-gen": "1.11.6", 266 | "@webassemblyjs/wasm-opt": "1.11.6", 267 | "@webassemblyjs/wasm-parser": "1.11.6", 268 | "@webassemblyjs/wast-printer": "1.11.6" 269 | } 270 | }, 271 | "node_modules/@webassemblyjs/wasm-gen": { 272 | "version": "1.11.6", 273 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", 274 | "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", 275 | "dev": true, 276 | "peer": true, 277 | "dependencies": { 278 | "@webassemblyjs/ast": "1.11.6", 279 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 280 | "@webassemblyjs/ieee754": "1.11.6", 281 | "@webassemblyjs/leb128": "1.11.6", 282 | "@webassemblyjs/utf8": "1.11.6" 283 | } 284 | }, 285 | "node_modules/@webassemblyjs/wasm-opt": { 286 | "version": "1.11.6", 287 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", 288 | "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", 289 | "dev": true, 290 | "peer": true, 291 | "dependencies": { 292 | "@webassemblyjs/ast": "1.11.6", 293 | "@webassemblyjs/helper-buffer": "1.11.6", 294 | "@webassemblyjs/wasm-gen": "1.11.6", 295 | "@webassemblyjs/wasm-parser": "1.11.6" 296 | } 297 | }, 298 | "node_modules/@webassemblyjs/wasm-parser": { 299 | "version": "1.11.6", 300 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", 301 | "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", 302 | "dev": true, 303 | "peer": true, 304 | "dependencies": { 305 | "@webassemblyjs/ast": "1.11.6", 306 | "@webassemblyjs/helper-api-error": "1.11.6", 307 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 308 | "@webassemblyjs/ieee754": "1.11.6", 309 | "@webassemblyjs/leb128": "1.11.6", 310 | "@webassemblyjs/utf8": "1.11.6" 311 | } 312 | }, 313 | "node_modules/@webassemblyjs/wast-printer": { 314 | "version": "1.11.6", 315 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", 316 | "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", 317 | "dev": true, 318 | "peer": true, 319 | "dependencies": { 320 | "@webassemblyjs/ast": "1.11.6", 321 | "@xtuc/long": "4.2.2" 322 | } 323 | }, 324 | "node_modules/@xtuc/ieee754": { 325 | "version": "1.2.0", 326 | "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", 327 | "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", 328 | "dev": true, 329 | "peer": true 330 | }, 331 | "node_modules/@xtuc/long": { 332 | "version": "4.2.2", 333 | "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", 334 | "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", 335 | "dev": true, 336 | "peer": true 337 | }, 338 | "node_modules/acorn": { 339 | "version": "6.4.2", 340 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", 341 | "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", 342 | "dev": true, 343 | "bin": { 344 | "acorn": "bin/acorn" 345 | }, 346 | "engines": { 347 | "node": ">=0.4.0" 348 | } 349 | }, 350 | "node_modules/ajv": { 351 | "version": "6.12.6", 352 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 353 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 354 | "dev": true, 355 | "peer": true, 356 | "dependencies": { 357 | "fast-deep-equal": "^3.1.1", 358 | "fast-json-stable-stringify": "^2.0.0", 359 | "json-schema-traverse": "^0.4.1", 360 | "uri-js": "^4.2.2" 361 | }, 362 | "funding": { 363 | "type": "github", 364 | "url": "https://github.com/sponsors/epoberezkin" 365 | } 366 | }, 367 | "node_modules/ajv-keywords": { 368 | "version": "3.5.2", 369 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", 370 | "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", 371 | "dev": true, 372 | "peer": true, 373 | "peerDependencies": { 374 | "ajv": "^6.9.1" 375 | } 376 | }, 377 | "node_modules/browserslist": { 378 | "version": "4.22.1", 379 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", 380 | "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", 381 | "dev": true, 382 | "funding": [ 383 | { 384 | "type": "opencollective", 385 | "url": "https://opencollective.com/browserslist" 386 | }, 387 | { 388 | "type": "tidelift", 389 | "url": "https://tidelift.com/funding/github/npm/browserslist" 390 | }, 391 | { 392 | "type": "github", 393 | "url": "https://github.com/sponsors/ai" 394 | } 395 | ], 396 | "peer": true, 397 | "dependencies": { 398 | "caniuse-lite": "^1.0.30001541", 399 | "electron-to-chromium": "^1.4.535", 400 | "node-releases": "^2.0.13", 401 | "update-browserslist-db": "^1.0.13" 402 | }, 403 | "bin": { 404 | "browserslist": "cli.js" 405 | }, 406 | "engines": { 407 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 408 | } 409 | }, 410 | "node_modules/buffer-from": { 411 | "version": "1.1.2", 412 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 413 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", 414 | "dev": true, 415 | "peer": true 416 | }, 417 | "node_modules/caniuse-lite": { 418 | "version": "1.0.30001555", 419 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001555.tgz", 420 | "integrity": "sha512-NzbUFKUnJ3DTcq6YyZB6+qqhfD112uR3uoEnkmfzm2wVzUNsFkU7AwBjKQ654Sp5cau0JxhFyRSn/tQZ+XfygA==", 421 | "dev": true, 422 | "funding": [ 423 | { 424 | "type": "opencollective", 425 | "url": "https://opencollective.com/browserslist" 426 | }, 427 | { 428 | "type": "tidelift", 429 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 430 | }, 431 | { 432 | "type": "github", 433 | "url": "https://github.com/sponsors/ai" 434 | } 435 | ], 436 | "peer": true 437 | }, 438 | "node_modules/chrome-trace-event": { 439 | "version": "1.0.3", 440 | "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", 441 | "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", 442 | "dev": true, 443 | "peer": true, 444 | "engines": { 445 | "node": ">=6.0" 446 | } 447 | }, 448 | "node_modules/commander": { 449 | "version": "2.20.3", 450 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 451 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", 452 | "dev": true, 453 | "peer": true 454 | }, 455 | "node_modules/csstype": { 456 | "version": "3.1.2", 457 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", 458 | "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", 459 | "dev": true 460 | }, 461 | "node_modules/electron-to-chromium": { 462 | "version": "1.4.569", 463 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.569.tgz", 464 | "integrity": "sha512-LsrJjZ0IbVy12ApW3gpYpcmHS3iRxH4bkKOW98y1/D+3cvDUWGcbzbsFinfUS8knpcZk/PG/2p/RnkMCYN7PVg==", 465 | "dev": true, 466 | "peer": true 467 | }, 468 | "node_modules/enhanced-resolve": { 469 | "version": "5.15.0", 470 | "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", 471 | "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", 472 | "dev": true, 473 | "peer": true, 474 | "dependencies": { 475 | "graceful-fs": "^4.2.4", 476 | "tapable": "^2.2.0" 477 | }, 478 | "engines": { 479 | "node": ">=10.13.0" 480 | } 481 | }, 482 | "node_modules/es-module-lexer": { 483 | "version": "1.3.1", 484 | "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", 485 | "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==", 486 | "dev": true, 487 | "peer": true 488 | }, 489 | "node_modules/escalade": { 490 | "version": "3.1.1", 491 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 492 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 493 | "dev": true, 494 | "peer": true, 495 | "engines": { 496 | "node": ">=6" 497 | } 498 | }, 499 | "node_modules/eslint-scope": { 500 | "version": "5.1.1", 501 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", 502 | "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", 503 | "dev": true, 504 | "peer": true, 505 | "dependencies": { 506 | "esrecurse": "^4.3.0", 507 | "estraverse": "^4.1.1" 508 | }, 509 | "engines": { 510 | "node": ">=8.0.0" 511 | } 512 | }, 513 | "node_modules/esrecurse": { 514 | "version": "4.3.0", 515 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 516 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 517 | "dev": true, 518 | "peer": true, 519 | "dependencies": { 520 | "estraverse": "^5.2.0" 521 | }, 522 | "engines": { 523 | "node": ">=4.0" 524 | } 525 | }, 526 | "node_modules/esrecurse/node_modules/estraverse": { 527 | "version": "5.3.0", 528 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 529 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 530 | "dev": true, 531 | "peer": true, 532 | "engines": { 533 | "node": ">=4.0" 534 | } 535 | }, 536 | "node_modules/estraverse": { 537 | "version": "4.3.0", 538 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 539 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 540 | "dev": true, 541 | "peer": true, 542 | "engines": { 543 | "node": ">=4.0" 544 | } 545 | }, 546 | "node_modules/events": { 547 | "version": "3.3.0", 548 | "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", 549 | "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", 550 | "dev": true, 551 | "peer": true, 552 | "engines": { 553 | "node": ">=0.8.x" 554 | } 555 | }, 556 | "node_modules/fast-deep-equal": { 557 | "version": "3.1.3", 558 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 559 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 560 | "dev": true, 561 | "peer": true 562 | }, 563 | "node_modules/fast-json-stable-stringify": { 564 | "version": "2.1.0", 565 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 566 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 567 | "dev": true, 568 | "peer": true 569 | }, 570 | "node_modules/glob-to-regexp": { 571 | "version": "0.4.1", 572 | "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", 573 | "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", 574 | "dev": true, 575 | "peer": true 576 | }, 577 | "node_modules/graceful-fs": { 578 | "version": "4.2.11", 579 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 580 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 581 | "dev": true, 582 | "peer": true 583 | }, 584 | "node_modules/has-flag": { 585 | "version": "4.0.0", 586 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 587 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 588 | "dev": true, 589 | "peer": true, 590 | "engines": { 591 | "node": ">=8" 592 | } 593 | }, 594 | "node_modules/jest-worker": { 595 | "version": "27.5.1", 596 | "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", 597 | "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", 598 | "dev": true, 599 | "peer": true, 600 | "dependencies": { 601 | "@types/node": "*", 602 | "merge-stream": "^2.0.0", 603 | "supports-color": "^8.0.0" 604 | }, 605 | "engines": { 606 | "node": ">= 10.13.0" 607 | } 608 | }, 609 | "node_modules/js-tokens": { 610 | "version": "4.0.0", 611 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 612 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 613 | "dev": true 614 | }, 615 | "node_modules/json-parse-even-better-errors": { 616 | "version": "2.3.1", 617 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", 618 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", 619 | "dev": true, 620 | "peer": true 621 | }, 622 | "node_modules/json-schema-traverse": { 623 | "version": "0.4.1", 624 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 625 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 626 | "dev": true, 627 | "peer": true 628 | }, 629 | "node_modules/loader-runner": { 630 | "version": "4.3.0", 631 | "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", 632 | "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", 633 | "dev": true, 634 | "peer": true, 635 | "engines": { 636 | "node": ">=6.11.5" 637 | } 638 | }, 639 | "node_modules/loose-envify": { 640 | "version": "1.4.0", 641 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 642 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 643 | "dev": true, 644 | "dependencies": { 645 | "js-tokens": "^3.0.0 || ^4.0.0" 646 | }, 647 | "bin": { 648 | "loose-envify": "cli.js" 649 | } 650 | }, 651 | "node_modules/merge-stream": { 652 | "version": "2.0.0", 653 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 654 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 655 | "dev": true, 656 | "peer": true 657 | }, 658 | "node_modules/mime-db": { 659 | "version": "1.52.0", 660 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 661 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 662 | "dev": true, 663 | "peer": true, 664 | "engines": { 665 | "node": ">= 0.6" 666 | } 667 | }, 668 | "node_modules/mime-types": { 669 | "version": "2.1.35", 670 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 671 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 672 | "dev": true, 673 | "peer": true, 674 | "dependencies": { 675 | "mime-db": "1.52.0" 676 | }, 677 | "engines": { 678 | "node": ">= 0.6" 679 | } 680 | }, 681 | "node_modules/neo-async": { 682 | "version": "2.6.2", 683 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", 684 | "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", 685 | "dev": true 686 | }, 687 | "node_modules/node-releases": { 688 | "version": "2.0.13", 689 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", 690 | "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", 691 | "dev": true, 692 | "peer": true 693 | }, 694 | "node_modules/picocolors": { 695 | "version": "1.0.0", 696 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 697 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 698 | "dev": true, 699 | "peer": true 700 | }, 701 | "node_modules/prettier": { 702 | "version": "3.0.3", 703 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", 704 | "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", 705 | "dev": true, 706 | "bin": { 707 | "prettier": "bin/prettier.cjs" 708 | }, 709 | "engines": { 710 | "node": ">=14" 711 | }, 712 | "funding": { 713 | "url": "https://github.com/prettier/prettier?sponsor=1" 714 | } 715 | }, 716 | "node_modules/punycode": { 717 | "version": "2.3.0", 718 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", 719 | "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", 720 | "dev": true, 721 | "peer": true, 722 | "engines": { 723 | "node": ">=6" 724 | } 725 | }, 726 | "node_modules/randombytes": { 727 | "version": "2.1.0", 728 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 729 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 730 | "dev": true, 731 | "peer": true, 732 | "dependencies": { 733 | "safe-buffer": "^5.1.0" 734 | } 735 | }, 736 | "node_modules/react": { 737 | "version": "18.3.0-next-fecc288b7-20221025", 738 | "resolved": "https://registry.npmjs.org/react/-/react-18.3.0-next-fecc288b7-20221025.tgz", 739 | "integrity": "sha512-lKvCNWRO9XPy8q7hLd0ODK/4Oqr54r3Vr49Y7EyNBz/kfsmNT6Vx0F69KRz/eGcbt1XDvtbA7KZd+mh8w3wONQ==", 740 | "dev": true, 741 | "dependencies": { 742 | "loose-envify": "^1.1.0" 743 | }, 744 | "engines": { 745 | "node": ">=0.10.0" 746 | } 747 | }, 748 | "node_modules/react-dom": { 749 | "version": "18.3.0-next-fecc288b7-20221025", 750 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.0-next-fecc288b7-20221025.tgz", 751 | "integrity": "sha512-EczZNIcOXzLFyPhSXpplVFekfUvbtHRC68TVAPfCopn8YxjMg2ROVgYs1VdSnEu2JlXKvpeIbjexAuhDprsp/A==", 752 | "dev": true, 753 | "dependencies": { 754 | "loose-envify": "^1.1.0", 755 | "scheduler": "0.24.0-next-fecc288b7-20221025" 756 | }, 757 | "peerDependencies": { 758 | "react": "18.3.0-next-fecc288b7-20221025" 759 | } 760 | }, 761 | "node_modules/react-server-dom-webpack": { 762 | "version": "18.3.0-next-fecc288b7-20221025", 763 | "resolved": "https://registry.npmjs.org/react-server-dom-webpack/-/react-server-dom-webpack-18.3.0-next-fecc288b7-20221025.tgz", 764 | "integrity": "sha512-7KdRDi/vm9iCs0eZqae+vSTHGKsKcbRtG0SCRrlHx+CDI+xxyscFFITo6PY/w9W79Eh4FnuPe52F1FiIaiprGg==", 765 | "dev": true, 766 | "dependencies": { 767 | "acorn": "^6.2.1", 768 | "loose-envify": "^1.1.0", 769 | "neo-async": "^2.6.1" 770 | }, 771 | "engines": { 772 | "node": ">=0.10.0" 773 | }, 774 | "peerDependencies": { 775 | "react": "18.3.0-next-fecc288b7-20221025", 776 | "react-dom": "18.3.0-next-fecc288b7-20221025", 777 | "webpack": "^5.59.0" 778 | } 779 | }, 780 | "node_modules/safe-buffer": { 781 | "version": "5.2.1", 782 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 783 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 784 | "dev": true, 785 | "funding": [ 786 | { 787 | "type": "github", 788 | "url": "https://github.com/sponsors/feross" 789 | }, 790 | { 791 | "type": "patreon", 792 | "url": "https://www.patreon.com/feross" 793 | }, 794 | { 795 | "type": "consulting", 796 | "url": "https://feross.org/support" 797 | } 798 | ], 799 | "peer": true 800 | }, 801 | "node_modules/scheduler": { 802 | "version": "0.24.0-next-fecc288b7-20221025", 803 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-next-fecc288b7-20221025.tgz", 804 | "integrity": "sha512-D2r7z/2EbRXXz4k8XRQab2l71zARIwmZzLLGPAM936/dW1iF835+FMwnOe4Iep96vNJAdQavqJBP4Fm+/MadsQ==", 805 | "dev": true, 806 | "dependencies": { 807 | "loose-envify": "^1.1.0" 808 | } 809 | }, 810 | "node_modules/schema-utils": { 811 | "version": "3.3.0", 812 | "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", 813 | "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", 814 | "dev": true, 815 | "peer": true, 816 | "dependencies": { 817 | "@types/json-schema": "^7.0.8", 818 | "ajv": "^6.12.5", 819 | "ajv-keywords": "^3.5.2" 820 | }, 821 | "engines": { 822 | "node": ">= 10.13.0" 823 | }, 824 | "funding": { 825 | "type": "opencollective", 826 | "url": "https://opencollective.com/webpack" 827 | } 828 | }, 829 | "node_modules/serialize-javascript": { 830 | "version": "6.0.1", 831 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", 832 | "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", 833 | "dev": true, 834 | "peer": true, 835 | "dependencies": { 836 | "randombytes": "^2.1.0" 837 | } 838 | }, 839 | "node_modules/source-map": { 840 | "version": "0.6.1", 841 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 842 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 843 | "dev": true, 844 | "peer": true, 845 | "engines": { 846 | "node": ">=0.10.0" 847 | } 848 | }, 849 | "node_modules/source-map-support": { 850 | "version": "0.5.21", 851 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 852 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 853 | "dev": true, 854 | "peer": true, 855 | "dependencies": { 856 | "buffer-from": "^1.0.0", 857 | "source-map": "^0.6.0" 858 | } 859 | }, 860 | "node_modules/supports-color": { 861 | "version": "8.1.1", 862 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 863 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 864 | "dev": true, 865 | "peer": true, 866 | "dependencies": { 867 | "has-flag": "^4.0.0" 868 | }, 869 | "engines": { 870 | "node": ">=10" 871 | }, 872 | "funding": { 873 | "url": "https://github.com/chalk/supports-color?sponsor=1" 874 | } 875 | }, 876 | "node_modules/tapable": { 877 | "version": "2.2.1", 878 | "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", 879 | "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", 880 | "dev": true, 881 | "peer": true, 882 | "engines": { 883 | "node": ">=6" 884 | } 885 | }, 886 | "node_modules/terser": { 887 | "version": "5.22.0", 888 | "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", 889 | "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", 890 | "dev": true, 891 | "peer": true, 892 | "dependencies": { 893 | "@jridgewell/source-map": "^0.3.3", 894 | "acorn": "^8.8.2", 895 | "commander": "^2.20.0", 896 | "source-map-support": "~0.5.20" 897 | }, 898 | "bin": { 899 | "terser": "bin/terser" 900 | }, 901 | "engines": { 902 | "node": ">=10" 903 | } 904 | }, 905 | "node_modules/terser-webpack-plugin": { 906 | "version": "5.3.9", 907 | "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", 908 | "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", 909 | "dev": true, 910 | "peer": true, 911 | "dependencies": { 912 | "@jridgewell/trace-mapping": "^0.3.17", 913 | "jest-worker": "^27.4.5", 914 | "schema-utils": "^3.1.1", 915 | "serialize-javascript": "^6.0.1", 916 | "terser": "^5.16.8" 917 | }, 918 | "engines": { 919 | "node": ">= 10.13.0" 920 | }, 921 | "funding": { 922 | "type": "opencollective", 923 | "url": "https://opencollective.com/webpack" 924 | }, 925 | "peerDependencies": { 926 | "webpack": "^5.1.0" 927 | }, 928 | "peerDependenciesMeta": { 929 | "@swc/core": { 930 | "optional": true 931 | }, 932 | "esbuild": { 933 | "optional": true 934 | }, 935 | "uglify-js": { 936 | "optional": true 937 | } 938 | } 939 | }, 940 | "node_modules/terser/node_modules/acorn": { 941 | "version": "8.11.2", 942 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", 943 | "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", 944 | "dev": true, 945 | "peer": true, 946 | "bin": { 947 | "acorn": "bin/acorn" 948 | }, 949 | "engines": { 950 | "node": ">=0.4.0" 951 | } 952 | }, 953 | "node_modules/typescript": { 954 | "version": "5.2.2", 955 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", 956 | "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", 957 | "dev": true, 958 | "bin": { 959 | "tsc": "bin/tsc", 960 | "tsserver": "bin/tsserver" 961 | }, 962 | "engines": { 963 | "node": ">=14.17" 964 | } 965 | }, 966 | "node_modules/undici-types": { 967 | "version": "5.26.5", 968 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", 969 | "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", 970 | "dev": true, 971 | "peer": true 972 | }, 973 | "node_modules/update-browserslist-db": { 974 | "version": "1.0.13", 975 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", 976 | "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", 977 | "dev": true, 978 | "funding": [ 979 | { 980 | "type": "opencollective", 981 | "url": "https://opencollective.com/browserslist" 982 | }, 983 | { 984 | "type": "tidelift", 985 | "url": "https://tidelift.com/funding/github/npm/browserslist" 986 | }, 987 | { 988 | "type": "github", 989 | "url": "https://github.com/sponsors/ai" 990 | } 991 | ], 992 | "peer": true, 993 | "dependencies": { 994 | "escalade": "^3.1.1", 995 | "picocolors": "^1.0.0" 996 | }, 997 | "bin": { 998 | "update-browserslist-db": "cli.js" 999 | }, 1000 | "peerDependencies": { 1001 | "browserslist": ">= 4.21.0" 1002 | } 1003 | }, 1004 | "node_modules/uri-js": { 1005 | "version": "4.4.1", 1006 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 1007 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 1008 | "dev": true, 1009 | "peer": true, 1010 | "dependencies": { 1011 | "punycode": "^2.1.0" 1012 | } 1013 | }, 1014 | "node_modules/watchpack": { 1015 | "version": "2.4.0", 1016 | "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", 1017 | "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", 1018 | "dev": true, 1019 | "peer": true, 1020 | "dependencies": { 1021 | "glob-to-regexp": "^0.4.1", 1022 | "graceful-fs": "^4.1.2" 1023 | }, 1024 | "engines": { 1025 | "node": ">=10.13.0" 1026 | } 1027 | }, 1028 | "node_modules/webpack": { 1029 | "version": "5.89.0", 1030 | "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", 1031 | "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", 1032 | "dev": true, 1033 | "peer": true, 1034 | "dependencies": { 1035 | "@types/eslint-scope": "^3.7.3", 1036 | "@types/estree": "^1.0.0", 1037 | "@webassemblyjs/ast": "^1.11.5", 1038 | "@webassemblyjs/wasm-edit": "^1.11.5", 1039 | "@webassemblyjs/wasm-parser": "^1.11.5", 1040 | "acorn": "^8.7.1", 1041 | "acorn-import-assertions": "^1.9.0", 1042 | "browserslist": "^4.14.5", 1043 | "chrome-trace-event": "^1.0.2", 1044 | "enhanced-resolve": "^5.15.0", 1045 | "es-module-lexer": "^1.2.1", 1046 | "eslint-scope": "5.1.1", 1047 | "events": "^3.2.0", 1048 | "glob-to-regexp": "^0.4.1", 1049 | "graceful-fs": "^4.2.9", 1050 | "json-parse-even-better-errors": "^2.3.1", 1051 | "loader-runner": "^4.2.0", 1052 | "mime-types": "^2.1.27", 1053 | "neo-async": "^2.6.2", 1054 | "schema-utils": "^3.2.0", 1055 | "tapable": "^2.1.1", 1056 | "terser-webpack-plugin": "^5.3.7", 1057 | "watchpack": "^2.4.0", 1058 | "webpack-sources": "^3.2.3" 1059 | }, 1060 | "bin": { 1061 | "webpack": "bin/webpack.js" 1062 | }, 1063 | "engines": { 1064 | "node": ">=10.13.0" 1065 | }, 1066 | "funding": { 1067 | "type": "opencollective", 1068 | "url": "https://opencollective.com/webpack" 1069 | }, 1070 | "peerDependenciesMeta": { 1071 | "webpack-cli": { 1072 | "optional": true 1073 | } 1074 | } 1075 | }, 1076 | "node_modules/webpack-sources": { 1077 | "version": "3.2.3", 1078 | "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", 1079 | "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", 1080 | "dev": true, 1081 | "peer": true, 1082 | "engines": { 1083 | "node": ">=10.13.0" 1084 | } 1085 | }, 1086 | "node_modules/webpack/node_modules/acorn": { 1087 | "version": "8.11.2", 1088 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", 1089 | "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", 1090 | "dev": true, 1091 | "peer": true, 1092 | "bin": { 1093 | "acorn": "bin/acorn" 1094 | }, 1095 | "engines": { 1096 | "node": ">=0.4.0" 1097 | } 1098 | }, 1099 | "node_modules/webpack/node_modules/acorn-import-assertions": { 1100 | "version": "1.9.0", 1101 | "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", 1102 | "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", 1103 | "dev": true, 1104 | "peer": true, 1105 | "peerDependencies": { 1106 | "acorn": "^8" 1107 | } 1108 | } 1109 | } 1110 | } 1111 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rsc-without-nextjs", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "type": "module", 7 | "scripts": { 8 | "build": "tsc", 9 | "start": "node --conditions react-server dist/index.js", 10 | "test": "echo \"Error: no test specified\" && exit 1" 11 | }, 12 | "author": "uhyo ", 13 | "license": "MIT", 14 | "devDependencies": { 15 | "@types/react": "^18.2.33", 16 | "@types/react-dom": "^18.2.14", 17 | "prettier": "^3.0.3", 18 | "react": "^18.3.0-canary-8039e6d0b-20231026", 19 | "react-dom": "^18.3.0-canary-8039e6d0b-20231026", 20 | "react-server-dom-webpack": "^18.3.0-canary-8039e6d0b-20231026", 21 | "typescript": "^5.2.2" 22 | } 23 | } -------------------------------------------------------------------------------- /src/app/App.tsx: -------------------------------------------------------------------------------- 1 | export const App: React.FC = () => { 2 | return ( 3 |
4 |

React Server Components example

5 |

Hello, world!

6 |
7 | ); 8 | }; 9 | -------------------------------------------------------------------------------- /src/index.tsx: -------------------------------------------------------------------------------- 1 | // @ts-expect-error 2 | import rsdws from "react-server-dom-webpack/server"; 3 | const { renderToPipeableStream } = rsdws; 4 | 5 | import { App } from "./app/App.js"; 6 | 7 | renderToPipeableStream().pipe(process.stdout); 8 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig to read more about this file */ 4 | 5 | /* Projects */ 6 | // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ 7 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ 8 | // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ 9 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ 10 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ 11 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ 12 | 13 | /* Language and Environment */ 14 | "target": "esnext" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, 15 | // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ 16 | "jsx": "react-jsx" /* Specify what JSX code is generated. */, 17 | // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ 18 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ 19 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ 20 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ 21 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ 22 | // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ 23 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ 24 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ 25 | // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ 26 | 27 | /* Modules */ 28 | "module": "node16" /* Specify what module code is generated. */, 29 | // "rootDir": "./", /* Specify the root folder within your source files. */ 30 | // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ 31 | // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ 32 | // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ 33 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ 34 | // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ 35 | // "types": [], /* Specify type package names to be included without being referenced in a source file. */ 36 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 37 | // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ 38 | // "resolveJsonModule": true, /* Enable importing .json files. */ 39 | // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ 40 | 41 | /* JavaScript Support */ 42 | // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ 43 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ 44 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ 45 | 46 | /* Emit */ 47 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ 48 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */ 49 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ 50 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ 51 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ 52 | "outDir": "./dist" /* Specify an output folder for all emitted files. */, 53 | // "removeComments": true, /* Disable emitting comments. */ 54 | // "noEmit": true, /* Disable emitting files from a compilation. */ 55 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ 56 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ 57 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ 58 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ 59 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 60 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ 61 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ 62 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ 63 | // "newLine": "crlf", /* Set the newline character for emitting files. */ 64 | // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ 65 | // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ 66 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ 67 | // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ 68 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ 69 | // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ 70 | 71 | /* Interop Constraints */ 72 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ 73 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ 74 | "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */, 75 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ 76 | "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, 77 | 78 | /* Type Checking */ 79 | "strict": true /* Enable all strict type-checking options. */, 80 | // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ 81 | // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ 82 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ 83 | // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ 84 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ 85 | // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ 86 | // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ 87 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ 88 | // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ 89 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ 90 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ 91 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ 92 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ 93 | // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ 94 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ 95 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ 96 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ 97 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ 98 | 99 | /* Completeness */ 100 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 101 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 102 | }, 103 | "include": ["src"] 104 | } 105 | --------------------------------------------------------------------------------