create-velox-app 0.3.4 → 0.3.6

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.
@@ -0,0 +1,301 @@
1
+ /**
2
+ * Shared Template Files
3
+ *
4
+ * Common files used by all templates (config, gitignore, etc.)
5
+ */
6
+ // ============================================================================
7
+ // Version Constant
8
+ // ============================================================================
9
+ /**
10
+ * VeloxTS framework version for generated projects.
11
+ * This is automatically updated during releases via changesets.
12
+ */
13
+ export const VELOXTS_VERSION = '0.3.1';
14
+ // ============================================================================
15
+ // TypeScript Config
16
+ // ============================================================================
17
+ export function generateTsConfig() {
18
+ return JSON.stringify({
19
+ $schema: 'https://json.schemastore.org/tsconfig',
20
+ compilerOptions: {
21
+ target: 'ES2022',
22
+ module: 'ES2022',
23
+ moduleResolution: 'bundler',
24
+ lib: ['ES2022'],
25
+ strict: true,
26
+ esModuleInterop: true,
27
+ skipLibCheck: true,
28
+ resolveJsonModule: true,
29
+ allowSyntheticDefaultImports: true,
30
+ forceConsistentCasingInFileNames: true,
31
+ isolatedModules: true,
32
+ noUnusedLocals: true,
33
+ noUnusedParameters: true,
34
+ noFallthroughCasesInSwitch: true,
35
+ declaration: false,
36
+ declarationMap: false,
37
+ rootDir: './src',
38
+ outDir: './dist',
39
+ },
40
+ include: ['src/**/*'],
41
+ exclude: ['node_modules', 'dist', '**/*.test.ts', '**/*.spec.ts'],
42
+ }, null, 2);
43
+ }
44
+ // ============================================================================
45
+ // tsup Config
46
+ // ============================================================================
47
+ export function generateTsupConfig() {
48
+ return `import { defineConfig } from 'tsup';
49
+
50
+ export default defineConfig({
51
+ entry: ['src/index.ts'],
52
+ format: ['esm'],
53
+ target: 'node18',
54
+ clean: true,
55
+ dts: false,
56
+ sourcemap: true,
57
+ });
58
+ `;
59
+ }
60
+ // ============================================================================
61
+ // Environment Files
62
+ // ============================================================================
63
+ export function generateGitignore() {
64
+ return `# Dependencies
65
+ node_modules/
66
+
67
+ # Build output
68
+ dist/
69
+ *.tsbuildinfo
70
+
71
+ # Environment variables
72
+ .env
73
+ .env.local
74
+
75
+ # Database
76
+ *.db
77
+ *.db-journal
78
+
79
+ # Generated Prisma client
80
+ src/generated/
81
+
82
+ # Logs
83
+ logs/
84
+ *.log
85
+
86
+ # OS
87
+ .DS_Store
88
+ Thumbs.db
89
+
90
+ # IDE
91
+ .vscode/
92
+ .idea/
93
+ *.swp
94
+ *.swo
95
+
96
+ # Turbo
97
+ .turbo/
98
+ `;
99
+ }
100
+ // ============================================================================
101
+ // Prisma Config (Prisma 7.x)
102
+ // ============================================================================
103
+ export function generatePrismaConfig() {
104
+ return `/**
105
+ * Prisma Configuration (Prisma 7.x)
106
+ *
107
+ * Database URL is now configured here instead of schema.prisma.
108
+ * See: https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-7
109
+ */
110
+
111
+ import 'dotenv/config';
112
+ import { defineConfig } from 'prisma/config';
113
+
114
+ export default defineConfig({
115
+ earlyAccess: true,
116
+ schema: './prisma/schema.prisma',
117
+ datasource: {
118
+ url: process.env.DATABASE_URL!,
119
+ },
120
+ });
121
+ `;
122
+ }
123
+ // ============================================================================
124
+ // Config Files
125
+ // ============================================================================
126
+ export function generateConfigIndex() {
127
+ return `/**
128
+ * Configuration Exports
129
+ */
130
+
131
+ export * from './app.js';
132
+ `;
133
+ }
134
+ export function generateConfigApp() {
135
+ return `/**
136
+ * Application Configuration
137
+ */
138
+
139
+ export interface AppConfig {
140
+ port: number;
141
+ host: string;
142
+ logger: boolean;
143
+ apiPrefix: string;
144
+ env: 'development' | 'production' | 'test';
145
+ }
146
+
147
+ export function createConfig(): AppConfig {
148
+ return {
149
+ port: Number(process.env.PORT) || 3210,
150
+ host: process.env.HOST || '0.0.0.0',
151
+ logger: process.env.LOG_LEVEL !== 'silent',
152
+ apiPrefix: process.env.API_PREFIX || '/api',
153
+ env: (process.env.NODE_ENV as AppConfig['env']) || 'development',
154
+ };
155
+ }
156
+
157
+ export const config = createConfig();
158
+ `;
159
+ }
160
+ // ============================================================================
161
+ // Health Procedures
162
+ // ============================================================================
163
+ export function generateHealthProcedures() {
164
+ return `/**
165
+ * Health Check Procedures
166
+ */
167
+
168
+ import { VELOX_VERSION, defineProcedures, procedure, z } from '@veloxts/velox';
169
+
170
+ export const healthProcedures = defineProcedures('health', {
171
+ getHealth: procedure()
172
+ .rest({ method: 'GET', path: '/health' })
173
+ .output(
174
+ z.object({
175
+ status: z.literal('ok'),
176
+ version: z.string(),
177
+ timestamp: z.string().datetime(),
178
+ uptime: z.number(),
179
+ })
180
+ )
181
+ .query(async () => ({
182
+ status: 'ok' as const,
183
+ version: VELOX_VERSION,
184
+ timestamp: new Date().toISOString(),
185
+ uptime: process.uptime(),
186
+ })),
187
+ });
188
+ `;
189
+ }
190
+ // ============================================================================
191
+ // Static Files
192
+ // ============================================================================
193
+ export function generateIndexHtml() {
194
+ return `<!DOCTYPE html>
195
+ <html lang="en">
196
+ <head>
197
+ <meta charset="UTF-8">
198
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
199
+ <title>VeloxTS App</title>
200
+ <style>
201
+ * { box-sizing: border-box; margin: 0; padding: 0; }
202
+ body { font-family: system-ui, sans-serif; background: #f5f5f5; padding: 20px; }
203
+ .container { max-width: 800px; margin: 0 auto; }
204
+ h1 { margin-bottom: 20px; color: #333; }
205
+ .card { background: white; border-radius: 8px; padding: 20px; margin-bottom: 20px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
206
+ .card h2 { margin-bottom: 15px; color: #555; font-size: 1.1rem; }
207
+ button { background: #007bff; color: white; border: none; padding: 8px 16px; border-radius: 4px; cursor: pointer; }
208
+ button:hover { background: #0056b3; }
209
+ </style>
210
+ </head>
211
+ <body>
212
+ <div class="container">
213
+ <h1>Welcome to VeloxTS</h1>
214
+ <div class="card">
215
+ <h2>Your app is running!</h2>
216
+ <p>Visit <code>/api/health</code> to check the API status.</p>
217
+ <p>Visit <code>/api/users</code> to see the users endpoint.</p>
218
+ </div>
219
+ </div>
220
+ </body>
221
+ </html>
222
+ `;
223
+ }
224
+ // ============================================================================
225
+ // README
226
+ // ============================================================================
227
+ export function generateReadme(config) {
228
+ return `# ${config.projectName}
229
+
230
+ A VeloxTS application - TypeScript full-stack framework.
231
+
232
+ ## Getting Started
233
+
234
+ ### Install Dependencies
235
+
236
+ \`\`\`bash
237
+ ${config.packageManager} install
238
+ \`\`\`
239
+
240
+ ### Setup Database
241
+
242
+ \`\`\`bash
243
+ ${config.packageManager} db:push
244
+ \`\`\`
245
+
246
+ ### Start Development Server
247
+
248
+ \`\`\`bash
249
+ ${config.packageManager} dev
250
+ \`\`\`
251
+
252
+ The app will start at http://localhost:3210
253
+
254
+ ## Project Structure
255
+
256
+ \`\`\`
257
+ src/
258
+ ├── config/ # Application configuration
259
+ ├── database/ # Database client
260
+ ├── procedures/ # API procedures (business logic)
261
+ ├── schemas/ # Zod validation schemas
262
+ └── index.ts # Application entry point
263
+ \`\`\`
264
+
265
+ ## Available Scripts
266
+
267
+ - \`${config.packageManager} dev\` - Start development server with hot reload
268
+ - \`${config.packageManager} build\` - Build for production
269
+ - \`${config.packageManager} start\` - Start production server
270
+ - \`${config.packageManager} db:push\` - Sync database schema
271
+ - \`${config.packageManager} db:studio\` - Open Prisma Studio
272
+
273
+ ## Learn More
274
+
275
+ - [VeloxTS Documentation](https://veloxts.dev)
276
+ - [TypeScript](https://www.typescriptlang.org/)
277
+ - [Fastify](https://fastify.dev/)
278
+ - [Prisma](https://www.prisma.io/)
279
+
280
+ ## License
281
+
282
+ MIT
283
+ `;
284
+ }
285
+ // ============================================================================
286
+ // Shared Files Generator
287
+ // ============================================================================
288
+ export function generateSharedFiles(config) {
289
+ return [
290
+ { path: 'tsconfig.json', content: generateTsConfig() },
291
+ { path: 'tsup.config.ts', content: generateTsupConfig() },
292
+ { path: '.gitignore', content: generateGitignore() },
293
+ { path: 'prisma.config.ts', content: generatePrismaConfig() },
294
+ { path: 'README.md', content: generateReadme(config) },
295
+ { path: 'src/config/index.ts', content: generateConfigIndex() },
296
+ { path: 'src/config/app.ts', content: generateConfigApp() },
297
+ { path: 'src/procedures/health.ts', content: generateHealthProcedures() },
298
+ { path: 'public/index.html', content: generateIndexHtml() },
299
+ ];
300
+ }
301
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/templates/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Template Types
3
+ *
4
+ * Shared types for the create-velox-app template system.
5
+ */
6
+ /**
7
+ * Available template types
8
+ */
9
+ export type TemplateType = 'default' | 'auth';
10
+ /**
11
+ * Available database types
12
+ */
13
+ export type DatabaseType = 'sqlite' | 'postgresql' | 'mysql';
14
+ /**
15
+ * Database metadata for CLI display
16
+ */
17
+ export interface DatabaseMetadata {
18
+ type: DatabaseType;
19
+ label: string;
20
+ hint?: string;
21
+ disabled?: boolean;
22
+ }
23
+ /**
24
+ * Available databases with metadata
25
+ */
26
+ export declare const DATABASE_METADATA: Record<DatabaseType, DatabaseMetadata>;
27
+ /**
28
+ * Get all available database options
29
+ */
30
+ export declare function getAvailableDatabases(): DatabaseMetadata[];
31
+ /**
32
+ * Check if a database type is valid
33
+ */
34
+ export declare function isValidDatabase(database: string): database is DatabaseType;
35
+ /**
36
+ * Check if a database type is available (not disabled)
37
+ */
38
+ export declare function isDatabaseAvailable(database: DatabaseType): boolean;
39
+ /**
40
+ * Template metadata for CLI display
41
+ */
42
+ export interface TemplateMetadata {
43
+ type: TemplateType;
44
+ label: string;
45
+ description: string;
46
+ hint?: string;
47
+ }
48
+ /**
49
+ * Template configuration passed to generator functions
50
+ */
51
+ export interface TemplateConfig {
52
+ projectName: string;
53
+ packageManager: 'npm' | 'pnpm' | 'yarn';
54
+ template: TemplateType;
55
+ database: DatabaseType;
56
+ }
57
+ /**
58
+ * Interface for template generators
59
+ */
60
+ export interface TemplateGenerator {
61
+ /**
62
+ * Generate all files for this template
63
+ */
64
+ generateFiles(config: TemplateConfig): TemplateFile[];
65
+ }
66
+ /**
67
+ * A single template file to be written
68
+ */
69
+ export interface TemplateFile {
70
+ /**
71
+ * Relative path from project root (e.g., 'src/index.ts')
72
+ */
73
+ path: string;
74
+ /**
75
+ * File content
76
+ */
77
+ content: string;
78
+ }
79
+ /**
80
+ * Available templates with their metadata
81
+ */
82
+ export declare const TEMPLATE_METADATA: Record<TemplateType, TemplateMetadata>;
83
+ /**
84
+ * Get all available template types
85
+ */
86
+ export declare function getAvailableTemplates(): TemplateMetadata[];
87
+ /**
88
+ * Check if a template type is valid
89
+ */
90
+ export declare function isValidTemplate(template: string): template is TemplateType;
91
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/templates/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAkBpE,CAAC;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,gBAAgB,EAAE,CAE1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,YAAY,CAE1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAEnE;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,YAAY,EAAE,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAapE,CAAC;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,gBAAgB,EAAE,CAE1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,YAAY,CAE1E"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Template Types
3
+ *
4
+ * Shared types for the create-velox-app template system.
5
+ */
6
+ /**
7
+ * Available databases with metadata
8
+ */
9
+ export const DATABASE_METADATA = {
10
+ sqlite: {
11
+ type: 'sqlite',
12
+ label: 'SQLite',
13
+ hint: 'File-based, zero setup (recommended for development)',
14
+ },
15
+ postgresql: {
16
+ type: 'postgresql',
17
+ label: 'PostgreSQL',
18
+ hint: 'Coming soon - requires running PostgreSQL server',
19
+ disabled: true,
20
+ },
21
+ mysql: {
22
+ type: 'mysql',
23
+ label: 'MySQL',
24
+ hint: 'Coming soon - requires running MySQL server',
25
+ disabled: true,
26
+ },
27
+ };
28
+ /**
29
+ * Get all available database options
30
+ */
31
+ export function getAvailableDatabases() {
32
+ return Object.values(DATABASE_METADATA);
33
+ }
34
+ /**
35
+ * Check if a database type is valid
36
+ */
37
+ export function isValidDatabase(database) {
38
+ return database in DATABASE_METADATA;
39
+ }
40
+ /**
41
+ * Check if a database type is available (not disabled)
42
+ */
43
+ export function isDatabaseAvailable(database) {
44
+ return !DATABASE_METADATA[database].disabled;
45
+ }
46
+ // ============================================================================
47
+ // Template Registry
48
+ // ============================================================================
49
+ /**
50
+ * Available templates with their metadata
51
+ */
52
+ export const TEMPLATE_METADATA = {
53
+ default: {
54
+ type: 'default',
55
+ label: 'API (Default)',
56
+ description: 'REST API with user CRUD operations',
57
+ hint: 'Basic API setup without authentication',
58
+ },
59
+ auth: {
60
+ type: 'auth',
61
+ label: 'Full Auth',
62
+ description: 'Complete JWT authentication with login, register, guards',
63
+ hint: 'Includes rate limiting, token rotation, password hashing',
64
+ },
65
+ };
66
+ /**
67
+ * Get all available template types
68
+ */
69
+ export function getAvailableTemplates() {
70
+ return Object.values(TEMPLATE_METADATA);
71
+ }
72
+ /**
73
+ * Check if a template type is valid
74
+ */
75
+ export function isValidTemplate(template) {
76
+ return template in TEMPLATE_METADATA;
77
+ }
78
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/templates/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA0BH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA2C;IACvE,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,sDAAsD;KAC7D;IACD,UAAU,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,kDAAkD;QACxD,QAAQ,EAAE,IAAI;KACf;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,6CAA6C;QACnD,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,QAAQ,IAAI,iBAAiB,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAsB;IACxD,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;AAC/C,CAAC;AA8CD,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA2C;IACvE,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,oCAAoC;QACjD,IAAI,EAAE,wCAAwC;KAC/C;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,0DAA0D;QACvE,IAAI,EAAE,0DAA0D;KACjE;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,QAAQ,IAAI,iBAAiB,CAAC;AACvC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-velox-app",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "description": "Project scaffolder for VeloxTS framework",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -20,6 +20,7 @@
20
20
  ],
