mirror of
https://github.com/analyticsjs/vue-baidu-analytics.git
synced 2025-04-06 03:58:00 +08:00
88 lines
2.5 KiB
JavaScript
88 lines
2.5 KiB
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.default = void 0;
|
|
|
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
|
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
|
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
|
|
var template = require('lodash.template');
|
|
|
|
var fs = require('fs');
|
|
|
|
var path = require('path');
|
|
|
|
var BannerPlugin =
|
|
/*#__PURE__*/
|
|
function () {
|
|
function BannerPlugin() {
|
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
|
|
_classCallCheck(this, BannerPlugin);
|
|
|
|
this._options = options;
|
|
this._cwd = options.cwd || process.cwd();
|
|
this._pkg = require(path.join(this._cwd, 'package.json'));
|
|
}
|
|
|
|
_createClass(BannerPlugin, [{
|
|
key: "prependBanner",
|
|
value: function prependBanner(code) {
|
|
var content = '';
|
|
var res = code;
|
|
|
|
if (typeof this._options === 'string') {
|
|
content = this._options;
|
|
} else {
|
|
var _this$_options = this._options,
|
|
file = _this$_options.file,
|
|
encoding = _this$_options.encoding;
|
|
if (!file) return code;
|
|
var filePath = path.resolve(file);
|
|
var exits = fs.existsSync(filePath);
|
|
|
|
if (exits) {
|
|
content = fs.readFileSync(filePath, encoding || 'utf-8');
|
|
}
|
|
} // fix content
|
|
|
|
|
|
if (content) {
|
|
var tmpl = template(content);
|
|
var text = '';
|
|
var arr = tmpl({
|
|
pkg: this._pkg
|
|
}).split('\n');
|
|
|
|
if (arr.length === 1) {
|
|
text = '// ' + arr[0] + '\n';
|
|
} else {
|
|
for (var i = 0; i < arr.length; i++) {
|
|
var item = arr[i];
|
|
|
|
if (i === 0) {
|
|
text += '/**\n * ' + item + '\n';
|
|
} else if (i === arr.length - 1) {
|
|
text += ' * ' + item + '\n */\n\n';
|
|
} else {
|
|
text += ' * ' + item + '\n';
|
|
}
|
|
}
|
|
}
|
|
|
|
res = text + code;
|
|
}
|
|
|
|
return res;
|
|
}
|
|
}]);
|
|
|
|
return BannerPlugin;
|
|
}();
|
|
|
|
exports.default = BannerPlugin; |