@objectifthunes/create-sandstone 0.2.0 → 1.0.0

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 (58) hide show
  1. package/dist/cli.d.ts +3 -0
  2. package/dist/cli.d.ts.map +1 -0
  3. package/dist/cli.js +31 -0
  4. package/dist/cli.js.map +1 -0
  5. package/dist/commands/add-adapter.d.ts +2 -0
  6. package/dist/commands/add-adapter.d.ts.map +1 -0
  7. package/dist/commands/add-adapter.js +683 -0
  8. package/dist/commands/add-adapter.js.map +1 -0
  9. package/dist/commands/generate-adapter.d.ts +2 -0
  10. package/dist/commands/generate-adapter.d.ts.map +1 -0
  11. package/dist/commands/generate-adapter.js +467 -0
  12. package/dist/commands/generate-adapter.js.map +1 -0
  13. package/dist/commands/generate-entity.d.ts +2 -0
  14. package/dist/commands/generate-entity.d.ts.map +1 -0
  15. package/dist/commands/generate-entity.js +210 -0
  16. package/dist/commands/generate-entity.js.map +1 -0
  17. package/dist/generator.d.ts.map +1 -1
  18. package/dist/generator.js +7 -0
  19. package/dist/generator.js.map +1 -1
  20. package/dist/index.js +3 -2
  21. package/dist/index.js.map +1 -1
  22. package/dist/presets.d.ts +23 -3
  23. package/dist/presets.d.ts.map +1 -1
  24. package/dist/presets.js +48 -1
  25. package/dist/presets.js.map +1 -1
  26. package/dist/prompts.d.ts.map +1 -1
  27. package/dist/prompts.js +181 -7
  28. package/dist/prompts.js.map +1 -1
  29. package/dist/templates/claude-md.d.ts.map +1 -1
  30. package/dist/templates/claude-md.js +470 -2
  31. package/dist/templates/claude-md.js.map +1 -1
  32. package/dist/templates/docker-compose.d.ts.map +1 -1
  33. package/dist/templates/docker-compose.js +42 -0
  34. package/dist/templates/docker-compose.js.map +1 -1
  35. package/dist/templates/env-example.d.ts.map +1 -1
  36. package/dist/templates/env-example.js +81 -2
  37. package/dist/templates/env-example.js.map +1 -1
  38. package/dist/templates/infrastructure.d.ts.map +1 -1
  39. package/dist/templates/infrastructure.js +431 -27
  40. package/dist/templates/infrastructure.js.map +1 -1
  41. package/dist/templates/main-express.d.ts.map +1 -1
  42. package/dist/templates/main-express.js +41 -6
  43. package/dist/templates/main-express.js.map +1 -1
  44. package/dist/templates/main-fastify.d.ts +3 -0
  45. package/dist/templates/main-fastify.d.ts.map +1 -0
  46. package/dist/templates/main-fastify.js +73 -0
  47. package/dist/templates/main-fastify.js.map +1 -0
  48. package/dist/templates/main-hono.d.ts.map +1 -1
  49. package/dist/templates/main-hono.js +45 -9
  50. package/dist/templates/main-hono.js.map +1 -1
  51. package/dist/templates/package-json.d.ts.map +1 -1
  52. package/dist/templates/package-json.js +67 -3
  53. package/dist/templates/package-json.js.map +1 -1
  54. package/dist/templates/test-setup.d.ts +1 -1
  55. package/dist/templates/test-setup.d.ts.map +1 -1
  56. package/dist/templates/test-setup.js +10 -39
  57. package/dist/templates/test-setup.js.map +1 -1
  58. package/package.json +8 -7
