保誠-保戶業務員媒合平台
HelenHuang
2022-06-09 9bdb95c9e34cef640534e5e5a1e2225a80442000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
"use strict";
 
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports["default"] = _default;
 
var _fs = _interopRequireDefault(require("fs"));
 
var _path = _interopRequireDefault(require("path"));
 
var _async = _interopRequireDefault(require("async"));
 
var _getOptions = _interopRequireDefault(require("./utils/getOptions"));
 
var _processResources = _interopRequireDefault(require("./utils/processResources"));
 
var _expandResourceGlobs = _interopRequireDefault(require("./utils/expandResourceGlobs"));
 
var _rewritePaths = _interopRequireDefault(require("./utils/rewritePaths"));
 
var _logger = _interopRequireDefault(require("./utils/logger"));
 
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
 
/* eslint func-names: 0 */
function _default(source) {
  var webpack = this;
  if (webpack.cacheable) webpack.cacheable();
  var callback = webpack.async(); // eslint-disable-next-line no-underscore-dangle
 
  global.__DEBUG__ = process.env.DEBUG === 'sass-resources-loader' || process.env.DEBUG === '*';
 
  _logger["default"].debug('Hey, we\'re in DEBUG mode! Yabba dabba doo!');
 
  var options = (0, _getOptions["default"])(this);
  var resourcesFromConfig = options.resources;
 
  if (!resourcesFromConfig) {
    var error = new Error('Can\'t find sass resources in your config. Make sure loader.options.resources exists');
    return callback(error);
  }
 
  var resourcesLocations = (0, _expandResourceGlobs["default"])(resourcesFromConfig);
  var moduleContext = webpack.context;
  var webpackConfigContext = webpack.rootContext || webpack.options && webpack.options.context || process.cwd();
 
  if (!webpack.rootContext && !webpack.options && !webpack.options.context) {
    _logger["default"].debug('`options.context` is missing. Using current working directory as a root instead:', process.cwd());
  }
 
  _logger["default"].debug('Module context:', moduleContext);
 
  _logger["default"].debug('Webpack config context:', webpackConfigContext);
 
  _logger["default"].debug('Resources:', resourcesLocations);
 
  if (!resourcesLocations.length) {
    var _error = new Error("\n      Something wrong with provided resources.\n      Make sure 'options.resources' is String or Array of Strings with a valid file path.\n    ");
 
    return callback(_error);
  }
 
  var files = resourcesLocations.map(function (resource) {
    var file = _path["default"].resolve(webpackConfigContext, resource);
 
    webpack.addDependency(file);
    return file;
  });
 
  _async["default"].map(files, function (file, cb) {
    _fs["default"].readFile(file, 'utf8', function (error, contents) {
      (0, _rewritePaths["default"])(error, file, contents, moduleContext, cb);
    });
  }, function (error, resources) {
    (0, _processResources["default"])(error, resources, source, options, moduleContext, callback);
  });
 
  return undefined;
}