npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@inovitas/infra3dapi

v1.8.0

Published

The API can be installed as a package using npm. To install it from the npm package repository, simply type:

Readme

Installation

NPM Package

The API can be installed as a package using npm. To install it from the npm package repository, simply type:

npm install @inovitas/infra3dapi

CDN Download

Alternatively, you can obtain the API from a CDN. To get the latest version, add the following script to your HTML file:

<script src="https://cdn.jsdelivr.net/npm/@inovitas/infra3dapi@latest/infra3dapi.js"></script>

We recommend using a specific version in your project. To get a specific version, use the following script and adjust the version accordingly:

<script src="https://cdn.jsdelivr.net/npm/@inovitas/[email protected]/infra3dapi.js"></script>

Note: Please do not name the <div> in which the viewer is initialized as "infra3d" as this may cause internal conflicts.

Core Concept

To use the API, you can call the init functions in infra3dapi. After loggin in and initializing the view (with manager.initView()), you will get a viewer object. This viewer object can then be used to add event-listeners to different events emitted by the viewer (like viewer.geoframechanged) or to call some functions (like viewer.getRoutes() or viewer.movePosition()).

Authentication

  1. Register your OAuth 2.0 application with our sales team to obtain credentials (client_id and client_secret).
  2. Develop a server-side component to securely use these credentials, obtaining an access token from infra3D.
  3. Your server-side component fetches the access token using client credentials, which can then be shared with your client app.
  4. Your client app uses this token to authenticate with infra3D for requested services, refreshing it via the server component when expired. Remember to treat the client_secret like a password, avoiding exposure in client-side environments for enhanced security.

Changelog

1.8.0 - 2026-03-26

Added

  • added basemap selection feature

Bugfixes

  • fix flickering profile when browser zoom < 100%
  • fix error when login as non-migrated user

1.7.3 - 2026-03-20

Bugfixes

  • Problem when using the start_position
  • Return a message, if no image has been found when using the start_position
  • Error when not showing the map window
  • Do not show the no-axis-found info if no image was found

1.7.2 - 2026-03-05

Added

  • nodechanged event returns now also an averaged lat/lon
  • add new interactive authentication method
  • add tenant name to apm logs

Bugfixes

  • fix not all layerimports give local storage warning
  • fix linref measurement not showing the pinned value field
  • fix localStorage not updating
  • fix point cloud export not working correctly on tablet
  • fix textures & geometries memory leak, which caused a WebGL context-loss

Changes

  • internal repo reorganisation
  • update sdk dependencies

1.7.1 - 2026-01-27

Bugfixes

  • Fix login as non-migrated user when using the API

1.7.0 - 2025-12-16

Added

  • Enable linref for cantons (IN-3084)
  • Fully support domains in ArcGIS Layers
  • add link to infra3D Academy
  • enabled link to profile on platform (IN-1993)

1.6.1 - 2025-11-20

Bugfixes

  • Performance when calling movePosition on the viewer is improved (NVTS-1060, NVTS-1062)
  • When clicking twice on a feature with the info-tool, the feature info disappears (NVTS-1029, NVTS-1125)
  • When exceeding the limit of the localstorage when importing layers, a message is displayed (NVTS-995)
  • Fixed errors when importing geodataconfigurations from infra3D Classic (NVTS-1069)
  • The Share-Link is updated even if the tool is open and the viewer is moved (NVTS-1078)
  • While the layertree is open and focussed, the play with space works again (NVTS-1066)
  • Overlap of layertree visibility-symbol with scrollbar in Firefox is fixed (NVTS-1067)

Added

  • PDF-Export is now also in the API available (NVTS-1057)

1.6.0 - 2025-10-29

Bugfixes

  • When clicking twice on a feature with the info-tool, the feature info disappears
  • When importing Shapefiles, containing an id property, the ID is no longer overwritten with an internal one

Added

  • Authenticate interactively. You could now login with the common login mask (using username)

1.5.1 - 2025-10-13

Bugfixes

  • fix forever loading search when switching from classic to nextgen (IN-3791)

1.5.0 - 2025-09-17

Added

  • Node ID is returned in nodechanged event
  • viewer.moveToKey() to move to a specific key

Bugfixes

  • Projects with a projectScope containing start- or endtimestamps, show the correct routeLines and routeHexes in the map
  • Fix boolean attribute handling on creating new features
  • moveToPosition is considering the maxDist parameter correctly

Removed

  • No request to /outline in framegate is been done, instead the project boundary or the boundary of the EPSG is used.

1.4.2 - 2025-08-13

Bugfixes

  • fix readme docs

1.4.1 - 2025-08-13

Bugfixes

  • fix performance (re-render) issue & improve store implementations (IN-3675)
  • fix showing whatsnew on hotfix release (IN-3400)
  • reset selectedaxis when moving away too far
  • fix linref step being shown in non-linref projects

Changes

  • streamline PDF Export translations across the whole app (-)
  • activate continuous measurement in linref tool

Added

  • implement whatsnew step

1.4.0 - 07.08.2025

Changes

  • Improve What's New Announcements

