Skip to content

Commit a2f2a9b

Browse files
chore(release): 3.2.3
1 parent 1edca3e commit a2f2a9b

File tree

10 files changed

+162
-7
lines changed

10 files changed

+162
-7
lines changed

.github/workflows/release.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,25 @@ jobs:
7373
env:
7474
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7575

76+
- name: Update create-bts alias package version
77+
if: steps.version.outputs.version != ''
78+
run: |
79+
VERSION=${{ steps.version.outputs.version }}
80+
cd packages/create-bts
81+
bun run node -e "const pkg=require('./package.json');pkg.version='$VERSION';pkg.dependencies['create-better-t-stack']='^$VERSION';require('fs').writeFileSync('package.json',JSON.stringify(pkg,null,2)+'\n')"
82+
7683
- name: Publish CLI to NPM
7784
if: steps.version.outputs.version != ''
7885
run: cd apps/cli && bun publish --access public
86+
env:
87+
NPM_CONFIG_TOKEN: ${{ secrets.NPM_TOKEN }}
88+
BTS_TELEMETRY: 1
89+
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
90+
POSTHOG_HOST: ${{ secrets.POSTHOG_HOST }}
91+
92+
- name: Publish create-bts alias to NPM
93+
if: steps.version.outputs.version != ''
94+
run: cd packages/create-bts && bun publish --access public
7995
env:
8096
NPM_CONFIG_TOKEN: ${{ secrets.NPM_TOKEN }}
8197
BTS_TELEMETRY: 1

apps/cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "create-better-t-stack",
3-
"version": "3.2.2",
3+
"version": "3.2.3",
44
"description": "A modern CLI tool for scaffolding end-to-end type-safe TypeScript projects with best practices and customizable configurations",
55
"type": "module",
66
"license": "MIT",

