From f801225290e8507a72ed0214cb1c7e43aedd917e Mon Sep 17 00:00:00 2001 From: Yuichiro Masui Date: Tue, 24 Oct 2023 01:10:22 +0000 Subject: [PATCH] first commit --- .devcontainer/devcontainer.json | 39 ++++ .devcontainer/setup.sh | 3 + .gitignore | 2 + .vscode/settings.json | 6 + README.md | 1 + chocv1_08u/.gitignore | 1 + chocv1_08u/basic.jscad | 35 +++ chocv1_08u/chocv1_stem.js | 23 ++ package-lock.json | 390 ++++++++++++++++++++++++++++++++ package.json | 27 +++ 10 files changed, 527 insertions(+) create mode 100644 .devcontainer/devcontainer.json create mode 100755 .devcontainer/setup.sh create mode 100644 .gitignore create mode 100644 .vscode/settings.json create mode 100644 README.md create mode 100644 chocv1_08u/.gitignore create mode 100644 chocv1_08u/basic.jscad create mode 100644 chocv1_08u/chocv1_stem.js create mode 100644 package-lock.json create mode 100644 package.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..3232bd7 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,39 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu +{ + "name": "Ubuntu", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/base:jammy", + "hostRequirements": { + "memory": "8gb" + }, + "customizations": { + "vscode": { + "extensions": [ + "bierner.markdown-preview-github-styles", + "mutantdino.resourcemonitor", + "esbenp.prettier-vscode" + ] + } + }, + + // Features to add to the dev container. More info: https://containers.dev/features. + "features": { + "ghcr.io/devcontainers/features/node:1": { + "version": "18" + } + }, + "remoteEnv": { + // https://code.visualstudio.com/remote/advancedcontainers/environment-variables + // "PATH": "${containerEnv:PATH}:/some/other/path", + // "MY_REMOTE_VARIABLE2": "${localEnv:SOME_LOCAL_VAR}" + }, + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [4000, 8080, 9099] + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "./setup.sh" + // Configure tool-specific properties. + // "customizations": {}, + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh new file mode 100755 index 0000000..6dca9a4 --- /dev/null +++ b/.devcontainer/setup.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +npm install -g prettier \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..91dfed8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.DS_Store +node_modules \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..189b9c9 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "files.associations": { + "*.jscad": "javascript" + }, + "editor.wordWrap": "on" +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..336b04d --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# keycaps-jscad diff --git a/chocv1_08u/.gitignore b/chocv1_08u/.gitignore new file mode 100644 index 0000000..c77d6b1 --- /dev/null +++ b/chocv1_08u/.gitignore @@ -0,0 +1 @@ +*.stl \ No newline at end of file diff --git a/chocv1_08u/basic.jscad b/chocv1_08u/basic.jscad new file mode 100644 index 0000000..5f1c31a --- /dev/null +++ b/chocv1_08u/basic.jscad @@ -0,0 +1,35 @@ +const jscadModeling = require('@jscad/modeling') +// const stem = require("./chocv1_stem.js") + +function main(parameters) { + let { scale, size } = parameters; + const { colorize } = jscadModeling.colors + const { cube, cuboid, line, sphere, star } = jscadModeling.primitives + const { intersect, subtract } = jscadModeling.booleans + + const logo = [ + colorize([1.0, 0.4, 1.0], subtract( + cube({ size }), + sphere({ radius: 200 }) + )), + colorize([1.0, 1.0, 0], intersect( + sphere({ radius: 130 }), + cube({ size: 210 }) + )) + ] + + const transpCube = colorize([1, 0, 0, 0.75], cuboid({ size: [100 * scale, 100, 210 + (200 * scale)] })) + const star2D = star({ vertices: 8, innerRadius: 150, outerRadius: 200 }) + const line2D = colorize([1.0, 0, 0], line([[220, 220], [-220, 220], [-220, -220], [220, -220], [220, 220]])) + + return [transpCube, line2D, star2D, ...logo] +} + +function getParameterDefinitions() { + return [ + { name: 'size', caption: 'size of outer box:', type: 'float', initial: 300 }, + { name: 'scale', caption: 'Scale of inner box:', type: 'slider', initial: 1, min: 0, max: 5 }, + ]; +} + +module.exports = { main, getParameterDefinitions } diff --git a/chocv1_08u/chocv1_stem.js b/chocv1_08u/chocv1_stem.js new file mode 100644 index 0000000..754cad0 --- /dev/null +++ b/chocv1_08u/chocv1_stem.js @@ -0,0 +1,23 @@ +const jscadModeling = require('@jscad/modeling') + +const { cube, cuboid, cylinder, cylinderElliptic, ellipsoid, geodesicSphere, roundedCuboid, roundedCylinder, sphere, torus } = jscadModeling.primitives + +const createPrimitives = () => { + return [ + cube(), + cuboid({ size: [1, 2, 3] }), + roundedCuboid({ size: [2, 3, 2], roundRadius: 0.4, segments: 32 }), + roundedCuboid({ size: [1, 2, 3], roundRadius: 0.4, segments: 16 }), + sphere({ radius: 2, segments: 16 }), + geodesicSphere({ radius: 1.5, segments: 16 }), + ellipsoid({ radius: [2, 1, 1.5], segments: 64, axes: [[1, 1, 0], [0, -1, 1], [-1, 0, 1]] }), + cylinder({ radius: 1, height: 5 }), + roundedCylinder({ radius: 1, height: 8, roundRadius: 0.8 }), + cylinderElliptic({ height: 8, startRadius: [1, 2], startAngle: 0, endRadius: [1, 2], endAngle: (Math.PI / 8), segments: 32 }), + cylinder({ start: [0, 0, 0], end: [3, 3, 10], radius: 1 }), + torus({ innerRadius: 1, outerRadius: 1.2 }), + torus({ innerRadius: 1, outerRadius: 1.5, innerSegments: 4, outerSegments: 6, innerRotation: 0 }) + ] +} + +module.exports = createPrimitives diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..7fbb109 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,390 @@ +{ + "name": "keycaps-jscad", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "keycaps-jscad", + "version": "1.0.0", + "license": "Apache-2.0", + "dependencies": { + "@jscad/cli": "^2.3.0", + "@jscad/core": "^2.6.7", + "@jscad/modeling": "^2.12.0", + "@jscad/stl-deserializer": "^2.1.22", + "@jscad/stl-serializer": "^2.1.15", + "@jscad/svg-deserializer": "^2.5.6" + } + }, + "node_modules/@jscad/3mf-serializer": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@jscad/3mf-serializer/-/3mf-serializer-2.1.9.tgz", + "integrity": "sha512-LcFWT3KdcFQYwiJXPv3gcR6x0OHP1MpqIi5Qe0NNg0XT+ENtG4ixY2Cd17oFsiagp4W0lMM8U5tfCJ7jOAKDXA==", + "dependencies": { + "@jscad/array-utils": "2.1.4", + "@jscad/modeling": "2.12.0", + "fflate": "0.7.3", + "onml": "1.2.0" + } + }, + "node_modules/@jscad/amf-deserializer": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jscad/amf-deserializer/-/amf-deserializer-2.3.5.tgz", + "integrity": "sha512-0mjOde1mL0TnOrFwVH14aWdFINmPYxVUNx9rLlIDoR7kk9K0cPMQycgO0ac5SVMwz8W1LovEuMWPFdOrJcGTtw==", + "dependencies": { + "@jscad/modeling": "2.12.0", + "saxes": "5.0.1" + } + }, + "node_modules/@jscad/amf-serializer": { + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/@jscad/amf-serializer/-/amf-serializer-2.1.15.tgz", + "integrity": "sha512-Plk06CbHWeWdBxA6siFYXHQb+GR1NXN9qBfo9OujK6b4YPt7VGRWykybxp7jrOZ2fbqtgAVKKi+mK8iHXNUzmw==", + "dependencies": { + "@jscad/array-utils": "2.1.4", + "@jscad/modeling": "2.12.0", + "onml": "1.3.0" + } + }, + "node_modules/@jscad/amf-serializer/node_modules/onml": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/onml/-/onml-1.3.0.tgz", + "integrity": "sha512-RhGUsC6Im2A5vAdIvxE3auRKTqrqUZQl/AYLn8+9lM3SO4da5bwhcI5TcM+hfQxNCSLLOVErsl9p0ZPjKKmz+g==", + "dependencies": { + "sax": "^1.2.1" + } + }, + "node_modules/@jscad/array-utils": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@jscad/array-utils/-/array-utils-2.1.4.tgz", + "integrity": "sha512-c31r4zSKsE+4Xfwk2V8monDA0hx5G89QGzaakWVUvuGNowYS9WSsYCwHiTIXodjR+HEnDu4okQ7k/whmP0Ne2g==" + }, + "node_modules/@jscad/cli": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@jscad/cli/-/cli-2.3.0.tgz", + "integrity": "sha512-tPeOfESEDzuXYUTKMw0K0CmWJvEb2gm4uvV7BV0RG6k47ZptkGuOJUmnh7CtEGRN7+q4qD0v0mCYuNCJ0kGSHA==", + "hasInstallScript": true, + "dependencies": { + "@jscad/array-utils": "2.1.4", + "@jscad/core": "2.6.7", + "@jscad/io": "2.4.6", + "@jscad/modeling": "2.12.0", + "jszip": "^3.10.1" + }, + "bin": { + "jscad": "cli.js" + } + }, + "node_modules/@jscad/core": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/@jscad/core/-/core-2.6.7.tgz", + "integrity": "sha512-09ltjtMcLiZBmhCA88SJFe9Wz5AOyCIqGIF1LP6FwyF54cRc3Eu+oLaoUDqwGLl7x/D1Bam+NiyGyoBDhpk6oA==", + "dependencies": { + "@jscad/array-utils": "2.1.4", + "@jscad/io": "2.4.6", + "@jscad/io-utils": "2.0.25", + "@jscad/modeling": "2.12.0", + "json5": "2.2.3", + "strip-bom": "4.0.0" + } + }, + "node_modules/@jscad/dxf-deserializer": { + "version": "2.3.22", + "resolved": "https://registry.npmjs.org/@jscad/dxf-deserializer/-/dxf-deserializer-2.3.22.tgz", + "integrity": "sha512-5DljdpiuqPP4k1QBoIQNL+roAYBfipRcLFUml8FCWgt/zUFS9nb2N19wHAoLAmsPdrXcCdfWJG9ESoju1PuMLw==", + "dependencies": { + "@jscad/modeling": "2.12.0" + } + }, + "node_modules/@jscad/dxf-serializer": { + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/@jscad/dxf-serializer/-/dxf-serializer-2.1.15.tgz", + "integrity": "sha512-CR02Vmt3uvvIDs4gJb6tle1cVcJB4TIdHkDjxgBoJGLmnUY4PL93XWsoBytiuvxCnMJdKRk5XrPyabkAJdmZzQ==", + "dependencies": { + "@jscad/array-utils": "2.1.4", + "@jscad/modeling": "2.12.0" + } + }, + "node_modules/@jscad/io": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/@jscad/io/-/io-2.4.6.tgz", + "integrity": "sha512-GbOWYfZjiIwkWYG914Hmp+1TmMf9aEWKJGA4I1fZSJe8tOkoT4mwpedJdUoumCNrIO9VzxjjYFzayOl5ybrCGw==", + "dependencies": { + "@jscad/3mf-serializer": "2.1.9", + "@jscad/amf-deserializer": "2.3.5", + "@jscad/amf-serializer": "2.1.15", + "@jscad/array-utils": "2.1.4", + "@jscad/dxf-deserializer": "2.3.22", + "@jscad/dxf-serializer": "2.1.15", + "@jscad/io-utils": "2.0.25", + "@jscad/json-deserializer": "2.0.26", + "@jscad/json-serializer": "2.0.25", + "@jscad/modeling": "2.12.0", + "@jscad/obj-deserializer": "2.0.25", + "@jscad/obj-serializer": "2.1.15", + "@jscad/stl-deserializer": "2.1.22", + "@jscad/stl-serializer": "2.1.15", + "@jscad/svg-deserializer": "2.5.6", + "@jscad/svg-serializer": "2.3.13", + "@jscad/x3d-deserializer": "2.2.5", + "@jscad/x3d-serializer": "2.4.5" + } + }, + "node_modules/@jscad/io-utils": { + "version": "2.0.25", + "resolved": "https://registry.npmjs.org/@jscad/io-utils/-/io-utils-2.0.25.tgz", + "integrity": "sha512-grkntLoZoOImMXzjXV4hz1qLYz4j6bReOdTqa6/rLjqtBWugRhwH2GMYq74N9YqNjlpy5NBb0Ac36kW+vzr7Ow==" + }, + "node_modules/@jscad/json-deserializer": { + "version": "2.0.26", + "resolved": "https://registry.npmjs.org/@jscad/json-deserializer/-/json-deserializer-2.0.26.tgz", + "integrity": "sha512-eiuH4B/tpEu0Sc6qUS+J5AR06UjM7NGykf3S8O/IDL4C0nLfHCgyBqnW2Wah2CV27hfn4i/PoVUjDsgRdRkq8Q==", + "dependencies": { + "@jscad/array-utils": "2.1.4" + } + }, + "node_modules/@jscad/json-serializer": { + "version": "2.0.25", + "resolved": "https://registry.npmjs.org/@jscad/json-serializer/-/json-serializer-2.0.25.tgz", + "integrity": "sha512-6KiEVUTE3/gC3Hpt2zZId/IGi5zimk/GemNULT7AMi36SVYiXnSkb5RkH/wHFLZKY0JMPQZvdhvMLm3VhMgA8Q==", + "dependencies": { + "@jscad/modeling": "2.12.0" + } + }, + "node_modules/@jscad/modeling": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@jscad/modeling/-/modeling-2.12.0.tgz", + "integrity": "sha512-TeAGX4QPEX+sBfeTMa04HwGL+lpdirqXt9JJKYi0r+UGgcwlsCtOs7dS23WGEAGu5QZgGNF4NJsr9DRPIWoaDQ==" + }, + "node_modules/@jscad/obj-deserializer": { + "version": "2.0.25", + "resolved": "https://registry.npmjs.org/@jscad/obj-deserializer/-/obj-deserializer-2.0.25.tgz", + "integrity": "sha512-0ludafBIrhQuUJljdoq3HX17q2pNZPMzwrQuNIEz3H8KuupAPeRZ4WAywf42CGT4xDg+4irHFqSogSVTD6iydg==", + "dependencies": { + "@jscad/modeling": "2.12.0" + } + }, + "node_modules/@jscad/obj-serializer": { + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/@jscad/obj-serializer/-/obj-serializer-2.1.15.tgz", + "integrity": "sha512-kIIIq0wF+tq9JckM2YEBGSWdFL7VVtEG+VT1//iRqY1ZaF+0OEMS0v0gGa2s/7V5U4COxlHdGK2Xs38G5CmshQ==", + "dependencies": { + "@jscad/array-utils": "2.1.4", + "@jscad/modeling": "2.12.0" + } + }, + "node_modules/@jscad/stl-deserializer": { + "version": "2.1.22", + "resolved": "https://registry.npmjs.org/@jscad/stl-deserializer/-/stl-deserializer-2.1.22.tgz", + "integrity": "sha512-ZPJKg7XJRkZCjr5C6kf3VPOgBcvNyl4K1nZR7yo/8fzY98avpAAj70t3uBFKvpQ9m7yMRJ/EgH0bzbDeAp7L1g==", + "dependencies": { + "@jscad/io-utils": "2.0.25", + "@jscad/modeling": "2.12.0" + } + }, + "node_modules/@jscad/stl-serializer": { + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/@jscad/stl-serializer/-/stl-serializer-2.1.15.tgz", + "integrity": "sha512-/kMOu+rQJ7hMUxxPmFM1+t5+5891z+WQSms7d2FYJuJkdq0TRl9j6bUtcyBrG8p9M1wrJAIFNaC+rrxDTrMuWg==", + "dependencies": { + "@jscad/array-utils": "2.1.4", + "@jscad/modeling": "2.12.0" + } + }, + "node_modules/@jscad/svg-deserializer": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@jscad/svg-deserializer/-/svg-deserializer-2.5.6.tgz", + "integrity": "sha512-GoIVbSUnIdNkCJRt4v3EhVpoUEsGODY6dVNun/J9fk707Sp0Z+SAJKu32oNSpp0m0wn2kZ3uLeXx61vSmWpzqg==", + "dependencies": { + "@jscad/array-utils": "2.1.4", + "@jscad/modeling": "2.12.0", + "saxes": "5.0.1" + } + }, + "node_modules/@jscad/svg-serializer": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@jscad/svg-serializer/-/svg-serializer-2.3.13.tgz", + "integrity": "sha512-B7avvwb90vTaHfTi9Gr1jkpycOKqr8JF3vYfgQs/QIPKCrudBYo24RdzvsMdwdmDL5HNmf1Yx7Cku2KcElX5OQ==", + "dependencies": { + "@jscad/modeling": "2.12.0", + "onml": "1.3.0" + } + }, + "node_modules/@jscad/svg-serializer/node_modules/onml": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/onml/-/onml-1.3.0.tgz", + "integrity": "sha512-RhGUsC6Im2A5vAdIvxE3auRKTqrqUZQl/AYLn8+9lM3SO4da5bwhcI5TcM+hfQxNCSLLOVErsl9p0ZPjKKmz+g==", + "dependencies": { + "sax": "^1.2.1" + } + }, + "node_modules/@jscad/x3d-deserializer": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@jscad/x3d-deserializer/-/x3d-deserializer-2.2.5.tgz", + "integrity": "sha512-eXOtVCdPpVOXj6tI+2LJG9QDLfMwdyIu7NXMGvDZj1t5XPUsNB6h8pHCcCVigx2qDR3XC/sv/VYWwcPcKhQu0g==", + "dependencies": { + "@jscad/array-utils": "2.1.4", + "@jscad/modeling": "2.12.0", + "saxes": "5.0.1" + } + }, + "node_modules/@jscad/x3d-serializer": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/@jscad/x3d-serializer/-/x3d-serializer-2.4.5.tgz", + "integrity": "sha512-ex1p6MLBqOQMynILcNkstjRCFhAZpUvfOTHFK3Ml8YwdKLfZbXcxWZ6AGzeXn1h0kIpenMIVnNKbrpmq71PwIQ==", + "dependencies": { + "@jscad/array-utils": "2.1.4", + "@jscad/modeling": "2.12.0", + "onml": "1.3.0" + } + }, + "node_modules/@jscad/x3d-serializer/node_modules/onml": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/onml/-/onml-1.3.0.tgz", + "integrity": "sha512-RhGUsC6Im2A5vAdIvxE3auRKTqrqUZQl/AYLn8+9lM3SO4da5bwhcI5TcM+hfQxNCSLLOVErsl9p0ZPjKKmz+g==", + "dependencies": { + "sax": "^1.2.1" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/fflate": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.3.tgz", + "integrity": "sha512-0Zz1jOzJWERhyhsimS54VTqOteCNwRtIlh8isdL0AXLo0g7xNTfTL7oWrkmCnPhZGocKIkWHBistBrrpoNH3aw==" + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/onml": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/onml/-/onml-1.2.0.tgz", + "integrity": "sha512-olqYAg18XoHAhm7tK9DdBCOVdts70DGmMgCNLOWyqZokht2utgGSKBB4JHi6pBZpmioAhcYlxK+91L3tsrz+GA==", + "dependencies": { + "sax": "^1.2.1" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/sax": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..0592937 --- /dev/null +++ b/package.json @@ -0,0 +1,27 @@ +{ + "name": "keycaps-jscad", + "version": "1.0.0", + "description": "", + "main": "index.js", + "directories": { + "lib": "lib" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [ + "jscad", + "keycaps", + "choc" + ], + "author": "Yuichiro MASUI ", + "license": "Apache-2.0", + "dependencies": { + "@jscad/cli": "^2.3.0", + "@jscad/core": "^2.6.7", + "@jscad/modeling": "^2.12.0", + "@jscad/stl-deserializer": "^2.1.22", + "@jscad/stl-serializer": "^2.1.15", + "@jscad/svg-deserializer": "^2.5.6" + } +}