
Security News
PEP 810 Proposes Explicit Lazy Imports for Python 3.15
An opt-in lazy import keyword aims to speed up Python startups, especially CLIs, without the ecosystem-wide risks that sank PEP 690.
@kiwicom/cookies
Advanced tools
Finally a proper cookie management system. :cookie:
yarn add @kiwicom/cookies
The API handles:
import { Cookie, Settings, save, load, remove } from "@kiwicom/cookies";
Cookie
A TypeScript enum
that contains all cookie keys. Use it when manipulating cookies.
Settings
A TypeScript / Flow type
with the following keys:
analytics: boolean;
marketing: boolean;
save(key: Cookie, value: string, opts?: Options) => void
The Options
object is passed to js-cookie
and has these attributes:
domain: string
path: string
secure: boolean
Saves a cookie. Expiration is set automatically.
load(key: Cookie) => string | null
Loads a cookie.
remove(key: Cookie, opts?: Options) => void
The Options
object is passed to js-cookie
and has these attributes:
domain: string
path: string
secure: boolean
Removes a cookie.
TODO
import { Agreed, CookiesProvider, useCookies } from "@kiwicom/cookies";
Agreed
A TypeScript enum
with values TRUE
or FALSE
that signify if consent was agreed to.
CookiesProvider
A React context provider. Props:
agreedInitial?: Agreed | null
used for initial server-side rendering consistencyThe context has the following attributes:
agreed: Agreed | null
settings: Settings
handleAgree(agreed: true | false) => void
handleChange(settings: Settings) => void
Call handleAgree
when the user consents / revokes consent. Does not change settings on agreeing,
so call in conjunction with handleChange
.
Call handleChange
when user changes his cookie preferences.
useCookies
A utility hook that retrieves the context value.
Make scripts loadable via HTTP requests, then create <script />
tags with attributes:
src
pointing to the script's URLtype
of "text/plain"
data-cookiescript
with value of "necessary" | "analytics" | "marketing"
The scripts will be loaded and executed on demand, based on the user's cookie settings.
Load the @kiwicom/cookies/cookies.json
file for a list of objects with the following signature:
type Cookie = {
name: string;
category: string;
type: "cookie"; // for now
description: string;
};
MIT
FAQs
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
An opt-in lazy import keyword aims to speed up Python startups, especially CLIs, without the ecosystem-wide risks that sank PEP 690.
Security News
Socket CEO Feross Aboukhadijeh discusses the recent npm supply chain attacks on PodRocket, covering novel attack vectors and how developers can protect themselves.
Security News
Maintainers back GitHub’s npm security overhaul but raise concerns about CI/CD workflows, enterprise support, and token management.