guardrail-cli 1.0.6 → 2.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 (144) hide show
  1. package/README.md +483 -10
  2. package/dist/commands/baseline.d.ts +7 -0
  3. package/dist/commands/baseline.d.ts.map +1 -0
  4. package/dist/commands/baseline.js +79 -0
  5. package/dist/commands/baseline.js.map +1 -0
  6. package/dist/commands/cache.d.ts +13 -0
  7. package/dist/commands/cache.d.ts.map +1 -0
  8. package/dist/commands/cache.js +165 -0
  9. package/dist/commands/cache.js.map +1 -0
  10. package/dist/commands/evidence.d.ts +45 -0
  11. package/dist/commands/evidence.d.ts.map +1 -0
  12. package/dist/commands/evidence.js +197 -0
  13. package/dist/commands/evidence.js.map +1 -0
  14. package/dist/commands/index.d.ts +8 -0
  15. package/dist/commands/index.d.ts.map +1 -0
  16. package/dist/commands/index.js +15 -0
  17. package/dist/commands/index.js.map +1 -0
  18. package/dist/commands/scan-secrets.d.ts +47 -0
  19. package/dist/commands/scan-secrets.d.ts.map +1 -0
  20. package/dist/commands/scan-secrets.js +225 -0
  21. package/dist/commands/scan-secrets.js.map +1 -0
  22. package/dist/commands/scan-vulnerabilities-enhanced.d.ts +41 -0
  23. package/dist/commands/scan-vulnerabilities-enhanced.d.ts.map +1 -0
  24. package/dist/commands/scan-vulnerabilities-enhanced.js +368 -0
  25. package/dist/commands/scan-vulnerabilities-enhanced.js.map +1 -0
  26. package/dist/commands/scan-vulnerabilities-osv.d.ts +58 -0
  27. package/dist/commands/scan-vulnerabilities-osv.d.ts.map +1 -0
  28. package/dist/commands/scan-vulnerabilities-osv.js +716 -0
  29. package/dist/commands/scan-vulnerabilities-osv.js.map +1 -0
  30. package/dist/commands/scan-vulnerabilities.d.ts +32 -0
  31. package/dist/commands/scan-vulnerabilities.d.ts.map +1 -0
  32. package/dist/commands/scan-vulnerabilities.js +283 -0
  33. package/dist/commands/scan-vulnerabilities.js.map +1 -0
  34. package/dist/commands/secrets-allowlist.d.ts +7 -0
  35. package/dist/commands/secrets-allowlist.d.ts.map +1 -0
  36. package/dist/commands/secrets-allowlist.js +85 -0
  37. package/dist/commands/secrets-allowlist.js.map +1 -0
  38. package/dist/fix/applicator.d.ts +44 -0
  39. package/dist/fix/applicator.d.ts.map +1 -0
  40. package/dist/fix/applicator.js +144 -0
  41. package/dist/fix/applicator.js.map +1 -0
  42. package/dist/fix/backup.d.ts +38 -0
  43. package/dist/fix/backup.d.ts.map +1 -0
  44. package/dist/fix/backup.js +154 -0
  45. package/dist/fix/backup.js.map +1 -0
  46. package/dist/fix/engine.d.ts +55 -0
  47. package/dist/fix/engine.d.ts.map +1 -0
  48. package/dist/fix/engine.js +285 -0
  49. package/dist/fix/engine.js.map +1 -0
  50. package/dist/fix/index.d.ts +5 -0
  51. package/dist/fix/index.d.ts.map +1 -0
  52. package/dist/fix/index.js +12 -0
  53. package/dist/fix/index.js.map +1 -0
  54. package/dist/fix/interactive.d.ts +22 -0
  55. package/dist/fix/interactive.d.ts.map +1 -0
  56. package/dist/fix/interactive.js +172 -0
  57. package/dist/fix/interactive.js.map +1 -0
  58. package/dist/formatters/index.d.ts +6 -0
  59. package/dist/formatters/index.d.ts.map +1 -0
  60. package/dist/formatters/index.js +11 -0
  61. package/dist/formatters/index.js.map +1 -0
  62. package/dist/formatters/sarif-enhanced.d.ts +78 -0
  63. package/dist/formatters/sarif-enhanced.d.ts.map +1 -0
  64. package/dist/formatters/sarif-enhanced.js +144 -0
  65. package/dist/formatters/sarif-enhanced.js.map +1 -0
  66. package/dist/formatters/sarif-v2.d.ts +121 -0
  67. package/dist/formatters/sarif-v2.d.ts.map +1 -0
  68. package/dist/formatters/sarif-v2.js +356 -0
  69. package/dist/formatters/sarif-v2.js.map +1 -0
  70. package/dist/formatters/sarif.d.ts +72 -0
  71. package/dist/formatters/sarif.d.ts.map +1 -0
  72. package/dist/formatters/sarif.js +146 -0
  73. package/dist/formatters/sarif.js.map +1 -0
  74. package/dist/index.js +3362 -1397
  75. package/dist/index.js.map +1 -1
  76. package/dist/init/ci-generator.d.ts +18 -0
  77. package/dist/init/ci-generator.d.ts.map +1 -0
  78. package/dist/init/ci-generator.js +251 -0
  79. package/dist/init/ci-generator.js.map +1 -0
  80. package/dist/init/detect-framework.d.ts +15 -0
  81. package/dist/init/detect-framework.d.ts.map +1 -0
  82. package/dist/init/detect-framework.js +299 -0
  83. package/dist/init/detect-framework.js.map +1 -0
  84. package/dist/init/hooks-installer.d.ts +22 -0
  85. package/dist/init/hooks-installer.d.ts.map +1 -0
  86. package/dist/init/hooks-installer.js +302 -0
  87. package/dist/init/hooks-installer.js.map +1 -0
  88. package/dist/init/index.d.ts +8 -0
  89. package/dist/init/index.d.ts.map +1 -0
  90. package/dist/init/index.js +22 -0
  91. package/dist/init/index.js.map +1 -0
  92. package/dist/init/templates.d.ts +401 -0
  93. package/dist/init/templates.d.ts.map +1 -0
  94. package/dist/init/templates.js +240 -0
  95. package/dist/init/templates.js.map +1 -0
  96. package/dist/reality/reality-runner.d.ts +76 -0
  97. package/dist/reality/reality-runner.d.ts.map +1 -0
  98. package/dist/reality/reality-runner.js +454 -0
  99. package/dist/reality/reality-runner.js.map +1 -0
  100. package/dist/runtime/auth-utils.d.ts +43 -0
  101. package/dist/runtime/auth-utils.d.ts.map +1 -0
  102. package/dist/runtime/auth-utils.js +126 -0
  103. package/dist/runtime/auth-utils.js.map +1 -0
  104. package/dist/runtime/client.d.ts +74 -0
  105. package/dist/runtime/client.d.ts.map +1 -0
  106. package/dist/runtime/client.js +222 -0
  107. package/dist/runtime/client.js.map +1 -0
  108. package/dist/runtime/creds.d.ts +48 -0
  109. package/dist/runtime/creds.d.ts.map +1 -0
  110. package/dist/runtime/creds.js +245 -0
  111. package/dist/runtime/creds.js.map +1 -0
  112. package/dist/runtime/exit-codes.d.ts +47 -0
  113. package/dist/runtime/exit-codes.d.ts.map +1 -0
  114. package/dist/runtime/exit-codes.js +91 -0
  115. package/dist/runtime/exit-codes.js.map +1 -0
  116. package/dist/runtime/index.d.ts +9 -0
  117. package/dist/runtime/index.d.ts.map +1 -0
  118. package/dist/runtime/index.js +25 -0
  119. package/dist/runtime/index.js.map +1 -0
  120. package/dist/runtime/semver.d.ts +37 -0
  121. package/dist/runtime/semver.d.ts.map +1 -0
  122. package/dist/runtime/semver.js +110 -0
  123. package/dist/runtime/semver.js.map +1 -0
  124. package/dist/scanner/baseline.d.ts +52 -0
  125. package/dist/scanner/baseline.d.ts.map +1 -0
  126. package/dist/scanner/baseline.js +85 -0
  127. package/dist/scanner/baseline.js.map +1 -0
  128. package/dist/scanner/incremental.d.ts +30 -0
  129. package/dist/scanner/incremental.d.ts.map +1 -0
  130. package/dist/scanner/incremental.js +82 -0
  131. package/dist/scanner/incremental.js.map +1 -0
  132. package/dist/scanner/parallel.d.ts +43 -0
  133. package/dist/scanner/parallel.d.ts.map +1 -0
  134. package/dist/scanner/parallel.js +99 -0
  135. package/dist/scanner/parallel.js.map +1 -0
  136. package/dist/ui/frame.d.ts +68 -0
  137. package/dist/ui/frame.d.ts.map +1 -0
  138. package/dist/ui/frame.js +165 -0
  139. package/dist/ui/frame.js.map +1 -0
  140. package/dist/ui/index.d.ts +5 -0
  141. package/dist/ui/index.d.ts.map +1 -0
  142. package/dist/ui/index.js +16 -0
  143. package/dist/ui/index.js.map +1 -0
  144. package/package.json +42 -9
