| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 | 
							- "use strict";
 
- Object.defineProperty(exports, "__esModule", {
 
-   value: true
 
- });
 
- exports.default = void 0;
 
- var _os = _interopRequireDefault(require("os"));
 
- var _path = _interopRequireDefault(require("path"));
 
- var _cloneDeep = _interopRequireDefault(require("clone-deep"));
 
- var _proxyCustomImporters = _interopRequireDefault(require("./proxyCustomImporters"));
 
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
- function isProductionLikeMode(loaderContext) {
 
-   return loaderContext.mode === 'production' || !loaderContext.mode || loaderContext.minimize;
 
- }
 
- /**
 
-  * Derives the sass options from the loader context and normalizes its values with sane defaults.
 
-  *
 
-  * Please note: If loaderContext.query is an options object, it will be re-used across multiple invocations.
 
-  * That's why we must not modify the object directly.
 
-  *
 
-  * @param {LoaderContext} loaderContext
 
-  * @param {string} loaderOptions
 
-  * @param {object} content
 
-  * @returns {Object}
 
-  */
 
- function getSassOptions(loaderContext, loaderOptions, content) {
 
-   const options = (0, _cloneDeep.default)(loaderOptions);
 
-   const {
 
-     resourcePath
 
-   } = loaderContext; // allow opt.functions to be configured WRT loaderContext
 
-   if (typeof options.functions === 'function') {
 
-     options.functions = options.functions(loaderContext);
 
-   }
 
-   let {
 
-     data
 
-   } = options;
 
-   if (typeof options.data === 'function') {
 
-     data = options.data(loaderContext);
 
-   }
 
-   options.data = data ? data + _os.default.EOL + content : content; // opt.outputStyle
 
-   if (!options.outputStyle && isProductionLikeMode(loaderContext)) {
 
-     options.outputStyle = 'compressed';
 
-   } // opt.sourceMap
 
-   // Not using the `this.sourceMap` flag because css source maps are different
 
-   // @see https://github.com/webpack/css-loader/pull/40
 
-   if (options.sourceMap) {
 
-     // Deliberately overriding the sourceMap option here.
 
-     // node-sass won't produce source maps if the data option is used and options.sourceMap is not a string.
 
-     // In case it is a string, options.sourceMap should be a path where the source map is written.
 
-     // But since we're using the data option, the source map will not actually be written, but
 
-     // all paths in sourceMap.sources will be relative to that path.
 
-     // Pretty complicated... :(
 
-     options.sourceMap = _path.default.join(process.cwd(), '/sass.map');
 
-     if ('sourceMapRoot' in options === false) {
 
-       options.sourceMapRoot = process.cwd();
 
-     }
 
-     if ('omitSourceMapUrl' in options === false) {
 
-       // The source map url doesn't make sense because we don't know the output path
 
-       // The css-loader will handle that for us
 
-       options.omitSourceMapUrl = true;
 
-     }
 
-     if ('sourceMapContents' in options === false) {
 
-       // If sourceMapContents option is not set, set it to true otherwise maps will be empty/null
 
-       // when exported by webpack-extract-text-plugin.
 
-       options.sourceMapContents = true;
 
-     }
 
-   } // indentedSyntax is a boolean flag.
 
-   const ext = _path.default.extname(resourcePath); // If we are compiling sass and indentedSyntax isn't set, automatically set it.
 
-   if (ext && ext.toLowerCase() === '.sass' && 'indentedSyntax' in options === false) {
 
-     options.indentedSyntax = true;
 
-   } else {
 
-     options.indentedSyntax = Boolean(options.indentedSyntax);
 
-   } // Allow passing custom importers to `node-sass`. Accepts `Function` or an array of `Function`s.
 
-   options.importer = options.importer ? (0, _proxyCustomImporters.default)(options.importer, resourcePath) : []; // `node-sass` uses `includePaths` to resolve `@import` paths. Append the currently processed file.
 
-   options.includePaths = options.includePaths || [];
 
-   options.includePaths.push(_path.default.dirname(resourcePath));
 
-   return options;
 
- }
 
- var _default = getSassOptions;
 
- exports.default = _default;
 
 
  |