Skip to content
/ rangy Public
forked from timdown/rangy

A cross-browser JavaScript range and selection library.

License

Notifications You must be signed in to change notification settings

ohze/rangy

 
 

Repository files navigation

Rangy2

A cross-browser JavaScript range and selection library.

Compare to rangy 1.x

  • migrated to typescript
    • so, the definition types is always updated
  • use typescript's module (import / export) instead of the complex rangy.createModule logic
  • remove TextRange & inactive modules
    • if you use those modules, please migrate to rangy2 & create a pull request.
  • use rollup instead of the old complex manually with text-replacing building logic
  • don't support too-outdated browser: IE < 9
    • removed many outdated feature testing logic (for too-outdated browser)
  • migrated testing code to QUnit
    • dont use jest because we need test in android/ ios
  • remove rangy.init (& rangy.addInitListener)
    • rangy is "initialized" even before DOM ready!
    • So, many bugs like 326, 321 is auto-fixed!

Guide to migrate from rangy 1.x to rangy2

  • removed:

    • util.extend. Pls use Object.assign
    • util.toArray. Pls use Array.slice
    • util.forEach
    • dom.arrayContains. Pls use Array.includes
    • initialized, init, addInitListener. rangy is now always initialized right when import
    • addShimListener
    • createModule, createCoreModule
    • warn, fail, supported
    • RangePrototype, rangePrototype, selectionPrototype
    • WrappedTextRange
  • note: to support IE, we bundled the following core-js modules into dist/*/bundles/index.umd.js (not bundle into index.esm.js & other module types)

import "core-js/features/array/includes";
import "core-js/features/object/assign";

Install

yarn add rangy2

Documentation

Documentation is in the GitHub wiki.

Dev guide

yarn install
yarn run dev
  • test by opening test/*.html in a desktop or mobile browser

About

A cross-browser JavaScript range and selection library.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 58.4%
  • TypeScript 33.9%
  • HTML 6.4%
  • CSS 1.3%