73 lines
10 KiB
JavaScript
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==
|