machines/systems/polymech-edu-kit/product.js
2026-03-06 20:36:12 +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: false,
debug: false,
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRhc2tzL3Byb2R1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTRCO0FBSTVCLDhDQUFnRDtBQUNoRCxrREFBc0Q7QUFDdEQsa0RBQWtEO0FBTWxELHlCQUEyQjtBQUUzQixNQUFNLGlCQUFpQixHQUFHLDBCQUEwQixDQUFBO0FBRXBELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQTtBQUNsQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUE7QUFFYixNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBZSxFQUFFLEVBQUUsYUFBYSxFQUFFLEVBQUU7SUFDL0UsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFDckMsS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFXLElBQUksRUFBRSxFQUFFLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQzlELGFBQWEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDLENBQUE7SUFDM0MsS0FBSyxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQTtBQUN2RCxDQUFDLENBQUE7QUFMWSxRQUFBLGNBQWMsa0JBSzFCO0FBRU0sTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBZSxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsRUFBRTtJQUN2RixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUE7SUFDakIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFFckMsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsR0FBRztRQUN4QixHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDZCxPQUFPLEVBQUU7WUFDTCxLQUFLLEVB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WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnXHJcblxyXG5pbXBvcnQgeyByZXNvbHZlIH0gZnJvbSAnQHBsYXN0aWNodWIvb3NyLWNsaS1jb21tb25zL2ZzJ1xyXG5cclxuaW1wb3J0IHsgc3luYyBhcyBjcCB9IGZyb20gJ0BwbGFzdGljaHViL2ZzL2NvcHknXHJcbmltcG9ydCB7IHN5bmMgYXMgZXhpc3RzIH0gZnJvbSAnQHBsYXN0aWNodWIvZnMvZXhpc3RzJ1xyXG5pbXBvcnQgeyBzeW5jIGFzIHJtIH0gZnJvbSAnQHBsYXN0aWNodWIvZnMvcmVtb3ZlJ1xyXG5cclxuaW1wb3J0IHtcclxuICAgIFxyXG59IGZyb20gJy4vbWFjaGluZXMnXHJcblxyXG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuLydcclxuXHJcbmNvbnN0IEhUTUxfREVGQVVMVF9QQVRIID0gJ3Jlc291cmNlcy9lZHJhd2luZ3MuaHRtbCdcclxuXHJcbmNvbnN0IGRlYnVnID0gdHJ1ZVxyXG5jb25zdCB2ZXJib3NlID0gdHJ1ZVxyXG5cclxuZXhwb3J0IGNvbnN0IHByb2R1Y3RBbGxUYXNrID0gKGdydW50LCBwcm9kdWN0LCBvcHRpb25zOiBhbnkgPSB7fSwgcHJvZHVjdF90YXNrcykgPT4ge1xyXG4gICAgY29uc3Qgc2x1ZyA9IHBhdGgucGFyc2UocHJvZHVjdCkuYmFzZVxyXG4gICAgZ3J1bnQucmVnaXN0ZXJUYXNrKGBwcm9kdWN0LSR7c2x1Z31gLCBgbGFzZXI6cHJvZHVjdC0ke3NsdWd9YClcclxuICAgIHByb2R1Y3RfdGFza3MucHVzaChgbGFzZXI6cHJvZHVjdC0ke3NsdWd9YClcclxuICAgIGdydW50LnJlZ2lzdGVyVGFzayhgcHJvZHVjdHMtbGFzZXJgLCBwcm9kdWN0X3Rhc2tzKVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgcHJvZHVjdExhc2VyVGFzayA9IChncnVudCwgcHJvZHVjdCwgb3B0aW9uczogYW55ID0ge30sIHByb2R1Y3RfbGFzZXJfdGFza3MpID0+IHtcclxuICAgIGNvbnN0IGNvbmZpZyA9IHt9XHJcbiAgICBjb25zdCBzbHVnID0gcGF0aC5wYXJzZShwcm9kdWN0KS5iYXNlXHJcblxyXG4gICAgY29uZmlnW2Bwcm9kdWN0LSR7c2x1Z31gXSA9IHtcclxuICAgICAgICBzcmM6IFtwcm9kdWN0XSxcclxuICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICAgIGNsZWFyOiBmYWxzZSxcclxuICAgICAgICAgICAgZGVidWc6IGZhbHNlLFxyXG4gICAgICAgICAgICB2ZXJib3NlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ3J1bnQuZXh0ZW5kQ29uZmlnKHtcclxuICAgICAgICBsYXNlcjogY29uZmlnXHJcbiAgICB9KVxyXG4gICAgZ3J1bnQucmVnaXN0ZXJUYXNrKGBwcm9kdWN0LSR7c2x1Z31gLCBgbGFzZXI6cHJvZHVjdC0ke3NsdWd9YClcclxuXHJcbiAgICBwcm9kdWN0X2xhc2VyX3Rhc2tzLnB1c2goYGxhc2VyOnByb2R1Y3QtJHtzbHVnfWApXHJcblxyXG4gICAgZ3J1bnQucmVnaXN0ZXJUYXNrKGBwcm9kdWN0cy1sYXNlcmAsIHByb2R1Y3RfbGFzZXJfdGFza3MpXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBwcm9kdWN0Q0FEVGFzayA9IChncnVudCwgcHJvZHVjdCwgb3B0aW9uczogYW55ID0ge30sIHByb2R1Y3RfY2FkX3Rhc2tzKSA9PiB7XHJcbiAgICBjb25zdCBjb25maWcgPSB7fVxyXG4gICAgY29uc3Qgc2x1ZyA9IHBhdGgucGFyc2UocHJvZHVjdCkuYmFzZVxyXG5cclxuICAgIHByb2R1Y3QgPSBwYXRoLnJlc29sdmUocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIHByb2R1Y3QpKVxyXG4gICAgY29uZmlnW2Bwcm9kdWN0LSR7c2x1Z31gXSA9IHtcclxuICAgICAgICBzcmM6IFtgJHtwcm9kdWN0fS9jYWQqLypHbG9iYWwqLisoU0xEQVNNKWBdLFxyXG4gICAgICAgIG91dHB1dDogJyR7U1JDX0RJUn0vJHtTUkNfTkFNRX0uKyhqc29ufGh0bWx8c3RlcHx4X3QpJyxcclxuICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICAgIGRlYnVnLFxyXG4gICAgICAgICAgICB2ZXJib3NlLFxyXG4gICAgICAgICAgICBvbk5vZGU6IChkYXRhID0+IHtcclxuICAgICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5kZWJ1ZyAmJiBsb2dnZXIuaW5mbyhgQ29udmVydGVkICR7ZGF0YS5zcmN9IHRvICR7ZGF0YS50YXJnZXR9YClcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJ0cyA9IHBhdGgucGFyc2UoZGF0YS50YXJnZXQpXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChwYXJ0cy5leHQgPT09ICcuaHRtbCcgJiYgcGFydHMubmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ2dsb2JhbCcpICE9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXhpc3RzKHBhdGguam9pbihwcm9kdWN0LCBIVE1MX0RFRkFVTFRfUEFUSCkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBybShwYXRoLmpvaW4ocHJvZHVjdCwgSFRNTF9ERUZBVUxUX1BBVEgpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNwKGRhdGEudGFyZ2V0LCBwYXRoLmpvaW4ocHJvZHVjdCwgSFRNTF9ERUZBVUxUX1BBVEgpLCB7fSlcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGxvZ2dlci5lcnJvcihgRXJyb3IgY29weWluZyAke2RhdGEuc3JjfSB0byAke0hUTUxfREVGQVVMVF9QQVRIfWAsIGVycm9yKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdydW50LmV4dGVuZENvbmZpZyh7XHJcbiAgICAgICAgY2FkOiBjb25maWdcclxuICAgIH0pXHJcbiAgICBncnVudC5yZWdpc3RlclRhc2soYHByb2R1Y3QtJHtzbHVnfWAsIGBjYWQ6cHJvZHVjdC0ke3NsdWd9YClcclxuXHJcbiAgICBwcm9kdWN0X2NhZF90YXNrcy5wdXNoKGBjYWQ6cHJvZHVjdC0ke3NsdWd9YClcclxuXHJcbiAgICBncnVudC5yZWdpc3RlclRhc2soYHByb2R1Y3RzLWNhZGAsIHByb2R1Y3RfY2FkX3Rhc2tzKVxyXG59XHJcbiJdfQ==