diff --git a/docs/blog/2024-01-24-monorepos-the-benefits-challenges-and-importance-of-tooling-support.md b/docs/blog/2024-01-24-monorepos-the-benefits-challenges-and-importance-of-tooling-support.md index a2d5fe14da..ce8e9b88e4 100644 --- a/docs/blog/2024-01-24-monorepos-the-benefits-challenges-and-importance-of-tooling-support.md +++ b/docs/blog/2024-01-24-monorepos-the-benefits-challenges-and-importance-of-tooling-support.md @@ -1,6 +1,7 @@ --- title: 'Monorepos: the Benefits, Challenges, and Importance of Tooling Support ' description: 'Learn how monorepos and better tooling can help you overcome challenges in software development like scalability, maintenance, communication, and cost.' +date: 2024-01-24 slug: 'monorepos-the-benefits-challenges-and-importance-of-tooling-support' authors: ['Juri Strumpflohner'] tags: [webinar] diff --git a/docs/blog/2024-03-11-nx-agents-walkthrougheffortlessly-fast-ci-built-for-monorepos.md b/docs/blog/2024-03-11-nx-agents-walkthrough-effortlessly-fast-ci-built-for-monorepos.md similarity index 67% rename from docs/blog/2024-03-11-nx-agents-walkthrougheffortlessly-fast-ci-built-for-monorepos.md rename to docs/blog/2024-03-11-nx-agents-walkthrough-effortlessly-fast-ci-built-for-monorepos.md index 37925306ca..6b39960dfe 100644 --- a/docs/blog/2024-03-11-nx-agents-walkthrougheffortlessly-fast-ci-built-for-monorepos.md +++ b/docs/blog/2024-03-11-nx-agents-walkthrough-effortlessly-fast-ci-built-for-monorepos.md @@ -1,8 +1,8 @@ --- -title: "Nx Agents Walkthrough: -Effortlessly Fast CI Built for Monorepos" -description: "Learn how you can streamline your existing CI config to its absolute simplest form, reducing CI times from 30 minutes to ~5 minutes with Nx Agents. " -slug: 'nx-agents-walkthrougheffortlessly-fast-ci-built-for-monorepos' +title: 'Nx Agents Walkthrough: Effortlessly Fast CI Built for Monorepos' +description: 'Learn how you can streamline your existing CI config to its absolute simplest form, reducing CI times from 30 minutes to ~5 minutes with Nx Agents. ' +date: 2024-03-11 +slug: 'nx-agents-walkthrough-effortlessly-fast-ci-built-for-monorepos' authors: ['Rareș Matei'] tags: [webinar] cover_image: /blog/images/2024-03-11/march-webinar.png diff --git a/docs/blog/2024-04-17-making-the-argument-for-monorepos.md b/docs/blog/2024-04-17-making-the-argument-for-monorepos.md index f897a98f5e..ebf89baf90 100644 --- a/docs/blog/2024-04-17-making-the-argument-for-monorepos.md +++ b/docs/blog/2024-04-17-making-the-argument-for-monorepos.md @@ -1,6 +1,7 @@ --- title: 'Making the Argument for Monorepos' -description: 'Trying to convince your colleagues to use a monorepo? Already using a monorepo and need to justify that decision? Check out this webinar to learn 7 essential reasons for using monorepos and bust a few myths and misconceptions along the way.' +description: 'Trying to convince your colleagues to use a monorepo? Already using a monorepo and need to justify that decision? Check out this webinar to learn 7 essential reasons for using monorepos and bust a few myths and misconceptions along the way.' +date: 2024-04-17 slug: 'making-the-argument-for-monorepos' authors: ['Miroslav Jonaš'] tags: [webinar] diff --git a/docs/blog/2024-06-26-monorepos-and-ci-can-be-a-mess-heres-how-nx-and-nx-cloud-fixed-it.md b/docs/blog/2024-06-26-monorepos-and-ci-can-be-a-mess-heres-how-nx-and-nx-cloud-fixed-it.md index c937fe86e2..19257efba8 100644 --- a/docs/blog/2024-06-26-monorepos-and-ci-can-be-a-mess-heres-how-nx-and-nx-cloud-fixed-it.md +++ b/docs/blog/2024-06-26-monorepos-and-ci-can-be-a-mess-heres-how-nx-and-nx-cloud-fixed-it.md @@ -2,6 +2,7 @@ title: "Monorepos and CI can be a Mess - Here's How Nx and Nx Cloud Fixed It" description: "Continuous Integration (CI) in monorepos can be notoriously slow and unreliable, quickly become a bottleneck for scaling monorepos. Learn how Nx and Nx Cloud's new task-based approach ensures fast, resilient, and efficient CI for your monorepo projects." +date: 2024-06-26 slug: 'monorepos-and-ci-can-be-a-mess-heres-how-nx-and-nx-cloud-fixed-it' authors: ['Juri Strumpflohner'] tags: [webinar] diff --git a/docs/blog/2025-01-22-nx-cloud-scale-your-ci-and-team-with-ease.md b/docs/blog/2025-01-22-nx-cloud-scale-your-ci-and-team-with-ease.md index b8834d0acd..9eac2e0d78 100644 --- a/docs/blog/2025-01-22-nx-cloud-scale-your-ci-and-team-with-ease.md +++ b/docs/blog/2025-01-22-nx-cloud-scale-your-ci-and-team-with-ease.md @@ -1,17 +1,15 @@ --- title: 'Nx Cloud: Scale Your CI and Team with Ease' description: 'Learn how you can attain fast, reliable CI and better coordination across your technical organization with Nx Cloud, and see our new multi-workspace features for organizational scaling in action.' +date: 2025-01-22 slug: 'nx-cloud-scale-your-ci-and-team-with-ease' authors: ['Nicole Oliver', 'Rareș Matei', 'James Henry'] tags: [webinar] cover_image: /blog/images/2025-01-22/Jan-webinar-image.png -time: 1-2pm ET/6-7pm UTC status: Past - Gated registrationUrl: https://go.nx.dev/jan2025-webinar --- -**Jan 22, 2025 - 1-2pm ET/6-7pm UTC** - Presented by Nicole Oliver, Rareș Matei, and James Henry Learn how you can attain fast, reliable CI and better coordination across your technical organization with Nx Cloud, and see our new multi-workspace features for organizational scaling in action. diff --git a/docs/blog/2025-02-26-react-development-for-2025.md b/docs/blog/2025-02-26-react-development-for-2025.md index 3a0fcb2922..d1f2e8a7c4 100644 --- a/docs/blog/2025-02-26-react-development-for-2025.md +++ b/docs/blog/2025-02-26-react-development-for-2025.md @@ -1,21 +1,19 @@ --- title: "React Development for 2025" -description: "In this webinar, we’ll dive into building modern React applications using platform-native tools like NPM workspaces and TypeScript project references. +description: "In this webinar, we’ll dive into building modern React applications using platform-native tools like NPM workspaces and TypeScript project references. Learn how Nx improves the developer experience all while letting you ship your React apps faster. We’ll explore features like project references, how they work, and why they can significantly improve the performance of large React and TypeScript monorepos, both locally and on CI." +date: 2025-02-26 slug: 'react-development-for-2025' authors: ['Juri Strumpflohner'] tags: [webinar] cover_image: /blog/images/2025-02-26/Feb-Webinar-Card.png -time: 2-3pm ET/7-8pm UTC -status: Upcoming +status: Past - Gated registrationUrl: https://go.nx.dev/feb2025-webinar --- -**Feb 26, 2025 - 2-3pm ET/7-8pm UTC** - Presented by Juri Strumpflohner In this webinar, we’ll dive into building modern React applications using platform-native tools like NPM workspaces and TypeScript project references. Learn how Nx improves the developer experience all while letting you ship your React apps faster. We’ll explore features like project references, how they work, and why they can significantly improve the performance of large React and TypeScript monorepos, both locally and on CI. -{% call-to-action title="Register today!" url="https://go.nx.dev/feb2025-webinar" description="Save your spot" /%} +{% call-to-action title="Download the recording" url="https://go.nx.dev/feb2025-webinar" description="Sign up to gain access" /%} diff --git a/docs/blog/2025-03-06-making-cursor-smarter.md b/docs/blog/2025-03-06-making-cursor-smarter.md index 9bc5acd972..a262d4be4b 100644 --- a/docs/blog/2025-03-06-making-cursor-smarter.md +++ b/docs/blog/2025-03-06-making-cursor-smarter.md @@ -17,6 +17,8 @@ youtubeUrl: https://youtu.be/V2W94Sq_v6A A couple of weeks ago, we [announced how Nx makes your LLM smarter](/blog/nx-just-made-your-llm-smarter) by providing rich metadata about your monorepo structure, project relationships, and architectural context. This enhancement was initially available through GitHub Copilot in VSCode, but now we're taking it a step further by implementing the Model Context Protocol (MCP) for Cursor, making your AI assistant even more powerful. +{% call-to-action title="Learn more about Nx and AI" url="https://go.nx.dev/march2025-webinar" description="LLM-focused Webinar on March 19th" /%} + {% toc /%} ## What is the Model Context Protocol (MCP)? diff --git a/docs/blog/2025-03-19-are-monorepos-the-answer-to-better-aiassisted-development.md b/docs/blog/2025-03-19-are-monorepos-the-answer-to-better-aiassisted-development.md new file mode 100644 index 0000000000..472fe57c7c --- /dev/null +++ b/docs/blog/2025-03-19-are-monorepos-the-answer-to-better-aiassisted-development.md @@ -0,0 +1,20 @@ +--- +title: 'Are Monorepos the Answer to Better AI-Assisted Development?' +description: 'In this webinar, Nx CTO Victor Savkin and Senior Engineer Max Kless will break down **why monorepos are inherently more AI-friendly**, giving LLMs the full context they need to generate more accurate, actionable insights. You’ll also learn how Nx provides deep architectural awareness, making AI tools smarter and more effective.' +date: 2025-03-06 +slug: 'are-monorepos-the-answer-to-better-aiassisted-development' +authors: ['Victor Savkin', 'Max Kless'] +tags: [webinar] +cover_image: /blog/images/2025-03-19/March-2025-Webinar-card.png +time: 1pm EDT/5pm UTC +status: Upcoming +registrationUrl: https://go.nx.dev/march2025-webinar +--- + +**Mar 19, 2025 - 1pm EDT/5pm UTC** + +Presented by Victor Savkin and Max Kless + +In this webinar, Nx CTO Victor Savkin and Senior Engineer Max Kless will break down **why monorepos are inherently more AI-friendly**, giving LLMs the full context they need to generate more accurate, actionable insights. You’ll also learn how Nx provides deep architectural awareness, making AI tools smarter and more effective. + +{% call-to-action title="Register today!" url="https://go.nx.dev/march2025-webinar" description="Save your spot" /%} diff --git a/docs/blog/images/2025-03-19/March-2025-Webinar-card.png b/docs/blog/images/2025-03-19/March-2025-Webinar-card.png new file mode 100644 index 0000000000..07c0761b54 Binary files /dev/null and b/docs/blog/images/2025-03-19/March-2025-Webinar-card.png differ diff --git a/nx-dev/data-access-documents/src/lib/blog.api.ts b/nx-dev/data-access-documents/src/lib/blog.api.ts index 99b4f0a185..029517f16e 100644 --- a/nx-dev/data-access-documents/src/lib/blog.api.ts +++ b/nx-dev/data-access-documents/src/lib/blog.api.ts @@ -57,6 +57,7 @@ export class BlogApi { authors: authors.filter((author) => frontmatter.authors?.includes(author.name) ), + eventDate: this.dateFromFileName(file), date: this.calculateDate(file, frontmatter), time: frontmatter.time, status: frontmatter.status, @@ -103,19 +104,26 @@ export class BlogApi { return frontmatter.slug || baseName; } + private dateFromFileName(filename: string): string { + const timeString = new Date().toISOString().split('T')[1]; + const regexp = /^(\d\d\d\d-\d\d-\d\d).+$/; + const match = filename.match(regexp); + if (match) { + return new Date(match[1] + ' ' + timeString).toISOString(); + } else { + throw new Error(`Could not parse date from filename: ${filename}`); + } + } + private calculateDate(filename: string, frontmatter: any): string { const date: Date = new Date(); - const timeString = date.toTimeString(); + const timeString = date.toISOString().split('T')[1]; if (frontmatter.date) { - return new Date(frontmatter.date + ' ' + timeString).toISOString(); + return new Date( + frontmatter.date.toISOString().split('T')[0] + 'T' + timeString + ).toISOString(); } else { - const regexp = /^(\d\d\d\d-\d\d-\d\d).+$/; - const match = filename.match(regexp); - if (match) { - return new Date(match[1] + ' ' + timeString).toISOString(); - } else { - throw new Error(`Could not parse date from filename: ${filename}`); - } + return this.dateFromFileName(filename); } } diff --git a/nx-dev/data-access-documents/src/lib/webinar.model.ts b/nx-dev/data-access-documents/src/lib/webinar.model.ts index 71578a101d..32e504e715 100644 --- a/nx-dev/data-access-documents/src/lib/webinar.model.ts +++ b/nx-dev/data-access-documents/src/lib/webinar.model.ts @@ -2,6 +2,7 @@ import { BlogPostDataEntry } from './blog.model'; export interface WebinarDataEntry extends BlogPostDataEntry { status?: 'Upcoming' | 'Past - Gated' | 'Past - Ungated'; + eventDate?: string; time?: string; registrationUrl?: string; } diff --git a/nx-dev/ui-webinar/src/lib/webinar-list.tsx b/nx-dev/ui-webinar/src/lib/webinar-list.tsx index d25fd954fa..723eda5a3d 100644 --- a/nx-dev/ui-webinar/src/lib/webinar-list.tsx +++ b/nx-dev/ui-webinar/src/lib/webinar-list.tsx @@ -19,7 +19,7 @@ export function WebinarList({ webinars }: WebinarListProps): JSX.Element {