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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@xlork/react

v5.0.2

Published

XLork is a powerful Node.js package for parsing and manipulating CSV and XML files. With its intuitive API, XLork makes it easy to read, write, and modify CSV and XML data in your Node.js applications. Whether you're dealing with large datasets or just ne

Readme

🚀 XLork Client

XLork Client is a plug-and-play Node.js / React component for integrating the XLork data upload service. Collect, validate, and receive structured data from your users in a beautiful, customizable UI. Install XLork today and start Simplify Data Integration with data onboarding.

NPM Version License: MIT XLork


📦 Installation

npm install @xlork/react

⚡ Quick Start

import React from "react";
import {XlorkClient} from "@xlork/react";

function App() {
	const settings = {
		title: "Upload Your Data",
		columns: [
			{
				label: "Name",
				key: "name",
			},
			{
				label: "Email",
				key: "email",
			},
			{
				label: "DOB",
				key: "date",
				type: "date",
				format: "YYYY-MM-DD",
			},
			{
				label: "Address",
				key: "address",
				validators: {
					required: true,
					error: "Address can not be blank",
				},
			},
			{
				label: "Status",
				key: "status",
				type: "select",
				options: {
					0: "Active",
					1: "Inactive",
					3: "Pending",
				},
			},
			{
				label: "Address Type",
				key: "type",
				type: "dropdown",
				options: ["home", "office"],
				defaultValue: "home",
			},
		],
	};

	const user = {
		email: "[email protected]",
	};

	const handleComplete = (data) => {
		console.log("✅ Upload completed:", data);
	};

	const handleCancel = () => {
		console.log("❌ Upload cancelled");
	};

	return (
		<XlorkClient
			licenseKey="your-license-key"
			user={user}
			settings={settings}
			onComplete={handleComplete}
			onCancel={handleCancel}
		/>
	);
}

export default App;

⚙️ Props

| Prop | Type | Required | Description | | -------------- | ----------- | -------- | ------------------------------------------- | | licenseKey | string | ✅ | Your XLork license key | | user | object | ✅ | User object with at least an email field | | settings | object | ⚠️ | Optional UI & behavior config | | onComplete | function | ⚠️ | Callback triggered when upload completes | | onCancel | function | ⚠️ | Callback triggered when upload is cancelled | | origin | string | ❌ | Custom backend URL if self-hosted | | children | ReactNode | ❌ | Render custom trigger (e.g. a button) | | loadOnDemand | function | ❌ | Use to programmatically trigger upload |


🛠️ Settings Object

Customize the behavior and appearance of the upload widget using the settings prop:

{
	title: "Upload Data",         // Form title
	columns: [                    // Field definitions
		{ label: "Name", key: "name" },
		{ label: "Email", key: "email" }
	],
	display: "popup",             // 'popup' or 'inline'
	header: true,                 // Show header text
	branding: false,              // Show 'Powered by XLork'
	history: false,               // Enable upload history
	social: true                  // Show social share options
	allowInvalidSubmit: true,     // Allow submission of invalid records
	theme: null,                  // Custom theme (if available)
	maxRecords: 0,                // 0 means no limit
	sampleUrl: null,              // Optional sample file URL

}

🌟 Features

Easy integration — drop in a component and start accepting data.
Built-in validation — ensure data integrity at source.
Highly customizable — adapt styling, columns, and behavior as needed.
Upload history — users can review their upload sessions (optional).
Supports large data sets — efficiently handles large files.
Self-host or cloud — flexible deployment options.


🧠 Tips & Best Practices

  • Use display: "inline" to embed the uploader into the page.
  • Add sampleUrl to help users with formatting.
  • Use loadOnDemand to decouple the uploader from UI buttons.

📜 License

MIT © Xlork.com


🌐 Links

💼 Who’s using XLork?

Companies like Zeo, Konnector, LeadRouter, Dolr.in, and many others trust XLork for their data onboarding needs.