balm-core 3.19.0 → 3.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/index.d.ts +3 -0
  2. package/lib/balm.js +5 -1
  3. package/lib/bootstrap/index.js +1 -4
  4. package/lib/bundler/esbuild/transform.js +39 -45
  5. package/lib/bundler/rollup/index.js +37 -43
  6. package/lib/bundler/webpack/config/common.js +2 -2
  7. package/lib/bundler/webpack/config/prod.js +4 -13
  8. package/lib/bundler/webpack/config/regex.js +1 -1
  9. package/lib/bundler/webpack/index.js +1 -1
  10. package/lib/bundler/webpack/output.js +1 -1
  11. package/lib/config/constants.js +1 -1
  12. package/lib/config/index.js +0 -1
  13. package/lib/index.js +5 -5
  14. package/lib/middlewares/proxy.js +3 -1
  15. package/lib/plugins/less.js +55 -4
  16. package/lib/plugins/plumber.js +1 -1
  17. package/lib/plugins/postcss.js +1 -0
  18. package/lib/plugins/replace.js +2 -2
  19. package/lib/plugins/sass.js +8 -16
  20. package/lib/tasks/foundation/balm_style.js +1 -1
  21. package/lib/tasks/index.js +3 -1
  22. package/lib/tasks/private/build.js +3 -1
  23. package/lib/tasks/private/cache.js +4 -2
  24. package/lib/tasks/private/clean.js +5 -1
  25. package/lib/tasks/private/extra.js +3 -1
  26. package/lib/tasks/private/font.js +3 -1
  27. package/lib/tasks/private/image.js +3 -1
  28. package/lib/tasks/private/lint.js +3 -1
  29. package/lib/tasks/private/media.js +3 -1
  30. package/lib/tasks/private/modernizr.js +10 -4
  31. package/lib/tasks/private/sprite.js +6 -2
  32. package/lib/tasks/private/start.js +3 -1
  33. package/lib/tasks/private/workbox-sw.js +3 -1
  34. package/lib/tasks/public/ftp.js +3 -1
  35. package/lib/tasks/public/html.js +6 -2
  36. package/lib/tasks/public/publish.js +5 -1
  37. package/lib/tasks/public/remove.js +5 -1
  38. package/lib/tasks/public/server.js +9 -3
  39. package/lib/tasks/public/url.js +5 -1
  40. package/lib/utilities/cache-core.js +4 -3
  41. package/lib/utilities/compiling.js +5 -1
  42. package/lib/utilities/loading.js +7 -3
  43. package/lib/utilities/logger.js +5 -1
  44. package/package.json +32 -32
  45. package/tslib/balm.js +9 -9
  46. package/tslib/bootstrap/index.js +4 -6
  47. package/tslib/bundler/esbuild/index.js +4 -4
  48. package/tslib/bundler/esbuild/transform.js +2 -2
  49. package/tslib/bundler/rollup/entry.js +1 -1
  50. package/tslib/bundler/rollup/index.js +8 -8
  51. package/tslib/bundler/rollup/output.js +1 -1
  52. package/tslib/bundler/webpack/config/common.js +4 -4
  53. package/tslib/bundler/webpack/config/dev.js +3 -3
  54. package/tslib/bundler/webpack/config/index.js +4 -4
  55. package/tslib/bundler/webpack/config/prod.js +5 -14
  56. package/tslib/bundler/webpack/index.js +8 -8
  57. package/tslib/bundler/webpack/loaders.js +4 -4
  58. package/tslib/bundler/webpack/output.js +1 -1
  59. package/tslib/config/globals.js +3 -3
  60. package/tslib/config/index.js +13 -14
  61. package/tslib/config/version.js +1 -1
  62. package/tslib/hello.js +2 -2
  63. package/tslib/hooks/index.js +1 -1
  64. package/tslib/index.js +2 -2
  65. package/tslib/middlewares/index.js +6 -6
  66. package/tslib/middlewares/proxy.js +2 -1
  67. package/tslib/plugins/imagemin.js +6 -4
  68. package/tslib/plugins/index.js +11 -11
  69. package/tslib/plugins/less.js +54 -9
  70. package/tslib/plugins/postcss.js +2 -2
  71. package/tslib/plugins/replace.js +2 -2
  72. package/tslib/plugins/sass.js +13 -12
  73. package/tslib/plugins/sftp.js +1 -1
  74. package/tslib/tasks/foundation/balm_style.js +2 -2
  75. package/tslib/tasks/foundation/index.js +2 -2
  76. package/tslib/tasks/index.js +7 -6
  77. package/tslib/tasks/private/cache.js +1 -1
  78. package/tslib/tasks/private/clean.js +2 -2
  79. package/tslib/tasks/private/image.js +1 -1
  80. package/tslib/tasks/private/modernizr.js +4 -4
  81. package/tslib/tasks/private/sprite.js +5 -5
  82. package/tslib/tasks/public/esbuild.js +2 -2
  83. package/tslib/tasks/public/ftp.js +2 -1
  84. package/tslib/tasks/public/html.js +5 -5
  85. package/tslib/tasks/public/publish.js +4 -4
  86. package/tslib/tasks/public/remove.js +1 -1
  87. package/tslib/tasks/public/rollup.js +2 -2
  88. package/tslib/tasks/public/server.js +13 -12
  89. package/tslib/tasks/public/url.js +2 -2
  90. package/tslib/tasks/public/webpack.js +2 -2
  91. package/tslib/utilities/address.js +1 -1
  92. package/tslib/utilities/cache-core.js +10 -9
  93. package/tslib/utilities/color.js +1 -1
  94. package/tslib/utilities/compiling.js +4 -4
  95. package/tslib/utilities/detect-port.js +2 -2
  96. package/tslib/utilities/file.js +3 -3
  97. package/tslib/utilities/index.js +4 -4
  98. package/tslib/utilities/loading.js +9 -8
  99. package/tslib/utilities/logger.js +9 -9
  100. package/tslib/utilities/replacestream.js +3 -3
  101. package/tslib/utilities/utils.js +4 -4
