UNPKG

5.09 kBJavaScriptView Raw
1"use strict";
2// Copyright (c) Jupyter Development Team.
3// Distributed under the terms of the Modified BSD License.
4var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5 if (k2 === undefined) k2 = k;
6 Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
7}) : (function(o, m, k, k2) {
8 if (k2 === undefined) k2 = k;
9 o[k2] = m[k];
10}));
11var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
12 Object.defineProperty(o, "default", { enumerable: true, value: v });
13}) : function(o, v) {
14 o["default"] = v;
15});
16var __importStar = (this && this.__importStar) || function (mod) {
17 if (mod && mod.__esModule) return mod;
18 var result = {};
19 if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
20 __setModuleDefault(result, mod);
21 return result;
22};
23var __importDefault = (this && this.__importDefault) || function (mod) {
24 return (mod && mod.__esModule) ? mod : { "default": mod };
25};
26Object.defineProperty(exports, "__esModule", { value: true });
27const path = __importStar(require("path"));
28const webpack = __importStar(require("webpack"));
29const crypto_1 = __importDefault(require("crypto"));
30// Workaround for loaders using "md4" by default, which is not supported in FIPS-compliant OpenSSL
31const cryptoOrigCreateHash = crypto_1.default.createHash;
32crypto_1.default.createHash = (algorithm) => cryptoOrigCreateHash(algorithm == 'md4' ? 'sha256' : algorithm);
33const rules = [
34 { test: /\.css$/, use: ['style-loader', 'css-loader'] },
35 { test: /\.txt$/, use: 'raw-loader' },
36 { test: /\.md$/, use: 'raw-loader' },
37 { test: /\.(jpg|png|gif)$/, use: 'file-loader' },
38 { test: /\.js.map$/, use: 'file-loader' },
39 {
40 test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/,
41 use: 'url-loader?limit=10000&mimetype=application/font-woff'
42 },
43 {
44 test: /\.woff(\?v=\d+\.\d+\.\d+)?$/,
45 use: 'url-loader?limit=10000&mimetype=application/font-woff'
46 },
47 {
48 test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
49 use: 'url-loader?limit=10000&mimetype=application/octet-stream'
50 },
51 { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, use: 'file-loader' },
52 {
53 // In .css files, svg is loaded as a data URI.
54 test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
55 issuer: /\.css$/,
56 use: {
57 loader: 'svg-url-loader',
58 options: { encoding: 'none', limit: 10000 }
59 }
60 },
61 {
62 // In .ts and .tsx files (both of which compile to .js), svg files
63 // must be loaded as a raw string instead of data URIs.
64 test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
65 issuer: /\.js$/,
66 use: {
67 loader: 'raw-loader'
68 }
69 },
70 {
71 test: /\.m?js$/,
72 type: 'javascript/auto'
73 },
74 {
75 test: /\.m?js/,
76 resolve: {
77 fullySpecified: false
78 }
79 },
80 {
81 test: /\.c?js/,
82 resolve: {
83 fullySpecified: false
84 }
85 }
86];
87// Map Phosphor files to Lumino files.
88const stylePath = path.join(path.dirname(require.resolve('@lumino/widgets/package.json')), 'style');
89let phosphorAlias = {};
90try {
91 phosphorAlias = {
92 '@phosphor/algorithm$': require.resolve('@lumino/algorithm'),
93 '@phosphor/application$': require.resolve('@lumino/application'),
94 '@phosphor/commands$': require.resolve('@lumino/commands'),
95 '@phosphor/coreutils$': require.resolve('@lumino/coreutils'),
96 '@phosphor/disposable$': require.resolve('@lumino/disposable'),
97 '@phosphor/domutils$': require.resolve('@lumino/domutils'),
98 '@phosphor/dragdrop$': require.resolve('@lumino/dragdrop'),
99 '@phosphor/dragdrop/style': stylePath,
100 '@phosphor/messaging$': require.resolve('@lumino/messaging'),
101 '@phosphor/properties$': require.resolve('@lumino/properties'),
102 '@phosphor/signaling': require.resolve('@lumino/signaling'),
103 '@phosphor/widgets/style': stylePath,
104 '@phosphor/virtualdom$': require.resolve('@lumino/virtualdom'),
105 '@phosphor/widgets$': require.resolve('@lumino/widgets')
106 };
107}
108catch (e) {
109 // no Phosphor shims required
110}
111const watch = process.argv.includes('--watch');
112module.exports = {
113 bail: !watch,
114 module: { rules },
115 resolve: {
116 alias: phosphorAlias,
117 fallback: {
118 url: false,
119 buffer: false,
120 crypto: false,
121 // See https://github.com/webpack/webpack/blob/3471c776059ac2d26593ea39f9c47c1874253dbb/lib/ModuleNotFoundError.js#L13-L42
122 path: require.resolve('path-browserify'),
123 process: require.resolve('process/browser')
124 }
125 },
126 watchOptions: {
127 poll: 500,
128 aggregateTimeout: 1000
129 },
130 output: {
131 hashFunction: 'sha256'
132 },
133 plugins: [
134 new webpack.ProvidePlugin({
135 process: 'process/browser'
136 })
137 ]
138};
139//# sourceMappingURL=webpack.config.base.js.map
\No newline at end of file