Third-party notices
MassingViewer depends on the packages below. This project accepts only permissive licenses; the
posture and the reasoning are in docs/adr/0003-license-posture.md.
Generated from package-lock.json rather than from an installed node_modules, so this list is the
same on every platform and covers all 58 platform-specific binaries — not only the handful
installed on whichever host happened to run the generator.
396 package(s) across 11 license(s).
MIT (301)
@babel/code-frame7.29.7@babel/compat-data7.29.7@babel/core7.29.7@babel/generator7.29.8@babel/helper-compilation-targets7.29.7@babel/helper-globals7.29.7@babel/helper-module-imports7.29.7@babel/helper-module-transforms7.29.7@babel/helper-plugin-utils7.29.7@babel/helper-string-parser7.29.7@babel/helper-validator-identifier7.29.7@babel/helper-validator-option7.29.7@babel/helpers7.29.7@babel/parser7.29.8@babel/plugin-transform-react-jsx-self7.29.7@babel/plugin-transform-react-jsx-source7.29.7@babel/runtime7.29.7@babel/template7.29.7@babel/traverse7.29.8@babel/types7.29.8@bcoe/v8-coverage1.0.2@changesets/apply-release-plan7.1.1@changesets/assemble-release-plan6.0.10@changesets/changelog-git0.2.1@changesets/changelog-github0.7.0@changesets/cli2.31.1@changesets/config3.1.4@changesets/errors0.2.0@changesets/get-dependents-graph2.1.4@changesets/get-github-info0.8.0@changesets/get-release-plan4.0.16@changesets/get-version-range-type0.4.0@changesets/git3.0.4@changesets/logger0.1.1@changesets/parse0.4.3@changesets/pre2.0.2@changesets/read0.6.7@changesets/should-skip-package0.1.2@changesets/types6.1.0@changesets/types4.1.0@changesets/write0.4.0@eslint-community/eslint-utils4.10.1@eslint-community/regexpp4.12.2@eslint/js9.39.5@inquirer/external-editor1.0.3@jridgewell/gen-mapping0.3.13@jridgewell/remapping2.3.5@jridgewell/resolve-uri3.1.2@jridgewell/sourcemap-codec1.5.5@jridgewell/trace-mapping0.3.31@manypkg/find-root1.1.0@manypkg/get-packages1.1.3@nodelib/fs.scandir2.1.5@nodelib/fs.stat2.0.5@nodelib/fs.walk1.2.8@oxc-project/types0.143.0@oxlint/binding-android-arm-eabi1.76.0 (android/arm)@oxlint/binding-android-arm641.76.0 (android/arm64)@oxlint/binding-darwin-arm641.76.0 (darwin/arm64)@oxlint/binding-darwin-x641.76.0 (darwin/x64)@oxlint/binding-freebsd-x641.76.0 (freebsd/x64)@oxlint/binding-linux-arm-gnueabihf1.76.0 (linux/arm)@oxlint/binding-linux-arm-musleabihf1.76.0 (linux/arm)@oxlint/binding-linux-arm64-gnu1.76.0 (linux/arm64)@oxlint/binding-linux-arm64-musl1.76.0 (linux/arm64)@oxlint/binding-linux-ppc64-gnu1.76.0 (linux/ppc64)@oxlint/binding-linux-riscv64-gnu1.76.0 (linux/riscv64)@oxlint/binding-linux-riscv64-musl1.76.0 (linux/riscv64)@oxlint/binding-linux-s390x-gnu1.76.0 (linux/s390x)@oxlint/binding-linux-x64-gnu1.76.0 (linux/x64)@oxlint/binding-linux-x64-musl1.76.0 (linux/x64)@oxlint/binding-openharmony-arm641.76.0 (openharmony/arm64)@oxlint/binding-win32-arm64-msvc1.76.0 (win32/arm64)@oxlint/binding-win32-ia32-msvc1.76.0 (win32/ia32)@oxlint/binding-win32-x64-msvc1.76.0 (win32/x64)@rolldown/binding-android-arm641.2.3 (android/arm64)@rolldown/binding-darwin-arm641.2.3 (darwin/arm64)@rolldown/binding-darwin-x641.2.3 (darwin/x64)@rolldown/binding-freebsd-x641.2.3 (freebsd/x64)@rolldown/binding-linux-arm-gnueabihf1.2.3 (linux/arm)@rolldown/binding-linux-arm64-gnu1.2.3 (linux/arm64)@rolldown/binding-linux-arm64-musl1.2.3 (linux/arm64)@rolldown/binding-linux-ppc64-gnu1.2.3 (linux/ppc64)@rolldown/binding-linux-s390x-gnu1.2.3 (linux/s390x)@rolldown/binding-linux-x64-gnu1.2.3 (linux/x64)@rolldown/binding-linux-x64-musl1.2.3 (linux/x64)@rolldown/binding-openharmony-arm641.2.3 (openharmony/arm64)@rolldown/binding-win32-arm64-msvc1.2.3 (win32/arm64)@rolldown/binding-win32-x64-msvc1.2.3 (win32/x64)@rolldown/pluginutils1.0.1@rolldown/pluginutils1.0.0-rc.3@standard-schema/spec1.1.0@testing-library/dom10.4.1@testing-library/react16.3.2@tweenjs/tween.js23.1.3@types/aria-query5.0.4@types/babel__core7.20.5@types/babel__generator7.27.0@types/babel__template7.4.4@types/babel__traverse7.28.0@types/chai5.2.3@types/deep-eql4.0.2@types/esrecurse4.3.1@types/estree1.0.9@types/json-schema7.0.15@types/node12.20.55@types/node24.10.1@types/pngjs6.0.5@types/react19.2.18@types/react-dom19.2.4@types/stats.js0.17.4@types/three0.185.4@types/webxr0.5.24@types/whatwg-mimetype3.0.2@types/ws8.18.1@typescript-eslint/eslint-plugin8.65.0@typescript-eslint/parser8.65.0@typescript-eslint/project-service8.65.0@typescript-eslint/scope-manager8.65.0@typescript-eslint/tsconfig-utils8.65.0@typescript-eslint/type-utils8.65.0@typescript-eslint/types8.65.0@typescript-eslint/typescript-estree8.65.0@typescript-eslint/utils8.65.0@typescript-eslint/visitor-keys8.65.0@vitejs/plugin-react5.2.0@vitest/coverage-v84.1.10@vitest/expect4.1.10@vitest/mocker4.1.10@vitest/pretty-format4.1.10@vitest/runner4.1.10@vitest/snapshot4.1.10@vitest/spy4.1.10@vitest/utils4.1.10acorn8.18.0acorn-jsx5.3.2ajv6.15.0ansi-colors4.1.3ansi-regex5.0.1ansi-styles5.2.0argparse1.0.10array-union2.1.0assertion-error2.0.1ast-v8-to-istanbul1.0.5balanced-match4.0.4better-path-resolve1.0.0brace-expansion5.0.9braces3.0.3browserslist4.28.7chai6.2.2chardet2.2.0convert-source-map2.0.0cross-spawn7.0.6csstype3.2.3debug4.4.3deep-is0.1.4dequal2.0.3detect-indent6.1.0dir-glob3.0.1dom-accessibility-api0.5.16enquirer2.4.1es-module-lexer2.3.1escalade3.2.0escape-string-regexp4.0.0eslint10.8.0eslint-plugin-react-hooks6.1.1estree-walker3.0.3extendable-error0.1.7fast-check4.5.0fast-deep-equal3.1.3fast-glob3.3.3fast-json-stable-stringify2.1.0fast-levenshtein2.0.6fdir6.5.0fflate0.8.3file-entry-cache8.0.0fill-range7.1.1find-up4.1.0find-up5.0.0flat-cache4.0.1fs-extra8.1.0fs-extra7.0.1fsevents2.3.3 (darwin)fsevents2.3.2 (darwin)gensync1.0.0-beta.2globals17.7.0globby11.1.0happy-dom20.8.9has-flag4.0.0html-escaper2.0.2human-id4.2.0iconv-lite0.7.3ignore7.0.6ignore5.3.2imurmurhash0.1.4is-extglob2.1.1is-glob4.0.3is-number7.0.0is-subdir1.2.0is-windows1.0.2js-tokens4.0.0js-tokens10.0.0js-yaml4.3.1js-yaml3.15.1jsesc3.1.0json-buffer3.0.1json-schema-traverse0.4.1json-stable-stringify-without-jsonify1.0.1json52.2.3jsonfile4.0.0keyv4.5.4levn0.4.1locate-path5.0.0locate-path6.0.0lodash.startcase4.4.0lz-string1.5.0magic-string0.30.21magicast0.5.4make-dir4.0.0marked18.0.9merge21.4.1meshoptimizer1.1.1micromatch4.0.8mri1.2.0ms2.1.3nanoid3.3.18natural-compare1.4.0node-fetch2.7.0node-releases2.0.53obug2.1.4optionator0.9.4outdent0.5.0oxlint1.76.0p-filter2.1.0p-limit2.3.0p-limit3.1.0p-locate4.1.0p-locate5.0.0p-map2.1.0p-try2.2.0package-manager-detector0.2.11path-exists4.0.0path-key3.1.1path-type4.0.0pathe2.0.3picomatch2.3.2picomatch4.0.5pify4.0.1pngjs7.0.0postcss8.5.26prelude-ls1.2.1prettier2.8.8pretty-format27.5.1punycode2.3.1pure-rand7.0.1quansync0.2.11queue-microtask1.2.3react19.2.8react-dom19.2.8react-is17.0.2react-refresh0.18.0read-yaml-file1.1.0resolve-from5.0.0reusify1.1.0rolldown1.2.3run-parallel1.2.0safer-buffer2.1.2scheduler0.27.0shebang-command2.0.0shebang-regex3.0.0slash3.0.0ssim.js3.5.0stackback0.0.2std-env4.2.0strip-ansi6.0.1strip-bom3.0.0supports-color7.2.0term-size2.2.1three0.185.1tinybench2.9.0tinyexec1.3.0tinyglobby0.2.17tinyrainbow3.1.1to-regex-range5.0.1tr460.0.3ts-api-utils2.5.0type-check0.4.0typescript-eslint8.65.0undici-types7.16.0universalify0.1.2update-browserslist-db1.3.0vite8.2.1vitest4.1.10whatwg-mimetype3.0.0whatwg-url5.0.0why-is-node-running2.3.0word-wrap1.2.5ws8.21.2yocto-queue0.1.0zod4.4.3zod-validation-error4.0.2
MPL-2.0 (31)
@axe-core/playwright4.12.1@ifc-lite/data3.2.0@ifc-lite/drawing-2d1.20.0@ifc-lite/geometry3.6.0@ifc-lite/wasm4.3.0@resvg/resvg-js2.6.2@resvg/resvg-js-android-arm-eabi2.6.2 (android/arm)@resvg/resvg-js-android-arm642.6.2 (android/arm64)@resvg/resvg-js-darwin-arm642.6.2 (darwin/arm64)@resvg/resvg-js-darwin-x642.6.2 (darwin/x64)@resvg/resvg-js-linux-arm-gnueabihf2.6.2 (linux/arm)@resvg/resvg-js-linux-arm64-gnu2.6.2 (linux/arm64)@resvg/resvg-js-linux-arm64-musl2.6.2 (linux/arm64)@resvg/resvg-js-linux-x64-gnu2.6.2 (linux/x64)@resvg/resvg-js-linux-x64-musl2.6.2 (linux/x64)@resvg/resvg-js-win32-arm64-msvc2.6.2 (win32/arm64)@resvg/resvg-js-win32-ia32-msvc2.6.2 (win32/ia32)@resvg/resvg-js-win32-x64-msvc2.6.2 (win32/x64)axe-core4.12.1lightningcss1.33.0lightningcss-android-arm641.33.0 (android/arm64)lightningcss-darwin-arm641.33.0 (darwin/arm64)lightningcss-darwin-x641.33.0 (darwin/x64)lightningcss-freebsd-x641.33.0 (freebsd/x64)lightningcss-linux-arm-gnueabihf1.33.0 (linux/arm)lightningcss-linux-arm64-gnu1.33.0 (linux/arm64)lightningcss-linux-arm64-musl1.33.0 (linux/arm64)lightningcss-linux-x64-gnu1.33.0 (linux/x64)lightningcss-linux-x64-musl1.33.0 (linux/x64)lightningcss-win32-arm64-msvc1.33.0 (win32/arm64)lightningcss-win32-x64-msvc1.33.0 (win32/x64)
Apache-2.0 (21)
@dimforge/rapier3d-compat0.12.0@eslint/config-array0.23.5@eslint/config-helpers0.7.0@eslint/core1.2.1@eslint/object-schema3.0.5@eslint/plugin-kit0.7.2@humanfs/core0.19.2@humanfs/node0.16.8@humanfs/types0.15.0@humanwhocodes/module-importer1.0.1@humanwhocodes/retry0.4.3@playwright/test1.57.0aria-query5.3.0baseline-browser-mapping2.11.12detect-libc2.1.2eslint-visitor-keys3.4.3eslint-visitor-keys5.0.1expect-type1.4.0playwright1.57.0playwright-core1.57.0typescript5.9.3
ISC (15)
electron-to-chromium1.5.402fastq1.20.1flatted3.4.4glob-parent5.1.2glob-parent6.0.2graceful-fs4.2.11isexe2.0.0lru-cache5.1.1picocolors1.1.1semver6.3.1semver7.8.5siginfo2.0.0signal-exit4.1.0which2.0.2yallist3.1.1
BSD-2-Clause (10)
dotenv8.6.0entities7.0.1eslint-scope9.1.2espree11.2.0esprima4.0.1esrecurse4.3.0estraverse5.3.0esutils2.0.3uri-js4.4.1webidl-conversions3.0.1
BSD-3-Clause (7)
dataloader1.4.0esquery1.7.0istanbul-lib-coverage3.2.2istanbul-lib-report3.0.1istanbul-reports3.2.0source-map-js1.2.1sprintf-js1.0.3
BlueOak-1.0.0 (7)
glob13.0.6lru-cache11.5.2minimatch10.2.6minipass7.1.3package-json-from-dist1.0.1path-scurry2.0.2rimraf6.1.2
Apache-2.0 OR MIT (1)
@tauri-apps/api2.11.1
Python-2.0 (1)
argparse2.0.1
CC-BY-4.0 (1)
caniuse-lite1.0.30001809
SEE LICENSE IN LICENSE (1)
spawndamnit3.0.1
Deliberately excluded
These are the attractive option in their category, and are refused anyway. The gate enforces it by
name, so the decision cannot be quietly reversed by an npm install.
tldraw— Not open source. The tldraw SDK license is development-only by default; production needs a paid key, the hobby tier keeps a watermark, and the startup license is ~$6k. A foundational canvas dependency behind a commercial gate is a strategic risk, not a licensing detail.xeokit-sdk— AGPL-3.0 or a paid commercial license. AGPL is viral over network use, which is fatal for a hosted deployment. Also: the successor SDK is alpha.mupdf— AGPL or paid. Explicitly requires source release for network services.libredwg— GPL-3.0, and it propagates. This is the only good browser DWG reader — that is precisely the trap. Ship DXF (which covers most real exchange with MIT libraries) or run a GPL converter as a separate arms-length process.ifcopenshell— LGPL-3.0. Excellent, and the reference implementation for correct IFC authoring — but this project ships as an npm library, so nothing LGPL is bundled. The offline kernel uses web-ifc (MIT) + manifold-3d (Apache-2.0) + clipper2 (Boost) instead. ifcopenshell stays server-side, behind kernel-remote, and never crosses the boundary.web-ifc-three— Deprecated upstream, superseded by @thatopen/fragments.