Skip to content

Releases: webdiscus/ansis

v3.5.2

02 Jan 16:09
9c3555f
Compare
Choose a tag to compare

v3.5.2

Features

  • Optimised the npm package size from 10.3 kB to 7.0 kB.

    Now, Ansis is the smallest yet most powerful library with rich functionality.
    A slightly smaller is picocolors (6.4 kB), but it offers only basic functionality.

  • Added detection of the xterm-direct terminal as supportingtruecolor.
  • Added support for the COLORTERM environment variable with the following values: truecolor, 24bit, ansi256, ansi (16 colors).

Bug Fixes (TypeScript)

  • Fixed default import in TypeScript compiled with tsc:
    import ansis from 'ansis' now works so well as import * as ansis from 'ansis'.
  • Fixed the TS2339: Property 'strip' does not exist on type when the tsc option module is node16.

v3.4.0

23 Dec 00:05
88a067c
Compare
Choose a tag to compare

v3.4.0

Cumulative Release v3.3.2 - v3.4.0

Bug Fixes

  • Correct detect TTY on Windows platform.

Chore

  • Optimised the npm package to reduce size by ~1.1 kB, from 11.4 kB to 10.3 kB.
  • Added benchmarks for kolorist package.
  • Added new representative benchmarks by using combination of 1, 2, 3 and 4 styles.
  • Refactor: invisible code optimisations.

v3.3.1

18 Jul 15:10
84bb0e3
Compare
Choose a tag to compare

Chore

  • Improved performance, e.g. using chained styles: 70.000.000 -> 80.000.000 ops/sec
  • Optimised the code to reduce the size by ~600 bytes.
  • Minified index.d.ts to reduce the size by ~200 bytes.
  • Optimised README for NPM package to reduce the size by ~1 KB.

v3.3.0

14 Jul 17:23
d700050
Compare
Choose a tag to compare

Chore

  • Deleted old named import syntax DEPRECATED in v2.0.0 (2023-11-03)
    If you update the package from v1.x to v3.3.0 then check your code:
    ESM
    - import { red } from 'ansis/colors';
    + import { red } from 'ansis';
    CJS
    - const { red } = require('ansis/colors');
    + const { red } = require('ansis');
  • Cleanup pickages.json for NPM
  • Updated README for NPM

v3.2.1

12 Jul 10:19
d1be810
Compare
Choose a tag to compare

Chore

  • Reduce unpacked size of NPM package by ~ 1 KB
  • Optimized README for NPM

v3.2.0

06 Jun 08:56
7400c8a
Compare
Choose a tag to compare

Features

v3.1.1

15 Apr 13:45
8769dc8
Compare
Choose a tag to compare

Cumulative Release v3.0.1 - v3.1.1

Features

  • Added detection of color support when using PM2 process manager.

Bug Fixes

  • Correct interpret FORCE_COLOR=false or FORCE_COLOR=0 as force disable colors
    others values, e.g., FORCE_COLOR=true or FORCE_COLOR=1 - force enable colors.
    See https://force-color.org.

Chore

  • Reduce unpacked size from 49 KB to 14 KB.

v3.0.0

30 Mar 14:07
96a2a47
Compare
Choose a tag to compare

Features

  • Added detection of color spaces support: TrueColor, 256 colors, 16 colors, no color (black & white).
  • Added fallback for supported color space: truecolor —> 256 colors —> 16 colors —> no colors.
  • Improved performance for the hex() function.

BREAKING CHANGE

In the new major version 3.x are removed unused styles and methods.

⚠️ Warning

Before update, please check your code whether is used deleted styles and methods.

Support Node.js

Drop supports for Node <= 14. Minimal supported version is 15.0.0 (Released 2020-10-20).
In the theory the v3 can works with Node12, but we can't test it.

Deleted styles

The not widely supported styles are deleted:

  • faint (alias for dim), replace in your code with dim
  • doubleUnderline, replace in your code with underline
  • frame, replace in your code with underline
  • encircle, replace in your code with underline
  • overline, replace in your code with underline

Deleted methods

The methods are deleted:

  • ansi, replace in your code with ansi256 or fg
  • bgAnsi, replace in your code with bgAnsi256 or bg

Deleted clamp in functions

The clamp (0, 255) for the ANSI 256 codes and RGB values is removed, because is unused.
You should self check the function arguments.

The affected functions:

  • ansi256 and fg (alias to ansi256) - expected a code in the range 0 - 255
  • bgAnsi256 and bg (alias to bgAnsi256) - expected a code in the range0 - 255
  • rgb - expected r, g, b values in the range 0 - 255
  • bgRgb - expected r, g, b values in the range 0 - 255

v2.3.0

29 Mar 23:13
07010f1
Compare
Choose a tag to compare

Cumulative Release v2.0.1 - v2.3.0

Features

  • Added detection of additional terminals, thanks @dse, colors.js:issue #42.
  • Added supports the argument as number.
  • Added bgGrey and bgGray aliases for bgBlackBright.

Bug Fixes

  • Fixed index.d.ts to use function overload to make the tagged template have the correct type, #16.
  • Fixed when could not be found a declaration file for module 'ansis'.

v2.0.0

03 Nov 11:53
Compare
Choose a tag to compare

Features

  • Added support for Deno.
  • Added support for Next.js edge runtime.
  • Added NEW named import for ansis:
    import { red } from 'ansis';
    For example:
    NEW v2.x.x
    import ansis, { red } from 'ansis'; // default and named import
    ansis.red`error`;
    red`error`;
    OLD v1.5.x
    import ansis from 'ansis'; // default import
    import { red } from 'ansis/colors'; // named import
    ansis.red`error`;
    red`error`;
  • Optimised named export into one file to avoid separate wraps files for CJS and ESM.
  • Reduced the size of dist/ directory by 50%.

BREAKING CHANGE (TypeScript only)

The deprecated OLD named import from 'ansis/colors' still works, but using TypeScript can be occurred the error:

TS2307: Cannot find module ansis/colors ...

Solution: update your code, e.g.: import { red } from 'ansis/colors' --> import { red } from 'ansis'

DEPRECATIONS

  • OLD named import import { red } from 'ansis/colors' is deprecated, use the NEW named import.
  • The barely used ansi() function name is deprecated, use ansi256() or alias fg() instead.
  • The barely used bgAnsi() function name is deprecated, use bgAnsi256() or alias bg() instead.