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

@oneschema/importer

v0.7.7

Published

Vanilla JS library for embedding OneSchema Importer

Readme

A tool for embedding OneSchema into your application. This library will give you convenient bindings to add an iframe to your application which can open OneSchema and import data into your application.

Getting Started

Installation

You can install this package with npm:

npm i --save @oneschema/importer

or with a script tag:

<script src="https://d3ah8o189k1llu.cloudfront.net/oneschema-importer-0.3.latest.min.js"></script>

With pnpm, install eventemitter3 alongside it:

pnpm add @oneschema/importer eventemitter3@^4.0.7

The importer class extends EventEmitter from eventemitter3, so that type is part of the published declarations. pnpm keeps each package's dependencies isolated instead of hoisting them, so your build cannot resolve eventemitter3 unless it is declared in your project too. npm and yarn hoist it for you.

Sample usage

import oneschemaImporter from "@oneschema/importer"

const importer = oneschemaImporter({
  /* required here */
  clientId: "YOUR_CLIENT_ID",
  /* required here or at launch */
  templateKey: "YOUR_TEMPLATE_KEY",
  userJwt: "YOUR_USER_JWT",
  /* optional */
  importConfig: { type: "local" },
  devMode: true,
  className: "oneschema-importer",
})

importer.launch()
// OR
// pass overrides and values not specified at creation time:
importer.launch({
  templateKey: "YOUR_TEMPLATE_KEY",
  userJwt: "YOUR_USER_JWT",
  importConfig: { type: "local" },
})

importer.on("success", (data) => {
  // handle success
})

importer.on("cancel", () => {
  // handle cancel
})

importer.on("error", (error) => {
  // error is { message, severity }
})

// release the iframe and every listener when you are done with the instance
importer.destroy()

API reference

The tables below are generated from the TypeScript types by yarn docs:api — edit the JSDoc in src/config.ts, not the tables.

Options set at initialization

| Option | Type | Required | Default | Description | | -------------- | ------------------------------ | -------- | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | | clientId | string | yes | | The client id from your OneSchema developer dashboard | | devMode | boolean | | !!(process.env.NODE_ENV !== "production") | Whether to launch the importer in dev mode, which shows the iframe even when launching fails | | className | string | | "oneschema-iframe" | CSS class for the iframe | | styles | Partial<CSSStyleDeclaration> | | | CSS Styles to be applied directly to the iframe | | languageCode | string | | | Optional language code (like 'en' or 'zh') to force importer language By default, will use user's set language. Requires enterprise licensing | | parentId | string | | | The id of the DOM element the iframe should be appended to By default appends to document.body | | saveSession | boolean | | true | Whether to save session information to local storage and enable resuming | | autoClose | boolean | | true | Whether to close the importer when complete | | manageDOM | boolean | | true | Whether the class should create and append the iframe to the DOM | | baseUrl | string | | "https://embed.oneschema.co" | The base URL for the iframe. By default uses OneSchema's production instance |

Options set at initialization or at launch

Pass either userJwt + templateKey, or a sessionToken created through the API.

Launch with a user JWT and a template key:

| Option | Type | Required | Default | Description | | ------------------------ | ---------------------------- | -------- | ------- | -------------------------------------------------------------------------------------------- | | userJwt | string | yes | | The JSON web token for the user importing data | | templateKey | string | yes | | The key for the template that data will be imported for. Setup inside OneSchema before using | | templateOverrides | OneSchemaTemplateOverrides | | | Template overrides to modify the behavior of the base template | | importConfig | ImportConfig | | | The configuration for how data should be imported from OneSchema | | customizationKey | string | | | Key for a customization setup in OneSchema | | customizationOverrides | ImporterCustomization | | | Customization options for how OneSchema will behave | | eventWebhookKeys | string[] | | | Event webhooks that should be used during an import session |

Or, instead of those, with a session token created through the API:

| Option | Type | Required | Default | Description | | -------------- | -------- | -------- | ------- | ------------------------------------------------------------------------ | | sessionToken | string | yes | | A token for a session created through the API for initializing OneSchema |

Events

| Event | Listener arguments | Description | | --------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | page-loaded | Record<string, never> | The embedded importer page finished loading behind the scenes | | launched | OneSchemaLaunchStatus | The import session was launched, or launching it failed | | success | OneSchemaImportResult | The user finished importing. For local imports the data is the payload, for webhook imports it summarizes the delivery | | cancel | none | The user cancelled the import | | error | OneSchemaError | Something went wrong. severity is fatal when the session cannot continue | | user-activity | none | The user interacted with the importer. Throttled to once every 30 seconds, and useful for resetting idle timers in the host application |

Documentation

Please see 📚 OneSchema's documentation for 📒 API reference and other helpful guides.