@mui/internal-docs-infra
Version:
MUI Infra - internal documentation creation tools.
57 lines (51 loc) • 2.2 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
var _excluded = ["title", "description", "scripts", "devDependencies"];
/**
* Export VariantCode as Create React App template using exportVariant
* This is a general-purpose wrapper that creates CRA-compatible templates
* without library-specific dependencies
*/
import { exportVariant } from "./exportVariant.js";
/**
* Export a VariantCode as a Create React App template
* Returns an object with the exported VariantCode and entrypoint path
*/
export function exportVariantAsCra(variantCode) {
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var _config$title = config.title,
title = _config$title === void 0 ? 'Demo' : _config$title,
_config$description = config.description,
description = _config$description === void 0 ? 'Demo created with Create React App' : _config$description,
_config$scripts = config.scripts,
scripts = _config$scripts === void 0 ? {} : _config$scripts,
_config$devDependenci = config.devDependencies,
devDependencies = _config$devDependenci === void 0 ? {} : _config$devDependenci,
otherConfig = _objectWithoutPropertiesLoose(config, _excluded);
// Default CRA scripts
var craScripts = _extends({
start: 'react-scripts start',
build: 'react-scripts build',
test: 'react-scripts test',
eject: 'react-scripts eject'
}, scripts);
// CRA only needs react-scripts, other deps are handled by exportVariant
var craDevDependencies = _extends({
'react-scripts': 'latest'
}, devDependencies);
// Create export configuration for CRA
var exportConfig = _extends({
title: title,
description: description,
htmlPrefix: 'public/',
packageType: undefined,
// CRA should not have 'type: module'
htmlSkipJsLink: true,
frameworkFiles: {},
// Prevent Vite-specific files from being generated
devDependencies: craDevDependencies,
scripts: craScripts
}, otherConfig);
// Use exportVariant to generate the final result
return exportVariant(variantCode, exportConfig);
}