
Research
Supply Chain Attack on Axios Pulls Malicious Dependency from npm
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.
@pyyupsk/copyright
Advanced tools
A framework-agnostic TypeScript library for displaying copyright notices with auto year calculation, preset formats, custom templates, and React support
A framework-agnostic TypeScript library for displaying copyright notices with auto year calculation, preset formats, custom templates, and React support.
npm install @pyyupsk/copyright
# or
bun add @pyyupsk/copyright
import { Copyright } from "@pyyupsk/copyright";
const copyright = new Copyright({ owner: "ACME Corp" });
console.log(copyright.getText()); // © 2026 ACME Corp
const copyright = new Copyright({
owner: "ACME Corp",
startYear: 2020,
});
console.log(copyright.getText()); // © 2020-2026 ACME Corp
const copyright = new Copyright({
owner: "ACME Corp",
format: "standard",
});
console.log(copyright.getText()); // Copyright © 2026 ACME Corp
// Available formats: minimal, standard, full, legal
const copyright = new Copyright({
owner: "ACME Corp",
template: "Made by {owner} in {year}",
});
console.log(copyright.getText()); // Made by ACME Corp in 2026
// Available variables: {symbol}, {year}, {owner}, {startYear}, {endYear}
const copyright = new Copyright({ owner: "ACME Corp" });
// Default span
console.log(copyright.toHTML());
// <span>© 2026 ACME Corp</span>
// With options
console.log(
copyright.toHTML({
tag: "footer",
className: "copyright-text",
style: { color: "gray" },
}),
);
// <footer class="copyright-text" style="color: gray">© 2026 ACME Corp</footer>
const copyright = new Copyright({ owner: "ACME Corp" });
// Render to selector
copyright.render("#footer");
// Render to Element
const container = document.getElementById("footer");
copyright.render(container, { tag: "small", className: "text-muted" });
import { Copyright } from "@pyyupsk/copyright/react";
function Footer() {
return (
<Copyright
owner="ACME Corp"
startYear={2020}
format="standard"
as="footer"
className="text-gray-500"
/>
);
}
Copyright Classnew Copyright(options: CopyrightOptions);
| Option | Type | Default | Description |
|---|---|---|---|
owner | string | (required) | Copyright owner name |
startYear | number | current | Start year for range |
endYear | number | "auto" | "auto" | End year (auto = current) |
format | "minimal" | "standard" | "full" | "legal" | "minimal" | Preset format |
template | string | - | Custom template (overrides) |
getText() - Returns plain text copyright stringtoHTML(options?) - Returns HTML string with optional tag, className, stylerender(target, options?) - Renders to DOM element (selector or Element)setOptions(options) - Updates options (chainable)static create(options) - Factory method<Copyright /> ComponentAll CopyrightOptions plus:
| Prop | Type | Default | Description |
|---|---|---|---|
as | string | "span" | Element type |
tag | string | "span" | Alias for as |
className | string | - | CSS class |
style | object | - | Inline styles |
FAQs
A framework-agnostic TypeScript library for displaying copyright notices with auto year calculation, preset formats, custom templates, and React support
We found that @pyyupsk/copyright demonstrated a healthy version release cadence and project activity because the last version was released less than 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.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.

Security News
TeamPCP is partnering with ransomware group Vect to turn open source supply chain attacks on tools like Trivy and LiteLLM into large-scale ransomware operations.