UNPKG

5.19 kBJavaScriptView Raw
1"use strict";
2var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3 if (k2 === undefined) k2 = k;
4 Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5}) : (function(o, m, k, k2) {
6 if (k2 === undefined) k2 = k;
7 o[k2] = m[k];
8}));
9var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10 Object.defineProperty(o, "default", { enumerable: true, value: v });
11}) : function(o, v) {
12 o["default"] = v;
13});
14var __importStar = (this && this.__importStar) || function (mod) {
15 if (mod && mod.__esModule) return mod;
16 var result = {};
17 if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18 __setModuleDefault(result, mod);
19 return result;
20};
21var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23 return new (P || (P = Promise))(function (resolve, reject) {
24 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27 step((generator = generator.apply(thisArg, _arguments || [])).next());
28 });
29};
30var __importDefault = (this && this.__importDefault) || function (mod) {
31 return (mod && mod.__esModule) ? mod : { "default": mod };
32};
33Object.defineProperty(exports, "__esModule", { value: true });
34exports.webpack = void 0;
35const path_1 = __importDefault(require("path"));
36const semver_1 = __importDefault(require("@storybook/semver"));
37const webpack_1 = require("webpack");
38const autoprefixer_1 = __importDefault(require("autoprefixer"));
39const ts_config_1 = __importDefault(require("./ts_config"));
40const create_fork_ts_checker_plugin_1 = __importDefault(require("./create-fork-ts-checker-plugin"));
41function webpack(config, { configDir, angularBuilderContext }) {
42 return __awaiter(this, void 0, void 0, function* () {
43 try {
44 // Disable all this webpack stuff if we use angular-cli >= 12
45 // Angular cli is in charge of doing all the necessary for angular. If there is any additional configuration to add, it must be done in the preset angular-cli versioned.
46 const angularCliVersion = yield Promise.resolve().then(() => __importStar(require('@angular/cli'))).then((m) => semver_1.default.coerce(m.VERSION.full));
47 if ((semver_1.default.satisfies(angularCliVersion, '12.2.x') && angularBuilderContext) ||
48 semver_1.default.satisfies(angularCliVersion, '>=13.0.0')) {
49 return config;
50 }
51 }
52 catch (error) {
53 // do nothing, continue
54 }
55 const tsLoaderOptions = ts_config_1.default(configDir);
56 return Object.assign(Object.assign({}, config), { module: Object.assign(Object.assign({}, config.module), { rules: [
57 ...config.module.rules,
58 {
59 test: /\.tsx?$/,
60 use: [
61 {
62 loader: require.resolve('ts-loader'),
63 options: tsLoaderOptions,
64 },
65 { loader: path_1.default.resolve(__dirname, 'ngx-template-loader') },
66 ],
67 },
68 {
69 test: /[/\\]@angular[/\\]core[/\\].+\.js$/,
70 parser: { system: true },
71 },
72 {
73 test: /\.html$/,
74 loader: require.resolve('raw-loader'),
75 exclude: /\.async\.html$/,
76 },
77 {
78 test: /\.s(c|a)ss$/,
79 use: [
80 { loader: require.resolve('raw-loader') },
81 {
82 loader: require.resolve('postcss-loader'),
83 options: {
84 postcssOptions: {
85 plugins: [autoprefixer_1.default()],
86 },
87 },
88 },
89 { loader: require.resolve('sass-loader') },
90 ],
91 },
92 ] }), resolve: Object.assign({}, config.resolve), plugins: [
93 ...config.plugins,
94 // See https://github.com/angular/angular/issues/11580#issuecomment-401127742
95 new webpack_1.ContextReplacementPlugin(/@angular(\\|\/)core(\\|\/)(fesm5|bundles)/, path_1.default.resolve(__dirname, '..')),
96 create_fork_ts_checker_plugin_1.default(tsLoaderOptions),
97 ] });
98 });
99}
100exports.webpack = webpack;