A blazing fast, dependency free, 1kb runtime type-checking library written entirely in typescript, meant to be used with it.

Overview

GitHub Workflow Status Codecov GitHub issues GitHub npm npm bundle size

Typed

A blazing fast, dependency free, 1kb runtime type-checking library written entirely in typescript, meant to be used with it.

There are dozens of validation libraries out there, so why create yet another one? Well, I tried almost every library out there and there is only one that I really like called superstruct (which is awesome) that provides almost everything that I want, but still, I wanted to create my own. The others are simply bloated or don't provide proper typescript support. So that's where typed comes in.

typed is all about function composition. Each function is "standalone" and provides a safe way to validate data, you don't need a special kind of function to execute a schema against some value. All functions return a special type which is either Success or Failure. If success is true then value is available and fully typed and if not, errors is available with a message and path from where it failed.

Install

npm install typed

Usage

import * as T from "typed";

const postType = T.object({
  id: T.number,
  title: T.string,
  tags: T.array(T.string),
});

const result = postType(/* some JSON data */);

if (result.success) {
  // value is available inside this block
  result.value;
} else {
  // errors is available inside this other block
  result.errors;
}

Types

typed only ships with a few primitives which serves as building blocks for more complex types.

  • any: Typed (defeats the purpose, don't use unless necessary)
  • array (type: Typed ): Typed
  • boolean: Typed
  • date: Typed
  • defaulted (type: Typed , fallback: T): Typed
  • enums (enum: T): Typed (Real typescript enums only)
  • literal(constant: string | number | boolean | null): Typed
  • nullable (type: Typed ): Typed
  • number: Typed
  • object (shape: T): Typed >
  • optional (type: Typed ): Typed
  • string: Typed
  • tuple(...types: Typed[]): Typed<[...types]>
  • union(...types: Typed[]): Typed

Type casting

  • asDate: Typed
  • asNumber: Typed
  • asString: Typed

As you can see, typed provides a few type-casting methods for convenience.

{ id: 1, createdAt: Date("2021-10-23T00:00:00.000Z") } ">
import * as T from "typed";

const postType = T.object({
  id: T.asNumber,
  createdAt: T.asDate,
});

postType({ id: "1", createdAt: "2021-10-23" }); // => { id: 1, createdAt: Date("2021-10-23T00:00:00.000Z") }

Custom validations

typed allows you to refine types with the map function as you'll see next.

isEmail(value) ? T.success(value) : T.failure(T.toError(`Expecting value to be a valid 'email'`)), ); // Later in your code const userType = T.object({ id: T.number, name: T.string, email: emailType, }); ">
import * as T from "typed";
import isEmail from "is-email";

const emailType = T.map(T.string, (value) =>
  isEmail(value)
    ? T.success(value)
    : T.failure(T.toError(`Expecting value to be a valid 'email'`)),
);

// Later in your code
const userType = T.object({
  id: T.number,
  name: T.string,
  email: emailType,
});

map also allows you to convert or re-shape an input type to another output type.

T.map(T.number, (value) => { if (value < floor || value > ceiling) { return T.failure( T.toError( `Expecting value to be between '${floor}' and '${ceiling}'. Got '${value}'`, ), ); } return T.success(value); }); const latType = rangeType(-90, 90); const lngType = rangeType(-180, 180); const geoType = T.object({ lat: latType, lng: lngType, }); const latLngType = T.tuple(T.asNumber, T.asNumber); // It will take a string as an input and it will return `{ lat: number, lng: number }` as an output. const geoStrType = T.map(T.string, (value) => { const result = latLngType(value.split(",")); return result.success ? geoType({ lat: result.value[0], lng: result.value[1] }) : result; }); const result = geoStrType("-39.031153, -67.576394"); // => { lat: -39.031153, lng: -67.576394 } ">
import * as T from "typed";

const rangeType = (floor: number, ceiling: number) =>
  T.map(T.number, (value) => {
    if (value < floor || value > ceiling) {
      return T.failure(
        T.toError(
          `Expecting value to be between '${floor}' and '${ceiling}'. Got '${value}'`,
        ),
      );
    }
    return T.success(value);
  });

const latType = rangeType(-90, 90);
const lngType = rangeType(-180, 180);

const geoType = T.object({
  lat: latType,
  lng: lngType,
});

const latLngType = T.tuple(T.asNumber, T.asNumber);

// It will take a string as an input and it will return `{ lat: number, lng: number }` as an output.
const geoStrType = T.map(T.string, (value) => {
  const result = latLngType(value.split(","));
  return result.success
    ? geoType({ lat: result.value[0], lng: result.value[1] })
    : result;
});

const result = geoStrType("-39.031153, -67.576394"); // => { lat: -39.031153, lng: -67.576394 }

There is another utility function called fold which lets you run either a onLeft or onRight function depending on the result of the validation.

; const fetcher = (path: string) => fetch(path) .then((res) => res.json()) .then(userType); const renderErrors = (errors: T.Err[]) => (
    {errors.map((err, key) => (
  • {`${err.message} @ ${err.path.join(".")}`}
  • ))}
); const renderProfile = (user: UserType) => (

{user.name}

{user.id}

); const Profile: React.FC = () => { const { data } = useSWR("/api/users", fetcher); if (!data) { return
Loading...
; } return T.fold(data, renderErrors, renderProfile); }; ">
import * as T from "typed";

const userType = T.object({
  id: T.number,
  name: T.string,
});

type UserType = T.Infer<typeof userType>;

const fetcher = (path: string) =>
  fetch(path)
    .then((res) => res.json())
    .then(userType);

const renderErrors = (errors: T.Err[]) => (
  <ul>
    {errors.map((err, key) => (
      <li key={key}>{`${err.message} @ ${err.path.join(".")}`}</li>
    ))}
  </ul>
);

const renderProfile = (user: UserType) => (
  <div>
    <h1>{user.name}</h1>
    <p>{user.id}</p>
  </div>
);

const Profile: React.FC = () => {
  const { data } = useSWR("/api/users", fetcher);

  if (!data) {
    return <div>Loading...</div>;
  }

  return T.fold(data, renderErrors, renderProfile);
};

