├── .gitignore ├── blog.html ├── hello.txt ├── img.png ├── index.html ├── other └── contact.html ├── package-lock.json ├── package.json ├── person.json ├── public ├── robbot.txt └── sample.png ├── sample.sass ├── say-goodbye.ts ├── say-hello.js ├── style.css ├── tsconfig.json └── vite.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | node_modules 3 | dist 4 | production 5 | -------------------------------------------------------------------------------- /blog.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | Blog 9 | 10 | 11 |

Blog

12 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /hello.txt: -------------------------------------------------------------------------------- 1 | Hello, this is text file 2 | -------------------------------------------------------------------------------- /img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/belajar-vite/722ccb8ad0712b802155de2c2625dcadfe0364e7/img.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | Hello Vite 9 | 13 | 14 | 15 |

Hello Vite

16 |

Support SASS

17 | Vite 18 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /other/contact.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | Contact 9 | 10 | 11 |

Contact

12 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "belajar-vite", 3 | "version": "1.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "belajar-vite", 9 | "version": "1.0.0", 10 | "license": "ISC", 11 | "dependencies": { 12 | "uuid": "^9.0.0" 13 | }, 14 | "devDependencies": { 15 | "sass": "^1.64.0", 16 | "typescript": "^5.1.6", 17 | "vite": "^4.4.6" 18 | } 19 | }, 20 | "node_modules/@esbuild/android-arm": { 21 | "version": "0.18.15", 22 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.15.tgz", 23 | "integrity": "sha512-wlkQBWb79/jeEEoRmrxt/yhn5T1lU236OCNpnfRzaCJHZ/5gf82uYx1qmADTBWE0AR/v7FiozE1auk2riyQd3w==", 24 | "cpu": [ 25 | "arm" 26 | ], 27 | "dev": true, 28 | "optional": true, 29 | "os": [ 30 | "android" 31 | ], 32 | "engines": { 33 | "node": ">=12" 34 | } 35 | }, 36 | "node_modules/@esbuild/android-arm64": { 37 | "version": "0.18.15", 38 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.15.tgz", 39 | "integrity": "sha512-NI/gnWcMl2kXt1HJKOn2H69SYn4YNheKo6NZt1hyfKWdMbaGadxjZIkcj4Gjk/WPxnbFXs9/3HjGHaknCqjrww==", 40 | "cpu": [ 41 | "arm64" 42 | ], 43 | "dev": true, 44 | "optional": true, 45 | "os": [ 46 | "android" 47 | ], 48 | "engines": { 49 | "node": ">=12" 50 | } 51 | }, 52 | "node_modules/@esbuild/android-x64": { 53 | "version": "0.18.15", 54 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.15.tgz", 55 | "integrity": "sha512-FM9NQamSaEm/IZIhegF76aiLnng1kEsZl2eve/emxDeReVfRuRNmvT28l6hoFD9TsCxpK+i4v8LPpEj74T7yjA==", 56 | "cpu": [ 57 | "x64" 58 | ], 59 | "dev": true, 60 | "optional": true, 61 | "os": [ 62 | "android" 63 | ], 64 | "engines": { 65 | "node": ">=12" 66 | } 67 | }, 68 | "node_modules/@esbuild/darwin-arm64": { 69 | "version": "0.18.15", 70 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.15.tgz", 71 | "integrity": "sha512-XmrFwEOYauKte9QjS6hz60FpOCnw4zaPAb7XV7O4lx1r39XjJhTN7ZpXqJh4sN6q60zbP6QwAVVA8N/wUyBH/w==", 72 | "cpu": [ 73 | "arm64" 74 | ], 75 | "dev": true, 76 | "optional": true, 77 | "os": [ 78 | "darwin" 79 | ], 80 | "engines": { 81 | "node": ">=12" 82 | } 83 | }, 84 | "node_modules/@esbuild/darwin-x64": { 85 | "version": "0.18.15", 86 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.15.tgz", 87 | "integrity": "sha512-bMqBmpw1e//7Fh5GLetSZaeo9zSC4/CMtrVFdj+bqKPGJuKyfNJ5Nf2m3LknKZTS+Q4oyPiON+v3eaJ59sLB5A==", 88 | "cpu": [ 89 | "x64" 90 | ], 91 | "dev": true, 92 | "optional": true, 93 | "os": [ 94 | "darwin" 95 | ], 96 | "engines": { 97 | "node": ">=12" 98 | } 99 | }, 100 | "node_modules/@esbuild/freebsd-arm64": { 101 | "version": "0.18.15", 102 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.15.tgz", 103 | "integrity": "sha512-LoTK5N3bOmNI9zVLCeTgnk5Rk0WdUTrr9dyDAQGVMrNTh9EAPuNwSTCgaKOKiDpverOa0htPcO9NwslSE5xuLA==", 104 | "cpu": [ 105 | "arm64" 106 | ], 107 | "dev": true, 108 | "optional": true, 109 | "os": [ 110 | "freebsd" 111 | ], 112 | "engines": { 113 | "node": ">=12" 114 | } 115 | }, 116 | "node_modules/@esbuild/freebsd-x64": { 117 | "version": "0.18.15", 118 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.15.tgz", 119 | "integrity": "sha512-62jX5n30VzgrjAjOk5orYeHFq6sqjvsIj1QesXvn5OZtdt5Gdj0vUNJy9NIpjfdNdqr76jjtzBJKf+h2uzYuTQ==", 120 | "cpu": [ 121 | "x64" 122 | ], 123 | "dev": true, 124 | "optional": true, 125 | "os": [ 126 | "freebsd" 127 | ], 128 | "engines": { 129 | "node": ">=12" 130 | } 131 | }, 132 | "node_modules/@esbuild/linux-arm": { 133 | "version": "0.18.15", 134 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.15.tgz", 135 | "integrity": "sha512-dT4URUv6ir45ZkBqhwZwyFV6cH61k8MttIwhThp2BGiVtagYvCToF+Bggyx2VI57RG4Fbt21f9TmXaYx0DeUJg==", 136 | "cpu": [ 137 | "arm" 138 | ], 139 | "dev": true, 140 | "optional": true, 141 | "os": [ 142 | "linux" 143 | ], 144 | "engines": { 145 | "node": ">=12" 146 | } 147 | }, 148 | "node_modules/@esbuild/linux-arm64": { 149 | "version": "0.18.15", 150 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.15.tgz", 151 | "integrity": "sha512-BWncQeuWDgYv0jTNzJjaNgleduV4tMbQjmk/zpPh/lUdMcNEAxy+jvneDJ6RJkrqloG7tB9S9rCrtfk/kuplsQ==", 152 | "cpu": [ 153 | "arm64" 154 | ], 155 | "dev": true, 156 | "optional": true, 157 | "os": [ 158 | "linux" 159 | ], 160 | "engines": { 161 | "node": ">=12" 162 | } 163 | }, 164 | "node_modules/@esbuild/linux-ia32": { 165 | "version": "0.18.15", 166 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.15.tgz", 167 | "integrity": "sha512-JPXORvgHRHITqfms1dWT/GbEY89u848dC08o0yK3fNskhp0t2TuNUnsrrSgOdH28ceb1hJuwyr8R/1RnyPwocw==", 168 | "cpu": [ 169 | "ia32" 170 | ], 171 | "dev": true, 172 | "optional": true, 173 | "os": [ 174 | "linux" 175 | ], 176 | "engines": { 177 | "node": ">=12" 178 | } 179 | }, 180 | "node_modules/@esbuild/linux-loong64": { 181 | "version": "0.18.15", 182 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.15.tgz", 183 | "integrity": "sha512-kArPI0DopjJCEplsVj/H+2Qgzz7vdFSacHNsgoAKpPS6W/Ndh8Oe24HRDQ5QCu4jHgN6XOtfFfLpRx3TXv/mEg==", 184 | "cpu": [ 185 | "loong64" 186 | ], 187 | "dev": true, 188 | "optional": true, 189 | "os": [ 190 | "linux" 191 | ], 192 | "engines": { 193 | "node": ">=12" 194 | } 195 | }, 196 | "node_modules/@esbuild/linux-mips64el": { 197 | "version": "0.18.15", 198 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.15.tgz", 199 | "integrity": "sha512-b/tmngUfO02E00c1XnNTw/0DmloKjb6XQeqxaYuzGwHe0fHVgx5/D6CWi+XH1DvkszjBUkK9BX7n1ARTOst59w==", 200 | "cpu": [ 201 | "mips64el" 202 | ], 203 | "dev": true, 204 | "optional": true, 205 | "os": [ 206 | "linux" 207 | ], 208 | "engines": { 209 | "node": ">=12" 210 | } 211 | }, 212 | "node_modules/@esbuild/linux-ppc64": { 213 | "version": "0.18.15", 214 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.15.tgz", 215 | "integrity": "sha512-KXPY69MWw79QJkyvUYb2ex/OgnN/8N/Aw5UDPlgoRtoEfcBqfeLodPr42UojV3NdkoO4u10NXQdamWm1YEzSKw==", 216 | "cpu": [ 217 | "ppc64" 218 | ], 219 | "dev": true, 220 | "optional": true, 221 | "os": [ 222 | "linux" 223 | ], 224 | "engines": { 225 | "node": ">=12" 226 | } 227 | }, 228 | "node_modules/@esbuild/linux-riscv64": { 229 | "version": "0.18.15", 230 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.15.tgz", 231 | "integrity": "sha512-komK3NEAeeGRnvFEjX1SfVg6EmkfIi5aKzevdvJqMydYr9N+pRQK0PGJXk+bhoPZwOUgLO4l99FZmLGk/L1jWg==", 232 | "cpu": [ 233 | "riscv64" 234 | ], 235 | "dev": true, 236 | "optional": true, 237 | "os": [ 238 | "linux" 239 | ], 240 | "engines": { 241 | "node": ">=12" 242 | } 243 | }, 244 | "node_modules/@esbuild/linux-s390x": { 245 | "version": "0.18.15", 246 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.15.tgz", 247 | "integrity": "sha512-632T5Ts6gQ2WiMLWRRyeflPAm44u2E/s/TJvn+BP6M5mnHSk93cieaypj3VSMYO2ePTCRqAFXtuYi1yv8uZJNA==", 248 | "cpu": [ 249 | "s390x" 250 | ], 251 | "dev": true, 252 | "optional": true, 253 | "os": [ 254 | "linux" 255 | ], 256 | "engines": { 257 | "node": ">=12" 258 | } 259 | }, 260 | "node_modules/@esbuild/linux-x64": { 261 | "version": "0.18.15", 262 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.15.tgz", 263 | "integrity": "sha512-MsHtX0NgvRHsoOtYkuxyk4Vkmvk3PLRWfA4okK7c+6dT0Fu4SUqXAr9y4Q3d8vUf1VWWb6YutpL4XNe400iQ1g==", 264 | "cpu": [ 265 | "x64" 266 | ], 267 | "dev": true, 268 | "optional": true, 269 | "os": [ 270 | "linux" 271 | ], 272 | "engines": { 273 | "node": ">=12" 274 | } 275 | }, 276 | "node_modules/@esbuild/netbsd-x64": { 277 | "version": "0.18.15", 278 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.15.tgz", 279 | "integrity": "sha512-djST6s+jQiwxMIVQ5rlt24JFIAr4uwUnzceuFL7BQT4CbrRtqBPueS4GjXSiIpmwVri1Icj/9pFRJ7/aScvT+A==", 280 | "cpu": [ 281 | "x64" 282 | ], 283 | "dev": true, 284 | "optional": true, 285 | "os": [ 286 | "netbsd" 287 | ], 288 | "engines": { 289 | "node": ">=12" 290 | } 291 | }, 292 | "node_modules/@esbuild/openbsd-x64": { 293 | "version": "0.18.15", 294 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.15.tgz", 295 | "integrity": "sha512-naeRhUIvhsgeounjkF5mvrNAVMGAm6EJWiabskeE5yOeBbLp7T89tAEw0j5Jm/CZAwyLe3c67zyCWH6fsBLCpw==", 296 | "cpu": [ 297 | "x64" 298 | ], 299 | "dev": true, 300 | "optional": true, 301 | "os": [ 302 | "openbsd" 303 | ], 304 | "engines": { 305 | "node": ">=12" 306 | } 307 | }, 308 | "node_modules/@esbuild/sunos-x64": { 309 | "version": "0.18.15", 310 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.15.tgz", 311 | "integrity": "sha512-qkT2+WxyKbNIKV1AEhI8QiSIgTHMcRctzSaa/I3kVgMS5dl3fOeoqkb7pW76KwxHoriImhx7Mg3TwN/auMDsyQ==", 312 | "cpu": [ 313 | "x64" 314 | ], 315 | "dev": true, 316 | "optional": true, 317 | "os": [ 318 | "sunos" 319 | ], 320 | "engines": { 321 | "node": ">=12" 322 | } 323 | }, 324 | "node_modules/@esbuild/win32-arm64": { 325 | "version": "0.18.15", 326 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.15.tgz", 327 | "integrity": "sha512-HC4/feP+pB2Vb+cMPUjAnFyERs+HJN7E6KaeBlFdBv799MhD+aPJlfi/yk36SED58J9TPwI8MAcVpJgej4ud0A==", 328 | "cpu": [ 329 | "arm64" 330 | ], 331 | "dev": true, 332 | "optional": true, 333 | "os": [ 334 | "win32" 335 | ], 336 | "engines": { 337 | "node": ">=12" 338 | } 339 | }, 340 | "node_modules/@esbuild/win32-ia32": { 341 | "version": "0.18.15", 342 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.15.tgz", 343 | "integrity": "sha512-ovjwoRXI+gf52EVF60u9sSDj7myPixPxqzD5CmkEUmvs+W9Xd0iqISVBQn8xcx4ciIaIVlWCuTbYDOXOnOL44Q==", 344 | "cpu": [ 345 | "ia32" 346 | ], 347 | "dev": true, 348 | "optional": true, 349 | "os": [ 350 | "win32" 351 | ], 352 | "engines": { 353 | "node": ">=12" 354 | } 355 | }, 356 | "node_modules/@esbuild/win32-x64": { 357 | "version": "0.18.15", 358 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.15.tgz", 359 | "integrity": "sha512-imUxH9a3WJARyAvrG7srLyiK73XdX83NXQkjKvQ+7vPh3ZxoLrzvPkQKKw2DwZ+RV2ZB6vBfNHP8XScAmQC3aA==", 360 | "cpu": [ 361 | "x64" 362 | ], 363 | "dev": true, 364 | "optional": true, 365 | "os": [ 366 | "win32" 367 | ], 368 | "engines": { 369 | "node": ">=12" 370 | } 371 | }, 372 | "node_modules/anymatch": { 373 | "version": "3.1.3", 374 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 375 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 376 | "dev": true, 377 | "dependencies": { 378 | "normalize-path": "^3.0.0", 379 | "picomatch": "^2.0.4" 380 | }, 381 | "engines": { 382 | "node": ">= 8" 383 | } 384 | }, 385 | "node_modules/binary-extensions": { 386 | "version": "2.2.0", 387 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 388 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 389 | "dev": true, 390 | "engines": { 391 | "node": ">=8" 392 | } 393 | }, 394 | "node_modules/braces": { 395 | "version": "3.0.2", 396 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 397 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 398 | "dev": true, 399 | "dependencies": { 400 | "fill-range": "^7.0.1" 401 | }, 402 | "engines": { 403 | "node": ">=8" 404 | } 405 | }, 406 | "node_modules/chokidar": { 407 | "version": "3.5.3", 408 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 409 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 410 | "dev": true, 411 | "funding": [ 412 | { 413 | "type": "individual", 414 | "url": "https://paulmillr.com/funding/" 415 | } 416 | ], 417 | "dependencies": { 418 | "anymatch": "~3.1.2", 419 | "braces": "~3.0.2", 420 | "glob-parent": "~5.1.2", 421 | "is-binary-path": "~2.1.0", 422 | "is-glob": "~4.0.1", 423 | "normalize-path": "~3.0.0", 424 | "readdirp": "~3.6.0" 425 | }, 426 | "engines": { 427 | "node": ">= 8.10.0" 428 | }, 429 | "optionalDependencies": { 430 | "fsevents": "~2.3.2" 431 | } 432 | }, 433 | "node_modules/esbuild": { 434 | "version": "0.18.15", 435 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.15.tgz", 436 | "integrity": "sha512-3WOOLhrvuTGPRzQPU6waSDWrDTnQriia72McWcn6UCi43GhCHrXH4S59hKMeez+IITmdUuUyvbU9JIp+t3xlPQ==", 437 | "dev": true, 438 | "hasInstallScript": true, 439 | "bin": { 440 | "esbuild": "bin/esbuild" 441 | }, 442 | "engines": { 443 | "node": ">=12" 444 | }, 445 | "optionalDependencies": { 446 | "@esbuild/android-arm": "0.18.15", 447 | "@esbuild/android-arm64": "0.18.15", 448 | "@esbuild/android-x64": "0.18.15", 449 | "@esbuild/darwin-arm64": "0.18.15", 450 | "@esbuild/darwin-x64": "0.18.15", 451 | "@esbuild/freebsd-arm64": "0.18.15", 452 | "@esbuild/freebsd-x64": "0.18.15", 453 | "@esbuild/linux-arm": "0.18.15", 454 | "@esbuild/linux-arm64": "0.18.15", 455 | "@esbuild/linux-ia32": "0.18.15", 456 | "@esbuild/linux-loong64": "0.18.15", 457 | "@esbuild/linux-mips64el": "0.18.15", 458 | "@esbuild/linux-ppc64": "0.18.15", 459 | "@esbuild/linux-riscv64": "0.18.15", 460 | "@esbuild/linux-s390x": "0.18.15", 461 | "@esbuild/linux-x64": "0.18.15", 462 | "@esbuild/netbsd-x64": "0.18.15", 463 | "@esbuild/openbsd-x64": "0.18.15", 464 | "@esbuild/sunos-x64": "0.18.15", 465 | "@esbuild/win32-arm64": "0.18.15", 466 | "@esbuild/win32-ia32": "0.18.15", 467 | "@esbuild/win32-x64": "0.18.15" 468 | } 469 | }, 470 | "node_modules/fill-range": { 471 | "version": "7.0.1", 472 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 473 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 474 | "dev": true, 475 | "dependencies": { 476 | "to-regex-range": "^5.0.1" 477 | }, 478 | "engines": { 479 | "node": ">=8" 480 | } 481 | }, 482 | "node_modules/fsevents": { 483 | "version": "2.3.2", 484 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 485 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 486 | "dev": true, 487 | "hasInstallScript": true, 488 | "optional": true, 489 | "os": [ 490 | "darwin" 491 | ], 492 | "engines": { 493 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 494 | } 495 | }, 496 | "node_modules/glob-parent": { 497 | "version": "5.1.2", 498 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 499 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 500 | "dev": true, 501 | "dependencies": { 502 | "is-glob": "^4.0.1" 503 | }, 504 | "engines": { 505 | "node": ">= 6" 506 | } 507 | }, 508 | "node_modules/immutable": { 509 | "version": "4.3.1", 510 | "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.1.tgz", 511 | "integrity": "sha512-lj9cnmB/kVS0QHsJnYKD1uo3o39nrbKxszjnqS9Fr6NB7bZzW45U6WSGBPKXDL/CvDKqDNPA4r3DoDQ8GTxo2A==", 512 | "dev": true 513 | }, 514 | "node_modules/is-binary-path": { 515 | "version": "2.1.0", 516 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 517 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 518 | "dev": true, 519 | "dependencies": { 520 | "binary-extensions": "^2.0.0" 521 | }, 522 | "engines": { 523 | "node": ">=8" 524 | } 525 | }, 526 | "node_modules/is-extglob": { 527 | "version": "2.1.1", 528 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 529 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 530 | "dev": true, 531 | "engines": { 532 | "node": ">=0.10.0" 533 | } 534 | }, 535 | "node_modules/is-glob": { 536 | "version": "4.0.3", 537 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 538 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 539 | "dev": true, 540 | "dependencies": { 541 | "is-extglob": "^2.1.1" 542 | }, 543 | "engines": { 544 | "node": ">=0.10.0" 545 | } 546 | }, 547 | "node_modules/is-number": { 548 | "version": "7.0.0", 549 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 550 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 551 | "dev": true, 552 | "engines": { 553 | "node": ">=0.12.0" 554 | } 555 | }, 556 | "node_modules/nanoid": { 557 | "version": "3.3.6", 558 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 559 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", 560 | "dev": true, 561 | "funding": [ 562 | { 563 | "type": "github", 564 | "url": "https://github.com/sponsors/ai" 565 | } 566 | ], 567 | "bin": { 568 | "nanoid": "bin/nanoid.cjs" 569 | }, 570 | "engines": { 571 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 572 | } 573 | }, 574 | "node_modules/normalize-path": { 575 | "version": "3.0.0", 576 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 577 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 578 | "dev": true, 579 | "engines": { 580 | "node": ">=0.10.0" 581 | } 582 | }, 583 | "node_modules/picocolors": { 584 | "version": "1.0.0", 585 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 586 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 587 | "dev": true 588 | }, 589 | "node_modules/picomatch": { 590 | "version": "2.3.1", 591 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 592 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 593 | "dev": true, 594 | "engines": { 595 | "node": ">=8.6" 596 | }, 597 | "funding": { 598 | "url": "https://github.com/sponsors/jonschlinkert" 599 | } 600 | }, 601 | "node_modules/postcss": { 602 | "version": "8.4.27", 603 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", 604 | "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", 605 | "dev": true, 606 | "funding": [ 607 | { 608 | "type": "opencollective", 609 | "url": "https://opencollective.com/postcss/" 610 | }, 611 | { 612 | "type": "tidelift", 613 | "url": "https://tidelift.com/funding/github/npm/postcss" 614 | }, 615 | { 616 | "type": "github", 617 | "url": "https://github.com/sponsors/ai" 618 | } 619 | ], 620 | "dependencies": { 621 | "nanoid": "^3.3.6", 622 | "picocolors": "^1.0.0", 623 | "source-map-js": "^1.0.2" 624 | }, 625 | "engines": { 626 | "node": "^10 || ^12 || >=14" 627 | } 628 | }, 629 | "node_modules/readdirp": { 630 | "version": "3.6.0", 631 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 632 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 633 | "dev": true, 634 | "dependencies": { 635 | "picomatch": "^2.2.1" 636 | }, 637 | "engines": { 638 | "node": ">=8.10.0" 639 | } 640 | }, 641 | "node_modules/rollup": { 642 | "version": "3.26.3", 643 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.3.tgz", 644 | "integrity": "sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==", 645 | "dev": true, 646 | "bin": { 647 | "rollup": "dist/bin/rollup" 648 | }, 649 | "engines": { 650 | "node": ">=14.18.0", 651 | "npm": ">=8.0.0" 652 | }, 653 | "optionalDependencies": { 654 | "fsevents": "~2.3.2" 655 | } 656 | }, 657 | "node_modules/sass": { 658 | "version": "1.64.0", 659 | "resolved": "https://registry.npmjs.org/sass/-/sass-1.64.0.tgz", 660 | "integrity": "sha512-m7YtAGmQta9uANIUJwXesAJMSncqH+3INc8kdVXs6eV6GUC8Qu2IYKQSN8PRLgiQfpca697G94klm2leYMxSHw==", 661 | "dev": true, 662 | "dependencies": { 663 | "chokidar": ">=3.0.0 <4.0.0", 664 | "immutable": "^4.0.0", 665 | "source-map-js": ">=0.6.2 <2.0.0" 666 | }, 667 | "bin": { 668 | "sass": "sass.js" 669 | }, 670 | "engines": { 671 | "node": ">=14.0.0" 672 | } 673 | }, 674 | "node_modules/source-map-js": { 675 | "version": "1.0.2", 676 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 677 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 678 | "dev": true, 679 | "engines": { 680 | "node": ">=0.10.0" 681 | } 682 | }, 683 | "node_modules/to-regex-range": { 684 | "version": "5.0.1", 685 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 686 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 687 | "dev": true, 688 | "dependencies": { 689 | "is-number": "^7.0.0" 690 | }, 691 | "engines": { 692 | "node": ">=8.0" 693 | } 694 | }, 695 | "node_modules/typescript": { 696 | "version": "5.1.6", 697 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", 698 | "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", 699 | "dev": true, 700 | "bin": { 701 | "tsc": "bin/tsc", 702 | "tsserver": "bin/tsserver" 703 | }, 704 | "engines": { 705 | "node": ">=14.17" 706 | } 707 | }, 708 | "node_modules/uuid": { 709 | "version": "9.0.0", 710 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", 711 | "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", 712 | "bin": { 713 | "uuid": "dist/bin/uuid" 714 | } 715 | }, 716 | "node_modules/vite": { 717 | "version": "4.4.6", 718 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.6.tgz", 719 | "integrity": "sha512-EY6Mm8vJ++S3D4tNAckaZfw3JwG3wa794Vt70M6cNJ6NxT87yhq7EC8Rcap3ahyHdo8AhCmV9PTk+vG1HiYn1A==", 720 | "dev": true, 721 | "dependencies": { 722 | "esbuild": "^0.18.10", 723 | "postcss": "^8.4.26", 724 | "rollup": "^3.25.2" 725 | }, 726 | "bin": { 727 | "vite": "bin/vite.js" 728 | }, 729 | "engines": { 730 | "node": "^14.18.0 || >=16.0.0" 731 | }, 732 | "funding": { 733 | "url": "https://github.com/vitejs/vite?sponsor=1" 734 | }, 735 | "optionalDependencies": { 736 | "fsevents": "~2.3.2" 737 | }, 738 | "peerDependencies": { 739 | "@types/node": ">= 14", 740 | "less": "*", 741 | "lightningcss": "^1.21.0", 742 | "sass": "*", 743 | "stylus": "*", 744 | "sugarss": "*", 745 | "terser": "^5.4.0" 746 | }, 747 | "peerDependenciesMeta": { 748 | "@types/node": { 749 | "optional": true 750 | }, 751 | "less": { 752 | "optional": true 753 | }, 754 | "lightningcss": { 755 | "optional": true 756 | }, 757 | "sass": { 758 | "optional": true 759 | }, 760 | "stylus": { 761 | "optional": true 762 | }, 763 | "sugarss": { 764 | "optional": true 765 | }, 766 | "terser": { 767 | "optional": true 768 | } 769 | } 770 | } 771 | } 772 | } 773 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "belajar-vite", 3 | "version": "1.0.0", 4 | "description": "Belajar Vite", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "Eko Kurniawan Khannedy", 10 | "license": "ISC", 11 | "type": "module", 12 | "devDependencies": { 13 | "sass": "^1.64.0", 14 | "typescript": "^5.1.6", 15 | "vite": "^4.4.6" 16 | }, 17 | "dependencies": { 18 | "uuid": "^9.0.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /person.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "Eko", 3 | "web" : "www.programmerzamannow.com", 4 | "instagram" : "programmerzamannow" 5 | } 6 | -------------------------------------------------------------------------------- /public/robbot.txt: -------------------------------------------------------------------------------- 1 | this is for robbot 2 | -------------------------------------------------------------------------------- /public/sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/belajar-vite/722ccb8ad0712b802155de2c2625dcadfe0364e7/public/sample.png -------------------------------------------------------------------------------- /sample.sass: -------------------------------------------------------------------------------- 1 | h2 2 | color: red 3 | -------------------------------------------------------------------------------- /say-goodbye.ts: -------------------------------------------------------------------------------- 1 | export const sayGoodbye = (name: string): void => { 2 | console.info(`Goodbye ${name}`); 3 | } 4 | -------------------------------------------------------------------------------- /say-hello.js: -------------------------------------------------------------------------------- 1 | export const sayHello = (name) => { 2 | console.info(`Hello ${name}`); 3 | } 4 | -------------------------------------------------------------------------------- /style.css: -------------------------------------------------------------------------------- 1 | h1 { 2 | color: red; 3 | } 4 | -------------------------------------------------------------------------------- /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": "es2016", /* 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": "preserve", /* Specify what JSX code is generated. */ 17 | // "experimentalDecorators": true, /* Enable experimental support for legacy experimental 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": "ES6", /* Specify what module code is generated. */ 29 | // "rootDir": "./", /* Specify the root folder within your source files. */ 30 | // "moduleResolution": "node10", /* 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 | // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ 39 | // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ 40 | // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ 41 | // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ 42 | // "resolveJsonModule": true, /* Enable importing .json files. */ 43 | // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ 44 | // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ 45 | 46 | /* JavaScript Support */ 47 | // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ 48 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ 49 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ 50 | 51 | /* Emit */ 52 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ 53 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */ 54 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ 55 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ 56 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ 57 | // "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. */ 58 | // "outDir": "./", /* Specify an output folder for all emitted files. */ 59 | // "removeComments": true, /* Disable emitting comments. */ 60 | // "noEmit": true, /* Disable emitting files from a compilation. */ 61 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ 62 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ 63 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ 64 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ 65 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 66 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ 67 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ 68 | // "newLine": "crlf", /* Set the newline character for emitting files. */ 69 | // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ 70 | // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ 71 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ 72 | // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ 73 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ 74 | // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ 75 | 76 | /* Interop Constraints */ 77 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ 78 | // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ 79 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ 80 | "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ 81 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ 82 | "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ 83 | 84 | /* Type Checking */ 85 | "strict": true, /* Enable all strict type-checking options. */ 86 | // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ 87 | // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ 88 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ 89 | // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ 90 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ 91 | // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ 92 | // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ 93 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ 94 | // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ 95 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ 96 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ 97 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ 98 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ 99 | // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ 100 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ 101 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ 102 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ 103 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ 104 | 105 | /* Completeness */ 106 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 107 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import {defineConfig} from "vite"; 2 | 3 | export default defineConfig({ 4 | build: { 5 | outDir: 'production', 6 | rollupOptions:{ 7 | input:{ 8 | index: "index.html", 9 | blog: "blog.html", 10 | contact: "other/contact.html" 11 | } 12 | } 13 | }, 14 | server: { 15 | port: 3000 16 | } 17 | }); 18 | --------------------------------------------------------------------------------