A dependency-free image color extraction library

Related tags

Color color-mage
Overview

Color mage


GitHub Workflow Status (branch) GitHub npm npm npm bundle size


A dependency-free image color extraction library.

The extraction consists of using K-Means algorithm.

It has a few utility functions as well!

NOTE: This library compiles to Ecmascript modules target.

Example

This picture was downloaded from Unsplash - link

Functions

  • Color extractors
    • kMeansColorExtractor: Function that extracts colors from a given array of pixels using K-Means algorithm.
  • Converters
    • convertRgbToHex: Converts an RGB color into it hexadecimal representation.
  • Counters
    • rgbaCounter: Counts unique colors from the given array of RGBA colors, you can determine if you want it to consider the alpha channel or not.

Install

With npm:

npm i color-mage
# or
yarn add color-mage

Usage

import { convertImageDataToRgba, kMeansColorExtractor, convertRgbToHex } from 'color-mage'

const canvas = document.getElementById('#canvas') as HTMLCanvasElement
const ctx = canvas.getContext('2d')
// draw your image
ctx.drawImage(image, 0, 0, 640, 480)
// then get the image data from canvas
const imageData = ctx.getImageData(0, 0, 640, 480)

// converts the imageData array into an array of colors
const colors = convertImageDataToRgba(imageData.data)

// RGBA color representation
const palette = kMeansColorExtractor(colors, 5)

// All colors converted into hexadecimal representation
const hexColors = palette.map(convertRgbToHex)

Tips

The process might take longer depending on the output size of ctx.getImageData, since it will result in more pixels to process.

It might take longer as well if the image has many colors or the maxRuns in kMeansColorExtractor parameter is higher.

As you can see in the example below, the maxRuns is a tradeoff between color accuracy and time to process.

An example using a 8K image:

  • Extracting 10 colors and maxRuns equals to 50

  • imageData extracted with size of 800x450px using ctx.getImageData(0, 0, 800, 450)

  • Metrics:

    • Get drawn canvas (draw image in canvas element): 14 ms
    • Get image data (gets the image data from drawn canvas): 98 ms
    • Convert imageData to RGBA (convertImageDataToRgba): 30 ms
    • Extract colors (kMeansColorExtractor): 845 ms
    • Total: 988 ms
  • The same image and output size, but with maxRuns equals to 10 (default)

  • Metrics:

    • Get drawn canvas: 18 ms
    • Get image data: 89 ms
    • Convert imageData to RGBA: 32 ms
    • Extract colors: 326 ms
    • Total: 466 ms

License

MIT