Inference

Sometimes you may want to infer the type of a validator function. You can do so with the Infer type.

; // => Post { id: number, title: string, tags: string[] } ">
import * as T from "typed";

const postType = T.object({
  id: T.number,
  title: T.string,
  tags: T.array(T.string),
});

type Post = T.Infer<typeof postType>; // => Post { id: number, title: string, tags: string[] }

Benchmark

typed is around 63% faster than superstruct and around 79% faster than zod when data is valid. Benchmarks were done on a Mac Mini (6-core, 3.0 GHz, 8 GB RAM) with Node.js 14.4.0 and TypeScript 4.4.4 using benny.

  superstruct (valid):
    3 486 ops/s, ±0.60%   | 63.32% slower

  zod (valid):
    1 961 ops/s, ±0.31%   | 79.37% slower

  typed (valid):
    9 505 ops/s, ±0.31%   | fastest

  superstruct (invalid):
    2 144 ops/s, ±2.68%   | 77.44% slower

  zod (invalid):
    1 250 ops/s, ±1.43%   | slowest, 86.85% slower

  typed (invalid):
    8 451 ops/s, ±0.23%   | 11.09% slower

Finished 6 cases!
  Fastest: typed (valid)
  Slowest: zod (invalid)

Demo

Demo

Comments
  • Typescript is not inferring Err properly on 4.0.0

    Typescript is not inferring Err properly on 4.0.0

    TLDR: compilerOptions.strict must be true

    Repro: https://stackblitz.com/edit/typescript-vhd1gg?file=index.ts

    Demonstration: image

    (btw, I should open another issue for that but just in case... foo should not be inferred as string | null as it is nullable?)

    opened by renatorib 4
  • Bump rollup from 2.65.0 to 2.66.1

    Bump rollup from 2.65.0 to 2.66.1

    Bumps rollup from 2.65.0 to 2.66.1.

    Release notes

    Sourced from rollup's releases.

    v2.66.1

    2022-01-25

    Bug Fixes

    • Only warn for conflicting names in namespace reexports if it actually causes problems (#4363)
    • Only allow explicit exports or reexports as synthetic namespaces and hide them from namespace reexports (#4364)

    Pull Requests

    v2.66.0

    2022-01-22

    Features

    • Note if a module has a default export in ModuleInfo to allow writing better proxy modules (#4356)
    • Add option to wait until all imported ids have been resolved when awaiting this.load (#4358)

    Pull Requests

    Changelog

    Sourced from rollup's changelog.

    2.66.1

    2022-01-25

    Bug Fixes

    • Only warn for conflicting names in namespace reexports if it actually causes problems (#4363)
    • Only allow explicit exports or reexports as synthetic namespaces and hide them from namespace reexports (#4364)

    Pull Requests

    2.66.0

    2022-01-22

    Features

    • Note if a module has a default export in ModuleInfo to allow writing better proxy modules (#4356)
    • Add option to wait until all imported ids have been resolved when awaiting this.load (#4358)

    Pull Requests

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 4
  • Bump eslint from 8.7.0 to 8.8.0

    Bump eslint from 8.7.0 to 8.8.0

    Bumps eslint from 8.7.0 to 8.8.0.

    Release notes

    Sourced from eslint's releases.

    v8.8.0

    Features

    • 5d60812 feat: implement rfc 2021-suppression-support (#15459) (Yiwei Ding)

    Documentation

    • 5769cc2 docs: fix relative link (#15544) (Nick Schonning)
    • ccbc35f docs: trimmed rules h1s to just be rule names (#15514) (Josh Goldberg)
    • 851f1f1 docs: fixed typo in comment (#15531) (Jiapei Liang)
    • 7d7af55 docs: address upcoming violation of markdownlint rule MD050/strong-style (#15529) (David Anson)
    Changelog

    Sourced from eslint's changelog.

    v8.8.0 - January 28, 2022

    • 5d60812 feat: implement rfc 2021-suppression-support (#15459) (Yiwei Ding)
    • 5769cc2 docs: fix relative link (#15544) (Nick Schonning)
    • ccbc35f docs: trimmed rules h1s to just be rule names (#15514) (Josh Goldberg)
    • 851f1f1 docs: fixed typo in comment (#15531) (Jiapei Liang)
    • 7d7af55 docs: address upcoming violation of markdownlint rule MD050/strong-style (#15529) (David Anson)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 4
  • Bump @typescript-eslint/eslint-plugin from 5.10.0 to 5.10.2

    Bump @typescript-eslint/eslint-plugin from 5.10.0 to 5.10.2

    Bumps @typescript-eslint/eslint-plugin from 5.10.0 to 5.10.2.

    Release notes

    Sourced from @​typescript-eslint/eslint-plugin's releases.

    v5.10.2

    5.10.2 (2022-01-31)

    Bug Fixes

    • eslint-plugin: [no-restricted-imports] allow relative type imports with patterns configured (#4494) (4a6d217)

    v5.10.1

    5.10.1 (2022-01-24)

    Note: Version bump only for package @​typescript-eslint/typescript-eslint

    Changelog

    Sourced from @​typescript-eslint/eslint-plugin's changelog.

    5.10.2 (2022-01-31)

    Bug Fixes

    • eslint-plugin: [no-restricted-imports] allow relative type imports with patterns configured (#4494) (4a6d217)

    5.10.1 (2022-01-24)

    Note: Version bump only for package @​typescript-eslint/eslint-plugin

    Commits
    • 1d88ac1 chore: publish v5.10.2
    • 04baac8 docs: standardized rule docs heading and option-less Options (#4367)
    • 4a6d217 fix(eslint-plugin): [no-restricted-imports] allow relative type imports with ...
    • 3e1ebca chore: publish v5.10.1
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 3
  • Bump esbuild from 0.14.12 to 0.14.16

    Bump esbuild from 0.14.12 to 0.14.16

    Bumps esbuild from 0.14.12 to 0.14.16.

    Release notes

    Sourced from esbuild's releases.

    v0.14.16

    • Support property name mangling with some TypeScript syntax features

      The newly-released --mangle-props= feature previously only affected JavaScript syntax features. This release adds support for using mangle props with certain TypeScript syntax features:

      • TypeScript parameter properties

        Parameter properties are a TypeScript-only shorthand way of initializing a class field directly from the constructor argument list. Previously parameter properties were not treated as properties to be mangled. They should now be handled correctly:

        // Original code
        class Foo {
          constructor(public foo_) {}
        }
        new Foo().foo_;
        

        // Old output (with --minify --mangle-props=) class Foo{constructor(c){this.foo=c}}new Foo().o;

        // New output (with --minify --mangle-props=_) class Foo{constructor(o){this.c=o}}new Foo().c;

      • TypeScript namespaces

        Namespaces are a TypeScript-only way to add properties to an object. Previously exported namespace members were not treated as properties to be mangled. They should now be handled correctly:

        // Original code
        namespace ns {
          export let foo_ = 1;
          export function bar_(x) {}
        }
        ns.bar_(ns.foo_);
        

        // Old output (with --minify --mangle-props=) var ns;(e=>{e.foo=1;function t(a){}e.bar_=t})(ns||={}),ns.e(ns.o);

        // New output (with --minify --mangle-props=_) var ns;(e=>{e.e=1;function o(p){}e.t=o})(ns||={}),ns.t(ns.e);

    • Fix property name mangling for lowered class fields

      This release fixes a compiler crash with --mangle-props= and class fields that need to be transformed to older versions of JavaScript. The problem was that doing this is an unusual case where the mangled property name must be represented as a string instead of as a property name, which previously wasn't implemented. This case should now work correctly:

      // Original code
      class Foo {
        static foo_;
      

    ... (truncated)

    Changelog

    Sourced from esbuild's changelog.

    0.14.16

    • Support property name mangling with some TypeScript syntax features

      The newly-released --mangle-props= feature previously only affected JavaScript syntax features. This release adds support for using mangle props with certain TypeScript syntax features:

      • TypeScript parameter properties

        Parameter properties are a TypeScript-only shorthand way of initializing a class field directly from the constructor argument list. Previously parameter properties were not treated as properties to be mangled. They should now be handled correctly:

        // Original code
        class Foo {
          constructor(public foo_) {}
        }
        new Foo().foo_;
        

        // Old output (with --minify --mangle-props=) class Foo{constructor(c){this.foo=c}}new Foo().o;

        // New output (with --minify --mangle-props=_) class Foo{constructor(o){this.c=o}}new Foo().c;

      • TypeScript namespaces

        Namespaces are a TypeScript-only way to add properties to an object. Previously exported namespace members were not treated as properties to be mangled. They should now be handled correctly:

        // Original code
        namespace ns {
          export let foo_ = 1;
          export function bar_(x) {}
        }
        ns.bar_(ns.foo_);
        

        // Old output (with --minify --mangle-props=) var ns;(e=>{e.foo=1;function t(a){}e.bar_=t})(ns||={}),ns.e(ns.o);

        // New output (with --minify --mangle-props=_) var ns;(e=>{e.e=1;function o(p){}e.t=o})(ns||={}),ns.t(ns.e);

    • Fix property name mangling for lowered class fields

      This release fixes a compiler crash with --mangle-props= and class fields that need to be transformed to older versions of JavaScript. The problem was that doing this is an unusual case where the mangled property name must be represented as a string instead of as a property name, which previously wasn't implemented. This case should now work correctly:

      // Original code
      class Foo {
      

    ... (truncated)

    Commits
    • 8da1c79 publish 0.14.16 to npm
    • 8b7fab9 s/fix/support/
    • 2f922be fix compiler panic with lowered class fields
    • fb510ff mangle props uses object shorthand if possible
    • 8814ba2 update changelog
    • 508dc70 add test for mangle props and ts enum values
    • 46ad234 fix mangle props with exported namespace members
    • 6946e6d helper methods for mangle props
    • 372bafa fix mangle props with TS parameter properties
    • b6344e1 publish 0.14.15 to npm
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 3
  • Bump lint-staged from 12.2.2 to 12.3.2

    Bump lint-staged from 12.2.2 to 12.3.2

    Bumps lint-staged from 12.2.2 to 12.3.2.

    Release notes

    Sourced from lint-staged's releases.

    v12.3.2

    12.3.2 (2022-01-26)

    Bug Fixes

    • handle symlinked .git directories (3a897ff)

    v12.3.1

    12.3.1 (2022-01-23)

    Bug Fixes

    • deps: update dependencies (f190fc3)

    v12.3.0

    12.3.0 (2022-01-23)

    Features

    • add --cwd option for overriding task directory (62b5b83)
    Commits
    • 3a897ff fix: handle symlinked .git directories
    • 026aae0 docs: fix README option list
    • f190fc3 fix(deps): update dependencies
    • 62b5b83 feat: add --cwd option for overriding task directory
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 3
  • Bump @types/node from 17.0.10 to 17.0.14

    Bump @types/node from 17.0.10 to 17.0.14

    Bumps @types/node from 17.0.10 to 17.0.14.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 3
  • Bump @typescript-eslint/parser from 5.10.0 to 5.10.2

    Bump @typescript-eslint/parser from 5.10.0 to 5.10.2

    Bumps @typescript-eslint/parser from 5.10.0 to 5.10.2.

    Release notes

    Sourced from @​typescript-eslint/parser's releases.

    v5.10.2

    5.10.2 (2022-01-31)

    Bug Fixes

    • eslint-plugin: [no-restricted-imports] allow relative type imports with patterns configured (#4494) (4a6d217)

    v5.10.1

    5.10.1 (2022-01-24)

    Note: Version bump only for package @​typescript-eslint/typescript-eslint

    Changelog

    Sourced from @​typescript-eslint/parser's changelog.

    5.10.2 (2022-01-31)

    Note: Version bump only for package @​typescript-eslint/parser

    5.10.1 (2022-01-24)

    Note: Version bump only for package @​typescript-eslint/parser

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 3
  • Bump @types/jest from 27.0.3 to 27.4.0

    Bump @types/jest from 27.0.3 to 27.4.0

    Bumps @types/jest from 27.0.3 to 27.4.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 3
  • Bump esbuild from 0.14.9 to 0.14.10

    Bump esbuild from 0.14.9 to 0.14.10

    Bumps esbuild from 0.14.9 to 0.14.10.

    Release notes

    Sourced from esbuild's releases.

    v0.14.10

    • Enable tree shaking of classes with lowered static fields (#175)

      If the configured target environment doesn't support static class fields, they are converted into a call to esbuild's __publicField function instead. However, esbuild's tree-shaking pass treated this call as a side effect, which meant that all classes with static fields were ineligible for tree shaking. This release fixes the problem by explicitly ignoring calls to the __publicField function during tree shaking side-effect determination. Tree shaking is now enabled for these classes:

      // Original code
      class Foo { static foo = 'foo' }
      class Bar { static bar = 'bar' }
      new Bar()
      

      // Old output (with --tree-shaking=true --target=es6) class Foo { } __publicField(Foo, "foo", "foo"); class Bar { } __publicField(Bar, "bar", "bar"); new Bar();

      // New output (with --tree-shaking=true --target=es6) class Bar { } __publicField(Bar, "bar", "bar"); new Bar();

    • Treat --define:foo=undefined as an undefined literal instead of an identifier (#1407)

      References to the global variable undefined are automatically replaced with the literal value for undefined, which appears as void 0 when printed. This allows for additional optimizations such as collapsing undefined ?? bar into just bar. However, this substitution was not done for values specified via --define:. As a result, esbuild could potentially miss out on certain optimizations in these cases. With this release, it's now possible to use --define: to substitute something with an undefined literal:

      // Original code
      let win = typeof window !== 'undefined' ? window : {}
      

      // Old output (with --define:window=undefined --minify) let win=typeof undefined!="undefined"?undefined:{};

      // New output (with --define:window=undefined --minify) let win={};

    • Add the --drop:debugger flag (#1809)

      Passing this flag causes all debugger; statements to be removed from the output. This is similar to the drop_debugger: true flag available in the popular UglifyJS and Terser JavaScript minifiers.

    • Add the --drop:console flag (#28)

      Passing this flag causes all console.xyz() API calls to be removed from the output. This is similar to the drop_console: true flag available in the popular UglifyJS and Terser JavaScript minifiers.

    ... (truncated)

    Changelog

    Sourced from esbuild's changelog.

    0.14.10

    • Enable tree shaking of classes with lowered static fields (#175)

      If the configured target environment doesn't support static class fields, they are converted into a call to esbuild's __publicField function instead. However, esbuild's tree-shaking pass treated this call as a side effect, which meant that all classes with static fields were ineligible for tree shaking. This release fixes the problem by explicitly ignoring calls to the __publicField function during tree shaking side-effect determination. Tree shaking is now enabled for these classes:

      // Original code
      class Foo { static foo = 'foo' }
      class Bar { static bar = 'bar' }
      new Bar()
      

      // Old output (with --tree-shaking=true --target=es6) class Foo { } __publicField(Foo, "foo", "foo"); class Bar { } __publicField(Bar, "bar", "bar"); new Bar();

      // New output (with --tree-shaking=true --target=es6) class Bar { } __publicField(Bar, "bar", "bar"); new Bar();

    • Treat --define:foo=undefined as an undefined literal instead of an identifier (#1407)

      References to the global variable undefined are automatically replaced with the literal value for undefined, which appears as void 0 when printed. This allows for additional optimizations such as collapsing undefined ?? bar into just bar. However, this substitution was not done for values specified via --define:. As a result, esbuild could potentially miss out on certain optimizations in these cases. With this release, it's now possible to use --define: to substitute something with an undefined literal:

      // Original code
      let win = typeof window !== 'undefined' ? window : {}
      

      // Old output (with --define:window=undefined --minify) let win=typeof undefined!="undefined"?undefined:{};

      // New output (with --define:window=undefined --minify) let win={};

    • Add the --drop:debugger flag (#1809)

      Passing this flag causes all debugger; statements to be removed from the output. This is similar to the drop_debugger: true flag available in the popular UglifyJS and Terser JavaScript minifiers.

    • Add the --drop:console flag (#28)

      Passing this flag causes all console.xyz() API calls to be removed from the output. This is similar to the drop_console: true flag available in the popular UglifyJS and Terser JavaScript minifiers.

    ... (truncated)

    Commits
    • 5546ddf publish 0.14.10 to npm
    • 3ec2f54 fix crash with inlined call in for loop initialize
    • 8c6e3d0 tree shaking for inlined functions
    • 5e05c56 preserve syntax position behavior during inlining
    • ab64df0 don't unconditionally forward flags in printer
    • 2498aaf simplify unused expressions in comma operators
    • 537a31b avoid printing "undefined" when result is unused
    • 3d66d2a simplify unused empty function arguments
    • 0229eae extract unused expr simplification from parser
    • 2c13ae4 inline calls to empty functions
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 3
  • Bump eslint from 8.5.0 to 8.6.0

    Bump eslint from 8.5.0 to 8.6.0

    Bumps eslint from 8.5.0 to 8.6.0.

    Release notes

    Sourced from eslint's releases.

    v8.6.0

    Features

    • 6802a54 feat: handle logical assignment in no-self-assign (#14152) (Zzzen)
    • 3b38018 feat: allow to define eslint-disable-next-line in multiple lines (#15436) (Nitin Kumar)
    • 9d6fe5a feat: false negative with onlyDeclarations + properties in id-match (#15431) (Nitin Kumar)

    Documentation

    • 6c4dee2 docs: Document homedir is a configuration root (#15469) (Bas Bosman)
    • 51c37b1 docs: consistency changes (#15404) (Bas Bosman)
    • 775d181 docs: Mention character classes in no-useless-escape (#15421) (Sebastian Simon)

    Chores

    • 3a384fc chore: Upgrade espree to 9.3.0 (#15473) (Brandon Mills)
    • 1443cc2 chore: Update blogpost.md.ejs (#15468) (Nicholas C. Zakas)
    • 28e907a refactor: remove unused parameter in linter.js (#15451) (Milos Djermanovic)
    • eaa08d3 test: add tests for allowReserved parser option with flat config (#15450) (Milos Djermanovic)
    Changelog

    Sourced from eslint's changelog.

    v8.6.0 - December 31, 2021

    • 3a384fc chore: Upgrade espree to 9.3.0 (#15473) (Brandon Mills)
    • 1443cc2 chore: Update blogpost.md.ejs (#15468) (Nicholas C. Zakas)
    • 6c4dee2 docs: Document homedir is a configuration root (#15469) (Bas Bosman)
    • 6802a54 feat: handle logical assignment in no-self-assign (#14152) (Zzzen)
    • 3b38018 feat: allow to define eslint-disable-next-line in multiple lines (#15436) (Nitin Kumar)
    • 51c37b1 docs: consistency changes (#15404) (Bas Bosman)
    • 28e907a refactor: remove unused parameter in linter.js (#15451) (Milos Djermanovic)
    • eaa08d3 test: add tests for allowReserved parser option with flat config (#15450) (Milos Djermanovic)
    • 9d6fe5a feat: false negative with onlyDeclarations + properties in id-match (#15431) (Nitin Kumar)
    • 775d181 docs: Mention character classes in no-useless-escape (#15421) (Sebastian Simon)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 3
  • Bump happy-dom from 4.0.1 to 8.1.1

    Bump happy-dom from 4.0.1 to 8.1.1

    Bumps happy-dom from 4.0.1 to 8.1.1.

    Release notes

    Sourced from happy-dom's releases.

    v8.1.1

    :construction_worker_man: Patch fixes

    • Adds the property window.HTMLSelectElement, so that it will be available globally. (#664)

    v8.1.0

    :art: Features

    • Adds support for FileList to HTMLInputElement. (#494)

    v8.0.0

    :bomb: Breaking Changes

    • In v7.0.0 of Happy DOM, the default values for window.innerWidth and window.innerHeight was changed to 0. This fix will revert this change and set the default resolution to 1024x768 again. This is a major change as it potentially can break logic. Sorry for any inconvenience. (#673)

    v7.8.1

    :construction_worker_man: Patch fixes

    • Removes the sync-request dependency as it is no longer in use. (#650)

    v7.8.0

    :art: Features

    • Adds support for XMLHttpRequest. (#520)
    • Adds support for Document.documentURI and Document.URL. (#526)
    • Adds the headers "referer", "set-cookie", "user-agent" to window.fetch() requests. (#520)
    • Adds support for sending in URL or Request objects to window.fetch(). (#582)
    • Replaces sync-request with XMLHttpRequest as it supports synchronous requests using a custom solution (#650)

    :construction_worker_man: Patch fixes

    • Replaces a custom solution for window.URL with the native module url. (#521)

    v7.7.2

    :construction_worker_man: Patch fixes

    • Multiple fixes related to reading and writing cookies in document.cookie. (#666)

    v7.7.1

    :construction_worker_man: Patch fixes

    • Adds support for escaped characters to class names in CSS query selectors (e.g. \\:, \\#, \\&) (#661)

    v7.7.0

    :art: Features

    • Adds support for HTMLAnchorElement. (#204)

    v7.6.7

    :construction_worker_man: Patch fixes

    ... (truncated)

    Commits
    • 88bfdf4 v8.1.1
    • 599de0f Merge pull request #684 from Schleuse/task/664-fix-typo-in-import
    • d804eaf #664@​patch: Fixes error due to typo in import path.
    • c9f5af0 Merge pull request #676 from capricorn86/task/664-referenceerror-htmlselectel...
    • fc7e5c8 #664@​patch: Adds the property window.HTMLSelectElement, so that it will be av...
    • 4d20b19 Merge pull request #675 from capricorn86/task/494-typeerror-right-hand-side-o...
    • 901b701 #494@​minor: Adds support for FileList to HTMLInputElement.
    • a85a84f Merge pull request #674 from capricorn86/task/673-default-windowinnerwidth-to...
    • 133403f #673@​major: Changes the default value for window.innerWidth to 1024 and windo...
    • b4a812e Merge pull request #672 from capricorn86/task/650-remove-sync-request-dependency
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump lint-staged from 12.4.1 to 13.1.0

    Bump lint-staged from 12.4.1 to 13.1.0

    Bumps lint-staged from 12.4.1 to 13.1.0.

    Release notes

    Sourced from lint-staged's releases.

    v13.1.0

    13.1.0 (2022-12-04)

    Features

    • expose cli entrance from "lint-staged/bin" (#1237) (eabf1d2)

    v13.0.4

    13.0.4 (2022-11-25)

    Bug Fixes

    • deps: update all dependencies (336f3b5)
    • deps: update all dependencies (ec995e5)

    v13.0.3

    13.0.3 (2022-06-24)

    Bug Fixes

    • correctly handle git stash when using MSYS2 (#1178) (0d627a5)

    v13.0.2

    13.0.2 (2022-06-16)

    Bug Fixes

    • use new --diff and --diff-filter options when checking task modifications (1a5a66a)

    v13.0.1

    13.0.1 (2022-06-08)

    Bug Fixes

    • correct spelling of "0 files" (f27f1d4)
    • suppress error from process.kill when killing tasks on failure (f2c6bdd)
    • deps: update [email protected]^0.6.0 to fix screen size error in WSL (1a77e42)
    • ignore "No matching pid found" error (cb8a432)
    • prevent possible race condition when killing tasks on failure (bc92aff)

    Performance Improvements

    • use EventsEmitter instead of setInterval for killing tasks on failure (c508b46)

    ... (truncated)

    Commits
    • eabf1d2 feat: expose cli entrance from "lint-staged/bin" (#1237)
    • a987e6a docs: add note about multiple configs files to README
    • c4fb7b8 docs: add note about git hook TTY to README
    • e2bfce1 test: remove Windows snapshot workaround
    • 81ea7fd test: allow file protocol in git submodule test
    • 3ea9b7e test: update Jest snapshot format
    • 0c635c7 ci: install latest npm for older Node.js versions
    • 5f1a00e ci: bump GitHub Actions' versions
    • 336f3b5 fix(deps): update all dependencies
    • ec995e5 fix(deps): update all dependencies
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump @typescript-eslint/eslint-plugin from 5.25.0 to 5.47.1

    Bump @typescript-eslint/eslint-plugin from 5.25.0 to 5.47.1

    Bumps @typescript-eslint/eslint-plugin from 5.25.0 to 5.47.1.

    Release notes

    Sourced from @​typescript-eslint/eslint-plugin's releases.

    v5.47.1

    5.47.1 (2022-12-26)

    Bug Fixes

    • ast-spec: correct some incorrect ast types (#6257) (0f3f645)
    • eslint-plugin: [member-ordering] correctly invert optionalityOrder (#6256) (ccd45d4)

    v5.47.0

    5.47.0 (2022-12-19)

    Features

    • eslint-plugin: [no-floating-promises] add suggestion fixer to add an 'await' (#5943) (9e35ef9)

    v5.46.1

    5.46.1 (2022-12-12)

    Note: Version bump only for package @​typescript-eslint/typescript-eslint

    v5.46.0

    5.46.0 (2022-12-08)

    Bug Fixes

    • eslint-plugin: [ban-types] update message to suggest object instead of Record<string, unknown> (#6079) (d91a5fc)

    Features

    • eslint-plugin: [prefer-nullish-coalescing] logic and test for strict null checks (#6174) (8a91cbd)

    v5.45.1

    5.45.1 (2022-12-05)

    Bug Fixes

    • eslint-plugin: [keyword-spacing] unexpected space before/after in import type (#6095) (98caa92)
    • eslint-plugin: [no-shadow] add call and method signatures to ignoreFunctionTypeParameterNameValueShadow (#6129) (9d58b6b)
    • eslint-plugin: [prefer-optional-chain] collect MetaProperty type (#6083) (d7114d3)
    • eslint-plugin: [sort-type-constituents, sort-type-union-intersection-members] handle some required parentheses cases in the fixer (#6118) (5d49d5d)
    • parser: remove the jsx option requirement for automatic jsx pragma resolution (#6134) (e777f5e)

    v5.45.0

    5.45.0 (2022-11-28)

    ... (truncated)

    Changelog

    Sourced from @​typescript-eslint/eslint-plugin's changelog.

    5.47.1 (2022-12-26)

    Bug Fixes

    • ast-spec: correct some incorrect ast types (#6257) (0f3f645)
    • eslint-plugin: [member-ordering] correctly invert optionalityOrder (#6256) (ccd45d4)

    5.47.0 (2022-12-19)

    Features

    • eslint-plugin: [no-floating-promises] add suggestion fixer to add an 'await' (#5943) (9e35ef9)

    5.46.1 (2022-12-12)

    Note: Version bump only for package @​typescript-eslint/eslint-plugin

    5.46.0 (2022-12-08)

    Bug Fixes

    • eslint-plugin: [ban-types] update message to suggest object instead of Record<string, unknown> (#6079) (d91a5fc)

    Features

    • eslint-plugin: [prefer-nullish-coalescing] logic and test for strict null checks (#6174) (8a91cbd)

    5.45.1 (2022-12-05)

    Bug Fixes

    • eslint-plugin: [keyword-spacing] unexpected space before/after in import type (#6095) (98caa92)
    • eslint-plugin: [no-shadow] add call and method signatures to ignoreFunctionTypeParameterNameValueShadow (#6129) (9d58b6b)
    • eslint-plugin: [prefer-optional-chain] collect MetaProperty type (#6083) (d7114d3)
    • eslint-plugin: [sort-type-constituents, sort-type-union-intersection-members] handle some required parentheses cases in the fixer (#6118) (5d49d5d)

    5.45.0 (2022-11-28)

    Bug Fixes

    • eslint-plugin: [array-type] --fix flag removes parentheses from type (#5997) (42b33af)
    • eslint-plugin: [keyword-spacing] prevent crash on no options (#6073) (1f19998)
    • eslint-plugin: [member-ordering] support private fields (#5859) (f02761a)
    • eslint-plugin: [prefer-readonly] report if a member's property is reassigned (#6043) (6e079eb)

    Features

    • eslint-plugin: [member-ordering] add a required option for required vs. optional member ordering (#5965) (2abadc6)

    5.44.0 (2022-11-21)

    ... (truncated)

    Commits
    • 6ffce79 chore: publish v5.47.1
    • 0f3f645 fix(ast-spec): correct some incorrect ast types (#6257)
    • ccd45d4 fix(eslint-plugin): [member-ordering] correctly invert optionalityOrder (#6256)
    • a2c08ba chore: publish v5.47.0
    • 9e35ef9 feat(eslint-plugin): [no-floating-promises] add suggestion fixer to add an 'a...
    • 6b3ed1d docs: fixed typo "foo.property" (#6180)
    • c943b84 chore: publish v5.46.1
    • 47241bb docs: overhaul branding and add new logo (#6147)
    • 1e1573a chore: publish v5.46.0
    • d91a5fc fix(eslint-plugin): [ban-types] update message to suggest object instead of...
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump vite-plugin-dts from 1.1.1 to 1.7.1

    Bump vite-plugin-dts from 1.1.1 to 1.7.1

    Bumps vite-plugin-dts from 1.1.1 to 1.7.1.

    Release notes

    Sourced from vite-plugin-dts's releases.

    v1.7.1

    Please refer to CHANGELOG.md for details.

    v1.7.0

    Please refer to CHANGELOG.md for details.

    v1.6.6

    Please refer to CHANGELOG.md for details.

    v1.6.5

    Please refer to CHANGELOG.md for details.

    v1.6.4

    Please refer to CHANGELOG.md for details.

    v1.6.3

    Please refer to CHANGELOG.md for details.

    v1.6.2

    Please refer to CHANGELOG.md for details.

    v1.6.1

    Please refer to CHANGELOG.md for details.

    v1.6.0

    Please refer to CHANGELOG.md for details.

    v1.5.0

    Please refer to CHANGELOG.md for details.

    v1.4.1

    Please refer to CHANGELOG.md for details.

    v1.4.0

    Please refer to CHANGELOG.md for details.

    v1.3.1

    Please refer to CHANGELOG.md for details.

    v1.3.0

    Please refer to CHANGELOG.md for details.

    v1.2.1

    Please refer to CHANGELOG.md for details.

    v1.2.0

    Please refer to CHANGELOG.md for details.

    Changelog

    Sourced from vite-plugin-dts's changelog.

    1.7.1 (2022-11-14)

    Bug Fixes

    1.7.0 (2022-11-07)

    Bug Fixes

    • compiler missing plugin decorators-legacy (#138) (717af2f)
    • derprecate logDiagnostics option (e405328)
    • incorrect compiler address resolution (#133) (01cc125)

    Features

    • support customize typescript lib path (27b83f3), closes #134
    • support multiple entries for lib mode (1fafe54), closes #136

    1.6.6 (2022-10-13)

    Bug Fixes

    • adapt @​microsoft/api-extractor 7.33+ (5acb4be)
    • always ship included dts files into soure (fc345e3), closes #126

    1.6.5 (2022-10-06)

    Bug Fixes

    1.6.4 (2022-09-30)

    Bug Fixes

    1.6.3 (2022-09-30)

    Bug Fixes

    • both support cjs and esm(using by tsx) (38bd6a6)

    1.6.2 (2022-09-30)

    Bug Fixes

    • ensure generate dts for type only files (f3f4919), closes #118

    ... (truncated)

    Commits
    • 87631a9 release: v1.7.1
    • 8bd73c8 fix: import vite plugin type via dynamic import
    • aea8ebd fix: ensure exulde working when transform
    • 056477e chore: add feature request template
    • ea5b942 chore: add bug report template
    • b405b7a docs: add notice for change
    • 4d5ad57 docs: improve options docs and move up FAQ
    • d4e635c chore: extract plugin option types
    • ce3a690 release: v1.7.0
    • e405328 fix: derprecate logDiagnostics option
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump lint-staged from 12.4.1 to 13.0.3

    Bump lint-staged from 12.4.1 to 13.0.3

    Bumps lint-staged from 12.4.1 to 13.0.3.

    Release notes

    Sourced from lint-staged's releases.

    v13.0.3

    13.0.3 (2022-06-24)

    Bug Fixes

    • correctly handle git stash when using MSYS2 (#1178) (0d627a5)

    v13.0.2

    13.0.2 (2022-06-16)

    Bug Fixes

    • use new --diff and --diff-filter options when checking task modifications (1a5a66a)

    v13.0.1

    13.0.1 (2022-06-08)

    Bug Fixes

    • correct spelling of "0 files" (f27f1d4)
    • suppress error from process.kill when killing tasks on failure (f2c6bdd)
    • deps: update [email protected]^0.6.0 to fix screen size error in WSL (1a77e42)
    • ignore "No matching pid found" error (cb8a432)
    • prevent possible race condition when killing tasks on failure (bc92aff)

    Performance Improvements

    • use EventsEmitter instead of setInterval for killing tasks on failure (c508b46)

    v13.0.0

    13.0.0 (2022-06-01)

    Bug Fixes

    Features

    • remove support for Node.js 12 (5fb6df9)

    BREAKING CHANGES

    ... (truncated)

    Commits
    • 0d627a5 fix: correctly handle git stash when using MSYS2 (#1178)
    • 1a5a66a fix: use new --diff and --diff-filter options when checking task modifica...
    • 32806da test: split integration tests into separate files and improve isolation
    • 4384114 refactor: reuse Listr stuff better
    • f27f1d4 fix: correct spelling of "0 files"
    • f2c6bdd fix: suppress error from process.kill when killing tasks on failure
    • c5cec0a docs: add section about task concurrency to README.md
    • 5bf1f18 docs: remove mrm from README.md
    • c508b46 perf: use EventsEmitter instead of setInterval for killing tasks on failure
    • 1a77e42 fix(deps): update [email protected]^0.6.0 to fix screen size error in WSL
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 0
  • Bump @typescript-eslint/eslint-plugin from 5.25.0 to 5.30.0

    Bump @typescript-eslint/eslint-plugin from 5.25.0 to 5.30.0

    Bumps @typescript-eslint/eslint-plugin from 5.25.0 to 5.30.0.

    Release notes

    Sourced from @​typescript-eslint/eslint-plugin's releases.

    v5.30.0

    5.30.0 (2022-06-27)

    Features

    • eslint-plugin: [no-shadow] add shadowed variable location to the error message (#5183) (8ca08e9)
    • treat this in typeof this as a ThisExpression (#4382) (b04b2ce)

    v5.29.0

    Note: Version bump only for weekly release.

    Unfortunately we marked a website change as a feat, hence this wasn't just a patch-level bump.

    v5.28.0

    5.28.0 (2022-06-13)

    Bug Fixes

    • [TS4.7] allow visiting of typeParameters in TSTypeQuery (#5166) (dc1f930)
    • eslint-plugin: [space-infix-ops] support for optional property without type (#5155) (1f25daf)

    Features

    • ast-spec: extract AssignmentOperatorToText (#3570) (45f75e6)
    • eslint-plugin: [consistent-generic-constructors] add rule (#4924) (921cdf1)

    v5.27.1

    5.27.1 (2022-06-06)

    Bug Fixes

    • eslint-plugin: [space-infix-ops] correct PropertyDefinition with typeAnnotation (#5113) (d320174)
    • eslint-plugin: [space-infix-ops] regression fix for conditional types (#5135) (e5238c8)
    • eslint-plugin: [space-infix-ops] regression fix for type aliases (#5138) (4e13deb)

    v5.27.0

    5.27.0 (2022-05-30)

    Bug Fixes

    • eslint-plugin: [no-type-alias] handle Template Literal Types (#5092) (8febf11)
    • types: remove leftovers from removal of useJSXTextNode (#5091) (f9c3647)

    Features

    ... (truncated)

    Changelog

    Sourced from @​typescript-eslint/eslint-plugin's changelog.

    5.30.0 (2022-06-27)

    Features

    • eslint-plugin: [no-shadow] add shadowed variable location to the error message (#5183) (8ca08e9)
    • treat this in typeof this as a ThisExpression (#4382) (b04b2ce)

    5.29.0 (2022-06-20)

    Note: Version bump only for package @​typescript-eslint/eslint-plugin

    5.28.0 (2022-06-13)

    Bug Fixes

    • [TS4.7] allow visiting of typeParameters in TSTypeQuery (#5166) (dc1f930)
    • eslint-plugin: [space-infix-ops] support for optional property without type (#5155) (1f25daf)

    Features

    • eslint-plugin: [consistent-generic-constructors] add rule (#4924) (921cdf1)

    5.27.1 (2022-06-06)

    Bug Fixes

    • eslint-plugin: [space-infix-ops] correct PropertyDefinition with typeAnnotation (#5113) (d320174)
    • eslint-plugin: [space-infix-ops] regression fix for conditional types (#5135) (e5238c8)
    • eslint-plugin: [space-infix-ops] regression fix for type aliases (#5138) (4e13deb)

    ... (truncated)

    Commits
    • d491665 chore: publish v5.30.0
    • b04b2ce feat: treat this in typeof this as a ThisExpression (#4382)
    • 8ca08e9 feat(eslint-plugin): [no-shadow] add shadowed variable location to the error ...
    • 507629a docs: autogenerate rules table on website (#5116)
    • be61607 chore: publish v5.29.0
    • 34141b1 docs(eslint-plugin): remove "Related To" references to TSLint (#5188)
    • 363b624 chore: publish v5.28.0
    • b67b6e4 chore(eslint-plugin): [prefer-optional-chain] fix incorrect syntax in documen...
    • dc1f930 fix: [TS4.7] allow visiting of typeParameters in TSTypeQuery (#5166)
    • 4a34f1b docs: remove unexpected 'as const' in incorrect example (#5161)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 0
Owner
Gabriel Vaquer
Gabriel Vaquer
React ESI: Blazing-fast Server-Side Rendering for React and Next.js

React ESI: Blazing-fast Server-Side Rendering for React and Next.js React ESI is a super powerful cache library for vanilla React and Next.js applicat

Kévin Dunglas 633 Jan 5, 2023
A tiny ( 1KB) reactivity library

influer A tiny (< 1KB) reactivity library yarn add influer Introduction influer is a tiny reactivity library. Exported in ESM, CJS, and IIFE, all < 1K

Tom Lienard 7 Jul 13, 2022
A single-file <1kb min+gzip simplified implementation of the reactive core of Solid, optimized for clean code

A single-file <1kb min+gzip simplified implementation of the reactive core of Solid, optimized for clean code

Fabio Spampinato 116 Dec 19, 2022
⚡️ Lightning-fast search for React and React Native applications, by Algolia.

React InstantSearch is a library for building blazing fast search-as-you-type search UIs with Algolia. React InstantSearch is a React library that let

Algolia 2k Dec 27, 2022
The simple but very powerful and incredibly fast state management for React that is based on hooks

Hookstate The simple but very powerful and incredibly fast state management for React that is based on hooks. Why? • Docs / Samples • Demo application

Andrey 1.5k Jan 7, 2023
🔍 Holmes is a 0 config, fast and elementary state orchestrator for React

React Holmes ?? - Elementary State Orchestrator for React ?? Holmes is a 0 config, fast and elementary state orchestrator for React. Holmes has a very

null 49 Oct 15, 2022
A Free Set of Sketchy Illustrations provided by opendoodles

Welcome to react-open-doodles ?? A Free Set of Sketchy Illustrations provided by opendoodles Open Doodles was created by Pablo Stanley we use this Ill

Luna 50 Dec 7, 2022
Plain functions for a more functional Deku approach to creating stateless React components, with functional goodies such as compose, memoize, etc... for free.

"Keo" is the Vietnamese translation for glue. Plain functions for a more functional Deku approach to creating stateless React components, with functio

Adam Timberlake 225 Sep 24, 2022
Magic Quadrant built with React & Typescript

Magic Quadrant Interactive Magic Quadrant built with React & Typescript Demo Demo Link Firebase: https://magic-quadrant-3eaf1.web.app/ Usage Install D

Aykut Ulış 7 Apr 10, 2022
🤯 zART-stack — Zero-API, React [Native], & TypeScript

?? zART-stack — Zero-API, React [Native], & TypeScript

Alex Johansson 674 Jan 3, 2023
Simple and elegant component-based UI library

Simple and elegant component-based UI library Custom components • Concise syntax • Simple API • Tiny Size Riot brings custom components to all modern

Riot.js 14.7k Jan 8, 2023
React library for ux4iot for easily building IoT web applications

React library for ux4iot for easily building IoT web applications

Device Insight 15 Oct 31, 2022
Fire7 is a small library that implements real-time data binding between Firebase Cloud Firestore and your Framework7 app.

Fire7 is a small library that implements real-time data binding between Firebase Cloud Firestore and your Framework7 app.

Sergei Voroshilov 6 May 15, 2022
A lightweight library to create reactive objects

Reactivity As the name says, Reactivity is a lightweight javascript library to create simple reactive objects. Inspired in Redux and Vuex Get started

David Linarez 2 Oct 28, 2021
react-pdf-highlighter is a React library that provides annotation experience for PDF documents on web.

☕️ Buy me a coffee react-pdf-highlighter react-pdf-highlighter is a React library that provides annotation experience for PDF documents on web. It is

Vladyslav 9 Dec 2, 2022
A tiny library aims to parse HTML to Figma Layer Notation and do it well.

TSDX User Guide Congrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and h

青岚 5 Dec 28, 2022
A library for react that can easily manipulate integers like adding a comma every 3 digits

A library for react that can easily manipulate integers like adding a comma every 3 digits

udinesia325 1 Nov 21, 2021
A tiny, reactive JavaScript library for structured state and tabular data.

A JavaScript library for structured state. Using plain old JavaScript objects to manage data gets old very quickly. It's error-prone, tricky to track

tinyplex 1.4k Dec 30, 2022
Lightweight react-like library. Support for asynchronous rendering and hooks.

Recept · Lightweight react-like library. Like the name, this project is mainly based on the architectural idea of react, which can feel react more int

RuiLin Dong 52 Sep 17, 2022