🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

yjs-editorjs-binding

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

yjs-editorjs-binding

Editor.js binding for yjs

latest
Source
npmnpm
Version
0.0.14
Version published
Maintainers
1
Created
Source

Editorjs binding for yjs

THIS IS A WORK-IN-PROGRESS: I'm currently exploring the idea; below is the vision, time will tell 😉 - Matt

Roadmap

  • Working binding
  • Add tooling (prettier and more)
  • Tested binding
  • Add tooling (suitable NPM package generation)
  • Deem a stable(ish) beta release (+ version bump)
  • Create first beta release on NPM
  • Open up to public for community testing and feedback
  • More testing/amends once initial bugs uncovered
  • Use in a private product / gather community issues and update beta release
  • Push stable release on NPM

There are no timelines for the moment, although I'm keen to quite quickly get this sorted over a period of weeks.

Why?

Looking to utilise collaboration in a product that uses Editor JS. hughfenghen/y-editorjs is a fantastic starting point but needs a little more love that includes breaking changes. Mad credit to hughfenghen for getting this on the road.

Decided not to create a pull request as we're in need of active development on this. Open to potentially merging in the future.

Use

BETA - This is still under active development

  • Import yjs-editorjs-binding package
Package ManagerCommand
NPMnpm i yjs-editorjs-binding
Yarnyarn add yjs-editorjs-binding
PNPMpnpm i yjs-editorjs-binding
  • Use in your code, like the example below:
import { Doc as YDoc } from "yjs"
import EditorJS from "@editorjs/editorjs"
import { YJSEditorJSBinding } from "yjs-editorjs-binding"

const yDoc = new YDoc()
const yArray = yDoc.getArray("docId")

const binding = new YJSEditorJSBinding(yArray)

const editor = new EditorJS({
    holder: document.querySelector<HTMLElement>("#editor-js"),

    // Hook in our binding listener into Editor JS
    onChange: (api, event: CustomEvent) => {
        binding.onBlockEventEditorJS(api, event)
    },
})

binding.bindEditor(editor)

How to run this repo

  • Clone this repo
  • pnpm i
  • pnpm run dev and pnpm run ws (runs client and WS server)
  • Open http://localhost:8080 in two browser tabs and play

Goals

  • Release a stable solution for Editor JS binding.
  • Encourage pull requests to continue the development of this yJS Editor JS Binding.

Community

Pull requests and issues are highly encouraged and will be responded to rather quickly.

Like any Open Source project; this doesn't pay the bills! Consideration of that is expected in all community comms. We're in this together. 🔥

FAQs

Where's dependabot?

It's coming! With PNPM becoming a first-class recommendation in many ecosystems, the Dependabot team are looking to release a solution soon - https://github.com/dependabot/dependabot-core/issues/1736#issuecomment-1507582193

Keywords

Yjs

FAQs

Package last updated on 17 Apr 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts