@planu/cli 0.97.2 → 0.98.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 (97) hide show
  1. package/dist/config/license-plans.json +6 -2
  2. package/dist/config/mobile-ci-templates/android-github-actions.yml +149 -0
  3. package/dist/config/mobile-ci-templates/ios-github-actions.yml +120 -0
  4. package/dist/engine/api-validation/graphql-schema-validator.d.ts +3 -0
  5. package/dist/engine/api-validation/graphql-schema-validator.d.ts.map +1 -0
  6. package/dist/engine/api-validation/graphql-schema-validator.js +134 -0
  7. package/dist/engine/api-validation/graphql-schema-validator.js.map +1 -0
  8. package/dist/engine/api-validation/index.d.ts +3 -0
  9. package/dist/engine/api-validation/index.d.ts.map +1 -0
  10. package/dist/engine/api-validation/index.js +4 -0
  11. package/dist/engine/api-validation/index.js.map +1 -0
  12. package/dist/engine/api-validation/openapi-impl-validator.d.ts +3 -0
  13. package/dist/engine/api-validation/openapi-impl-validator.d.ts.map +1 -0
  14. package/dist/engine/api-validation/openapi-impl-validator.js +205 -0
  15. package/dist/engine/api-validation/openapi-impl-validator.js.map +1 -0
  16. package/dist/engine/ci-generator/android-jobs.d.ts +17 -0
  17. package/dist/engine/ci-generator/android-jobs.d.ts.map +1 -0
  18. package/dist/engine/ci-generator/android-jobs.js +168 -0
  19. package/dist/engine/ci-generator/android-jobs.js.map +1 -0
  20. package/dist/engine/ci-generator/ios-jobs.d.ts +17 -0
  21. package/dist/engine/ci-generator/ios-jobs.d.ts.map +1 -0
  22. package/dist/engine/ci-generator/ios-jobs.js +151 -0
  23. package/dist/engine/ci-generator/ios-jobs.js.map +1 -0
  24. package/dist/engine/ci-generator/yaml-builder.d.ts +10 -1
  25. package/dist/engine/ci-generator/yaml-builder.d.ts.map +1 -1
  26. package/dist/engine/ci-generator/yaml-builder.js +46 -1
  27. package/dist/engine/ci-generator/yaml-builder.js.map +1 -1
  28. package/dist/engine/coverage-gap-analyzer.d.ts +6 -0
  29. package/dist/engine/coverage-gap-analyzer.d.ts.map +1 -0
  30. package/dist/engine/coverage-gap-analyzer.js +177 -0
  31. package/dist/engine/coverage-gap-analyzer.js.map +1 -0
  32. package/dist/engine/dashboard/templates-kanban.d.ts.map +1 -1
  33. package/dist/engine/dashboard/templates-kanban.js +22 -0
  34. package/dist/engine/dashboard/templates-kanban.js.map +1 -1
  35. package/dist/engine/dashboard/templates-layout.d.ts.map +1 -1
  36. package/dist/engine/dashboard/templates-layout.js +59 -7
  37. package/dist/engine/dashboard/templates-layout.js.map +1 -1
  38. package/dist/engine/mutation-config-generator.d.ts +6 -0
  39. package/dist/engine/mutation-config-generator.d.ts.map +1 -0
  40. package/dist/engine/mutation-config-generator.js +111 -0
  41. package/dist/engine/mutation-config-generator.js.map +1 -0
  42. package/dist/engine/tdd-scaffold-generator.d.ts +7 -0
  43. package/dist/engine/tdd-scaffold-generator.d.ts.map +1 -0
  44. package/dist/engine/tdd-scaffold-generator.js +252 -0
  45. package/dist/engine/tdd-scaffold-generator.js.map +1 -0
  46. package/dist/engine/version-resolver.d.ts +10 -0
  47. package/dist/engine/version-resolver.d.ts.map +1 -0
  48. package/dist/engine/version-resolver.js +144 -0
  49. package/dist/engine/version-resolver.js.map +1 -0
  50. package/dist/engine/web-fetcher/stack-advisor.d.ts.map +1 -1
  51. package/dist/engine/web-fetcher/stack-advisor.js +32 -4
  52. package/dist/engine/web-fetcher/stack-advisor.js.map +1 -1
  53. package/dist/index.js +7 -11
  54. package/dist/index.js.map +1 -1
  55. package/dist/tools/checkpoint-handler.d.ts.map +1 -1
  56. package/dist/tools/checkpoint-handler.js +24 -1
  57. package/dist/tools/checkpoint-handler.js.map +1 -1
  58. package/dist/tools/dashboard.d.ts.map +1 -1
  59. package/dist/tools/dashboard.js +2 -0
  60. package/dist/tools/dashboard.js.map +1 -1
  61. package/dist/tools/register-spec-322-tools.d.ts +3 -0
  62. package/dist/tools/register-spec-322-tools.d.ts.map +1 -0
  63. package/dist/tools/register-spec-322-tools.js +41 -0
  64. package/dist/tools/register-spec-322-tools.js.map +1 -0
  65. package/dist/tools/register-spec-323-tools.d.ts +3 -0
  66. package/dist/tools/register-spec-323-tools.d.ts.map +1 -0
  67. package/dist/tools/register-spec-323-tools.js +57 -0
  68. package/dist/tools/register-spec-323-tools.js.map +1 -0
  69. package/dist/tools/tdd-scaffold-handler.d.ts +5 -0
  70. package/dist/tools/tdd-scaffold-handler.d.ts.map +1 -0
  71. package/dist/tools/tdd-scaffold-handler.js +92 -0
  72. package/dist/tools/tdd-scaffold-handler.js.map +1 -0
  73. package/dist/tools/validate-api-contract-handler.d.ts +3 -0
  74. package/dist/tools/validate-api-contract-handler.d.ts.map +1 -0
  75. package/dist/tools/validate-api-contract-handler.js +74 -0
  76. package/dist/tools/validate-api-contract-handler.js.map +1 -0
  77. package/dist/tools/validate.d.ts.map +1 -1
  78. package/dist/tools/validate.js +22 -2
  79. package/dist/tools/validate.js.map +1 -1
  80. package/dist/types/api-contract.d.ts +58 -0
  81. package/dist/types/api-contract.d.ts.map +1 -1
  82. package/dist/types/ci.d.ts +8 -0
  83. package/dist/types/ci.d.ts.map +1 -1
  84. package/dist/types/index.d.ts +1 -0
  85. package/dist/types/index.d.ts.map +1 -1
  86. package/dist/types/index.js +1 -0
  87. package/dist/types/index.js.map +1 -1
  88. package/dist/types/testing.d.ts +60 -0
  89. package/dist/types/testing.d.ts.map +1 -1
  90. package/dist/types/version-resolution.d.ts +23 -0
  91. package/dist/types/version-resolution.d.ts.map +1 -0
  92. package/dist/types/version-resolution.js +3 -0
  93. package/dist/types/version-resolution.js.map +1 -0
  94. package/package.json +1 -1
  95. package/src/config/license-plans.json +6 -2
  96. package/src/config/mobile-ci-templates/android-github-actions.yml +149 -0
  97. package/src/config/mobile-ci-templates/ios-github-actions.yml +120 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi-impl-validator.js","sourceRoot":"","sources":["../../../src/engine/api-validation/openapi-impl-validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { CIJob, MobileCiConfig } from '../../types/index.js';
2
+ /**
3
+ * Build a Gradle test job that runs unit tests on ubuntu-latest.
4
+ * Uses JDK 17 (Temurin) and caches Gradle dependencies.
5
+ */
6
+ export declare function buildGradleTestJob(config: MobileCiConfig): CIJob;
7
+ /**
8
+ * Build an APK/AAB signing job using the project keystore.
9
+ * Decodes the base64-encoded KEYSTORE_FILE secret and runs assembleRelease.
10
+ */
11
+ export declare function buildPlayStoreSigningJob(config: MobileCiConfig): CIJob;
12
+ /**
13
+ * Build a Play Console deploy job that uploads the signed AAB via Fastlane Supply.
14
+ * Depends on the signing job artifact. Requires PLAY_STORE_JSON_KEY secret.
15
+ */
16
+ export declare function buildPlayConsoleDeployJob(config: MobileCiConfig): CIJob;
17
+ //# sourceMappingURL=android-jobs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"android-jobs.d.ts","sourceRoot":"","sources":["../../../src/engine/ci-generator/android-jobs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAU,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAmD1E;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,KAAK,CA2BhE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,KAAK,CAuCtE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,cAAc,GAAG,KAAK,CA+CvE"}
@@ -0,0 +1,168 @@
1
+ // ci-generator/android-jobs.ts — Android CI job builders for Gradle + Play Store (SPEC-325)
2
+ // -- Shared helpers -----------------------------------------------------------
3
+ function checkoutStep() {
4
+ return { name: 'Checkout code', uses: 'actions/checkout@v4' };
5
+ }
6
+ function javaSetupStep() {
7
+ return {
8
+ name: 'Setup JDK',
9
+ uses: 'actions/setup-java@v4',
10
+ with: { 'java-version': '17', distribution: 'temurin' },
11
+ };
12
+ }
13
+ function gradleCacheStep() {
14
+ return {
15
+ name: 'Cache Gradle packages',
16
+ uses: 'actions/cache@v4',
17
+ with: {
18
+ path: '~/.gradle/caches\n~/.gradle/wrapper',
19
+ key: "${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}",
20
+ 'restore-keys': '${{ runner.os }}-gradle-',
21
+ },
22
+ };
23
+ }
24
+ function gradlePermissionsStep() {
25
+ return {
26
+ name: 'Grant Gradle execute permission',
27
+ run: 'chmod +x gradlew',
28
+ };
29
+ }
30
+ /** Common env vars required for Play Store keystore signing. */
31
+ function keystoreEnv() {
32
+ return {
33
+ KEYSTORE_FILE: '${{ secrets.KEYSTORE_FILE }}',
34
+ KEYSTORE_PASSWORD: '${{ secrets.KEYSTORE_PASSWORD }}',
35
+ KEY_ALIAS: '${{ secrets.KEY_ALIAS }}',
36
+ KEY_PASSWORD: '${{ secrets.KEY_PASSWORD }}',
37
+ };
38
+ }
39
+ function resolveModule(config) {
40
+ return config.scheme ?? 'app';
41
+ }
42
+ // -- Job builders -------------------------------------------------------------
43
+ /**
44
+ * Build a Gradle test job that runs unit tests on ubuntu-latest.
45
+ * Uses JDK 17 (Temurin) and caches Gradle dependencies.
46
+ */
47
+ export function buildGradleTestJob(config) {
48
+ const module = resolveModule(config);
49
+ const steps = [
50
+ checkoutStep(),
51
+ javaSetupStep(),
52
+ gradleCacheStep(),
53
+ gradlePermissionsStep(),
54
+ {
55
+ name: 'Run unit tests',
56
+ run: `./gradlew :${module}:testDebugUnitTest`,
57
+ },
58
+ {
59
+ name: 'Upload test reports',
60
+ uses: 'actions/upload-artifact@v4',
61
+ with: {
62
+ name: 'test-results',
63
+ path: `${module}/build/reports/tests/`,
64
+ 'if-no-files-found': 'warn',
65
+ },
66
+ },
67
+ ];
68
+ return {
69
+ name: 'Android — Gradle Unit Tests',
70
+ runsOn: 'ubuntu-latest',
71
+ steps,
72
+ };
73
+ }
74
+ /**
75
+ * Build an APK/AAB signing job using the project keystore.
76
+ * Decodes the base64-encoded KEYSTORE_FILE secret and runs assembleRelease.
77
+ */
78
+ export function buildPlayStoreSigningJob(config) {
79
+ const module = resolveModule(config);
80
+ const steps = [
81
+ checkoutStep(),
82
+ javaSetupStep(),
83
+ gradleCacheStep(),
84
+ gradlePermissionsStep(),
85
+ {
86
+ name: 'Decode keystore',
87
+ run: 'echo "$KEYSTORE_FILE" | base64 --decode > keystore.jks',
88
+ env: keystoreEnv(),
89
+ },
90
+ {
91
+ name: 'Build signed release AAB',
92
+ run: [
93
+ `./gradlew :${module}:bundleRelease \\`,
94
+ ` -Pandroid.injected.signing.store.file=$(pwd)/keystore.jks \\`,
95
+ ` -Pandroid.injected.signing.store.password="$KEYSTORE_PASSWORD" \\`,
96
+ ` -Pandroid.injected.signing.key.alias="$KEY_ALIAS" \\`,
97
+ ` -Pandroid.injected.signing.key.password="$KEY_PASSWORD"`,
98
+ ].join('\n'),
99
+ env: keystoreEnv(),
100
+ },
101
+ {
102
+ name: 'Upload signed AAB',
103
+ uses: 'actions/upload-artifact@v4',
104
+ with: {
105
+ name: 'release-aab',
106
+ path: `${module}/build/outputs/bundle/release/*.aab`,
107
+ },
108
+ },
109
+ ];
110
+ return {
111
+ name: 'Android — Sign Release AAB',
112
+ runsOn: 'ubuntu-latest',
113
+ steps,
114
+ env: keystoreEnv(),
115
+ };
116
+ }
117
+ /**
118
+ * Build a Play Console deploy job that uploads the signed AAB via Fastlane Supply.
119
+ * Depends on the signing job artifact. Requires PLAY_STORE_JSON_KEY secret.
120
+ */
121
+ export function buildPlayConsoleDeployJob(config) {
122
+ const module = resolveModule(config);
123
+ const packageName = config.bundleId ?? 'com.example.app';
124
+ const steps = [
125
+ checkoutStep(),
126
+ {
127
+ name: 'Download signed AAB',
128
+ uses: 'actions/download-artifact@v4',
129
+ with: { name: 'release-aab', path: './release' },
130
+ },
131
+ {
132
+ name: 'Setup Ruby for Fastlane',
133
+ uses: 'ruby/setup-ruby@v1',
134
+ with: { 'ruby-version': 'bundler-cache: true' },
135
+ },
136
+ {
137
+ name: 'Install Fastlane',
138
+ run: 'gem install fastlane --no-document',
139
+ },
140
+ {
141
+ name: 'Decode Play Store JSON key',
142
+ run: 'echo "$PLAY_STORE_JSON_KEY" > play-store-key.json',
143
+ env: {
144
+ PLAY_STORE_JSON_KEY: '${{ secrets.PLAY_STORE_JSON_KEY }}',
145
+ },
146
+ },
147
+ {
148
+ name: 'Upload to Play Console (internal track)',
149
+ run: [
150
+ 'fastlane supply \\',
151
+ ` --aab ./release/${module}/build/outputs/bundle/release/*.aab \\`,
152
+ ` --package_name "${packageName}" \\`,
153
+ ' --track internal \\',
154
+ ' --json_key ./play-store-key.json',
155
+ ].join('\n'),
156
+ },
157
+ ];
158
+ return {
159
+ name: 'Android — Play Console Deploy',
160
+ runsOn: 'ubuntu-latest',
161
+ needs: ['android-sign'],
162
+ steps,
163
+ env: {
164
+ PLAY_STORE_JSON_KEY: '${{ secrets.PLAY_STORE_JSON_KEY }}',
165
+ },
166
+ };
167
+ }
168
+ //# sourceMappingURL=android-jobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"android-jobs.js","sourceRoot":"","sources":["../../../src/engine/ci-generator/android-jobs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { CIJob, MobileCiConfig } from '../../types/index.js';
2
+ /**
3
+ * Build a basic Xcode Cloud setup job that compiles and runs unit tests.
4
+ * Uses macos-latest runner with Apple API key authentication.
5
+ */
6
+ export declare function buildXcodeCloudJob(config: MobileCiConfig): CIJob;
7
+ /**
8
+ * Build a Fastlane TestFlight job that compiles a signed IPA and uploads it.
9
+ * Requires MATCH_PASSWORD secret for code signing via Fastlane Match.
10
+ */
11
+ export declare function buildFastlaneTestFlightJob(config: MobileCiConfig): CIJob;
12
+ /**
13
+ * Build a production App Store submission job via Fastlane Deliver.
14
+ * Runs only on main branch. Requires Apple API credentials and signing secrets.
15
+ */
16
+ export declare function buildAppStoreDeployJob(config: MobileCiConfig): CIJob;
17
+ //# sourceMappingURL=ios-jobs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ios-jobs.d.ts","sourceRoot":"","sources":["../../../src/engine/ci-generator/ios-jobs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAU,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA6C1E;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,KAAK,CAwBhE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,cAAc,GAAG,KAAK,CAqCxE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,KAAK,CA2CpE"}
@@ -0,0 +1,151 @@
1
+ // ci-generator/ios-jobs.ts — iOS CI job builders for Xcode Cloud + TestFlight + App Store (SPEC-325)
2
+ // -- Shared helpers -----------------------------------------------------------
3
+ function checkoutStep() {
4
+ return { name: 'Checkout code', uses: 'actions/checkout@v4' };
5
+ }
6
+ function rubySetupStep() {
7
+ return {
8
+ name: 'Setup Ruby for Fastlane',
9
+ uses: 'ruby/setup-ruby@v1',
10
+ with: { 'ruby-version': 'bundler-cache: true' },
11
+ };
12
+ }
13
+ function selectXcodeStep() {
14
+ return {
15
+ name: 'Select Xcode version',
16
+ run: 'sudo xcode-select -s /Applications/Xcode.app',
17
+ };
18
+ }
19
+ function installFastlaneStep() {
20
+ return {
21
+ name: 'Install Fastlane',
22
+ run: 'gem install fastlane --no-document',
23
+ };
24
+ }
25
+ /** Common env vars required for Apple API authentication. */
26
+ function appleApiEnv() {
27
+ return {
28
+ APPLE_API_KEY: '${{ secrets.APPLE_API_KEY }}',
29
+ APPLE_API_ISSUER_ID: '${{ secrets.APPLE_API_ISSUER_ID }}',
30
+ APPLE_API_KEY_ID: '${{ secrets.APPLE_API_KEY_ID }}',
31
+ };
32
+ }
33
+ function resolveScheme(config) {
34
+ return config.scheme ?? 'MyApp';
35
+ }
36
+ // -- Job builders -------------------------------------------------------------
37
+ /**
38
+ * Build a basic Xcode Cloud setup job that compiles and runs unit tests.
39
+ * Uses macos-latest runner with Apple API key authentication.
40
+ */
41
+ export function buildXcodeCloudJob(config) {
42
+ const scheme = resolveScheme(config);
43
+ const steps = [
44
+ checkoutStep(),
45
+ selectXcodeStep(),
46
+ {
47
+ name: 'Build and test (Xcode)',
48
+ run: [
49
+ `xcodebuild clean build test \\`,
50
+ ` -scheme "${scheme}" \\`,
51
+ ` -destination 'platform=iOS Simulator,name=iPhone 15,OS=latest' \\`,
52
+ ` CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO \\`,
53
+ ' | xcpretty && exit "${PIPESTATUS[0]}"',
54
+ ].join('\n'),
55
+ env: appleApiEnv(),
56
+ },
57
+ ];
58
+ return {
59
+ name: 'iOS — Xcode Build & Test',
60
+ runsOn: 'macos-latest',
61
+ steps,
62
+ env: appleApiEnv(),
63
+ };
64
+ }
65
+ /**
66
+ * Build a Fastlane TestFlight job that compiles a signed IPA and uploads it.
67
+ * Requires MATCH_PASSWORD secret for code signing via Fastlane Match.
68
+ */
69
+ export function buildFastlaneTestFlightJob(config) {
70
+ const scheme = resolveScheme(config);
71
+ const steps = [
72
+ checkoutStep(),
73
+ selectXcodeStep(),
74
+ rubySetupStep(),
75
+ installFastlaneStep(),
76
+ {
77
+ name: 'Build IPA',
78
+ run: [
79
+ `fastlane gym \\`,
80
+ ` --scheme "${scheme}" \\`,
81
+ ` --export_method app-store \\`,
82
+ ` --output_directory ./build`,
83
+ ].join('\n'),
84
+ env: {
85
+ MATCH_PASSWORD: '${{ secrets.MATCH_PASSWORD }}',
86
+ },
87
+ },
88
+ {
89
+ name: 'Upload to TestFlight',
90
+ run: 'fastlane pilot upload --ipa ./build/*.ipa --skip_waiting_for_build_processing true',
91
+ env: appleApiEnv(),
92
+ },
93
+ ];
94
+ const fullEnv = {
95
+ ...appleApiEnv(),
96
+ MATCH_PASSWORD: '${{ secrets.MATCH_PASSWORD }}',
97
+ };
98
+ return {
99
+ name: 'iOS — TestFlight Upload',
100
+ runsOn: 'macos-latest',
101
+ steps,
102
+ env: fullEnv,
103
+ };
104
+ }
105
+ /**
106
+ * Build a production App Store submission job via Fastlane Deliver.
107
+ * Runs only on main branch. Requires Apple API credentials and signing secrets.
108
+ */
109
+ export function buildAppStoreDeployJob(config) {
110
+ const scheme = resolveScheme(config);
111
+ const steps = [
112
+ checkoutStep(),
113
+ selectXcodeStep(),
114
+ rubySetupStep(),
115
+ installFastlaneStep(),
116
+ {
117
+ name: 'Build IPA (production)',
118
+ run: [
119
+ `fastlane gym \\`,
120
+ ` --scheme "${scheme}" \\`,
121
+ ` --configuration Release \\`,
122
+ ` --export_method app-store \\`,
123
+ ` --output_directory ./build`,
124
+ ].join('\n'),
125
+ env: {
126
+ MATCH_PASSWORD: '${{ secrets.MATCH_PASSWORD }}',
127
+ },
128
+ },
129
+ {
130
+ name: 'Submit to App Store',
131
+ run: [
132
+ 'fastlane deliver \\',
133
+ ' --ipa ./build/*.ipa \\',
134
+ ' --submit_for_review false \\',
135
+ ' --automatic_release false',
136
+ ].join('\n'),
137
+ env: appleApiEnv(),
138
+ },
139
+ ];
140
+ const fullEnv = {
141
+ ...appleApiEnv(),
142
+ MATCH_PASSWORD: '${{ secrets.MATCH_PASSWORD }}',
143
+ };
144
+ return {
145
+ name: 'iOS — App Store Submission',
146
+ runsOn: 'macos-latest',
147
+ steps,
148
+ env: fullEnv,
149
+ };
150
+ }
151
+ //# sourceMappingURL=ios-jobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ios-jobs.js","sourceRoot":"","sources":["../../../src/engine/ci-generator/ios-jobs.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { CIJob, CIJobType, CISeverityThreshold, CIStackContext, CITriggerEvent, CIWorkflow, DriftJobOptions } from '../../types/index.js';
1
+ import type { CIJob, CIJobType, CISeverityThreshold, CIStackContext, CITriggerEvent, CIWorkflow, DriftJobOptions, MobileCiConfig } from '../../types/index.js';
2
2
  export type { DriftJobOptions };
