1 | "use strict";
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 | var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
9 | if (k2 === undefined) k2 = k;
|
10 | Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
11 | }) : (function(o, m, k, k2) {
|
12 | if (k2 === undefined) k2 = k;
|
13 | o[k2] = m[k];
|
14 | }));
|
15 | var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
16 | Object.defineProperty(o, "default", { enumerable: true, value: v });
|
17 | }) : function(o, v) {
|
18 | o["default"] = v;
|
19 | });
|
20 | var __importStar = (this && this.__importStar) || function (mod) {
|
21 | if (mod && mod.__esModule) return mod;
|
22 | var result = {};
|
23 | if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
24 | __setModuleDefault(result, mod);
|
25 | return result;
|
26 | };
|
27 | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
28 | function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
29 | return new (P || (P = Promise))(function (resolve, reject) {
|
30 | function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
31 | function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
32 | function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
33 | step((generator = generator.apply(thisArg, _arguments || [])).next());
|
34 | });
|
35 | };
|
36 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
37 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
38 | };
|
39 | Object.defineProperty(exports, "__esModule", { value: true });
|
40 | exports.extractAngularCliWebpackConfig = void 0;
|
41 | const path_1 = __importDefault(require("path"));
|
42 | const core_1 = require("@angular-devkit/core");
|
43 | const node_1 = require("@angular-devkit/core/node");
|
44 | const module_is_available_1 = require("./utils/module-is-available");
|
45 | const normalize_asset_patterns_1 = require("./utils/normalize-asset-patterns");
|
46 | const normalize_optimization_1 = require("./utils/normalize-optimization");
|
47 | const importAngularCliWebpackConfigGenerator = () => {
|
48 | let angularWebpackConfig;
|
49 |
|
50 | if (module_is_available_1.moduleIsAvailable('@angular-devkit/build-angular/src/webpack/configs')) {
|
51 |
|
52 | angularWebpackConfig = require('@angular-devkit/build-angular/src/webpack/configs');
|
53 | }
|
54 |
|
55 | else if (module_is_available_1.moduleIsAvailable('@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs')) {
|
56 |
|
57 | angularWebpackConfig = require('@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs');
|
58 | }
|
59 | else {
|
60 | throw new Error('Webpack config not found in "@angular-devkit/build-angular"');
|
61 | }
|
62 | return {
|
63 | getCommonConfig: angularWebpackConfig.getCommonConfig,
|
64 | getStylesConfig: angularWebpackConfig.getStylesConfig,
|
65 | };
|
66 | };
|
67 | const importAngularCliReadTsconfigUtil = () => {
|
68 |
|
69 | if (module_is_available_1.moduleIsAvailable('@angular-devkit/build-angular/src/utils/read-tsconfig')) {
|
70 |
|
71 | return require('@angular-devkit/build-angular/src/utils/read-tsconfig');
|
72 | }
|
73 |
|
74 | if (module_is_available_1.moduleIsAvailable('@angular-devkit/build-angular/src/angular-cli-files/utilities/read-tsconfig')) {
|
75 |
|
76 | return require('@angular-devkit/build-angular/src/angular-cli-files/utilities/read-tsconfig');
|
77 | }
|
78 | throw new Error('ReadTsconfig not found in "@angular-devkit/build-angular"');
|
79 | };
|
80 | const buildWebpackConfigOptions = (dirToSearch, project, target, confName) => __awaiter(void 0, void 0, void 0, function* () {
|
81 | let conf = {};
|
82 | if (confName) {
|
83 | if (!target.configurations) {
|
84 | throw new Error('Missing "configurations" section in project target');
|
85 | }
|
86 | if (!target.configurations[confName]) {
|
87 | throw new Error(`Missing required configuration in project target. Check "${confName}"`);
|
88 | }
|
89 | conf = target.configurations[confName];
|
90 | }
|
91 | const projectBuildOptions = Object.assign(Object.assign({}, target.options), conf);
|
92 | const requiredOptions = ['tsConfig'];
|
93 | if (!requiredOptions.every((key) => !!projectBuildOptions[key])) {
|
94 | throw new Error(`Missing required options in project target. Check "${requiredOptions.join(', ')}"`);
|
95 | }
|
96 | const workspaceRootNormalized = core_1.normalize(dirToSearch);
|
97 | const projectRootNormalized = core_1.resolve(workspaceRootNormalized, core_1.normalize(project.root || ''));
|
98 | const sourceRootNormalized = project.sourceRoot
|
99 | ? core_1.resolve(workspaceRootNormalized, core_1.normalize(project.sourceRoot))
|
100 | : undefined;
|
101 | const tsConfigPath = path_1.default.resolve(core_1.getSystemPath(workspaceRootNormalized), projectBuildOptions.tsConfig);
|
102 | const tsConfig = importAngularCliReadTsconfigUtil().readTsconfig(tsConfigPath);
|
103 | const ts = yield Promise.resolve().then(() => __importStar(require('typescript')));
|
104 | const scriptTarget = tsConfig.options.target || ts.ScriptTarget.ES5;
|
105 | const buildOptions = Object.assign(Object.assign({
|
106 |
|
107 | budgets: [], fileReplacements: [], main: '', outputPath: 'dist/storybook-angular', scripts: [], sourceMap: {}, styles: [], lazyModules: [] }, projectBuildOptions), { assets: normalize_asset_patterns_1.normalizeAssetPatterns(projectBuildOptions.assets || [], workspaceRootNormalized, projectRootNormalized, sourceRootNormalized), optimization: normalize_optimization_1.normalizeOptimization(projectBuildOptions.optimization),
|
108 |
|
109 | statsJson: false, forkTypeChecker: false });
|
110 | return {
|
111 | root: core_1.getSystemPath(workspaceRootNormalized),
|
112 |
|
113 | logger: node_1.createConsoleLogger(),
|
114 | projectRoot: core_1.getSystemPath(projectRootNormalized),
|
115 | sourceRoot: sourceRootNormalized ? core_1.getSystemPath(sourceRootNormalized) : undefined,
|
116 | buildOptions,
|
117 | tsConfig,
|
118 | tsConfigPath,
|
119 | scriptTarget,
|
120 | };
|
121 | });
|
122 |
|
123 |
|
124 |
|
125 |
|
126 | function extractAngularCliWebpackConfig(dirToSearch, project, target, confName) {
|
127 | var _a;
|
128 | return __awaiter(this, void 0, void 0, function* () {
|
129 | const { getCommonConfig, getStylesConfig } = importAngularCliWebpackConfigGenerator();
|
130 | const webpackConfigOptions = yield buildWebpackConfigOptions(dirToSearch, project, target, confName);
|
131 | const cliCommonConfig = getCommonConfig(webpackConfigOptions);
|
132 | const cliStyleConfig = getStylesConfig(webpackConfigOptions);
|
133 | return {
|
134 | cliCommonWebpackConfig: {
|
135 | plugins: cliCommonConfig.plugins,
|
136 | resolve: {
|
137 | modules: (_a = cliCommonConfig.resolve) === null || _a === void 0 ? void 0 : _a.modules,
|
138 | },
|
139 | resolveLoader: cliCommonConfig.resolveLoader,
|
140 | },
|
141 | cliStyleWebpackConfig: {
|
142 | entry: cliStyleConfig.entry,
|
143 | module: {
|
144 | rules: [...cliStyleConfig.module.rules],
|
145 | },
|
146 | plugins: cliStyleConfig.plugins,
|
147 | },
|
148 | tsConfigPath: webpackConfigOptions.tsConfigPath,
|
149 | };
|
150 | });
|
151 | }
|
152 | exports.extractAngularCliWebpackConfig = extractAngularCliWebpackConfig;
|