SlideShare a Scribd company logo
PUTTING THE PANTS ON JAVASCRIPT
HOW WE CREATED A MONOREPO FOR OUR WEBS
Painpoints of multiple projects
• Setup phase of every repo
• Different deployments
• Code rots in old projects -
no one wants to touch
them
• No code sharing
• Updating dependencies
web-tools
tvadmin
editor
web-client
web-lab
!
The motivation
• We have a server monorepo
using Pants
• Same structure for every project
• Simpler workflow when working
in multiple services at once
• Updating one dependency
deploys all services
• Single setup, code sharing etc...
all the servers
in one repo
"
Implementation
all the webs
in one repo
"
• Pants Node contrib module
Inspired by Pants
• DEPENDENCIES.js
• JS scripts for task running
• CI scripts for selective
deployment
QuizUp Web Monorepo
Implementation
all the webs
in one repo
"
• Pants Node contrib module
Inspired by Pants
• DEPENDENCIES.js
• JS scripts for task running
• CI scripts for selective
deployment
QuizUp Web Monorepo
Implementation
all the webs
in one repo
"
• Pants Node contrib module
Inspired by Pants
• DEPENDENCIES.js
• JS scripts for task running
• CI scripts for selective
deployment
QuizUp Web Monorepo
changedTargets.js
1. Creates dependency map of whole repo
2. Did service code change?
3. Did npm dependencies change?
4. Did shared code change?
QuizUp Web Monorepo
Benefits
• Consistent code style - shared ESLint, Stylelint and Flow
configs
• Greenkeeper - All projects up to date at all times
• Code is sharable by default
• No bootstrap phase - just write code
• All boilerplate code sharable in a single place
• Super easy onboarding, try one project -> know them all!
#
Questions?
@arnarths

More Related Content

What's hot (20)

PPT
Hacking the way you work
Fotis Alexandrou
 
PDF
Server Side React for WordPress by Muhammad Muhsin @ The JavaScript for WordP...
rtCamp
 
PPTX
Android component programming
Nhan Cao
 
PPT
Front-End Tools and Workflows
Sara Vieira
 
PDF
Angular meetup 2 2019-08-29
Nitin Bhojwani
 
PDF
Blazor - The New Silverlight?
Christian Nagel
 
PDF
WebAssembly vs JavaScript: What is faster?
Alexandr Skachkov
 
PPTX
Ruby on rails
Batzorigt Rentsen
 
PPTX
Building real time app by using asp.Net Core
Commit Software Sh.p.k.
 
PDF
Skinny Framework 1.0.0
Kazuhiro Sera
 
PPTX
HelloGit
Jason Hanson
 
PPTX
Developing Cross-Platform Web Apps with ASP.NET Core1.0
EastBanc Tachnologies
 
PDF
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
Shift Conference
 
PPTX
Cypress for Testing
PoojaSingh1123
 
PDF
Node.js with Express
Gergely Németh
 
PDF
Lessons in Open Source from the MongooseJS ODM
Valeri Karpov
 
PDF
Stripe con 2021 UI stack
MaximeRainville1
 
PPTX
Chat automation in a modern it environment
Jaap Brasser
 
PDF
MongoDB MEAN Stack Webinar October 7, 2015
Valeri Karpov
 
PPTX
Monoliths vs microservices
ahmadezzeir
 
Hacking the way you work
Fotis Alexandrou
 
Server Side React for WordPress by Muhammad Muhsin @ The JavaScript for WordP...
rtCamp
 
Android component programming
Nhan Cao
 
Front-End Tools and Workflows
Sara Vieira
 
Angular meetup 2 2019-08-29
Nitin Bhojwani
 
Blazor - The New Silverlight?
Christian Nagel
 
WebAssembly vs JavaScript: What is faster?
Alexandr Skachkov
 
Ruby on rails
Batzorigt Rentsen
 
Building real time app by using asp.Net Core
Commit Software Sh.p.k.
 
Skinny Framework 1.0.0
Kazuhiro Sera
 
HelloGit
Jason Hanson
 