21
21
  "dependencies": {
22
22
  "@clack/prompts": "0.11.0",
23
+ "ora": "8.1.1",
23
24
  "picocolors": "1.1.1"
24
25
  },
25
26
  "devDependencies": {
@@ -1,35 +0,0 @@
1
- /**
2
- * Template Generation Functions
3
- *
4
- * Generates all files needed for a new VeloxTS project.
5
- * Templates are based on the playground app structure.
6
- */
7
- /**
8
- * VeloxTS framework version for generated projects.
9
- * This is automatically updated during releases via changesets.
10
- */
11
- export declare const VELOXTS_VERSION = "0.3.1";
12
- export interface ProjectTemplate {
13
- projectName: string;
14
- packageManager: 'npm' | 'pnpm' | 'yarn';
15
- }
16
- export declare function generatePackageJson(template: ProjectTemplate): string;
17
- export declare function generateTsConfig(): string;
18
- export declare function generateTsupConfig(): string;
19
- export declare function generateEnvExample(): string;
20
- export declare function generateGitignore(): string;
21
- export declare function generatePrismaSchema(): string;
22
- export declare function generatePrismaConfig(): string;
23
- export declare function generateIndexTs(): string;
24
- export declare function generateConfigIndex(): string;
25
- export declare function generateConfigApp(): string;
26
- export declare function generateDatabaseIndex(): string;
27
- export declare function generateProceduresIndex(): string;
28
- export declare function generateHealthProcedures(): string;
29
- export declare function generateUserProcedures(): string;
30
- export declare function generateSchemasIndex(): string;
31
- export declare function generateUserSchema(): string;
32
- export declare function generateIndexHtml(): string;
33
- export declare function generateClaudeMd(projectName: string): string;
34
- export declare function generateReadme(projectName: string): string;
35
- //# sourceMappingURL=templates.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;GAGG;AACH,eAAO,MAAM,eAAe,UAAU,CAAC;AAMvC,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;CACzC;AAMD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAsCrE;AAMD,wBAAgB,gBAAgB,IAAI,MAAM,CA8BzC;AAMD,wBAAgB,kBAAkB,IAAI,MAAM,CAY3C;AAMD,wBAAgB,kBAAkB,IAAI,MAAM,CAe3C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAoC1C;AAMD,wBAAgB,oBAAoB,IAAI,MAAM,CA8B7C;AAMD,wBAAgB,oBAAoB,IAAI,MAAM,CAmB7C;AAMD,wBAAgB,eAAe,IAAI,MAAM,CAqFxC;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAO5C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAyB1C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAwB9C;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAQhD;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CA0BjD;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAyH/C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAO7C;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CA+B3C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CA8B1C;AAMD,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAuI5D;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAyD1D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"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"}