andrud 1.0.1 → 1.0.3

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 (121) hide show
  1. package/README.md +295 -306
  2. package/dist/__tests__/context.test.d.ts +5 -0
  3. package/dist/__tests__/context.test.d.ts.map +1 -0
  4. package/dist/__tests__/context.test.js +86 -0
  5. package/dist/__tests__/context.test.js.map +1 -0
  6. package/dist/__tests__/generator.test.d.ts +5 -0
  7. package/dist/__tests__/generator.test.d.ts.map +1 -0
  8. package/dist/__tests__/generator.test.js +83 -0
  9. package/dist/__tests__/generator.test.js.map +1 -0
  10. package/dist/__tests__/validation.test.d.ts +5 -0
  11. package/dist/__tests__/validation.test.d.ts.map +1 -0
  12. package/dist/__tests__/validation.test.js +81 -0
  13. package/dist/__tests__/validation.test.js.map +1 -0
  14. package/dist/cli/commands/create.d.ts +10 -0
  15. package/dist/cli/commands/create.d.ts.map +1 -0
  16. package/dist/cli/commands/create.js +203 -0
  17. package/dist/cli/commands/create.js.map +1 -0
  18. package/dist/cli/commands/info.d.ts +13 -0
  19. package/dist/cli/commands/info.d.ts.map +1 -0
  20. package/dist/cli/commands/info.js +153 -0
  21. package/dist/cli/commands/info.js.map +1 -0
  22. package/dist/cli/commands/init.d.ts +15 -0
  23. package/dist/cli/commands/init.d.ts.map +1 -0
  24. package/dist/cli/commands/init.js +141 -0
  25. package/dist/cli/commands/init.js.map +1 -0
  26. package/dist/cli/commands/list.d.ts +18 -0
  27. package/dist/cli/commands/list.d.ts.map +1 -0
  28. package/dist/cli/commands/list.js +122 -0
  29. package/dist/cli/commands/list.js.map +1 -0
  30. package/dist/cli/commands/new.d.ts +22 -0
  31. package/dist/cli/commands/new.d.ts.map +1 -0
  32. package/dist/cli/commands/new.js +245 -0
  33. package/dist/cli/commands/new.js.map +1 -0
  34. package/dist/cli/index.d.ts +5 -0
  35. package/dist/cli/index.d.ts.map +1 -0
  36. package/dist/cli/index.js +157 -0
  37. package/dist/cli/index.js.map +1 -0
  38. package/dist/core/config.d.ts +89 -0
  39. package/dist/core/config.d.ts.map +1 -0
  40. package/dist/core/config.js +151 -0
  41. package/dist/core/config.js.map +1 -0
  42. package/dist/core/context.d.ts +47 -0
  43. package/dist/core/context.d.ts.map +1 -0
  44. package/dist/core/context.js +175 -0
  45. package/dist/core/context.js.map +1 -0
  46. package/dist/core/generator.d.ts +44 -0
  47. package/dist/core/generator.d.ts.map +1 -0
  48. package/{src/core/generator.ts → dist/core/generator.js} +394 -484
  49. package/dist/core/generator.js.map +1 -0
  50. package/dist/core/types.d.ts +125 -0
  51. package/dist/core/types.d.ts.map +1 -0
  52. package/dist/core/types.js +22 -0
  53. package/dist/core/types.js.map +1 -0
  54. package/dist/templates/index.d.ts +36 -0
  55. package/dist/templates/index.d.ts.map +1 -0
  56. package/dist/templates/index.js +141 -0
  57. package/dist/templates/index.js.map +1 -0
  58. package/dist/ui/colors.d.ts +40 -0
  59. package/dist/ui/colors.d.ts.map +1 -0
  60. package/dist/ui/colors.js +117 -0
  61. package/dist/ui/colors.js.map +1 -0
  62. package/dist/ui/output.d.ts +69 -0
  63. package/dist/ui/output.d.ts.map +1 -0
  64. package/dist/ui/output.js +199 -0
  65. package/dist/ui/output.js.map +1 -0
  66. package/dist/ui/prompts.d.ts +20 -0
  67. package/dist/ui/prompts.d.ts.map +1 -0
  68. package/dist/ui/prompts.js +118 -0
  69. package/dist/ui/prompts.js.map +1 -0
  70. package/dist/ui/spinners.d.ts +30 -0
  71. package/dist/ui/spinners.d.ts.map +1 -0
  72. package/dist/ui/spinners.js +74 -0
  73. package/dist/ui/spinners.js.map +1 -0
  74. package/dist/ui/types.d.ts +35 -0
  75. package/dist/ui/types.d.ts.map +1 -0
  76. package/dist/ui/types.js +5 -0
  77. package/dist/ui/types.js.map +1 -0
  78. package/dist/utils/filesystem.d.ts +38 -0
  79. package/dist/utils/filesystem.d.ts.map +1 -0
  80. package/dist/utils/filesystem.js +181 -0
  81. package/dist/utils/filesystem.js.map +1 -0
  82. package/dist/utils/logger.d.ts +27 -0
  83. package/dist/utils/logger.d.ts.map +1 -0
  84. package/dist/utils/logger.js +52 -0
  85. package/dist/utils/logger.js.map +1 -0
  86. package/dist/utils/object.d.ts +140 -0
  87. package/dist/utils/object.d.ts.map +1 -0
  88. package/dist/utils/object.js +385 -0
  89. package/dist/utils/object.js.map +1 -0
  90. package/dist/utils/validation.d.ts +35 -0
  91. package/dist/utils/validation.d.ts.map +1 -0
  92. package/dist/utils/validation.js +270 -0
  93. package/dist/utils/validation.js.map +1 -0
  94. package/package.json +10 -21
  95. package/CHANGELOG.md +0 -70
  96. package/CONTRIBUTING.md +0 -132
  97. package/sc.png +0 -0
  98. package/src/__tests__/context.test.ts +0 -133
  99. package/src/__tests__/generator.test.ts +0 -107
  100. package/src/__tests__/validation.test.ts +0 -105
  101. package/src/cli/commands/create.ts +0 -252
  102. package/src/cli/commands/info.ts +0 -178
  103. package/src/cli/commands/init.ts +0 -186
  104. package/src/cli/commands/list.ts +0 -156
  105. package/src/cli/commands/new.ts +0 -316
  106. package/src/cli/index.ts +0 -116
  107. package/src/core/config.ts +0 -172
  108. package/src/core/context.ts +0 -212
  109. package/src/core/types.ts +0 -184
  110. package/src/templates/index.ts +0 -162
  111. package/src/types/gradient-string.d.ts +0 -25
  112. package/src/ui/colors.ts +0 -139
  113. package/src/ui/output.ts +0 -230
  114. package/src/ui/prompts.ts +0 -170
  115. package/src/ui/spinners.ts +0 -95
  116. package/src/ui/types.ts +0 -41
  117. package/src/utils/filesystem.ts +0 -222
  118. package/src/utils/logger.ts +0 -67
  119. package/src/utils/object.ts +0 -456
  120. package/src/utils/validation.ts +0 -345
  121. package/tsconfig.json +0 -25
