![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
r2-streamer-js
Advanced tools
NodeJS implementation (written in TypeScript) and HTTP micro-services (Express middleware) for https://github.com/readium/readium-2/tree/master/streamer
THIS SOFTWARE IS ALPHA!
Public APIs are not stable. The internal logical architecture and physical code organization is changing frequently.
node --version
and npm --version
)yarn --version
)https://github.com/edrlab/r2-streamer-js
There is no github.io site for this project (no gh-pages branch).
Wiki documentation is not used, instead there are Markdown files inside the repository (docs folder).
Note that there are currently no API docs for the source code.
https://www.npmjs.com/package/r2-streamer-js
Command line install:
yarn add r2-streamer-js
npm install r2-streamer-js
...or manually add in your package.json
:
"dependencies": {
"r2-streamer-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-streamer-js/dist/
More information about NodeJS compatibility:
Note that web-browser Javascript is not supported (only NodeJS runtimes).
The type definitions (aka "typings") are included as *.d.ts
files in ./node_modules/r2-streamer-js/dist/**
, so this package can be used directly in a TypeScript project. Example usage (subject to change, as the APIs and module structure is not finalized yet):
import { * } from "r2-streamer-js";
// or:
import { Publication } from "r2-streamer-js/dist/es5/src/models/publication";
https://david-dm.org/edrlab/r2-streamer-js
A yarn.lock file is provided at the root of the source tree, and Yarn is recommended to manage NPM dependencies.
A package-lock.json is also provided, now that NPM supports this as an alternative to npm-shrinkwrap.json
.
https://travis-ci.org/edrlab/r2-streamer-js
TravisCI builds are triggered automatically at every Git "push" in the develop
branch.
The target runtime is NodeJS 8, and the test runners use the ES8-2017 code transpiled from TypeScript. Note that unit-tests are currently very incomplete.
A test server app (not production-ready) is automatically deployed at Heroku, at every Git "push" in the develop
branch:
https://readium2.herokuapp.com
A backup / redundant app is manually deployed at Now.sh:
Both servers run NodeJS 8, and the apps are based on the ES8-2017 code transpiled from TypeScript.
HTTP CORS headers are served to allow cross-origin / remote API requests.
Command line steps:
cd r2-streamer-js
npm update --global
(sync NPM global packages)yarn global upgrade
(sync Yarn global packages)yarn install
(initialize local node_modules
packages from dependencies declared in package.json
)yarn upgrade
(sync local packages)yarn run build:all
(invoke the main build script: clean, lint, compile)yarn test
(run the unit tests)yarn run server-debug {PATH_TO_EPUB_OR_DIR}
(path is relative or absolute)https://github.com/edrlab/r2-streamer-js/blob/develop/docs/http.md
https://github.com/edrlab/r2-streamer-js/blob/develop/docs/remote-epub.md
https://github.com/edrlab/r2-streamer-js/blob/develop/docs/opds.md
https://github.com/edrlab/r2-streamer-js/blob/develop/docs/encryption.md
FAQs
Readium 2 'streamer' for NodeJS (TypeScript)
The npm package r2-streamer-js receives a total of 293 weekly downloads. As such, r2-streamer-js popularity was classified as not popular.
We found that r2-streamer-js demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
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.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.