Lean JS App Starter (LJAS) is a development environment designed to kickstart projects across browser, Node.js, and Electron platforms. It offers a modern developer experience, leveraging standard tools from the JavaScript ecosystem. LJAS's transparent and highly customizable configuration makes it easy to modify and meet the unique needs of your app.
🎉 Don't just code for browsers: build servers, desktop apps, CLI tools, and more
Support for TypeScript, Node.js, Electron, React, and Express servers that support React server-side rendering.
🐳 Docker development & testing environments
Alternatively run the dev environment with Docker to simplify onboarding and improve consistency for developers across macOS, Windows, and Linux. Use a specialized Docker test environment to improve the stability and trustworthiness of end-to-end test results.
🧪 Robust testing environment
Write unit tests with Jest and end-to-end tests with Playwright. Test frontends with Testing Library and backend APIs with SuperTest. Mock network requests with MSW.
🗄️ Support for PostgreSQL & MongoDB
Connect to PostgreSQL and MongoDB easily with Prisma. Containerized databases are available so you aren't required to install databases natively on your machine.
⚡ Hot module replacement & auto-reloading
See changes reflected quickly in your app as soon as you save changes to your code.
📦 Optimized builds for production environments
Generate optimized builds specialized for running in production environments. Output cross-browser compatible bundles for the web or OS-specific executable bundles for Linux, macOS, or Windows.
🧼 Effortlessly maintain consistent code style
Stop worrying about needing to remember rules or having disagreements with other team members about code styling. Just let Prettier and ESLint enforce code style for you.
⛷️ Smoothly move across multiple projects
The project setup and configuration consistency allows developers working on multiple LJAS-based projects to move back-and-forth between them easily. If you are familiar with one LJAS project then you will be comfortable working with all of them, regardless if the build target is a browser, Node.js, or Electron.
🥇 Powered by the gold standards of the JS tooling ecosystem
Nothing fancy and no surprises–the core tools are webpack, Babel, and ESLint. The configurations are intentionally designed to follow standard conventions so they are easy to understand and customize.
🤔 Need help deciding if LJAS is right for your project?
Read the "Motivation" document in the docs.
📖 Learn about everything LJAS has to offer!
LJAS offers several different starter projects with various different technologies pre-configured for you. Each one is designed for different targets like the browser or Node.js, and can also utilize different technologies such as JavaScript, TypeScript, React, or Express, etc. They are all designed as complete development environments that you can rely on out-of-the-box.
Select a starter project below that fits your needs:
Starter Project Name | Description | JavaScript | TypeScript |
---|---|---|---|
Basic Browser | A simple setup for a browser frontend built with just vanilla JavaScript or TypeScript. | View Source / Download | View Source / Download |
Basic Electron | A simple setup for an Electron desktop app built with just vanilla JavaScript or TypeScript. | View Source / Download | View Source / Download |
Basic Node.js | A simple setup for a Node.js app built with just vanilla JavaScript or TypeScript. | View Source / Download | View Source / Download |
Express + MongoDB | A web server that runs off Node.js, Express, MongoDB, and Prisma. | View Source / Download | View Source / Download |
Express + PostgreSQL | A web server that runs off Node.js, Express, PostgreSQL, and Prisma. | View Source / Download | View Source / Download |
React + Browser | A browser frontend that uses React. | View Source / Download | View Source / Download |
React + Electron | An Electron desktop app that uses React for its renderer processes. | View Source / Download | View Source / Download |
React + Express + MongoDB with SSR | A full-stack web app that runs off Node.js, Express, PostgreSQL, Prisma, and React. The backend supports React server-side rendering. | View Source / Download | View Source / Download |
React + Express + PostgreSQL with SSR | A full-stack web app that runs off Node.js, Express, PostgreSQL, Prisma, and React. The backend supports React server-side rendering. | View Source / Download | View Source / Download |
Example projects are built off of starter projects and act as a demonstration of how LJAS can used and adapted to different project requirements.
You will be able to find projects like SPAs, REST APIs, desktop apps, and more. They can be handy if you need references for customized configurations that extend LJAS's functionality or some good ol' inspiration.
Take a look at the example projects in the examples/
directory.
Lean JavaScript Application Starter is open source software licensed as MIT.