{
  "name": "web-ifc",
  "version": "0.0.36",
  "description": "ifc loading on the web",
  "main": "web-ifc-api-node.js",
  "module": "web-ifc-api.js",
  "watch": {
    "build-viewer": {
      "patterns": [
        "./examples/viewer"
      ],
      "extensions": "ts"
    },
    "build-web-ifc-api-mjs": {
      "patterns": [
        "./src"
      ],
      "extensions": "ts"
    },
    "build-web-ifc-api-browser": {
      "patterns": [
        "./src"
      ],
      "extensions": "ts"
    }
  },
  "pckg-gui": {},
  "scripts": {
    "gen-schema": "cd src/schema && node gen_functional_types.js",
    "setup-env": "emsdk_env",
    "build-release": "npm run build-wasm-release && npm run build-api",
    "build-release-all": "npm run build-wasm-release && npm run build-wasm-release-mt && npm run build-api",
    "build-debug": "npm run build-wasm-debug && npm run build-api",
    "publish-repo": "npm run set-version && cd dist && npm publish",
    "build-publish-repo": "npm run set-version && npm run build-release-all && cd dist && npm publish",
    "build-wasm-debug": "em++ --bind -O3 -gsource-map -std=c++17 --source-map-base http://localhost:5000/web-ifc-js/wasm-lib/ -flto -fno-exceptions./src/wasm/web-ifc-api.cpp -s ALLOW_MEMORY_GROWTH=1 -s MAXIMUM_MEMORY=4GB -s ASSERTIONS=1 -s FORCE_FILESYSTEM=1 -s EXPORT_NAME=WebIFCWasm -s MODULARIZE=1 -s EXPORTED_RUNTIME_METHODS=[\"FS\"] -O3 -o dist/web-ifc.js",
    "build-wasm-release": "em++ --bind -O3 -std=c++17 -flto --define-macro=REAL_T_IS_DOUBLE -I ./src/wasm/deps/manifold/manifold/include/ -I ./src/wasm/deps/glm/ ./src/wasm/web-ifc-api.cpp ./src/wasm/deps/manifold/release/collider/libcollider.a ./src/wasm/deps/manifold/release/third_party/graphlite/libgraphlite.a ./src/wasm/deps/manifold/release/manifold/libmanifold.a ./src/wasm/deps/manifold/release/polygon/libpolygon.a -fexceptions -s ALLOW_MEMORY_GROWTH=1 -s MAXIMUM_MEMORY=4GB -s FORCE_FILESYSTEM=1 -s EXPORT_NAME=WebIFCWasm -s MODULARIZE=1 -s USE_PTHREADS=0 -s EXPORTED_RUNTIME_METHODS=[\"FS\"] -O3 -o dist/web-ifc.js",
    "build-wasm-release-mt": "em++ --bind -O3 -std=c++17 -flto --define-macro=REAL_T_IS_DOUBLE -I ./src/wasm/deps/manifold/manifold/include/ -I ./src/wasm/deps/glm/ ./src/wasm/web-ifc-api.cpp ./src/wasm/deps/manifold/release-mt/collider/libcollider.a ./src/wasm/deps/manifold/release-mt/third_party/graphlite/libgraphlite.a ./src/wasm/deps/manifold/release-mt/manifold/libmanifold.a ./src/wasm/deps/manifold/release-mt/polygon/libpolygon.a -fexceptions -s ALLOW_MEMORY_GROWTH=1 -s MAXIMUM_MEMORY=4GB -s FORCE_FILESYSTEM=1 -s EXPORT_NAME=WebIFCWasm -s MODULARIZE=1 -s USE_PTHREADS=1 -s PTHREAD_POOL_SIZE=navigator.hardwareConcurrency -s EXPORTED_RUNTIME_METHODS=[\"FS\"] -O3 -o dist/web-ifc-mt.js",
    "build-api": "cpy src/*.ts dist && cpy src/helpers/*.ts dist/helpers && npm run build-ts-api && npm run build-web-ifc-api-mjs && npm run build-web-ifc-api-browser && npm run build-web-ifc-api-node && npm run copy-to-dist",
    "build-ts-api": "tsc --emitDeclarationOnly && cpy dist/web-ifc-api.d.ts dist && cpy dist/web-ifc-api.d.ts dist --rename=web-ifc-api-node.d.ts",
    "build-web-ifc-api-mjs": "esbuild dist/web-ifc-api.ts --bundle --format=esm --external:path --external:fs --external:perf_hooks --outfile=./dist/web-ifc-api.js",
    "build-web-ifc-api-browser": "esbuild dist/web-ifc-api.ts --bundle --format=iife --global-name=WebIFC --external:path --external:fs --external:perf_hooks --outfile=./dist/web-ifc-api-browser.js",
    "build-web-ifc-api-node": "esbuild dist/web-ifc-api.ts --bundle --platform=node --outfile=./dist/web-ifc-api-node.js",
    "copy-to-dist": "cpy README.md dist && cpy package.json dist && cpy src/ifc2x4.ts dist",
    "build-viewer": "npm run bundle-viewer && npm run copy-wasm-viewer",
    "bundle-viewer": "esbuild ./examples/viewer/web-ifc-viewer.ts --bundle --platform=node --outfile=./examples/viewer/web-ifc-viewer.js",
    "copy-wasm-viewer": "cpy dist/*.wasm examples/viewer/wasm && cpy dist/web-ifc-mt.worker.js examples/viewer",
    "serve-viewer": "node examples/viewer/file_server.js",
    "set-version": "node src/setversion.js",
    "dev": "concurrently --kill-others \"npm-watch\" \"npm run serve-viewer\"",
    "docker-build": "docker build -t web-ifc .",
    "docker-run": "npm run docker-run-container && npm run docker-get-compiled-files ",
    "docker-run-container": "docker run --rm -d -p 3000:5000 --name web-ifc-container web-ifc",
    "docker-get-compiled-files": "docker cp web-ifc-container:/web-ifc-app/dist .",
    "test": "jest ./tests",
    "regression-test-build": "esbuild tests/regression/src/index.js --bundle --minify --sourcemap --outfile=tests/regression/public/build/test.js",
    "regression-test": "npm run regression-test-build && http-server"
  },
  "author": "tomvandig",
  "files": [
    "web-ifc.wasm",
    "web-ifc-mt.wasm",
    "web-ifc-api-node.js",
    "web-ifc-api-node.d.ts",
    "web-ifc-api.js",
    "web-ifc-api-browser.js",
    "web-ifc-api.d.ts",
    "ifc2x4.d.ts",
    "ifc2x4_helper.d.ts",
    "helpers/ifc-elements.d.ts",
    "helpers/properties.d.ts"
  ],
  "devDependencies": {
    "@types/jest": "^27.0.3",
    "@types/three": "^0.130.1",
    "concurrently": "^6.2.0",
    "cpy": "^8.1.2",
    "cpy-cli": "^3.1.1",
    "esbuild": "^0.12.15",
    "http-server": "^14.1.1",
    "jest": "^27.4.2",
    "monaco-editor": "^0.26.1",
    "npm-watch": "^0.10.0",
    "serve": "^12.0.0",
    "three": "^0.130.1",
    "ts-jest": "^27.0.7",
    "typescript": "^4.3.5"
  },
  "browser": {
    "crypto": false,
    "path": false,
    "fs": false
  }
}