Developing Cross-Platform Web Apps with ASP.NET Core1.0
EastBanc Tachnologies
 
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
Shift Conference
 
Cypress for Testing
PoojaSingh1123
 
Node.js with Express
Gergely Németh
 
Lessons in Open Source from the MongooseJS ODM
Valeri Karpov
 
Stripe con 2021 UI stack
MaximeRainville1
 
Chat automation in a modern it environment
Jaap Brasser
 
MongoDB MEAN Stack Webinar October 7, 2015
Valeri Karpov
 
Monoliths vs microservices
ahmadezzeir
 

Similar to QuizUp Web Monorepo (13)

PPTX
Python monorepos what, why and how (shared)
benjyw
 
PPTX
Advantages and disadvantages of a monorepo
IanDavidson56
 
PDF
Monorepo at Pinterest
Suman Karumuri
 
PPTX
Master the Monorepo
Roman Minchyn
 
PDF
Understanding Monorepos
Benjamin Cabanes
 
PDF
Advantages and Disadvantages of a Monolithic Repository
mustafa sarac
 
PPTX
Exploring Modern Web Architectures: Monoliths, Monorepos, Multirepos, and Mic...
gity ghasemi
 
PPTX
Mono Repo
Zacky Pickholz
 
PPTX
2022 DOI SKILup Days_Google Uses Monorepo, and I Don't - Here's Why.pptx
Turja Narayan Chaudhuri
 
PDF
React Apps at AirHelp. Lessons learned.
AirHelp
 
PDF
From monolith web app to micro-frontends
Rustam Aliyev
 
PDF
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...
OdessaJS Conf
 
PPTX
Monolithic and Microservice architecture, Feature of Node JS 10, HTTP2
Atharva Jawalkar
 
Python monorepos what, why and how (shared)
benjyw
 
Advantages and disadvantages of a monorepo
IanDavidson56
 
Monorepo at Pinterest
Suman Karumuri
 
Master the Monorepo
Roman Minchyn
 
Understanding Monorepos
Benjamin Cabanes
 
Advantages and Disadvantages of a Monolithic Repository
mustafa sarac
 
Exploring Modern Web Architectures: Monoliths, Monorepos, Multirepos, and Mic...
gity ghasemi
 
Mono Repo
Zacky Pickholz
 
2022 DOI SKILup Days_Google Uses Monorepo, and I Don't - Here's Why.pptx
Turja Narayan Chaudhuri
 
React Apps at AirHelp. Lessons learned.
AirHelp
 
From monolith web app to micro-frontends
Rustam Aliyev
 
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...
OdessaJS Conf
 
Monolithic and Microservice architecture, Feature of Node JS 10, HTTP2
Atharva Jawalkar
 
Ad

Recently uploaded (20)

PDF
Machine Learning All topics Covers In This Single Slides
AmritTiwari19
 
PPTX
ENSA_Module_7.pptx_wide_area_network_concepts
RanaMukherjee24
 
PDF
4 Tier Teamcenter Installation part1.pdf
VnyKumar1
 
PDF
2025 Laurence Sigler - Advancing Decision Support. Content Management Ecommer...
Francisco Javier Mora Serrano
 
PDF
Biodegradable Plastics: Innovations and Market Potential (www.kiu.ac.ug)
publication11
 
PDF
20ME702-Mechatronics-UNIT-1,UNIT-2,UNIT-3,UNIT-4,UNIT-5, 2025-2026
Mohanumar S
 
PDF
勉強会資料_An Image is Worth More Than 16x16 Patches
NABLAS株式会社
 
PPTX
Information Retrieval and Extraction - Module 7
premSankar19
 
PPT
IISM Presentation.ppt Construction safety
lovingrkn
 
PDF
The Complete Guide to the Role of the Fourth Engineer On Ships
Mahmoud Moghtaderi
 
PPTX
Basics of Auto Computer Aided Drafting .pptx
Krunal Thanki
 
PDF
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
PDF
Construction of a Thermal Vacuum Chamber for Environment Test of Triple CubeS...
2208441
 