3
3
  /** Serialize a CIWorkflow to a YAML string. */
4
4
  export declare function serializeWorkflow(workflow: CIWorkflow): string;
@@ -10,4 +10,13 @@ export declare function buildDriftJob(specsDir: string, threshold: CISeverityThr
10
10
  * Build a complete CIWorkflow from the stack context and job/trigger options.
11
11
  */
12
12
  export declare function buildWorkflow(ctx: CIStackContext, jobs: CIJobType[], triggers: CITriggerEvent[], workflowName: string, driftOptions?: DriftJobOptions): CIWorkflow;
13
+ /**
14
+ * Build a CIWorkflow that contains iOS and/or Android CI/CD jobs.
15
+ * iOS and Android jobs run as parallel workstreams in the same workflow.
16
+ *
17
+ * @param mobileConfigs - One or more mobile platform configs (ios, android, or both)
18
+ * @param triggers - GitHub Actions trigger events
19
+ * @param workflowName - Display name of the workflow
20
+ */
21
+ export declare function buildMobileWorkflow(mobileConfigs: MobileCiConfig[], triggers: CITriggerEvent[], workflowName: string): CIWorkflow;
13
22
  //# sourceMappingURL=yaml-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"yaml-builder.d.ts","sourceRoot":"","sources":["../../../src/engine/ci-generator/yaml-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,KAAK,EACL,SAAS,EACT,mBAAmB,EACnB,cAAc,EAEd,cAAc,EACd,UAAU,EACV,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,eAAe,EAAE,CAAC;AAuGhC,+CAA+C;AAC/C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAe9D;AA4KD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,mBAAmB,EAC9B,SAAS,EAAE,MAAM,EAAE,GAClB,KAAK,CAyCP;AAID;;GAEG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,SAAS,EAAE,EACjB,QAAQ,EAAE,cAAc,EAAE,EAC1B,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,eAAe,GAC7B,UAAU,CA4CZ"}
1
+ {"version":3,"file":"yaml-builder.d.ts","sourceRoot":"","sources":["../../../src/engine/ci-generator/yaml-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,KAAK,EACL,SAAS,EACT,mBAAmB,EACnB,cAAc,EAEd,cAAc,EACd,UAAU,EACV,eAAe,EACf,cAAc,EACf,MAAM,sBAAsB,CAAC;AAW9B,YAAY,EAAE,eAAe,EAAE,CAAC;AAuGhC,+CAA+C;AAC/C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAe9D;AA4KD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,mBAAmB,EAC9B,SAAS,EAAE,MAAM,EAAE,GAClB,KAAK,CAyCP;AAID;;GAEG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,SAAS,EAAE,EACjB,QAAQ,EAAE,cAAc,EAAE,EAC1B,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,eAAe,GAC7B,UAAU,CA4CZ;AAID;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,cAAc,EAAE,EAC/B,QAAQ,EAAE,cAAc,EAAE,EAC1B,YAAY,EAAE,MAAM,GACnB,UAAU,CAoCZ"}
@@ -1,4 +1,6 @@
1
- // ci-generator/yaml-builder.ts — Build GitHub Actions YAML content (SPEC-066)
1
+ // ci-generator/yaml-builder.ts — Build GitHub Actions YAML content (SPEC-066, SPEC-325)
2
+ import { buildXcodeCloudJob, buildFastlaneTestFlightJob, buildAppStoreDeployJob, } from './ios-jobs.js';
3
+ import { buildGradleTestJob, buildPlayStoreSigningJob, buildPlayConsoleDeployJob, } from './android-jobs.js';
2
4
  // -- YAML serialization helpers ----------------------------------------------
3
5
  function indent(lines, spaces) {
4
6
  const pad = ' '.repeat(spaces);
@@ -330,4 +332,47 @@ export function buildWorkflow(ctx, jobs, triggers, workflowName, driftOptions) {
330
332
  jobs: jobMap,
331
333
  };
332
334
  }
335
+ // -- Mobile workflow builder (SPEC-325) --------------------------------------
336
+ /**
337
+ * Build a CIWorkflow that contains iOS and/or Android CI/CD jobs.
338
+ * iOS and Android jobs run as parallel workstreams in the same workflow.
339
+ *
340
+ * @param mobileConfigs - One or more mobile platform configs (ios, android, or both)
341
+ * @param triggers - GitHub Actions trigger events
342
+ * @param workflowName - Display name of the workflow
343
+ */
344
+ export function buildMobileWorkflow(mobileConfigs, triggers, workflowName) {
345
+ const jobMap = {};
346
+ for (const config of mobileConfigs) {
347
+ if (config.platform === 'ios') {
348
+ jobMap['ios-test'] = buildXcodeCloudJob(config);
349
+ jobMap['ios-testflight'] = {
350
+ ...buildFastlaneTestFlightJob(config),
351
+ needs: ['ios-test'],
352
+ };
353
+ jobMap['ios-appstore'] = {
354
+ ...buildAppStoreDeployJob(config),
355
+ needs: ['ios-test'],
356
+ };
357
+ }
358
+ else {
359
+ jobMap['android-test'] = buildGradleTestJob(config);
360
+ jobMap['android-sign'] = {
361
+ ...buildPlayStoreSigningJob(config),
362
+ needs: ['android-test'],
363
+ };
364
+ jobMap['android-deploy'] = buildPlayConsoleDeployJob(config);
365
+ }
366
+ }
367
+ const filename = workflowName
368
+ .toLowerCase()
369
+ .replace(/\s+/g, '-')
370
+ .replace(/[^a-z0-9-]/g, '') + '.yml';
371
+ return {
372
+ name: workflowName,
373
+ filename: `.github/workflows/${filename}`,
374
+ triggers,
375
+ jobs: jobMap,
376
+ };
377
+ }
333
378
  //# sourceMappingURL=yaml-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"yaml-builder.js","sourceRoot":"","sources":["../../../src/engine/ci-generator/yaml-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yaml-builder.js","sourceRoot":"","sources":["../../../src/engine/ci-generator/yaml-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { CoverageGapReport } from '../types/index.js';
2
+ /**
3
+ * Analyze coverage gaps between spec acceptance criteria and existing test files.
4
+ */
5
+ export declare function analyzeCoverageGaps(specPath: string, projectPath: string): Promise<CoverageGapReport>;
6
+ //# sourceMappingURL=coverage-gap-analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coverage-gap-analyzer.d.ts","sourceRoot":"","sources":["../../src/engine/coverage-gap-analyzer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,iBAAiB,EAKlB,MAAM,mBAAmB,CAAC;AA6J3B;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAgC5B"}