flexi-bot/product.js
2023-12-16 23:55:51 +01:00

73 lines
10 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.productCADTask = exports.productLaserTask = exports.productAllTask = void 0;
const path = require("path");
const copy_1 = require("@plastichub/fs/copy");
const exists_1 = require("@plastichub/fs/exists");
const remove_1 = require("@plastichub/fs/remove");
const _1 = require("./");
const HTML_DEFAULT_PATH = 'resources/edrawings.html';
const debug = true;
const verbose = true;
const productAllTask = (grunt, product, options = {}, product_tasks) => {
const slug = path.parse(product).base;
grunt.registerTask(`product-${slug}`, `laser:product-${slug}`);
product_tasks.push(`laser:product-${slug}`);
grunt.registerTask(`products-laser`, product_tasks);
};
exports.productAllTask = productAllTask;
const productLaserTask = (grunt, product, options = {}, product_laser_tasks) => {
const config = {};
const slug = path.parse(product).base;
config[`product-${slug}`] = {
src: [product],
options: {
clear: true,
debug: true,
verbose
}
};
grunt.extendConfig({
laser: config
});
grunt.registerTask(`product-${slug}`, `laser:product-${slug}`);
product_laser_tasks.push(`laser:product-${slug}`);
grunt.registerTask(`products-laser`, product_laser_tasks);
};
exports.productLaserTask = productLaserTask;
const productCADTask = (grunt, product, options = {}, product_cad_tasks) => {
const config = {};
const slug = path.parse(product).base;
product = path.resolve(path.join(process.cwd(), product));
config[`product-${slug}`] = {
src: [`${product}/cad*/*Global*.+(SLDASM)`],
output: '${SRC_DIR}/${SRC_NAME}.+(json|html|step|x_t)',
options: {
debug,
verbose,
onNode: (data => {
try {
options.debug && _1.logger.info(`Converted ${data.src} to ${data.target}`);
const parts = path.parse(data.target);
if (parts.ext === '.html' && parts.name.toLowerCase().indexOf('global') !== -1) {
if ((0, exists_1.sync)(path.join(product, HTML_DEFAULT_PATH))) {
(0, remove_1.sync)(path.join(product, HTML_DEFAULT_PATH));
}
(0, copy_1.sync)(data.target, path.join(product, HTML_DEFAULT_PATH), {});
}
}
catch (error) {
_1.logger.error(`Error copying ${data.src} to ${HTML_DEFAULT_PATH}`, error);
}
})
}
};
grunt.extendConfig({
cad: config
});
grunt.registerTask(`product-${slug}`, `cad:product-${slug}`);
product_cad_tasks.push(`cad:product-${slug}`);
grunt.registerTask(`products-cad`, product_cad_tasks);
};
exports.productCADTask = productCADTask;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRhc2tzL3Byb2R1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTRCO0FBQzVCLDhDQUFnRDtBQUNoRCxrREFBc0Q7QUFDdEQsa0RBQWtEO0FBRWxELHlCQUEyQjtBQUUzQixNQUFNLGlCQUFpQixHQUFHLDBCQUEwQixDQUFBO0FBRXBELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQTtBQUNsQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUE7QUFHYixNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBZSxFQUFFLEVBQUUsYUFBYSxFQUFFLEVBQUU7SUFDL0UsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFDckMsS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFXLElBQUksRUFBRSxFQUFFLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQzlELGFBQWEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDLENBQUE7SUFDM0MsS0FBSyxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQTtBQUN2RCxDQUFDLENBQUE7QUFMWSxRQUFBLGNBQWMsa0JBSzFCO0FBRU0sTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBZSxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsRUFBRTtJQUN2RixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUE7SUFDakIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFFckMsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsR0FBRztRQUN4QixHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDZCxPQUFPLEVBQUU7WUFDTCxLQUFLLEVB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WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnXHJcbmltcG9ydCB7IHN5bmMgYXMgY3AgfSBmcm9tICdAcGxhc3RpY2h1Yi9mcy9jb3B5J1xyXG5pbXBvcnQgeyBzeW5jIGFzIGV4aXN0cyB9IGZyb20gJ0BwbGFzdGljaHViL2ZzL2V4aXN0cydcclxuaW1wb3J0IHsgc3luYyBhcyBybSB9IGZyb20gJ0BwbGFzdGljaHViL2ZzL3JlbW92ZSdcclxuXHJcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4vJ1xyXG5cclxuY29uc3QgSFRNTF9ERUZBVUxUX1BBVEggPSAncmVzb3VyY2VzL2VkcmF3aW5ncy5odG1sJ1xyXG5cclxuY29uc3QgZGVidWcgPSB0cnVlXHJcbmNvbnN0IHZlcmJvc2UgPSB0cnVlXHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IHByb2R1Y3RBbGxUYXNrID0gKGdydW50LCBwcm9kdWN0LCBvcHRpb25zOiBhbnkgPSB7fSwgcHJvZHVjdF90YXNrcykgPT4ge1xyXG4gICAgY29uc3Qgc2x1ZyA9IHBhdGgucGFyc2UocHJvZHVjdCkuYmFzZVxyXG4gICAgZ3J1bnQucmVnaXN0ZXJUYXNrKGBwcm9kdWN0LSR7c2x1Z31gLCBgbGFzZXI6cHJvZHVjdC0ke3NsdWd9YClcclxuICAgIHByb2R1Y3RfdGFza3MucHVzaChgbGFzZXI6cHJvZHVjdC0ke3NsdWd9YClcclxuICAgIGdydW50LnJlZ2lzdGVyVGFzayhgcHJvZHVjdHMtbGFzZXJgLCBwcm9kdWN0X3Rhc2tzKVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgcHJvZHVjdExhc2VyVGFzayA9IChncnVudCwgcHJvZHVjdCwgb3B0aW9uczogYW55ID0ge30sIHByb2R1Y3RfbGFzZXJfdGFza3MpID0+IHtcclxuICAgIGNvbnN0IGNvbmZpZyA9IHt9XHJcbiAgICBjb25zdCBzbHVnID0gcGF0aC5wYXJzZShwcm9kdWN0KS5iYXNlXHJcblxyXG4gICAgY29uZmlnW2Bwcm9kdWN0LSR7c2x1Z31gXSA9IHtcclxuICAgICAgICBzcmM6IFtwcm9kdWN0XSxcclxuICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICAgIGNsZWFyOiB0cnVlLFxyXG4gICAgICAgICAgICBkZWJ1ZzogdHJ1ZSxcclxuICAgICAgICAgICAgdmVyYm9zZVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdydW50LmV4dGVuZENvbmZpZyh7XHJcbiAgICAgICAgbGFzZXI6IGNvbmZpZ1xyXG4gICAgfSlcclxuICAgIGdydW50LnJlZ2lzdGVyVGFzayhgcHJvZHVjdC0ke3NsdWd9YCwgYGxhc2VyOnByb2R1Y3QtJHtzbHVnfWApXHJcblxyXG4gICAgcHJvZHVjdF9sYXNlcl90YXNrcy5wdXNoKGBsYXNlcjpwcm9kdWN0LSR7c2x1Z31gKVxyXG5cclxuICAgIGdydW50LnJlZ2lzdGVyVGFzayhgcHJvZHVjdHMtbGFzZXJgLCBwcm9kdWN0X2xhc2VyX3Rhc2tzKVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgcHJvZHVjdENBRFRhc2sgPSAoZ3J1bnQsIHByb2R1Y3QsIG9wdGlvbnM6IGFueSA9IHt9LCBwcm9kdWN0X2NhZF90YXNrcykgPT4ge1xyXG4gICAgY29uc3QgY29uZmlnID0ge31cclxuICAgIGNvbnN0IHNsdWcgPSBwYXRoLnBhcnNlKHByb2R1Y3QpLmJhc2VcclxuXHJcbiAgICBwcm9kdWN0ID0gcGF0aC5yZXNvbHZlKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBwcm9kdWN0KSlcclxuICAgIGNvbmZpZ1tgcHJvZHVjdC0ke3NsdWd9YF0gPSB7XHJcbiAgICAgICAgc3JjOiBbYCR7cHJvZHVjdH0vY2FkKi8qR2xvYmFsKi4rKFNMREFTTSlgXSxcclxuICAgICAgICBvdXRwdXQ6ICcke1NSQ19ESVJ9LyR7U1JDX05BTUV9LisoanNvbnxodG1sfHN0ZXB8eF90KScsXHJcbiAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICBkZWJ1ZyxcclxuICAgICAgICAgICAgdmVyYm9zZSxcclxuICAgICAgICAgICAgb25Ob2RlOiAoZGF0YSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuZGVidWcgJiYgbG9nZ2VyLmluZm8oYENvbnZlcnRlZCAke2RhdGEuc3JjfSB0byAke2RhdGEudGFyZ2V0fWApXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFydHMgPSBwYXRoLnBhcnNlKGRhdGEudGFyZ2V0KVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAocGFydHMuZXh0ID09PSAnLmh0bWwnICYmIHBhcnRzLm5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKCdnbG9iYWwnKSAhPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV4aXN0cyhwYXRoLmpvaW4ocHJvZHVjdCwgSFRNTF9ERUZBVUxUX1BBVEgpKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm0ocGF0aC5qb2luKHByb2R1Y3QsIEhUTUxfREVGQVVMVF9QQVRIKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjcChkYXRhLnRhcmdldCwgcGF0aC5qb2luKHByb2R1Y3QsIEhUTUxfREVGQVVMVF9QQVRIKSwge30pXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgICAgICAgICBsb2dnZXIuZXJyb3IoYEVycm9yIGNvcHlpbmcgJHtkYXRhLnNyY30gdG8gJHtIVE1MX0RFRkFVTFRfUEFUSH1gLCBlcnJvcilcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBncnVudC5leHRlbmRDb25maWcoe1xyXG4gICAgICAgIGNhZDogY29uZmlnXHJcbiAgICB9KVxyXG4gICAgZ3J1bnQucmVnaXN0ZXJUYXNrKGBwcm9kdWN0LSR7c2x1Z31gLCBgY2FkOnByb2R1Y3QtJHtzbHVnfWApXHJcblxyXG4gICAgcHJvZHVjdF9jYWRfdGFza3MucHVzaChgY2FkOnByb2R1Y3QtJHtzbHVnfWApXHJcblxyXG4gICAgZ3J1bnQucmVnaXN0ZXJUYXNrKGBwcm9kdWN0cy1jYWRgLCBwcm9kdWN0X2NhZF90YXNrcylcclxufVxyXG4iXX0=