$30 off During Our Annual Pro Sale. View Details »

Vercel monorepo対策 / Vercel monorepo

OKUNOKENTARO
September 19, 2021

Vercel monorepo対策 / Vercel monorepo

2021年9月19日の発表で使用した資料です。

OKUNOKENTARO

September 19, 2021
Tweet

More Decks by OKUNOKENTARO

Other Decks in Technology

Transcript

  1. 7FSDFMNPOPSFQPରࡦ
    4FQ *SJT-5ձ
    !PLVOPLFOUBSP

    View Slide


  2. w Ԟ໺ݡଠ࿠!PLVOPLFOUBSP
    w ΫϨε΢ΣΞגࣜձࣾ
    w .S໰୊ղܾ
    w 5ZQF4DSJQUϑϩϯ
    τΤϯ
    υ
    ɾ
    όοΫΤϯ
    υ

    View Slide

  3. .POPSFQP
    w Ϟϊ
    Ϩϙ
    w NPOP઀಄ࣙ
    ʢϞϊΫϩɺ
    Ϟϊϩʔάɺ
    ϞϊϙϦʔʜʣ

    w ͻͱͭͷ3FQPTJUPSZͰෳ਺ͷύοέʔδΛ؅ཧ͢Δ͜ͱ
    w ਖ਼௚࿩ऀʹΑͬͯࢦͯ͠Δཻ౓͕ҧ͏
    w ྫ
    ɿ
    ϝϧΧϦ4IPQTͷϞϊ
    Ϩϙ
    w ྫ
    ɿ
    OQNͰͷ044ʹ͓͚ΔϞϊ
    Ϩϙ

    View Slide

  4. 7FSDFMʹ͓͚ΔϞϊ
    Ϩϙ
    w 7FSDFMʹ͸Oݸͷ/FYUKTΞϓϦέʔγϣϯΛσϓϩΠͰ͖Δ
    w IUUQTWFSDFMDPNCMPHNPOPSFQPT
    w ͦͷ·Μ·ͳ໊લͷهࣄ͕͋Δ
    w Ұݟ͜ͷ·Μ·΍Ε͹ɺ
    ໰୊ͳ͍͚ͦ͘͏

    View Slide

  5. Α
    ͘
    ͋Δڞ௨Խ໰୊
    w 3FQPʹ"QQ" "QQ#͕͋ͬͨͱͯ͠ɺ

    w "ͱ#ͷڞ௨ίʔ
    υ͸Ͳ͏͢Δ
    ʁ

    w ྫ͑͹ϩάΠϯॲཧ͸ɺ
    ؀ڥม਺ͷҧ͍͚ͩͰ࢒Γͷϑϩʔ͸͢΂ͯҰॹ
    w ؀ڥม਺͚ͩҾ਺Խͯ͠ɺ
    ͋ͱ͸ؔ਺ʹ͍ͨ͠
    w Ͳ͜ʹஔ͘
    ʁ

    View Slide

  6. 6OJWFSTBMσΟ
    ϨΫ
    τ
    Ϧ
    w "QQ" "QQ#ͱܑఋͷσΟ
    ϨΫ
    τ
    Ϧ
    ͱͯ͠VOJWFSTBMΛஔ͘
    w ./app-a ./app-b ./universalΈ͍ͨʹͳΔ
    w ൵͍͜͠ͱʹ͜Ε͸·ͬͨ͘ಈ͔ͳ͍
    w 8FCQBDL͸ΞϓϦέʔγϣϯͷϧʔ
    τΑ
    Γ਌Λࢀর͢Δ͜ͱ͕Ͱ͖ͳ͍
    w DPO
    fi
    HͰରࡦ͢Δ

    View Slide

  7. OFYUDPO
    fi
    HKT
    module.exports = {

    webpack: (config)
    =>
    {

    const tsRule = config.module.rules.find((v)
    =>


    v.test
    ?
    .
    toString().includes("ts")

    );

    //
    app ΑΓ্ͷσΟϨΫτϦʹ͋Δ universal Λऔಘ͢ΔͨΊʹઃఆ

    const projectRoot = path

    .parse(
    __
    filename)

    .dir.split(path.sep)

    .slice(0, -1)

    .join(path.sep);

    tsRule.include.push(projectRoot);

    return config;

    },

    };

    View Slide

  8. ͜Ε͚ͩ͡Ό·ͩͩΊ
    w ϩʔΧϧͰ͸ϏϧυͰ͖Δ
    w 7FSDFMଆͰ͸·ͩϏϧυࣦഊ͢Δ
    w ͳͥͳΒ7FSDFMͷεΫ
    Ϧ
    ϓτͰ͸ΞϓϦέʔγϣϯϧʔ
    τ͔͠

    npm iͯ͘͠Εͳ͍
    w VOJWFSTBMͰ࢖͏
    ϥΠ
    ϒϥ
    Ϧ͸ಡΈࠐ·ΕͣΤϥʔͱͳΔ

    View Slide

  9. *OTUBMM$PNNBOE্ॻ͖
    w *OTUBMM$PNNBOEΛ্ॻ͖ͯ͠ɺ

    ͦ͜Ͱ਌ͷnpm iΛ࣮ߦ͢Δ
    w OQNͷόʔδϣϯ͕

    ἧΘͳ͍ͱ͖͸ɺ
    ͜͜ͰڧҾʹ͍ΕΔ

    View Slide

  10. 5IBOLZPV

    View Slide