@tableau/taco-toolkit
Version:
Tableau Connector Toolkit
104 lines • 6.25 kB
JavaScript
;
var __values = (this && this.__values) || function(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number") return {
next: function () {
if (o && i >= o.length) o = void 0;
return { value: o && o[i++], done: !o };
}
};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
};
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.fillConnectorJson = exports.fillPackageJson = void 0;
var fs_extra_1 = __importDefault(require("fs-extra"));
var path_1 = __importDefault(require("path"));
var connector_1 = require("../utils/connector");
var package_json_1 = require("../utils/package-json");
var tableau_product_1 = require("../utils/tableau-product");
function fillPackageJson(tacoRootPath, projectName, skipToolkit) {
var connectorFolder = (0, connector_1.getConnectorFolderPath)(tacoRootPath);
var packageJsonPath = path_1.default.join(connectorFolder, 'package.json');
var props = {
name: projectName,
};
if (!skipToolkit) {
Object.assign(props, {
dependencies: {
'@tableau/taco-toolkit': package_json_1.PACKAGE_INFO.version,
},
scripts: {
build: 'taco-scripts build',
clean: 'taco-scripts clean',
start: 'taco-scripts start',
},
});
}
fillInfoToJson(packageJsonPath, props);
}
exports.fillPackageJson = fillPackageJson;
function fillConnectorJson(tacoRootPath, projectName) {
var connectorJsonPath = (0, connector_1.getConnectorJsonPath)(tacoRootPath);
// automatically put tableau min version into connector json
fillInfoToJson(connectorJsonPath, {
name: projectName,
version: '1.0.0',
'tableau-version': {
min: (0, tableau_product_1.getTableauMajorVersion)(package_json_1.PACKAGE_INFO.tableau.version),
},
});
}
exports.fillConnectorJson = fillConnectorJson;
function fillInfoToJson(filePath, info) {
var json = fs_extra_1.default.readJsonSync(filePath);
mergeJsonObject(json, info);
fs_extra_1.default.writeJSONSync(filePath, json, {
spaces: 2,
flag: 'w+',
});
}
function mergeJsonObject(target, source) {
var e_1, _a;
try {
for (var _b = __values(Object.entries(source)), _c = _b.next(); !_c.done; _c = _b.next()) {
var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
if (!target[key]) {
target[key] = {};
}
mergeJsonObject(target[key], source[key]);
}
else {
target[key] = source[key];
}
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
}
finally { if (e_1) throw e_1.error; }
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1maWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGkvdGFjby1jb21tYW5kcy9jcmVhdGUvanNvbi1maWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzREFBMEI7QUFDMUIsOENBQXVCO0FBRXZCLGdEQUFpRjtBQUNqRixzREFBb0Q7QUFDcEQsNERBQWlFO0FBRWpFLFNBQWdCLGVBQWUsQ0FBQyxZQUFvQixFQUFFLFdBQW1CLEVBQUUsV0FBb0I7SUFDN0YsSUFBTSxlQUFlLEdBQUcsSUFBQSxrQ0FBc0IsRUFBQyxZQUFZLENBQUMsQ0FBQTtJQUM1RCxJQUFNLGVBQWUsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQTtJQUNsRSxJQUFNLEtBQUssR0FBNEI7UUFDckMsSUFBSSxFQUFFLFdBQVc7S0FDbEIsQ0FBQTtJQUVELElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDaEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDbkIsWUFBWSxFQUFFO2dCQUNaLHVCQUF1QixFQUFFLDJCQUFZLENBQUMsT0FBTzthQUM5QztZQUNELE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsb0JBQW9CO2dCQUMzQixLQUFLLEVBQUUsb0JBQW9CO2dCQUMzQixLQUFLLEVBQUUsb0JBQW9CO2FBQzVCO1NBQ0YsQ0FBQyxDQUFBO0tBQ0g7SUFFRCxjQUFjLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFBO0FBQ3hDLENBQUM7QUFyQkQsMENBcUJDO0FBRUQsU0FBZ0IsaUJBQWlCLENBQUMsWUFBb0IsRUFBRSxXQUFtQjtJQUN6RSxJQUFNLGlCQUFpQixHQUFHLElBQUEsZ0NBQW9CLEVBQUMsWUFBWSxDQUFDLENBQUE7SUFFNUQsNERBQTREO0lBRTVELGNBQWMsQ0FBQyxpQkFBaUIsRUFBRTtRQUNoQyxJQUFJLEVBQUUsV0FBVztRQUNqQixPQUFPLEVBQUUsT0FBTztRQUNoQixpQkFBaUIsRUFBRTtZQUNqQixHQUFHLEVBQUUsSUFBQSx3Q0FBc0IsRUFBQywyQkFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7U0FDMUQ7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDO0FBWkQsOENBWUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxRQUFnQixFQUFFLElBQTZCO0lBQ3JFLElBQU0sSUFBSSxHQUFHLGtCQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ3ZDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFFM0Isa0JBQUcsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRTtRQUNoQyxNQUFNLEVBQUUsQ0FBQztRQUNULElBQUksRUFBRSxJQUFJO0tBQ1gsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLE1BQStCLEVBQUUsTUFBK0I7OztRQUN2RixLQUEyQixJQUFBLEtBQUEsU0FBQSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBLGdCQUFBLDRCQUFFO1lBQXhDLElBQUEsS0FBQSxtQkFBWSxFQUFYLEdBQUcsUUFBQSxFQUFFLEtBQUssUUFBQTtZQUNwQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDaEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtpQkFDakI7Z0JBRUQsZUFBZSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQTRCLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBNEIsQ0FBQyxDQUFBO2FBQ2hHO2lCQUFNO2dCQUNMLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7YUFDMUI7U0FDRjs7Ozs7Ozs7O0FBQ0gsQ0FBQyJ9