@@ -0,0 +1,302 @@
1
+ "use strict";
2
+ /**
3
+ * Git Hooks Installer
4
+ * Installs and configures husky or lefthook for pre-commit/pre-push hooks
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.installHooks = installHooks;
8
+ exports.getRecommendedRunner = getRecommendedRunner;
9
+ const fs_1 = require("fs");
10
+ const path_1 = require("path");
11
+ const child_process_1 = require("child_process");
12
+ function detectExistingHookRunner(projectPath) {
13
+ if ((0, fs_1.existsSync)((0, path_1.join)(projectPath, '.husky'))) {
14
+ return 'husky';
15
+ }
16
+ if ((0, fs_1.existsSync)((0, path_1.join)(projectPath, 'lefthook.yml')) || (0, fs_1.existsSync)((0, path_1.join)(projectPath, '.lefthook.yml'))) {
17
+ return 'lefthook';
18
+ }
19
+ return null;
20
+ }
21
+ function detectPackageManager(projectPath) {
22
+ if ((0, fs_1.existsSync)((0, path_1.join)(projectPath, 'pnpm-lock.yaml'))) {
23
+ return 'pnpm';
24
+ }
25
+ if ((0, fs_1.existsSync)((0, path_1.join)(projectPath, 'yarn.lock'))) {
26
+ return 'yarn';
27
+ }
28
+ return 'npm';
29
+ }
30
+ function generatePreCommitScript(config) {
31
+ const commands = [];
32
+ if (config.scans.secrets.enabled) {
33
+ const threshold = config.scans.secrets.threshold || 'high';
34
+ commands.push(`guardrail scan:secrets --path . --threshold ${threshold} --exit-code`);
35
+ }
36
+ if (commands.length === 0) {
37
+ commands.push('guardrail scan:secrets --path . --exit-code');
38
+ }
39
+ return `#!/usr/bin/env sh
40
+ . "$(dirname -- "$0")/_/husky.sh"
41
+
42
+ echo "🛡️ Running Guardrail pre-commit checks..."
43
+
44
+ ${commands.join('\n\n')}
45
+
46
+ echo "✅ Guardrail pre-commit checks passed!"
47
+ `;
48
+ }
49
+ function generatePrePushScript(config) {
50
+ const commands = [];
51
+ if (config.scans.secrets.enabled) {
52
+ commands.push('guardrail scan:secrets --path . --exit-code');
53
+ }
54
+ if (config.scans.vulnerabilities.enabled) {
55
+ const threshold = config.scans.vulnerabilities.threshold || 'high';
56
+ commands.push(`guardrail scan:vulnerabilities --path . --threshold ${threshold} --exit-code`);
57
+ }
58
+ commands.push('guardrail ship --path . --exit-code');
59
+ return `#!/usr/bin/env sh
60
+ . "$(dirname -- "$0")/_/husky.sh"
61
+
62
+ echo "🛡️ Running Guardrail pre-push checks..."
63
+
64
+ ${commands.join('\n\n')}
65
+
66
+ echo "✅ Guardrail pre-push checks passed!"
67
+ `;
68
+ }
69
+ function generateLefthookConfig(config, options) {
70
+ const hooks = {};
71
+ if (options.preCommit !== false) {
72
+ hooks['pre-commit'] = {
73
+ parallel: true,
74
+ commands: {
75
+ 'guardrail-secrets': {
76
+ run: `guardrail scan:secrets --path . --threshold ${config.scans.secrets.threshold || 'high'} --exit-code`,
77
+ stage_fixed: true,
78
+ },
79
+ },
80
+ };
81
+ }
82
+ if (options.prePush !== false) {
83
+ const prePushCommands = {};
84
+ if (config.scans.secrets.enabled) {
85
+ prePushCommands['guardrail-secrets'] = {
86
+ run: 'guardrail scan:secrets --path . --exit-code',
87
+ };
88
+ }
89
+ if (config.scans.vulnerabilities.enabled) {
90
+ prePushCommands['guardrail-vulns'] = {
91
+ run: `guardrail scan:vulnerabilities --path . --threshold ${config.scans.vulnerabilities.threshold || 'high'} --exit-code`,
92
+ };
93
+ }
94
+ prePushCommands['guardrail-ship'] = {
95
+ run: 'guardrail ship --path . --exit-code',
96
+ };
97
+ hooks['pre-push'] = {
98
+ parallel: false,
99
+ commands: prePushCommands,
100
+ };
101
+ }
102
+ return `# Guardrail Git Hooks Configuration
103
+ # Generated by guardrail init
104
+ # Learn more: https://github.com/evilmartians/lefthook
105
+
106
+ ${Object.entries(hooks).map(([hookName, hookConfig]) => {
107
+ const commands = hookConfig.commands;
108
+ const commandsYaml = Object.entries(commands).map(([cmdName, cmdConfig]) => {
109
+ let yaml = ` ${cmdName}:\n run: ${cmdConfig.run}`;
110
+ if (cmdConfig.stage_fixed) {
111
+ yaml += `\n stage_fixed: true`;
112
+ }
113
+ return yaml;
114
+ }).join('\n');
115
+ return `${hookName}:
116
+ parallel: ${hookConfig.parallel}
117
+ commands:
118
+ ${commandsYaml}`;
119
+ }).join('\n\n')}
120
+ `;
121
+ }
122
+ function installHusky(projectPath, packageManager) {
123
+ try {
124
+ const installCmd = packageManager === 'npm'
125
+ ? 'npm install --save-dev husky'
126
+ : packageManager === 'yarn'
127
+ ? 'yarn add --dev husky'
128
+ : 'pnpm add --save-dev husky';
129
+ (0, child_process_1.execSync)(installCmd, { cwd: projectPath, stdio: 'pipe' });
130
+ const initCmd = 'npx husky init';
131
+ (0, child_process_1.execSync)(initCmd, { cwd: projectPath, stdio: 'pipe' });
132
+ return true;
133
+ }
134
+ catch {
135
+ return false;
136
+ }
137
+ }
138
+ function installLefthook(projectPath, packageManager) {
139
+ try {
140
+ const installCmd = packageManager === 'npm'
141
+ ? 'npm install --save-dev lefthook'
142
+ : packageManager === 'yarn'
143
+ ? 'yarn add --dev lefthook'
144
+ : 'pnpm add --save-dev lefthook';
145
+ (0, child_process_1.execSync)(installCmd, { cwd: projectPath, stdio: 'pipe' });
146
+ (0, child_process_1.execSync)('npx lefthook install', { cwd: projectPath, stdio: 'pipe' });
147
+ return true;
148
+ }
149
+ catch {
150
+ return false;
151
+ }
152
+ }
153
+ function updatePackageJsonScripts(projectPath, runner) {
154
+ const packageJsonPath = (0, path_1.join)(projectPath, 'package.json');
155
+ if (!(0, fs_1.existsSync)(packageJsonPath))
156
+ return;
157
+ try {
158
+ const packageJson = JSON.parse((0, fs_1.readFileSync)(packageJsonPath, 'utf-8'));
159
+ if (!packageJson.scripts) {
160
+ packageJson.scripts = {};
161
+ }
162
+ if (runner === 'husky') {
163
+ packageJson.scripts['prepare'] = 'husky';
164
+ }
165
+ else {
166
+ packageJson.scripts['prepare'] = 'lefthook install';
167
+ }
168
+ (0, fs_1.writeFileSync)(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n', 'utf-8');
169
+ }
170
+ catch {
171
+ // Failed to update package.json, continue anyway
172
+ }
173
+ }
174
+ function installHooks(options) {
175
+ const { projectPath, config, preCommit = true, prePush = true } = options;
176
+ const installedHooks = [];
177
+ const existingRunner = detectExistingHookRunner(projectPath);
178
+ const runner = options.runner || existingRunner || 'husky';
179
+ const packageManager = detectPackageManager(projectPath);
180
+ if (runner === 'husky') {
181
+ const huskyDir = (0, path_1.join)(projectPath, '.husky');
182
+ const huskyExists = (0, fs_1.existsSync)(huskyDir);
183
+ if (!huskyExists) {
184
+ const installed = installHusky(projectPath, packageManager);
185
+ if (!installed) {
186
+ if (!(0, fs_1.existsSync)(huskyDir)) {
187
+ (0, fs_1.mkdirSync)(huskyDir, { recursive: true });
188
+ }
189
+ const huskyShDir = (0, path_1.join)(huskyDir, '_');
190
+ if (!(0, fs_1.existsSync)(huskyShDir)) {
191
+ (0, fs_1.mkdirSync)(huskyShDir, { recursive: true });
192
+ }
193
+ (0, fs_1.writeFileSync)((0, path_1.join)(huskyShDir, 'husky.sh'), `#!/usr/bin/env sh
194
+ if [ -z "$husky_skip_init" ]; then
195
+ debug () {
196
+ if [ "$HUSKY_DEBUG" = "1" ]; then
197
+ echo "husky (debug) - $1"
198
+ fi
199
+ }
200
+
201
+ readonly hook_name="$(basename -- "$0")"
202
+ debug "starting $hook_name..."
203
+
204
+ if [ "$HUSKY" = "0" ]; then
205
+ debug "HUSKY env variable is set to 0, skipping hook"
206
+ exit 0
207
+ fi
208
+
209
+ if [ -f ~/.huskyrc ]; then
210
+ debug "sourcing ~/.huskyrc"
211
+ . ~/.huskyrc
212
+ fi
213
+
214
+ readonly husky_skip_init=1
215
+ export husky_skip_init
216
+ sh -e "$0" "$@"
217
+ exitCode="$?"
218
+
219
+ if [ $exitCode != 0 ]; then
220
+ echo "husky - $hook_name hook exited with code $exitCode (error)"
221
+ fi
222
+
223
+ if [ $exitCode = 127 ]; then
224
+ echo "husky - command not found in PATH=$PATH"
225
+ fi
226
+
227
+ exit $exitCode
228
+ fi
229
+ `, 'utf-8');
230
+ try {
231
+ (0, fs_1.chmodSync)((0, path_1.join)(huskyShDir, 'husky.sh'), 0o755);
232
+ }
233
+ catch { }
234
+ }
235
+ }
236
+ if (preCommit) {
237
+ const preCommitPath = (0, path_1.join)(huskyDir, 'pre-commit');
238
+ (0, fs_1.writeFileSync)(preCommitPath, generatePreCommitScript(config), 'utf-8');
239
+ try {
240
+ (0, fs_1.chmodSync)(preCommitPath, 0o755);
241
+ }
242
+ catch { }
243
+ installedHooks.push('pre-commit');
244
+ }
245
+ if (prePush) {
246
+ const prePushPath = (0, path_1.join)(huskyDir, 'pre-push');
247
+ (0, fs_1.writeFileSync)(prePushPath, generatePrePushScript(config), 'utf-8');
248
+ try {
249
+ (0, fs_1.chmodSync)(prePushPath, 0o755);
250
+ }
251
+ catch { }
252
+ installedHooks.push('pre-push');
253
+ }
254
+ updatePackageJsonScripts(projectPath, 'husky');
255
+ }
256
+ else {
257
+ if (!existingRunner) {
258
+ const installed = installLefthook(projectPath, packageManager);
259
+ if (!installed) {
260
+ // Manual fallback - just create config file
261
+ }
262
+ }
263
+ const lefthookConfig = generateLefthookConfig(config, { ...options, preCommit, prePush });
264
+ (0, fs_1.writeFileSync)((0, path_1.join)(projectPath, 'lefthook.yml'), lefthookConfig, 'utf-8');
265
+ if (preCommit)
266
+ installedHooks.push('pre-commit');
267
+ if (prePush)
268
+ installedHooks.push('pre-push');
269
+ updatePackageJsonScripts(projectPath, 'lefthook');
270
+ try {
271
+ (0, child_process_1.execSync)('npx lefthook install', { cwd: projectPath, stdio: 'pipe' });
272
+ }
273
+ catch {
274
+ // Lefthook install failed, hooks will need to be installed manually
275
+ }
276
+ }
277
+ return {
278
+ success: true,
279
+ runner,
280
+ installedHooks,
281
+ };
282
+ }
283
+ function getRecommendedRunner(projectPath) {
284
+ const existing = detectExistingHookRunner(projectPath);
285
+ if (existing)
286
+ return existing;
287
+ const packageJsonPath = (0, path_1.join)(projectPath, 'package.json');
288
+ if ((0, fs_1.existsSync)(packageJsonPath)) {
289
+ try {
290
+ const pkg = JSON.parse((0, fs_1.readFileSync)(packageJsonPath, 'utf-8'));
291
+ if (pkg.devDependencies?.husky || pkg.dependencies?.husky) {
292
+ return 'husky';
293
+ }
294
+ if (pkg.devDependencies?.lefthook || pkg.dependencies?.lefthook) {
295
+ return 'lefthook';
296
+ }
297
+ }
298
+ catch { }
299
+ }
300
+ return 'husky';
301
+ }
302
+ //# sourceMappingURL=hooks-installer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks-installer.js","sourceRoot":"","sources":["../../src/init/hooks-installer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Init Module - Enterprise-grade project initialization
3
+ */
4
+ export { detectFramework, formatFrameworkName, type DetectedFramework, type FrameworkDetectionResult } from './detect-framework';
5
+ export { getTemplate, validateConfig, mergeWithFrameworkDefaults, getTemplateChoices, GuardrailConfigSchema, type GuardrailConfig, type TemplateType, type TemplateDefinition, } from './templates';
6
+ export { generateCIWorkflow, getCIProviderFromProject, type CIGeneratorOptions, type CIGeneratorResult } from './ci-generator';
7
+ export { installHooks, getRecommendedRunner, type HooksInstallerOptions, type HooksInstallerResult, type HookRunner } from './hooks-installer';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/init/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACjI,OAAO,EACL,WAAW,EACX,cAAc,EACd,0BAA0B,EAC1B,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC/H,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /**
3
+ * Init Module - Enterprise-grade project initialization
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getRecommendedRunner = exports.installHooks = exports.getCIProviderFromProject = exports.generateCIWorkflow = exports.GuardrailConfigSchema = exports.getTemplateChoices = exports.mergeWithFrameworkDefaults = exports.validateConfig = exports.getTemplate = exports.formatFrameworkName = exports.detectFramework = void 0;
7
+ var detect_framework_1 = require("./detect-framework");
8
+ Object.defineProperty(exports, "detectFramework", { enumerable: true, get: function () { return detect_framework_1.detectFramework; } });
9
+ Object.defineProperty(exports, "formatFrameworkName", { enumerable: true, get: function () { return detect_framework_1.formatFrameworkName; } });
10
+ var templates_1 = require("./templates");
11
+ Object.defineProperty(exports, "getTemplate", { enumerable: true, get: function () { return templates_1.getTemplate; } });
12
+ Object.defineProperty(exports, "validateConfig", { enumerable: true, get: function () { return templates_1.validateConfig; } });
13
+ Object.defineProperty(exports, "mergeWithFrameworkDefaults", { enumerable: true, get: function () { return templates_1.mergeWithFrameworkDefaults; } });
14
+ Object.defineProperty(exports, "getTemplateChoices", { enumerable: true, get: function () { return templates_1.getTemplateChoices; } });
15
+ Object.defineProperty(exports, "GuardrailConfigSchema", { enumerable: true, get: function () { return templates_1.GuardrailConfigSchema; } });
16
+ var ci_generator_1 = require("./ci-generator");
17
+ Object.defineProperty(exports, "generateCIWorkflow", { enumerable: true, get: function () { return ci_generator_1.generateCIWorkflow; } });
18
+ Object.defineProperty(exports, "getCIProviderFromProject", { enumerable: true, get: function () { return ci_generator_1.getCIProviderFromProject; } });
19
+ var hooks_installer_1 = require("./hooks-installer");
20
+ Object.defineProperty(exports, "installHooks", { enumerable: true, get: function () { return hooks_installer_1.installHooks; } });
21
+ Object.defineProperty(exports, "getRecommendedRunner", { enumerable: true, get: function () { return hooks_installer_1.getRecommendedRunner; } });
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/init/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uDAAiI;AAAxH,mHAAA,eAAe,OAAA;AAAE,uHAAA,mBAAmB,OAAA;AAC7C,yCASqB;AARnB,wGAAA,WAAW,OAAA;AACX,2GAAA,cAAc,OAAA;AACd,uHAAA,0BAA0B,OAAA;AAC1B,+GAAA,kBAAkB,OAAA;AAClB,kHAAA,qBAAqB,OAAA;AAKvB,+CAA+H;AAAtH,kHAAA,kBAAkB,OAAA;AAAE,wHAAA,wBAAwB,OAAA;AACrD,qDAA+I;AAAtI,+GAAA,YAAY,OAAA;AAAE,uHAAA,oBAAoB,OAAA"}