balm-core 3.26.2 → 3.27.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.
- package/lib/balm.js +0 -22
- package/lib/bootstrap/check_config.js +4 -10
- package/lib/bootstrap/index.js +17 -28
- package/lib/bundler/esbuild/build.js +0 -4
- package/lib/bundler/esbuild/index.js +0 -5
- package/lib/bundler/esbuild/transform.js +0 -33
- package/lib/bundler/rollup/build.js +2 -17
- package/lib/bundler/rollup/entry.js +2 -6
- package/lib/bundler/rollup/index.js +0 -32
- package/lib/bundler/rollup/output.js +0 -6
- package/lib/bundler/rollup/plugins.js +0 -11
- package/lib/bundler/webpack/config/common.js +3 -26
- package/lib/bundler/webpack/config/dev.js +2 -6
- package/lib/bundler/webpack/config/index.js +0 -5
- package/lib/bundler/webpack/config/prod.js +2 -17
- package/lib/bundler/webpack/entry.js +12 -23
- package/lib/bundler/webpack/index.js +5 -14
- package/lib/bundler/webpack/loaders.js +0 -10
- package/lib/bundler/webpack/output.js +0 -7
- package/lib/bundler/webpack/rules/babel.js +3 -7
- package/lib/bundler/webpack/rules/css.js +2 -7
- package/lib/bundler/webpack/rules/html.js +0 -3
- package/lib/bundler/webpack/rules/url.js +2 -6
- package/lib/config/assets.js +0 -5
- package/lib/config/env.js +0 -2
- package/lib/config/globals.js +3 -10
- package/lib/config/html.js +0 -1
- package/lib/config/index.js +0 -21
- package/lib/config/logs.js +0 -1
- package/lib/config/paths.js +2 -3
- package/lib/config/pwa.js +0 -3
- package/lib/config/roots.js +0 -3
- package/lib/config/scripts.js +24 -32
- package/lib/config/server.js +4 -11
- package/lib/config/styles.js +2 -10
- package/lib/config/version.js +0 -3
- package/lib/hello.js +0 -5
- package/lib/hooks/index.js +20 -27
- package/lib/hooks/maker.js +2 -22
- package/lib/index.js +0 -5
- package/lib/middlewares/history.js +0 -3
- package/lib/middlewares/index.js +0 -9
- package/lib/middlewares/proxy.js +1 -9
- package/lib/middlewares/webpack.js +0 -6
- package/lib/plugins/htmlmin.js +1 -7
- package/lib/plugins/imagemin.js +1 -29
- package/lib/plugins/index.js +0 -12
- package/lib/plugins/jsmin.js +0 -20
- package/lib/plugins/less.js +7 -19
- package/lib/plugins/plumber.js +5 -24
- package/lib/plugins/postcss-plugins.js +0 -9
- package/lib/plugins/postcss.js +9 -27
- package/lib/plugins/rename.js +3 -16
- package/lib/plugins/replace.js +4 -26
- package/lib/plugins/sass.js +31 -45
- package/lib/plugins/sftp.js +36 -69
- package/lib/tasks/default.js +2 -23
- package/lib/tasks/foundation/balm.js +0 -19
- package/lib/tasks/foundation/balm_style.js +2 -27
- package/lib/tasks/foundation/index.js +0 -5
- package/lib/tasks/index.js +7 -16
- package/lib/tasks/private/build.js +0 -17
- package/lib/tasks/private/cache.js +0 -19
- package/lib/tasks/private/clean.js +0 -33
- package/lib/tasks/private/end.js +0 -23
- package/lib/tasks/private/extra.js +4 -29
- package/lib/tasks/private/font.js +0 -17
- package/lib/tasks/private/image.js +1 -28
- package/lib/tasks/private/lint.js +0 -17
- package/lib/tasks/private/media.js +0 -17
- package/lib/tasks/private/modernizr.js +0 -39
- package/lib/tasks/private/pwa-cache.js +0 -21
- package/lib/tasks/private/script.js +0 -13
- package/lib/tasks/private/sprite.js +3 -37
- package/lib/tasks/private/start.js +0 -23
- package/lib/tasks/private/style.js +0 -14
- package/lib/tasks/private/workbox-sw.js +0 -17
- package/lib/tasks/public/copy.js +0 -17
- package/lib/tasks/public/esbuild.js +0 -19
- package/lib/tasks/public/ftp.js +1 -22
- package/lib/tasks/public/html.js +0 -31
- package/lib/tasks/public/jsmin.js +0 -17
- package/lib/tasks/public/less.js +0 -17
- package/lib/tasks/public/postcss.js +0 -16
- package/lib/tasks/public/publish.js +3 -29
- package/lib/tasks/public/pwa.js +1 -30
- package/lib/tasks/public/remove.js +2 -34
- package/lib/tasks/public/replace.js +0 -18
- package/lib/tasks/public/rollup.js +0 -20
- package/lib/tasks/public/sass.js +0 -17
- package/lib/tasks/public/server.js +5 -44
- package/lib/tasks/public/url.js +0 -24
- package/lib/tasks/public/version.js +0 -17
- package/lib/tasks/public/webpack.js +2 -27
- package/lib/tasks/public/zip.js +0 -18
- package/lib/utilities/address.js +5 -21
- package/lib/utilities/cache-core.js +5 -21
- package/lib/utilities/color.js +0 -8
- package/lib/utilities/compiling.js +0 -15
- package/lib/utilities/detect-port.js +6 -26
- package/lib/utilities/escape-string-regexp.js +3 -5
- package/lib/utilities/file.js +3 -23
- package/lib/utilities/index.js +0 -5
- package/lib/utilities/loading.js +0 -23
- package/lib/utilities/logger.js +0 -21
- package/lib/utilities/merge-stream.js +0 -11
- package/lib/utilities/namespace.js +0 -4
- package/lib/utilities/public-url.js +9 -12
- package/lib/utilities/replacestream.js +5 -31
- package/lib/utilities/typeof.js +0 -2
- package/lib/utilities/utils.js +2 -12
- package/package.json +9 -9
- package/tslib/bundler/esbuild/transform.js +26 -19
- package/tslib/bundler/rollup/index.js +12 -5
package/lib/hooks/maker.js
CHANGED
|
@@ -1,83 +1,64 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
-
|
|
16
11
|
var BLOCKLIST_IN_PROD = ['serve'];
|
|
17
12
|
var compiling = false;
|
|
18
|
-
|
|
19
13
|
function ban(name) {
|
|
20
14
|
var BLOCKLIST_IN_DEV = ['publish'].concat((0, _toConsumableArray2["default"])(BalmJS.config.useDefaults ? BLOCKLIST_IN_PROD : []));
|
|
21
15
|
var banInProd = BalmJS.config.env.isProd && BLOCKLIST_IN_PROD.includes(name);
|
|
22
16
|
var banInDev = BalmJS.config.env.isDev && BLOCKLIST_IN_DEV.includes(name);
|
|
23
17
|
var isBan = banInProd || banInDev;
|
|
24
18
|
var api = name === 'postcss' ? 'css' : name;
|
|
25
|
-
|
|
26
19
|
if (isBan) {
|
|
27
20
|
var message = BalmJS.config.useDefaults && BalmJS.config.env.isDev && BLOCKLIST_IN_PROD.includes(name) ? "'mix.".concat(api, "()' can only be used for 'balm.config.useDefaults = false;'") : "There is no 'mix.".concat(api, "()' hook in ").concat(banInProd ? 'production' : 'development', " mode");
|
|
28
21
|
BalmJS.logger.warn('balm hook', message);
|
|
29
22
|
}
|
|
30
|
-
|
|
31
23
|
return isBan;
|
|
32
24
|
}
|
|
33
|
-
|
|
34
25
|
var Maker = /*#__PURE__*/function () {
|
|
35
26
|
function Maker() {
|
|
36
27
|
(0, _classCallCheck2["default"])(this, Maker);
|
|
37
28
|
}
|
|
38
|
-
|
|
39
29
|
(0, _createClass2["default"])(Maker, null, [{
|
|
40
30
|
key: "generate",
|
|
41
|
-
value:
|
|
31
|
+
value:
|
|
32
|
+
// Register custom task
|
|
42
33
|
function generate(name) {
|
|
43
34
|
var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
44
|
-
|
|
45
35
|
if (ban(name)) {
|
|
46
36
|
return;
|
|
47
37
|
}
|
|
48
|
-
|
|
49
38
|
var customTask = BalmJS.tasks.get(name);
|
|
50
39
|
var taskName = ['sprite'].concat(BLOCKLIST_IN_PROD).includes(customTask.name) ? customTask.name : "".concat(customTask.name, ":").concat(BalmJS.recipeIndex);
|
|
51
|
-
|
|
52
40
|
var balmTask = function balmTask(callback) {
|
|
53
41
|
callback();
|
|
54
42
|
}; // NOTE: `balmTask` function name for `gulp.parallel`
|
|
55
43
|
|
|
56
|
-
|
|
57
44
|
switch (customTask.name) {
|
|
58
45
|
// private
|
|
59
46
|
case 'sprite':
|
|
60
47
|
customTask.recipe.apply(customTask, (0, _toConsumableArray2["default"])(args));
|
|
61
|
-
|
|
62
48
|
if (customTask.deps.length) {
|
|
63
49
|
var _gulp;
|
|
64
|
-
|
|
65
50
|
balmTask = (_gulp = gulp).series.apply(_gulp, (0, _toConsumableArray2["default"])(BalmJS.toNamespace(customTask.deps)));
|
|
66
51
|
} else {
|
|
67
52
|
BalmJS.logger.warn('balm hook', '`mix.sprite()` is missing `input` parameters');
|
|
68
53
|
}
|
|
69
|
-
|
|
70
54
|
break;
|
|
71
|
-
|
|
72
55
|
case 'modernizr':
|
|
73
56
|
balmTask = customTask.fn;
|
|
74
57
|
break;
|
|
75
58
|
// public
|
|
76
|
-
|
|
77
59
|
default:
|
|
78
60
|
balmTask = customTask.recipe.apply(customTask, (0, _toConsumableArray2["default"])(args));
|
|
79
61
|
}
|
|
80
|
-
|
|
81
62
|
if (BalmJS.watching) {
|
|
82
63
|
if (!compiling) {
|
|
83
64
|
compiling = true;
|
|
@@ -95,6 +76,5 @@ var Maker = /*#__PURE__*/function () {
|
|
|
95
76
|
}]);
|
|
96
77
|
return Maker;
|
|
97
78
|
}();
|
|
98
|
-
|
|
99
79
|
var _default = Maker;
|
|
100
80
|
exports["default"] = _default;
|
package/lib/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -18,13 +17,9 @@ Object.defineProperty(exports, "version", {
|
|
|
18
17
|
return _version["default"];
|
|
19
18
|
}
|
|
20
19
|
});
|
|
21
|
-
|
|
22
20
|
var _version = _interopRequireDefault(require("./config/version"));
|
|
23
|
-
|
|
24
21
|
require("./hello");
|
|
25
|
-
|
|
26
22
|
var _balm = _interopRequireDefault(require("./balm"));
|
|
27
|
-
|
|
28
23
|
var balm = new _balm["default"]();
|
|
29
24
|
var _default = balm;
|
|
30
25
|
exports["default"] = _default;
|
|
@@ -4,13 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
function historyMiddleware() {
|
|
9
8
|
var history = require('connect-history-api-fallback');
|
|
10
|
-
|
|
11
9
|
var historyOptions = BalmJS.config.server.historyOptions;
|
|
12
10
|
return historyOptions ? [BalmJS.utils.isObject(historyOptions) ? history(historyOptions) : history()] : [];
|
|
13
11
|
}
|
|
14
|
-
|
|
15
12
|
var _default = historyMiddleware;
|
|
16
13
|
exports["default"] = _default;
|
package/lib/middlewares/index.js
CHANGED
|
@@ -1,31 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
-
|
|
12
9
|
var _webpack = _interopRequireDefault(require("./webpack"));
|
|
13
|
-
|
|
14
10
|
var _proxy = _interopRequireDefault(require("./proxy"));
|
|
15
|
-
|
|
16
11
|
var _history = _interopRequireDefault(require("./history"));
|
|
17
|
-
|
|
18
12
|
function getMiddlewares() {
|
|
19
13
|
var canOverride = BalmJS.config.server.middlewares.every(function (middleware) {
|
|
20
14
|
return BalmJS.utils.isFunction(middleware) || BalmJS.utils.isObject(middleware);
|
|
21
15
|
});
|
|
22
|
-
|
|
23
16
|
if (!canOverride) {
|
|
24
17
|
BalmJS.logger.error('server middleware', 'Server middleware must be a function (`function (req, res, next) {}`) or object (`{ route: "/api", handle: function (req, res, next) {} }`)');
|
|
25
18
|
}
|
|
26
|
-
|
|
27
19
|
return [].concat((0, _toConsumableArray2["default"])(BalmJS.config.scripts.bundler === BalmJS.Bundler.webpack ? (0, _webpack["default"])() : []), (0, _toConsumableArray2["default"])((0, _proxy["default"])()), (0, _toConsumableArray2["default"])((0, _history["default"])()), (0, _toConsumableArray2["default"])(canOverride ? BalmJS.config.server.middlewares : []));
|
|
28
20
|
}
|
|
29
|
-
|
|
30
21
|
var _default = getMiddlewares;
|
|
31
22
|
exports["default"] = _default;
|
package/lib/middlewares/proxy.js
CHANGED
|
@@ -4,24 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
function handleProxyConfigError() {
|
|
9
8
|
var configuration = '{ context: string | array, options: object }';
|
|
10
9
|
BalmJS.logger.error('proxy middleware', "Proxy config must be an object (".concat(configuration, ") or array ([").concat(configuration, "])"));
|
|
11
10
|
}
|
|
12
|
-
|
|
13
11
|
function httpProxyMiddleware() {
|
|
14
12
|
var httpProxy = require('http-proxy-middleware');
|
|
15
|
-
|
|
16
13
|
var middleware = [];
|
|
17
14
|
var proxyConfig = BalmJS.config.server.proxyConfig;
|
|
18
|
-
|
|
19
15
|
if (proxyConfig) {
|
|
20
16
|
try {
|
|
21
17
|
if (BalmJS.utils.isObject(proxyConfig)) {
|
|
22
18
|
// Single proxy
|
|
23
19
|
var config = proxyConfig;
|
|
24
|
-
|
|
25
20
|
if (config.context && config.options) {
|
|
26
21
|
middleware.push(httpProxy.createProxyMiddleware(config.context, config.options));
|
|
27
22
|
} else {
|
|
@@ -31,7 +26,6 @@ function httpProxyMiddleware() {
|
|
|
31
26
|
// Multiple proxies
|
|
32
27
|
for (var _i = 0, _arr = proxyConfig; _i < _arr.length; _i++) {
|
|
33
28
|
var _config = _arr[_i];
|
|
34
|
-
|
|
35
29
|
if (_config.context && _config.options) {
|
|
36
30
|
middleware.push(httpProxy.createProxyMiddleware(_config.context, _config.options));
|
|
37
31
|
} else {
|
|
@@ -43,13 +37,11 @@ function httpProxyMiddleware() {
|
|
|
43
37
|
}
|
|
44
38
|
} catch (error) {
|
|
45
39
|
var _ref = error,
|
|
46
|
-
|
|
40
|
+
message = _ref.message;
|
|
47
41
|
BalmJS.logger.error('proxy middleware', message);
|
|
48
42
|
}
|
|
49
43
|
}
|
|
50
|
-
|
|
51
44
|
return middleware;
|
|
52
45
|
}
|
|
53
|
-
|
|
54
46
|
var _default = httpProxyMiddleware;
|
|
55
47
|
exports["default"] = _default;
|
|
@@ -4,18 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _constants = require("../config/constants");
|
|
9
|
-
|
|
10
8
|
function webpackMiddleware() {
|
|
11
9
|
var middleware = [];
|
|
12
|
-
|
|
13
10
|
if (BalmJS.webpackCompiler) {
|
|
14
11
|
middleware.push(require('webpack-dev-middleware')(BalmJS.webpackCompiler, Object.assign({}, BalmJS.config.server.devOptions, {
|
|
15
12
|
publicPath: BalmJS.file.publicUrlOrPath,
|
|
16
13
|
stats: false
|
|
17
14
|
})));
|
|
18
|
-
|
|
19
15
|
if (BalmJS.config.server.useHMR) {
|
|
20
16
|
middleware.push(require('webpack-hot-middleware')(BalmJS.webpackCompiler, {
|
|
21
17
|
log: false,
|
|
@@ -25,9 +21,7 @@ function webpackMiddleware() {
|
|
|
25
21
|
} else {
|
|
26
22
|
BalmJS.logger.warn('webpack middleware', 'Webpack compiler is not ready');
|
|
27
23
|
}
|
|
28
|
-
|
|
29
24
|
return middleware;
|
|
30
25
|
}
|
|
31
|
-
|
|
32
26
|
var _default = webpackMiddleware;
|
|
33
27
|
exports["default"] = _default;
|
package/lib/plugins/htmlmin.js
CHANGED
|
@@ -5,21 +5,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
7
|
// Reference `gulp-htmlmin@5.0.1`
|
|
8
|
-
var PLUGIN_NAME = 'htmlmin';
|
|
9
8
|
|
|
9
|
+
var PLUGIN_NAME = 'htmlmin';
|
|
10
10
|
function gulpHtmlmin(options) {
|
|
11
11
|
options = BalmJS.utils.deepMerge({}, options);
|
|
12
|
-
|
|
13
12
|
function transform(file, encoding, callback) {
|
|
14
13
|
if (file.isNull()) {
|
|
15
14
|
callback(null, file);
|
|
16
15
|
return;
|
|
17
16
|
}
|
|
18
|
-
|
|
19
17
|
function minify(buf, enc, cb) {
|
|
20
18
|
try {
|
|
21
19
|
var contents = Buffer.from(require('html-minifier').minify(buf.toString(), options));
|
|
22
|
-
|
|
23
20
|
if (cb === callback) {
|
|
24
21
|
file.contents = contents;
|
|
25
22
|
cb(null, file);
|
|
@@ -35,16 +32,13 @@ function gulpHtmlmin(options) {
|
|
|
35
32
|
cb === callback ? cb(error) : callback(error);
|
|
36
33
|
}
|
|
37
34
|
}
|
|
38
|
-
|
|
39
35
|
if (file.isStream()) {
|
|
40
36
|
file.contents = file.contents.pipe(through2(minify));
|
|
41
37
|
} else {
|
|
42
38
|
minify(file.contents, null, callback);
|
|
43
39
|
}
|
|
44
40
|
}
|
|
45
|
-
|
|
46
41
|
return through2.obj(transform);
|
|
47
42
|
}
|
|
48
|
-
|
|
49
43
|
var _default = gulpHtmlmin;
|
|
50
44
|
exports["default"] = _default;
|
package/lib/plugins/imagemin.js
CHANGED
|
@@ -1,80 +1,64 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.getDefaultImagePlugins = exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
10
|
var _prettyBytes = _interopRequireDefault(require("pretty-bytes"));
|
|
15
|
-
|
|
16
11
|
// Reference `gulp-imagemin@7.1.0`
|
|
12
|
+
|
|
17
13
|
var PLUGIN_NAME = 'imagemin';
|
|
18
14
|
var defaultPlugins = ['gifsicle', 'mozjpeg', 'optipng', 'svgo'];
|
|
19
|
-
|
|
20
15
|
var loadPlugin = function loadPlugin(plugin) {
|
|
21
16
|
try {
|
|
22
17
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
23
18
|
args[_key - 1] = arguments[_key];
|
|
24
19
|
}
|
|
25
|
-
|
|
26
20
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
27
21
|
return require("imagemin-".concat(plugin)).apply(void 0, args);
|
|
28
22
|
} catch (_) {
|
|
29
23
|
BalmJS.logger.error(PLUGIN_NAME, "Couldn't load default plugin \"".concat(plugin, "\""));
|
|
30
24
|
}
|
|
31
25
|
};
|
|
32
|
-
|
|
33
26
|
var exposePlugin = function exposePlugin(plugin) {
|
|
34
27
|
return function () {
|
|
35
28
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
36
29
|
args[_key2] = arguments[_key2];
|
|
37
30
|
}
|
|
38
|
-
|
|
39
31
|
return loadPlugin.apply(void 0, [plugin].concat(args));
|
|
40
32
|
};
|
|
41
33
|
};
|
|
42
|
-
|
|
43
34
|
var getDefaultPlugins = function getDefaultPlugins() {
|
|
44
35
|
return defaultPlugins.reduce(function (plugins, plugin) {
|
|
45
36
|
var instance = loadPlugin(plugin);
|
|
46
|
-
|
|
47
37
|
if (!instance) {
|
|
48
38
|
return plugins;
|
|
49
39
|
}
|
|
50
|
-
|
|
51
40
|
return plugins.concat(instance);
|
|
52
41
|
}, []);
|
|
53
42
|
};
|
|
54
|
-
|
|
55
43
|
var gulpImagemin = function gulpImagemin(customPlugins) {
|
|
56
44
|
var validExtensions = ['.jpg', '.jpeg', '.png', '.gif', '.svg'];
|
|
57
45
|
var totalBytes = 0;
|
|
58
46
|
var totalSavedBytes = 0;
|
|
59
47
|
var totalFiles = 0;
|
|
60
|
-
|
|
61
48
|
function transform(file, encoding, callback) {
|
|
62
49
|
if (file.isNull()) {
|
|
63
50
|
callback(null, file);
|
|
64
51
|
return;
|
|
65
52
|
}
|
|
66
|
-
|
|
67
53
|
if (file.isStream()) {
|
|
68
54
|
callback(new PluginError(PLUGIN_NAME, 'Streaming not supported'));
|
|
69
55
|
return;
|
|
70
56
|
}
|
|
71
|
-
|
|
72
57
|
if (!validExtensions.includes(path.extname(file.path).toLowerCase())) {
|
|
73
58
|
BalmJS.logger.info(PLUGIN_NAME, "Skipping unsupported image \"".concat(file.relative, "\""));
|
|
74
59
|
callback(null, file);
|
|
75
60
|
return;
|
|
76
61
|
}
|
|
77
|
-
|
|
78
62
|
var plugins = customPlugins || getDefaultPlugins();
|
|
79
63
|
(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
80
64
|
var data, originalSize, optimizedSize, saved, percent, savedMsg, msg;
|
|
@@ -87,7 +71,6 @@ var gulpImagemin = function gulpImagemin(customPlugins) {
|
|
|
87
71
|
return require('imagemin').buffer(file.contents, {
|
|
88
72
|
plugins: plugins
|
|
89
73
|
});
|
|
90
|
-
|
|
91
74
|
case 3:
|
|
92
75
|
data = _context.sent;
|
|
93
76
|
originalSize = file.contents.length;
|
|
@@ -96,26 +79,22 @@ var gulpImagemin = function gulpImagemin(customPlugins) {
|
|
|
96
79
|
percent = originalSize > 0 ? saved / originalSize * 100 : 0;
|
|
97
80
|
savedMsg = "saved ".concat((0, _prettyBytes["default"])(saved), " - ").concat(percent.toFixed(1).replace(/\.0$/, ''), "%");
|
|
98
81
|
msg = saved > 0 ? savedMsg : 'already optimized';
|
|
99
|
-
|
|
100
82
|
if (saved > 0) {
|
|
101
83
|
totalBytes += originalSize;
|
|
102
84
|
totalSavedBytes += saved;
|
|
103
85
|
totalFiles++;
|
|
104
86
|
}
|
|
105
|
-
|
|
106
87
|
BalmJS.logger.debug(PLUGIN_NAME, "".concat(file.relative, " (").concat(msg, ")"));
|
|
107
88
|
file.contents = data;
|
|
108
89
|
callback(null, file);
|
|
109
90
|
_context.next = 19;
|
|
110
91
|
break;
|
|
111
|
-
|
|
112
92
|
case 16:
|
|
113
93
|
_context.prev = 16;
|
|
114
94
|
_context.t0 = _context["catch"](0);
|
|
115
95
|
callback(new PluginError(PLUGIN_NAME, _context.t0, {
|
|
116
96
|
fileName: file.path
|
|
117
97
|
}));
|
|
118
|
-
|
|
119
98
|
case 19:
|
|
120
99
|
case "end":
|
|
121
100
|
return _context.stop();
|
|
@@ -124,29 +103,23 @@ var gulpImagemin = function gulpImagemin(customPlugins) {
|
|
|
124
103
|
}, _callee, null, [[0, 16]]);
|
|
125
104
|
}))();
|
|
126
105
|
}
|
|
127
|
-
|
|
128
106
|
function flush(callback) {
|
|
129
107
|
var percent = totalBytes > 0 ? totalSavedBytes / totalBytes * 100 : 0;
|
|
130
108
|
var msg = "Minified ".concat(totalFiles, " image").concat(totalFiles > 1 ? 's' : '');
|
|
131
|
-
|
|
132
109
|
if (totalFiles > 0) {
|
|
133
110
|
msg += " (saved ".concat((0, _prettyBytes["default"])(totalSavedBytes), " - ").concat(percent.toFixed(1).replace(/\.0$/, ''), "%)");
|
|
134
111
|
}
|
|
135
|
-
|
|
136
112
|
BalmJS.logger.info(PLUGIN_NAME, msg);
|
|
137
113
|
callback();
|
|
138
114
|
}
|
|
139
|
-
|
|
140
115
|
return require('through2-concurrent').obj({
|
|
141
116
|
maxConcurrency: 8
|
|
142
117
|
}, transform, flush);
|
|
143
118
|
};
|
|
144
|
-
|
|
145
119
|
var gifsicle = exposePlugin('gifsicle');
|
|
146
120
|
var mozjpeg = exposePlugin('mozjpeg');
|
|
147
121
|
var optipng = exposePlugin('optipng');
|
|
148
122
|
var svgo = exposePlugin('svgo');
|
|
149
|
-
|
|
150
123
|
var getDefaultImagePlugins = function getDefaultImagePlugins() {
|
|
151
124
|
return {
|
|
152
125
|
gif: gifsicle(),
|
|
@@ -155,7 +128,6 @@ var getDefaultImagePlugins = function getDefaultImagePlugins() {
|
|
|
155
128
|
svg: svgo()
|
|
156
129
|
};
|
|
157
130
|
};
|
|
158
|
-
|
|
159
131
|
exports.getDefaultImagePlugins = getDefaultImagePlugins;
|
|
160
132
|
var _default = gulpImagemin;
|
|
161
133
|
exports["default"] = _default;
|
package/lib/plugins/index.js
CHANGED
|
@@ -1,29 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _htmlmin = _interopRequireDefault(require("./htmlmin"));
|
|
6
|
-
|
|
7
5
|
var _imagemin = _interopRequireDefault(require("./imagemin"));
|
|
8
|
-
|
|
9
6
|
var _jsmin = _interopRequireDefault(require("./jsmin"));
|
|
10
|
-
|
|
11
7
|
var _less = _interopRequireDefault(require("./less"));
|
|
12
|
-
|
|
13
8
|
var _plumber = _interopRequireDefault(require("./plumber"));
|
|
14
|
-
|
|
15
9
|
var _postcss = _interopRequireDefault(require("./postcss"));
|
|
16
|
-
|
|
17
10
|
var _postcssPlugins = _interopRequireDefault(require("./postcss-plugins"));
|
|
18
|
-
|
|
19
11
|
var _rename = _interopRequireDefault(require("./rename"));
|
|
20
|
-
|
|
21
12
|
var _replace = _interopRequireDefault(require("./replace"));
|
|
22
|
-
|
|
23
13
|
var _sass = _interopRequireDefault(require("./sass"));
|
|
24
|
-
|
|
25
14
|
var _sftp = _interopRequireDefault(require("./sftp"));
|
|
26
|
-
|
|
27
15
|
var plugins = {
|
|
28
16
|
htmlmin: _htmlmin["default"],
|
|
29
17
|
imagemin: _imagemin["default"],
|
package/lib/plugins/jsmin.js
CHANGED
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
10
|
var PLUGIN_NAME = 'jsmin';
|
|
15
|
-
|
|
16
11
|
function jsMinify(_x, _x2, _x3) {
|
|
17
12
|
return _jsMinify.apply(this, arguments);
|
|
18
13
|
}
|
|
19
|
-
|
|
20
14
|
function _jsMinify() {
|
|
21
15
|
_jsMinify = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(file, opts, cb) {
|
|
22
16
|
var terser, extname, code, content, result, error;
|
|
@@ -26,19 +20,16 @@ function _jsMinify() {
|
|
|
26
20
|
case 0:
|
|
27
21
|
terser = require('terser');
|
|
28
22
|
extname = path.extname(file.path);
|
|
29
|
-
|
|
30
23
|
if (!(extname === '.js')) {
|
|
31
24
|
_context.next = 21;
|
|
32
25
|
break;
|
|
33
26
|
}
|
|
34
|
-
|
|
35
27
|
code = {};
|
|
36
28
|
content = file.contents.toString();
|
|
37
29
|
code[path.basename(file.path)] = content;
|
|
38
30
|
_context.prev = 6;
|
|
39
31
|
_context.next = 9;
|
|
40
32
|
return terser.minify(code, opts);
|
|
41
|
-
|
|
42
33
|
case 9:
|
|
43
34
|
result = _context.sent;
|
|
44
35
|
content = result.code;
|
|
@@ -46,23 +37,18 @@ function _jsMinify() {
|
|
|
46
37
|
cb(null, file);
|
|
47
38
|
_context.next = 19;
|
|
48
39
|
break;
|
|
49
|
-
|
|
50
40
|
case 15:
|
|
51
41
|
_context.prev = 15;
|
|
52
42
|
_context.t0 = _context["catch"](6);
|
|
53
43
|
error = new PluginError(PLUGIN_NAME, _context.t0);
|
|
54
44
|
cb(error);
|
|
55
|
-
|
|
56
45
|
case 19:
|
|
57
46
|
_context.next = 22;
|
|
58
47
|
break;
|
|
59
|
-
|
|
60
48
|
case 21:
|
|
61
49
|
BalmJS.logger.error(PLUGIN_NAME, 'Invalid JS file');
|
|
62
|
-
|
|
63
50
|
case 22:
|
|
64
51
|
return _context.abrupt("return", file);
|
|
65
|
-
|
|
66
52
|
case 23:
|
|
67
53
|
case "end":
|
|
68
54
|
return _context.stop();
|
|
@@ -72,25 +58,19 @@ function _jsMinify() {
|
|
|
72
58
|
}));
|
|
73
59
|
return _jsMinify.apply(this, arguments);
|
|
74
60
|
}
|
|
75
|
-
|
|
76
61
|
function gulpJsmin(options) {
|
|
77
62
|
options = BalmJS.utils.deepMerge({}, options);
|
|
78
|
-
|
|
79
63
|
function transform(chunk, encoding, callback) {
|
|
80
64
|
if (chunk.isStream()) {
|
|
81
65
|
return this.emit('error', new PluginError(PLUGIN_NAME, 'Streams not supported'));
|
|
82
66
|
}
|
|
83
|
-
|
|
84
67
|
if (chunk.isNull()) {
|
|
85
68
|
callback(null, chunk);
|
|
86
69
|
return;
|
|
87
70
|
}
|
|
88
|
-
|
|
89
71
|
jsMinify(chunk, options, callback);
|
|
90
72
|
}
|
|
91
|
-
|
|
92
73
|
return through2.obj(transform);
|
|
93
74
|
}
|
|
94
|
-
|
|
95
75
|
var _default = gulpJsmin;
|
|
96
76
|
exports["default"] = _default;
|
package/lib/plugins/less.js
CHANGED
|
@@ -1,26 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _fs = _interopRequireDefault(require("fs"));
|
|
11
|
-
|
|
12
9
|
var _replaceExt = _interopRequireDefault(require("replace-ext"));
|
|
13
|
-
|
|
14
10
|
var _vinylSourcemapsApply = _interopRequireDefault(require("vinyl-sourcemaps-apply"));
|
|
15
|
-
|
|
16
11
|
// Reference `gulp-less@5.0.0`
|
|
17
|
-
var PLUGIN_NAME = 'less';
|
|
18
12
|
|
|
13
|
+
var PLUGIN_NAME = 'less';
|
|
19
14
|
function inlineSources(sourcemap) {
|
|
20
15
|
if (sourcemap.sourcesContent) {
|
|
21
16
|
return Promise.resolve(sourcemap);
|
|
22
17
|
}
|
|
23
|
-
|
|
24
18
|
return Promise.all(sourcemap.sources.map(function (source) {
|
|
25
19
|
return new Promise(function (resolve, reject) {
|
|
26
20
|
_fs["default"].readFile(source, 'utf8', function (err, data) {
|
|
@@ -38,7 +32,6 @@ function inlineSources(sourcemap) {
|
|
|
38
32
|
return sourcemap;
|
|
39
33
|
});
|
|
40
34
|
}
|
|
41
|
-
|
|
42
35
|
function renderLess(str, opts) {
|
|
43
36
|
return new Promise(function (resolve, reject) {
|
|
44
37
|
require('less').render(str, opts, function (err, res) {
|
|
@@ -49,7 +42,6 @@ function renderLess(str, opts) {
|
|
|
49
42
|
result: res.css,
|
|
50
43
|
imports: res.imports
|
|
51
44
|
};
|
|
52
|
-
|
|
53
45
|
if (opts.sourceMap && res.map) {
|
|
54
46
|
obj.sourcemap = JSON.parse(res.map);
|
|
55
47
|
inlineSources(obj.sourcemap).then(function (map) {
|
|
@@ -63,7 +55,6 @@ function renderLess(str, opts) {
|
|
|
63
55
|
});
|
|
64
56
|
});
|
|
65
57
|
}
|
|
66
|
-
|
|
67
58
|
function gulpLess(options) {
|
|
68
59
|
// Mixes in default options.
|
|
69
60
|
var opts = Object.assign({}, {
|
|
@@ -74,23 +65,21 @@ function gulpLess(options) {
|
|
|
74
65
|
if (file.isNull()) {
|
|
75
66
|
return cb(null, file);
|
|
76
67
|
}
|
|
77
|
-
|
|
78
68
|
if (file.isStream()) {
|
|
79
69
|
return cb(new PluginError(PLUGIN_NAME, 'Streaming not supported'));
|
|
80
70
|
}
|
|
71
|
+
var str = file.contents.toString();
|
|
81
72
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
opts.filename = file.path; // Bootstrap source maps
|
|
73
|
+
// Injects the path of the current file
|
|
74
|
+
opts.filename = file.path;
|
|
85
75
|
|
|
76
|
+
// Bootstrap source maps
|
|
86
77
|
if (file.sourceMap || opts.sourcemap) {
|
|
87
78
|
opts.sourceMap = true;
|
|
88
79
|
}
|
|
89
|
-
|
|
90
80
|
renderLess(str, opts).then(function (res) {
|
|
91
81
|
file.contents = Buffer.from(res.result);
|
|
92
82
|
file.path = (0, _replaceExt["default"])(file.path, '.css');
|
|
93
|
-
|
|
94
83
|
if (res.sourcemap) {
|
|
95
84
|
res.sourcemap.file = file.relative;
|
|
96
85
|
res.sourcemap.sources = res.sourcemap.sources.map(function (source) {
|
|
@@ -98,20 +87,19 @@ function gulpLess(options) {
|
|
|
98
87
|
});
|
|
99
88
|
(0, _vinylSourcemapsApply["default"])(file, res.sourcemap);
|
|
100
89
|
}
|
|
101
|
-
|
|
102
90
|
return file;
|
|
103
91
|
}).then(function (file) {
|
|
104
92
|
cb(null, file);
|
|
105
93
|
})["catch"](function (err) {
|
|
106
94
|
// Convert the keys so PluginError can read them
|
|
107
95
|
err.lineNumber = err.line;
|
|
108
|
-
err.fileName = err.filename;
|
|
96
|
+
err.fileName = err.filename;
|
|
109
97
|
|
|
98
|
+
// Add a better error message
|
|
110
99
|
err.message = "".concat(err.message, " in file ").concat(err.fileName, " line no.").concat(err.lineNumber);
|
|
111
100
|
return cb(new PluginError(PLUGIN_NAME, err));
|
|
112
101
|
});
|
|
113
102
|
});
|
|
114
103
|
}
|
|
115
|
-
|
|
116
104
|
var _default = gulpLess;
|
|
117
105
|
exports["default"] = _default;
|