balm-core 4.23.3 → 4.24.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.
@@ -59,7 +59,6 @@ function setConfig(customConfig) {
59
59
  if (config.roots.target === 'dist') {
60
60
  config.roots.target = config.assets.mainDir; // NOTE: `BalmJS.config.roots.target = 'public'` for back-end project
61
61
  }
62
-
63
62
  config.roots.tmp = config.roots.target;
64
63
  }
65
64
 
@@ -1,8 +1,8 @@
1
- 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; }
2
- 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) { _defineProperty(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; }
1
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3
3
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
5
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
5
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
6
6
  import dotenv from 'dotenv';
7
7
  import dotenvExpand from 'dotenv-expand';
8
8
  const NODE_ENV = process.env.NODE_ENV;
@@ -13,7 +13,6 @@ const source = {
13
13
  // Font directory: `src/fonts`
14
14
  media: 'media' // Media directory: `src/media`
15
15
  };
16
-
17
16
  const tmp = {
18
17
  base: '',
19
18
  // `.tmp`
@@ -27,7 +26,6 @@ const tmp = {
27
26
  // `.tmp/fonts`
28
27
  media: 'media' // `.tmp/media`
29
28
  };
30
-
31
29
  const target = {
32
30
  base: '',
33
31
  // `dist`
@@ -41,7 +39,6 @@ const target = {
41
39
  // `dist/font`
42
40
  media: 'media' // `dist/media`
43
41
  };
44
-
45
42
  export default {
46
43
  source,
47
44
  tmp,
@@ -1,4 +1,4 @@
1
- // Reference `gulp-imagemin@8.0.0`
1
+ // Reference `gulp-imagemin@9.0.0`
2
2
 
3
3
  import imagemin from 'imagemin';
4
4
  import prettyBytes from 'pretty-bytes';
@@ -9,12 +9,15 @@ const loadPlugin = (plugin, ...args) => {
9
9
  try {
10
10
  return requireModule(`imagemin-${plugin}`)(...args);
11
11
  } catch (_) {
12
- BalmJS.logger.error(PLUGIN_NAME, `Couldn't load default plugin "${plugin}"`);
12
+ BalmJS.logger.error(PLUGIN_NAME, `Could not load default plugin \`${plugin}\``);
13
13
  }
14
14
  };
15
15
  const exposePlugin = plugin => (...args) => loadPlugin(plugin, ...args);
16
16
  const getDefaultPlugins = () => defaultPlugins.flatMap(plugin => loadPlugin(plugin));
17
- const gulpImagemin = customPlugins => {
17
+ function gulpImagemin(customPlugins) {
18
+ if (typeof customPlugins === 'object' && !Array.isArray(customPlugins)) {
19
+ customPlugins = undefined;
20
+ }
18
21
  const validExtensions = new Set(['.jpg', '.jpeg', '.png', '.gif', '.svg']);
19
22
  let totalBytes = 0;
20
23
  let totalSavedBytes = 0;
@@ -33,7 +36,7 @@ const gulpImagemin = customPlugins => {
33
36
  callback(null, file);
34
37
  return;
35
38
  }
36
- const plugins = customPlugins || getDefaultPlugins();
39
+ const plugins = customPlugins ?? getDefaultPlugins();
37
40
  (async () => {
38
41
  try {
39
42
  const data = await imagemin.buffer(file.contents, {
@@ -72,7 +75,7 @@ const gulpImagemin = customPlugins => {
72
75
  return through2Concurrent.obj({
73
76
  maxConcurrency: 8
74
77
  }, transform, flush);
75
- };
78
+ }
76
79
  const gifsicle = exposePlugin('gifsicle');
77
80
  const mozjpeg = exposePlugin('mozjpeg');
78
81
  const optipng = exposePlugin('optipng');
@@ -1,9 +1,9 @@
1
- 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; }
2
- 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) { _defineProperty(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; }
1
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3
3
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
5
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
- // Reference `gulp-replace@1.1.3`
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
5
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
6
+ // Reference `gulp-replace@1.1.4`
7
7
  import { Transform } from 'node:stream';
8
8
  import { isText } from 'istextorbinary';
9
9
  import rs from '../utilities/replacestream.js';
@@ -73,15 +73,15 @@ const gulpSass = options => transformObj((file, encoding, callback) => {
73
73
  if (!options.importers) {
74
74
  const aliasKeys = Object.keys(BalmJS.config.scripts.alias).filter(key => /^@[a-z0-9-]{1,213}/.test(key));
75
75
  if (aliasKeys.length) {
76
- const aliasKeyRegex = new RegExp(`^${aliasKeys.join('|')}`);
76
+ const aliasKeyRegex = new RegExp(`^(${aliasKeys.join('|')})/`);
77
77
  options.importers = [{
78
78
  findFileUrl(url) {
79
79
  let file = url;
80
80
  const result = url.match(aliasKeyRegex);
81
- const key = result ? result[0] : null;
81
+ const key = result ? result[1] : null;
82
82
  if (key) {
83
- file = url.replace(aliasKeyRegex, BalmJS.config.scripts.alias[key]);
84
- BalmJS.logger.debug(`${PLUGIN_NAME} alias`, `${url} -> ${file}`);
83
+ file = url.replace(key, BalmJS.config.scripts.alias[key]);
84
+ BalmJS.logger.debug(`${PLUGIN_NAME} alias`, `${key} -> ${url} => ${file}`);
85
85
  }
86
86
  return pathToFileURL(file);
87
87
  }
@@ -1,6 +1,6 @@
1
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  class BalmTask {
5
5
  constructor(name) {
6
6
  _defineProperty(this, "name", void 0);
@@ -1,12 +1,13 @@
1
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
+ import gulpSize from 'gulp-size';
4
5
  class BuildTask extends BalmJS.BalmTask {
5
6
  constructor() {
6
7
  super('build');
7
8
  _defineProperty(this, "fn", () => {
8
9
  this.init();
9
- return this.src.pipe($.size({
10
+ return this.src.pipe(gulpSize({
10
11
  title: this.name,
11
12
  gzip: true
12
13
  }));
@@ -1,6 +1,6 @@
1
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  import revAll from 'gulp-rev-all';
5
5
  import { ASSETS_TYPES, CHUNK, ASSET } from '../../config/constants.js';
6
6
  class CacheTask extends BalmJS.BalmTask {
@@ -1,6 +1,6 @@
1
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
5
5
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
6
6
  function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
@@ -17,7 +17,6 @@ function unique(arr) {
17
17
  result.push(arr[i].replace(/\\/g, '/')); // NOTE: compatible with windows for `del@5.x`
18
18
  }
19
19
  }
20
-
21
20
  return result;
22
21
  }
23
22
  var _getAssetsDir = /*#__PURE__*/new WeakMap();
@@ -1,6 +1,6 @@
1
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  class EndTask extends BalmJS.BalmTask {
5
5
  constructor() {
6
6
  super('end');
@@ -1,6 +1,6 @@
1
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  class ExtraTask extends BalmJS.BalmTask {
5
5
  constructor() {
6
6
  super('extra');
@@ -1,6 +1,6 @@
1
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  class FontTask extends BalmJS.BalmTask {
5
5
  constructor() {
6
6
  super('font');
@@ -1,6 +1,6 @@
1
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  import { getDefaultImagePlugins } from '../../plugins/imagemin.js';
5
5
  class ImageTask extends BalmJS.BalmTask {
6
6
  constructor() {
@@ -1,6 +1,6 @@
1
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  class LintTask extends BalmJS.BalmTask {
5
5
  constructor() {
6
6
  super('lint');
@@ -1,6 +1,6 @@
1
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  class MediaTask extends BalmJS.BalmTask {
5
5
  constructor() {
6
6
  super('media');
@@ -1,6 +1,6 @@
1
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
5
5
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
6
6
  function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
@@ -1,6 +1,6 @@
1
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  import { deleteAsync } from 'del';
5
5
  class PwaCacheTask extends BalmJS.BalmTask {
6
6
  constructor() {
@@ -31,14 +31,12 @@ class SpriteTask extends BalmJS.BalmTask {
31
31
  cssVarMap: sprite => {
32
32
  sprite.name = `${spriteItem.folderName}-${sprite.name}`; // E.g. "awesome-icon-name"
33
33
  },
34
-
35
34
  cssSpritesheetName: `${spriteItem.folderName}-spritesheet`,
36
35
  // E.g. "awesome-spritesheet"
37
36
  cssOpts: {
38
37
  cssSelector: sprite => `.${sprite.name}` // className in css file: '.icon-awesome'
39
38
  }
40
39
  });
41
-
42
40
  if (stylesConfig.spriteRetina) {
43
41
  defaultParams = Object.assign(defaultParams, {
44
42
  retinaSrcFilter: `${spriteItem.retinaSrc}`,
@@ -49,13 +47,11 @@ class SpriteTask extends BalmJS.BalmTask {
49
47
  cssVarMap: sprite => {
50
48
  sprite.name = `${spriteItem.folderName}-${sprite.name}`; // E.g. "awesome-icon-name"
51
49
  },
52
-
53
50
  cssRetinaSpritesheetName: `${spriteItem.folderName}-spritesheet-2x`,
54
51
  // E.g. "awesome-spritesheet-2x"
55
52
  cssRetinaGroupsName: `${spriteItem.folderName}-retina-groups` // E.g. "awesome-retina-groups"
56
53
  });
57
54
  }
58
-
59
55
  return Object.assign(defaultParams, stylesConfig.spriteParams);
60
56
  }
61
57
  });
@@ -83,7 +79,6 @@ class SpriteTask extends BalmJS.BalmTask {
83
79
  imgOutput: BalmJS.file.absPath(this.output),
84
80
  cssOutput: BalmJS.file.absPath(`${BalmJS.config.src.css}/${this.name}s`) // E.g. 'path/to/css/sprites'
85
81
  };
86
-
87
82
  BalmJS.logger.debug(`${this.name} task`, spriteConfig, {
88
83
  pre: true
89
84
  });
@@ -1,6 +1,6 @@
1
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  class StartTask extends BalmJS.BalmTask {
5
5
  constructor() {
6
6
  super('start');
@@ -1,6 +1,6 @@
1
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  class WorkboxSwTask extends BalmJS.BalmTask {
5
5
  constructor() {
6
6
  super('workbox-sw');
@@ -24,10 +24,8 @@ class PublishTask extends BalmJS.BalmTask {
24
24
  // Assets
25
25
  node.path.join(`!${BalmJS.config.dest.base}`, '*.*') // HTML
26
26
  ];
27
-
28
27
  this.defaultOutput = BalmJS.config.assets.static; // Remote dir
29
28
  }
30
-
31
29
  recipe(input, output, renameOptions) {
32
30
  const balmPublish = callback => {
33
31
  if (BalmJS.config.env.isProd) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "balm-core",
3
- "version": "4.23.3",
3
+ "version": "4.24.0",
4
4
  "description": "BalmJS compiler core",
5
5
  "keywords": [
6
6
  "balm",
@@ -41,16 +41,16 @@
41
41
  "directory": "packages/balm-core"
42
42
  },
43
43
  "dependencies": {
44
- "@rollup/plugin-terser": "^0.4.3",
44
+ "@rollup/plugin-terser": "^0.4.4",
45
45
  "ansi-colors": "^4.1.3",
46
- "async": "^3.2.4",
46
+ "async": "^3.2.5",
47
47
  "autoprefixer": "^10.4.16",
48
48
  "babel-loader": "^9.1.3",
49
49
  "browser-sync": "^2.29.3",
50
50
  "connect-history-api-fallback": "^2.0.0",
51
51
  "css-loader": "^6.8.1",
52
52
  "css-minimizer-webpack-plugin": "^5.0.1",
53
- "cssnano": "^6.0.1",
53
+ "cssnano": "^6.0.2",
54
54
  "del": "^7.1.0",
55
55
  "dotenv": "^16.3.1",
56
56
  "dotenv-expand": "^10.0.0",
@@ -61,56 +61,64 @@
61
61
  "gulp-load-plugins": "^2.0.8",
62
62
  "gulp-rev-all": "^4.0.0",
63
63
  "gulp-rev-delete-original": "^0.2.3",
64
- "gulp-size": "^4.0.1",
64
+ "gulp-size": "^5.0.0",
65
65
  "gulp-useref": "^5.0.0",
66
- "gulp-zip": "^5.1.0",
66
+ "gulp-zip": "^6.0.0",
67
67
  "gulp.spritesmith": "^6.13.0",
68
68
  "html-loader": "^4.2.0",
69
69
  "html-minifier": "^4.0.0",
70
- "html-webpack-plugin": "^5.5.3",
70
+ "html-webpack-plugin": "^5.6.0",
71
71
  "http-proxy-middleware": "^2.0.6",
72
72
  "imagemin": "^8.0.1",
73
- "istextorbinary": "^6.0.0",
73
+ "istextorbinary": "^9.3.0",
74
74
  "less": "^4.2.0",
75
75
  "mini-css-extract-plugin": "^2.7.6",
76
76
  "modernizr": "^3.13.0",
77
77
  "parents": "^1.0.1",
78
78
  "plugin-error": "^2.0.1",
79
- "postcss": "^8.4.30",
79
+ "postcss": "^8.4.32",
80
80
  "postcss-flexbugs-fixes": "^5.0.2",
81
81
  "postcss-import": "^15.1.0",
82
- "postcss-load-config": "^4.0.1",
82
+ "postcss-load-config": "^5.0.2",
83
83
  "postcss-loader": "7.3.3",
84
- "postcss-preset-env": "^9.1.4",
84
+ "postcss-preset-env": "^7",
85
85
  "pretty-bytes": "^6.1.1",
86
- "readable-stream": "^4.4.2",
86
+ "readable-stream": "^4.5.1",
87
87
  "replace-ext": "^2.0.0",
88
- "rollup": "^3.29.3",
89
- "sass": "^1.68.0",
88
+ "rollup": "^4.9.1",
89
+ "sass": "^1.69.5",
90
90
  "sass-loader": "^13.3.2",
91
- "ssh2": "^1.14.0",
91
+ "ssh2": "^1.15.0",
92
92
  "strip-ansi": "^7.1.0",
93
93
  "style-loader": "^3.3.3",
94
- "tailwindcss": "^3.3.3",
95
- "terser": "^5.20.0",
94
+ "tailwindcss": "^3.4.0",
95
+ "terser": "^5.26.0",
96
96
  "terser-webpack-plugin": "^5.3.9",
97
97
  "through2": "^4.0.2",
98
98
  "through2-concurrent": "^2.0.0",
99
99
  "tslib": "^2.6.2",
100
100
  "vinyl-sourcemaps-apply": "^0.2.1",
101
- "webpack": "^5.88.2",
102
- "webpack-bundle-analyzer": "^4.9.1",
101
+ "webpack": "^5.89.0",
102
+ "webpack-bundle-analyzer": "^4.10.1",
103
103
  "webpack-dev-middleware": "^6.1.1",
104
104
  "webpack-hot-middleware": "^2.25.4",
105
- "webpack-merge": "^5.9.0",
105
+ "webpack-merge": "^5.10.0",
106
106
  "workbox-build": "^7.0.0"
107
107
  },
108
108
  "devDependencies": {
109
- "@swc/core": "1",
110
- "@types/express": "4",
111
- "@types/node": "20",
112
- "@types/uglify-js": "3",
113
- "@types/webpack": "5"
109
+ "@types/async": "^3",
110
+ "@types/browser-sync": "^2",
111
+ "@types/express": "^4",
112
+ "@types/fancy-log": "^2",
113
+ "@types/html-minifier": "^4",
114
+ "@types/imagemin": "^8",
115
+ "@types/parents": "^1",
116
+ "@types/postcss-flexbugs-fixes": "^5",
117
+ "@types/readable-stream": "^4",
118
+ "@types/replace-ext": "^2",
119
+ "@types/through2-concurrent": "^2",
120
+ "@types/webpack-bundle-analyzer": "^4",
121
+ "@types/webpack-hot-middleware": "^2"
114
122
  },
115
123
  "optionalDependencies": {
116
124
  "imagemin-gifsicle": "^7.0.0",
@@ -119,7 +127,7 @@
119
127
  "imagemin-svgo": "^9.0.0"
120
128
  },
121
129
  "engines": {
122
- "node": ">=16"
130
+ "node": ">=18"
123
131
  },
124
- "gitHead": "186dd919d37d2e2e976b69ccfc2207f7b048923a"
132
+ "gitHead": "812c3bce91dca2d1ad71fc99ec9e1efe7381a2e3"
125
133
  }
@@ -8,12 +8,15 @@ const loadPlugin = (plugin, ...args) => {
8
8
  return requireModule(`imagemin-${plugin}`)(...args);
9
9
  }
10
10
  catch (_) {
11
- BalmJS.logger.error(PLUGIN_NAME, `Couldn't load default plugin "${plugin}"`);
11
+ BalmJS.logger.error(PLUGIN_NAME, `Could not load default plugin \`${plugin}\``);
12
12
  }
13
13
  };
14
14
  const exposePlugin = (plugin) => (...args) => loadPlugin(plugin, ...args);
15
15
  const getDefaultPlugins = () => defaultPlugins.flatMap((plugin) => loadPlugin(plugin));
16
- const gulpImagemin = (customPlugins) => {
16
+ function gulpImagemin(customPlugins) {
17
+ if (typeof customPlugins === 'object' && !Array.isArray(customPlugins)) {
18
+ customPlugins = undefined;
19
+ }
17
20
  const validExtensions = new Set(['.jpg', '.jpeg', '.png', '.gif', '.svg']);
18
21
  let totalBytes = 0;
19
22
  let totalSavedBytes = 0;
@@ -32,7 +35,7 @@ const gulpImagemin = (customPlugins) => {
32
35
  callback(null, file);
33
36
  return;
34
37
  }
35
- const plugins = customPlugins || getDefaultPlugins();
38
+ const plugins = customPlugins ?? getDefaultPlugins();
36
39
  (async () => {
37
40
  try {
38
41
  const data = await imagemin.buffer(file.contents, {
@@ -74,7 +77,7 @@ const gulpImagemin = (customPlugins) => {
74
77
  callback();
75
78
  }
76
79
  return through2Concurrent.obj({ maxConcurrency: 8 }, transform, flush);
77
- };
80
+ }
78
81
  const gifsicle = exposePlugin('gifsicle');
79
82
  const mozjpeg = exposePlugin('mozjpeg');
80
83
  const optipng = exposePlugin('optipng');
@@ -58,16 +58,16 @@ const gulpSass = (options) => transformObj((file, encoding, callback) => {
58
58
  if (!options.importers) {
59
59
  const aliasKeys = Object.keys(BalmJS.config.scripts.alias).filter((key) => /^@[a-z0-9-]{1,213}/.test(key));
60
60
  if (aliasKeys.length) {
61
- const aliasKeyRegex = new RegExp(`^${aliasKeys.join('|')}`);
61
+ const aliasKeyRegex = new RegExp(`^(${aliasKeys.join('|')})/`);
62
62
  options.importers = [
63
63
  {
64
64
  findFileUrl(url) {
65
65
  let file = url;
66
66
  const result = url.match(aliasKeyRegex);
67
- const key = result ? result[0] : null;
67
+ const key = result ? result[1] : null;
68
68
  if (key) {
69
- file = url.replace(aliasKeyRegex, BalmJS.config.scripts.alias[key]);
70
- BalmJS.logger.debug(`${PLUGIN_NAME} alias`, `${url} -> ${file}`);
69
+ file = url.replace(key, BalmJS.config.scripts.alias[key]);
70
+ BalmJS.logger.debug(`${PLUGIN_NAME} alias`, `${key} -> ${url} => ${file}`);
71
71
  }
72
72
  return pathToFileURL(file);
73
73
  }
@@ -1,9 +1,10 @@
1
+ import gulpSize from 'gulp-size';
1
2
  class BuildTask extends BalmJS.BalmTask {
2
3
  constructor() {
3
4
  super('build');
4
5
  this.fn = () => {
5
6
  this.init();
6
- return this.src.pipe($.size({
7
+ return this.src.pipe(gulpSize({
7
8
  title: this.name,
8
9
  gzip: true
9
10
  }));