bun.lock

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
},
1919
"apps/cli": {
2020
"name": "create-better-t-stack",
21-
"version": "3.2.2",
21+
"version": "3.2.3",
2222
"bin": {
2323
"create-better-t-stack": "dist/cli.js",
2424
},
@@ -124,6 +124,16 @@
124124
"typescript": "^5.9.2",
125125
},
126126
},
127+
"packages/create-bts": {
128+
"name": "create-bts",
129+
"version": "3.2.3",
130+
"bin": {
131+
"create-bts": "cli.js",
132+
},
133+
"dependencies": {
134+
"create-better-t-stack": "^3.2.2",
135+
},
136+
},
127137
},
128138
"packages": {
129139
"@alloc/quick-lru": ["@alloc/[email protected]", "", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="],
@@ -1056,6 +1066,8 @@
10561066

10571067
"create-better-t-stack": ["create-better-t-stack@workspace:apps/cli"],
10581068

1069+
"create-bts": ["create-bts@workspace:packages/create-bts"],
1070+
10591071
"cron-parser": ["[email protected]", "", { "dependencies": { "luxon": "^3.2.1" } }, "sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q=="],
10601072

10611073
"cross-spawn": ["[email protected]", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="],

packages/create-bts/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
node_modules
2+

packages/create-bts/README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# create-bts
2+
3+
This is an alias package for [`create-better-t-stack`](https://www.npmjs.com/package/create-better-t-stack).
4+
5+
## Usage
6+
7+
```bash
8+
npx create-bts@latest
9+
```
10+
11+
or
12+
13+
```bash
14+
bun create bts
15+
```
16+
17+
For full documentation, please visit [better-t-stack.dev](https://better-t-stack.dev/).
18+
19+
## About
20+
21+
`create-bts` is a shorter alias for the full `create-better-t-stack` command. Both packages provide the same functionality - a modern CLI tool for scaffolding end-to-end type-safe TypeScript projects.
22+
23+
All functionality is provided by the main [`create-better-t-stack`](https://www.npmjs.com/package/create-better-t-stack) package.
24+

packages/create-bts/cli.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/usr/bin/env node
2+
import("create-better-t-stack/dist/cli.js");
3+

packages/create-bts/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export * from "create-better-t-stack";
2+

packages/create-bts/package.json

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
"name": "create-bts",
3+
"version": "3.2.3",
4+
"description": "A modern CLI tool for scaffolding end-to-end type-safe TypeScript projects with best practices and customizable configurations (alias for create-better-t-stack)",
5+
"type": "module",
6+
"license": "MIT",
7+
"author": "Aman Varshney",
8+
"bin": {
9+
"create-bts": "cli.js"
10+
},
11+
"files": [
12+
"cli.js",
13+
"index.js"
14+
],
15+
"keywords": [
16+
"bts",
17+
"better-t-stack",
18+
"typescript",
19+
"boilerplate",
20+
"starter",
21+
"cli",
22+
"turborepo",
23+
"trpc",
24+
"better-auth",
25+
"monorepo",
26+
"fullstack",
27+
"type-safety",
28+
"react",
29+
"react-native",
30+
"expo",
31+
"hono",
32+
"elysia",
33+
"drizzle",
34+
"prisma",
35+
"tanstack",
36+
"tailwind",
37+
"shadcn",
38+
"pwa",
39+
"tauri",
40+
"biome"
41+
],
42+
"repository": {
43+
"type": "git",
44+
"url": "git+https://github.com/AmanVarshney01/create-better-t-stack.git",
45+
"directory": "packages/create-bts"
46+
},
47+
"publishConfig": {
48+
"access": "public"
49+
},
50+
"homepage": "https://better-t-stack.dev/",
51+
"dependencies": {
52+
"create-better-t-stack": "^3.2.3"
53+
}
54+
}

scripts/bump-version.ts

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ import { select, text } from "@clack/prompts";
44
import { $ } from "bun";
55

66
const CLI_PACKAGE_JSON_PATH = join(process.cwd(), "apps/cli/package.json");
7+
const ALIAS_PACKAGE_JSON_PATH = join(
8+
process.cwd(),
9+
"packages/create-bts/package.json",
10+
);
711

812
async function main(): Promise<void> {
913
const args = process.argv.slice(2);
@@ -81,12 +85,23 @@ async function main(): Promise<void> {
8185
`${JSON.stringify(packageJson, null, 2)}\n`,
8286
);
8387

88+
// Update alias package version
89+
const aliasPackageJson = JSON.parse(
90+
await readFile(ALIAS_PACKAGE_JSON_PATH, "utf-8"),
91+
);
92+
aliasPackageJson.version = newVersion;
93+
aliasPackageJson.dependencies["create-better-t-stack"] = `^${newVersion}`;
94+
await writeFile(
95+
ALIAS_PACKAGE_JSON_PATH,
96+
`${JSON.stringify(aliasPackageJson, null, 2)}\n`,
97+
);
98+
8499
await $`bun install`;
85100
await $`bun run build:cli`;
86-
await $`git add apps/cli/package.json bun.lock`;
101+
await $`git add apps/cli/package.json packages/create-bts/package.json bun.lock`;
87102
await $`git commit -m "chore(release): ${newVersion}"`;
88103

89-
console.log(`✅ Released v${newVersion}`);
104+
console.log(`✅ Released v${newVersion} for both packages`);
90105
}
91106

92107
main().catch(console.error);

scripts/canary-release.ts

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ import { confirm, isCancel, multiselect, spinner } from "@clack/prompts";
44
import { $ } from "bun";
55

66
const CLI_PACKAGE_JSON_PATH = join(process.cwd(), "apps/cli/package.json");
7+
const ALIAS_PACKAGE_JSON_PATH = join(
8+
process.cwd(),
9+
"packages/create-bts/package.json",
10+
);
711

812
async function main(): Promise<void> {
913
const args = process.argv.slice(2);
@@ -174,6 +178,13 @@ async function main(): Promise<void> {
174178
CLI_PACKAGE_JSON_PATH,
175179
"utf-8",
176180
);
181+
const aliasPackageJson = JSON.parse(
182+
await readFile(ALIAS_PACKAGE_JSON_PATH, "utf-8"),
183+
);
184+
const originalAliasPackageJsonString = await readFile(
185+
ALIAS_PACKAGE_JSON_PATH,
186+
"utf-8",
187+
);
177188
let restored = false;
178189

179190
try {
@@ -183,6 +194,14 @@ async function main(): Promise<void> {
183194
`${JSON.stringify(packageJson, null, 2)}\n`,
184195
);
185196

197+
// Update alias package version
198+
aliasPackageJson.version = canaryVersion;
199+
aliasPackageJson.dependencies["create-better-t-stack"] = canaryVersion;
200+
await writeFile(
201+
ALIAS_PACKAGE_JSON_PATH,
202+
`${JSON.stringify(aliasPackageJson, null, 2)}\n`,
203+
);
204+
186205
const buildSpin = spinner();
187206
buildSpin.start("Building CLI...");
188207
try {
@@ -194,10 +213,13 @@ async function main(): Promise<void> {
194213
}
195214

196215
const pubSpin = spinner();
197-
pubSpin.start(`Publishing ${packageName}@${canaryVersion} (canary)...`);
216+
pubSpin.start(
217+
`Publishing ${packageName}@${canaryVersion} and create-bts@${canaryVersion} (canary)...`,
218+
);
198219
try {
199220
await $`cd apps/cli && bun publish --access public --tag canary`;
200-
pubSpin.stop("Publish complete");
221+
await $`cd packages/create-bts && bun publish --access public --tag canary`;
222+
pubSpin.stop("Publish complete for both packages");
201223
} catch (err) {
202224
pubSpin.stop("Publish failed");
203225
throw err;
@@ -223,15 +245,20 @@ async function main(): Promise<void> {
223245
}
224246

225247
await writeFile(CLI_PACKAGE_JSON_PATH, originalPackageJsonString);
248+
await writeFile(ALIAS_PACKAGE_JSON_PATH, originalAliasPackageJsonString);
226249
restored = true;
227250

228-
console.log(`✅ Published canary v${canaryVersion}`);
251+
console.log(`✅ Published canary v${canaryVersion} for both packages`);
229252
console.log(
230253
`📦 NPM: https://www.npmjs.com/package/${packageName}/v/${canaryVersion}`,
231254
);
255+
console.log(
256+
`📦 NPM: https://www.npmjs.com/package/create-bts/v/${canaryVersion}`,
257+
);
232258
} finally {
233259
if (!restored) {
234260
await writeFile(CLI_PACKAGE_JSON_PATH, originalPackageJsonString);
261+
await writeFile(ALIAS_PACKAGE_JSON_PATH, originalAliasPackageJsonString);
235262
}
236263
}
237264
}

0 commit comments

Comments
 (0)