#vue js project
Explore tagged Tumblr posts
vuejs123 ยท 2 years ago
Text
Tumblr media
VueJS Training In Hyderabad
1 note ยท View note
precisiotech ยท 2 years ago
Text
React vs Angular vs Vue.js โ€“ Which JS Framework is Best - Precisio
Tumblr media
The choice between React, Angular, and Vue.js depends on your specific project requirements and development preferences. React, known for its flexibility and large community, is great for building interactive user interfaces and offers a wide range of libraries. Angular, backed by Google, provides a comprehensive framework with strong support for large-scale applications. Vue.js, on the other hand, is highly approachable and offers a gentle learning curve, making it an excellent choice for small to medium-sized projects. Ultimately, the best framework for your project will depend on factors like complexity, team expertise, and scalability needs. Each of these frameworks has its strengths, so it's important to carefully assess your project's unique needs before making a decision.
0 notes
eggdesign ยท 2 years ago
Note
how did you learn coding?
I am pretty much entirely self taught as far as front end goes!
I started messing around with HTML and CSS with tumblr themes back in 2016-ish.
For javascript I looked at https://developer.mozilla.org/en-US/ for a lot of documentation + examples. And also used codepen a lot to kinda reverse engineer existing snippets of code.
I also read a lot of https://css-tricks.com/
And for flexbox + css grid there's these:
After I got a good foundation of vanilla JS, I learned Vue for a little while and then moved on to React. The new react documentation is really good in my opinion so I definitely recommend reading that if you're interested in learning.
Most of my learning came from trial and error and working on projects that I was really excited about. I used to be so proud of findtags (the original version) which was in jquery...
The react version is miles ahead of it. And even then, the theme builder is also way ahead of findtags. I learned way more between those two projects than reading documentation alone!
191 notes ยท View notes
guzsdaily ยท 8 months ago
Text
Good Code is Boring
Daily Blogs 358 - Oct 28th, 12.024
Something I started to notice and think about, is how much most good code is kinda boring.
Clever Code
Go (or "Golang" for SEO friendliness) is my third or fourth programming language that I learned, and it is somewhat a new paradigm for me.
My first language was Java, famous for its Object-Oriented Programming (OOP) paradigms and features. I learned it for game development, which is somewhat okay with Java, and to be honest, I hardly remember how it was. However, I learned from others how much OOP can get out of control and be a nightmare with inheritance inside inheritance inside inheritance.
And then I learned JavaScript after some years... fucking god. But being honest, in the start JS was a blast, and I still think it is a good language... for the browser. If you start to go outside from the standard vanilla JavaScript, things start to be clever. In an engineering view, the ecosystem is really powerful, things such as JSX and all the frameworks that use it, the compilers for Vue and Svelte, and the whole bundling, and splitting, and transpiling of Rollup, ESBuild, Vite and using TypeScript, to compile a language to another, that will have a build process, all of this, for an interpreted language... it is a marvel of engineering, but it is just too much.
Finally, I learned Rust... which I kinda like it. I didn't really make a big project with it, just a small CLI for manipulating markdown, which was nice and when I found a good solution for converting Markdown AST to NPF it was a big hit of dopamine because it was really elegant. However, nowadays, I do feel like it is having the same problems of JavaScript. Macros are a good feature, but end up being the go-to solution when you simply can't make the code "look pretty"; or having to use a library to anything a little more complex; or having to deal with lifetimes. And if you want to do anything a little more complex "the Rust way", you will easily do head to head with a wall of skill-issues. I still love it and its complexity, and for things like compiler and transpilers it feels like a good shot.
Going Go
This year I started to learn Go (or "Golang" for SEO friendliness), and it has being kinda awesome.
Go is kinda like Python in its learning curve, and it is somewhat like C but without all the needing of handling memory and needing to create complex data structured from scratch. And I have never really loved it, but never really hated it, since it is mostly just boring and simple.
There are no macros or magic syntax. No pattern matching on types, since you can just use a switch statement. You don't have to worry a lot about packages, since the standard library will cover you up to 80% of features. If you need a package, you don't need to worry about a centralized registry to upload and the security vulnerability of a single failure point, all packages are just Git repositories that you import and that's it. And no file management, since it just uses the file system for packages and imports.
And it feels like Go pretty much made all the obvious decisions that make sense, and you mostly never question or care about them, because they don't annoy you. The syntax doesn't get into your way. And in the end you just end up comparing to other languages' features, saying to yourself "man... we could save some lines here" knowing damn well it's not worth it. It's boring.
You write code, make your feature be completed in some hours, and compile it with go build. And run the binary, and it's fast.
Going Simple
And writing Go kinda opened a new passion in programming for me.
Coming from JavaScript and Rust really made me be costumed with complexity, and going now to Go really is making me value simplicity and having the less moving parts are possible.
I am becoming more aware from installing dependencies, checking to see their dependencies, to be sure that I'm not putting 100 projects under my own. And when I need something more complex but specific, just copy-and-paste it and put the proper license and notice of it, no need to install a whole project. All other necessities I just write my own version, since most of the time it can be simpler, a learning opportunity, and a better solution for your specific problem. With Go I just need go build to build my project, and when I need JavaScript, I just fucking write it and that's it, no TypeScript (JSDoc covers 99% of the use cases for TS), just write JS for the browser, check if what you're using is supported by modern browsers, and serve them as-is.
Doing this is really opening some opportunities to learn how to implement solutions, instead of just using libraries or cumbersome language features to implement it, since I mostly read from source-code of said libraries and implement the concept myself. Not only this, but this is really making me appreciate more standards and tooling, both from languages and from ecosystem (such as web standards), since I can just follow them and have things work easily with the outside world.
The evolution
And I kinda already feel like this is making me a better developer overhaul. I knew that with an interesting experiment I made.
One of my first actual projects was, of course, a to-do app. I wrote it in Vue using Nuxt, and it was great not-gonna-lie, Nuxt and Vue are awesome frameworks and still one of my favorites, but damn well it was overkill for a to-do app. Looking back... more than 30k lines of code for this app is just too much.
And that's what I thought around the start of this year, which is why I made an experiment, creating a to-do app in just one HTML file, using AlpineJS and PicoCSS.
The file ended up having just 350 files.
Today's artists & creative things Music: Torna a casa - by Mรฅneskin
ยฉ 2024 Gustavo "Guz" L. de Mello. Licensed under CC BY-SA 4.0
4 notes ยท View notes
incipientinfotechh ยท 2 years ago
Text
We are committed to meeting deadlines and delivering projects on time. Our efficient project management processes ensure that your software development projects stay on track.
5 notes ยท View notes
transcuratorsblog ยท 10 days ago
Text
Design Systems in Web Development: Why Agencies Use Them for UI Consistency
In todayโ€™s digital-first world, users expect sleek, intuitive, and consistent interfacesโ€”regardless of the device or platform theyโ€™re on. For businesses developing large-scale websites or apps, delivering a consistent experience across teams and pages can be a challenge. Thatโ€™s where design systems come into play.
Modern Web Development Company teams rely heavily on design systems to ensure that every button, heading, form, and layout element follows unified principles. This not only enhances the user experience (UX) but also streamlines collaboration, speeds up development, and maintains brand identity across all digital touchpoints.
What Is a Design System?
A design system is a comprehensive set of guidelines, reusable components, and tools that define how a digital product should look and behave. It typically includes:
Design Tokens: Standardized values like colors, typography, spacing, and shadows
UI Components: Buttons, cards, modals, forms, and navigation elements
Code Snippets: Ready-to-use HTML/CSS/JS or React/Vue components
Usage Guidelines: Rules on when and how to use each element
Brand Standards: Logos, icons, image styles, and tone of voice
Design systems act as a single source of truth for designers, developers, and content teamsโ€”ensuring consistency and efficiency throughout the project lifecycle.
Why UI Consistency Matters
Imagine using a website where buttons look different on every page or where forms behave unpredictably depending on the section youโ€™re in. Inconsistency like this can:
Confuse users
Undermine trust
Increase bounce rates
Slow down development due to repetitive work
Make QA testing more difficult
Design systems eliminate these issues by enforcing visual and functional uniformity across all parts of a website or app.
How Web Development Companies Use Design Systems
Letโ€™s break down how professional web development companies use design systems to deliver high-quality, scalable digital products.
1. Streamlined Collaboration Between Teams
Design systems align developers, designers, product managers, and QA testers. When everyone references the same UI library and brand rules, communication becomes smoother and handoffs are more precise.
Instead of reinventing UI for every page or screen, developers pull from a shared system of reusable components, while designers create mockups using pre-approved assets.
Why it matters: Less ambiguity, faster iterations, and fewer design-to-dev mismatches.
2. Faster Development and Deployment
Reusable code and components mean faster development cycles. Once a UI element like a dropdown or form field is built, it can be reused throughout the project with minimal adjustments.
Many agencies even create component libraries in frameworks like React, Vue, or Angularโ€”reducing redundant work and shortening the time-to-market.
Why it matters: Design systems cut development time significantly, especially for large or growing platforms.
3. Scalability and Maintenance
As websites growโ€”new pages, new features, additional teamsโ€”it becomes harder to maintain design and code consistency. A design system ensures that updates made to a component (like changing button styles) automatically propagate across all instances where that component is used.
Why it matters: Scalability becomes effortless without compromising on consistency or introducing technical debt.
4. Enhanced Accessibility and UX Standards
Most agencies build accessibility guidelines into their design systems, ensuring that components meet WCAG standards for color contrast, focus states, keyboard navigation, and screen reader support.
This makes it easier to build inclusive experiences for all users from the ground up.
Why it matters: Accessibility becomes a built-in feature, not an afterthoughtโ€”helping both UX and compliance.
5. Brand Consistency Across Digital Products
Whether it's a website, mobile app, microsite, or internal dashboard, using a design system ensures the brand identity stays cohesive. Colors, typography, iconography, and spacing are applied uniformly, reinforcing the brand across every touchpoint.
Why it matters: Consistent branding improves recognition, professionalism, and user trust.
6. Better Testing and QA Processes
When components are standardized, testers can focus on edge cases and workflows, not whether each UI element matches design specs. Automated tests can even be tied to the design system to ensure that no updates break key UI elements.
Why it matters: QA becomes faster and more effective, reducing bugs and UI inconsistencies.
Final Thoughts
In modern web development, delivering a consistent, scalable, and user-friendly interface is no longer optionalโ€”itโ€™s expected. Thatโ€™s why top-performing Web Development Company teams build and maintain robust design systems that unify design and development across every project.
If youโ€™re looking to build a high-quality digital product that scales smoothly and looks polished on every screen, investing in a design systemโ€”and working with a team that knows how to implement itโ€”is a smart move. Itโ€™s not just about designโ€”itโ€™s about creating a repeatable, maintainable system that accelerates your digital growth.
0 notes
hiringjournal ยท 12 days ago
Text
5 Essential Skills to Look for When You Hire a Vue.js Developer
Tumblr media
Vue.js is quickly becoming the preferred front-end framework for companies wishing to create adaptable, high-performing web apps. The developer behind your user interface frequently determines its quality, whether you're working on an MVP or developing a sophisticated platform.ย 
For this reason, a lot of tech firms are opting to use Vue.js engineers to power their projects. Hiring someone with Vue knowledge alone won't help; you need someone who knows the framework and its ecosystem better. When hiring vue js developers, you should look for the five essential abilities listed below.
Build Better Interfaces by Hiring the Right Front-End Talent
Core proficiency in Vue.js
Although it may seem apparent, a strong grasp of Vue's fundamental featuresโ€”reactive data binding, components, directives, and lifecycle hooksโ€”is the cornerstone of any successful Vue developer. Additionally, a strong applicant should understand when and how to use Vue Router and Vue CLI.ย 
Make sure Vue.js engineers are at ease with Vue 3 and the Composition API before hiring them for long-term projects. For scalable applications, current IT businesses desire enhanced performance and better code organization, which the most recent version offers.
Deep knowledge of JavaScript and ES6+
Since Vue.js is based on JavaScript, knowing how to use contemporary JavaScript (ES6+) is essential. The ideal developer should feel at ease with promises, destructuring, array methods, arrow functions, and template literals. This guarantees their ability to write code that is clear, modular, and maintainable. Additionally, it's critical that they comprehend how JavaScript works with the DOM, particularly when responsiveness and performance are major considerations.
Experience in front-end ecosystems and tools
Vue is rarely utilized alone. It is frequently integrated by developers with testing libraries like Jest, Axios for managing APIs, and Vuex for state management. Proficient Vue.js developers should be able to use Webpack or Vite to create effective development pipelines. Knowing CSS pre-processors like SASS or LESS is also a plus because many tech businesses demand front-end engineers to know how to use them.
For this reason, it is essential to hire front-end developers who are knowledgeable with all aspects of contemporary online tools, not just the framework.
API integration and backend collaboration
The work of front-end developers is not isolated. They must communicate with RESTful APIs and backend systems with ease. Seek applicants who have experience working in teams utilizing Agile approaches and who are proficient in processing authentication tokens, testing API endpoints, and gracefully handling errors. To prevent a skills mismatch, be sure to include this criterion if you are working with an IT staffing agency.
Problem-solving and communication skills
Technical proficiency is important, but so is the ability for independent problem-solving and effective communication. The top Vue.js developers collaborate as often as they code. They grasp the business implications of their code, provide better solutions, and pose pertinent questions. These soft skills can have a significant impact on the success of a project, whether you're working with a small startup or a huge tech company.
Concluding Thoughts
Hiring Vue js developers involves more than just checking off boxes on a CV. Professionals who are well-versed in the framework, work well with others, and stay up to date with changing tech stacks are what you require. Hiring the appropriate person can improve your front-end experience, cut down on development time, and increase the marketability of your product.
0 notes
solvixtech ยท 16 days ago
Text
The Future of Front-End Development: Technologies, Trends, and Services in 2025
Front-end development plays a crucial role in how users interact with websites and applications. The user experience (UX), speed, and responsiveness of a website all depend on how well the front end is developed. As technology evolves, businesses need to stay ahead by adopting modern front end development technologies and ensuring seamless experiences across devices.
With growing competition in the digital space, companies are also investing in front end development services to create high-performing, visually appealing, and user-friendly applications. This article explores the latest technologies, trends, and services shaping the future of front-end development.
1. What is Front-End Development?
Front-end development focuses on the visual and interactive aspects of a website or web application. It includes everything a user sees and interacts with, such as navigation menus, buttons, animations, and layout structures.
Key Responsibilities of Front-End Developers:
Writingย clean, efficient, and responsive code.
Ensuring seamless cross-browser compatibility.
Optimizing websites for faster load times and better performance.
Creating accessible and user-friendly interfaces.
Integrating with backend APIs for smooth data retrieval.
To build fast and engaging user interfaces, developers rely on modernย front end development technologiesย that simplify coding, enhance performance, and improve scalability.
2. Latest Front-End Development Technologies in 2025
With new frameworks, libraries, and tools emerging, front-end development is continuously evolving. Here are some of the best technologies shaping the front end in 2025.
A) Front-End Programming Languages
1. JavaScript (JS)
JavaScript remains the dominant language for front-end development, powering interactive and dynamic web applications. With the rise of frameworks like React, Vue, and Angular, JavaScript continues to be at the core of modern web development.
2. TypeScript
TypeScript, a strongly-typed superset of JavaScript, is becoming increasingly popular due to its ability to reduce errors and improve code maintainability. More developers are adopting TypeScript for large-scale applications.
3. WebAssembly (WASM)
WebAssembly allows developers to run high-performance applications in web browsers using languages like C++ and Rust. It is revolutionizing front-end development by enabling faster execution of complex applications.
B) Best Front-End Frameworks and Libraries
4. React.js
Developed by Meta, React remains one of the most widely used front-end libraries. Its component-based architecture, virtual DOM, and support for server-side rendering (SSR) make it ideal for building fast and scalable web applications.
5. Vue.js
Vue is a lightweight yet powerful framework known for its ease of use and flexibility. With Vue 4 expected to launch soon, its improvements in performance and modularity make it a great choice for progressive web applications (PWAs).
6. Angular
Maintained by Google, Angular is a feature-rich front-end framework best suited for enterprise-grade applications. It offers built-in solutions for routing, form validation, and dependency injection, making it ideal for complex projects.
7. Svelte
Svelte is gaining popularity due to its lightweight approach โ€” it compiles components at build time, eliminating the need for a virtual DOM and resulting in faster execution and reduced file sizes.
C) UI/UX and Styling Technologies
8. Tailwind CSS
Tailwind CSS is a utility-first CSS framework that simplifies custom styling. It allows developers to build beautiful interfaces without writing large CSS files, making it a preferred choice for modern UI development.
9. Material UI (MUI)
Based on Googleโ€™s Material Design, MUI provides a collection of pre-built, customizable components that improve the speed and consistency of UI development.
10. CSS Grid and Flexbox
These layout techniques offer powerful tools for designing responsive web pages, allowing developers to create dynamic and adaptive designs with minimal effort.
3. Front-End Development Services: What Businesses Need
Building a successful digital product requires more than just coding. Companies offeringย front end development servicesย help businesses create user-friendly interfaces, optimize performance, and ensure compatibility across devices. The services are explained in detail below -
UI/UX Design and Development
A well-structured user interface (UI) and user experience (UX) ensure smooth navigation and engagement. Front-end developers work closely with designers to implement:
Intuitive layouts for easy navigation.
Accessibility improvements for all users.
Mobile-first designs for seamless performance across devices.
Progressive Web App (PWA) Development
PWAs provide an app-like experience on web browsers. They load faster, work offline, and improve engagement. Businesses investing in PWA development benefit from:
Better mobile performance without requiring an app download.
Improved search engine visibility.
Increased user retention due to smooth interactivity.
Single Page Application (SPA) Development
SPAs dynamically update content without reloading the page, making them faster and more responsive. React, Vue, and Angular are commonly used for building SPAs.
Cross-Browser and Device Compatibility Testing
Ensuring a website functions smoothly across all browsers and devices is crucial. Developers optimize front-end code to prevent issues related to:
Browser inconsistencies (Chrome, Firefox, Safari, Edge).
Mobile responsiveness across various screen sizes.
Performance Optimization
A slow-loading website leads to poor user experience and lower rankings on search engines. Front-end developers focus on:
Reducing page load times by optimizing images and scripts.
Implementing lazy loading for improved speed.
Minimizing HTTP requests and using content delivery networks (CDNs).
4. Future Trends in Front-End Development
With technology advancing rapidly, front-end development is embracing new innovations. Here are some trends shaping the future:
Artificial Intelligence (AI) in UI/UX
AI is being integrated into front-end development for personalized user experiences, automated testing, and smart UI components.
Voice-Activated Interfaces
More websites are incorporating voice navigation, allowing users to interact hands-free.
Augmented Reality (AR) and Virtual Reality (VR)
AR/VR-based front-end development is growing in e-commerce, real estate, and education, offering immersive experiences.
No-Code and Low-Code Development
Platforms like Webflow and Bubble enable faster front-end development without extensive coding knowledge.
Front-end development is evolving rapidly, with new technologies and services transforming how businesses build digital experiences. Choosing the right front end development technologies ensures websites and applications remain fast, responsive, and engaging.
Businesses investing in front end development services gain access to expert developers, optimized UI/UX design, and scalable digital solutions that improve customer satisfaction. As we move into 2025, staying ahead with the latest tools, frameworks, and trends will be key to creating successful web applications. Whether youโ€™re a startup or an enterprise, prioritizing front-end development will set your business apart in an increasingly digital world.
0 notes
appdevelopersblogs ยท 19 days ago
Text
Choosing the Right JS Framework: Angular, React, or Vue
The blog offers a clear comparison of three popular JavaScript-based frameworks. It covers how Angular, React, and Vue differ in setup, performance, learning curve, and use cases.
This guide helps you decide which framework fits your project bestโ€”whether you're starting small or planning something larger. Easy to follow and written for all levels, itโ€™s a helpful read for developers and tech decision-makers.
0 notes
21twelve ยท 25 days ago
Text
How to Hire Vue Js Developers? A Detailed Guide in 2025
In 2025, building modern, fast, and scalable web applications requires top-tier talent. One framework leading the charge is Vue.js, loved by developers for its flexibility, lightweight nature, and ease of integration. But finding the right Vue.js talent is not always easy.
So, how do you hire VueJS developers who can truly bring your ideas to life?
This guide is here to help. Whether youโ€™re a startup building an MVP or a growing enterprise aiming to upgrade your UI/UX, weโ€™ll walk you through the step-by-step process of hiring the perfect Vue.js developer in todayโ€™s competitive market.
Why Choose Vue.js in 2025?
Vue.js remains one of the most in-demand JavaScript frameworks in 2025. Hereโ€™s why businesses are betting on it:
Fast Performance: Vue apps load quickly and perform smoothly.
Two-Way Data Binding: Makes real-time updates and user interaction seamless.
Component-Based Architecture: Promotes modular, reusable code.
Easy Integration: Great for both new projects and legacy systems.
Large Developer Community: Youโ€™re never short of tools, plugins, or support.
Because of these benefits, many companies are choosing to hire VueJS developers as part of their tech upgrade strategy.
Tumblr media
Step-by-Step Guide: How to Hire VueJS Developers
1. Identify Your Project Needs
Before diving into the hiring process, ask yourself:
Do I need a front-end Vue.js expert or a full-stack developer?
Is this a one-time project or long-term maintenance?
Do I prefer a freelancer, full-time hire, or agency?
The clearer you are with your requirements, the better youโ€™ll attract the right candidates.
2. Decide Where to Look
There are three popular routes to find and hire VueJS developers:
Freelance Platforms (Upwork, Toptal, Freelancer): Ideal for short-term projects or prototypes.
Job Portals (Indeed, LinkedIn, AngelList): Great for hiring full-time Vue developers.
Development Agencies: Best for businesses that want project managers, designers, QA, and developers bundled together.
If youโ€™re a non-technical founder, going through an agency can often save time and headaches.
3. Key Skills to Look for in a Vue.js Developer
Vue.js developers should have:
Strong command of JavaScript (ES6+)
Experience with Vue.js 2 and/or Vue 3
Knowledge of Vuex, Vue Router, Composition API
Understanding of RESTful APIs
Familiarity with Git, Webpack, and modern build tools
Bonus if they know Tailwind CSS, Vuetify, or TypeScript, which are increasingly used in Vue.js projects in 2025.
4. Evaluate Soft Skills and Communication
While coding is critical, soft skills make or break collaboration. Look for:
Clear communication
Accountability
Problem-solving mindset
Ability to work with remote teams
Soft skills ensure your project stays on track, especially if youโ€™re working across time zones.
5. Conduct Technical Interviews or Test Tasks
To make sure youโ€™re hiring the right Vue.js developer, give them a small coding task or a technical interview. Focus on:
Problem-solving ability
Code readability
Component architecture
State management (Vuex or Pinia)
Tools like HackerRank or a live coding session on Zoom can help validate their expertise.
Freelance, In-House, or Agency: Whatโ€™s Best?
Tumblr media
Mistakes to Avoid When You Hire VueJS Developers
Focusing only on price: Low-cost developers may result in low-quality code.
Skipping technical evaluation: Always test skills with real scenarios.
Unclear expectations: Define roles, deadlines, and deliverables upfront.
No contract or NDA: Always protect your business with legal agreements.
FAQs
1. What is the average experience needed to hire VueJS developers for complex apps?
Answer: For complex applications, look for Vue.js developers with at least 3โ€“5 years of experience and a strong portfolio of previous projects, preferably using Vue 3, Vuex, and modern front-end architectures.
2. Is it better to hire a dedicated Vue.js developer or go through an agency?
Answer: If you have technical expertise and want more control, hiring directly may work. However, for non-technical founders or companies needing end-to-end support, an agency offering Vue.js services may be a safer and faster route.
3. Can Vue.js be integrated into an existing project?
Answer: Yes! Vue.js is flexible and can be added incrementally. Itโ€™s commonly used to enhance parts of existing websites or applications without rebuilding everything from scratch.
4. How long does it take to onboard a VueJS developer?
Answer: Onboarding can take 3โ€“10 days, depending on your project complexity. Make sure you have documentation, access permissions, and clear communication channels ready.
Final Thoughts
Hiring the right Vue.js developer in 2025 is about more than just checking off technical skills. Itโ€™s about finding someone who understands your vision, communicates well, and can build scalable, high-performance apps that your users will love.
As Vue.js continues to evolve, having skilled developers on your team is a major advantage. So take your time, screen thoroughly, and choose wisely when you hire VueJS developers.
Whether you hire a freelancer, in-house expert, or a full-fledged agency make sure theyโ€™re passionate about delivering quality, because that passion will reflect in the final product.
0 notes
black7375 ยท 29 days ago
Text
ํ”„๋ก ํŠธ์—”๋“œ ๋ชจ๋…ธ๋ ˆํฌ ๋นŒ๋“œ์— ๋Œ€ํ•œ ์†Œ๊ณ 
๊ฐœ์ธ์ ์ธ ์ทจํ–ฅ์ด ์ƒ๋‹น๋ถ€๋ถ„ ๋ฐ˜์˜๋˜์–ด ์žˆ์ง€๋งŒ ํ‰์†Œ ๋ชจ๋…ธ๋ ˆํฌ ๋นŒ๋“œ/ํƒœ์Šคํฌ์— ๋Œ€ํ•ด ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ์ƒ๊ฐ์„ ์ •๋ฆฌํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
1. ํ”„๋ก ํŠธ์—”๋“œ ๋ชจ๋…ธ๋ ˆํฌ ๋นŒ๋“œ/ํƒœ์Šคํฌ ๊ตฌ์กฐ
๋นŒ๋“œ๋‚˜ ๊ฐ์ข… ๋ช…๋ น์–ด ์‹คํ–‰์— ์žˆ์–ด์„œ 3๊ฐ€์ง€ ์ •๋„๋กœ ๋‚˜๋‰  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.
์ž‘์—… ์ข…์†์„ฑ: ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—…์€ ๋ถ„๋ฆฌํ•˜์—ฌ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ๋ณ‘๋ ฌ์ ์œผ๋กœ ์‹คํ–‰ํ•œ๋‹ค
์ž‘์—…๋ชฉ์ ์˜ ์ฐจ์ด: ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ƒ, ์•ฑ์ด๋ƒ? ๋นŒ๋“œ๋ƒ ํ…Œ์ŠคํŠธ๋ƒ ๋“ฑ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง
์‹คํ–‰ํ™˜๊ฒฝ์˜ ์ฐจ์ด: ๋กœ์ปฌ์—์„œ๋Š” ๋น ๋ฅด๊ฒŒ ์—ฌ๋Ÿฌ๋ฒˆ ์‹คํ–‰ํ•˜๊ณ , ์„œ๋ฒ„์—์„œ๋Š” ์ตœ๋Œ€ํ•œ ๋งŽ์€ ๊ฒ€์ฆ์„ ํ•œ๋‹ค.
์ž‘์—…์ข…์†์„ฑ
Tumblr media
ํŒจํ‚ค์ง€ ์ข…์†์„ฑ: ํŒจํ‚ค์ง€๋งŒ ์„ค์น˜๋˜๋ฉด ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ์ž‘์—…๋“ค
ํƒ€์ž… ์ข…์†์„ฑ: ํƒ€์ž…์ด ๋นŒ๋“œ๋˜์•ผ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ์ž‘์—…๋“ค
๋นŒ๋“œ ์ข…์†์„ฑ: ๋นŒ๋“œ๊ฐ€ ๋˜์–ด์•ผ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ์ž‘์—…๋“ค
ํŒจํ‚ค์ง€๋งŒ ์„ค์น˜๋˜๋ฉด ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ์ž‘์—…๋“ค๋กœ๋Š” ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €์˜ lockfile, peerDeps ๊ฒ€์ฆ, prettier/eslint์™€ ๊ฐ™์€ ํฌ๋งคํŒ…๊ณผ ๋ฆฐํŒ… ์ž‘์—…์ด ์žˆ๋‹ค.
์˜์™ธ๋กœ ํƒ€์ž… ๊ฒ€์ฆ ์ž‘์—…์€ ๋นŒ๋“œ ์ž‘์—…๊ณผ ๋ณ„๊ฐœ๋กœ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋‹ค๋งŒ typescript-eslint์™€ ๊ฐ™์ด ํƒ€์ž…์ด ๋นŒ๋“œ๋˜์•ผ ๋ฆฐํŠธ ๊ฒ€์ฆ์ด ๊ฐ€๋Šฅํ•œ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.
๋ชจ๋…ธ๋ ˆํฌ์—์„œ ํ…Œ์ŠคํŠธ๋Š” ์˜์กดํ•œ ํŒจํ‚ค์ง€์˜ ๋นŒ๋“œ๊ฐ€ ๋˜์–ด์žˆ์–ด์•ผ ์‹คํ–‰๊ฐ€๋Šฅํ•˜๋‹ค.
์ž‘์—…๋ชฉ์ ์˜ ์ฐจ์ด
Tumblr media
ํŒจํ‚ค์ง€ ๋ชฉ์ : ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ / ์•ฑ / ํ™˜๊ฒฝ์„ค์ • / ํ…Œ์ŠคํŠธ
๋ฒˆ๋“ค๋Ÿฌ ๋ชฉ์ : ๋นŒ๋“œ / ๊ฐœ๋ฐœ์„œ๋ฒ„ / ํ…Œ์ŠคํŠธ
์ž‘์—…๋ชฉ์ ์— ๋”ฐ๋ผ ์‹คํ–‰ํ•ด์•ผํ•  ์ž‘์—…๋“ค์ด ์ƒ์ดํ•˜๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ESM/CJS ๋นŒ๋“œ, ํƒ€์ž… ๋นŒ๋“œ ๋ชจ๋‘๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์•ฑ์€ ๋นŒ๋“œ ๊ฒฐ๏ฟฝ๏ฟฝ๋ฌผ 1๊ฐœ์™€ ํƒ€์ž…์ฒดํฌ, ํ™˜๊ฒฝ์„ค์ •์šฉ/ํ…Œ์Šค์šฉ์€ ํƒ€์ž… ์ฒดํฌ ์ •๋„๋งŒ ํ•„์š”ํ•˜๋‹ค.
๋˜ํ•œ ๋˜‘๊ฐ™์ด ๋ฒˆ๋“ค๋Ÿฌ ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ํ•ด๋„, ๋นŒ๋“œ, ๊ฐœ๋ฐœ์„œ๋ฒ„, ํ…Œ์ŠคํŠธ๋“ฑ ์ž‘์—… ๋”ฐ๋ผ ํ•„์š”ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ๋‹ค๋ฅด๋‹ค.
์‹คํ–‰ํ™˜๊ฒฝ์˜ ์ฐจ์ด
Tumblr media
๋กœ์ปฌ์—์„œ ๊ฐœ๋ฐœํ•˜๋ฉฐ ์‹คํ–‰
๋ฆฌ๋ชจํŠธ์—์„œ ๊ฒ€์ฆ
๊ฐœ๋ฐœ ํ™˜๊ฒฝ์€ ๋ชจ๋“  ํ™˜๊ฒฝ์„ ๊ณ ๋ คํ•˜๊ธฐ๋ณด๋‹ค๋Š” ๋น ๋ฅด๊ฒŒ ์‹คํ–‰๋˜์–ด ์ฝ”๋”ฉ-๋นŒ๋“œ-ํ…Œ์ŠคํŠธ ์ดํ„ฐ๋ ˆ์ด์…˜์„ ์—ฌ๋Ÿฌ๋ฒˆ ๋Œ๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“œ๋Š”๊ฒŒ ํ•ฉ๋ฆฌ์ ์ด๋‹ค. ๋”ฐ๋ผ์„œ ํŠนํžˆ ๊ฐœ๋ฐœ์„œ๋ฒ„๋Š” ESM ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•˜๋Š” vite, ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ vitest ๋˜ํ•œ ESM Native๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋“ฑ ๊ฐ€๋Šฅํ•˜๋ฉด ESM Only๋ฅผ ์ „์ œํ•˜๊ณ  ํŒจํ‚ค์ง€๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.
Tumblr media Tumblr media
๋ฐ˜๋Œ€๋กœ ๋ฆฌ๋ชจํŠธ(PR ์‹œ)๋Š” ์ตœ๋Œ€ํ•œ ๋งŽ์€ ๊ฒƒ์„ ๊ฒ€์ฆํ•จ์ด ์ข‹๋‹ค. ์œ„์—์„œ ์–ธ๊ธ‰๋œ ์ž‘์—… ์ข…์†์„ฑ์— ๋”ฐ๋ผ ๋‚˜๋ˆ„๊ณ , ๋ชจ๋“  ๊ฒ€์ฆ ํƒœ์Šคํฌ๋ฅผ ๋Œ๋ฆฌ์ž. ๋‹ค๋งŒ ๋ฆฌ๋ชจํŠธ ์ž‘์—…์—์„œ๋„ ๊ฒ€์ฆ๊ณผ ๋ฆด๋ฆฌ์ฆˆ๋Š” ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ™์€ ๊ฒฝ์šฐ ๊ฒ€์ฆ๋‹จ๊ณ„์—์„œ๋Š” ํƒ€์ž… ๋นŒ๋“œ์™€ JS ๋นŒ๋“œ๊ฐ€ ๊ฐ๊ฐ ๋‚˜๋‰˜์–ด ์‹คํ–‰๋  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ฆด๋ฆฌ์ฆˆ์‹œ์—๋Š” ํ†ตํ•ฉ์ ์œผ๋กœ ์ผ์–ด๋‚˜์•ผ ํ•œ๋‹ค.
2. ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €
ํ”„๋ก ํŠธ์—”๋“œ ๋ชจ๋…ธ๋ ˆํฌ์—์„œ ์ฒซ๋ฒˆ์งธ๋กœ ์ƒ๊ฐ๋‚˜๋Š” ๊ฒƒ์€ ๋ฌด์—‡์ธ๊ฐ€? ๋‚œ ํŒจํ‚ค์ง€๋งค๋‹ˆ์ €๋ฅผ ๋ฝ‘๊ณ ์‹ถ๋‹ค.
์—ฌ๋Ÿฌ์ข…๋ฅ˜์˜ ํŒจํ‚ค์ง€๋ฅผ ์šด์˜ํ•˜๋ฉฐ, ๊ฐ ํŒจํ‚ค์ง€๋งˆ๋‹ค ์˜์กด์„ฑ๋“ค์„ ์„ค์น˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์ด ํ•„์ˆ˜์ ์œผ๋กœ ๋“ค์–ด๊ฐ€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
๊ทธ ์ค‘์—์„œ yarn์„ ๊ฐ€์žฅ ์ข‹์•„ํ•˜๋Š” ํŽธ์ด๋‹ค. ๋‹ค์Œ ๊ธ€์— ๋‚˜์˜จ๋Œ€๋กœ ์ž˜ ์„ค๊ณ„๋œ ์•„ํ‚คํ…์ฒ˜์™€ ์ •ํ™•์„ฑ, ์„ฑ๋Šฅ์ด ๋งˆ์Œ์— ๋“ ๋‹ค.
ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €์˜ ๊ณผ๊ฑฐ, ํ† ์Šค์˜ ์„ ํƒ, ๊ทธ๋ฆฌ๊ณ  ๋ฏธ๋ž˜
Tumblr media
์šฐ์„  ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ ธ๋กœ์„œ ๊ธฐ๋ณธ๊ธฐ๋Š” ํ›Œ๋ฅญํ•˜๋‹ค.
์•ˆ์ •์ ์ธ lockfile ์—…๋ฐ์ดํŠธ
lockfile๊ณผ pnp.cjs์˜ conflict ์ž๋™๏ฟฝ๏ฟฝ๏ฟฝ๊ฒฐ
๊ฐ„ํŽธํ•œ ํŒจํ‚ค์ง€ ํŒจ์น˜
NPM script๋ฅผ ์œ„ํ•œ ํœด๋Œ€์šฉ shell ๋‚ด์žฅ๊ณผ ์Šคํฌ๋ฆฝํŠธ ๊ณต์œ 
์ด์™ธ์— ๊ฐ์ข… ๊ฒ€์ฆ๊ธฐ๋Šฅ์ด ๋‹ฌ๋ ค์žˆ๋‹ค.
Hardened Mode: resolution ์ฒดํฌ๋“ฑ์œผ๋กœ install์‹œ ๋ณด์•ˆ๊ณต๊ฒฉ ๋ณดํ˜ธ
๋ฝํŒŒ์ผ/์บ์‹œ ๋ณ€๊ฒฝ ๊ฐ์ง€
Constraints: ํŒจํ‚ค์ง€์™€ ํ•„๋“œ์— ๋Œ€ํ•œ ๊ฒ€์ฆ
Constraints์—์„œ๋Š” ๋Œ€์ฒด ์–ด๋–ค๊ฒŒ ๊ฐ€๋Šฅํ•œ๊ฐ€?
ํŒจํ‚ค์ง€ ๊ธˆ์ง€: ์“ฐ์ง€ ๋ง์•„์•ผ ํ•  ํŒจํ‚ค์ง€๋ฅผ ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค
๋™์ผํ•œ ํŒจํ‚ค์ง€ ๋ฒ„์ „: ๋ชจ๋…ธ๋ ˆํฌ์—์„œ ์‚ฌ์šฉํ•  ํŒจํ‚ค์ง€ ๋ฒ„์ „์„ ์ผ๊ด€์ ์œผ๋กœ ์œ ์ง€ ๊ฐ€๋Šฅ
ํŒจํ‚ค์ง€ ๋ฒ„์ „ ๋ฒ”์œ„ ํ†ต์ œ: ํŒจํ‚ค์ง€์˜ ๋ฒ„์ „์ด ํŠน์ • ๋ฒ”์œ„๏ฟฝ๏ฟฝ ์†ํ•˜๋Š”์ง€ ์ œ์•ฝ์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค
์›Œํฌ์ŠคํŽ˜์ด์Šค ํŽ˜ํ‚ค์ง€ ๊ฐ•์ œ: ์›Œํฌ์ŠคํŽ˜์ด์Šค์— ์žˆ๋Š” ํŒจํ‚ค์ง€๋Š” ๊ณ ์ •๋ฒ„์ „์ด ์•„๋‹ˆ๋ผ ์›Œํฌ์ŠคํŽ˜์ด์Šค ํ”„๋กœํ† ์ฝœ์„ ์“ฐ๋„๋ก ๊ฐ•์ œ๊ฐ€ ๊ฐ€๋Šฅ
ํ”ผ์–ด ๋””ํŽœ๋˜์‹œ ๋ˆ„๋ฝ ๊ฒ€์ฆ ๋ฐ ์ž๋™์ถ”๊ฐ€: ํ”ผ์–ด ๋””ํŽœ๋˜์‹œ๊ฐ€ ๋ˆ„๋ฝ๋˜์—ˆ๋Š”์ง€ ์ฒดํฌํ•˜๊ณ , ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ฑฐ๋‚˜ ์ž๋™์ ์œผ๋กœ devDeps/Deps์— ๋ˆ„๋ฝ๋œ ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€
package.json์˜ ํ•„๋“œ ์ œ์•ฝ: ์˜ˆ๋ฅผ ๋“ค์–ด ํŒจํ‚ค์ง€ ์ด๋ฆ„์— prefix๊ฐ€ ๋ถ™์–ด์žˆ์–ด์•ผ ํ•˜๋Š”์ง€ ๊ฒ€์ฆ๊ฐ€๋Šฅ
์ด ์ค‘์—์„œ ์ผ๋ถ€๋Š” PNPM์ด๋‚˜ Syncpack์„ ์‚ฌ์šฉํ•ด์•ผ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ธฐ๋Šฅ์„ ์ž ๊ธˆํ•ด์ œํ•œ๋‹ค. [yarn berry ๊ณต์‹ ์„ค์ • / yarn-constraints-rules] ์˜ˆ๋ฅผ ๋“ค์–ด ๋™์ผํ•œ ํŒจํ‚ค์ง€ ๋ฒ„์ „ + ํŒจํ‚ค์ง€ ๋ฒ„์ „ ๋ฒ”์œ„ ํ†ต์ œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ณ  (๋ฌผ๋ก  yarn-plugin-catalogs๋ผ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ๋„ ์กด์žฌํ•œ๋‹ค) ํ”ผ์–ด ๋””ํŽœ๋˜์‹œ ์„ค์น˜๋„ ์กฐ๊ธˆ์˜ ๋…ธ๋ ฅ๋งŒ ๋“ค์ด๋ฉด ๊ฐ€๋Šฅํ•˜๋‹ค.
๊ทธ๋Ÿผ PNPM์—์„œ ๊ฐ€์ง€๋Š” ํŠน์ง•์ ์ธ ๊ธฐ๋Šฅ์  ์žฅ์ ์€ SideEffect ์บ์‹œ์ •๋„์ด๋‹ค. ์ด๊ฒƒ๋„ ์•„๋งˆ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋งŒ๋“ ๋‹ค๋ฉด ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•œ ์ด์Šˆ๋กœ ๋ณด์ธ๋‹ค.
์ด์™ธ์— ์•ž์œผ๋กœ ๋„์ž…๋  auto install, yarn run ์˜ค๋ฒ„ํ—ค๋“œ ๊ฐ์†Œ ๋“ฑ์˜ ๋กœ๋“œ๋งต๋„ ๊ธฐ๋Œ€๊ฐ€ ๋œ๋‹ค.
Tumblr media
์ด์™€ ๋ณ„๊ฐœ๋กœ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž˜ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” project reference๋ฅผ ์ž˜ ์„ค์ •ํ•˜๋Š”๊ฒŒ ํ•„์ˆ˜์ธ๋ฐ
์—๋””ํ„ฐ ํ†ตํ•ฉ: project reference๊ฐ€ ์ž˜ ์„ค์ •๋˜์–ด ์žˆ์–ด์•ผ workspace root๋ฅผ ์—๋””ํ„ฐ๋กœ ์—ด์–ด๋„ ํŒจํ‚ค์ง€์˜ ํƒ€์ž… ์ถ”๋ก ์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค
์ ์ ˆํ•œ ํƒ€์ž…์ถ”๋ก : App.tsx์™€ vite.config.ts์ฒ˜๋Ÿผ ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ ์ ์ ˆํ•œ ํƒ€์ž…์ถ”๋ก ์„ ์œ„ํ•ด์„œ๋Š” project reference ์„ค์ •์ด ํ•„์š”ํ•˜๋‹ค
์„ฑ๋Šฅ: tsc --build๋ฅผ ํ†ตํ•ด ๋นŒ๋“œํ•˜๋ฉด ํ† ํด๋กœ์ง€์ปฌํ•œ ์ฆ๋ถ„๋นŒ๋“œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
๋ฌธ์ œ๋Š” ์ œ๋Œ€๋กœ ์„ค์ •ํ•˜๊ธฐ๋‚˜, ์ž๋™์œผ๋กœ ์„ค์ •ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค. root, local, package ์ฐธ์กฐ์— ๋”ฐ๋ผ ๋ชจ๋‘ ์„ค์ •ํ•ด์ค˜์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋‹คํ–‰ํžˆ ์ €๋„ ์•ฝ๊ฐ„ ๊ธฐ์—ฌํ•œ @monorepo-utils/workspaces-to-typescript-project-references๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๊ฒฐ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. (yarn๊ณผ npm๋งŒ ๊ฐ€๋Šฅ)
ํ˜„์žฌ ๋‚จ์•„์žˆ๋Š” ๊ฐ€์žฅ ํฐ ๋ถˆ๋งŒ์€ Changeset์—์„œ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๋‹ค๋Š”์ ์ด๋‹ค. yarn pack์„ ๋จผ์ € ์‹คํ–‰ํ•˜๊ณ  publish ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์šฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ธด ํ•˜์ง€๋งŒ..
3. ๋ฆฐํŠธ / ํฌ๋งคํŒ…
ํŒŒ์ด์ฌ์„ ์‚ฌ์šฉํ–ˆ์„๋•Œ๊ฐ€ ๊ฐ€๋” ๊ทธ๋ฆฌ์› ๋˜ ๊ฒƒ ์ค‘ ํ•˜๋‚˜๋Š” ruff์ด๋‹ค. prettier/eslint ๋ถ„๋ฆฌ๋ฅผ ์ƒ๊ฐํ•  ํ•„์š”๊ฐ€ ์—†๊ณ  ์—๋””ํ„ฐ์—์„œ ๊ฑฐ์˜ ์ฆ‰์‹œ ๋ฆฐํŠธ์™€ ํฌ๋งคํŒ…์ด ๊ฐ€๋Šฅํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
๊ทธ๋Ÿฌํ•œ ๋ฉด์—์„œ Biome๊ฐ€ ๋™์ผํ•˜๊ฒŒ ๊ธฐ๋Œ€๋œ๋‹ค.
Tumblr media
๋‹ค๋งŒ ์™„์ „ํžˆ ๋Œ€์ฒด๊ฐ€ ๊ฐ€๋Šฅํ• ์ง€ ๋ฏธ์ง€์ˆ˜๋‹ค. Prettier๋Š” ํ™•์‹คํžˆ ๊ฐ€๋Šฅํ•˜๊ฒ ์ง€๋งŒ, ESLint์˜ ํ’๋ถ€ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ/์„ค์ • ์ƒํƒœ๊ณ„์— ๋น„ํ• ๋ฐ”๋Š” ์•„๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด typescript์™€ ํ†ตํ•ฉ์— ์žˆ์–ด projectService์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์ด๋ผ๊ฑฐ๋‚˜ yaml๊ณผ ๊ฐ™์€ ์ถ”๊ฐ€์ ์ธ lint ๊ธฐ๋Šฅ๋“ค์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค.
๋”ฐ๋ผ์„œ ํ˜„์žฌ๋กœ์„  lint๋Š” eslint๋กœ, formatter๋Š” biome์™€ ํ•จ๊ป˜ ์“ฐ๋Š” ๋ฐฉํ–ฅ์ด ํ•ฉ๋ฆฌ์ ์ด๋ผ ์ƒ๊ฐํ•œ๋‹ค. formatter์˜ ๊ฒฝ์šฐ๋„ vue, mdx, yaml, toml๊ณผ ๊ฐ™์€ ํŒŒ์ผ๋“ฑ๋„ ํ•จ๊ป˜ ์ง€์›ํ•ด์•ผ ํ•œ๋‹ค๋ฉด prettier์—์„œ ๋ชป๋„˜์–ด๊ฐ€์ง€ ์•Š์„๊นŒ
4. ๋นŒ๋“œ
Biome์™€ ๋™์ผํ•œ ๋งฅ๋ฝ์œผ๋กœ Rolldown์ด ๋ฏธ๋ž˜์ด๋ฉฐ, vite์—์„œ๋„ ์‹คํ—˜์ ์œผ๋กœ๋Š” ์ ์šฉ์ค‘์ด์ง€๋งŒ ์•ˆ์ •ํ™”์—๋Š” 1๋…„์€ ๊ฑธ๋ฆฌ์ง€ ์•Š์„๊นŒ?
Tumblr media
CSS ํ›„์ฒ˜๋ฆฌ ์—ญ์‹œ Lighting CSS์™€์˜ ํ†ตํ•ฉ์œผ๋กœ ๋งค์šฐ ๋น ๋ฅธ ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
์—ญ์‹œ ๋ฌธ์ œ๋Š” ๋นŒ๋“œ์‹œ ์„ฑ๋Šฅ ๋ณ‘๋ชฉ์ธ ํƒ€์ž… ๋นŒ๋“œ๋‹ค. ์ง€๊ธˆ๋„ ์ผ๋ฐ˜ ๋นŒ๋“œ๋Š” 10์ดˆ๋ฉด ๋๋‚˜์ง€๋งŒ ํƒ€์ž… ๋นŒ๋“œ๋Š” vite-plugin-dts๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด 1๋ถ„ ๋„˜๊ฒŒ ๊ฑธ๋ฆฐ๋‹ค.
๋ฏธ๋ž˜์— Typescript Native(Typescript 7.0)๊ฐ€ ์‚ฌ์šฉ๋˜๋ฉด ์ข€ ๋นจ๋ผ์ง€๊ฒ ์ง€๋งŒ ๊ทผ๋ณธ์ ์œผ๋กœ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ๋น„ํšจ์œจ์ ์œผ๋กœ ์„ค๊ณ„๋˜์–ด ๋А๋ฆฌ๋‹ค๋Š” ์ƒ๊ฐ์€ ๋ฒ„๋ฆด์ˆ˜๊ฐ€ ์—†๋‹ค.
๋•Œ๋ฌธ์— vite-plugin-dts-build๋ผ๋Š” vite ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋งŒ๋“ค์—ˆ๋‹ค. (Type rollup ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•  ์ƒ๊ฐ์ด ์—†์–ด vite-plugin-tsc-build๋ผ๊ณ  ๋ถ™์ด๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ ์ด๋ฏธ ์žˆ๋”๋ผใ… ใ… )
tsc --build ์ฒ˜๋Ÿผ ์ฆ๋ถ„๋นŒ๋“œ
๋ถ„๋ฆฌ๋œ ์›Œ์ปค์—์„œ ๋ณ‘๋ ฌ ์‹คํ–‰
vite์˜ library mode์—์„œ ์—ฌ๋Ÿฌ format์ด ์‹คํ–‰๋ ๋•Œ ์ค‘๋ณต์œผ๋กœ ์‹คํ–‰๋˜์ง€ ์•Š์Œ
3๋ฒˆ์€ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ด๊ฐ€ ๊ฐ€์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค. ๋ถ€์—ฐ ์„ค๋ช…์„ ํ•˜์ž๋ฉด CommonJS์™€ ESM์„ ๋™์‹œ์— ์ง€์›ํ•˜๋ ค๋ฉด ๊ฐ๊ฐ์„ ๋Œ€์‘ํ•˜๋Š” package.json export๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ ๋”ฐ๋ผ์„œ ๊ฐ๊ฐ์˜ mjs, cjs๋ฅผ ๋นŒ๋“œํ•ด์•ผ ํ•œ๋‹ค. ์ด๋•Œ plugin์€ 2๋ฒˆ์”ฉ ์‹คํ–‰๋œ๋‹ค.
ํƒ€์ž…๋„ ๊ทธ์— ๋งž์ถ”์–ด ESM๋ฒ„์ „๊ณผ ModuleKind.CommonJS ๋ฐ ModuleResolutionKind.Node10๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ dts ์„ธํŒ…์„ 2๋ฒˆํ•ด์ค˜์•ผ ๋ฌธ์ œ์—†๋„๋ก export๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.
๋ฌธ์ œ๋Š” ์œ„์™€ ๊ฐ™์ด ์„ธํŒ…์ด ๋œ ๊ฒฝ์šฐ ์ด 4๋ฒˆ์ด ์‹คํ–‰์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฝ์„ ๊ฑธ์–ด ๊ฐ dts ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์ •์€ ํ•œ๋ฒˆ์”ฉ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณด์žฅํ–ˆ๋‹ค.
์ถ”๊ฐ€) Are the types wrong?์„ ์‚ฌ์šฉํ•˜๋ฉด ํƒ€์ž…์ด ์ž˜ export๋˜์—ˆ๋Š”์ง€ ์ฒดํฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
Tumblr media Tumblr media
์˜ˆ๋ฅผ ๋“ค์–ด vite-plugin-dts๋Š” ๐Ÿ‘บ Masquerading as ESM ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. (๊ทผ๋ฐ ์œ„ ๋ฌธ์ œ๋ฅผ ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด ์ƒ๊ฐ๋ณด๋‹ค ์ ์€๊ฒƒ ๊ฐ™๋‹ค...)
์ด์™ธ์— TypeScript ๋นŒ๋“œ๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค ๋ฐฉ๋ฒ•๋„ ์žˆ๋Š”๋ฐ ์ผ๋ฐ˜์ ์ด์ง€๋Š” ์•Š๋‹ค.
assumeChangesOnlyAffectDirectDependencies: ์˜ํ–ฅ์„ ๋ฐ›์€ ํŒŒ์ผ๋“ค์€ ์žฌ๊ฒ€์‚ฌ/์žฌ๋นŒ๋“œ ํ•˜์ง€์•Š๊ณ , ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ๊ณผ ์ง์ ‘ importํ•œ ํŒŒ์ผ๋งŒ ์žฌ๊ฒ€์‚ฌ/์žฌ๋นŒ๋“œ๋˜๋ฏ€๋กœ ์ •ํ™•๋„๊ฐ€ ๋‚ด๋ ค๊ฐ„๋‹ค
isolatedDeclarations: ๋ณ‘๋ ฌ์ ์œผ๋กœ ํƒ€์ž…์„ ๋นŒ๋“œํ•˜๊ฑฐ๋‚˜ ๊ฒ€์‚ฌํ• ๋•Œ ๋„์›€์ด ๋˜์ง€๋งŒ, ๋ช…์‹œ์ ์œผ๋กœ ๊ฐ ํƒ€์ž…๋“ค์„ ์ฝ”๋“œ ๋‹จ์œ„์—์„œ ๋ณ€๊ฒฝํ•˜๋Š”๊ฒŒ ์š”๊ตฌ๋œ๋‹ค
5. ํƒœ์Šคํฌ ๋Ÿฌ๋„ˆ
ํ˜„์žฌ ๊ฐ€์žฅ ๋นˆ๊ณต๊ฐ„์ด ๋งŽ์€ ํˆด์ด๋ผ ๋А๊ปด์ง„๋‹ค.
Yarn์˜ ํœด๋Œ€์šฉ shell + Vercel์˜ Turborepo์˜ ์„ค์ •์ด ์ •๋ง ๊ฐ„๊ฒฐํ•ด์„œ ํŽธํ•˜๋‹ค.
Root์™€ ์›Œํฌ์ŠคํŽ˜์ด์Šค์˜ NPM script ๊ณต์œ 
Turbo Repo์˜ ์ฆ๋ถ„/๋ณ‘๋ ฌ์‹คํ–‰๊ณผ Remote caching
Tumblr media
๋ณต์žกํ•œ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋Š” ๋‹จ์ˆœํžˆ NPM script์— ์“ฐ์ด๋Š” ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์•„๋‹ˆ๋ผ JavaScript (ํ˜น์€ TypeScript)๋กœ ์“ฐ์ธ ํƒœ์Šคํฌ ๋งค๋‹ˆ์ €๋ฅผ ์›ํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.
์ด๋ฅผํ…Œ๋ฉด Grunt๋‚˜ Gulp ๊ฐ™์€ ๊ฒƒ๋“ค ๋ง์ด๋‹ค.
Tumblr media
์ด ์ค‘์—๋Š” Gulp์˜ Task ์‚ฌ์šฉ๋ฒ•์ด ๊ฐ€์žฅ ํ•ฉ๋ฆฌ์ ์ด๋ผ ์—ฌ๊ฒจ์ง„๋‹ค.
Gulp์˜ ๋ฌธ์ œ๋ผ ํ•œ๋‹ค๋ฉด, Turborepo์™€ ๊ฐ™์€ ํ† ํด๋กœ์ง€/์ฆ๋ถ„/๋ณ‘๋ ฌ ์‹คํ–‰ ๊ธฐ๋Šฅ์ด ๋ถ€์กฑํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํŒจํ‚ค์ง€ ๋‹จ์œ„์˜ ์œ„์ƒ์  ์‹คํ–‰์€ ์›๋ž˜ ์ง€์›ํ•˜์ง€ ์•Š์•˜๊ณ , ์ฆ๋ถ„์—์„œ๋Š” lastRun์ด๋ผ๋Š” ํ•จ์ˆ˜๊ฐ€ ์žˆ์ง€๋งŒ, ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊บผ์ง€๋ฉด ์ •๋ณด๊ฐ€ ์‚ฌ๋ผ์ง„๋‹ค. ๋ณ‘๋ ฌ์—์„œ๋Š” parallel์ด๋ผ๋Š” ํ•จ์ˆ˜๊ฐ€ ์žˆ์ง€๋งŒ, ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉ๋˜๋Š” now-and-later๋ผ๋Š” ํŒจํ‚ค์ง€์˜ ์ฝ”๋“œ๋ฅผ ์ฝ์–ด๋ณด๋ฉด ์‹ค์ œ ๋ณ‘๋ ฌ์ด๋ผ๊ธฐ๋ณด๋‹ค๋Š” ๋™์‹œ์„ฑ ๊ธฐ๋Šฅ์— ๊ฐ€๊น๋‹ค.
Turborepo์˜ JavaScript interface๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ฐธ ์ข‹๊ฒ ์ง€๋งŒ, ๋ถˆํ–‰ํ•˜๊ฒŒ๋„ Node์™€์˜ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋งŒ์•ฝ ์ œ์ž‘ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด Microsoft์˜ Rush(lib)๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ํ˜„์‹ค์ ์ด์ง€ ์•Š์„๊นŒ? Turborepo์˜ ํŽธ์•ˆํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋นŒ๋ฆฌ๋”๋ผ๋„ ๋ง์ด๋‹ค.
๋ชจ๋“  ์›Œํฌ์ŠคํŽ˜์ด์Šค์˜ ํƒœ์Šคํฌ, vitest์™€ ๊ฐ™์€ ๊ฒƒ๋“ค๊นŒ์ง€ ์ตœ์ ์˜ ์‹คํ–‰์‹œ๊ฐ„์„ ๋ณด์žฅํ•˜๋ ค๋ฉด ์œ„์ž„ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ธ€๋กœ๋ฒŒ ์›Œ์ปค ํ’€ / ํ”„๋กœ๋ฏธ์Šค ํ’€์ด ๊ตฌํ˜„๋˜๋Š” ๊ฒƒ๋„ ํ•„์š”ํ•˜์ง€ ์•Š๋‚˜ ์‹ถ๋‹ค.
์ด ์ •๋„๊ฐ€ Frontend Monorepo์—์„œ ๋‹น์žฅ ์ƒ๊ฐ๋‚˜๋Š” ์š”๊ตฌ์‚ฌํ•ญ๋“ค ๊ฐ™๋‹ค. ๋งŒ์•ฝ ๋‹ค๋ฅธ ์–ธ์–ด๊นŒ์ง€ ํฌํ•จ๋œ backend๊นŒ์ง€ ํ•ฉ์ณ์ง„ ํ˜•ํƒœ๋ผ๋ฉด bazel ์“ฐ๋Š”๊ฒŒ..ใ…‹ใ…‹
0 notes
kontakrecruitmentagency ยท 1 month ago
Text
Tumblr media
๐Ÿš€ Full-Stack Web Developer (JB5345) ๐Ÿ’ป Fully Remote (SA-based applicants only) ๐Ÿ’ฐ R40โ€ฏโ€“โ€ฏR60K CTC p/m Permanent Join a fast-growing UK investment firm as a Full-Stack Dev! Build & maintain high-performance, responsive websites with clean UI, solid functionality & strong SEO. Work closely with global teams in a fully remote setup. Required: โœ… 3โ€“5 yrs dev experience โœ… HTML, CSS, JS + React/Angular/Vue โœ… PHP, Node.js, Python or Ruby on Rails โœ… CMS: WordPress, Webflow, Joomla, Shopify โœ… DB: MySQL, PostgreSQL, Oracle, MongoDB โœ… REST APIs, Git, SEO, Google Analytics โœ… Bonus: WooCommerce, Magento, Shopify, AWS, Python Plotly ๐Ÿ”ง Hardware: i7/Ryzen 7+, 16โ€“32GB RAM, SSD, Fibre, Backup power & LTE recommended ๐Ÿ“Œ Duties: Build responsive websites Collaborate with project teams Write clean, scalable code Optimize performance & SEO Implement security & API integrations Ready to work with cutting-edge tech & grow your career? ๐Ÿ”— Apply today! https://bit.ly/WebDevJB5345
@kontakrecruitmentagency โ— No scanned CVs. SA applicants only. #WebDeveloper #RemoteJobs #FullStack #DeveloperJobs #SouthAfrica #TechJobs #KontakRecruitment
0 notes
enstackedtechnologies ยท 2 months ago
Text
Compare Vue js and React js to find the best framework for your project, based on performance, ease of use, and flexibility.
1 note ยท View note
shabaresh ยท 2 months ago
Text
Tumblr media
NovaTales - web development company | At NovaTales, we craft engaging, user-friendly web applications using technologies like React JS, Vue JS, Next JS, Angular, and Flutter. Our expert team ensures modern design, high performance, and seamless user experiences tailored to diverse project needs.
0 notes
parasitic-inductance ยท 3 months ago
Text
03/29/2025
Anyway's y'all... my W2025 dreams were never really conceived
My academic comeback never happened because of burnout :/
Here's to April goals <3
PROJECTS TO COMPLETE
fix an old project so that it legitimately works (Python/Flask)
any MERN project -> Recipe book idea!
anything computer vision related
KNOWLEDGE TRANSFER
Web-dev combo (HTML/CSS/JS)
Front-end frameworks: React, Angular, Vue
Back-end: Python/Flask:Django, Java/Spring:Spring Boot, Ruby/Ruby on Rails, JS/Express.JS
CSS: Bootstrap/Tailwind
Web-server: Apache*
Honest to God.. we are not gonna accomplish all of this
But at least having a structure is the way to go, no?
OTHER (FOR FUN..)
Cybersecurity book & projects (one per week..)
UWARG (review embedded stuff and look into CAN procedure on Sat)
0 notes
tccicomputercoaching ยท 3 months ago
Text
Why React JS is the Best Frontend Framework in 2025
Tumblr media
Introduction
The web development industry changes at light speed. Picking the right frontend framework is paramount for developers. Why React JS is the Best Frontend Framework in 2025? It continues to dominate due to its efficiency, flexibility, and scalability. React JS remains the most favored choice for building modern web applications, making it the go-to framework for developers worldwide. Let's dive deeper into the reasons for its success.
What is React JS?
React JS is an open-source JavaScript library for building dynamic and interactive user interfaces, developed by Facebook (now Meta). Since 2013, with the advent of React, frontend development has been revolutionized for developers to develop scalable web applications in a more streamlined manner.
Why React JS is the Preferred Framework for Frontend Development in 2025
React JS remains the top choice for frontend development through its widespread adoption, industry demand, and continuous improvements. Companies like Facebook, Instagram, Airbnb, and Netflix implement React for their web application.
Key Features that Make React JS the Default Choice
1. Component-Based Architecture
This component-based ideation provides developers the freedom to accomplish the UI canvassed in variations and reusable components, thus increasing the efficiency of the development process.
2. The Virtual DOM for Fast Rendering
React implements the Virtual DOM, which means it only changes the needed part of the UI instead of rendering the entire UI, leading to greater performance and speed.
3. One-Way Data Binding
This is a common feature that provides unidirectional data flow within the application, aiding debugging processes, and thus further strengthens application stability.
4. Reusable Components
React components are reusable across different projects, which helps in preventing redundancy and aids in faster product development.
Performance and Efficiency
Due to efficient rendering processes and optimizing updates, React works as one of the fastest frameworks. Compared to Angular and Vue, React ensures better load-time and user experience with the help of its Virtual DOM.
React and SEO Friendliness
Server-Side Rendering (SSR) by Next.js
React with Next.js makes server-side rendering possible, making it perhaps SEO and search engine visibility friendly.
React Hooks - The Real Game Changer
Hooks, introduced with React 16.8, let developers employ state and other React features without writing class components. This ultimately leads to much cleaner and easier-to-manage code.
React Native-Going Beyond Web Development
Using the same React JS code base, a developer can now create mobile applications faster for cross-platform development.
Support from Community and Ecosystem
Unlike any other framework, React with its dynamic community of developers and rich culture of libraries and tools offer undeterred support and resources to its developers.
Easy to Learn and Strong Documentation
React documentation is well structured, backed by tons of tutorials, putting it among the frameworks easy to learn compared to Angular and Vue.
Integration With Modern Development Tools
React has great integration with TypeScript, Redux, and backend technologies, making it a wonderful application in modern web development.
The Future of React JS
React continues to grow with newer features and updates to keep it mainstream and in the lead among frontend development.
Why Learn React JS at TCCI-Tririd Computer Coaching Institute?
TCCI provides expert professors for training, hands-on project learning, and career support, thus facilitating students' understanding of React JS and assisting them in attaining high-paying jobs in the industry.
Conclusion
Due to its efficiency, scalability, and the strong community backing it enjoys, by 2025 React JS remains the best frontend framework out there. If you want to create modern web applications, then learning React would be imperative!
Location: Bopal & Iskon-Ambli Ahmedabad, Gujarat
Call now on +91 9825618292
Get information from: https://tccicomputercoaching.wordpress.com/
0 notes