Package Exports
- r2-shared-js
- r2-shared-js/dist/es5/src/_utils/zipHasEntry
- r2-shared-js/dist/es5/src/_utils/zipHasEntry.js
- r2-shared-js/dist/es5/src/init-globals
- r2-shared-js/dist/es5/src/init-globals.js
- r2-shared-js/dist/es5/src/models/media-overlay
- r2-shared-js/dist/es5/src/models/media-overlay.js
- r2-shared-js/dist/es5/src/models/metadata
- r2-shared-js/dist/es5/src/models/metadata-belongsto
- r2-shared-js/dist/es5/src/models/metadata-belongsto.js
- r2-shared-js/dist/es5/src/models/metadata-contributor
- r2-shared-js/dist/es5/src/models/metadata-contributor.js
- r2-shared-js/dist/es5/src/models/metadata-properties
- r2-shared-js/dist/es5/src/models/metadata-properties.js
- r2-shared-js/dist/es5/src/models/metadata-subject
- r2-shared-js/dist/es5/src/models/metadata-subject.js
- r2-shared-js/dist/es5/src/models/metadata.js
- r2-shared-js/dist/es5/src/models/publication
- r2-shared-js/dist/es5/src/models/publication-link
- r2-shared-js/dist/es5/src/models/publication-link.js
- r2-shared-js/dist/es5/src/models/publication.js
- r2-shared-js/dist/es5/src/parser/epub
- r2-shared-js/dist/es5/src/parser/epub.js
- r2-shared-js/dist/es5/src/parser/publication-parser
- r2-shared-js/dist/es5/src/parser/publication-parser.js
- r2-shared-js/dist/es5/src/transform/transformer
- r2-shared-js/dist/es5/src/transform/transformer-html
- r2-shared-js/dist/es5/src/transform/transformer-html.js
- r2-shared-js/dist/es5/src/transform/transformer.js
- r2-shared-js/dist/es6-es2015/src/_utils/zipHasEntry
- r2-shared-js/dist/es6-es2015/src/_utils/zipHasEntry.js
- r2-shared-js/dist/es6-es2015/src/index.js
- r2-shared-js/dist/es6-es2015/src/init-globals
- r2-shared-js/dist/es6-es2015/src/init-globals.js
- r2-shared-js/dist/es6-es2015/src/models/media-overlay
- r2-shared-js/dist/es6-es2015/src/models/media-overlay.js
- r2-shared-js/dist/es6-es2015/src/models/metadata
- r2-shared-js/dist/es6-es2015/src/models/metadata-belongsto
- r2-shared-js/dist/es6-es2015/src/models/metadata-belongsto.js
- r2-shared-js/dist/es6-es2015/src/models/metadata-contributor
- r2-shared-js/dist/es6-es2015/src/models/metadata-contributor-json-converter
- r2-shared-js/dist/es6-es2015/src/models/metadata-contributor-json-converter.js
- r2-shared-js/dist/es6-es2015/src/models/metadata-contributor.js
- r2-shared-js/dist/es6-es2015/src/models/metadata-media-overlay
- r2-shared-js/dist/es6-es2015/src/models/metadata-media-overlay.js
- r2-shared-js/dist/es6-es2015/src/models/metadata-properties
- r2-shared-js/dist/es6-es2015/src/models/metadata-properties.js
- r2-shared-js/dist/es6-es2015/src/models/metadata-subject
- r2-shared-js/dist/es6-es2015/src/models/metadata-subject-json-converter
- r2-shared-js/dist/es6-es2015/src/models/metadata-subject-json-converter.js
- r2-shared-js/dist/es6-es2015/src/models/metadata-subject.js
- r2-shared-js/dist/es6-es2015/src/models/metadata.js
- r2-shared-js/dist/es6-es2015/src/models/publication
- r2-shared-js/dist/es6-es2015/src/models/publication-link
- r2-shared-js/dist/es6-es2015/src/models/publication-link.js
- r2-shared-js/dist/es6-es2015/src/models/publication.js
- r2-shared-js/dist/es6-es2015/src/parser/epub
- r2-shared-js/dist/es6-es2015/src/parser/epub.js
- r2-shared-js/dist/es6-es2015/src/parser/publication-parser
- r2-shared-js/dist/es6-es2015/src/parser/publication-parser.js
- r2-shared-js/dist/es6-es2015/src/transform/transformer
- r2-shared-js/dist/es6-es2015/src/transform/transformer-html
- r2-shared-js/dist/es6-es2015/src/transform/transformer-html.js
- r2-shared-js/dist/es6-es2015/src/transform/transformer.js
- r2-shared-js/dist/es7-es2016/src/_utils/zipHasEntry
- r2-shared-js/dist/es7-es2016/src/_utils/zipHasEntry.js
- r2-shared-js/dist/es7-es2016/src/init-globals
- r2-shared-js/dist/es7-es2016/src/init-globals.js
- r2-shared-js/dist/es7-es2016/src/models/media-overlay
- r2-shared-js/dist/es7-es2016/src/models/media-overlay.js
- r2-shared-js/dist/es7-es2016/src/models/metadata
- r2-shared-js/dist/es7-es2016/src/models/metadata-belongsto
- r2-shared-js/dist/es7-es2016/src/models/metadata-belongsto.js
- r2-shared-js/dist/es7-es2016/src/models/metadata-contributor
- r2-shared-js/dist/es7-es2016/src/models/metadata-contributor.js
- r2-shared-js/dist/es7-es2016/src/models/metadata-properties
- r2-shared-js/dist/es7-es2016/src/models/metadata-properties.js
- r2-shared-js/dist/es7-es2016/src/models/metadata-subject
- r2-shared-js/dist/es7-es2016/src/models/metadata-subject.js
- r2-shared-js/dist/es7-es2016/src/models/metadata.js
- r2-shared-js/dist/es7-es2016/src/models/publication
- r2-shared-js/dist/es7-es2016/src/models/publication-link
- r2-shared-js/dist/es7-es2016/src/models/publication-link.js
- r2-shared-js/dist/es7-es2016/src/models/publication.js
- r2-shared-js/dist/es7-es2016/src/parser/epub
- r2-shared-js/dist/es7-es2016/src/parser/epub.js
- r2-shared-js/dist/es7-es2016/src/parser/publication-parser
- r2-shared-js/dist/es7-es2016/src/parser/publication-parser.js
- r2-shared-js/dist/es7-es2016/src/transform/transformer
- r2-shared-js/dist/es7-es2016/src/transform/transformer-html
- r2-shared-js/dist/es7-es2016/src/transform/transformer-html.js
- r2-shared-js/dist/es7-es2016/src/transform/transformer.js
- r2-shared-js/dist/es8-es2017/src/_utils/zipHasEntry
- r2-shared-js/dist/es8-es2017/src/_utils/zipHasEntry.js
- r2-shared-js/dist/es8-es2017/src/init-globals
- r2-shared-js/dist/es8-es2017/src/init-globals.js
- r2-shared-js/dist/es8-es2017/src/models/media-overlay
- r2-shared-js/dist/es8-es2017/src/models/media-overlay.js
- r2-shared-js/dist/es8-es2017/src/models/metadata
- r2-shared-js/dist/es8-es2017/src/models/metadata-belongsto
- r2-shared-js/dist/es8-es2017/src/models/metadata-belongsto.js
- r2-shared-js/dist/es8-es2017/src/models/metadata-contributor
- r2-shared-js/dist/es8-es2017/src/models/metadata-contributor.js
- r2-shared-js/dist/es8-es2017/src/models/metadata-properties
- r2-shared-js/dist/es8-es2017/src/models/metadata-properties.js
- r2-shared-js/dist/es8-es2017/src/models/metadata-subject
- r2-shared-js/dist/es8-es2017/src/models/metadata-subject.js
- r2-shared-js/dist/es8-es2017/src/models/metadata.js
- r2-shared-js/dist/es8-es2017/src/models/publication
- r2-shared-js/dist/es8-es2017/src/models/publication-link
- r2-shared-js/dist/es8-es2017/src/models/publication-link.js
- r2-shared-js/dist/es8-es2017/src/models/publication.js
- r2-shared-js/dist/es8-es2017/src/parser/audiobook
- r2-shared-js/dist/es8-es2017/src/parser/audiobook.js
- r2-shared-js/dist/es8-es2017/src/parser/daisy
- r2-shared-js/dist/es8-es2017/src/parser/daisy-convert-to-epub
- r2-shared-js/dist/es8-es2017/src/parser/daisy-convert-to-epub.js
- r2-shared-js/dist/es8-es2017/src/parser/daisy.js
- r2-shared-js/dist/es8-es2017/src/parser/epub
- r2-shared-js/dist/es8-es2017/src/parser/epub-daisy-common
- r2-shared-js/dist/es8-es2017/src/parser/epub-daisy-common.js
- r2-shared-js/dist/es8-es2017/src/parser/epub.js
- r2-shared-js/dist/es8-es2017/src/parser/epub/container
- r2-shared-js/dist/es8-es2017/src/parser/epub/container.js
- r2-shared-js/dist/es8-es2017/src/parser/epub/display-options
- r2-shared-js/dist/es8-es2017/src/parser/epub/display-options.js
- r2-shared-js/dist/es8-es2017/src/parser/epub/encryption
- r2-shared-js/dist/es8-es2017/src/parser/epub/encryption.js
- r2-shared-js/dist/es8-es2017/src/parser/epub/ncx
- r2-shared-js/dist/es8-es2017/src/parser/epub/ncx.js
- r2-shared-js/dist/es8-es2017/src/parser/epub/opf
- r2-shared-js/dist/es8-es2017/src/parser/epub/opf.js
- r2-shared-js/dist/es8-es2017/src/parser/publication-parser
- r2-shared-js/dist/es8-es2017/src/parser/publication-parser.js
- r2-shared-js/dist/es8-es2017/src/transform/transformer
- r2-shared-js/dist/es8-es2017/src/transform/transformer-html
- r2-shared-js/dist/es8-es2017/src/transform/transformer-html.js
- r2-shared-js/dist/es8-es2017/src/transform/transformer.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (r2-shared-js) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
NodeJS / TypeScript Readium-2 "shared" models
NodeJS implementation (written in TypeScript) of core models for the Readium2 architecture ( https://github.com/readium/architecture/ ).
Build status
Prerequisites
- https://nodejs.org NodeJS >= 8, NPM >= 5 (check with command line
node --version
andnpm --version
) - OPTIONAL: https://yarnpkg.com Yarn >= 1.0 (check with command line
yarn --version
)
GitHub repository
https://github.com/readium/r2-shared-js
There is no github.io site for this project (no gh-pages branch).
NPM package
https://www.npmjs.com/package/r2-shared-js
Command line install:
npm install r2-shared-js
OR
yarn add r2-shared-js
...or manually add in your package.json
:
"dependencies": {
"r2-shared-js": "latest"
}
The JavaScript code distributed in the NPM package is usable as-is (no transpilation required), as it is automatically-generated from the TypeScript source.
Several ECMAScript flavours are provided out-of-the-box: ES5, ES6-2015, ES7-2016, ES8-2017:
https://unpkg.com/r2-shared-js/dist/
(alternatively, GitHub mirror with semantic-versioning release tags: https://github.com/edrlab/r2-shared-js-dist/tree/develop/dist/ )
The JavaScript code is not bundled, and it uses require()
statement for imports (NodeJS style).
More information about NodeJS compatibility:
Note that web-browser Javascript is currently not supported (only NodeJS runtimes).
The type definitions (aka "typings") are included as *.d.ts
files in ./node_modules/r2-shared-js/dist/**
, so this package can be used directly in a TypeScript project.
Example usage:
// from index file
import { Publication } from "r2-shared-js/dist/es5/src";
// ES5 import (assuming node_modules/r2-shared-js/):
import { Publication } from "r2-shared-js/dist/es5/src/models/publication";
// ... or alternatively using a convenient path alias in the TypeScript config (+ WebPack etc.):
import { Publication } from "@r2-shared-js/models/publication";
Dependencies
https://david-dm.org/readium/r2-shared-js
A package-lock.json is provided (modern NPM replacement for npm-shrinkwrap.json
).
A yarn.lock file is currently not provided at the root of the source tree.
Continuous Integration
TODO (unit tests?) https://travis-ci.org/readium/r2-shared-js
Badge: [](https://travis-ci.org/readium/r2-shared-js)
Version(s), Git revision(s)
NPM package (latest published):
https://unpkg.com/r2-shared-js/dist/gitrev.json
Alternatively, GitHub mirror with semantic-versioning release tags:
https://raw.githack.com/edrlab/r2-shared-js-dist/develop/dist/gitrev.json
Developer quick start
Command line steps (NPM, but similar with YARN):
cd r2-shared-js
git status
(please ensure there are no local changes, especially inpackage-lock.json
and the dependency versions inpackage.json
)rm -rf node_modules
(to start from a clean slate)npm install
, or alternativelynpm ci
(both commands initialize thenode_modules
tree of package dependencies, based on the strictpackage-lock.json
definition)npm run build:all
(invoke the main build script: clean, lint, compile)ls dist
(that's the build output which gets published as NPM package)npm run cli PATH_TO_PACKED_OR_EXPLODED_EPUB PATH_TO_OUTPUT_FOLDER OPTIONAL_DECRYPT_KEY
(to parse a publication and convert it to a Readium2 manifest with extracted resources, paths can be relative or absolute)npm run cli ./misc/epubs/wasteland-otf-obf_LCP_dan.lcpl.epub ./misc/epubs/ dan
(same as above, working example with built-in sample LCP basic/test profile)npm run cli ./misc/epubs/wasteland-otf-obf_LCP_dan.lcpl.epub ./misc/epubs/ ec4f2dbb3b140095550c9afbbb69b5d6fd9e814b9da82fad0b34e9fcbe56f1cb
(same as above, with SHA256 checksum/hex-digest to avoid plain-text passphrase in console)npm run cli https://raw.githubusercontent.com/readium/r2-shared-js/develop/misc/epubs/wasteland-otf-obf_LCP_dan.lcpl.epub ./misc/epubs/ dan
(same as above, but with a remote HTTP URL)
Daisy Integration
Documentation
TODO