@@ -23,7 +23,49 @@ export function dockerComposeTemplate(config) {
23
23
  - '1025:1025'
24
24
  - '8025:8025'`);
25
25
  }
26
+ if (config.cache === 'redis' || config.queue === 'bullmq') {
27
+ services.push(`
28
+ redis:
29
+ image: redis:7-alpine
30
+ ports:
31
+ - '6379:6379'
32
+ volumes:
33
+ - redisdata:/var/lib/redis/data`);
34
+ }
35
+ if (config.search === 'meilisearch') {
36
+ services.push(`
37
+ meilisearch:
38
+ image: getmeili/meilisearch:latest
39
+ ports:
40
+ - '7700:7700'
41
+ environment:
42
+ MEILI_ENV: development
43
+ MEILI_MASTER_KEY: development-master-key
44
+ volumes:
45
+ - meilidata:/meili_data`);
46
+ }
47
+ if (config.search === 'typesense') {
48
+ services.push(`
49
+ typesense:
50
+ image: typesense/typesense:27.1
51
+ ports:
52
+ - '8108:8108'
53
+ environment:
54
+ TYPESENSE_API_KEY: development-api-key
55
+ TYPESENSE_DATA_DIR: /data
56
+ volumes:
57
+ - typesensedata:/data`);
58
+ }
26
59
  const volumes = ['volumes:', ' pgdata:'];
60
+ if (config.cache === 'redis' || config.queue === 'bullmq') {
61
+ volumes.push(' redisdata:');
62
+ }
63
+ if (config.search === 'meilisearch') {
64
+ volumes.push(' meilidata:');
65
+ }
66
+ if (config.search === 'typesense') {
67
+ volumes.push(' typesensedata:');
68
+ }
27
69
  return `services:
28
70
  ${services.join('\n')}
29
71
 
@@ -1 +1 @@
1
- {"version":3,"file":"docker-compose.js","sourceRoot":"","sources":["../../src/templates/docker-compose.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,MAAqB;IACzD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,QAAQ,CAAC,IAAI,CAAC;;;;;qBAKK,MAAM,CAAC,IAAI;;;;;;;;;iBASf,CAAC,CAAC;IAEjB,IAAI,MAAM,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC;;;;;oBAKE,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAE1C,OAAO;EACP,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;;EAEnB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;CACnB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"docker-compose.js","sourceRoot":"","sources":["../../src/templates/docker-compose.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,MAAqB;IACzD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,QAAQ,CAAC,IAAI,CAAC;;;;;qBAKK,MAAM,CAAC,IAAI;;;;;;;;;iBASf,CAAC,CAAC;IAEjB,IAAI,MAAM,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC;;;;;oBAKE,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC1D,QAAQ,CAAC,IAAI,CAAC;;;;;;sCAMoB,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;8BASY,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;4BASU,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAE1C,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnC,CAAC;IAED,OAAO;EACP,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;;EAEnB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;CACnB,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"env-example.d.ts","sourceRoot":"","sources":["../../src/templates/env-example.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAqGhE"}
1
+ {"version":3,"file":"env-example.d.ts","sourceRoot":"","sources":["../../src/templates/env-example.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CA2OhE"}
@@ -19,13 +19,27 @@ export function envExampleTemplate(config) {
19
19
  '# Auth',
20
20
  'JWT_SECRET=change-me-to-a-random-secret-at-least-32-chars',
21
21
  ];
22
+ // Dedup trackers
23
+ let hasRedisUrl = false;
24
+ let hasAwsCredentials = false;
22
25
  if (config.email === 'resend') {
23
26
  lines.push('', '# Email (Resend)', 'RESEND_API_KEY=re_xxx', 'EMAIL_FROM=noreply@example.com');
24
27
  }
25
28
  else if (config.email === 'nodemailer') {
26
29
  lines.push('', '# Email (SMTP)', 'SMTP_HOST=localhost', 'SMTP_PORT=1025', 'SMTP_USER=', 'SMTP_PASS=', 'EMAIL_FROM=noreply@example.com');
27
30
  }
28
- if (config.auth === 'oauth+otp' || config.auth === 'all') {
31
+ // OAuth providers loop over config.oauthProviders
32
+ if (config.oauthProviders.length > 0) {
33
+ for (const provider of config.oauthProviders) {
34
+ const upper = provider.toUpperCase();
35
+ lines.push('', `# OAuth (${provider.charAt(0).toUpperCase() + provider.slice(1)})`, `${upper}_CLIENT_ID=`, `${upper}_CLIENT_SECRET=`, `${upper}_REDIRECT_URI=http://localhost:3000/auth/${provider}/callback`);
36
+ if (provider === 'apple') {
37
+ lines.push('APPLE_TEAM_ID=', 'APPLE_KEY_ID=', 'APPLE_PRIVATE_KEY=');
38
+ }
39
+ }
40
+ }
41
+ else if (config.auth === 'oauth+otp' || config.auth === 'all') {
42
+ // Fallback: no specific providers chosen but OAuth auth strategy is selected
29
43
  lines.push('', '# OAuth (Google)', 'GOOGLE_CLIENT_ID=', 'GOOGLE_CLIENT_SECRET=', 'GOOGLE_REDIRECT_URI=http://localhost:3000/auth/google/callback');
30
44
  }
31
45
  if (config.payments === 'stripe') {
@@ -41,7 +55,8 @@ export function envExampleTemplate(config) {
41
55
  lines.push('', '# Payments (Lemon Squeezy)', 'LEMONSQUEEZY_API_KEY=', 'LEMONSQUEEZY_WEBHOOK_SECRET=');
42
56
  }
43
57
  if (config.storage === 's3') {
44
- lines.push('', '# Storage (S3)', 'S3_BUCKET=my-bucket', 'S3_REGION=us-east-1', 'S3_ACCESS_KEY_ID=', 'S3_SECRET_ACCESS_KEY=');
58
+ lines.push('', '# Storage (S3)', 'S3_BUCKET=my-bucket', 'S3_REGION=us-east-1', 'AWS_ACCESS_KEY_ID=', 'AWS_SECRET_ACCESS_KEY=');
59
+ hasAwsCredentials = true;
45
60
  }
46
61
  else if (config.storage === 'r2') {
47
62
  lines.push('', '# Storage (Cloudflare R2)', 'R2_ACCOUNT_ID=', 'R2_ACCESS_KEY_ID=', 'R2_SECRET_ACCESS_KEY=', 'R2_BUCKET=my-bucket');
@@ -52,6 +67,70 @@ export function envExampleTemplate(config) {
52
67
  if (config.cache === 'upstash') {
53
68
  lines.push('', '# Cache (Upstash Redis)', 'UPSTASH_REDIS_URL=', 'UPSTASH_REDIS_TOKEN=');
54
69
  }
70
+ else if (config.cache === 'redis') {
71
+ lines.push('', '# Cache (Redis)', 'REDIS_URL=redis://localhost:6379');
72
+ hasRedisUrl = true;
73
+ }
74
+ // SMS
75
+ if (config.sms === 'twilio') {
76
+ lines.push('', '# SMS (Twilio)', 'TWILIO_ACCOUNT_SID=ACxxxxxxxxxx', 'TWILIO_AUTH_TOKEN=', 'TWILIO_FROM_NUMBER=+15551234567');
77
+ }
78
+ else if (config.sms === 'sns') {
79
+ lines.push('', '# SMS (AWS SNS)', 'AWS_REGION=us-east-1');
80
+ if (!hasAwsCredentials) {
81
+ lines.push('AWS_ACCESS_KEY_ID=', 'AWS_SECRET_ACCESS_KEY=');
82
+ hasAwsCredentials = true;
83
+ }
84
+ }
85
+ // Push notifications
86
+ if (config.push === 'fcm' || config.push === 'both') {
87
+ lines.push('', '# Push (FCM)', 'FCM_PROJECT_ID=', 'FCM_CLIENT_EMAIL=', 'FCM_PRIVATE_KEY=');
88
+ }
89
+ if (config.push === 'apns' || config.push === 'both') {
90
+ lines.push('', '# Push (APNs)', 'APNS_KEY_ID=', 'APNS_TEAM_ID=', 'APNS_PRIVATE_KEY=', 'APNS_BUNDLE_ID=com.example.app');
91
+ }
92
+ // Realtime
93
+ if (config.realtime === 'pusher') {
94
+ lines.push('', '# Realtime (Pusher)', 'PUSHER_APP_ID=', 'PUSHER_KEY=', 'PUSHER_SECRET=', 'PUSHER_CLUSTER=us2');
95
+ }
96
+ else if (config.realtime === 'ably') {
97
+ lines.push('', '# Realtime (Ably)', 'ABLY_API_KEY=');
98
+ }
99
+ // socketio: no env vars needed
100
+ // Search
101
+ if (config.search === 'meilisearch') {
102
+ lines.push('', '# Search (Meilisearch)', 'MEILISEARCH_HOST=http://localhost:7700', 'MEILISEARCH_API_KEY=');
103
+ }
104
+ else if (config.search === 'typesense') {
105
+ lines.push('', '# Search (Typesense)', 'TYPESENSE_HOST=localhost', 'TYPESENSE_PORT=8108', 'TYPESENSE_API_KEY=');
106
+ }
107
+ // pg-search: no env vars, reuses DATABASE_URL
108
+ // Queue
109
+ if (config.queue === 'bullmq') {
110
+ if (!hasRedisUrl) {
111
+ lines.push('', '# Queue (BullMQ)', 'REDIS_URL=redis://localhost:6379');
112
+ hasRedisUrl = true;
113
+ }
114
+ else {
115
+ lines.push('', '# Queue (BullMQ)', '# Uses REDIS_URL defined above');
116
+ }
117
+ }
118
+ // pg-boss: no env vars, reuses DATABASE_URL
119
+ // Feature flags
120
+ if (config.flags === 'launchdarkly') {
121
+ lines.push('', '# Feature Flags (LaunchDarkly)', 'LAUNCHDARKLY_SDK_KEY=sdk-xxxxxxxxxx');
122
+ }
123
+ else if (config.flags === 'env-flags') {
124
+ lines.push('', '# Feature Flags (env-flags)', '# Set flags via environment variables with FLAG_ prefix, e.g.:', '# FLAG_MY_FEATURE=true');
125
+ }
126
+ // pg-flags: no env vars
127
+ // Tracing
128
+ if (config.tracing) {
129
+ lines.push('', '# Tracing (OpenTelemetry)', `OTEL_SERVICE_NAME=${config.name}`, 'OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318');
130
+ }
131
+ // Suppress unused variable warnings — both trackers are read above via conditionals
132
+ void hasRedisUrl;
133
+ void hasAwsCredentials;
55
134
  lines.push('');
56
135
  return lines.join('\n');
57
136
  }
@@ -1 +1 @@
1
- {"version":3,"file":"env-example.js","sourceRoot":"","sources":["../../src/templates/env-example.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env-example.js","sourceRoot":"","sources":["../../src/templates/env-example.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"infrastructure.d.ts","sourceRoot":"","sources":["../../src/templates/infrastructure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CA8OpE"}
1
+ {"version":3,"file":"infrastructure.d.ts","sourceRoot":"","sources":["../../src/templates/infrastructure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CA2mBpE"}