What You Will Learn:
In this workshop, you’ll learn how to significantly enhance the quality and maintainability of your Angular projects through a focused, one-day intensive session.
By the end of the day, you will be able to:
✔️ Create Custom ESLint Rules: Craft your own ESLint rules and harness existing ones to tailor code quality checks to your team’s specific needs.
✔️ Develop Angular Schematics: Build your own schematics from scratch to automate and standardize the creation of code structures within your projects.
✔️ Apply Code Metrics: Utilize key metrics like the Maintainability Index, Cyclomatic Complexity, and Code Churn to analyze and improve your project’s performance.
We’ll kick off with ESLint, where you’ll learn to craft your own rules step-by-step. By the end, you’ll be equipped to create customizable rules that not only fix code automatically but also efficiently validate Angular templates.
The journey continues with Angular Schematics. You’ll start from the basics, learning how to develop them to automate the generation of repetitive code segments and ensure consistent use of libraries across your projects. You’ll also learn how to integrate these tools into the powerful ng update process.
We'll also take a look at the Nx Generators—a powerful enhancement to Schematics that adds features and tools for more sophisticated development workflows.
We’ll conclude the workshop by exploring code metrics, focusing on key indicators such as the Maintainability Index, Cyclomatic Complexity, and Code Churn. You will understand how these metrics operate, what benefits they offer, and how they can be used to gauge and improve the health of your codebase.
Additionally, we’ll cover popular tooling such as SonarQube and discuss how to seamlessly integrate it into your CI (GitHub Actions) process for continuous quality checks.
Detailed Agenda
ESLint
▪︎ Flat vs legacy config
▪︎ Creating rules
▪︎ Processing TypeScript with typescript-eslint
▪︎ TypeScript AST
▪︎ Customizable rules
▪︎ Creating plugins
▪︎ Testing rules
Schematics
▪︎ Setting up Schematics
▪︎ Using template for code generation
▪︎ Parameterizing Schematics
▪︎ Accessing the file system
▪︎ Managing dependencies with Schematics
▪︎ Testing schematics
▪︎ Bundling and publishing
▪︎ ng add & ng update
▪︎ Reading templates
▪︎ Nx Generators
Metrics
▪︎ Understanding common metrics
▪︎ Using SonarQube
▪︎ Combining Quality Gates & GitHub Actions
Independent Consultant, Architect, Developer & Trainer, Poland
Security Expert, Founder, GDE, Pragmatic Web Security | Belgium
Senior JavaScript Developer, Atos | Poland
Engineering Manager & Frontend SME, eBay | Netherlands
Nuxt Core Team, Leetchi | France
Front End Developer, GDE, Microsoft MVP , CAIS | UK
Tech Lead, Full-stack AI Engineer, GDE, Tikal | Israel
Front-end developer, Conscensia | Poland
Staff Engineer, Mapbox | USA
Senior Software Engineer / Power Grid Gdańsk R&D Manager, Volue/Bottega IT Minds | Poland
Senior Software Developer, Atlantis S.R.L. | Italy
Angular / .NET Developer / Team Lead, Conscensia | Poland
GDE for Angular, softwarearchitekt.at | Austria
Senior Fullstack Developer & Advocate, GDE, Monterail | Poland
Back End Developer, Podme | Sweden
Managing Delivery Architect, Capgemini | Poland
Senior Staff Engineer, GDE, SFEIR | Luxembourg
Principal Engineer, Google Developers Expert, Jumbo Supermarkten | Netherlands
GDE, Expert Web Consultant, Trainer, Mentor, Angular Training | France
Trainer & Consultant, AngularArchitects.io | Austria
Senior Software Engineer, Snowflake | Canada
Passionate Angular Developer, Angular Architects | Austria
Software Development Cook, Teacher & Coach, GDE | France
Software-Architekt, Thinktecture AG | Germany
Trainer and Consultant, AngularArchitects.io | Austria
Google Developer Expert, Author, Podcaster, NG/JS/AI POLAND | Poland
Sign up to receive updates about JS Poland, including workshops, speaker previews, ticket launches, JS Awards, JavaScript Master Podcast, Behind the Code Magazine, CFP details and other exclusive content. We won’t spam you and will only send you emails we genuinely think you’ll find interesting. You can unsubscribe at any time and you can find more information here.