@mikecbrant/create-appsyncjs
v1.0.0
Published
Scaffold generator for an SST-based AWS AppSync + DynamoDB repo with example User CRUD using @mikecbrant/appsyncjs-dynamo and tests using @mikecbrant/appsyncjs-test-utils.
Downloads
10
Maintainers
Readme
@mikecbrant/create-appsyncjs
Create a new repository scaffold for an AWS AppSync application using SST v3 (Pulumi), with DynamoDB and example User CRUD resolvers.
Usage
With pnpm (recommended):
pnpm dlx @mikecbrant/create-appsyncjs my-appWith npm:
npm create @mikecbrant/create-appsyncjs@latest my-app
# or
npx @mikecbrant/create-appsyncjs my-appThis will generate a new project in my-app/.
Flags to run non-interactively:
--entity, -e Entity name (singular, PascalCase)
--description, -d Project description for package.jsonDuring interactive generation you'll be prompted for:
- Entity name (singular, PascalCase). Default:
User. - Project description to place in
package.json.
What it generates
- SST v3 config provisioning an AppSync GraphQL API and a DynamoDB table (via Pulumi)
- GraphQL schema and AppSync JS resolvers for a basic entity (get/put/update/delete)
- Resolvers authored in TypeScript that use
@mikecbrant/appsyncjs-dynamo - Tests using
@mikecbrant/appsyncjs-test-utilsto mock the AppSyncutilAPI
After generation
cd my-app
pnpm i
pnpm build:resolvers
pnpm test
pnpm deploy # requires AWS credentialsProgrammatic API
You can import either the named create export or the default export object.
// Named export
import { create } from '@mikecbrant/create-appsyncjs';
// Default export (object with `create`)
// import createApp from '@mikecbrant/create-appsyncjs';
// const { create } = createApp;
await create({
templateDir: '/path/to/pkg/scaffold',
dest: './my-app',
entity: 'User',
description: 'My AppSync + DynamoDB starter',
});Requirements and defaults
- Node.js >= 22 (both generator and generated project)
- Default AWS region:
us-east-1 - Testing/tooling: Vitest; scripts align with
create-sst(sst load-config -- vitest run) - Authentication: default is an API key (no user pool).
Dependency strategy: the scaffold template includes hard-coded baseline versions for internal packages. Immediately after files are generated, the generator runs pnpm up --latest in the new project directory to bump all dependencies to their latest versions (including potential major releases). If this step fails (for example, if pnpm isn’t installed), you can run it manually later.