@@ -0,0 +1,151 @@
1
+ /**
2
+ * Configuration constants for Android and Gradle versions
3
+ */
4
+ /**
5
+ * Default Android SDK configuration
6
+ */
7
+ export const ANDROID_SDK_DEFAULTS = {
8
+ MIN_SDK: 24,
9
+ TARGET_SDK: 36,
10
+ COMPILE_SDK: 36,
11
+ BUILD_TOOLS_VERSION: '36.0.0'
12
+ };
13
+ /**
14
+ * Gradle-related versions
15
+ */
16
+ export const GRADLE_VERSIONS = {
17
+ AGP: '8.7.3',
18
+ GRADLE: '8.14',
19
+ KOTLIN: '2.0.21',
20
+ COMPOSE_COMPILER: '1.5.14',
21
+ COMPOSE_BOM: '2024.09.03',
22
+ NDK: '28.2.13676358'
23
+ };
24
+ /**
25
+ * AndroidX library versions
26
+ */
27
+ export const ANDROIDX_VERSIONS = {
28
+ CORE_KTX: '1.15.0',
29
+ APP_COMPAT: '1.7.0',
30
+ MATERIAL: '1.12.0',
31
+ LIFECYCLE: '2.8.7',
32
+ ACTIVITY: '1.9.3',
33
+ CONSTRAINT_LAYOUT: '2.2.0',
34
+ RECYCLER_VIEW: '1.3.2',
35
+ CARD_VIEW: '1.0.0',
36
+ SWIPE_REFRESH: '1.1.0',
37
+ NAVIGATION: '2.8.4',
38
+ ROOM: '2.6.1',
39
+ WORK: '2.10.0',
40
+ HILT: '2.52'
41
+ };
42
+ /**
43
+ * Compose versions
44
+ */
45
+ export const COMPOSE_VERSIONS = {
46
+ BOM: '2025.01.00',
47
+ UI: '1.3.0',
48
+ UI_GRAPHICS: '1.3.0',
49
+ UI_TOOLING: '1.3.0',
50
+ MATERIAL3: '1.3.0',
51
+ MATERIAL_ICONS: '1.3.0',
52
+ FOUNDATION: '1.3.0',
53
+ ACTIVITY: '1.9.3',
54
+ LIFECYCLE: '2.8.7',
55
+ NAVIGATION: '2.8.4'
56
+ };
57
+ /**
58
+ * Default Gradle properties for Android projects
59
+ */
60
+ export function getDefaultGradleProperties() {
61
+ return {
62
+ 'org.gradle.jvmargs': '-Xmx2048m -Dfile.encoding=UTF-8',
63
+ 'android.useAndroidX': true,
64
+ 'android.enableJetifier': true,
65
+ 'kotlin.code.style': 'official',
66
+ 'org.gradle.parallel': true,
67
+ 'org.gradle.caching': true,
68
+ 'org.gradle.configureondemand': true,
69
+ 'android.nonTransitiveRClass': true,
70
+ 'android.defaults.buildfeatures.buildconfig': true
71
+ };
72
+ }
73
+ /**
74
+ * Get recommended minimum SDK based on year
75
+ */
76
+ export function getRecommendedMinSdk() {
77
+ return 24; // Android 7.0 Nougat
78
+ }
79
+ /**
80
+ * Get target SDK for a given year
81
+ */
82
+ export function getTargetSdkForYear(year) {
83
+ // By default, target the latest stable SDK
84
+ if (year >= 2024) {
85
+ return 35; // Android 15
86
+ }
87
+ else if (year >= 2023) {
88
+ return 34; // Android 14
89
+ }
90
+ else if (year >= 2022) {
91
+ return 33; // Android 13
92
+ }
93
+ else {
94
+ return 32; // Android 12L
95
+ }
96
+ }
97
+ export const TEMPLATE_CONFIGS = {
98
+ 'kotlin-compose': {
99
+ language: 'kotlin',
100
+ uiFramework: 'compose',
101
+ minSdk: 31,
102
+ targetSdk: 36,
103
+ compileSdk: 36,
104
+ kotlinVersion: GRADLE_VERSIONS.KOTLIN,
105
+ agpVersion: GRADLE_VERSIONS.AGP,
106
+ gradleVersion: GRADLE_VERSIONS.GRADLE,
107
+ composeEnabled: true
108
+ },
109
+ 'kotlin-xml': {
110
+ language: 'kotlin',
111
+ uiFramework: 'xml',
112
+ minSdk: 31,
113
+ targetSdk: 36,
114
+ compileSdk: 36,
115
+ kotlinVersion: GRADLE_VERSIONS.KOTLIN,
116
+ agpVersion: GRADLE_VERSIONS.AGP,
117
+ gradleVersion: GRADLE_VERSIONS.GRADLE,
118
+ composeEnabled: false
119
+ },
120
+ 'java-xml': {
121
+ language: 'java',
122
+ uiFramework: 'xml',
123
+ minSdk: 31,
124
+ targetSdk: 36,
125
+ compileSdk: 36,
126
+ kotlinVersion: '', // Not used for Java
127
+ agpVersion: GRADLE_VERSIONS.AGP,
128
+ gradleVersion: GRADLE_VERSIONS.GRADLE,
129
+ composeEnabled: false
130
+ },
131
+ 'native-cpp': {
132
+ language: 'kotlin',
133
+ uiFramework: 'xml',
134
+ minSdk: 31,
135
+ targetSdk: 36,
136
+ compileSdk: 36,
137
+ kotlinVersion: GRADLE_VERSIONS.KOTLIN,
138
+ agpVersion: GRADLE_VERSIONS.AGP,
139
+ gradleVersion: GRADLE_VERSIONS.GRADLE,
140
+ composeEnabled: false,
141
+ ndkVersion: GRADLE_VERSIONS.NDK
142
+ }
143
+ };
144
+ /**
145
+ * Get template configuration
146
+ */
147
+ export function getTemplateConfig(template) {
148
+ const config = TEMPLATE_CONFIGS[template];
149
+ return config ?? TEMPLATE_CONFIGS['kotlin-xml'];
150
+ }
151
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Context builder for generating Android project context
3
+ */
4
+ import type { TemplateType, TemplateContext, ProjectFeatures } from './types.js';
5
+ /**
6
+ * Build default context from basic parameters
7
+ */
8
+ export declare function buildDefaultProjectContext(appName: string, packageName: string, projectDirectory: string, template: TemplateType, features?: Partial<ProjectFeatures>, minSdk?: number, targetSdk?: number): Omit<TemplateContext, 'packagePath' | 'appNameSnake' | 'appNameKebab' | 'appNamePascal' | 'appNameCamel' | 'appNameLower' | 'year' | 'generatorVersion'>;
9
+ /**
10
+ * Build full template context with all derived values
11
+ */
12
+ export declare function buildTemplateContext(context: {
13
+ appName: string;
14
+ packageName: string;
15
+ projectDirectory: string;
16
+ template: string;
17
+ uiFramework: string;
18
+ language: 'kotlin' | 'java';
19
+ android: {
20
+ minSdk: number;
21
+ targetSdk: number;
22
+ compileSdk: number;
23
+ };
24
+ gradle: {
25
+ agpVersion: string;
26
+ gradleVersion: string;
27
+ kotlinVersion?: string;
28
+ composeCompilerVersion?: string;
29
+ composeBomVersion?: string;
30
+ };
31
+ features: Record<string, boolean>;
32
+ nativeCpp?: {
33
+ cppStandard: string;
34
+ ndkVersion?: string;
35
+ stlType?: string;
36
+ abiFilters?: string[];
37
+ };
38
+ year?: string;
39
+ }): TemplateContext;
40
+ /**
41
+ * Validate context has all required fields
42
+ */
43
+ export declare function validateContext(context: Partial<TemplateContext>): {
44
+ valid: boolean;
45
+ errors: string[];
46
+ };
47
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAkC,eAAe,EAAmB,MAAM,YAAY,CAAC;AAIlI;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,YAAY,EACtB,QAAQ,GAAE,OAAO,CAAC,eAAe,CAAM,EACvC,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI,CAAC,eAAe,EAAE,aAAa,GAAG,cAAc,GAAG,cAAc,GAAG,eAAe,GAAG,cAAc,GAAG,cAAc,GAAG,MAAM,GAAG,kBAAkB,CAAC,CAiE1J;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC5B,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,MAAM,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAClG,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACA,eAAe,CAuEjB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAwBvG"}
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Context builder for generating Android project context
3
+ */
4
+ import { camelCase, kebabCase, pascalCase, snakeCase } from '../utils/validation.js';
5
+ import { GRADLE_VERSIONS, ANDROID_SDK_DEFAULTS, getTemplateConfig } from './config.js';
6
+ const GENERATOR_VERSION = '1.0.0';
7
+ /**
8
+ * Build default context from basic parameters
9
+ */
10
+ export function buildDefaultProjectContext(appName, packageName, projectDirectory, template, features = {}, minSdk, targetSdk) {
11
+ // Determine language and UI framework from template
12
+ const isCompose = template === 'kotlin-compose';
13
+ const isNativeCpp = template === 'native-cpp';
14
+ const isKotlin = template !== 'java-xml';
15
+ const isXml = !isCompose;
16
+ // Get template config for version info
17
+ const templateConfig = getTemplateConfig(template);
18
+ // Create Android SDK config
19
+ const android = {
20
+ minSdk: minSdk ?? templateConfig.minSdk,
21
+ targetSdk: targetSdk ?? templateConfig.targetSdk,
22
+ compileSdk: templateConfig.compileSdk,
23
+ buildToolsVersion: ANDROID_SDK_DEFAULTS.BUILD_TOOLS_VERSION
24
+ };
25
+ // Create Gradle config
26
+ const gradle = {
27
+ agpVersion: templateConfig.agpVersion,
28
+ gradleVersion: templateConfig.gradleVersion,
29
+ kotlinVersion: isKotlin ? templateConfig.kotlinVersion : undefined,
30
+ composeCompilerVersion: isCompose ? GRADLE_VERSIONS.COMPOSE_COMPILER : undefined,
31
+ composeBomVersion: isCompose ? GRADLE_VERSIONS.COMPOSE_BOM : undefined
32
+ };
33
+ // Build project features
34
+ const projectFeatures = {
35
+ git: features.git ?? true,
36
+ readme: features.readme ?? true,
37
+ androidX: features.androidX ?? true,
38
+ kotlinDsl: features.kotlinDsl ?? true,
39
+ adaptiveIcon: features.adaptiveIcon ?? true,
40
+ material3: isCompose || (features.material3 ?? true),
41
+ viewBinding: features.viewBinding ?? isXml,
42
+ dataBinding: features.dataBinding ?? false,
43
+ jetpackCompose: isCompose ? true : (features.jetpackCompose ?? false)
44
+ };
45
+ // Build native C++ config if needed
46
+ const nativeCpp = isNativeCpp ? {
47
+ cppStandard: 'c++17',
48
+ ndkVersion: templateConfig.ndkVersion ?? GRADLE_VERSIONS.NDK,
49
+ stlType: 'c++_shared',
50
+ abiFilters: ['armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64']
51
+ } : undefined;
52
+ // Build base context - spread features at top level to match TemplateContext (which extends ProjectFeatures)
53
+ const baseContext = {
54
+ appName,
55
+ packageName,
56
+ projectDirectory,
57
+ template,
58
+ language: templateConfig.language,
59
+ uiFramework: templateConfig.uiFramework,
60
+ android,
61
+ gradle,
62
+ ...projectFeatures,
63
+ nativeCpp
64
+ };
65
+ // Cast to Omit<TemplateContext, ...> for the fields that buildTemplateContext adds
66
+ const contextForBuildTemplate = baseContext;
67
+ return contextForBuildTemplate;
68
+ }
69
+ /**
70
+ * Build full template context with all derived values
71
+ */
72
+ export function buildTemplateContext(context) {
73
+ // Transform app name to various cases
74
+ const normalizedAppName = context.appName.replace(/\s+/g, '_');
75
+ const appNameSnake = snakeCase(context.appName);
76
+ const appNameKebab = kebabCase(context.appName);
77
+ const appNamePascal = pascalCase(context.appName);
78
+ const appNameCamel = camelCase(context.appName);
79
+ const appNameLower = context.appName.toLowerCase().replace(/\s+/g, '');
80
+ // Convert package name to path format (e.g., "com.example.myapp" -> "com/example/myapp")
81
+ const packagePath = context.packageName.replace(/\./g, '/');
82
+ // Get current year
83
+ const year = context.year ?? new Date().getFullYear().toString();
84
+ // Build native C++ config
85
+ const nativeCpp = context.nativeCpp ? {
86
+ cppStandard: (context.nativeCpp.cppStandard === 'c++20' ? 'c++20' : 'c++17'),
87
+ ndkVersion: context.nativeCpp.ndkVersion,
88
+ stlType: context.nativeCpp.stlType ?? 'c++_shared',
89
+ abiFilters: context.nativeCpp.abiFilters
90
+ } : undefined;
91
+ // Build project features from context (features may be at top level or nested)
92
+ const featuresObj = context.features || {};
93
+ const features = {
94
+ git: typeof featuresObj.git === 'boolean' ? featuresObj.git : true,
95
+ readme: typeof featuresObj.readme === 'boolean' ? featuresObj.readme : true,
96
+ androidX: typeof featuresObj.androidX === 'boolean' ? featuresObj.androidX : true,
97
+ kotlinDsl: typeof featuresObj.kotlinDsl === 'boolean' ? featuresObj.kotlinDsl : true,
98
+ adaptiveIcon: typeof featuresObj.adaptiveIcon === 'boolean' ? featuresObj.adaptiveIcon : true,
99
+ material3: typeof featuresObj.material3 === 'boolean' ? featuresObj.material3 : true,
100
+ viewBinding: typeof featuresObj.viewBinding === 'boolean' ? featuresObj.viewBinding : undefined,
101
+ dataBinding: typeof featuresObj.dataBinding === 'boolean' ? featuresObj.dataBinding : undefined,
102
+ jetpackCompose: typeof featuresObj.jetpackCompose === 'boolean' ? featuresObj.jetpackCompose : undefined
103
+ };
104
+ // Build the complete template context
105
+ const templateContext = {
106
+ appName: context.appName,
107
+ packageName: context.packageName,
108
+ projectDirectory: context.projectDirectory,
109
+ template: context.template,
110
+ language: context.language,
111
+ uiFramework: context.uiFramework,
112
+ android: {
113
+ minSdk: context.android.minSdk,
114
+ targetSdk: context.android.targetSdk,
115
+ compileSdk: context.android.compileSdk,
116
+ buildToolsVersion: context.android.compileSdk > 34 ? '35.0.0' : '34.0.0'
117
+ },
118
+ gradle: {
119
+ agpVersion: context.gradle.agpVersion,
120
+ gradleVersion: context.gradle.gradleVersion,
121
+ kotlinVersion: context.gradle.kotlinVersion,
122
+ composeCompilerVersion: context.gradle.composeCompilerVersion,
123
+ composeBomVersion: context.gradle.composeBomVersion
124
+ },
125
+ appNameSnake,
126
+ appNameKebab,
127
+ appNamePascal,
128
+ appNameCamel,
129
+ appNameLower,
130
+ packagePath,
131
+ year,
132
+ generatorVersion: GENERATOR_VERSION,
133
+ ...features,
134
+ nativeCpp
135
+ };
136
+ return templateContext;
137
+ }
138
+ /**
139
+ * Validate context has all required fields
140
+ */
141
+ export function validateContext(context) {
142
+ const errors = [];
143
+ if (!context.appName)
144
+ errors.push('appName is required');
145
+ if (!context.packageName)
146
+ errors.push('packageName is required');
147
+ if (!context.projectDirectory)
148
+ errors.push('projectDirectory is required');
149
+ if (!context.template)
150
+ errors.push('template is required');
151
+ if (!context.language)
152
+ errors.push('language is required');
153
+ if (!context.uiFramework)
154
+ errors.push('uiFramework is required');
155
+ if (!context.android)
156
+ errors.push('android config is required');
157
+ if (!context.gradle)
158
+ errors.push('gradle config is required');
159
+ if (context.android) {
160
+ if (!context.android.minSdk)
161
+ errors.push('android.minSdk is required');
162
+ if (!context.android.targetSdk)
163
+ errors.push('android.targetSdk is required');
164
+ if (!context.android.compileSdk)
165
+ errors.push('android.compileSdk is required');
166
+ }
167
+ if (context.gradle) {
168
+ if (!context.gradle.agpVersion)
169
+ errors.push('gradle.agpVersion is required');
170
+ if (!context.gradle.gradleVersion)
171
+ errors.push('gradle.gradleVersion is required');
172
+ }
173
+ return { valid: errors.length === 0, errors };
174
+ }
175
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Project generator - creates Android project structure and files
3
+ */
4
+ import type { TemplateContext, GenerationResult } from './types.js';
5
+ export interface GeneratorOptions {
6
+ overwrite?: boolean;
7
+ skipInstall?: boolean;
8
+ dryRun?: boolean;
9
+ verbose?: boolean;
10
+ }
11
+ /**
12
+ * Validate project directory can be used
13
+ */
14
+ export declare function validateProjectDirectory(projectPath: string, options?: {
15
+ overwrite: boolean;
16
+ }): Promise<{
17
+ valid: boolean;
18
+ error?: string;
19
+ existingFiles?: string[];
20
+ }>;
21
+ /**
22
+ * Validate context has all required fields
23
+ */
24
+ export declare function validateContext(context: Partial<TemplateContext>): {
25
+ valid: boolean;
26
+ errors: string[];
27
+ };
28
+ /**
29
+ * Prepare project directory structure
30
+ */
31
+ export declare function prepareProjectStructure(projectPath: string, context: TemplateContext): Promise<{
32
+ success: boolean;
33
+ createdPaths: string[];
34
+ errors: string[];
35
+ }>;
36
+ /**
37
+ * Generate all project files
38
+ */
39
+ export declare function generateProject(context: TemplateContext, options?: GeneratorOptions): Promise<GenerationResult>;
40
+ /**
41
+ * Get directory contents
42
+ */
43
+ export declare function getDirectoryContents(path: string): Promise<string[]>;
44
+ //# sourceMappingURL=generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/core/generator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAiB,MAAM,YAAY,CAAC;AAMnF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,SAAS,EAAE,OAAO,CAAA;CAAyB,GACrD,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAoBvE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAWvG;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAuDzE;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,gBAAgB,CAAC,CAsG3B;AAklCD;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAO1E"}