This commit is contained in:
Code 2025-02-07 07:14:02 +01:00
parent 1804c2d1bf
commit aa59b9389e
25 changed files with 185 additions and 140 deletions

View File

@ -11,13 +11,14 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\main.js",
"program": "${workspaceFolder}\\dist\\main.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}//**/*.js"
],
"args": [
"sw",
"--help",
"--cache=false",
"--dry=false",
"--logLevel=trace",
@ -34,7 +35,7 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\main.js",
"program": "${workspaceFolder}\\dist\\main.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}//**/*.js"
@ -57,7 +58,7 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\main.js",
"program": "${workspaceFolder}\\dist\\main.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}//**/*.js"
@ -79,7 +80,7 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\main.js",
"program": "${workspaceFolder}\\dist\\main.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}//**/*.js"
@ -101,7 +102,7 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\main.js",
"program": "${workspaceFolder}\\dist\\main.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}//**/*.js"
@ -122,7 +123,7 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\main.js",
"program": "${workspaceFolder}\\dist\\main.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}//**/*.js"
@ -145,7 +146,7 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\main.js",
"program": "${workspaceFolder}\\dist\\main.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}//**/*.js"
@ -168,7 +169,7 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\main.js",
"program": "${workspaceFolder}\\dist\\main.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}//**/*.js"
@ -190,7 +191,7 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\main.js",
"program": "${workspaceFolder}\\dist\\main.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}//**/*.js"
@ -213,7 +214,7 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\main.js",
"program": "${workspaceFolder}\\dist\\main.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}//**/*.js"
@ -237,7 +238,7 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\main.js",
"program": "${workspaceFolder}\\dist\\main.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}//**/*.js"
@ -260,7 +261,7 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\main.js",
"program": "${workspaceFolder}\\dist\\main.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}//**/*.js"
@ -283,7 +284,7 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\main.js",
"program": "${workspaceFolder}\\dist\\main.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}//**/*.js"
@ -306,7 +307,7 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\main.js",
"program": "${workspaceFolder}\\dist\\main.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}//**/*.js"
@ -329,7 +330,7 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\main.js",
"program": "${workspaceFolder}\\dist\\main.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}//**/*.js"
@ -352,7 +353,7 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\main.js",
"program": "${workspaceFolder}\\dist\\main.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}//**/*.js"
@ -376,7 +377,7 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\main.js",
"program": "${workspaceFolder}\\dist\\main.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}//**/*.js"
@ -400,7 +401,7 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\main.js",
"program": "${workspaceFolder}\\dist\\main.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}//**/*.js"
@ -426,7 +427,7 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\main.js",
"program": "${workspaceFolder}\\dist\\main.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}//**/*.js"

View File

@ -1 +1,2 @@
export { convert, pack } from './sw-lib.js';
export * from './sw-types.js';

View File

@ -1,2 +1,3 @@
export { convert, pack } from './sw-lib.js';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2FkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFBIn0=
export * from './sw-types.js';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2FkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzNDLGNBQWMsZUFBZSxDQUFBIn0=

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,2 @@
import * as CLI from 'yargs';
import CLI from 'yargs';
export declare const register: (cli: CLI.Argv) => any;

View File

@ -1,5 +1,5 @@
import { logger } from '../index.js';
import { defaultOptions, sanitize } from '../sw_argv.js';
import { logger } from '@/index.js';
import { defaultOptions, sanitize } from '@/sw_argv.js';
import { convert } from '../cad/sw-convert.js';
let options = (yargs) => defaultOptions(yargs);
export const register = (cli) => {
@ -13,4 +13,4 @@ export const register = (cli) => {
return convert(options);
});
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvc3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUVwQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFOUMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUV4RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFhLEVBQUUsRUFBRTtJQUN0QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLDhDQUE4QyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBbUIsRUFBRSxFQUFFO1FBQzVHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQUMsT0FBTTtRQUFDLENBQUM7UUFDekIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBcUIsQ0FBQTtRQUNsRCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFlLEVBQUUsQ0FBQyxDQUFBO1FBQ3pELE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDM0MsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFRLENBQUE7SUFDbEMsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUEifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvc3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVuQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFOUMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUN4RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFhLEVBQUUsRUFBRTtJQUN0QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLDhDQUE4QyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBbUIsRUFBRSxFQUFFO1FBQzVHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQUMsT0FBTTtRQUFDLENBQUM7UUFDekIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBcUIsQ0FBQTtRQUNsRCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFlLEVBQUUsQ0FBQyxDQUFBO1FBQ3pELE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDM0MsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFRLENBQUE7SUFDbEMsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUEifQ==

View File

@ -1,4 +1,5 @@
export * from './types.js';
export * from './cad/sw-types.js';
export * from './cad/sw-lib.js';
export * from './_cli.js';
export * from './sw_argv.js';

View File

@ -1,5 +1,6 @@
import { resolve } from "@polymech/commons/variables";
export * from './types.js';
export * from './cad/sw-types.js';
export * from './cad/sw-lib.js';
export * from './_cli.js';
export * from './sw_argv.js';
@ -19,4 +20,4 @@ import { MODULE_NAME } from './constants.js';
export { MODULE_NAME } from './constants.js';
export const logger = createLogger(MODULE_NAME, {});
export const substitute = resolve;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRyxNQUFNLDZCQUE2QixDQUFBO0FBRXRELGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsaUJBQWlCLENBQUE7QUFDL0IsY0FBYyxXQUFXLENBQUE7QUFDekIsY0FBYyxjQUFjLENBQUE7QUFDNUIsY0FBYyx1QkFBdUIsQ0FBQTtBQUVyQyxPQUFPLEVBQUcsTUFBTSxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBRS9CLE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBWSxFQUFFLE9BQWE7SUFDcEQsT0FBTyxJQUFJLE1BQU0sQ0FBQztRQUNkLElBQUk7UUFDSixJQUFJLEVBQUUsUUFBUTtRQUNkLEdBQUcsT0FBTztLQUNiLENBQUMsQ0FBQTtBQUNOLENBQUM7QUFDRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLGVBQWUsRUFBRTtJQUN2RCxRQUFRLEVBQUUsQ0FBQztDQUNkLENBQUMsQ0FBQTtBQUVGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFNUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUE7QUFFbkQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQSJ9
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRyxNQUFNLDZCQUE2QixDQUFBO0FBRXRELGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLGNBQWMsQ0FBQTtBQUM1QixjQUFjLHVCQUF1QixDQUFBO0FBRXJDLE9BQU8sRUFBRyxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFFL0IsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUFZLEVBQUUsT0FBYTtJQUNwRCxPQUFPLElBQUksTUFBTSxDQUFDO1FBQ2QsSUFBSTtRQUNKLElBQUksRUFBRSxRQUFRO1FBQ2QsR0FBRyxPQUFPO0tBQ2IsQ0FBQyxDQUFBO0FBQ04sQ0FBQztBQUNELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsZUFBZSxFQUFFO0lBQ3ZELFFBQVEsRUFBRSxDQUFDO0NBQ2QsQ0FBQyxDQUFBO0FBRUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUU1QyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUVuRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFBIn0=

View File

@ -1,5 +1,5 @@
import * as fs from 'fs';
const dxf = require('dxf-parser');
import { DxfParser } from 'dxf-parser';
import { sync as write } from '@polymech/fs/write';
function distanceBetweenPoints(p1, p2) {
return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));
@ -32,20 +32,13 @@ function calculateEntityLength(entity) {
}
}
function calculateTotalDxfEntitiesLength(filePath) {
const parser = new dxf();
const parser = new DxfParser();
const dxfData = parser.parseSync(fs.readFileSync(filePath, 'utf-8'));
const ret = dxfData.entities.reduce((totalLength, entity) => {
console.log('entity', entity);
const length = calculateEntityLength(entity);
return totalLength + length;
}, 0);
write(filePath + '.json', JSON.stringify(dxfData, null, 2));
return ret;
}
const test = () => {
// Usage example
const filePath = './tests/dxf/square-200-bore.DXF';
const totalLength = calculateTotalDxfEntitiesLength(filePath);
console.log(`Total length of all entities: ${totalLength}`);
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHhmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9nZW9tZXRyeS9keGYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFBO0FBRWpDLE9BQU8sRUFBRSxJQUFJLElBQUksS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFhbEQsU0FBUyxxQkFBcUIsQ0FBQyxFQUE0QixFQUFFLEVBQTRCO0lBQ3JGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFFLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxNQUFjLEVBQUUsVUFBa0IsRUFBRSxRQUFnQjtJQUNuRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxHQUFHLE1BQU0sQ0FBQztBQUNwRCxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxNQUFpQjtJQUM1QyxRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQixjQUFjO1FBQ2QsK0RBQStEO1FBQy9ELEtBQUssWUFBWSxDQUFDO1FBQ2xCLEtBQUssTUFBTTtZQUNQLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNmLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDbkQsSUFBSSxDQUFDO29CQUNELE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsUUFBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxRQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xGLENBQUM7Z0JBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztvQkFDVCxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUE7Z0JBRW5DLENBQUM7WUFDTCxDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDbEIsS0FBSyxRQUFRO1lBQ1QsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTyxDQUFDO1FBQ3hDLEtBQUssS0FBSztZQUNOLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFPLEVBQUUsTUFBTSxDQUFDLFVBQVcsRUFBRSxNQUFNLENBQUMsUUFBUyxDQUFDLENBQUM7UUFDM0U7WUFDSSxPQUFPLENBQUMsQ0FBQztJQUNqQixDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQVMsK0JBQStCLENBQUMsUUFBZ0I7SUFDckQsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN6QixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFFckUsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFtQixFQUFFLE1BQWlCLEVBQUUsRUFBRTtRQUMzRSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUM3QixNQUFNLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxPQUFPLFdBQVcsR0FBRyxNQUFNLENBQUM7SUFDaEMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ04sS0FBSyxDQUFFLFFBQVEsR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDNUQsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFO0lBQ2QsZ0JBQWdCO0lBQ2hCLE1BQU0sUUFBUSxHQUFHLGlDQUFpQyxDQUFBO0lBQ2xELE1BQU0sV0FBVyxHQUFHLCtCQUErQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlELE9BQU8sQ0FBQyxHQUFHLENBQUMsaUNBQWlDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDaEUsQ0FBQyxDQUFBIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHhmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9nZW9tZXRyeS9keGYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUV0QyxPQUFPLEVBQUUsSUFBSSxJQUFJLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBYWxELFNBQVMscUJBQXFCLENBQUMsRUFBNEIsRUFBRSxFQUE0QjtJQUNyRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxRSxDQUFDO0FBRUQsU0FBUyxTQUFTLENBQUMsTUFBYyxFQUFFLFVBQWtCLEVBQUUsUUFBZ0I7SUFDbkUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUM7QUFDcEQsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsTUFBaUI7SUFDNUMsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsY0FBYztRQUNkLCtEQUErRDtRQUMvRCxLQUFLLFlBQVksQ0FBQztRQUNsQixLQUFLLE1BQU07WUFDUCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDZixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ25ELElBQUksQ0FBQztvQkFDRCxNQUFNLElBQUkscUJBQXFCLENBQUMsTUFBTSxDQUFDLFFBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsUUFBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsRixDQUFDO2dCQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFBO2dCQUVuQyxDQUFDO1lBQ0wsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2xCLEtBQUssUUFBUTtZQUNULE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU8sQ0FBQztRQUN4QyxLQUFLLEtBQUs7WUFDTixPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTyxFQUFFLE1BQU0sQ0FBQyxVQUFXLEVBQUUsTUFBTSxDQUFDLFFBQVMsQ0FBQyxDQUFDO1FBQzNFO1lBQ0ksT0FBTyxDQUFDLENBQUM7SUFDakIsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLCtCQUErQixDQUFDLFFBQWdCO0lBQ3JELE1BQU0sTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7SUFDL0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBRXJFLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBbUIsRUFBRSxNQUFpQixFQUFFLEVBQUU7UUFDM0UsTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsT0FBTyxXQUFXLEdBQUcsTUFBTSxDQUFDO0lBQ2hDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNOLEtBQUssQ0FBRSxRQUFRLEdBQUcsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzVELE9BQU8sR0FBRyxDQUFDO0FBQ2YsQ0FBQyJ9

View File

@ -1,18 +1,19 @@
#!/usr/bin/env node
import { defaults } from './_cli.js';
defaults();
import * as cli from 'yargs';
import cli from 'yargs';
import { hideBin } from 'yargs/helpers';
const yargs = cli(hideBin(process.argv));
import { register as registerSW } from './commands/sw.js';
registerSW(cli);
registerSW(yargs);
//import { register as registerSlic3r } from './commands/slice.js'; registerSlic3r(cli as any)
//import { register as registerPack } from './commands/pack.js'; registerPack(cli as any)
//import { register as registerInfo } from './commands/info.js'; registerInfo(cli as any)
const argv = cli.argv;
if (argv.h || argv.help) {
if (yargs.h || yargs.help) {
cli.showHelp();
process.exit();
}
else if (argv.v || argv.version) {
else if (yargs.v || yargs.version) {
process.exit();
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQUMsUUFBUSxFQUFFLENBQUE7QUFFaEQsT0FBTyxLQUFLLEdBQUcsTUFBTSxPQUFPLENBQUE7QUFFNUIsT0FBTyxFQUFFLFFBQVEsSUFBSSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUFDLFVBQVUsQ0FBQyxHQUFVLENBQUMsQ0FBQTtBQUNqRiw4RkFBOEY7QUFDOUYseUZBQXlGO0FBQ3pGLHlGQUF5RjtBQUV6RixNQUFNLElBQUksR0FBUSxHQUFHLENBQUMsSUFBSSxDQUFBO0FBRTFCLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ2QsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFBO0FBQ2xCLENBQUM7S0FBTSxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2hDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtBQUNsQixDQUFDIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQUMsUUFBUSxFQUFFLENBQUE7QUFDaEQsT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFBO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDdkMsTUFBTSxLQUFLLEdBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsUUFBUSxJQUFJLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQzVFLDhGQUE4RjtBQUM5Rix5RkFBeUY7QUFDekYseUZBQXlGO0FBQ3pGLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ2QsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFBO0FBQ2xCLENBQUM7S0FBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtBQUNsQixDQUFDIn0=

View File

@ -1 +1 @@
export declare const reportCSV: (data: any) => any;
export declare const reportCSV: (data: any) => string;

View File

@ -1,5 +1,5 @@
import * as path from 'path';
const csv = require('csv-stringify/lib/sync');
import { stringify as csv } from 'csv-stringify/sync';
const OSR_REGEX = /^[0-9].+$/;
const isOSR = (filename) => filename.match(OSR_REGEX) != null;
export const reportCSV = (data) => {
@ -43,4 +43,4 @@ export const reportCSV = (data) => {
});
return csvString;
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlcG9ydC9jc3YudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDOUMsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDO0FBQzlCLE1BQU0sS0FBSyxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQztBQUU5RCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRTtJQUU5QixNQUFNLEtBQUssR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDdEQsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUUzRCxNQUFNLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFO1FBQ3JCLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDbEIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2pDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDckMsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDUixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVDLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQyxDQUFBO0lBRUQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUMzQixJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ2xCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEMsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNqQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1IsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDLENBQUE7SUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUN4QixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRTtRQUM5QixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDaEUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3pELEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2hDLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3RDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtRQUN2RCxFQUFFO0tBQ0wsQ0FDQSxDQUFDO0lBRUYsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEdBQUcsRUFBRTtRQUN2QixNQUFNLEVBQUUsSUFBSTtRQUNaLFNBQVMsRUFBRSxHQUFHO1FBQ2QsT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRTtLQUNySCxDQUFDLENBQUM7SUFFSCxPQUFPLFNBQVMsQ0FBQztBQUVyQixDQUFDLENBQUEifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlcG9ydC9jc3YudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUE7QUFDNUIsT0FBTyxFQUFFLFNBQVMsSUFBSSxHQUFHLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUVyRCxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUE7QUFDN0IsTUFBTSxLQUFLLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFBO0FBRTdELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO0lBRTlCLE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUN0RCxNQUFNLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDO0lBRTNELE1BQU0sR0FBRyxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUU7UUFDckIsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNsQixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDakMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNyQyxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNSLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDNUMsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDLENBQUE7SUFFRCxNQUFNLFNBQVMsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFO1FBQzNCLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDbEIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2pDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDckMsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDUixPQUFPLEtBQUssQ0FBQztZQUNqQixDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUMsQ0FBQTtJQUVELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3hCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFO1FBQzlCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNoRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDekQsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDaEMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDdEMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO1FBQ3ZELEVBQUU7S0FDTCxDQUNBLENBQUM7SUFFRixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFO1FBQ3ZCLE1BQU0sRUFBRSxJQUFJO1FBQ1osU0FBUyxFQUFFLEdBQUc7UUFDZCxPQUFPLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFO0tBQ3JILENBQUMsQ0FBQztJQUVILE9BQU8sU0FBUyxDQUFDO0FBRXJCLENBQUMsQ0FBQSJ9

View File

@ -1,21 +1 @@
import { z } from 'zod';
export declare const ZPathInfoSchema: z.ZodUnknown;
export declare const ZOptionsCacheSchema: z.ZodObject<{
cache: z.ZodOptional<z.ZodBoolean>;
clear: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
cache?: boolean;
clear?: boolean;
}, {
cache?: boolean;
clear?: boolean;
}>;
export declare const ZNodeCallbackSchema: any;
export declare const ZOptionsBaseSchema: any;
export declare const ZSolidworkOptionsSchema: any;
export type ZOptionsCache = z.infer<typeof ZOptionsCacheSchema>;
export type ZOptionsBase = z.infer<typeof ZOptionsBaseSchema>;
export type ZNodeCallback = z.infer<typeof ZNodeCallbackSchema>;
export type ZSolidworkOptions = z.infer<typeof ZSolidworkOptionsSchema>;
export declare const types: () => void;
export declare const schemas: () => void;
export {};

View File

@ -1,16 +1,25 @@
import { z } from 'zod';
import { generate_interfaces } from '@polymech/commons/schemas';
export {};
/*
import { generate_interfaces, write, ZodMetaMap } from '@polymech/commons/schemas'
export const ZPathInfoSchema = z.unknown();
export const ZOptionsCacheSchema = z.object({
cache: z.boolean().optional(),
clear: z.boolean().optional(),
cache: z.boolean().optional(),
clear: z.boolean().optional(),
});
export const ZNodeCallbackSchema = z.lazy(() => z.object({
export const ZNodeCallbackSchema = z.lazy(() =>
z.object({
src: z.string(),
target: z.string(),
options: ZOptionsBaseSchema,
}));
export const ZOptionsBaseSchema = z.lazy(() => ZOptionsCacheSchema.extend({
})
);
export const ZOptionsBaseSchema = z.lazy(() =>
ZOptionsCacheSchema.extend({
src: z.string(),
srcInfo: ZPathInfoSchema.optional(),
dstInfo: ZPathInfoSchema.optional(),
@ -24,34 +33,46 @@ export const ZOptionsBaseSchema = z.lazy(() => ZOptionsCacheSchema.extend({
script: z.string().optional(),
args: z.string().optional(),
onNode: z.function().args(ZNodeCallbackSchema).returns(z.promise(z.void())),
}));
})
);
export const ZSolidworkOptionsSchema = ZOptionsBaseSchema.extend({
'bom-template': z.string().optional(),
'bom-detail': z.number().optional(),
'bom-type': z.number().optional(),
'bom-images': z.boolean().optional(),
'bom-config': z.string().optional(),
close: z.boolean().optional(),
configuration: z.string().optional(),
height: z.number().optional(),
hidden: z.string().optional(),
light: z.boolean().optional(),
logLevel: z.string().optional(),
pack: z.boolean().optional(),
quality: z.number().optional(),
rebuild: z.boolean().optional(),
renderer: z.string().optional(),
save: z.boolean().optional(),
sw: z.string().optional(),
swv: z.number().optional(),
view: z.string().optional(),
width: z.number().optional(),
write: z.boolean().optional(),
'bom-template': z.string().optional(),
'bom-detail': z.number().optional(),
'bom-type': z.number().optional(),
'bom-images': z.boolean().optional(),
'bom-config': z.string().optional(),
close: z.boolean().optional(),
configuration: z.string().optional(),
height: z.number().optional(),
hidden: z.string().optional(),
light: z.boolean().optional(),
logLevel: z.string().optional(),
pack: z.boolean().optional(),
quality: z.number().optional(),
rebuild: z.boolean().optional(),
renderer: z.string().optional(),
save: z.boolean().optional(),
sw: z.string().optional(),
swv: z.number().optional(),
view: z.string().optional(),
width: z.number().optional(),
write: z.boolean().optional(),
});
export type ZOptionsCache = z.infer<typeof ZOptionsCacheSchema>;
export type ZOptionsBase = z.infer<typeof ZOptionsBaseSchema>;
export type ZNodeCallback = z.infer<typeof ZNodeCallbackSchema>;
export type ZSolidworkOptions = z.infer<typeof ZSolidworkOptionsSchema>;
export const types = () => {
generate_interfaces([ZSolidworkOptionsSchema], 'src/zod_types.ts');
schemas();
};
export const schemas = () => {
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9kX3NjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy96b2Rfc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDeEIsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixNQUFNLDJCQUEyQixDQUFBO0FBRWxGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMxQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUM5QixDQUFDLENBQUM7QUFHSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUM3QyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ1AsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNsQixPQUFPLEVBQUUsa0JBQWtCO0NBQzVCLENBQUMsQ0FDSCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FDNUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDO0lBQ3pCLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2YsT0FBTyxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUU7SUFDbkMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUU7SUFDbkMsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDMUIsR0FBRyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQy9CLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzNCLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7Q0FDNUUsQ0FBQyxDQUNILENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7SUFDL0QsY0FBYyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDckMsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbkMsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDakMsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbkMsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsYUFBYSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDOUIsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDekIsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDOUIsQ0FBQyxDQUFDO0FBUUgsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLEdBQUcsRUFBRTtJQUN0QixtQkFBbUIsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtJQUNsRSxPQUFPLEVBQUUsQ0FBQTtBQUNYLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxHQUFHLEVBQUU7QUFFNUIsQ0FBQyxDQUFBIn0=
generate_interfaces([ZSolidworkOptionsSchema], 'src/zod_types.ts')
schemas()
}
export const schemas = () => {
}
*/
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9kX3NjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy96b2Rfc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBMkVFIn0=

View File

@ -1,13 +1,25 @@
{
"name": "@polymech/cad",
"version": "0.8.8",
"version": "1.8.8",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"help": "node build/main.js --help",
"build": "tsc -p .",
"dev": "tsc -w -p . --declaration",
"publish": "npm publish --access public"
"publish": "npm publish --access public",
"webpack": "webpack --config webpack.config.js --stats-error-details",
"exe:win": "cd dist && nexe -i main_node.js -o polymech-cad.exe --build --temp=../../temp-polymech --verbose"
},
"exports": {
".": {
"import": "./dist/index.js",
"require": "./dist/index.cjs"
},
"cad": {
"import": "./dist/cad/index.js",
"require": "./dist/cad/index.cjs"
}
},
"repository": {
"type": "git",
@ -22,7 +34,7 @@
"3D"
],
"bin": {
"osr-cad": "main.js"
"polymech-cad": "dist/main.js"
},
"publishConfig": {
"access": "public"
@ -39,7 +51,7 @@
"@polymech/fs": "link:..\\fs",
"@polymech/log": "link:..\\log",
"add": "^2.0.6",
"csv-stringify": "^5.6.1",
"csv-stringify": "^6.5.2",
"dxf-parser": "^1.1.2",
"errlop": "^2.1.0",
"fast-glob": "^3.3.2",
@ -55,9 +67,13 @@
"zod": "^3.24.1"
},
"devDependencies": {
"vitest": "^3.0.5",
"@types/js-yaml": "^4.0.9",
"@types/node": "^22.13.1",
"@types/which": "^1.3.2",
"typescript": "^5.7.3"
"typescript": "^5.7.3",
"webpack": "^5.97.1",
"webpack-cli": "^6.0.1",
"webpack-visualizer-plugin2": "^1.2.0"
}
}
}

View File

@ -1 +1,2 @@
export { convert, pack } from './sw-lib.js'
export * from './sw-types.js'

View File

@ -1,6 +1,7 @@
import * as path from 'path'
import pMap from 'p-map'
import { sync as which } from 'which'
import pkg from 'which';
const { sync: which } = pkg;
import { resolve, OSR_CACHE } from '@polymech/commons'
import { equalFiles, swProcMessage } from './sw-util.js'
import { reportCSV } from '../report/csv.js'

View File

@ -1,11 +1,10 @@
import * as CLI from 'yargs'
import { logger } from '../index.js'
import { SolidworkOptions } from '../types.js'
import { defaultOptions, sanitize } from '../sw_argv.js'
import CLI from 'yargs'
import { logger } from '@/index.js'
import { SolidworkOptions } from '@/types.js'
import { defaultOptions, sanitize } from '@/sw_argv.js'
import { convert } from '../cad/sw-convert.js'
let options = (yargs: CLI.Argv) => defaultOptions(yargs)
export const register = (cli: CLI.Argv) => {
return cli.command('sw', 'Convert CAD files via Solidworks Interop API', options, async (argv: CLI.Arguments) => {
if (argv.help) { return }

View File

@ -1,6 +1,7 @@
import { resolve } from "@polymech/commons/variables"
export * from './types.js'
export * from './cad/sw-types.js'
export * from './cad/sw-lib.js'
export * from './_cli.js'
export * from './sw_argv.js'

View File

@ -1,6 +1,6 @@
import * as fs from 'fs';
const dxf = require('dxf-parser')
import { sync as read } from '@polymech/fs/read'
import { DxfParser } from 'dxf-parser'
import { sync as write } from '@polymech/fs/write'
interface DxfEntity {
@ -48,21 +48,13 @@ function calculateEntityLength(entity: DxfEntity): number {
}
function calculateTotalDxfEntitiesLength(filePath: string): number {
const parser = new dxf();
const parser = new DxfParser();
const dxfData = parser.parseSync(fs.readFileSync(filePath, 'utf-8'));
const ret = dxfData.entities.reduce((totalLength: number, entity: DxfEntity) => {
console.log('entity', entity)
const length = calculateEntityLength(entity);
return totalLength + length;
}, 0);
write( filePath + '.json', JSON.stringify(dxfData, null, 2))
return ret;
}
const test = () => {
// Usage example
const filePath = './tests/dxf/square-200-bore.DXF'
const totalLength = calculateTotalDxfEntitiesLength(filePath);
console.log(`Total length of all entities: ${totalLength}`);
}

View File

@ -1,18 +1,15 @@
#!/usr/bin/env node
import { defaults } from './_cli.js'; defaults()
import * as cli from 'yargs'
import { register as registerSW } from './commands/sw.js'; registerSW(cli as any)
import cli from 'yargs'
import { hideBin } from 'yargs/helpers'
const yargs = cli(hideBin(process.argv))
import { register as registerSW } from './commands/sw.js'; registerSW(yargs)
//import { register as registerSlic3r } from './commands/slice.js'; registerSlic3r(cli as any)
//import { register as registerPack } from './commands/pack.js'; registerPack(cli as any)
//import { register as registerInfo } from './commands/info.js'; registerInfo(cli as any)
const argv: any = cli.argv
if (argv.h || argv.help) {
if (yargs.h || yargs.help) {
cli.showHelp()
process.exit()
} else if (argv.v || argv.version) {
} else if (yargs.v || yargs.version) {
process.exit()
}

View File

@ -1,7 +1,8 @@
import * as path from 'path';
const csv = require('csv-stringify/lib/sync');
const OSR_REGEX = /^[0-9].+$/;
const isOSR = (filename) => filename.match(OSR_REGEX) != null;
import * as path from 'path'
import { stringify as csv } from 'csv-stringify/sync'
const OSR_REGEX = /^[0-9].+$/
const isOSR = (filename) => filename.match(OSR_REGEX) != null
export const reportCSV = (data) => {

View File

@ -1,4 +1,5 @@
import { z } from 'zod';
/*
import { generate_interfaces, write, ZodMetaMap } from '@polymech/commons/schemas'
export const ZPathInfoSchema = z.unknown();
@ -72,4 +73,5 @@ export const types = () => {
export const schemas = () => {
}
}
*/

View File

@ -4,7 +4,8 @@
"src/**/*.ts"
],
"files": [
"src/index.ts"
"src/index.ts",
"src/main.ts"
],
"compilerOptions": {
"strictNullChecks": false,
@ -14,6 +15,7 @@
"outDir": "./dist",
"inlineSourceMap": true,
"preserveConstEnums": true,
"allowSyntheticDefaultImports": true,
"paths": {
"@/*": [
"src/*"

View File

@ -0,0 +1,32 @@
const path = require('path')
const webpack = require('webpack')
const Visualizer = require('webpack-visualizer-plugin2');
module.exports = {
devtool:false,
plugins: [
new webpack.BannerPlugin({ banner: "#!/usr/bin/env node", raw: true }),
new Visualizer({
filename: path.join('stats', 'statistics.html'),
throwOnError: true
}),
],
entry: './dist/main.js',
target: 'node',
mode:'production',
module: {
rules: []
},
optimization: {
minimize: true
},
resolve: {
extensions: ['.js']
},
output: {
filename: 'main_node.js',
path: path.resolve(__dirname, 'dist')
},
externals: {
'typescript': 'commonjs typescript'
}
};