{"id":26821572,"url":"https://github.com/mattlean/lean-js-app-starter","last_synced_at":"2025-06-25T14:35:08.353Z","repository":{"id":38248158,"uuid":"146226187","full_name":"mattlean/lean-js-app-starter","owner":"mattlean","description":"Starter JavaScript/TypeScript projects for kicking off your web, Node.js, and native desktop apps","archived":false,"fork":false,"pushed_at":"2025-01-22T00:40:08.000Z","size":10527,"stargazers_count":3,"open_issues_count":6,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-24T06:02:06.365Z","etag":null,"topics":["dev-environment","dev-server","docker","electron","express","javascript","jest","ljas","mongodb","nodejs","playwright","postgresql","prisma","react","ssr","starter-project","typescript","webpack"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mattlean.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-27T00:06:51.000Z","updated_at":"2024-11-05T09:06:24.000Z","dependencies_parsed_at":"2024-04-13T12:29:04.577Z","dependency_job_id":"3fce9ba5-c125-4c97-91e3-b5091066d584","html_url":"https://github.com/mattlean/lean-js-app-starter","commit_stats":{"total_commits":385,"total_committers":1,"mean_commits":385.0,"dds":0.0,"last_synced_commit":"ba2d17109e2960b1c9f6d5ac9a470236212f7553"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/mattlean/lean-js-app-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattlean%2Flean-js-app-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattlean%2Flean-js-app-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattlean%2Flean-js-app-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattlean%2Flean-js-app-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mattlean","download_url":"https://codeload.github.com/mattlean/lean-js-app-starter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattlean%2Flean-js-app-starter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261853344,"owners_count":23219845,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dev-environment","dev-server","docker","electron","express","javascript","jest","ljas","mongodb","nodejs","playwright","postgresql","prisma","react","ssr","starter-project","typescript","webpack"],"created_at":"2025-03-30T07:31:21.247Z","updated_at":"2025-06-25T14:35:08.326Z","avatar_url":"https://github.com/mattlean.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lean JavaScript Application Starter\n\n**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.\n\n**🎉 Don't just code for browsers: build servers, desktop apps, CLI tools, and more**\n\n\u003e Support for [TypeScript](https://typescriptlang.org), [Node.js](https://nodejs.org), [Electron](https://electronjs.org), [React](https://react.dev), and [Express](https://expressjs.com) servers that support React server-side rendering.\n\n**🐳 Docker development \u0026 testing environments**\n\n\u003e Alternatively run the dev environment with [Docker](https://docker.com) 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.\n\n**🧪 Robust testing environment**\n\n\u003e Write unit tests with [Jest](https://jestjs.io) and end-to-end tests with [Playwright](https://playwright.dev). Test frontends with [Testing Library](https://testing-library.com) and backend APIs with [SuperTest](https://github.com/ladjs/supertest). Mock network requests with [MSW](https://mswjs.io).\n\n**🗄️ Support for PostgreSQL \u0026 MongoDB**\n\n\u003e Connect to [PostgreSQL](https://postgresql.org) and [MongoDB](https://mongodb.com) easily with [Prisma](https://prisma.io). Containerized databases are available so you aren't required to install databases natively on your machine.\n\n**⚡ Hot module replacement \u0026 auto-reloading**\n\n\u003e See changes reflected quickly in your app as soon as you save changes to your code.\n\n**📦 Optimized builds for production environments**\n\n\u003e 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.\n\n**🧼 Effortlessly maintain consistent code style**\n\n\u003e Stop worrying about needing to remember rules or having disagreements with other team members about code styling. Just let [Prettier](https://prettier.io) and [ESLint](https://eslint.org) enforce code style for you.\n\n**⛷️ Smoothly move across multiple projects**\n\n\u003e 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.\n\n**🥇 Powered by the gold standards of the JS tooling ecosystem**\n\n\u003e Nothing fancy and no surprises–the core tools are [webpack](https://webpack.js.org), [Babel](https://babeljs.io), and [ESLint](https://eslint.org). The configurations are intentionally designed to follow standard conventions so they are easy to understand and customize.\n\n## Documentation\n\n**🤔 Need help deciding if LJAS is right for your project?**\n\n\u003e Read the [\"Motivation\" document in the docs](./docs/motivation.md).\n\n**📖 Learn about everything LJAS has to offer!**\n\n\u003e [Check out all of the documentation!](./docs/README.md)\n\n## Getting Started\n\nLJAS 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.\n\nSelect a starter project below that fits your needs:\n\n| Starter Project Name                  | Description                                                                                                                           | JavaScript                                                                                                                                                                                                                                      | TypeScript                                                                                                                                                                                                                                            |\n| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Basic Browser                         | A simple setup for a browser frontend built with just vanilla JavaScript or TypeScript.                                               | [View Source](https://github.com/mattlean/lean-js-app-starter/tree/v1.1.0/starters/basic-browser) / [Download](https://github.com/mattlean/lean-js-app-starter/releases/download/v1.1.0/ljas-basic-browser_1-1-0.zip)                           | [View Source](https://github.com/mattlean/lean-js-app-starter/tree/v1.1.0/starters/basic-browser-ts) / [Download](https://github.com/mattlean/lean-js-app-starter/releases/download/v1.1.0/ljas-basic-browser-ts_1-1-0.zip)                           |\n| Basic Electron                        | A simple setup for an Electron desktop app built with just vanilla JavaScript or TypeScript.                                          | [View Source](https://github.com/mattlean/lean-js-app-starter/tree/v1.1.0/starters/basic-electron) / [Download](https://github.com/mattlean/lean-js-app-starter/releases/download/v1.1.0/ljas-basic-electron_1-1-0.zip)                         | [View Source](https://github.com/mattlean/lean-js-app-starter/tree/v1.1.0/starters/basic-electron-ts) / [Download](https://github.com/mattlean/lean-js-app-starter/releases/download/v1.1.0/ljas-basic-electron-ts_1-1-0.zip)                         |\n| Basic Node.js                         | A simple setup for a Node.js app built with just vanilla JavaScript or TypeScript.                                                    | [View Source](https://github.com/mattlean/lean-js-app-starter/tree/v1.1.0/starters/basic-node) / [Download](https://github.com/mattlean/lean-js-app-starter/releases/download/v1.1.0/ljas-basic-node_1-1-0.zip)                                 | [View Source](https://github.com/mattlean/lean-js-app-starter/tree/v1.1.0/starters/basic-node-ts) / [Download](https://github.com/mattlean/lean-js-app-starter/releases/download/v1.1.0/ljas-basic-node-ts_1-1-0.zip)                                 |\n| Express + MongoDB                     | A web server that runs off Node.js, Express, MongoDB, and Prisma.                                                                     | [View Source](https://github.com/mattlean/lean-js-app-starter/tree/v1.1.0/starters/express-mongo) / [Download](https://github.com/mattlean/lean-js-app-starter/releases/download/v1.1.0/ljas-express-mongo_1-1-0.zip)                           | [View Source](https://github.com/mattlean/lean-js-app-starter/tree/v1.1.0/starters/express-mongo-ts) / [Download](https://github.com/mattlean/lean-js-app-starter/releases/download/v1.1.0/ljas-express-mongo-ts_1-1-0.zip)                           |\n| Express + PostgreSQL                  | A web server that runs off Node.js, Express, PostgreSQL, and Prisma.                                                                  | [View Source](https://github.com/mattlean/lean-js-app-starter/tree/v1.1.0/starters/express-postgres) / [Download](https://github.com/mattlean/lean-js-app-starter/releases/download/v1.1.0/ljas-express-postgres_1-1-0.zip)                     | [View Source](https://github.com/mattlean/lean-js-app-starter/tree/v1.1.0/starters/express-postgres-ts) / [Download](https://github.com/mattlean/lean-js-app-starter/releases/download/v1.1.0/ljas-express-postgres-ts_1-1-0.zip)                     |\n| React + Browser                       | A browser frontend that uses React.                                                                                                   | [View Source](https://github.com/mattlean/lean-js-app-starter/tree/v1.1.0/starters/react-browser) / [Download](https://github.com/mattlean/lean-js-app-starter/releases/download/v1.1.0/ljas-react-browser_1-1-0.zip)                           | [View Source](https://github.com/mattlean/lean-js-app-starter/tree/v1.1.0/starters/react-browser-ts) / [Download](https://github.com/mattlean/lean-js-app-starter/releases/download/v1.1.0/ljas-react-browser-ts_1-1-0.zip)                           |\n| React + Electron                      | An Electron desktop app that uses React for its renderer processes.                                                                   | [View Source](https://github.com/mattlean/lean-js-app-starter/tree/v1.1.0/starters/react-electron) / [Download](https://github.com/mattlean/lean-js-app-starter/releases/download/v1.1.0/ljas-react-electron_1-1-0.zip)                         | [View Source](https://github.com/mattlean/lean-js-app-starter/tree/v1.1.0/starters/react-electron-ts) / [Download](https://github.com/mattlean/lean-js-app-starter/releases/download/v1.1.0/ljas-react-electron-ts_1-1-0.zip)                         |\n| 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](https://github.com/mattlean/lean-js-app-starter/tree/v1.1.0/starters/react-express-mongo-ssr) / [Download](https://github.com/mattlean/lean-js-app-starter/releases/download/v1.1.0/ljas-react-express-mongo-ssr_1-1-0.zip)       | [View Source](https://github.com/mattlean/lean-js-app-starter/tree/v1.1.0/starters/react-express-mongo-ssr-ts) / [Download](https://github.com/mattlean/lean-js-app-starter/releases/download/v1.1.0/ljas-react-express-mongo-ssr-ts_1-1-0.zip)       |\n| 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](https://github.com/mattlean/lean-js-app-starter/tree/v1.1.0/starters/react-express-postgres-ssr) / [Download](https://github.com/mattlean/lean-js-app-starter/releases/download/v1.1.0/ljas-react-express-postgres-ssr_1-1-0.zip) | [View Source](https://github.com/mattlean/lean-js-app-starter/tree/v1.1.0/starters/react-express-postgres-ssr-ts) / [Download](https://github.com/mattlean/lean-js-app-starter/releases/download/v1.1.0/ljas-react-express-postgres-ssr-ts_1-1-0.zip) |\n\n## Examples\n\n**Example projects** are built off of starter projects and act as a demonstration of how LJAS can used and adapted to different project requirements.\n\nYou 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.\n\n[Take a look at the example projects in the `examples/` directory.](./examples)\n\n## License\n\nLean JavaScript Application Starter is open source software [licensed as MIT](https://github.com/mattlean/lean-js-app-starter/blob/v1.1.0/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattlean%2Flean-js-app-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmattlean%2Flean-js-app-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattlean%2Flean-js-app-starter/lists"}