Added

  • Linear Reference tools: Axisscalebar, Axis Panel, Linear Reference Measurement
  • Survey Wheel Measure
  • PDF Export Tool

1.3.1 - 25.07.2025

Bugfixes

  • Fix types-file
  • Bundle images inside the js-file

1.3.0 - 02.07.2025

Added

  • viewer.getCameraView() and viewer.setCameraView(...)
  • viewer.setUserInteraction(true, false) to enable or disable paning and/or zooming in the image
  • viewer.on("panzoomchanged", ...) to get notified when a user is interacting whithin a stereo image
  • viewer.getCurrentNode() to retrieve some information like coordinates of the current position
  • extended the viewer.on("nodechanged", ...) with some further properties

1.2.5 - 27.06.2025

Bugfixes

  • When adding a WFS 2.0 Layer, the settings have not been took over and not been saved correctly (IN-3444)
  • When minimising the measurement panel and reopening meausrements again, the panels overlap each other (IN-3461)

1.2.4 - 12.06.2025

Bugfixes

  • Some request when using a non-migrated user resulted in a 400 Bad Request.

1.2.3 - 05.06.2025

Bugfixes

  • Profile Tool enlarge button now has a tooltip
  • Add-On Point Cloud Export: Authorisation based on scope entry in token

Added

  • LoD Concept for Pointcloud fragments
  • Add-On Point Cloud Export: Loading state on startup

1.2.2 - 17.04.2025

Bugfixes

  • Keydown/-up Eventlisteners ignored if evt.target is an HTMLInputElement, HTMLTextAreaElement or HTMLSelectElement.
  • Requests in routesprovider have a lower limit to not reach the backend limit of 6 MB.
  • Viewer is destroyed completly, with unlistening to events.
  • Layer-configs: Wrong handling with source_options fixed
  • When adding a new feature, it could be saved only after two inserts. This is now fixed.
  • Fix shortened arcgis URL in Layer options
  • Fix jump to multipolygon feature in Feature table
  • Fix bug when Frame 0 is not inside projectscope
  • Fix zick-zack bug in map when having lra-projects

1.2.1 - 24.02.2025

Bugfixes

  • React Reference Error when activating survey wheel measurement
  • Not loading depthmaps anymore if loading view

1.2.0 - 16.12.2024

Bugfixes

  • Improve styling when using global box-sizing style
  • Style of the scrollbar is no more globally overwritten by the API
  • Resize event listens now on the div and not the whole window

Added

  • Added functions on viewer to draw and pick a geometry
  • Added geometry overlays to display geometries in the viewer
  • Function to destroy the API and remove it from the DOM

1.1.2 - 21.10.2024

Bugfixes

  • viewer.getRoutes() resulted in an error

1.1.1 - 14.10.2024

Bugfixes

  • Layer export not working for non-memory layers
  • Duplicate layers when exporting directly after importing layers (without reloading)

1.1.0 - 09.10.2024

Bugfixes

  • Bug in viewer.getRoutesOutline() when using as migrated user.
  • Same default EPSG-Code (4326) when using start-position for (un)-migrated users.

Added

  • ProjectScope is available to restrict the access inside a project accordingly.
  • New concept for routes abstraction in the map, using hexagons
  • viewer.getRouteLines() and viewer.getRouteHexes()
  • PointCloudExport
  • Support of EPSG-Code in start-position

1.0.3 - 17.09.2024

Bugfixes

  • Fixed pilegate URL for migrated users.
  • Using the profiletool, added an information and reset the tool when changing the image while performing a measurement.
  • Fix the bug when using jest for testing.
  • Added missing bounding box parameter to viewer.getRoutes().

1.0.2 - 06.08.2024

Bugfixes

  • Fixed bug in the layer tree view. The layer tree is visible again.

1.0.1 - 23.07.2024

Bugfixes

  • Fixed a bug in the campaign change event in the viewer.

1.0.0 - 17.05.2024

Bugfixes

  • Restoration of toolbar and top bar functionality: They can now be shown and hidden smoothly.

Added

  • Introduction of machine authentication and a new corresponding example.
    • Added: Option for access token in the init function.
    • Added: Refresh token for the init function.
  • Typings

Changed

  • Examples have been updated to accommodate the new authentication process.

Deleted

  • Interactive login functions.
  • Removed: Two options from the init function:
    • demoAccess
    • redirectPath

0.2.8 - 08.04.2024

Added

  • Integrated and documented functions
    • moveToPosition
    • moveToCampaign
    • lookAtPosition
    • getRoutes

0.2.7 - 04.04.2024

Added

  • Improved documentation
    • Description of the event types
    • Description of further settings

Changed

  • Adaptation to the existing examples

0.2.4 - 14.03.2024

Bugfixes

  • Troubleshooting with internal module

0.2.3 - 09.02.2024

Added

  • Demo Access Login
  • Documenation

Changed

  • Adoption of adjustments to the UI base of infra3D Edit

Bugfixes

  • Various minor adjustments

0.2.0 - 30.01.2024

Added

  • Edit functionality