Code for theguardian.engineering site
The development process for theguardian.engineering’s codebase is streamlined and efficient, thanks to its use of Astro as a static site generator. This setup not only simplifies building and deploying web pages but also enhances performance. Whether you're a seasoned developer or a newcomer looking to contribute, the guidelines provided make it easy to navigate the project.
Moreover, the integration with GitHub Pages allows for seamless publishing, enabling developers to work locally and verify changes before merging. This approach encourages collaborative development while maintaining a high standard of code management.
pnpm install from the root to easily set up project dependencies without hassle.pnpm build to compile the project into a production-ready format, generating files in the ./dist/ directory for deployment.pnpm dev, allowing you to preview changes in real-time at localhost:3000.Astro is the all-in-one web framework designed for speed. Pull your content from anywhere and deploy everywhere, all powered by your favorite UI components and libraries.
React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components
Svelte is a modern front-end framework that compiles your code at build time, resulting in smaller and faster applications. It uses a reactive approach to update the DOM, allowing for high performance and a smoother user experience.
Vite is a build tool that aims to provide a faster and leaner development experience for modern web projects
SCSS is a preprocessor scripting language that extends the capabilities of CSS by adding features such as variables, nesting, and mixins. It allows developers to write more efficient and maintainable CSS code, and helps to streamline the development process by reducing repetition and increasing reusability.
TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.