Giter Club home page Giter Club logo

mono-berry's Introduction

mono-berry ๐Ÿ“

yarn berry ๋ฅผ ์ด์šฉํ•ด์„œ monorepo ๋ฅผ ๊ตฌ์„ฑํ•ด ๋ณธ ํ”„๋กœ์ ํŠธ.

monorepo๋ž€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐœ๋ณ„ ํ”„๋กœ์ ํŠธ๋ฅผ ์ž˜ ์ •์˜๋œ ๊ด€๊ณ„๋ฅผ ํ†ตํ•ด์„œ ํ•˜๋‚˜์˜ repo์— ๋‹ด์€ ๊ฒƒ์„ ๋งํ•จ.

How to

๐Ÿฑ yarn ์„ค์ •ํ•˜๊ธฐ

  1. ๋กœ์ปฌ์— yarn์ด ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด ์„ค์น˜.
npm install -g yarn
  1. ํ”„๋กœ์ ํŠธ์—์„œ yarn berry๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •. (pwd ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์˜ root์—์„œ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค)
yarn set version berry

berry ์„ค์ • ํ›„ ํ”„๋กœ์ ํŠธ ๋‚ด๋ถ€์—์„œ yarn -v์œผ๋กœ yarn ๋ฒ„์ „ ํ™•์ธ์‹œ v2 ์ด์ƒ์œผ๋กœ ๊น”๋ ธ์Œ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. yarn ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐํ™”.
yarn init -w

-w flag์™€ ํ•จ๊ป˜ ์ดˆ๊ธฐํ™”ํ•ด์ฃผ๋ฉด package.json ํŒŒ์ผ์ด ์ž๋™ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ root์— ์œ„์น˜ํ•œ package.json์˜ workspace์— ์ถ”๊ฐ€๋œ ์œ„์น˜๋“ค์„ ๊ฐœ๋ณ„ ํ”„๋กœ์ ํŠธ๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ์œ„ ์ปค๋งจ๋“œ๋กœ package.json ์ƒ์„ฑ์‹œ workspace์— ์ด๋ฏธ packages ๋ผ๋Š” ํด๋” ์œ„์น˜๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿงฉ workspace ์ถ”๊ฐ€ํ•˜๊ธฐ

  1. ์›ํ•˜๋Š” ์œ„์น˜์— ํ•˜์œ„ ํด๋”๋ฅผ ์ƒ์„ฑ.
  2. ./packages.json ์˜ workspace์— ํ•ด๋‹น ์œ„์น˜๋ฅผ ์ถ”๊ฐ€.

๊ทธ๋Ÿฌ๊ณ ๋‚˜๋ฉด yarn workspace [ํ”„๋กœ์ ํŠธ ์ด๋ฆ„] ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โž• ๋‚ด๋ถ€ ํŒจํ‚ค์ง€ ์˜์กด์„ฑ ์ถ”๊ฐ€ํ•˜๊ธฐ

์™ธ๋ถ€ ํŒจํ‚ค์ง€์˜ ๊ฒฝ์šฐ ์—ฌํƒ€ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ–ˆ๋˜ ๊ฒƒ๊ณผ ๊ฐ™์ด yarn add [ํŒจํ‚ค์ง€ ์ด๋ฆ„] ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. workspace @cute/web ์—์„œ ๋‹ค๋ฅธ workspace์— ์œ„์น˜ํ•œ @pkg/lib๋ฅผ ์˜์กดํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ์š”?

  1. ์šฐ์„  @pkg/lib ์—์„œ export ํ•˜๊ณ  ์žˆ๋Š” ๋ชจ๋“ˆ์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.
  2. @cute/web์— @pkg/lib ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•œ๋‹ค.
yarn workspace @cute/web add @pkg/lib
  1. (TS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ) ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ปดํŒŒ์ผ๋Ÿฌ ์„ค์ •์—์„œ ํŒจํ‚ค์ง€ ์œ„์น˜๋ฅผ ์•Œ๋ ค์ค€๋‹ค.

@cute/web/tsconfig.json

{
  "compilerOptions": {
    (...)
    "paths": {
      "@pkg/lib": ["../../package/lib/src/index"]
    }
  },
  (...)
}

mono-berry's People

Contributors

hon9g avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.