@kardoe/quickback 0.4.4 → 0.5.2

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.
@@ -3,31 +3,31 @@
3
3
  *
4
4
  * Writes generated files to disk with smart merge strategies.
5
5
  */
6
- import { existsSync, mkdirSync, writeFileSync, rmSync, readFileSync } from 'fs';
6
+ import { promises as fs } from 'fs';
7
7
  import { join, dirname } from 'path';
8
+ import { pathExists, runWithLimit } from './async-utils.js';
8
9
  /**
9
10
  * Clean and recreate output directory (used for testing only)
10
11
  */
11
- export function cleanOutputDir(dir) {
12
- if (existsSync(dir)) {
13
- rmSync(dir, { recursive: true, force: true });
12
+ const WRITE_CONCURRENCY = 16;
13
+ export async function cleanOutputDir(dir) {
14
+ if (await pathExists(dir)) {
15
+ await fs.rm(dir, { recursive: true, force: true });
14
16
  }
15
- mkdirSync(dir, { recursive: true });
17
+ await fs.mkdir(dir, { recursive: true });
16
18
  }
17
19
  /**
18
20
  * Write generated files to disk (overwrites all)
19
21
  */
20
- export function writeFiles(outputDir, files) {
21
- for (const file of files) {
22
+ export async function writeFiles(outputDir, files) {
23
+ await runWithLimit(files, WRITE_CONCURRENCY, async (file) => {
22
24
  const fullPath = join(outputDir, file.path);
23
25
  const fileDir = dirname(fullPath);
24
26
  // Ensure directory exists
25
- if (!existsSync(fileDir)) {
26
- mkdirSync(fileDir, { recursive: true });
27
- }
27
+ await fs.mkdir(fileDir, { recursive: true });
28
28
  // Write file
29
- writeFileSync(fullPath, file.content, 'utf-8');
30
- }
29
+ await fs.writeFile(fullPath, file.content, 'utf-8');
30
+ });
31
31
  }
32
32
  /**
33
33
  * Write generated files with smart merge strategy
@@ -37,43 +37,42 @@ export function writeFiles(outputDir, files) {
37
37
  * - package.json: Merge dependencies
38
38
  * - Config files: Overwrite
39
39
  */
40
- export function writeFilesWithMerge(outputDir, files) {
41
- for (const file of files) {
40
+ export async function writeFilesWithMerge(outputDir, files) {
41
+ await runWithLimit(files, WRITE_CONCURRENCY, async (file) => {
42
42
  const fullPath = join(outputDir, file.path);
43
43
  const fileDir = dirname(fullPath);
44
44
  // Ensure directory exists
45
- if (!existsSync(fileDir)) {
46
- mkdirSync(fileDir, { recursive: true });
47
- }
45
+ await fs.mkdir(fileDir, { recursive: true });
48
46
  // Check if this is a migration file
49
47
  const isMigration = file.path.includes('/migrations/') ||
50
48
  file.path.startsWith('drizzle/') ||
51
49
  file.path.startsWith('supabase/migrations/');
52
- if (isMigration && existsSync(fullPath)) {
50
+ if (isMigration && await pathExists(fullPath)) {
53
51
  // Skip existing migrations - don't overwrite
54
- continue;
52
+ return;
55
53
  }
56
54
  // Check if this is package.json
57
- if (file.path === 'package.json' && existsSync(fullPath)) {
55
+ if (file.path === 'package.json' && await pathExists(fullPath)) {
58
56
  // Merge package.json
59
- const merged = mergePackageJson(fullPath, file.content);
60
- writeFileSync(fullPath, merged, 'utf-8');
61
- continue;
57
+ const merged = await mergePackageJson(fullPath, file.content);
58
+ await fs.writeFile(fullPath, merged, 'utf-8');
59
+ return;
62
60
  }
63
61
  // Default: write/overwrite
64
- writeFileSync(fullPath, file.content, 'utf-8');
65
- }
62
+ await fs.writeFile(fullPath, file.content, 'utf-8');
63
+ });
66
64
  }
67
65
  /**
68
66
  * Merge generated package.json with existing one
69
67
  * Preserves user's custom scripts, adds new dependencies
70
68
  */
71
- function mergePackageJson(existingPath, newContent) {
69
+ async function mergePackageJson(existingPath, newContent) {
72
70
  try {
73
- const existing = JSON.parse(readFileSync(existingPath, 'utf-8'));
71
+ const existing = JSON.parse(await fs.readFile(existingPath, 'utf-8'));
74
72
  const generated = JSON.parse(newContent);
75
73
  // Merge dependencies (generated takes precedence for versions)
76
74
  const merged = {
75
+ ...generated,
77
76
  ...existing,
78
77
  name: generated.name || existing.name,
79
78
  version: existing.version || generated.version,
@@ -89,6 +88,19 @@ function mergePackageJson(existingPath, newContent) {
89
88
  ...existing.devDependencies,
90
89
  ...generated.devDependencies,
91
90
  },
91
+ peerDependencies: {
92
+ ...existing.peerDependencies,
93
+ ...generated.peerDependencies,
94
+ },
95
+ optionalDependencies: {
96
+ ...existing.optionalDependencies,
97
+ ...generated.optionalDependencies,
98
+ },
99
+ engines: {
100
+ ...generated.engines,
101
+ ...existing.engines,
102
+ },
103
+ packageManager: existing.packageManager ?? generated.packageManager,
92
104
  };
93
105
  return JSON.stringify(merged, null, 2);
94
106
  }
@@ -100,11 +112,9 @@ function mergePackageJson(existingPath, newContent) {
100
112
  /**
101
113
  * Write a single file
102
114
  */
103
- export function writeFile(filePath, content) {
115
+ export async function writeFile(filePath, content) {
104
116
  const dir = dirname(filePath);
105
- if (!existsSync(dir)) {
106
- mkdirSync(dir, { recursive: true });
107
- }
108
- writeFileSync(filePath, content, 'utf-8');
117
+ await fs.mkdir(dir, { recursive: true });
118
+ await fs.writeFile(filePath, content, 'utf-8');
109
119
  }
110
120
  //# sourceMappingURL=file-writer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-writer.js","sourceRoot":"","sources":["../../src/lib/file-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-writer.js","sourceRoot":"","sources":["../../src/lib/file-writer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/templates/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;IAC/C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,OAAO,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;CACxB;AAKD;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAYlF;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAY1E;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAgEhE,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQnD,CAAC;AAEF,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAG/E;AAED,wBAAgB,aAAa,IAAI,kBAAkB,EAAE,CAEpD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C;AAED,wBAAgB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEpD;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAgB3C"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/templates/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;IAC/C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,OAAO,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;CACxB;AAKD;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAYlF;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAY1E;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CA+DhE,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQnD,CAAC;AAEF,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAG/E;AAED,wBAAgB,aAAa,IAAI,kBAAkB,EAAE,CAEpD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C;AAED,wBAAgB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEpD;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAgB3C"}
@@ -77,15 +77,14 @@ export const TEMPLATE_REGISTRY = {
77
77
  requiresCloudflare: false,
78
78
  tier: "pro",
79
79
  },
80
- // Future templates (placeholders for marketplace)
81
80
  "b2bsaas-cloudflare": {
82
81
  name: "B2B SaaS Starter",
83
- description: "Full B2B SaaS with auth, organizations, billing hooks, email",
82
+ description: "Full B2B SaaS with auth, organizations, file storage (R2), webhooks, and views",
84
83
  category: "saas",
85
- tags: ["saas", "b2b", "stripe", "cloudflare", "teams"],
84
+ tags: ["saas", "b2b", "cloudflare", "r2", "webhooks", "teams"],
86
85
  author: "quickback",
87
- version: "0.1.0",
88
- includes: ["betterauth", "organizations", "stripe", "resend", "d1", "r2"],
86
+ version: "1.0.0",
87
+ includes: ["betterauth", "organizations", "d1", "r2", "files", "webhooks", "hono", "drizzle"],
89
88
  preset: "cloudflare",
90
89
  requiresCloudflare: true,
91
90
  tier: "pro",
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/templates/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAqB,MAAM,sBAAsB,CAAC;AAezE,6BAA6B;AAC7B,IAAI,oBAAoB,GAAwC,IAAI,CAAC;AAErE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACtC,IAAI,oBAAoB,EAAE,CAAC;QACvB,OAAO,oBAAoB,CAAC;IAChC,CAAC;IAED,IAAI,CAAC;QACD,oBAAoB,GAAG,MAAM,cAAc,EAAE,CAAC;QAC9C,OAAO,oBAAoB,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACL,6BAA6B;QAC7B,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,YAAoB;IACpD,MAAM,eAAe,GAAG,MAAM,oBAAoB,EAAE,CAAC;IACrD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC;IAEhE,qBAAqB;IACrB,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;IACpD,CAAC;IAED,oBAAoB;IACpB,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,KAAK,EAAE,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAuC;IACjE,sBAAsB;IACtB,0BAA0B,EAAE;QACxB,IAAI,EAAE,+BAA+B;QACrC,WAAW,EAAE,8EAA8E;QAC3F,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC;QAC1C,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC;QACjD,MAAM,EAAE,YAAY;QACpB,kBAAkB,EAAE,IAAI;QACxB,IAAI,EAAE,MAAM;KACf;IACD,uBAAuB,EAAE;QACrB,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,qEAAqE;QAClF,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;QACxC,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,CAAC;QAC7D,MAAM,EAAE,KAAK;QACb,kBAAkB,EAAE,KAAK;QACzB,IAAI,EAAE,MAAM;KACf;IACD,qBAAqB;IACrB,yBAAyB,EAAE;QACvB,IAAI,EAAE,8BAA8B;QACpC,WAAW,EAAE,wDAAwD;QACrE,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;QACzC,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC;QACrD,MAAM,EAAE,OAAO;QACf,kBAAkB,EAAE,KAAK;QACzB,IAAI,EAAE,KAAK;KACd;IACD,kDAAkD;IAClD,oBAAoB,EAAE;QAClB,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,8DAA8D;QAC3E,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC;QACtD,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC;QACzE,MAAM,EAAE,YAAY;QACpB,kBAAkB,EAAE,IAAI;QACxB,IAAI,EAAE,KAAK;KACd;IACD,iBAAiB,EAAE;QACf,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,kEAAkE;QAC/E,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC;QACzC,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC;QAC/C,MAAM,EAAE,KAAK;QACb,kBAAkB,EAAE,KAAK;QACzB,IAAI,EAAE,MAAM;KACf;CACJ,CAAC;AAEF,+BAA+B;AAC/B,MAAM,CAAC,MAAM,gBAAgB,GAA2B;IACpD,YAAY,EAAE,0BAA0B;IACxC,IAAI,EAAE,0BAA0B;IAChC,KAAK,EAAE,uBAAuB;IAC9B,OAAO,EAAE,uBAAuB;IAChC,OAAO,EAAE,yBAAyB;IAClC,MAAM,EAAE,oBAAoB;IAC5B,SAAS,EAAE,iBAAiB;CAC/B,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC3C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC;IAC9D,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,aAAa;IACzB,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,WAAW;IACvB,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,kBAAkB;IAC9B,MAAM,KAAK,GAAa,CAAC,wBAAwB,CAAC,CAAC;IAEnD,KAAK,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/templates/registry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kardoe/quickback",
3
- "version": "0.4.4",
3
+ "version": "0.5.2",
4
4
  "description": "CLI for Quickback - one-shot backend generator",
5
5
  "author": "Paul Stenhouse",
6
6
  "license": "MIT",
@@ -14,7 +14,7 @@
14
14
  "src/skill/**/*"
15
15
  ],
16
16
  "scripts": {
17
- "prebuild": "npm run bundle:docs && npm run bundle:skill",
17
+ "prebuild": "npx tsx scripts/inject-version.ts && npm run bundle:docs && npm run bundle:skill",
18
18
  "build": "tsc",
19
19
  "dev": "tsc --watch",
20
20
  "test": "bun test",
@@ -23,7 +23,6 @@
23
23
  "bundle:skill": "npx tsx scripts/bundle-skill.ts"
24
24
  },
25
25
  "dependencies": {
26
- "dev": "^0.1.3",
27
26
  "esbuild": "^0.27.2",
28
27
  "ora": "^9.0.0",
29
28
  "picocolors": "^1.0.0",
@@ -33,8 +32,16 @@
33
32
  "@types/node": "^22.7.5",
34
33
  "@types/prompts": "^2.4.9",
35
34
  "bun-types": "^1.3.5",
36
- "tsx": "^4.7.0",
37
- "typescript": "^5.5.4"
35
+ "tsx": "^4.19.0",
36
+ "typescript": "^5.9.0"
37
+ },
38
+ "peerDependencies": {
39
+ "typescript": ">=5.0.0"
40
+ },
41
+ "peerDependenciesMeta": {
42
+ "typescript": {
43
+ "optional": true
44
+ }
38
45
  },
39
46
  "engines": {
40
47
  "node": ">=18.0.0"