rebar-js 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +55 -150
  2. package/dist/index.js +2 -2
  3. package/package.json +59 -59
package/README.md CHANGED
@@ -1,150 +1,55 @@
1
- <p align="center">
2
- <strong>Interactive project scaffolding for modern JavaScript & TypeScript frameworks.</strong>
3
- </p>
4
-
5
- <p align="center">
6
- <a href="#features"><img src="https://img.shields.io/badge/dynamic/jso
7
- <img src="https://img.shields.io/badge/license-ISC-6c5ce7?style=flat" alt="License">
8
- <img src="https://img.shields.io/badge/node-%3E%3D20-6c5ce7?style=flat" alt="Node">
9
- <img src="https://img.shields.io/badge/typescript-5.9-3178C6?style=flat" alt="TypeScript">
10
- </p>
11
-
12
- <br>
13
-
14
- ## Overview
15
-
16
- Rebar-js is an interactive CLI that scaffolds full-featured projects across **Next.js**, **Vite**, **Express**, **Expo**, and **Electron**. Answer a few prompts and get a production-ready project with your choice of package manager, linter, database ORM, auth, and UI toolkit — all wired up and ready to code.
17
-
18
- <br>
19
-
20
- ## Features
21
-
22
- - **Framework selection** — Next.js, Vite (React), Express, Expo, or Electron
23
- - **Package manager of choice** — npm, yarn, or bun
24
- - **Per-framework tooling prompts** — TypeScript, Tailwind CSS, shadcn/ui, tRPC, Drizzle ORM, Better Auth, React Router, React Compiler, Husky, ESLint, Biome, path aliasing, and more
25
- - **Interactive & headless modes** `rebar-js init` for guided setup, `rebar-js start` for flag-driven automation
26
- - **Colored terminal output** step indicators, status symbols, and a welcome banner
27
- - **Pinned dependency versions** all packages are locked to stable releases so scaffolding doesn't break
28
-
29
- <br>
30
-
31
- ## Quick start
32
-
33
- ```bash
34
- npx rebar-js init
35
- ```
36
-
37
- Follow the prompts to pick a package manager, framework, and extra tooling. That's it.
38
-
39
- <br>
40
-
41
- ## Installation
42
-
43
- ### Via npx (no install)
44
-
45
- ```bash
46
- npx rebar-js init
47
- ```
48
-
49
- ### Global install
50
-
51
- ```bash
52
- npm install -g rebar-js
53
- # or
54
- yarn global add rebar-js
55
- # or
56
- bun add -g rebar-js
57
- ```
58
-
59
- Then run:
60
-
61
- ```bash
62
- rebar-js init
63
- ```
64
-
65
- <br>
66
-
67
- ## Usage
68
-
69
- ### Interactive mode
70
-
71
- ```bash
72
- rebar-js init
73
- ```
74
-
75
- Walks you through:
76
-
77
- 1. **Package manager** — choose npm, yarn, or bun
78
- 2. **Framework** — pick Next.js, Vite, Express, Expo, or Electron
79
- 3. **Project name** — enter your project name
80
- 4. **Extra tooling** — select optional tools (varies by framework)
81
-
82
- ### Headless mode
83
-
84
- ```bash
85
- rebar-js start -m npm -f vite
86
- ```
87
-
88
- Flags:
89
-
90
- | Flag | Description |
91
- |------|-------------|
92
- | `-m, --packageManager <name>` | Package manager: `npm`, `yarn`, `bun` |
93
- | `-f, --framework <name>` | Framework: `nextjs`, `vite`, `express`, `expo`, `electron` |
94
-
95
- <br>
96
-
97
- ## Supported frameworks
98
-
99
- | Framework | Prompts |
100
- |-----------|---------|
101
- | **Next.js** | React Compiler, shadcn/ui, tRPC, Drizzle ORM, Better Auth, Husky, ESLint / Biome |
102
- | **Vite (React)** | TypeScript, Tailwind CSS, shadcn/ui, React Compiler, React Router, path aliasing |
103
- | **Express** | TypeScript, Git, ESLint, path aliasing |
104
- | **Expo** | Interactive `create-expo-app` (passthrough) |
105
- | **Electron** | Electron Forge / Electron Vite (passthrough) |
106
-
107
- <br>
108
-
109
- ## Requirements
110
-
111
- - **Node.js** >= 20
112
- - **npm**, **yarn**, or **bun** (depending on your preference)
113
- - **Git** (for Express `git` option)
114
-
115
- <br>
116
-
117
- ## Development
118
-
119
- ```bash
120
- # Clone
121
- git clone https://github.com/anomalyco/rebar-js.git
122
- cd rebar-js
123
-
124
- # Install dependencies
125
- npm install
126
-
127
- # Type-check
128
- npm run typecheck
129
-
130
- # Lint
131
- npm run lint
132
- ```
133
-
134
- Run the CLI locally:
135
-
136
- ```bash
137
- node bin/project.js init
138
- ```
139
-
140
- <br>
141
-
142
- ## Why "rebar-js"?
143
-
144
- rebar-js is the steel reinforcing bar that gives concrete its tensile strength — it's hidden inside the structure, but everything relies on it. A solid scaffolding tool works the same way.
145
-
146
- <br>
147
-
148
- ## License
149
-
150
- ISC
1
+ <div align="center">
2
+
3
+ # rebar-js
4
+
5
+ Interactive scaffolding CLI for modern JS/TS projects.
6
+
7
+ [![npm](https://img.shields.io/npm/v/rebar-js?style=flat&color=CB3837&logo=npm)](https://www.npmjs.com/package/rebar-js)
8
+ [![license](https://img.shields.io/badge/license-ISC-gray?style=flat)](./LICENSE)
9
+ [![node](https://img.shields.io/badge/node-%3E%3D20-3c8a3c?style=flat&logo=node.js&logoColor=white)](https://nodejs.org)
10
+
11
+ </div>
12
+
13
+ ---
14
+
15
+ Pick a framework, answer a few prompts, get a production-ready project — dependencies installed, tooling wired, ready to code.
16
+
17
+ ```bash
18
+ npx rebar-js init
19
+ ```
20
+
21
+ ## Frameworks
22
+
23
+ | Framework | Tooling options |
24
+ |-----------|----------------|
25
+ | **Next.js** | shadcn/ui, tRPC, Drizzle ORM, Better Auth, React Compiler, ESLint / Biome, Husky |
26
+ | **Vite (React)** | TypeScript, Tailwind CSS, shadcn/ui, React Router, React Compiler, path aliasing |
27
+ | **Express** | TypeScript, ESLint, Git, path aliasing |
28
+ | **Expo** | passthrough via `create-expo-app` |
29
+ | **Electron** | Electron Forge or Electron Vite |
30
+
31
+ ## Usage
32
+
33
+ **Interactive**
34
+ ```bash
35
+ npx rebar-js init
36
+ ```
37
+
38
+ **Headless**
39
+ ```bash
40
+ npx rebar-js start -m npm -f nextjs
41
+ ```
42
+
43
+ | Flag | Values |
44
+ |------|--------|
45
+ | `-m, --packageManager` | `npm` · `yarn` · `bun` |
46
+ | `-f, --framework` | `nextjs` · `vite` · `express` · `expo` · `electron` |
47
+
48
+ ## Requirements
49
+
50
+ - Node.js >= 20
51
+ - npm, yarn, or bun
52
+
53
+ ## License
54
+
55
+ ISC
package/dist/index.js CHANGED
@@ -866,7 +866,7 @@ export { handler as GET, handler as POST }`
866
866
  };
867
867
  var drizzleSetup = (manager, drizzle) => {
868
868
  if (!drizzle) return;
869
- addPackage(manager, "drizzle-orm@0.45.2 pg@9.6.0");
869
+ addPackage(manager, "drizzle-orm@0.45.2 pg@8.14.1");
870
870
  addDevPackage(manager, "drizzle-kit@0.31.10 tsx@4.21.0 @types/pg@latest");
871
871
  appendFileSync(".env", "DATABASE_URL=\n");
872
872
  writeData(
@@ -1281,7 +1281,7 @@ var mapper = {
1281
1281
 
1282
1282
  // src/index.ts
1283
1283
  var program = new Command();
1284
- program.name("Rebar").description("Interactive CLI for scaffolding JavaScript and TypeScript projects across multiple frameworks.").version("1.0.3");
1284
+ program.name("Rebar").description("Interactive CLI for scaffolding JavaScript and TypeScript projects across multiple frameworks.").version("1.0.4");
1285
1285
  program.command("init").description("choose a template to start").action(async () => {
1286
1286
  banner();
1287
1287
  info(`Let's scaffold your project! Answer a few questions to get started.
package/package.json CHANGED
@@ -1,59 +1,59 @@
1
- {
2
- "name": "rebar-js",
3
- "version": "1.0.3",
4
- "description": "Interactive CLI for scaffolding JavaScript and TypeScript projects across multiple frameworks.",
5
- "bin": {
6
- "rebar-js": "./bin/project.js"
7
- },
8
- "files": [
9
- "bin/",
10
- "dist/"
11
- ],
12
- "engines": {
13
- "node": ">=20"
14
- },
15
- "repository": {
16
- "type": "git",
17
- "url": "git+https://github.com/prncexe/rebar.git"
18
- },
19
- "bugs": {
20
- "url": "https://github.com/prncexe/rebar/issues"
21
- },
22
- "homepage": "https://github.com/prncexe/rebar#readme",
23
- "keywords": [
24
- "scaffold",
25
- "cli",
26
- "nextjs",
27
- "vite",
28
- "express",
29
- "expo",
30
- "electron",
31
- "typescript"
32
- ],
33
- "author": "prncexe",
34
- "license": "ISC",
35
- "type": "module",
36
- "scripts": {
37
- "build": "tsup src/index.ts --format esm --out-dir dist --clean",
38
- "typecheck": "tsc --noEmit",
39
- "lint": "eslint .",
40
- "lint:fix": "eslint . --fix",
41
- "dev": "tsx src/index.ts",
42
- "prepublishOnly": "npm run build && npm run typecheck && npm run lint"
43
- },
44
- "dependencies": {
45
- "@inquirer/prompts": "^8.4.2",
46
- "commander": "^14.0.3"
47
- },
48
- "devDependencies": {
49
- "@eslint/js": "^10.0.1",
50
- "@types/node": "^25.6.2",
51
- "eslint": "^10.3.0",
52
- "globals": "^17.6.0",
53
- "jiti": "^2.7.0",
54
- "tsx": "^4.21.0",
55
- "tsup": "^8.5.1",
56
- "typescript": "^5.9.3",
57
- "typescript-eslint": "^8.59.2"
58
- }
59
- }
1
+ {
2
+ "name": "rebar-js",
3
+ "version": "1.0.5",
4
+ "description": "Interactive CLI for scaffolding JavaScript and TypeScript projects across multiple frameworks.",
5
+ "bin": {
6
+ "rebar-js": "./bin/project.js"
7
+ },
8
+ "files": [
9
+ "bin/",
10
+ "dist/"
11
+ ],
12
+ "engines": {
13
+ "node": ">=20"
14
+ },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/prncexe/rebar.git"
18
+ },
19
+ "bugs": {
20
+ "url": "https://github.com/prncexe/rebar/issues"
21
+ },
22
+ "homepage": "https://github.com/prncexe/rebar#readme",
23
+ "keywords": [
24
+ "scaffold",
25
+ "cli",
26
+ "nextjs",
27
+ "vite",
28
+ "express",
29
+ "expo",
30
+ "electron",
31
+ "typescript"
32
+ ],
33
+ "author": "prncexe",
34
+ "license": "ISC",
35
+ "type": "module",
36
+ "scripts": {
37
+ "build": "tsup src/index.ts --format esm --out-dir dist --clean",
38
+ "typecheck": "tsc --noEmit",
39
+ "lint": "eslint .",
40
+ "lint:fix": "eslint . --fix",
41
+ "dev": "tsx src/index.ts",
42
+ "prepublishOnly": "npm run build && npm run typecheck && npm run lint"
43
+ },
44
+ "dependencies": {
45
+ "@inquirer/prompts": "^8.4.2",
46
+ "commander": "^14.0.3"
47
+ },
48
+ "devDependencies": {
49
+ "@eslint/js": "^10.0.1",
50
+ "@types/node": "^25.6.2",
51
+ "eslint": "^10.3.0",
52
+ "globals": "^17.6.0",
53
+ "jiti": "^2.7.0",
54
+ "tsx": "^4.21.0",
55
+ "tsup": "^8.5.1",
56
+ "typescript": "^5.9.3",
57
+ "typescript-eslint": "^8.59.2"
58
+ }
59
+ }