package/index.d.ts CHANGED
@@ -146,6 +146,8 @@ export interface BalmScripts {
146
146
  buildOptions: BuildOptions;
147
147
  useTransform: boolean;
148
148
  transformOptions: TransformOptions;
149
+ // extra
150
+ useCache?: boolean;
149
151
  }
150
152
 
151
153
  export interface BalmImagesPlugins {
@@ -195,6 +197,7 @@ interface BalmServer {
195
197
  historyOptions: boolean | object;
196
198
  middlewares: Function[] | object[];
197
199
  extraWatchFiles: string[];
200
+ // extra
198
201
  useHMR?: boolean;
199
202
  }
200
203
 
package/lib/balm.js CHANGED
@@ -27,13 +27,17 @@ var _bootstrap = require("./bootstrap");
27
27
 
28
28
  var _loading = _interopRequireDefault(require("./utilities/loading"));
29
29
 
30
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
31
+
32
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
33
+
30
34
  var _config = /*#__PURE__*/new WeakMap();
31
35
 
32
36
  var Balm = /*#__PURE__*/function () {
33
37
  function Balm() {
34
38
  (0, _classCallCheck2["default"])(this, Balm);
35
39
 
36
- _config.set(this, {
40
+ _classPrivateFieldInitSpec(this, _config, {
37
41
  writable: true,
38
42
  value: void 0
39
43
  });
@@ -60,10 +60,7 @@ function ready(config) {
60
60
 
61
61
  config.inDesktopApp = /^electron-.*/.test(config.scripts.target); // Set use cache for webpack
62
62
 
63
- if (!BalmJS.useCache) {
64
- BalmJS.useCache = config.env.isProd && config.assets.cache && config.scripts.injectHtml;
65
- }
66
-
63
+ config.scripts.useCache = config.env.isProd && config.assets.cache && config.scripts.injectHtml;
67
64
  return config;
68
65
  }
69
66
 
@@ -11,12 +11,14 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
11
11
 
12
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
13
 
14
- var _asyncIterator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncIterator"));
15
-
16
14
  var _fs = _interopRequireDefault(require("fs"));
17
15
 
18
16
  var _options = require("./options");
19
17
 
18
+ function _asyncIterator(iterable) { var method, async, sync, retry = 2; for ("undefined" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;) { if (async && null != (method = iterable[async])) return method.call(iterable); if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable)); async = "@@asyncIterator", sync = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
19
+
20
+ function AsyncFromSyncIterator(s) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var done = r.done; return Promise.resolve(r.value).then(function (value) { return { value: value, done: done }; }); } return AsyncFromSyncIterator = function AsyncFromSyncIterator(s) { this.s = s, this.n = s.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function next() { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, "return": function _return(value) { var ret = this.s["return"]; return void 0 === ret ? Promise.resolve({ value: value, done: !0 }) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments)); }, "throw": function _throw(value) { var thr = this.s["return"]; return void 0 === thr ? Promise.reject(value) : AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(s); }
21
+
20
22
  var esTransform = function esTransform(entryPoints, output, customTransformOptions, callback) {
21
23
  var build = {
22
24
  output: BalmJS.file.absPath(output)
@@ -24,37 +26,29 @@ var esTransform = function esTransform(entryPoints, output, customTransformOptio
24
26
  var transformOptions = BalmJS.config.env.isProd ? Object.assign({}, _options.minifyOptions) : {};
25
27
  var options = Object.assign(transformOptions, BalmJS.config.scripts.transformOptions, customTransformOptions);
26
28
  (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
27
- var _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, entryPoint, filename, inputCode, result;
29
+ var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, entryPoint, filename, inputCode, result;
28
30
 
29
31
  return _regenerator["default"].wrap(function _callee$(_context) {
30
32
  while (1) {
31
33
  switch (_context.prev = _context.next) {
32
34
  case 0:
33
35
  _context.prev = 0;
34
- _iteratorNormalCompletion = true;
36
+ _iteratorAbruptCompletion = false;
35
37
  _didIteratorError = false;
36
38
  _context.prev = 3;
37
- _iterator = (0, _asyncIterator2["default"])(entryPoints);
39
+ _iterator = _asyncIterator(entryPoints);
38
40
 
39
41
  case 5:
40
42
  _context.next = 7;
41
43
  return _iterator.next();
42
44
 
43
45
  case 7:
44
- _step = _context.sent;
45
- _iteratorNormalCompletion = _step.done;
46
- _context.next = 11;
47
- return _step.value;
48
-
49
- case 11:
50
- _value = _context.sent;
51
-
52
- if (_iteratorNormalCompletion) {
53
- _context.next = 30;
46
+ if (!(_iteratorAbruptCompletion = !(_step = _context.sent).done)) {
47
+ _context.next = 25;
54
48
  break;
55
49
  }
56
50
 
57
- entryPoint = _value;
51
+ entryPoint = _step.value;
58
52
  build.input = BalmJS.file.absPath(entryPoint);
59
53
  BalmJS.logger.debug('esbuild bundler - transform', {
60
54
  input: build.input,
@@ -65,15 +59,15 @@ var esTransform = function esTransform(entryPoints, output, customTransformOptio
65
59
  filename = entryPoint.split('/').pop();
66
60
 
67
61
  if (!(filename && _fs["default"].existsSync(build.input))) {
68
- _context.next = 26;
62
+ _context.next = 21;
69
63
  break;
70
64
  }
71
65
 
72
66
  inputCode = _fs["default"].readFileSync(build.input, 'utf8');
73
- _context.next = 21;
67
+ _context.next = 16;
74
68
  return require('esbuild').transform(inputCode, options);
75
69
 
76
- case 21:
70
+ case 16:
77
71
  result = _context.sent;
78
72
 
79
73
  _fs["default"].mkdirSync(build.output, {
@@ -82,66 +76,66 @@ var esTransform = function esTransform(entryPoints, output, customTransformOptio
82
76
 
83
77
  _fs["default"].writeFileSync(path.join(build.output, filename), result.code);
84
78
 
85
- _context.next = 27;
79
+ _context.next = 22;
86
80
  break;
87
81
 
88
- case 26:
82
+ case 21:
89
83
  BalmJS.logger.warn('esbuild', "Invalid entry point: ".concat(entryPoint));
90
84
 
91
- case 27:
92
- _iteratorNormalCompletion = true;
85
+ case 22:
86
+ _iteratorAbruptCompletion = false;
93
87
  _context.next = 5;
94
88
  break;
95
89
 
96
- case 30:
97
- _context.next = 36;
90
+ case 25:
91
+ _context.next = 31;
98
92
  break;
99
93
 
100
- case 32:
101
- _context.prev = 32;
94
+ case 27:
95
+ _context.prev = 27;
102
96
  _context.t0 = _context["catch"](3);
103
97
  _didIteratorError = true;
104
98
  _iteratorError = _context.t0;
105
99
 
106
- case 36:
107
- _context.prev = 36;
108
- _context.prev = 37;
100
+ case 31:
101
+ _context.prev = 31;
102
+ _context.prev = 32;
109
103
 
110
- if (!(!_iteratorNormalCompletion && _iterator["return"] != null)) {
111
- _context.next = 41;
104
+ if (!(_iteratorAbruptCompletion && _iterator["return"] != null)) {
105
+ _context.next = 36;
112
106
  break;
113
107
  }
114
108
 
115
- _context.next = 41;
109
+ _context.next = 36;
116
110
  return _iterator["return"]();
117
111
 
118
- case 41:
119
- _context.prev = 41;
112
+ case 36:
113
+ _context.prev = 36;
120
114
 
121
115
  if (!_didIteratorError) {
122
- _context.next = 44;
116
+ _context.next = 39;
123
117
  break;
124
118
  }
125
119
 
126
120
  throw _iteratorError;
127
121
 
128
- case 44:
129
- return _context.finish(41);
130
-
131
- case 45:
122
+ case 39:
132
123
  return _context.finish(36);
133
124
 
134
- case 46:
135
- _context.prev = 46;
125
+ case 40:
126
+ return _context.finish(31);
127
+
128
+ case 41:
129
+ _context.prev = 41;
136
130
  callback();
137
- return _context.finish(46);
131
+ return _context.finish(41);
138
132
 
139
- case 49:
133
+ case 44:
140
134
  case "end":
141
135
  return _context.stop();
142
136
  }
143
137
  }
144
- }, _callee, null, [[0,, 46, 49], [3, 32, 36, 46], [37,, 41, 45]]);
138
+ }, _callee, null, [[0,, 41, 44], [3, 27, 31, 41], [32,, 36, 40]]);
145
139
  }))();
146
140
  };
147
141
 
@@ -11,17 +11,19 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
11
11
 
12
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
13
 
14
- var _asyncIterator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncIterator"));
15
-
16
14
  var _entry = _interopRequireDefault(require("./entry"));
17
15
 
18
16
  var _output = _interopRequireDefault(require("./output"));
19
17
 
20
18
  var _build = _interopRequireDefault(require("./build"));
21
19
 
20
+ function _asyncIterator(iterable) { var method, async, sync, retry = 2; for ("undefined" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;) { if (async && null != (method = iterable[async])) return method.call(iterable); if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable)); async = "@@asyncIterator", sync = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
21
+
22
+ function AsyncFromSyncIterator(s) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var done = r.done; return Promise.resolve(r.value).then(function (value) { return { value: value, done: done }; }); } return AsyncFromSyncIterator = function AsyncFromSyncIterator(s) { this.s = s, this.n = s.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function next() { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, "return": function _return(value) { var ret = this.s["return"]; return void 0 === ret ? Promise.resolve({ value: value, done: !0 }) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments)); }, "throw": function _throw(value) { var thr = this.s["return"]; return void 0 === thr ? Promise.reject(value) : AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(s); }
23
+
22
24
  var buildLibrary = /*#__PURE__*/function () {
23
25
  var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(inputOptions, outputOptions) {
24
- var rollup, rollupOptions, bundle, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, outputOption;
26
+ var rollup, rollupOptions, bundle, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, outputOption;
25
27
 
26
28
  return _regenerator["default"].wrap(function _callee$(_context) {
27
29
  while (1) {
@@ -40,94 +42,86 @@ var buildLibrary = /*#__PURE__*/function () {
40
42
  bundle = _context.sent;
41
43
 
42
44
  if (!Array.isArray(outputOptions)) {
43
- _context.next = 44;
45
+ _context.next = 39;
44
46
  break;
45
47
  }
46
48
 
47
- _iteratorNormalCompletion = true;
49
+ _iteratorAbruptCompletion = false;
48
50
  _didIteratorError = false;
49
51
  _context.prev = 10;
50
- _iterator = (0, _asyncIterator2["default"])(outputOptions);
52
+ _iterator = _asyncIterator(outputOptions);
51
53
 
52
54
  case 12:
53
55
  _context.next = 14;
54
56
  return _iterator.next();
55
57
 
56
58
  case 14:
57
- _step = _context.sent;
58
- _iteratorNormalCompletion = _step.done;
59
- _context.next = 18;
60
- return _step.value;
61
-
62
- case 18:
63
- _value = _context.sent;
64
-
65
- if (_iteratorNormalCompletion) {
66
- _context.next = 26;
59
+ if (!(_iteratorAbruptCompletion = !(_step = _context.sent).done)) {
60
+ _context.next = 21;
67
61
  break;
68
62
  }
69
63
 
70
- outputOption = _value;
71
- _context.next = 23;
64
+ outputOption = _step.value;
65
+ _context.next = 18;
72
66
  return (0, _build["default"])(bundle, outputOption);
73
67
 
74
- case 23:
75
- _iteratorNormalCompletion = true;
68
+ case 18:
69
+ _iteratorAbruptCompletion = false;
76
70
  _context.next = 12;
77
71
  break;
78
72
 
79
- case 26:
80
- _context.next = 32;
73
+ case 21:
74
+ _context.next = 27;
81
75
  break;
82
76
 
83
- case 28:
84
- _context.prev = 28;
77
+ case 23:
78
+ _context.prev = 23;
85
79
  _context.t0 = _context["catch"](10);
86
80
  _didIteratorError = true;
87
81
  _iteratorError = _context.t0;
88
82
 
89
- case 32:
90
- _context.prev = 32;
91
- _context.prev = 33;
83
+ case 27:
84
+ _context.prev = 27;
85
+ _context.prev = 28;
92
86
 
93
- if (!(!_iteratorNormalCompletion && _iterator["return"] != null)) {
94
- _context.next = 37;
87
+ if (!(_iteratorAbruptCompletion && _iterator["return"] != null)) {
88
+ _context.next = 32;
95
89
  break;
96
90
  }
97
91
 
98
- _context.next = 37;
92
+ _context.next = 32;
99
93
  return _iterator["return"]();
100
94
 
101
- case 37:
102
- _context.prev = 37;
95
+ case 32:
96
+ _context.prev = 32;
103
97
 
104
98
  if (!_didIteratorError) {
105
- _context.next = 40;
99
+ _context.next = 35;
106
100
  break;
107
101
  }
108
102
 
109
103
  throw _iteratorError;
110
104
 
111
- case 40:
112
- return _context.finish(37);
113
-
114
- case 41:
105
+ case 35:
115
106
  return _context.finish(32);
116
107
 
117
- case 42:
118
- _context.next = 46;
108
+ case 36:
109
+ return _context.finish(27);
110
+
111
+ case 37:
112
+ _context.next = 41;
119
113
  break;
120
114
 
121
- case 44:
122
- _context.next = 46;
115
+ case 39:
116
+ _context.next = 41;
123
117
  return (0, _build["default"])(bundle, outputOptions);
124
118
 
125
- case 46:
119
+ case 41:
126
120
  case "end":
127
121
  return _context.stop();
128
122
  }
129
123
  }
130
- }, _callee, null, [[10, 28, 32, 42], [33,, 37, 41]]);
124
+ }, _callee, null, [[10, 23, 27, 37], [28,, 32, 36]]);
131
125
  }));
132
126
 
133
127
  return function buildLibrary(_x, _x2) {
@@ -64,7 +64,7 @@ function getSplitChunks() {
64
64
 
65
65
  if (scripts.extractAllVendors) {
66
66
  // All vendors
67
- var jsFilename = BalmJS.useCache ? "".concat(scripts.vendorName, ".").concat(_constants.HASH_NAME_PROD, ".js") : "".concat(scripts.vendorName, ".js");
67
+ var jsFilename = scripts.useCache ? "".concat(scripts.vendorName, ".").concat(_constants.HASH_NAME_PROD, ".js") : "".concat(scripts.vendorName, ".js");
68
68
  cacheGroups = {
69
69
  vendors: {
70
70
  name: 'vendors',
@@ -87,7 +87,7 @@ function getSplitChunks() {
87
87
  var cacheGroupKey = vendor.key;
88
88
  var cacheGroupModules = vendor.value.join('|');
89
89
 
90
- var _jsFilename = BalmJS.useCache ? "".concat(cacheGroupKey, ".").concat(_constants.HASH_NAME_PROD, ".js") : "".concat(cacheGroupKey, ".js");
90
+ var _jsFilename = scripts.useCache ? "".concat(cacheGroupKey, ".").concat(_constants.HASH_NAME_PROD, ".js") : "".concat(cacheGroupKey, ".js");
91
91
 
92
92
  cacheGroups[cacheGroupKey] = {
93
93
  name: cacheGroupKey,
@@ -21,18 +21,9 @@ var _constants = require("../../../config/constants");
21
21
  // Set to `true` or `false` to always turn it on or off
22
22
  var bundleAnalyzerReport = process.env.npm_config_report || false;
23
23
 
24
- function getCssFilename() {
25
- var isChunk = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
26
- var filename;
27
-
28
- if (isChunk) {
29
- filename = BalmJS.config.env.isProd ? "[name].".concat(_constants.HASH_NAME_PROD) : '[name]';
30
- } else {
31
- filename = BalmJS.useCache ? "[name].".concat(_constants.HASH_NAME_PROD) : '[name]';
32
- }
33
-
34
- return "".concat(BalmJS.config.paths.target.css, "/").concat(_constants.ASYNC_SCRIPTS, "/").concat(filename, ".css");
35
- }
24
+ var getCssFilename = function getCssFilename() {
25
+ return "".concat(BalmJS.config.paths.target.css, "/").concat(_constants.ASYNC_SCRIPTS, "/[name].").concat(_constants.HASH_NAME_PROD, ".css");
26
+ };
36
27
 
37
28
  function getProdConfig(webpack, scripts) {
38
29
  var TerserPlugin = require('terser-webpack-plugin');
@@ -82,7 +73,7 @@ function getProdConfig(webpack, scripts) {
82
73
  plugins: [// Keep module.id stable when vendor modules does not change
83
74
  new webpack.HashedModuleIdsPlugin()].concat((0, _toConsumableArray2["default"])(scripts.extractCss ? [new MiniCssExtractPlugin({
84
75
  filename: BalmJS.file.assetsPath(getCssFilename()),
85
- chunkFilename: BalmJS.file.assetsPath(getCssFilename(true))
76
+ chunkFilename: BalmJS.file.assetsPath(getCssFilename())
86
77
  })] : []), (0, _toConsumableArray2["default"])(bundleAnalyzerReport ? [new webpackBundleAnalyzer.BundleAnalyzerPlugin()] : [])),
87
78
  devtool: shouldUseSourceMap ? 'source-map' : false
88
79
  });
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.mediaRegex = exports.fontRegex = exports.imgRegex = exports.jsRegex = exports.cssModuleRegex = exports.cssRegex = exports.htmlRegex = void 0;
6
+ exports.mediaRegex = exports.jsRegex = exports.imgRegex = exports.htmlRegex = exports.fontRegex = exports.cssRegex = exports.cssModuleRegex = void 0;
7
7
  var htmlRegex = /\.html$/;
8
8
  exports.htmlRegex = htmlRegex;
9
9
  var cssRegex = /\.css$/;
@@ -5,8 +5,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.webpackConfig = webpackConfig;
9
8
  exports.webpack = void 0;
9
+ exports.webpackConfig = webpackConfig;
10
10
 
11
11
  var _webpackMerge = _interopRequireDefault(require("webpack-merge"));
12
12
 
@@ -14,7 +14,7 @@ function getFilename(scripts) {
14
14
  if (isChunk) {
15
15
  filename = BalmJS.config.env.isProd ? "[name].".concat(_constants.HASH_NAME_PROD) : '[name]';
16
16
  } else {
17
- filename = BalmJS.useCache ? "[name].".concat(_constants.HASH_NAME_PROD) : '[name]';
17
+ filename = scripts.useCache ? "[name].".concat(_constants.HASH_NAME_PROD) : '[name]';
18
18
  }
19
19
 
20
20
  return "".concat(filename, ".js");
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.MP_ASSETS = exports.HMR_PATH = exports.HASH_NAME_DEV = exports.HASH_NAME_PROD = exports.STATIC_ASSETS = exports.ASYNC_SCRIPTS = exports.ASSETS_KEYS = exports.PUBLIC_URL = exports.DOMAIN = void 0;
6
+ exports.STATIC_ASSETS = exports.PUBLIC_URL = exports.MP_ASSETS = exports.HMR_PATH = exports.HASH_NAME_PROD = exports.HASH_NAME_DEV = exports.DOMAIN = exports.ASYNC_SCRIPTS = exports.ASSETS_KEYS = void 0;
7
7
  var DOMAIN = 'https://balm.js.org';
8
8
  exports.DOMAIN = DOMAIN;
9
9
  var PUBLIC_URL = '%PUBLIC_URL%';
@@ -88,6 +88,5 @@ BalmJS.LogLevel = LogLevel;
88
88
  BalmJS.Bundler = Bundler;
89
89
  BalmJS.vendors = vendors;
90
90
  BalmJS.entries = [];
91
- BalmJS.useCache = false;
92
91
  var _default = config;
93
92
  exports["default"] = _default;
package/lib/index.js CHANGED
@@ -5,19 +5,19 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- Object.defineProperty(exports, "version", {
8
+ Object.defineProperty(exports, "Balm", {
9
9
  enumerable: true,
10
10
  get: function get() {
11
- return _version["default"];
11
+ return _balm["default"];
12
12
  }
13
13
  });
14
- Object.defineProperty(exports, "Balm", {
14
+ exports["default"] = void 0;
15
+ Object.defineProperty(exports, "version", {
15
16
  enumerable: true,
16
17
  get: function get() {
17
- return _balm["default"];
18
+ return _version["default"];
18
19
  }
19
20
  });
20
- exports["default"] = void 0;
21
21
 
22
22
  var _version = _interopRequireDefault(require("./config/version"));
23
23
 
@@ -57,7 +57,9 @@ function httpProxyMiddleware() {
57
57
  handleProxyConfigError();
58
58
  }
59
59
  } catch (error) {
60
- BalmJS.logger.error('proxy middleware', error.message);
60
+ var _ref = error,
61
+ message = _ref.message;
62
+ BalmJS.logger.error('proxy middleware', message);
61
63
  }
62
64
  }
63
65
 
@@ -7,12 +7,63 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = void 0;
9
9
 
10
+ var _fs = _interopRequireDefault(require("fs"));
11
+
10
12
  var _replaceExt = _interopRequireDefault(require("replace-ext"));
11
13
 
12
14
  var _vinylSourcemapsApply = _interopRequireDefault(require("vinyl-sourcemaps-apply"));
13
15
 
16
+ // Reference `gulp-less@5.0.0`
14
17
  var PLUGIN_NAME = 'less';
15
18
 
19
+ function inlineSources(sourcemap) {
20
+ if (sourcemap.sourcesContent) {
21
+ return Promise.resolve(sourcemap);
22
+ }
23
+
24
+ return Promise.all(sourcemap.sources.map(function (source) {
25
+ return new Promise(function (resolve, reject) {
26
+ _fs["default"].readFile(source, 'utf8', function (err, data) {
27
+ if (err) {
28
+ reject(err);
29
+ } else {
30
+ resolve(data);
31
+ }
32
+ });
33
+ });
34
+ })).then(function (contents) {
35
+ sourcemap.sourcesContent = contents;
36
+ return sourcemap;
37
+ }, function () {
38
+ return sourcemap;
39
+ });
40
+ }
41
+
42
+ function renderLess(str, opts) {
43
+ return new Promise(function (resolve, reject) {
44
+ require('less').render(str, opts, function (err, res) {
45
+ if (err) {
46
+ reject(err);
47
+ } else {
48
+ var obj = {
49
+ result: res.css,
50
+ imports: res.imports
51
+ };
52
+
53
+ if (opts.sourceMap && res.map) {
54
+ obj.sourcemap = JSON.parse(res.map);
55
+ inlineSources(obj.sourcemap).then(function (map) {
56
+ obj.sourcemap = map;
57
+ resolve(obj);
58
+ });
59
+ } else {
60
+ resolve(obj);
61
+ }
62
+ }
63
+ });
64
+ });
65
+ }
66
+
16
67
  function gulpLess(options) {
17
68
  // Mixes in default options.
18
69
  var opts = Object.assign({}, {
@@ -32,12 +83,12 @@ function gulpLess(options) {
32
83
 
33
84
  opts.filename = file.path; // Bootstrap source maps
34
85
 
35
- if (file.sourceMap) {
36
- opts.sourcemap = true;
86
+ if (file.sourceMap || opts.sourcemap) {
87
+ opts.sourceMap = true;
37
88
  }
38
89
 
39
- require('less').render(str, opts).then(function (res) {
40
- file.contents = Buffer.from(res.css);
90
+ renderLess(str, opts).then(function (res) {
91
+ file.contents = Buffer.from(res.result);
41
92
  file.path = (0, _replaceExt["default"])(file.path, '.css');
42
93
 
43
94
  if (res.sourcemap) {
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.stop = stop;
7
6
  exports["default"] = void 0;
7
+ exports.stop = stop;
8
8
 
9
9
  var _events = require("events");
10
10
 
@@ -11,6 +11,7 @@ var _stream = require("stream");
11
11
 
12
12
  var _vinylSourcemapsApply = _interopRequireDefault(require("vinyl-sourcemaps-apply"));
13
13
 
14
+ // Reference `gulp-postcss@9.0.1`
14
15
  var PLUGIN_NAME = 'postcss';
15
16
 
16
17
  function gulpPostcss(cb) {
@@ -13,9 +13,9 @@ var _stream = require("stream");
13
13
 
14
14
  var _replacestream = _interopRequireDefault(require("../utilities/replacestream"));
15
15
 
16
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
17
 
18
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
18
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
19
 
20
20
  var defaultOptions = {
21
21
  skipBinary: true