A programming language that understands what a web app is.
Go to file
2023-04-05 23:25:03 +02:00
.github Adds back TS compile step 2023-02-14 23:10:30 +01:00
examples Implemented wasp start db (managed dev db) (#1044) 2023-03-21 16:37:20 +01:00
project-page Created new landing page for Beta. 2022-11-26 19:01:40 +01:00
waspc Adding e-mail auth (e-mail verfication, password reset) (#1087) 2023-04-05 23:25:03 +02:00
web Implement database seeding via 'wasp db seed' 2023-04-05 11:33:52 +02:00
.gitattributes Added coloring of .wasp files on Github. 2020-02-03 17:06:04 +01:00
.gitignore Adding e-mail auth (e-mail verfication, password reset) (#1087) 2023-04-05 23:25:03 +02:00
CODE_OF_CONDUCT.md Generic templates and Code of Conduct (#131) 2020-11-11 16:34:29 +01:00
CONTRIBUTING.md Docs update for Hacktoberfest (#731) 2022-09-30 15:31:09 +03:00
LICENSE Create LICENSE 2020-02-06 19:29:17 +01:00
README.md readme: typo fix 2023-03-17 16:20:34 +01:00
SECURITY.md Create SECURITY.md 2022-08-25 11:40:04 +02:00

The fastest way to develop full-stack web apps with React & Node.js.


license language build status discord



Develop full stack web apps without boilerplate. Describe common features via Wasp DSL and write the rest in React, Node.js and Prisma.

Wasp (Web Application Specification Language) is a declarative configuration tool for developing, building and deploying modern full stack web apps with less code.

// file: main.wasp

app TodoApp {
  title: "Todo App",
  wasp: { version: "^0.7.0" }
}

route RootRoute { path: "/", to: MainPage }
page MainPage {
  component: import Main from "@ext/pages/Main.jsx" // Importing React component.
}

query getTasks {
  fn: import { getTasks } from "@ext/queries.js", // Importing NodeJS code.
  entities: [Task]
}

entity Task {=psl
    id          Int     @id @default(autoincrement())
    description String
    isDone      Boolean @default(false)
psl=}

Source files (.wasp, .js(x), .css, ...) are compiled by waspc (Wasp compiler) into the web technology stack of your choice (currently React + NodeJS/ExpressJS + Prisma).

▶️ Check out TodoApp example for the complete code example. ◀️

Why is Wasp awesome:

  • Quick start: Due to its expressiveness, you can create and deploy a production-ready web app from scratch with very few lines of concise, consistent, declarative code.
  • Flexible: When you need more control than Wasp offers, you can write code in existing technologies such as js/html/css/... and combine it with Wasp code!
  • No lock-in: If Wasp becomes too limiting for you, simply eject and continue with the generated source code, which is human-readable.

For more information about Wasp, check docs.

Get started

Run

curl -sSL https://get.wasp-lang.dev/installer.sh | sh

to install Wasp on OSX/Linux. From there, just follow the instructions to run your first app in less than a minute!

For more details (including installing on Windows) check out the docs.

This repository

This is the main repo of the Wasp universe, containing core code (mostly waspc - Wasp compiler) and the supporting materials.

Project status

Currently, Wasp is in beta, with most features flushed out and working well. However, there are still a lot of improvements and additions that we have in mind for the future, and we are working on them constantly, so you can expect a lot of changes and improvements in the future. As Wasp grows further, it should allow the development of web apps of increasing complexity!

While the idea is to support multiple web tech stacks in the future, right now we are focusing on the specific stack: React + react-query, NodeJS + ExpressJS, Prisma. We might yet change that as time goes on, taking trends into account, but for now, this is serving us well to develop compiler and language.

Contributing

Any way you want to contribute is a good way :)!

The best place to start is to check out waspc/, where you can find detailed steps for the first time contributors + technical details about the Wasp compiler.

Even if you don't plan to submit any code, just joining the discussion on discord Discord and giving your feedback is already great and helps a lot (motivates us and helps us figure out how to shape Wasp)!

You can also:

Careers

Check our careers page for a list of currently opened positions!