{ "name": "untitled-app", "version": "0.22.1", "private": true, "dependencies": { "@codemirror/autocomplete": "^6.16.0", "@fortawesome/fontawesome-svg-core": "^6.5.2", "@fortawesome/free-brands-svg-icons": "^6.5.2", "@fortawesome/free-solid-svg-icons": "^6.4.2", "@fortawesome/react-fontawesome": "^0.2.0", "@headlessui/react": "^1.7.19", "@headlessui/tailwindcss": "^0.2.0", "@kittycad/lib": "^0.0.64", "@lezer/javascript": "^1.4.9", "@open-rpc/client-js": "^1.8.1", "@react-hook/resize-observer": "^2.0.1", "@replit/codemirror-interact": "^6.3.1", "@tauri-apps/api": "2.0.0-beta.12", "@tauri-apps/plugin-dialog": "^2.0.0-beta.2", "@tauri-apps/plugin-fs": "^2.0.0-beta.3", "@tauri-apps/plugin-http": "^2.0.0-beta.2", "@tauri-apps/plugin-os": "^2.0.0-beta.3", "@tauri-apps/plugin-process": "^2.0.0-beta.2", "@tauri-apps/plugin-shell": "^2.0.0-beta.2", "@tauri-apps/plugin-updater": "^2.0.0-beta.3", "@testing-library/jest-dom": "^5.14.1", "@testing-library/react": "^15.0.2", "@testing-library/user-event": "^14.5.2", "@ts-stack/markdown": "^1.5.0", "@tweenjs/tween.js": "^23.1.1", "@types/node": "^18.19.31", "@types/react": "^18.3.2", "@types/react-dom": "^18.2.25", "@uiw/react-codemirror": "^4.21.25", "@xstate/inspect": "^0.8.0", "@xstate/react": "^3.2.2", "crypto-js": "^4.2.0", "debounce-promise": "^3.1.2", "decamelize": "^6.0.0", "formik": "^2.4.6", "fuse.js": "^7.0.0", "html2canvas-pro": "^1.4.3", "http-server": "^14.1.1", "json-rpc-2.0": "^1.6.0", "jszip": "^3.10.1", "node-fetch": "^3.3.2", "re-resizable": "^6.9.11", "react": "^18.3.1", "react-dom": "^18.2.0", "react-hot-toast": "^2.4.1", "react-hotkeys-hook": "^4.5.0", "react-json-view": "^1.21.3", "react-modal": "^3.16.1", "react-modal-promise": "^1.0.2", "react-router-dom": "^6.23.1", "sketch-helpers": "^0.0.4", "swr": "^2.2.5", "three": "^0.164.1", "ts-node": "^10.9.2", "typescript": "^5.4.5", "ua-parser-js": "^1.0.37", "uuid": "^9.0.1", "vitest": "^1.6.0", "vscode-jsonrpc": "^8.2.1", "vscode-languageserver-protocol": "^3.17.5", "wasm-pack": "^0.12.1", "web-vitals": "^3.5.2", "ws": "^8.17.0", "xstate": "^4.38.2", "zustand": "^4.5.2" }, "scripts": { "start": "vite", "start:prod": "vite preview --port=3000", "serve": "vite serve --port=3000", "build": "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && source \"$HOME/.cargo/env\" && curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh -s -- -y && yarn build:wasm && vite build", "build:local": "vite build", "build:both": "vite build", "build:both:local": "yarn build:wasm && vite build", "pretest": "yarn remove-importmeta", "test": "vitest --mode development", "test:nowatch": "vitest run --mode development", "test:rust": "(cd src/wasm-lib && cargo test --all && cargo clippy --all --tests --benches)", "test:e2e:tauri": "E2E_TAURI_ENABLED=true TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\"}' wdio run wdio.conf.ts", "simpleserver:ci": "yarn pretest && http-server ./public --cors -p 3000 &", "simpleserver": "yarn pretest && http-server ./public --cors -p 3000", "fmt": "prettier --write ./src *.ts *.json *.js ./e2e", "fmt-check": "prettier --check ./src *.ts *.json *.js ./e2e", "fetch:wasm": "./get-latest-wasm-bundle.sh", "build:wasm-dev": "(cd src/wasm-lib && wasm-pack build --dev --target web --out-dir pkg && cargo test -p kcl-lib export_bindings) && cp src/wasm-lib/pkg/wasm_lib_bg.wasm public && yarn fmt", "build:wasm": "(cd src/wasm-lib && wasm-pack build --target web --out-dir pkg && cargo test -p kcl-lib export_bindings) && cp src/wasm-lib/pkg/wasm_lib_bg.wasm public && yarn fmt", "build:wasm-clean": "yarn wasm-prep && yarn build:wasm", "remove-importmeta": "sed -i 's/import.meta.url/window.location.origin/g' \"./src/wasm-lib/pkg/wasm_lib.js\"; sed -i '' 's/import.meta.url/window.location.origin/g' \"./src/wasm-lib/pkg/wasm_lib.js\" || echo \"sed for both mac and linux\"", "wasm-prep": "rm -rf src/wasm-lib/pkg && mkdir src/wasm-lib/pkg && rm -rf src/wasm-lib/kcl/bindings", "lint": "eslint --fix src", "bump-jsons": "echo \"$(jq --arg v \"$VERSION\" '.version=$v' package.json --indent 2)\" > package.json && echo \"$(jq --arg v \"$VERSION\" '.version=$v' src-tauri/tauri.conf.json --indent 2)\" > src-tauri/tauri.conf.json", "postinstall": "yarn xstate:typegen", "xstate:typegen": "yarn xstate typegen \"src/**/*.ts?(x)\"", "make:dev": "make dev" }, "prettier": { "trailingComma": "es5", "tabWidth": 2, "semi": false, "singleQuote": true }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] }, "devDependencies": { "@babel/plugin-proposal-private-property-in-object": "^7.21.11", "@babel/preset-env": "^7.24.3", "@iarna/toml": "^2.2.5", "@playwright/test": "^1.43.1", "@tauri-apps/cli": "^2.0.0-beta.13", "@types/crypto-js": "^4.2.2", "@types/debounce-promise": "^3.1.9", "@types/mocha": "^10.0.6", "@types/pixelmatch": "^5.2.6", "@types/pngjs": "^6.0.4", "@types/react-modal": "^3.16.3", "@types/three": "^0.163.0", "@types/ua-parser-js": "^0.7.39", "@types/uuid": "^9.0.8", "@types/wait-on": "^5.3.4", "@types/wicg-file-system-access": "^2023.10.5", "@types/ws": "^8.5.10", "@vitejs/plugin-react": "^4.3.0", "@vitest/web-worker": "^1.5.0", "@wdio/cli": "^8.24.3", "@wdio/globals": "^8.36.0", "@wdio/local-runner": "^8.36.0", "@wdio/mocha-framework": "^8.36.0", "@wdio/spec-reporter": "^8.36.0", "@xstate/cli": "^0.5.17", "autoprefixer": "^10.4.19", "eslint": "^8.57.0", "eslint-config-react-app": "^7.0.1", "eslint-plugin-css-modules": "^2.12.0", "happy-dom": "^14.3.10", "husky": "^9.0.11", "mocha": "^10.4.0", "pixelmatch": "^5.3.0", "pngjs": "^7.0.0", "postcss": "^8.4.31", "postinstall-postinstall": "^2.1.0", "prettier": "^2.8.0", "setimmediate": "^1.0.5", "tailwindcss": "^3.4.1", "vite": "^5.2.9", "vite-plugin-eslint": "^1.8.1", "vite-plugin-package-version": "^1.1.0", "vite-tsconfig-paths": "^4.3.2", "vitest-webgl-canvas-mock": "^1.1.0", "wait-on": "^7.2.0", "yarn": "^1.22.22" } }