9. Other tooling types

Tooling

Extensions modules

Notes:

  • This set of criteria doesn't require having an in-depth knowledge of the tools listed below; instead, students are encouraged to learn the basic concepts of why and how they are used (and where in a web app project), test them out, and play with usage examples.

Learning outcomes — understand the purpose and basic usage of other common tooling types you may be required to use in a web project:

  • Linters/formatters, for example, ESLint and Prettier:
    • Detecting potential bugs, and how linters can automatically fix them.
    • The need to have coding standards, and how these tools can easily automate conformance to those standards.
    • Integrating them as part of your workflow — as a code editor extension, as part of your test runner, or as part of a CI run.
  • Package managers, for example, npm and yarn:
    • Using these as a way to manage project dependencies as a codebase becomes more complex.
    • Finding suitable packages to solve your problems from registries and installing them.
    • Using scripts (for example npm scripts) to make deployment and testing easier.
  • Build tools/bundlers, for example, Rollup.js, Parcel, and Vite.js:
    • Using these to manage dependencies, and organize, optimize, and minify your code into build files for improved performance.
  • Deployment tools, for example, Simple FTP clients, Netlify and Vercel:
    • Using these to deploy your applications.
    • Integrating tooling with GitHub to provide automatic test deployments on push.
    • Handling custom domains, serverless functions, and form submissions.
    • Handling access control and integration with identity providers such as Okta and Auth0.
    • Integrations with popular frameworks and app platforms.

Resources:

Previous: 8. CSS tooling