1.14.2 • Published 1 month ago

create-rpc v1.14.2

Weekly downloads
-
License
BSD-2-Clause
Repository
github
Last release
1 month ago

create-rpc

Starter template of Typescript web server with auto-generated client SDK using RPC with ajax.

npm Package Version

Usage

Interactive mode:

npm init rpc
# or
npx create-rpc

Non-interactive mode:

npx -y create-rpc --single [project-name]
# or
npx -y create-rpc --multi [project-name]
# or
npx -y create-rpc --restful [project-name]

Template Features

  • Auto-generate standalone1 client SDK in Typescript
  • Infer input/output type from sample data or cast.ts parser
  • Auto apply runtime type checking on input/output data
  • Auto-generate (knex) database migration with quick-erd
  • Typed array-like ORM with better-sqlite3-proxy
  • Hashing password with bcrypt
  • JWT generation
  • Auto-storing JWT token
  • Dotenv setup
  • Multiple templates
    • single module API
    • multi module API
    • restful API

1: The generated client sdk is self-contained. You don't need to import the server from the client project.

Available Commands

Inside the server directory, you can run several commands:

npm start
  Starts the auto-refresh development server.
  [single module] It auto generates the client/src/sdk.ts based on the APIs defined in server/src/core.ts.
  [multi module] It auto generates the client/src/api/[name].ts based on the APIs defined in server/src/modules/[name].ts.
  [restful] It auto generates the client/src/api/[name].ts based on the APIs defined in server/src/modules/[name].ts.

npm run db:setup
  Migrate the database schema to latest version.

npm run db:plan
  Auto-generate migration based on erd.txt and current database schema.

npm run db:update
  Apply the new migration plan, and update the proxy.ts based on the erd.txt.

npm run db:seed
  Populate the database with sample data in server/seed.ts.

npm run build
  Builds the web project into 'dist' folder.

License

This project is licensed with BSD-2-Clause

This is free, libre, and open-source software. It comes down to four essential freedoms [ref]:

  • The freedom to run the program as you wish, for any purpose
  • The freedom to study how the program works, and change it so it does your computing as you wish
  • The freedom to redistribute copies so you can help others
  • The freedom to distribute copies of your modified versions to others
1.14.1

1 month ago

1.14.2

1 month ago

1.14.0

3 months ago

1.13.6

6 months ago

1.13.5

6 months ago

1.13.4

6 months ago

1.13.3

6 months ago

1.13.2

7 months ago

1.13.1

8 months ago

1.13.0

8 months ago

1.12.4

12 months ago

1.12.3

1 year ago

1.12.2

1 year ago

1.12.1

1 year ago

1.12.0

1 year ago

1.8.2

1 year ago

1.9.0

1 year ago

1.8.1

1 year ago

1.8.0

1 year ago

1.7.1

1 year ago

1.7.0

1 year ago

1.6.0

1 year ago

1.11.0

1 year ago

1.10.1

1 year ago

1.10.0

1 year ago

1.5.3

2 years ago

1.5.2

2 years ago

1.5.1

2 years ago

1.5.0

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

1.2.0

2 years ago

1.3.7

2 years ago

1.3.6

2 years ago

1.3.5

2 years ago

1.3.4

2 years ago

1.3.3

2 years ago

1.3.2

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.1.2

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.0.0

2 years ago