Comments
  • chore(deps-dev): bump @types/node from 17.0.41 to 17.0.43

    chore(deps-dev): bump @types/node from 17.0.41 to 17.0.43

    Bumps @types/node from 17.0.41 to 17.0.43.

    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 will merge this PR once CI passes on it, as requested by @gilmarsquinelato.


    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] 2
  • chore(deps-dev): bump @types/node from 17.0.41 to 17.0.42

    chore(deps-dev): bump @types/node from 17.0.41 to 17.0.42

    Bumps @types/node from 17.0.41 to 17.0.42.

    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 will merge this PR once CI passes on it, as requested by @gilmarsquinelato.


    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] 2
  • chore(deps-dev): bump semantic-release from 19.0.2 to 19.0.3

    chore(deps-dev): bump semantic-release from 19.0.2 to 19.0.3

    Bumps semantic-release from 19.0.2 to 19.0.3.

    Release notes

    Sourced from semantic-release's releases.

    v19.0.3

    19.0.3 (2022-06-09)

    Bug Fixes

    • log-repo: use the original form of the repo url to remove the need to mask credentials (#2459) (58a226f), closes #2449
    Commits
    • 58a226f fix(log-repo): use the original form of the repo url to remove the need to ma...
    • 17d60d3 build(deps): bump npm from 8.3.1 to 8.12.0 (#2447)
    • ab45ab1 chore(lint): disabled rules that dont apply to this project (#2408)
    • ea389c3 chore(deps): update dependency yargs-parser to 13.1.2 [security] (#2402)
    • fa994db build(deps): bump node-fetch from 2.6.1 to 2.6.7 (#2399)
    • b79116b build(deps): bump trim-off-newlines from 1.0.1 to 1.0.3
    • 6fd7e56 build(deps): bump minimist from 1.2.5 to 1.2.6
    • 2b94bb4 docs: update broken link to CI config recipes (#2378)
    • b4bc191 docs: Correct circleci workflow (#2365)
    • 2c30e26 Merge pull request #2333 from semantic-release/next
    • 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 will merge this PR once CI passes on it, as requested by @gilmarsquinelato.


    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] 2
  • chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.12.1 to 5.13.0

    chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.12.1 to 5.13.0

    Bumps @typescript-eslint/eslint-plugin from 5.12.1 to 5.13.0.

    Release notes

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

    v5.13.0

    5.13.0 (2022-02-28)

    Bug Fixes

    • eslint-plugin: [sort-type-union-intersection-members] Wrap the constructorType in parentheses (#4590) (851bb90)

    Features

    • eslint-plugin: [no-misused-promises] check more places for checksVoidReturn (#4541) (052cf51)
    • eslint-plugin: add no-redundant-type-constituents rule (#4378) (63d051e)
    • eslint-plugin: add no-useless-empty-export rule (#4380) (823b945)
    • eslint-plugin: add extension rule space-before-blocks (#1606) (#4184) (208b6d0)
    • eslint-plugin: added member group support to member-ordering rule (#4538) (6afcaea)
    • utils: expose ast-utils' helpers (#4503) (f106e4b)
    • utils: extract isNotTokenOfTypeWithConditions out of ast-utils' predicates (#4502) (66501d6)
    Changelog

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

    5.13.0 (2022-02-28)

    Bug Fixes

    • eslint-plugin: [sort-type-union-intersection-members] Wrap the constructorType in parentheses (#4590) (851bb90)

    Features

    • eslint-plugin: [no-misused-promises] check more places for checksVoidReturn (#4541) (052cf51)
    • eslint-plugin: add no-redundant-type-constituents rule (#4378) (63d051e)
    • eslint-plugin: add no-useless-empty-export rule (#4380) (823b945)
    • eslint-plugin: add extension rule space-before-blocks (#1606) (#4184) (208b6d0)
    • eslint-plugin: added member group support to member-ordering rule (#4538) (6afcaea)
    Commits
    • 9d47a8b chore: publish v5.13.0
    • 052cf51 feat(eslint-plugin): [no-misused-promises] check more places for checksVoidRe...
    • 851bb90 fix(eslint-plugin): [sort-type-union-intersection-members] Wrap the construct...
    • 6afcaea feat(eslint-plugin): added member group support to member-ordering rule (#4538)
    • 208b6d0 feat(eslint-plugin): add extension rule space-before-blocks (#1606) (#4184)
    • 823b945 feat(eslint-plugin): add no-useless-empty-export rule (#4380)
    • 63d051e feat(eslint-plugin): add no-redundant-type-constituents rule (#4378)
    • 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] 2
  • chore(deps-dev): bump @types/node from 17.0.41 to 18.11.17

    chore(deps-dev): bump @types/node from 17.0.41 to 18.11.17

    Bumps @types/node from 17.0.41 to 18.11.17.

    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] 1
  • chore(deps-dev): bump @types/node from 17.0.41 to 18.11.15

    chore(deps-dev): bump @types/node from 17.0.41 to 18.11.15

    Bumps @types/node from 17.0.41 to 18.11.15.

    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] 1
  • chore(deps-dev): bump @types/node from 17.0.41 to 18.11.13

    chore(deps-dev): bump @types/node from 17.0.41 to 18.11.13

    Bumps @types/node from 17.0.41 to 18.11.13.

    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] 1
  • chore(deps-dev): bump @types/node from 17.0.41 to 18.11.12

    chore(deps-dev): bump @types/node from 17.0.41 to 18.11.12

    Bumps @types/node from 17.0.41 to 18.11.12.

    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] 1
  • chore(deps-dev): bump @types/node from 17.0.41 to 18.11.11

    chore(deps-dev): bump @types/node from 17.0.41 to 18.11.11

    Bumps @types/node from 17.0.41 to 18.11.11.

    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] 1
  • chore(deps-dev): bump @types/node from 17.0.41 to 18.11.10

    chore(deps-dev): bump @types/node from 17.0.41 to 18.11.10

    Bumps @types/node from 17.0.41 to 18.11.10.

    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] 1
  • chore(deps-dev): bump lint-staged from 12.5.0 to 13.0.4

    chore(deps-dev): bump lint-staged from 12.5.0 to 13.0.4

    Bumps lint-staged from 12.5.0 to 13.0.4.

    Release notes

    Sourced from lint-staged's releases.

    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 pidtree@^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

    • deps: update execa@^6.1.0 (659c85c)
    • deps: update yaml@^2.1.1 (2750a3d)

    ... (truncated)

    Commits
    • 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
    • 17c51af ci: set GitHub Actions permissions
    • 3f3e152 chore(deps): bump colorette from 2.0.17 to 2.0.19 (#1177)
    • 0d627a5 fix: correctly handle git stash when using MSYS2 (#1178)
    • 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] 1
  • chore(deps-dev): bump @types/node from 17.0.41 to 18.11.18

    chore(deps-dev): bump @types/node from 17.0.41 to 18.11.18

    Bumps @types/node from 17.0.41 to 18.11.18.

    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] 0
  • chore(deps-dev): bump lint-staged from 12.5.0 to 13.1.0

    chore(deps-dev): bump lint-staged from 12.5.0 to 13.1.0

    Bumps lint-staged from 12.5.0 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 pidtree@^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
  • chore(deps-dev): bump @commitlint/cli from 16.3.0 to 17.3.0

    chore(deps-dev): bump @commitlint/cli from 16.3.0 to 17.3.0

    Bumps @commitlint/cli from 16.3.0 to 17.3.0.

    Release notes

    Sourced from @​commitlint/cli's releases.

    v17.3.0

    17.3.0 (2022-11-21)

    Features

    • config-pnpm-scopes: implement config-pnpm-scopes (#3427) (ca3ae8b)

    New Contributors

    Full Changelog: https://github.com/conventional-changelog/commitlint/compare/v17.2.1...v17.3.0

    v17.2.1

    17.2.1 (2022-11-01)

    New Contributors

    Full Changelog: https://github.com/conventional-changelog/commitlint/compare/v17.2.0...v17.2.1

    v17.1.2

    17.1.2 (2022-08-29)

    Bug Fixes

    • load: add ts-node as direct dependency (#3351) (3b66891)
    • update dependency cosmiconfig-typescript-loader to v4 (#3346) (5a9d80f)

    New Contributors

    Full Changelog: https://github.com/conventional-changelog/commitlint/compare/v17.1.1...v17.1.2

    v17.1.1

    17.1.1 (2022-08-27)

    Bug Fixes

    v17.1.0

    17.1.0 (2022-08-27)

    ... (truncated)

    Changelog

    Sourced from @​commitlint/cli's changelog.

    17.3.0 (2022-11-21)

    Note: Version bump only for package @​commitlint/cli

    17.2.0 (2022-10-31)

    Features

    17.1.2 (2022-08-29)

    Note: Version bump only for package @​commitlint/cli

    17.1.1 (2022-08-27)

    Note: Version bump only for package @​commitlint/cli

    17.1.0 (2022-08-27)

    Features

    17.0.3 (2022-06-25)

    Note: Version bump only for package @​commitlint/cli

    ... (truncated)

    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] 0
  • chore(deps-dev): bump @commitlint/config-conventional from 16.2.4 to 17.3.0

    chore(deps-dev): bump @commitlint/config-conventional from 16.2.4 to 17.3.0

    Bumps @commitlint/config-conventional from 16.2.4 to 17.3.0.

    Release notes

    Sourced from @​commitlint/config-conventional's releases.

    v17.3.0

    17.3.0 (2022-11-21)

    Features

    • config-pnpm-scopes: implement config-pnpm-scopes (#3427) (ca3ae8b)

    New Contributors

    Full Changelog: https://github.com/conventional-changelog/commitlint/compare/v17.2.1...v17.3.0

    v17.2.1

    17.2.1 (2022-11-01)

    New Contributors

    Full Changelog: https://github.com/conventional-changelog/commitlint/compare/v17.2.0...v17.2.1

    v17.1.2

    17.1.2 (2022-08-29)

    Bug Fixes

    • load: add ts-node as direct dependency (#3351) (3b66891)
    • update dependency cosmiconfig-typescript-loader to v4 (#3346) (5a9d80f)

    New Contributors

    Full Changelog: https://github.com/conventional-changelog/commitlint/compare/v17.1.1...v17.1.2

    v17.1.1

    17.1.1 (2022-08-27)

    Bug Fixes

    v17.1.0

    17.1.0 (2022-08-27)

    ... (truncated)

    Changelog

    Sourced from @​commitlint/config-conventional's changelog.

    17.3.0 (2022-11-21)

    Note: Version bump only for package @​commitlint/config-conventional

    17.2.0 (2022-10-31)

    Note: Version bump only for package @​commitlint/config-conventional

    17.1.0 (2022-08-27)

    Note: Version bump only for package @​commitlint/config-conventional

    17.0.3 (2022-06-25)

    Note: Version bump only for package @​commitlint/config-conventional

    17.0.2 (2022-06-01)

    Bug Fixes

    • update dependency conventional-changelog-conventionalcommits to v5 (#3201) (c20fd19)

    17.0.0 (2022-05-16)

    BREAKING CHANGES

    ... (truncated)

    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] 0
  • chore(deps-dev): bump semantic-release from 19.0.2 to 19.0.5

    chore(deps-dev): bump semantic-release from 19.0.2 to 19.0.5

    Bumps semantic-release from 19.0.2 to 19.0.5.

    Release notes

    Sourced from semantic-release's releases.

    v19.0.5

    19.0.5 (2022-08-23)

    Reverts

    v19.0.4

    19.0.4 (2022-08-22)

    Bug Fixes

    v19.0.3

    19.0.3 (2022-06-09)

    Bug Fixes

    • log-repo: use the original form of the repo url to remove the need to mask credentials (#2459) (58a226f), closes #2449
    Commits
    • 8f07522 Revert "fix(deps): update dependency yargs to v17" (#2534)
    • 2f4bcef docs: add semantic-release-react-native to plugin list (#2523)
    • f419080 fix(deps): update dependency yargs to v17 (#1912)
    • 3bbf08c test(integration): upgrade the gitbox image to support arm architecture in ad...
    • 846f4c2 build(deps): bump terser from 5.14.0 to 5.14.2 (#2513)
    • bd294eb docs(plugin-list): add semantic-release-space plugin (#2502)
    • c69445e docs: remove deprecated keyword in gitlab-ci.md (#2498)
    • d80e2ea build(deps-dev): bump got from 11.8.3 to 11.8.5 (#2485)
    • 9589a96 docs: fix typos (#2476)
    • ec89bab docs: replace issue templates with forms (#2474)
    • 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 will merge this PR once CI passes on it, as requested by @gilmarsquinelato.


    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] 1
  • The automated release is failing 🚨

    The automated release is failing 🚨

    :rotating_light: The automated release from the main branch failed. :rotating_light:

    I recommend you give this issue a high priority, so other packages depending on you can benefit from your bug fixes and new features again.

    You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can fix this 💪.

    Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

    Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the main branch. You can also manually restart the failed CI job that runs semantic-release.

    If you are not sure how to resolve this, here are some links that can help you:

    If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


    Cannot push to the Git repository.

    semantic-release cannot push the version tag to the branch main on the remote Git repository with URL https://x-access-token:[secure]@github.com/gilmarsquinelato/color-mage.

    This can be caused by:


    Good luck with your project ✨

    Your semantic-release bot :package::rocket:

    semantic-release 
    opened by gilmarsquinelato 62
Releases(v1.5.0)
Owner
Gilmar Quinelato
Senior Frontend Engineer. Typescript lover. Learning Rust.
Gilmar Quinelato
A simple Discord bot that will listen for HEX, RGB(a), and HSL(a) colors in a message, and provide a small image of that color.

Pigment For the teams of designers and developers out there - Pigment will listen for messages containing a HEX, RGB(a), or HSL(a) color, and provide

Conrad Crawford 17 Dec 8, 2022
JavaScript library for all kinds of color manipulations

Chroma.js Chroma.js is a tiny small-ish zero-dependency JavaScript library (13.5kB) for all kinds of color conversions and color scales. Usage Initiat

Gregor Aisch 9.2k Jan 4, 2023
:rainbow: Javascript color conversion and manipulation library

color JavaScript library for immutable color conversion and manipulation with support for CSS color strings. var color = Color('#7743CE').alpha(0.5).l

Qix 4.5k Jan 3, 2023
JavaScript Library for creating random pleasing colors and color schemes

#PleaseJS www.checkman.io/please Please.js is a polite companion that wants to help you make your projects beautiful. It uses HSV color space to creat

Jordan Checkman 2.3k Dec 22, 2022
Fast, small color manipulation and conversion for JavaScript

TinyColor JavaScript color tooling TinyColor is a small, fast library for color manipulation and conversion in JavaScript. It allows many forms of inp

Brian Grinstead 4.5k Jan 1, 2023
Coloris - A lightweight and elegant JavaScript color picker. Written in vanilla ES6, no dependencies. Accessible.

Coloris A lightweight and elegant JavaScript color picker written in vanilla ES6. Convert any text input field into a color field. View demo Features

Momo Bassit 126 Dec 27, 2022
Color2k - a color parsing and manipulation lib served in roughly 2kB

color2k a color parsing and manipulation lib served in roughly 2kB or less (2.8kB to be more precise) color2k is a color parsing and manipulation libr

Rico Kahler 506 Dec 31, 2022
A simple color picker application written in pure JavaScript, for modern browsers.

Color Picker A simple color picker application written in pure JavaScript, for modern browsers. Has support for touch events. Touchy… touchy… Demo and

Taufik Nurrohman 207 Dec 14, 2022
A CLI utility to calculate/verify accessible magic numbers for a color palette.

A11y Contrast A CLI utility to calculate/verify accessible magic numbers for a color palette. Read my blog post for some more information. Installatio

Darek Kay 23 Nov 13, 2022
Create your own complete Web color system fast and easy!

Simpler Color Create your own complete Web color system fast and easy, from as little as one base color! Color is at the heart of every UI design syst

Arnel Enero 278 Dec 20, 2022
A tool for creating and maintaining cohesive, consistent, and accessible color palettes

Primer Prism Primer Prism is a tool for creating and maintaining cohesive, consistent, and accessible color palettes. ?? primer.style/prism ?? Read th

Primer 517 Jan 3, 2023
A array with color name -> decimal rgbs.

colors-named-decimal A array with color name -> decimal rgbs. Based on https://www.w3.org/TR/css-color-4/#colors-named Installation This package is ES

小弟调调™ 4 Jul 20, 2022
A TypeScript package to calculate WCAG 2.0/3.0 and APCA color contrasts

a11y-color-contrast A simple utility package for working with WCAG 2.2/3.0 color contrasts a11y: Built for checking how readable colors are together S

Sondre Aasemoen 10 Oct 10, 2022
Extract prominent colors from an image. JS port of Android's Palette.

Vibrant.js Extract prominent colors from an image. Vibrant.js is a javascript port of the awesome Palette class in the Android support library. ⚠️ THI

Jari Zwarts 4.6k Dec 25, 2022
Change the color of an image to a specific color you have in mind.

image-recolor Run it: https://image-recolor.vercel.app/ image.recolor.mov Acknowledgments Daniel Büchele for the algorithm: https://twitter.com/daniel

Christopher Chedeau 21 Oct 25, 2022
An NLP library for building bots, with entity extraction, sentiment analysis, automatic language identify, and so more

NLP.js If you're looking for the version 3 docs, you can find them here Version 3 "NLP.js" is a general natural language utility for nodejs. Currently

AXA 5.3k Dec 29, 2022
PDF data extraction for Physiotherapy Board NZ APC's

physioboard-apc-reader Parses and extracts info from NZ Physio board issued certificates Install npm install physioboard-apc-reader Use import { physi

null 2 Jan 13, 2022
Vite plugin to convert markdown to html with front-matter extraction and build-time syntax highlighting

Vite plugin to convert markdown to html with front-matter extraction and build-time syntax highlighting

Saurabh Daware 9 Sep 18, 2022
A solution for highlights extraction for sports games by The Unknowns.

Sportlight by The Unknowns Next.js, Express.js, NLTK, symbl.ai Inspiration - Problem Statement #3 by Experion Technologies Publishing highlights after

Arjun Sivaraman 5 Apr 19, 2022
Colormath.js - a color conversion and color manipulation library written in typescript for Node.js, Deno and Browser

Colormath.js - a color conversion and color manipulation library written in typescript for Node.js, Deno and Browser

TheSudarsanDev 8 Feb 8, 2022