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

@onlyoffice/document-editor-svelte

v1.0.0

Published

Svelte component for ONLYOFFICE Document Server

Readme

@onlyoffice/document-editor-svelte

This repo contains the ONLYOFFICE Docs Svelte component which integrates ONLYOFFICE Document Server into Svelte projects.

Please note: Before working with this component, you need to install ONLYOFFICE Docs. To do so, you can use Docker (recommended).

Prerequisites

This procedure requires Node.js (and npm).

The component supports Svelte 4 and Svelte 5.

Creating the demo Svelte application with ONLYOFFICE Docs editor

This procedure creates a basic Svelte application and installs an ONLYOFFICE Docs editor in it.

  1. Create a new Svelte project named onlyoffice-svelte-demo using the Vite package:
npm create vite@latest onlyoffice-svelte-demo -- --template svelte
  1. Go to the newly created directory and install its dependencies:
cd onlyoffice-svelte-demo
npm install
  1. Install ONLYOFFICE Docs Svelte component from npm and save it to the package.json file with --save:
npm install --save @onlyoffice/document-editor-svelte
  1. Open the ./src/App.svelte file in the onlyoffice-svelte-demo project and replace its contents with the following code:
<script>
    import { DocumentEditor } from "@onlyoffice/document-editor-svelte";

    var onDocumentReady = function () {
        console.log("Document is loaded");
    };

    var onLoadComponentError = function (errorCode, errorDescription) {
        switch (errorCode) {
            case -1: // Unknown error loading component
                console.log(errorDescription);
                break;

            case -2: // Error load DocsAPI from http://documentserver/
                console.log(errorDescription);
                break;

            case -3: // DocsAPI is not defined
                console.log(errorDescription);
                break;
        }
    };
</script>

<DocumentEditor
    id="docxEditor"
    documentServerUrl="http://documentserver/"
    config={{
        "document": {
            "fileType": "docx",
            "key": "Khirz6zTPdfd7",
            "title": "Example Document Title.docx",
            "url": "https://example.com/url-to-example-document.docx"
        },
        "documentType": "word",
        "editorConfig": {
            "callbackUrl": "https://example.com/url-to-callback.ashx"
        },
        "events": {
            "onDocumentReady": onDocumentReady
        },
        "height": "100%",
        "width": "100%"
    }}
    onLoadComponentError={onLoadComponentError}
/>

Replace the following lines with your own data:

  • "http://documentserver/" - replace with the URL of your server;
  • "https://example.com/url-to-example-document.docx" - replace with the URL to your file;
  • "https://example.com/url-to-callback.ashx" - replace with your callback URL (this is required for the saving functionality to work).

This file will create the App component containing the ONLYOFFICE Docs editor configured with basic features.

  1. Test the application using the Node.js development server:
  • To start the development server, navigate to the onlyoffice-svelte-demo directory and run:
npm run dev
  • To stop the development server, select on the command line or command prompt and press Ctrl+C.

Deploying the demo Svelte application

The easiest way to deploy the application to a production environment is to install serve and create a static server:

  1. Install the serve package globally:
npm install -g serve
  1. Serve your static site on the 3000 port:
serve -s dist

Another port can be adjusted using the -l or --listen flags:

serve -s dist -l 4000
  1. To serve the project folder, go to it and run the serve command:
cd onlyoffice-svelte-demo
serve

Now you can deploy the application to the created server:

  1. Navigate to the onlyoffice-svelte-demo directory and run:
npm run build

The dist directory will be created with a production build of your app.

  1. Copy the contents of the onlyoffice-svelte-demo/dist directory to the root directory of the web server (to the onlyoffice-svelte-demo folder).

The application will be deployed on the web server (http://localhost:3000 by default).

API

Props

| Name | Type | Default | Required | Description | | ------------- | ------------- | ------------- | ------------- | ------------- | | id | string | null | yes | Component unique identifier. It is also the id of the placeholder element the editor is rendered into. | | documentServerUrl | string | null | yes | Address of ONLYOFFICE Document Server. | | shardkey | string | boolean | true | no | The string or boolean parameter required to request load balancing during collaborative editing: all users editing the same document are served by the same server. Shard key| | config | object | null | yes | Generic configuration object for opening a file with token, including the events section with the editor callbacks. Config API | | onLoadComponentError | (errorCode: number, errorDescription: string) => void | null | no | The function called when an error occurs while loading a component |

The editor callbacks (onDocumentReady, onError, onRequestSaveAs and the rest) are passed inside config.events, exactly as described in the Config API.

The component renders a single <div id={id}> placeholder that Document Server fills with its iframe, so give that element a size — either through config.height and config.width or with your own CSS.

Changing documentServerUrl or config destroys the current editor and creates a new one.

TypeScript

Type definitions for the editor configuration come from @onlyoffice/doceditor-types, which is a peer dependency of this package:

npm install --save @onlyoffice/doceditor-types

Development

Clone project from the GitHub repository:

git clone https://github.com/ONLYOFFICE/document-editor-svelte

Install the project dependencies:

npm install

Check the types of the component:

npm run check

Lint the project:

npm run lint

Build the project:

npm run build

Create the package:

npm pack

Run the end-to-end tests:

The e2e directory is a separate Svelte application that installs the packed component and drives it with Playwright. Browsers have to be installed once:

npm --prefix e2e exec playwright install chromium
npm run test:e2e

To test a version published on npm instead of the local sources, set E2E_LIB_VERSION:

E2E_LIB_VERSION=0.1.0 npm run test:e2e

Feedback and support

In case you have any issues, questions, or suggestions for the ONLYOFFICE Document Server Svelte component, please refer to the Issues section.

Official project website: www.onlyoffice.com.

Support forum: forum.onlyoffice.com.