UNPKG

@posthog/wizard

Version:

The PostHog wizard helps you to configure your project

86 lines 3.69 kB
"use strict"; /* eslint-disable max-lines */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.runAstroWizard = runAstroWizard; const clack_utils_1 = require("../utils/clack-utils"); const package_json_1 = require("../utils/package-json"); const clack_1 = __importDefault(require("../utils/clack")); const constants_1 = require("../lib/constants"); const docs_1 = require("./docs"); const analytics_1 = require("../utils/analytics"); const file_utils_1 = require("../utils/file-utils"); const clack_utils_2 = require("../utils/clack-utils"); const messages_1 = require("../lib/messages"); const steps_1 = require("../steps"); async function runAstroWizard(options) { (0, clack_utils_1.printWelcome)({ wizardName: 'PostHog Astro wizard', }); const aiConsent = await (0, clack_utils_1.askForAIConsent)(options); if (!aiConsent) { await (0, clack_utils_1.abort)('The Astro wizard requires AI to get setup right now. Please view the docs to setup Astro manually instead: https://posthog.com/docs/libraries/js', 0); } const cloudRegion = options.cloudRegion ?? (await (0, clack_utils_2.askForCloudRegion)()); await (0, clack_utils_1.confirmContinueIfNoOrDirtyGitRepo)(options); const packageJson = await (0, clack_utils_1.getPackageDotJson)(options); await (0, clack_utils_1.ensurePackageIsInstalled)(packageJson, 'astro', 'Astro'); const astroVersion = (0, package_json_1.getPackageVersion)('astro', packageJson); if (astroVersion) { analytics_1.analytics.setTag('astro-version', astroVersion); } const { projectApiKey, wizardHash, host } = await (0, clack_utils_1.getOrAskForProjectData)({ ...options, cloudRegion, }); clack_1.default.log.info('Heading to include the PostHogSnippet in your Astro project'); const relevantFiles = await (0, file_utils_1.getRelevantFilesForIntegration)({ installDir: options.installDir, integration: constants_1.Integration.astro, }); const installationDocumentation = (0, docs_1.getAstroDocumentation)({ projectApiKey, host, }); clack_1.default.log.info('Reviewing PostHog documentation for Astro'); const filesToChange = await (0, file_utils_1.getFilesToChange)({ integration: constants_1.Integration.astro, relevantFiles, documentation: installationDocumentation, wizardHash, cloudRegion, }); await (0, file_utils_1.generateFileChangesForIntegration)({ integration: constants_1.Integration.astro, filesToChange, wizardHash, installDir: options.installDir, documentation: installationDocumentation, cloudRegion, }); await (0, steps_1.runPrettierStep)({ installDir: options.installDir, integration: constants_1.Integration.astro, }); const addedEditorRules = await (0, steps_1.addEditorRulesStep)({ installDir: options.installDir, rulesName: 'astro-rules.md', integration: constants_1.Integration.astro, }); await (0, steps_1.addMCPServerToClientsStep)({ cloudRegion, integration: constants_1.Integration.astro, }); const outroMessage = (0, messages_1.getOutroMessage)({ options, integration: constants_1.Integration.astro, cloudRegion, addedEditorRules, uploadedEnvVars: [], }); clack_1.default.outro(outroMessage); await analytics_1.analytics.shutdown('success'); } //# sourceMappingURL=astro-wizard.js.map