From fe7df048c16ab30d2d7bbc769f5aec6dbccffdc3 Mon Sep 17 00:00:00 2001 From: Yiming <104139426+ymc9@users.noreply.github.com> Date: Sat, 12 Nov 2022 23:05:18 +0800 Subject: [PATCH] chore: update CLI npm description, update README to include TODO sample (#90) --- README.md | 2 ++ package.json | 2 +- packages/internal/package.json | 2 +- packages/runtime/package.json | 2 +- packages/schema/package.json | 5 +-- samples/todo/README.md | 30 +++++++++++++++++- samples/todo/package-lock.json | 58 +++++++++++++++++----------------- samples/todo/package.json | 8 ++--- 8 files changed, 70 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index 4967b5c1c..d9dcf72b2 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,8 @@ ZenStack is heavily inspired and built above [Prisma](https://www.prisma.io) ORM [A step by step guide for getting started](docs/get-started/next-js.md) +[A complete sample with a collaborative todo app](https://github.com/zenstackhq/zenstack/tree/main/samples/todo) + ## How does it work? ZenStack has four essential responsibilities: diff --git a/package.json b/package.json index 9008d282a..8198f1674 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "zenstack-monorepo", - "version": "0.3.0", + "version": "0.3.2", "description": "", "scripts": { "build": "pnpm -r build", diff --git a/packages/internal/package.json b/packages/internal/package.json index 1f65048d8..329d2b0ed 100644 --- a/packages/internal/package.json +++ b/packages/internal/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/internal", - "version": "0.3.0", + "version": "0.3.2", "displayName": "ZenStack Internal Library", "description": "ZenStack internal runtime library. This package is for supporting runtime functionality of ZenStack and not supposed to be used directly.", "repository": { diff --git a/packages/runtime/package.json b/packages/runtime/package.json index adc8ae070..cd27827a8 100644 --- a/packages/runtime/package.json +++ b/packages/runtime/package.json @@ -1,7 +1,7 @@ { "name": "@zenstackhq/runtime", "displayName": "ZenStack Runtime Library", - "version": "0.3.0", + "version": "0.3.2", "description": "This package contains runtime library for consuming client and server side code generated by ZenStack.", "repository": { "type": "git", diff --git a/packages/schema/package.json b/packages/schema/package.json index 581acc6ff..b87cfdb89 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -2,11 +2,12 @@ "name": "zenstack", "publisher": "zenstack", "displayName": "ZenStack Language Tools", - "description": "ZenStack is a toolkit that simplifies full-stack development", - "version": "0.3.0", + "description": "A toolkit for modeling data and access policies in full-stack development with Next.js and Typescript", + "version": "0.3.2", "author": { "name": "ZenStack Team" }, + "license": "MIT", "keywords": [ "fullstack", "react", diff --git a/samples/todo/README.md b/samples/todo/README.md index 082df7272..9a1562589 100644 --- a/samples/todo/README.md +++ b/samples/todo/README.md @@ -2,10 +2,38 @@ This project is a collaborative todo app built with [Next.js](https://nextjs.org), [Next-Auth](nextauth.org), and [ZenStack](https://github.com/zenstackhq/zenstack). +In this fictitious app, users can be invited to workspaces where they can collaborate on todos. Public todo lists are visible to all members in the workspace. + See a live deployment at: https://zenstack-todo.vercel.app/. -Features: +## Features: - User signup/signin - Creating workspaces and inviting members - Data isolation and permission control + +## Running the sample: + +1. Install dependencies + +```bash +npm install +``` + +2. Generate server and client-side code from model + +```bash +npm run generate +``` + +3. Synchronize database schma + +```bash +npm run db:push +``` + +4. Start dev server + +```bash +npm run dev +``` diff --git a/samples/todo/package-lock.json b/samples/todo/package-lock.json index a3d815e62..ef225c9c5 100644 --- a/samples/todo/package-lock.json +++ b/samples/todo/package-lock.json @@ -1,17 +1,17 @@ { "name": "todo", - "version": "0.3.0", + "version": "0.3.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "todo", - "version": "0.3.0", + "version": "0.3.1", "dependencies": { "@heroicons/react": "^2.0.12", "@prisma/client": "^4.4.0", - "@zenstackhq/internal": "~0.3.0", - "@zenstackhq/runtime": "~0.3.0", + "@zenstackhq/internal": "^0.3.1", + "@zenstackhq/runtime": "^0.3.1", "bcryptjs": "^2.4.3", "daisyui": "^2.31.0", "moment": "^2.29.4", @@ -35,7 +35,7 @@ "postcss": "^8.4.16", "tailwindcss": "^3.1.8", "typescript": "^4.6.2", - "zenstack": "~0.3.0" + "zenstack": "^0.3.1" } }, "node_modules/@babel/code-frame": { @@ -722,12 +722,12 @@ } }, "node_modules/@zenstackhq/internal": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@zenstackhq/internal/-/internal-0.3.0.tgz", - "integrity": "sha512-zEp6rSiQwg/3aZeuWHhReoRK7P1rubbm79encVelL1JGBDQruw1wQ+5xm/LMMLH6ZHYDjfsJAlqX5yHfsYvtWg==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@zenstackhq/internal/-/internal-0.3.1.tgz", + "integrity": "sha512-ZCpV2R5MVW7BYyCCvltojvKmmRftG9qcDrkFuLFbX+kf2k+M7rQQ9W7GpMOwO3PgCm8+wajLLytPl58L2OWlkA==", "dependencies": { "bcryptjs": "^2.4.3", - "colors": "^1.4.0", + "colors": "1.4.0", "cuid": "^2.1.8", "decimal.js": "^10.4.2", "deepcopy": "^2.1.0", @@ -741,9 +741,9 @@ } }, "node_modules/@zenstackhq/runtime": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@zenstackhq/runtime/-/runtime-0.3.0.tgz", - "integrity": "sha512-+PpnXTijAxImn5jxDDAR/NJhNOkVD9kZ4NZvFgsAmyL/96dM68mRT0e//SL0b7LDgeH4QgSkykqtvOTmXsmHWg==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@zenstackhq/runtime/-/runtime-0.3.1.tgz", + "integrity": "sha512-VsrFgiA2c08914biFfMgNLNxPD26Gj84uOt5F27AcLTWSS/6fAPOJUQTb3YB6ytYUvqcRzaIPiG6JHOR7dmU3g==", "dependencies": { "@zenstackhq/internal": "latest" }, @@ -4526,15 +4526,15 @@ } }, "node_modules/zenstack": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/zenstack/-/zenstack-0.3.0.tgz", - "integrity": "sha512-B0LYvU+dNQUOBguwRxBeQUnotdxt1AvxXmzRTQgwHZMgvxr59zbveAXnkt2sHMC44YiHe5YAxb3LEejFp5IxHQ==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/zenstack/-/zenstack-0.3.1.tgz", + "integrity": "sha512-eQOO7Je4cMUTFblXn/Sbi1+kV+KOW7kMpOi6UhVtqKKxy9R5J2mdCaT0Npkb1YI9ppCnfeF1VDYRJutZsFc4Vg==", "dev": true, "dependencies": { - "@zenstackhq/internal": "0.3.0", + "@zenstackhq/internal": "0.3.1", "change-case": "^4.1.2", "chevrotain": "^9.1.0", - "colors": "^1.4.0", + "colors": "1.4.0", "commander": "^8.3.0", "langium": "^0.5.0", "pluralize": "^8.0.0", @@ -5023,12 +5023,12 @@ } }, "@zenstackhq/internal": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@zenstackhq/internal/-/internal-0.3.0.tgz", - "integrity": "sha512-zEp6rSiQwg/3aZeuWHhReoRK7P1rubbm79encVelL1JGBDQruw1wQ+5xm/LMMLH6ZHYDjfsJAlqX5yHfsYvtWg==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@zenstackhq/internal/-/internal-0.3.1.tgz", + "integrity": "sha512-ZCpV2R5MVW7BYyCCvltojvKmmRftG9qcDrkFuLFbX+kf2k+M7rQQ9W7GpMOwO3PgCm8+wajLLytPl58L2OWlkA==", "requires": { "bcryptjs": "^2.4.3", - "colors": "^1.4.0", + "colors": "1.4.0", "cuid": "^2.1.8", "decimal.js": "^10.4.2", "deepcopy": "^2.1.0", @@ -5036,9 +5036,9 @@ } }, "@zenstackhq/runtime": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@zenstackhq/runtime/-/runtime-0.3.0.tgz", - "integrity": "sha512-+PpnXTijAxImn5jxDDAR/NJhNOkVD9kZ4NZvFgsAmyL/96dM68mRT0e//SL0b7LDgeH4QgSkykqtvOTmXsmHWg==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@zenstackhq/runtime/-/runtime-0.3.1.tgz", + "integrity": "sha512-VsrFgiA2c08914biFfMgNLNxPD26Gj84uOt5F27AcLTWSS/6fAPOJUQTb3YB6ytYUvqcRzaIPiG6JHOR7dmU3g==", "requires": { "@zenstackhq/internal": "latest" } @@ -7778,15 +7778,15 @@ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" }, "zenstack": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/zenstack/-/zenstack-0.3.0.tgz", - "integrity": "sha512-B0LYvU+dNQUOBguwRxBeQUnotdxt1AvxXmzRTQgwHZMgvxr59zbveAXnkt2sHMC44YiHe5YAxb3LEejFp5IxHQ==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/zenstack/-/zenstack-0.3.1.tgz", + "integrity": "sha512-eQOO7Je4cMUTFblXn/Sbi1+kV+KOW7kMpOi6UhVtqKKxy9R5J2mdCaT0Npkb1YI9ppCnfeF1VDYRJutZsFc4Vg==", "dev": true, "requires": { - "@zenstackhq/internal": "0.3.0", + "@zenstackhq/internal": "0.3.1", "change-case": "^4.1.2", "chevrotain": "^9.1.0", - "colors": "^1.4.0", + "colors": "1.4.0", "commander": "^8.3.0", "langium": "^0.5.0", "pluralize": "^8.0.0", diff --git a/samples/todo/package.json b/samples/todo/package.json index a25a9bd3e..b339af888 100644 --- a/samples/todo/package.json +++ b/samples/todo/package.json @@ -1,6 +1,6 @@ { "name": "todo", - "version": "0.3.0", + "version": "0.3.2", "private": true, "scripts": { "dev": "next dev", @@ -20,8 +20,8 @@ "dependencies": { "@heroicons/react": "^2.0.12", "@prisma/client": "^4.4.0", - "@zenstackhq/internal": "~0.3.0", - "@zenstackhq/runtime": "~0.3.0", + "@zenstackhq/internal": "^0.3.1", + "@zenstackhq/runtime": "^0.3.1", "bcryptjs": "^2.4.3", "daisyui": "^2.31.0", "moment": "^2.29.4", @@ -45,6 +45,6 @@ "postcss": "^8.4.16", "tailwindcss": "^3.1.8", "typescript": "^4.6.2", - "zenstack": "~0.3.0" + "zenstack": "^0.3.1" } }