From 644ba19a614deb55b514fe6da10b66a8c059035c Mon Sep 17 00:00:00 2001 From: Romein van Buren Date: Mon, 24 May 2021 12:32:23 +0200 Subject: [PATCH] Initial commit --- .gitignore | 119 +++ .husky/.gitignore | 1 + .husky/pre-commit | 4 + .npmignore | 3 + LICENSE.md | 22 + README.md | 81 ++ docs/.gitignore | 4 + docs/Gemfile | 4 + docs/Gemfile.lock | 276 +++++++ docs/_config.yml | 38 + docs/_data/navigation.yml | 3 + .../competitors/alphabet-last-publish.png | Bin 0 -> 12797 bytes docs/index.md | 126 +++ package-lock.json | 781 ++++++++++++++++++ package.json | 19 + rollup.config.js | 15 + src/main.js | 17 + 17 files changed, 1513 insertions(+) create mode 100644 .gitignore create mode 100644 .husky/.gitignore create mode 100755 .husky/pre-commit create mode 100644 .npmignore create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 docs/.gitignore create mode 100644 docs/Gemfile create mode 100644 docs/Gemfile.lock create mode 100644 docs/_config.yml create mode 100644 docs/_data/navigation.yml create mode 100644 docs/images/competitors/alphabet-last-publish.png create mode 100644 docs/index.md create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 rollup.config.js create mode 100644 src/main.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d6fd50e --- /dev/null +++ b/.gitignore @@ -0,0 +1,119 @@ +dist +.DS_Store + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* diff --git a/.husky/.gitignore b/.husky/.gitignore new file mode 100644 index 0000000..31354ec --- /dev/null +++ b/.husky/.gitignore @@ -0,0 +1 @@ +_ diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000..f22d70c --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npm run build diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..ad555ff --- /dev/null +++ b/.npmignore @@ -0,0 +1,3 @@ +.DS_Store +.husky +node_modules diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..53154b0 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,22 @@ +Copyright (c) 2020 Romein van Buren + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..e4d3c80 --- /dev/null +++ b/README.md @@ -0,0 +1,81 @@ +# Alphabets + +A tiny JS dependency (<800 bytes!) which exports many alphabets for many use +cases. + +For more: see the +[Alphabets documentation](https://alphabets.romeinvanburen.nl). + +## Why would I use this? + +### Why? + +I have seen developers doing this: + +```js +const alphabet = 'abcdefghijklmnopqrstuvwxyz'.split(''); +``` + +Or worse: + +```js +const alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]; +``` + +My opinion about this? 🙄. It's ugly, it makes your code less readable +(read: ugly) and it's simply not something you should want to have in your +code! Instead, you should do it like so: + +```js +import { latin } from 'alphabets'; +// or +const alphabets = require('alphabets'); +``` + +Much cleaner, right? That's why I made this package. + +## Installation + +Use npm: + +```bash +npm install alphabets --save +``` + +Or if you prefer Yarn: + +```bash +yarn add alphabets +``` + +CDN, if that's more your style: + +```html + +``` + +## Usage + +```js +import { } from 'alphabets'; +``` + +or: + +```js +const alphabets = require('alphabets'); +console.log(alphabets.); +``` + +where `` is an alphabet this package supports. +[Here](#supported-alphabets) is a list from which you can choose. + +## Supported alphabets + +Usage: see [Usage](#usage). + +| Name | Export name | +|------|-------------| +| Latin | `latin` | +| Greek (modern) | `greek` | +| Greek (ancient/polytonic) | `greekPolytonic` | diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..327d3f7 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,4 @@ +_site/ +.sass-cache/ +.jekyll-cache/ +.jekyll-metadata \ No newline at end of file diff --git a/docs/Gemfile b/docs/Gemfile new file mode 100644 index 0000000..595e3be --- /dev/null +++ b/docs/Gemfile @@ -0,0 +1,4 @@ +source "https://rubygems.org" + +gem "github-pages", group: :jekyll_plugins +gem "jekyll-include-cache", group: :jekyll_plugins \ No newline at end of file diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock new file mode 100644 index 0000000..c14e361 --- /dev/null +++ b/docs/Gemfile.lock @@ -0,0 +1,276 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (6.0.3.7) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + zeitwerk (~> 2.2, >= 2.2.2) + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.11.1) + colorator (1.1.0) + commonmarker (0.17.13) + ruby-enum (~> 0.5) + concurrent-ruby (1.1.8) + dnsruby (1.61.5) + simpleidn (~> 0.1) + em-websocket (0.5.2) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0.6.0) + ethon (0.14.0) + ffi (>= 1.15.0) + eventmachine (1.2.7) + execjs (2.8.1) + faraday (1.4.2) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.1) + multipart-post (>= 1.2, < 3) + ruby2_keywords (>= 0.0.4) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.1.0) + ffi (1.15.1) + forwardable-extended (2.6.0) + gemoji (3.0.1) + github-pages (214) + github-pages-health-check (= 1.17.0) + jekyll (= 3.9.0) + jekyll-avatar (= 0.7.0) + jekyll-coffeescript (= 1.1.1) + jekyll-commonmark-ghpages (= 0.1.6) + jekyll-default-layout (= 0.1.4) + jekyll-feed (= 0.15.1) + jekyll-gist (= 1.5.0) + jekyll-github-metadata (= 2.13.0) + jekyll-mentions (= 1.6.0) + jekyll-optional-front-matter (= 0.3.2) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.3.0) + jekyll-redirect-from (= 0.16.0) + jekyll-relative-links (= 0.6.1) + jekyll-remote-theme (= 0.4.3) + jekyll-sass-converter (= 1.5.2) + jekyll-seo-tag (= 2.7.1) + jekyll-sitemap (= 1.4.0) + jekyll-swiss (= 1.0.0) + jekyll-theme-architect (= 0.1.1) + jekyll-theme-cayman (= 0.1.1) + jekyll-theme-dinky (= 0.1.1) + jekyll-theme-hacker (= 0.1.2) + jekyll-theme-leap-day (= 0.1.1) + jekyll-theme-merlot (= 0.1.1) + jekyll-theme-midnight (= 0.1.1) + jekyll-theme-minimal (= 0.1.1) + jekyll-theme-modernist (= 0.1.1) + jekyll-theme-primer (= 0.5.4) + jekyll-theme-slate (= 0.1.1) + jekyll-theme-tactile (= 0.1.1) + jekyll-theme-time-machine (= 0.1.1) + jekyll-titles-from-headings (= 0.5.3) + jemoji (= 0.12.0) + kramdown (= 2.3.1) + kramdown-parser-gfm (= 1.1.0) + liquid (= 4.0.3) + mercenary (~> 0.3) + minima (= 2.5.1) + nokogiri (>= 1.10.4, < 2.0) + rouge (= 3.26.0) + terminal-table (~> 1.4) + github-pages-health-check (1.17.0) + addressable (~> 2.3) + dnsruby (~> 1.60) + octokit (~> 4.0) + public_suffix (>= 2.0.2, < 5.0) + typhoeus (~> 1.3) + html-pipeline (2.14.0) + activesupport (>= 2) + nokogiri (>= 1.4) + http_parser.rb (0.6.0) + i18n (0.9.5) + concurrent-ruby (~> 1.0) + jekyll (3.9.0) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 0.7) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (>= 1.17, < 3) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + jekyll-avatar (0.7.0) + jekyll (>= 3.0, < 5.0) + jekyll-coffeescript (1.1.1) + coffee-script (~> 2.2) + coffee-script-source (~> 1.11.1) + jekyll-commonmark (1.3.1) + commonmarker (~> 0.14) + jekyll (>= 3.7, < 5.0) + jekyll-commonmark-ghpages (0.1.6) + commonmarker (~> 0.17.6) + jekyll-commonmark (~> 1.2) + rouge (>= 2.0, < 4.0) + jekyll-default-layout (0.1.4) + jekyll (~> 3.0) + jekyll-feed (0.15.1) + jekyll (>= 3.7, < 5.0) + jekyll-gist (1.5.0) + octokit (~> 4.2) + jekyll-github-metadata (2.13.0) + jekyll (>= 3.4, < 5.0) + octokit (~> 4.0, != 4.4.0) + jekyll-include-cache (0.2.1) + jekyll (>= 3.7, < 5.0) + jekyll-mentions (1.6.0) + html-pipeline (~> 2.3) + jekyll (>= 3.7, < 5.0) + jekyll-optional-front-matter (0.3.2) + jekyll (>= 3.0, < 5.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.3.0) + jekyll (>= 3.0, < 5.0) + jekyll-redirect-from (0.16.0) + jekyll (>= 3.3, < 5.0) + jekyll-relative-links (0.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-remote-theme (0.4.3) + addressable (~> 2.0) + jekyll (>= 3.5, < 5.0) + jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) + rubyzip (>= 1.3.0, < 3.0) + jekyll-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-seo-tag (2.7.1) + jekyll (>= 3.8, < 5.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-swiss (1.0.0) + jekyll-theme-architect (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-cayman (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-dinky (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-hacker (0.1.2) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-leap-day (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-merlot (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-midnight (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-minimal (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-modernist (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-primer (0.5.4) + jekyll (> 3.5, < 5.0) + jekyll-github-metadata (~> 2.9) + jekyll-seo-tag (~> 2.0) + jekyll-theme-slate (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-tactile (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-time-machine (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-titles-from-headings (0.5.3) + jekyll (>= 3.3, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + jemoji (0.12.0) + gemoji (~> 3.0) + html-pipeline (~> 2.2) + jekyll (>= 3.0, < 5.0) + kramdown (2.3.1) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.3) + listen (3.5.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.3.6) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + minitest (5.14.4) + multipart-post (2.1.1) + nokogiri (1.11.5-arm64-darwin) + racc (~> 1.4) + nokogiri (1.11.5-x86_64-darwin) + racc (~> 1.4) + octokit (4.21.0) + faraday (>= 0.9) + sawyer (~> 0.8.0, >= 0.5.3) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (4.0.6) + racc (1.5.2) + rb-fsevent (0.11.0) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.5) + rouge (3.26.0) + ruby-enum (0.9.0) + i18n + ruby2_keywords (0.0.4) + rubyzip (2.3.0) + safe_yaml (1.0.5) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sawyer (0.8.2) + addressable (>= 2.3.5) + faraday (> 0.8, < 2.0) + simpleidn (0.2.1) + unf (~> 0.1.4) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + thread_safe (0.3.6) + typhoeus (1.4.0) + ethon (>= 0.9.0) + tzinfo (1.2.9) + thread_safe (~> 0.1) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.7) + unicode-display_width (1.7.0) + zeitwerk (2.4.2) + +PLATFORMS + universal-darwin-20 + +DEPENDENCIES + github-pages + jekyll-include-cache + +BUNDLED WITH + 2.2.17 diff --git a/docs/_config.yml b/docs/_config.yml new file mode 100644 index 0000000..8ae28ee --- /dev/null +++ b/docs/_config.yml @@ -0,0 +1,38 @@ +remote_theme: "mmistakes/minimal-mistakes@4.9.0" +minimal_mistakes_skin: air +repository: garraflavatra/alphabets + +title: Alphabets +description: A tiny JS dependency (<800 bytes!) which exports many alphabets for many use cases. + +author: + name: "garraflavatra" + avatar: "https://avatars.githubusercontent.com/u/34036573" + email: "romein@vburen.eu" + links: + - label: "Email" + icon: "fas fa-fw fa-envelope-square" + url: "mailto:romein@vburen.eu" + - label: "Website" + icon: "fas fa-fw fa-link" + url: "https://garraflavatra.github.io" + - label: "GitHub" + icon: "fab fa-fw fa-github" + url: "https://github.com/garraflavatra/alphabet.js" + +plugins: + - jekyll-include-cache + +footer: + links: + - label: "GitHub" + icon: "fab fa-fw fa-github" + url: "https://github.com/garraflavatra/alphabet.js" + +defaults: + - scope: + path: "" + values: + layout: single + toc: true + \ No newline at end of file diff --git a/docs/_data/navigation.yml b/docs/_data/navigation.yml new file mode 100644 index 0000000..20b6efc --- /dev/null +++ b/docs/_data/navigation.yml @@ -0,0 +1,3 @@ +main: + - title: "GitHub" + url: https://github.com/garraflavatra/alphabet.js diff --git a/docs/images/competitors/alphabet-last-publish.png b/docs/images/competitors/alphabet-last-publish.png new file mode 100644 index 0000000000000000000000000000000000000000..671e02e1edfe24557fff511424ea2913a0ac009d GIT binary patch literal 12797 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 literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..864b2c0 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,126 @@ +--- +title: Alphabets +--- + +A tiny JS dependency (<800 bytes!) which exports many alphabets for many use +cases. + +## Why would I use this? + +### Why? + +I have seen developers doing this: + +```js +const alphabet = 'abcdefghijklmnopqrstuvwxyz'.split(''); +``` + +Or worse: + +```js +const alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]; +``` + +My opinion about this? 🙄. It's ugly, it makes your code less readable +(read: ugly) and it's simply not something you should want to have in your +code! Instead, you should do it like so: + +```js +import { latin } from 'alphabets'; +// or +const alphabets = require('alphabets'); +``` + +Much cleaner, right? That's why I made this package. + +### Why not? + +I see very few reasons not to use this package. + +#### But doesn't it cost me performance? + +No. This package is only <800 bytes so it should not cost you any performance. +Neither via CDN nor if you use a bundler like webpack, Parcel or Rollup. + +#### Why not making an array on my own? + +It's a choice. This whole package is **opinionated**. *I* think you should not +do `const alphabet = 'abcdefghijklmnopqrstuvwxyz'.split('');` in your code. *I* +think you should use a package for that. Do you think it's OK to define your own +alphabet array? Do that! + +### Competitors + +Know more alternatives? Please open an +[issue](https://github.com/garraflavatra/alphabet.js/issues/new) or +[pull request](https://github.com/garraflavatra/alphabet.js)! +{: .notice--info} + +#### [alphabet](https://www.npmjs.com/package/alphabet) + +Seems a good alternative, right? But: + +* It only supports the Latin alphabet. +* It is larger. (The size is equal to this package's size, but this package + includes more.) +* It is only [CommonJS](https://en.wikipedia.org/wiki/CommonJS) and not + [ECMAScript](https://en.wikipedia.org/wiki/ECMAScript) etc. +* When did the author last update it? Right. +
+ Last updated: 6 years ago +
Hmmm...
+
+ +I do not say this package doesn't work. I think it will work perfectly, but it +has less features. +{: .notice--warning} + +## Usage + +### Installation + +Use npm: + +```bash +npm install alphabets --save +``` + +Or if you prefer Yarn: + +```bash +yarn add alphabets +``` + +CDN, if that's more your style: + +```html + +``` + +### Usage + +```js +import { } from 'alphabets'; +``` + +or: + +```js +const alphabets = require('alphabets'); +console.log(alphabets.); +``` + +where `` is an alphabet this package supports. +[Here](#supported-alphabets) is a list from which you can choose. + +## API + +### Supported alphabets + +Usage: see [Usage](#usage). + +| Name | Export name | +|------|-------------| +| Latin | `latin` | +| Greek (modern) | `greek` | +| Greek (ancient/polytonic) | `greekPolytonic` | diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..c64f7b7 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,781 @@ +{ + "name": "alphabets", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "husky": "^6.0.0", + "rollup": "^2.49.0", + "rollup-plugin-clear": "^2.0.7", + "rollup-plugin-terser": "^7.0.2" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.12.13" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", + "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==", + "dev": true + }, + "node_modules/@babel/highlight": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", + "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.0", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@types/node": { + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.0.tgz", + "integrity": "sha512-gCYSfQpy+LYhOFTKAeE8BkyGqaxmlFxe+n4DKM6DR0wzw/HISUE/hAmkC/KT8Sw5PCJblqg062b3z9gucv3k0A==", + "dev": true + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/husky": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/husky/-/husky-6.0.0.tgz", + "integrity": "sha512-SQS2gDTB7tBN486QSoKPKQItZw97BMOd+Kdb6ghfpBc0yXyzrddI0oDV5MkDAbuB4X2mO3/nj60TRMcYxwzZeQ==", + "dev": true, + "bin": { + "husky": "lib/bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rollup": { + "version": "2.49.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.49.0.tgz", + "integrity": "sha512-UnrCjMXICx9q0jF8L7OYs7LPk95dW0U5UYp/VANnWqfuhyr66FWi/YVlI34Oy8Tp4ZGLcaUDt4APJm80b9oPWQ==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.1" + } + }, + "node_modules/rollup-plugin-clear": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/rollup-plugin-clear/-/rollup-plugin-clear-2.0.7.tgz", + "integrity": "sha512-Hg8NC3JcJBO1ofgyQC0IACpyKn/yhHPGZ3C7R3ubNGWUXy9JXHQrewk4J4hVcZznw6SOKayLsaNae596Rwt8Vg==", + "dev": true, + "dependencies": { + "rimraf": "^2.6.2" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/terser": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz", + "integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", + "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==", + "dev": true + }, + "@babel/highlight": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", + "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.0", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@types/node": { + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.0.tgz", + "integrity": "sha512-gCYSfQpy+LYhOFTKAeE8BkyGqaxmlFxe+n4DKM6DR0wzw/HISUE/hAmkC/KT8Sw5PCJblqg062b3z9gucv3k0A==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "husky": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/husky/-/husky-6.0.0.tgz", + "integrity": "sha512-SQS2gDTB7tBN486QSoKPKQItZw97BMOd+Kdb6ghfpBc0yXyzrddI0oDV5MkDAbuB4X2mO3/nj60TRMcYxwzZeQ==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "2.49.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.49.0.tgz", + "integrity": "sha512-UnrCjMXICx9q0jF8L7OYs7LPk95dW0U5UYp/VANnWqfuhyr66FWi/YVlI34Oy8Tp4ZGLcaUDt4APJm80b9oPWQ==", + "dev": true, + "requires": { + "fsevents": "~2.3.1" + } + }, + "rollup-plugin-clear": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/rollup-plugin-clear/-/rollup-plugin-clear-2.0.7.tgz", + "integrity": "sha512-Hg8NC3JcJBO1ofgyQC0IACpyKn/yhHPGZ3C7R3ubNGWUXy9JXHQrewk4J4hVcZznw6SOKayLsaNae596Rwt8Vg==", + "dev": true, + "requires": { + "rimraf": "^2.6.2" + } + }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "terser": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz", + "integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..86ee2a6 --- /dev/null +++ b/package.json @@ -0,0 +1,19 @@ +{ + "name": "alphabets", + "version": "1.0.0", + "description": "Exports many alphabets for many use cases", + "main": "dist/bundle.js", + "scripts": { + "build": "rollup -c", + "prepare": "husky install" + }, + "keywords": [], + "author": "Romein van Buren ", + "license": "MIT", + "devDependencies": { + "husky": "^6.0.0", + "rollup": "^2.49.0", + "rollup-plugin-clear": "^2.0.7", + "rollup-plugin-terser": "^7.0.2" + } +} diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000..efb1551 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,15 @@ +import clear from 'rollup-plugin-clear'; +import { terser } from "rollup-plugin-terser"; + +export default { + input: 'src/main.js', + output: { + file: 'dist/bundle.js', + format: 'umd', + name: 'alphabets', + }, + plugins: [ + terser(), + clear({ targets: ['dist'] }), + ], +}; diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..2a58d04 --- /dev/null +++ b/src/main.js @@ -0,0 +1,17 @@ +export const latin = [ + "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" +]; + +export const greek = [ + "α", "β", "γ", "δ", "ε", "ζ", "η", "θ", "ι", "κ", "λ", "μ", "ν", "ξ", "ο", "π", "ρ", "σ", "τ", "υ", "φ", "χ", "ψ", "ω" +] + +export const greekPolytonic = [ + "α", "β", "γ", "δ", "ε", "ζ", "η", "θ", "ι", "κ", "λ", "μ", "ν", "ξ", "ο", "π", "ρ", "σ", "τ", "υ", "φ", "χ", "ψ", "ω" +] + +export default [ + latin, + greek, + greekPolytonic, +]; \ No newline at end of file