UNPKG

@storybook/cli

Version:

Storybook's CLI - easiest method of adding storybook to your projects

77 lines (56 loc) 2.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; require("core-js/modules/es.promise.js"); var _path = _interopRequireDefault(require("path")); var _semver = _interopRequireDefault(require("@storybook/semver")); var _angularHelpers = require("./angular-helpers"); var _helpers = require("../../helpers"); var _baseGenerator = require("../baseGenerator"); var _project_types = require("../../project_types"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function editAngularAppTsConfig() { const tsConfigJson = (0, _angularHelpers.getAngularAppTsConfigJson)(); const glob = '**/*.stories.*'; if (!tsConfigJson) { return; } const { exclude = [] } = tsConfigJson; if (exclude.includes(glob)) { return; } tsConfigJson.exclude = [...exclude, glob]; (0, _helpers.writeFileAsJson)((0, _angularHelpers.getAngularAppTsConfigPath)(), tsConfigJson); } const generator = async (packageManager, npmOptions, options) => { var _semver$coerce; if (!(0, _angularHelpers.isDefaultProjectSet)()) { throw new Error('Could not find a default project in your Angular workspace.\nSet a defaultProject in your angular.json and re-run the installation.'); } const angularVersion = (_semver$coerce = _semver.default.coerce(packageManager.retrievePackageJson().dependencies['@angular/core'])) === null || _semver$coerce === void 0 ? void 0 : _semver$coerce.version; const isWebpack5 = _semver.default.gte(angularVersion, '12.0.0'); const updatedOptions = isWebpack5 ? Object.assign({}, options, { builder: _project_types.CoreBuilder.Webpack5 }) : options; (0, _baseGenerator.baseGenerator)(packageManager, npmOptions, updatedOptions, 'angular', { extraPackages: ['@compodoc/compodoc', '@angular/elements', '@webcomponents/custom-elements'], addScripts: false }); (0, _helpers.copyTemplate)(__dirname); editAngularAppTsConfig(); (0, _angularHelpers.editStorybookTsConfig)(_path.default.resolve('./.storybook/tsconfig.json')); // edit scripts to generate docs const tsConfigFile = await (0, _angularHelpers.getBaseTsConfigName)(); packageManager.addScripts({ 'docs:json': `compodoc -p ./${tsConfigFile} -e json -d .` }); packageManager.addStorybookCommandInScripts({ port: 6006, preCommand: 'docs:json' }); }; var _default = generator; exports.default = _default;