
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
swork-link is a swork middleware designed to allow the dynamic injection of new middleware into an existing middleware pipeline. It is built with TypeScript and async methods.
License
MIT
Installation
npm install swork-link
yarn add swork-link
Example
// sw.ts
import { Swork } from "swork";
import { link } from "swork-link";
export const app = new Swork();
// Global logic
app.use(/* 1st middleware */)
.use(link())
.use(/* 4th middleware */)
.listen();
// area-sw.ts
import { Swork } from "swork";
import "swork-link";
import "./sw";
const app = new Swork();
// Specific area logic
app.use(/* 2nd middleware */)
.use(/* 3rd middleware */)
.targetLink();
In the above example, the area service worker is injected into the global service worker pipeline resulting in the expected middleware execution order. This allows a global service worker module or bundle to be built independently and reused by any referencing service worker.
link
Create a link location within a middleware pipeline. link
can be passed a key to manage multiple link locations. If no key is passed, the key defaults to default
.
If there is no corresponding link
const app = new Swork();
app.use(link());
// or
app.use(link("foo"));
targetLink
Target a link defined in another swork pipeline. Similarly to link
, targetLink
can be passed a key to manage multiple link locations.
const app = new Swork();
app.targetLink();
// or
app.targetLink("foo");
link
and targetLink
can be used in a single bundle (see first example) or across multiple bundles. In the case of multiple bundles, importScripts
becomes necessary.
// area-sw.ts
import { Swork } from "swork";
import "swork-link";
self.importScripts("sw.js");
const app = new Swork();
// Specific area logic
app.use(/* 2nd middleware */)
.use(/* 3rd middleware */)
.targetLink();
If you are using swork or any of its related middlewares, please let me know on gitter. I am always looking for feedback or additional middleware ideas.
FAQs
Dynamic middleware linker for the swork framework.
We found that swork-link demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.