PPTX
IoT_Smart_Agriculture_Presentations.pptx
poojakumari696707
 
PPTX
22PCOAM21 Session 1 Data Management.pptx
Guru Nanak Technical Institutions
 
PDF
EVS+PRESENTATIONS EVS+PRESENTATIONS like
saiyedaqib429
 
PPTX
Introduction to Fluid and Thermal Engineering
Avesahemad Husainy
 
PPTX
quantum computing transition from classical mechanics.pptx
gvlbcy
 
PPTX
MULTI LEVEL DATA TRACKING USING COOJA.pptx
dollysharma12ab
 
PDF
settlement FOR FOUNDATION ENGINEERS.pdf
Endalkazene
 
Machine Learning All topics Covers In This Single Slides
AmritTiwari19
 
ENSA_Module_7.pptx_wide_area_network_concepts
RanaMukherjee24
 
4 Tier Teamcenter Installation part1.pdf
VnyKumar1
 
2025 Laurence Sigler - Advancing Decision Support. Content Management Ecommer...
Francisco Javier Mora Serrano
 
Biodegradable Plastics: Innovations and Market Potential (www.kiu.ac.ug)
publication11
 
20ME702-Mechatronics-UNIT-1,UNIT-2,UNIT-3,UNIT-4,UNIT-5, 2025-2026
Mohanumar S
 
勉強会資料_An Image is Worth More Than 16x16 Patches
NABLAS株式会社
 
Information Retrieval and Extraction - Module 7
premSankar19
 
IISM Presentation.ppt Construction safety
lovingrkn
 
The Complete Guide to the Role of the Fourth Engineer On Ships
Mahmoud Moghtaderi
 
Basics of Auto Computer Aided Drafting .pptx
Krunal Thanki
 
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
Construction of a Thermal Vacuum Chamber for Environment Test of Triple CubeS...
2208441
 
IoT_Smart_Agriculture_Presentations.pptx
poojakumari696707
 
22PCOAM21 Session 1 Data Management.pptx
Guru Nanak Technical Institutions
 
EVS+PRESENTATIONS EVS+PRESENTATIONS like
saiyedaqib429
 
Introduction to Fluid and Thermal Engineering
Avesahemad Husainy
 
quantum computing transition from classical mechanics.pptx
gvlbcy
 
MULTI LEVEL DATA TRACKING USING COOJA.pptx
dollysharma12ab
 
settlement FOR FOUNDATION ENGINEERS.pdf
Endalkazene
 
Ad

QuizUp Web Monorepo

  • 1. PUTTING THE PANTS ON JAVASCRIPT HOW WE CREATED A MONOREPO FOR OUR WEBS
  • 2. Painpoints of multiple projects • Setup phase of every repo • Different deployments • Code rots in old projects - no one wants to touch them • No code sharing • Updating dependencies web-tools tvadmin editor web-client web-lab !
  • 3. The motivation • We have a server monorepo using Pants • Same structure for every project • Simpler workflow when working in multiple services at once • Updating one dependency deploys all services • Single setup, code sharing etc... all the servers in one repo "
  • 4. Implementation all the webs in one repo " • Pants Node contrib module Inspired by Pants • DEPENDENCIES.js • JS scripts for task running • CI scripts for selective deployment
  • 6. Implementation all the webs in one repo " • Pants Node contrib module Inspired by Pants • DEPENDENCIES.js • JS scripts for task running • CI scripts for selective deployment
  • 8. Implementation all the webs in one repo " • Pants Node contrib module Inspired by Pants • DEPENDENCIES.js • JS scripts for task running • CI scripts for selective deployment
  • 10. changedTargets.js 1. Creates dependency map of whole repo 2. Did service code change? 3. Did npm dependencies change? 4. Did shared code change?
  • 12. Benefits • Consistent code style - shared ESLint, Stylelint and Flow configs • Greenkeeper - All projects up to date at all times • Code is sharable by default • No bootstrap phase - just write code • All boilerplate code sharable in a single place • Super easy onboarding, try one project -> know them all!