Skip to Content
Nextra 4.0 is released πŸŽ‰

🧰 헬퍼 ν•¨μˆ˜

shared/helpers νŒ¨ν‚€μ§€λŠ” μ—¬λŸ¬ νŒ¨ν‚€μ§€μ™€ μ•±μ—μ„œ κ³΅ν†΅μ μœΌλ‘œ μ‚¬μš©ν•  수 μžˆλŠ” λ²”μš© μœ ν‹Έλ¦¬ν‹° ν•¨μˆ˜(헬퍼 ν•¨μˆ˜)듀을 μ œκ³΅ν•©λ‹ˆλ‹€.

🎯 μ£Όμš” λͺ©μ 

  • μ€‘λ³΅λ˜λŠ” λ‘œμ§μ„ ν•œ 곳에 λͺ¨μ•„ μž¬μ‚¬μš©μ„±μ„ 높이고, μ½”λ“œ ν’ˆμ§ˆκ³Ό μœ μ§€λ³΄μˆ˜μ„±μ„ ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€.
  • npm 에 λ°°ν¬ν•˜μ§€λŠ” μ•Šκ³ , monorepo λ‚΄μ—μ„œλ§Œ μ‚¬μš©λ˜λŠ” 헬퍼 ν•¨μˆ˜λ“€μ„ μ œκ³΅ν•©λ‹ˆλ‹€.

πŸ“ μ£Όμš” ꡬ성

  • ν•¨μˆ˜ λͺ¨μŒ:
    λ¬Έμžμ—΄ 처리, λ°°μ—΄/객체 μ‘°μž‘, νƒ€μž… 체크, 경둜 처리 λ“± λ‹€μ–‘ν•œ μƒν™©μ—μ„œ ν™œμš©ν•  수 μžˆλŠ” 헬퍼 ν•¨μˆ˜λ“€μ΄ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
  • νƒ€μž… μ •μ˜:
    TypeScript 기반으둜 νƒ€μž… μ•ˆμ •μ„±μ„ μ œκ³΅ν•©λ‹ˆλ‹€.

πŸ§‘β€πŸ’» ️닀λ₯Έ μ›Œν¬μŠ€νŽ˜μ΄μŠ€μ—μ„œ μ‚¬μš©ν•˜κΈ°

λ‹€λ₯Έ μ›Œν¬μŠ€νŽ˜μ΄μŠ€μ—μ„œ 이 헬퍼 ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ €λ©΄, λ‹€μŒ 단계λ₯Ό λ”°λ₯΄λ©΄ λ©λ‹ˆλ‹€:

βž• μ˜μ‘΄μ„± μΆ”κ°€

ν•΄λ‹Ή νŒ¨ν‚€μ§€λ₯Ό μ˜μ‘΄μ„±μœΌλ‘œ μΆ”κ°€ν•˜κΈ° μœ„ν•΄ package.json νŒŒμΌμ— λ‹€μŒκ³Ό 같이 μž‘μ„±ν•©λ‹ˆλ‹€:

{ "dependencies": { "@repo/helpers": "workspace:*" } }

πŸ§‘β€πŸ’»οΈ μ‚¬μš© μ˜ˆμ‹œ

이제 헬퍼 ν•¨μˆ˜λ₯Ό μž„ν¬νŠΈν•˜μ—¬ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, helpers νŒ¨ν‚€μ§€μ—μ„œ μ œκ³΅ν•˜λŠ” runWithGlob ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” μ˜ˆμ‹œλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

packages/browser-utils/vite.config.ts
/// <reference types="vitest" /> import { defineConfig } from "vite"; import { runWithGlob } from "@repo/helpers/runWithGlob"; import { resolve } from "path"; export default defineConfig({ // ...existing code... build: { // ...existing code... lib: { entry: Object.fromEntries( runWithGlob( "src/**/*.{ts,tsx}", (file) => [ // μ—”νŠΈλ¦¬ 이름 file.replace(/^src\//, "").replace(/index\.(ts|tsx)$/, ""), // μ ˆλŒ€ 경둜 resolve(__dirname, file), ], ["src/**/*.{d,spec}.ts"], ), ), // ...existing code... }, }, // ...existing code... });

πŸ“Œ μ°Έκ³ 

  • μ‹€μ œ ν•¨μˆ˜ λͺ©λ‘κ³Ό μ‚¬μš©λ²•μ€ shared/helpers νŒ¨ν‚€μ§€μ˜ μ†ŒμŠ€μ™€ READMEλ₯Ό μ°Έκ³ ν•˜μ„Έμš”.
  • κ³΅ν†΅μ μœΌλ‘œ ν•„μš”ν•œ 둜직이 μžˆλ‹€λ©΄ 이 νŒ¨ν‚€μ§€μ— μΆ”κ°€ν•˜μ—¬ μ—¬λŸ¬ κ³³μ—μ„œ μž¬μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Last updated on