UNPKG

@stackbit/sdk

Version:
56 lines 2.31 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.analyzeSite = void 0; const lodash_1 = __importDefault(require("lodash")); const file_browser_1 = require("./file-browser"); const ssg_matcher_1 = require("./ssg-matcher"); const cms_matcher_1 = require("./cms-matcher"); const schema_generator_1 = require("./schema-generator"); async function analyzeSite(options) { const fileBrowser = (0, file_browser_1.getFileBrowserFromOptions)(options); const ssgMatchResult = await (0, ssg_matcher_1.matchSSG)({ fileBrowser }); const cmsMatchResult = await (0, cms_matcher_1.matchCMS)({ fileBrowser }); let schemaGeneratorResult = null; if (!cmsMatchResult) { schemaGeneratorResult = await (0, schema_generator_1.generateSchema)({ ssgMatchResult, fileBrowser }); } const dataDir = ssgMatchResult?.dataDir !== undefined ? ssgMatchResult.dataDir : schemaGeneratorResult?.dataDir; const pagesDir = ssgMatchResult?.pagesDir !== undefined ? ssgMatchResult.pagesDir : schemaGeneratorResult?.pagesDir; const assets = generateAssets(ssgMatchResult); let config = { stackbitVersion: '~0.3.0', ssgName: ssgMatchResult?.ssgName, cmsName: cmsMatchResult?.cmsName, nodeVersion: ssgMatchResult?.nodeVersion, publishDir: ssgMatchResult?.publishDir, dataDir: dataDir, pagesDir: pagesDir, assets: assets, models: schemaGeneratorResult?.models || [], cacheDir: '/temp/.stackbit/cache', dirPath: '/temp', filePath: '/temp/stackbit.yaml' }; config = lodash_1.default.omitBy(config, lodash_1.default.isUndefined); return { ssgMatchResult, cmsMatchResult, config }; } exports.analyzeSite = analyzeSite; function generateAssets(ssgMatchResult) { if (ssgMatchResult?.assetsReferenceType === 'static' && ssgMatchResult?.staticDir) { return { referenceType: 'static', staticDir: ssgMatchResult?.staticDir, uploadDir: 'assets', publicPath: '/' }; } return undefined; } //# sourceMappingURL=site-analyzer.js.map