├── .c8rc
├── .github
└── workflows
│ ├── cd.yml
│ └── ci.yml
├── .gitignore
├── .husky
├── commit-msg
└── pre-commit
├── .npmignore
├── .prettierignore
├── .prettierrc
├── README.md
├── bench
└── hypostyle.js
├── commitlint.config.js
├── lib
├── __tests__
│ └── index.ts
├── index.test-d.ts
├── index.ts
├── presets.ts
└── properties.ts
├── package.json
├── pnpm-lock.yaml
├── release.config.js
├── scripts
└── build.js
└── tsconfig.json
/.c8rc:
--------------------------------------------------------------------------------
1 | {
2 | "reporter": ["text", "lcov"]
3 | }
4 |
--------------------------------------------------------------------------------
/.github/workflows/cd.yml:
--------------------------------------------------------------------------------
1 | name: CD
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 | - beta
8 |
9 | env:
10 | PNPM_CACHE_FOLDER: .pnpm-store
11 |
12 | jobs:
13 | build:
14 | name: Release
15 | runs-on: ubuntu-latest
16 | steps:
17 | - name: Checkout
18 | uses: actions/checkout@v1
19 | - name: Setup Node.js
20 | uses: actions/setup-node@v1
21 | with:
22 | node-version: 14
23 |
24 | # pnpm stuff
25 | - name: pnpm — install
26 | run: npm i pnpm@latest -g
27 | - name: pnpm - config
28 | run: pnpm config set store-dir $PNPM_CACHE_FOLDER
29 | - name: pnpm - install
30 | run: pnpm install
31 |
32 | # build
33 | - name: lint
34 | run: pnpm lint
35 | - name: build
36 | run: pnpm build # bae — before everything else
37 | - name: test
38 | run: pnpm t
39 |
40 | - name: coveralls
41 | uses: coverallsapp/github-action@master
42 | with:
43 | github-token: ${{ secrets.GITHUB_TOKEN }}
44 |
45 | # release
46 | - name: release
47 | env:
48 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
49 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
50 | run: pnpm exec semantic-release
51 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 |
3 | on:
4 | pull_request:
5 | branches:
6 | - '**'
7 |
8 | env:
9 | PNPM_CACHE_FOLDER: .pnpm-store
10 |
11 | jobs:
12 | build:
13 | name: Test
14 | runs-on: ubuntu-latest
15 | steps:
16 | - name: Checkout
17 | uses: actions/checkout@v1
18 | - name: Setup Node.js
19 | uses: actions/setup-node@v1
20 | with:
21 | node-version: 14
22 |
23 | # pnpm stuff
24 | - name: pnpm — install
25 | run: npm i pnpm@latest -g
26 | - name: pnpm - config
27 | run: pnpm config set store-dir $PNPM_CACHE_FOLDER
28 | - name: pnpm - install
29 | run: pnpm install
30 |
31 | # build
32 | - name: lint
33 | run: pnpm lint
34 | - name: build
35 | run: pnpm build # bae — before everything else
36 | - name: test
37 | run: pnpm t
38 |
39 | - name: coveralls
40 | uses: coverallsapp/github-action@master
41 | with:
42 | github-token: ${{ secrets.GITHUB_TOKEN }}
43 |
44 | # release
45 | - name: release
46 | env:
47 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
48 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
49 | run: pnpm exec semantic-release -d
50 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | *.map
3 | node_modules/
4 | dist
5 | .nyc_output
6 | .pnpm*
7 | coverage
8 |
9 | # built files
10 | index.js
11 | presets.js
12 | index.d.ts
13 | presets.d.ts
14 | properties.d.ts
15 |
--------------------------------------------------------------------------------
/.husky/commit-msg:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | . "$(dirname "$0")/_/husky.sh"
3 |
4 | pnpm exec commitlint --edit
5 |
--------------------------------------------------------------------------------
/.husky/pre-commit:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | . "$(dirname "$0")/_/husky.sh"
3 |
4 | pnpm t && pnpm run format
5 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | /bench
2 | /lib
3 | .c8rc
4 | .gitignore
5 | .prettierignore
6 | .prettierrc
7 | commitlint.config.js
8 | release.config.js
9 | tsconfig.json
10 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | demo
3 | fixtures
4 | test/fixtures
5 | dist
6 | build
7 | .nyc_output
8 | coverage
9 | pnpm-lock.yaml
10 | .pnpm*
11 | .changeset
12 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "semi": false,
3 | "singleQuote": true,
4 | "printWidth": 120,
5 | "tabWidth": 2
6 | }
7 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # hypostyle
2 |
3 | [](https://www.npmjs.com/package/hypostyle) [](https://coveralls.io/github/sure-thing/hypostyle?branch=main) [](https://bundlephobia.com/result?p=hypostyle)
4 |
5 | Minimalist [5th
6 | Generation](https://github.com/streamich/freestyler/blob/master/docs/en/generations.md#5th-generation)
7 | CSS-in-JS built for concision and extension. Fast af, powered
8 | by [nano-css](https://github.com/streamich/nano-css).
9 |
10 | ```
11 | npm i hypostyle
12 | ```
13 |
14 | #### Why
15 |
16 | Typical [4th
17 | gen](https://github.com/streamich/freestyler/blob/master/docs/en/generations.md#4th-generation)
18 | CSS-in-JS can be very verbose. `hypostyle` provides a way of authoring CSS in
19 | Javascript using shortcuts and abbreviations — like atomic CSS and frameworks
20 | like [Tailwind](https://tailwindcss.com/) — at a fraction of the bundle size.
21 | `hypostyle` is also framework-agnostic, meaning it can be adapted into any UI
22 | framework and _any CSS-in-JS library_ that supports style objects.
23 |
24 |
25 | Full Example
26 |
27 | ```javascript
28 | import { hypostyle } from 'hypostyle'
29 |
30 | const { css } = hypostyle({
31 | breakpoints: ['400px', '800px', '1200px'],
32 | tokens: {
33 | color: {
34 | primary: '#ff4567',
35 | },
36 | space: [0, 4, 8, 12, 16, 20, 24, 28, 32],
37 | },
38 | shorthands: {
39 | c: ['color'],
40 | px: ['paddingLeft', 'paddingRight'],
41 | },
42 | })
43 | ```
44 |
45 | ➕
46 |
47 | ```javascript
48 | const classname = css({
49 | c: 'primary',
50 | px: [4, 8],
51 | })
52 |
53 | function Component() {
54 | return
55 | }
56 | ```
57 |
58 | 👇
59 |
60 | ```css
61 | color: #ff4567;
62 | padding-left: 16px;
63 | padding-right: 16px;
64 | @media (min-width: 400px) {
65 | padding-left: 32px;
66 | padding-right: 32px;
67 | }
68 | ```
69 |
70 |
71 |
72 | #### Contents
73 |
74 | - [Presets](#presets)
75 | - [Responsive Values](#responsive-values)
76 | - [Tokens & Shorthands](#tokens--shorthands)
77 | - [Macros](#macros)
78 | - [Variants](#variants)
79 | - [Writing CSS](#writing-css)
80 |
81 | # Getting Started
82 |
83 | The `hypostyle()` function is used to configure a theme and return an instance.
84 | Your theme can contain the following properties:
85 |
86 | - `tokens` - design system tokens, like colors, spacing, etc
87 | - `breakpoints` - array of breakpoint widths (optional)
88 | - `shorthands` - abbreviated properties that map to one or more CSS properties
89 | and (optionally) design tokens
90 | - `macros` - boolean properties mapped to pre-defined style objects
91 | - `variants` - named groups of pre-defined style objects
92 | - `properties` - config supported CSS properties
93 |
94 | #### Presets
95 |
96 | Hypostyle includes optional preset objects with a starter set of tokens,
97 | shorthands, and macros. [Source
98 | code](https://github.com/sure-thing/hypostyle/blob/master/presets/index.js).
99 |
100 | ```javascript
101 | import * as presets from 'hypostyle/presets'
102 |
103 | const { css } = hypostyle(presets)
104 | ```
105 |
106 | ## Responsive Values
107 |
108 | _All values can be responsive_ by passing an array of values. This array maps to
109 | the `breakpoints` array on your theme. The first value is mobile, and the
110 | remaining values are convered into `@media` breakpoints.
111 |
112 | ```javascript
113 | css({
114 | d: ['block', 'none'],
115 | })
116 | ```
117 |
118 | Will generate:
119 |
120 | ```css
121 | .__3sxrbm {
122 | display: block;
123 | }
124 | @media (min-width: 400px) {
125 | .__3sxrbm {
126 | display: none;
127 | }
128 | }
129 | ```
130 |
131 | Alternatively — and useful if you want to only specify a single breakpoint — you
132 | can use object syntax. Just use the indices as object keys:
133 |
134 | ```javascript
135 | css({
136 | d: { 1: 'none' },
137 | })
138 | ```
139 |
140 | ```css
141 | @media (min-width: 400px) {
142 | .__3sxrbm {
143 | display: none;
144 | }
145 | }
146 | ```
147 |
148 | ## Tokens & Shorthands
149 |
150 | Tokens are either objects of named values, or arrays (scales) of values.
151 |
152 | ```javascript
153 | const { css } = hypostyle({
154 | tokens: {
155 | color: {
156 | primary: '#ff4557',
157 | },
158 | space: [0, 4, 8, 12, 16],
159 | },
160 | })
161 | ```
162 |
163 | Tokens are associated with configurable CSS properties so that you can use
164 | token values in your styles. By default, _most_ CSS properties are supported and
165 | are self referencing.
166 |
167 | Shorthands are like shortcuts that allow you to abbreviate
168 | CSS these properties. The rest of the above example could look like this:
169 |
170 | ```javascript
171 | const { css } = hypostyle({
172 | tokens: {
173 | color: {
174 | primary: '#ff4557',
175 | },
176 | space: [0, 4, 8, 12, 16],
177 | },
178 | shorthands: {
179 | bg: 'background',
180 | },
181 | })
182 | ```
183 |
184 | Which can be used like this, because `background` is associated with the `color`
185 | tokens by default:
186 |
187 | ```javascript
188 | css({ bg: 'primary' }) // => { background: '#ff4567' }
189 | ```
190 |
191 | ## Macros
192 |
193 | `macros` are simple boolean values that expand to be full style objects. The
194 | style objects can use any shorthands or tokens you have configured.
195 |
196 | ```javascript
197 | const { css } = hypostyle({
198 | macros: {
199 | cover: { top: 0, bottom: 0, left: 0, right: 0 },
200 | },
201 | })
202 |
203 | css({ cover: true }) // => { top: 0, bottom: 0, ... }
204 | ```
205 |
206 | These are most helpful when used with JSX (via React,
207 | [hyposcript](https://github.com/sure-thing/hyposcript), or otherwise) i.e.:
208 |
209 | ```jsx
210 |
211 | ```
212 |
213 | ## Variants
214 |
215 | Slightly higher-level than macros are variants, which allow you to define named
216 | style blocks based on property values. Again, your style blocks here can use any
217 | shorthands and tokens you've configured.
218 |
219 | ```javascript
220 | import * as presets from 'hypostyle/presets'
221 |
222 | const { css } = hypostyle({
223 | ...presets,
224 | variants: {
225 | appearance: {
226 | link: {
227 | c: 'blue',
228 | textDecoration: 'underline',
229 | },
230 | },
231 | },
232 | })
233 | ```
234 |
235 | Which look like this when used:
236 |
237 | ```javascript
238 | css({ appearance: 'link' }) // => { color: 'blue', textDecoration: 'underline' }
239 | ```
240 |
241 | ## Writing CSS
242 |
243 | #### Pseudos & Nested Selectors
244 |
245 | ```javascript
246 | const link = css({
247 | color: 'black',
248 | '&:hover': {
249 | color: 'blue',
250 | },
251 | '.icon': {
252 | transform: 'translateX(5px)',
253 | },
254 | })
255 | ```
256 |
257 | #### Global Styles
258 |
259 | Also included alongside `css` is `injectGlobal`.
260 |
261 | ```javascript
262 | import { hypostyle } from 'hypostyle'
263 | import * as presets from 'hypostyle/presets'
264 |
265 | const { injectGlobal } = hypostyle(presets)
266 |
267 | injectGlobal({
268 | 'html, body': {
269 | c: '#333',
270 | boxSizing: 'border-box',
271 | },
272 | })
273 | ```
274 |
275 | #### Keyframes
276 |
277 | Also also included alongside `css` is `keyframes`.
278 |
279 | ```javascript
280 | const { keyframes } = hypostyle(presets)
281 |
282 | const animation = keyframes({
283 | '0%': {
284 | opacity: 0,
285 | },
286 | '100%': {
287 | opacity: 1,
288 | },
289 | })
290 |
291 | css({
292 | animation: `${animation} 1s linear infinite`,
293 | })
294 | ```
295 |
296 | ## Configuring CSS Properties
297 |
298 | Hypostyle comes with built-in support for _most_ CSS properties. To add
299 | additional support, have a look at the `properties.js` file for API, and pass
300 | your additional props to the constructor. Example:
301 |
302 | ```javascript
303 | const hypo = hypostyle({
304 | ...,
305 | tokens: {
306 | ...,
307 | radii: ['4px', '8px']
308 | },
309 | shorthands: {
310 | ...,
311 | bTLR: 'borderTopLeftRadius'
312 | },
313 | properties: {
314 | borderTopLeftRadius: {
315 | token: 'radii'
316 | }
317 | }
318 | })
319 | ```
320 |
321 | Usage:
322 |
323 | ```javascript
324 | hypo.style({ bTLR: 1 }) // => { borderTopLeftRadius: '8px' }
325 | ```
326 |
327 | ## Server Usage
328 |
329 | `hypostyle` is isomorphic!
330 |
331 | ```javascript
332 | const { css, flush, injectGlobal } = hypostyle(presets)
333 |
334 | injectGlobal({ '*': { boxSizing: 'border-box' } })
335 |
336 | const classname = css({ c: 'primary' })
337 | const stylesheet = flush()
338 |
339 | const html = `
340 |
341 |
342 |
343 |
344 |
345 |
346 | Hello world
347 |
348 |
349 | `
350 | ```
351 |
352 | ### Related
353 |
354 | - [hyposcript](https://github.com/sure-thing/hyposcript)
355 | - [hypobox](https://github.com/sure-thing/hypobox)
356 | - [styled-system](https://github.com/styled-system/styled-system)
357 | - [nano-css](https://github.com/streamich/nano-css)
358 |
359 | ### License
360 |
361 | MIT License © [Sure Thing](https://github.com/sure-thing)
362 |
--------------------------------------------------------------------------------
/bench/hypostyle.js:
--------------------------------------------------------------------------------
1 | const presets = require('../presets')
2 | const { hypostyle } = require('../')
3 |
4 | const hypo = hypostyle(presets)
5 |
6 | let pick = 0
7 | let explode = 0
8 | let css = 0
9 | let total = 0
10 |
11 | function process({ cx, ...rest }) {
12 | const t1 = Date.now()
13 | const cleaned = hypo.pick(rest)
14 | pick += Date.now() - t1
15 |
16 | const t2 = Date.now()
17 | const c = hypo.explode(cx)
18 | explode += Date.now() - t2
19 |
20 | const t3 = Date.now()
21 | hypo.style({
22 | ...cleaned.styles,
23 | ...c,
24 | })
25 | css += Date.now() - t3
26 | }
27 |
28 | const t4 = Date.now()
29 | for (let i = 0; i < 100000; i++) {
30 | process({
31 | cx: {
32 | p: i + 'px',
33 | border: `${i}px solid blue`,
34 | d: 'block',
35 | f: true,
36 | aic: true,
37 | bg: 'tomato',
38 | },
39 | className: 'foo',
40 | m: [i + 'px', 2],
41 | d: { 0: 'block', 1: 'flex' },
42 | px: [1, 2, 3, 4, 5],
43 | })
44 | }
45 | total += Date.now() - t4
46 |
47 | console.log({ pick, explode, css, total })
48 |
--------------------------------------------------------------------------------
/commitlint.config.js:
--------------------------------------------------------------------------------
1 | module.exports = { extends: ['@commitlint/config-conventional'] }
2 |
--------------------------------------------------------------------------------
/lib/__tests__/index.ts:
--------------------------------------------------------------------------------
1 | import { CssLikeObject } from 'nano-css'
2 | import { test } from 'uvu'
3 | import * as assert from 'uvu/assert'
4 |
5 | import { hypostyle } from '../'
6 | import { properties as defaultCssProps } from '../properties'
7 | import * as defaults from '../presets'
8 |
9 | const { tokens, shorthands, macros } = defaults
10 |
11 | test('explode', () => {
12 | const { explode } = hypostyle({
13 | shorthands: {
14 | c: 'color',
15 | m: ['marginTop', 'marginBottom', 'marginLeft', 'marginRight'],
16 | d: 'display',
17 | },
18 | })
19 |
20 | const styles: CssLikeObject = {
21 | ...explode({ c: 'blue' }),
22 | ...explode({ color: 'red' }),
23 | ...explode({
24 | div: {
25 | a: {
26 | c: 'tomato',
27 | },
28 | },
29 | }),
30 | ...explode({
31 | m: [0, 1, 2],
32 | d: { 0: 'none', 1: 'block' },
33 | }),
34 | }
35 |
36 | assert.equal(styles.color, 'red')
37 | assert.equal(styles.marginTop[1], 1)
38 | assert.equal(typeof styles.display, 'object')
39 | assert.equal(styles.div.a.color, 'tomato')
40 | })
41 |
42 | test('style', () => {
43 | const { style } = hypostyle({
44 | breakpoints: ['400px', '800px', '1200px'],
45 | tokens: {
46 | space: [0, 4, 8, 12],
47 | },
48 | shorthands: {
49 | c: 'color',
50 | m: ['marginTop', 'marginBottom', 'marginLeft', 'marginRight'],
51 | },
52 | })
53 |
54 | const styles = {
55 | ...style({ c: 'blue' }),
56 | ...style({ m: [0, 1, 2] }),
57 | }
58 |
59 | assert.equal(styles.color, 'blue')
60 | assert.equal(styles.marginTop, '0px')
61 | })
62 |
63 | for (const key of Object.keys(defaultCssProps)) {
64 | test(`props - ${key}`, () => {
65 | const { style } = hypostyle(defaults)
66 |
67 | const { unit, token } = defaultCssProps[key]
68 | const rawValue = 0
69 | const themeScale = tokens[token]
70 | const themeValue = themeScale ? themeScale[rawValue] : rawValue
71 | const parsedValue = unit ? unit(themeValue) : themeValue
72 |
73 | const styles = style({ [key]: rawValue })
74 |
75 | assert.equal(styles[key], parsedValue)
76 | })
77 | }
78 |
79 | for (const key of Object.keys(shorthands)) {
80 | test(`shorthands - ${key}`, () => {
81 | const { style } = hypostyle(defaults)
82 |
83 | const properties = [].concat(shorthands[key])
84 |
85 | for (const prop of properties) {
86 | const { unit, token } = defaultCssProps[prop]
87 | const rawValue = 0
88 | const themeScale = tokens[token]
89 | const themeValue = themeScale ? themeScale[rawValue] : rawValue
90 | const parsedValue = unit ? unit(themeValue) : themeValue
91 |
92 | const styles = style({ [prop]: rawValue })
93 |
94 | assert.equal(styles[prop], parsedValue)
95 | }
96 | })
97 | }
98 |
99 | for (const key of Object.keys(macros)) {
100 | test(`macro - ${key}`, () => {
101 | const { style } = hypostyle(defaults)
102 |
103 | const rawStyles = style(macros[key])
104 | const styles = style({ [key]: true })
105 |
106 | assert.equal(rawStyles, styles)
107 | })
108 | }
109 |
110 | test('macro - falsy', () => {
111 | const { css, flush } = hypostyle({
112 | macros: {
113 | b: {
114 | color: 'blue',
115 | },
116 | },
117 | })
118 |
119 | css({ color: 'tomato', b: true })
120 | assert.ok(/color:blue/.test(flush()))
121 |
122 | css({ color: 'tomato', b: false })
123 | assert.ok(/color:tomato/.test(flush()))
124 | })
125 |
126 | test('no styles, empty', () => {
127 | const { css } = hypostyle(defaults)
128 |
129 | const cn = css({})
130 |
131 | assert.equal('', cn)
132 | })
133 |
134 | test('works on arbitrary props', () => {
135 | const { style } = hypostyle(defaults)
136 |
137 | const styles = style({
138 | borderBottomRightRadius: '4px',
139 | })
140 |
141 | assert.equal(styles.borderBottomRightRadius, '4px')
142 | })
143 |
144 | test('non-theme matched', () => {
145 | const { style } = hypostyle(defaults)
146 |
147 | const styles = style({
148 | c: 'other',
149 | })
150 |
151 | assert.equal(styles.color, 'other')
152 | })
153 |
154 | test('prop with scale and provided value', () => {
155 | const { style } = hypostyle(defaults)
156 |
157 | const styles = style({
158 | w: '50%',
159 | })
160 |
161 | assert.equal(styles.width, '50%')
162 | })
163 |
164 | test('percentOrPixel heuristic', () => {
165 | const { style } = hypostyle(defaults)
166 |
167 | const styles = style({
168 | w: 5,
169 | h: 1 / 2,
170 | })
171 |
172 | assert.equal(styles.width, '5px')
173 | assert.equal(styles.height, '50%')
174 | })
175 |
176 | test('px heuristic', () => {
177 | const { style } = hypostyle(defaults)
178 |
179 | const styles = style({
180 | pt: '4px',
181 | })
182 |
183 | assert.equal(styles.paddingTop, '4px')
184 | })
185 |
186 | test('style as a function', () => {
187 | const { style, theme } = hypostyle(defaults)
188 |
189 | const styles = style((theme) => ({
190 | fs: theme.tokens.fontSize[1],
191 | }))
192 |
193 | assert.equal(styles.fontSize, theme.tokens.fontSize[1])
194 | })
195 |
196 | test('negative values', () => {
197 | const { css, flush } = hypostyle(defaults)
198 |
199 | css({
200 | mt: -2,
201 | })
202 | const sheet = flush()
203 |
204 | assert.equal(/-2px/.test(sheet), true)
205 | })
206 |
207 | test('can merge theme', () => {
208 | const { style } = hypostyle({
209 | tokens: {
210 | color: {
211 | primary: 'blue',
212 | },
213 | },
214 | shorthands,
215 | })
216 | const styles = style({
217 | c: 'primary',
218 | })
219 |
220 | assert.equal(styles.color, 'blue')
221 | })
222 |
223 | test('can merge macros', () => {
224 | const { style } = hypostyle({
225 | shorthands,
226 | macros: {
227 | button: {
228 | borderRadius: '4px',
229 | bg: 'blue',
230 | },
231 | },
232 | })
233 | const styles = style({
234 | button: true,
235 | })
236 |
237 | assert.equal(styles.background, 'blue')
238 | assert.equal(styles.borderRadius, '4px')
239 | })
240 |
241 | test('variants', () => {
242 | const { style } = hypostyle({
243 | shorthands,
244 | variants: {
245 | appearance: {
246 | primary: {
247 | c: 'blue',
248 | bg: 'whitesmoke',
249 | },
250 | },
251 | },
252 | })
253 | const styles = style({
254 | appearance: 'primary',
255 | })
256 |
257 | assert.equal(styles.color, 'blue')
258 | assert.equal(styles.background, 'whitesmoke')
259 | })
260 |
261 | test('breakpoints', () => {
262 | const { style } = hypostyle({
263 | breakpoints: ['400px', '800px'],
264 | shorthands,
265 | })
266 | const styles = style({
267 | c: ['blue', 'red', 'green'],
268 | })
269 |
270 | assert.equal(styles.color, 'blue')
271 | assert.equal(styles['@media (min-width: 400px)'].color, 'red')
272 | assert.equal(styles['@media (min-width: 800px)'].color, 'green')
273 | })
274 |
275 | test('breakpoints in correct cascading order', () => {
276 | const { css, flush } = hypostyle({
277 | breakpoints: ['400px', '800px'],
278 | shorthands,
279 | })
280 |
281 | css({
282 | pt: { 2: 6 },
283 | pb: [2, 4, 6],
284 | })
285 |
286 | const sheet = flush()
287 |
288 | assert.equal(
289 | sheet,
290 | `
291 | .__qxaokh {
292 | padding-bottom:2px;
293 | }
294 | @media (min-width: 400px){
295 | .__qxaokh {
296 | padding-bottom:4px;
297 | }
298 | }@media (min-width: 800px){
299 | .__qxaokh {
300 | padding-top:6px;
301 | padding-bottom:6px;
302 | }
303 | }`
304 | )
305 | })
306 |
307 | test('breakpoints in other units', () => {
308 | const { style } = hypostyle({
309 | breakpoints: ['20em', '40em'],
310 | shorthands,
311 | })
312 | const styles = style({
313 | c: ['blue', 'red', 'green'],
314 | })
315 |
316 | assert.equal(styles.color, 'blue')
317 | assert.equal(styles['@media (min-width: 20em)'].color, 'red')
318 | assert.equal(styles['@media (min-width: 40em)'].color, 'green')
319 | })
320 |
321 | test('too many breakpoints', () => {
322 | const { style } = hypostyle({
323 | breakpoints: ['400px', '800px'],
324 | shorthands,
325 | })
326 | const styles = style({
327 | c: ['blue', 'red', 'green', 'tomato'],
328 | })
329 |
330 | assert.equal(styles.color, 'blue') // could otherwise be tomato
331 | })
332 |
333 | test('named breakpoints', () => {
334 | const { style } = hypostyle({
335 | breakpoints: ['400px', '800px', '1200px'],
336 | shorthands,
337 | })
338 | const styles = style({
339 | c: { 0: 'blue', 2: 'red' },
340 | })
341 |
342 | assert.equal(styles.color, 'blue')
343 | assert.equal(styles['@media (min-width: 800px)'].color, 'red')
344 | })
345 |
346 | test('breakpoints to sheet', () => {
347 | const { css, flush } = hypostyle({
348 | breakpoints: ['400px', '800px'],
349 | shorthands,
350 | })
351 | css({ c: ['blue', 'red', 'green'] })
352 | const sheet = flush()
353 |
354 | assert.ok(sheet.includes('blue'))
355 | assert.ok(sheet.includes('@media (min-width: 400px'))
356 | assert.ok(sheet.includes('@media (min-width: 800px)'))
357 | })
358 |
359 | test('pseudo and other selectors', () => {
360 | const { style } = hypostyle(defaults)
361 |
362 | const styles = style({
363 | ':hover': {
364 | c: 'blue',
365 | p: 2,
366 | },
367 | div: {
368 | c: 'blue',
369 | },
370 | 'div > foo': {
371 | c: 'blue',
372 | },
373 | })
374 |
375 | assert.equal(styles[':hover'].color, 'blue')
376 | assert.equal(styles[':hover'].paddingTop, '8px')
377 | assert.equal(styles.div.color, 'blue')
378 | assert.equal(styles['div > foo'].color, 'blue')
379 | })
380 |
381 | test('pseudo elements', () => {
382 | const { css, flush } = hypostyle(defaults)
383 |
384 | css({
385 | '&::after': {
386 | content: '"a"',
387 | },
388 | '&::before': {
389 | content: '"b"',
390 | },
391 | })
392 |
393 | const sheet = flush()
394 |
395 | assert.ok(/content:"a"/.test(sheet))
396 | assert.ok(/content:"b"/.test(sheet))
397 | })
398 |
399 | test('pick', () => {
400 | const { pick } = hypostyle({
401 | tokens,
402 | shorthands,
403 | macros,
404 | variants: {
405 | appearance: {
406 | primary: {
407 | c: 'blue',
408 | },
409 | },
410 | },
411 | })
412 | const { props, styles } = pick({
413 | c: 'blue',
414 | f: true,
415 | appearance: 'primary',
416 | className: 'cx',
417 | })
418 |
419 | assert.ok(!!styles.c)
420 | assert.ok(!!styles.f)
421 | assert.ok(!!styles.appearance)
422 | assert.ok(!!props.className)
423 | })
424 |
425 | test('css', () => {
426 | const { css } = hypostyle(defaults)
427 |
428 | const cx = css({ c: 'blue' })
429 | const cx2 = css({ c: 'blue' })
430 | assert.equal(typeof cx, 'string')
431 | assert.equal(cx, cx2)
432 | })
433 |
434 | test('flush', () => {
435 | const { css, flush } = hypostyle(defaults)
436 | const cn = css({ c: 'blue' }).trim() // remove spaces
437 | const sheet = flush()
438 | assert.ok(new RegExp(cn).test(sheet))
439 | })
440 |
441 | test('injectGlobal', () => {
442 | const { injectGlobal, flush } = hypostyle({})
443 | injectGlobal({ html: { color: 'blue' } })
444 | const sheet = flush()
445 | assert.ok(sheet.includes('color:blue'))
446 | })
447 |
448 | test('keyframes', () => {
449 | const { css, keyframes, flush } = hypostyle(defaults)
450 | const animation = keyframes({
451 | '0%': {
452 | transform: 'rotate(0deg)',
453 | },
454 | '100%': {
455 | transform: 'rotate(359deg)',
456 | },
457 | })
458 | css({
459 | animation: `${animation} 1s`,
460 | })
461 | const sheet = flush()
462 |
463 | assert.ok(sheet.includes(animation))
464 | })
465 |
466 | test('css as a function', () => {
467 | const { css, flush } = hypostyle(defaults)
468 |
469 | css((theme) => ({ fs: theme.tokens.fontSize[1] }))
470 |
471 | const sheet = flush()
472 |
473 | assert.ok(sheet.includes('font-size:3rem'))
474 | })
475 |
476 | test('nested elements', () => {
477 | const { css, flush } = hypostyle(defaults)
478 |
479 | const cn = css({
480 | div: {
481 | color: 'tomato',
482 | },
483 | })
484 | const sheet = flush()
485 | const selector = new RegExp(`.${cn.trim()} div`)
486 |
487 | assert.equal(selector.test(sheet), true)
488 | })
489 |
490 | test('pseudo selectors', () => {
491 | const { css, flush } = hypostyle(defaults)
492 |
493 | const cn = css({
494 | '&:hover': {
495 | color: 'tomato',
496 | },
497 | })
498 | const sheet = flush()
499 | const selector = new RegExp(`.${cn.trim()}:hover`)
500 |
501 | assert.equal(selector.test(sheet), true)
502 | })
503 |
504 | test('pseudo selectors w/ nested elements', () => {
505 | const { css, flush } = hypostyle(defaults)
506 |
507 | const cn = css({
508 | '&:hover div': {
509 | color: 'tomato',
510 | },
511 | })
512 | const sheet = flush()
513 | const selector = new RegExp(`.${cn.trim()}:hover div`)
514 |
515 | assert.equal(selector.test(sheet), true)
516 | })
517 |
518 | test('media queries', () => {
519 | const { css, flush } = hypostyle(defaults)
520 |
521 | css({
522 | '@media (min-width: 567px)': {
523 | color: 'tomato',
524 | },
525 | })
526 | const sheet = flush()
527 |
528 | assert.equal(/@media\s\(min-width: 567px\)/.test(sheet), true)
529 | })
530 |
531 | test('prefix', () => {
532 | const { css, flush } = hypostyle(defaults, { prefix: 'hypo' })
533 |
534 | css({
535 | '@media (min-width: 567px)': {
536 | color: 'tomato',
537 | },
538 | })
539 | const sheet = flush()
540 |
541 | assert.equal(/hypo/.test(sheet), true)
542 | })
543 |
544 | test('createGlobal', () => {
545 | const { createGlobal } = hypostyle(defaults)
546 |
547 | const sheet = createGlobal({
548 | '@media (min-width: 567px)': {
549 | color: 'tomato',
550 | },
551 | })
552 |
553 | assert.ok(/color:tomato/.test(sheet))
554 | })
555 |
556 | test('no theme, defaults to presets', () => {
557 | const { createGlobal } = hypostyle()
558 |
559 | const sheet = createGlobal({
560 | c: 'tomato',
561 | })
562 |
563 | assert.ok(/color:tomato/.test(sheet))
564 | })
565 |
566 | /**
567 | * @see https://github.com/sure-thing/hypostyle/issues/7
568 | */
569 | test('issue #7', async () => {
570 | const { style } = hypostyle(defaults)
571 |
572 | const styles = style({
573 | color: ['blue', 'red'],
574 | [`@media (min-width: ${defaults.breakpoints[0]})`]: {
575 | background: 'tomato',
576 | },
577 | })
578 |
579 | assert.equal(styles, {
580 | color: 'blue',
581 | '@media (min-width: 400px)': { color: 'red', background: 'tomato' },
582 | })
583 | })
584 |
585 | test.run()
586 |
--------------------------------------------------------------------------------
/lib/index.test-d.ts:
--------------------------------------------------------------------------------
1 | import { hypostyle, HypostyleObject } from '.'
2 | import * as presets from './presets'
3 |
4 | // declare module '.' {
5 | // interface UserTheme {
6 | // tokens: {
7 | // color: {
8 | // primary: 'blue'
9 | // }
10 | // }
11 | // }
12 | // }
13 |
14 | const hypoObject: HypostyleObject = {
15 | color: { 0: 'blue' },
16 | figcaption: {
17 | c: 'primary',
18 | },
19 | }
20 |
21 | const hypo = hypostyle({
22 | ...presets,
23 | tokens: {
24 | color: {
25 | primary: 'blue',
26 | },
27 | },
28 | properties: {
29 | borderTopLeftRadius: {},
30 | },
31 | })
32 |
33 | const exploded = hypo.explode({
34 | c: 'blue',
35 | })
36 | const exploded2 = hypo.explode((theme) => ({
37 | c: theme.tokens.color.primary,
38 | }))
39 |
40 | const styled = hypo.style({
41 | c: 'blue',
42 | })
43 | const styled2 = hypo.style((theme) => ({
44 | c: theme.tokens.color.primary,
45 | }))
46 |
47 | const cn = hypo.css({
48 | c: 'blue',
49 | })
50 | const cn2 = hypo.css((theme) => ({
51 | c: theme.tokens.color.primary,
52 | mx: [2, 4],
53 | }))
54 | const cn3 = hypo.css({
55 | foobar: {},
56 | d: { 2: 'none' },
57 | })
58 |
59 | hypo.injectGlobal({
60 | html: {
61 | m: 0,
62 | },
63 | })
64 |
--------------------------------------------------------------------------------
/lib/index.ts:
--------------------------------------------------------------------------------
1 | import merge from 'deepmerge'
2 | import { Properties as CSSProperties, Pseudos as CSSPsuedos } from 'csstype'
3 | import { create, CssLikeObject } from 'nano-css'
4 | import { addon as cache } from 'nano-css/addon/cache'
5 | import { addon as nesting } from 'nano-css/addon/nesting'
6 | import { addon as keyframes } from 'nano-css/addon/keyframes'
7 | import { addon as rule } from 'nano-css/addon/rule'
8 | import { addon as globalAddon } from 'nano-css/addon/global'
9 | import { addon as hydrate } from 'nano-css/addon/hydrate'
10 |
11 | import * as presets from './presets'
12 | import { properties as cssPropertyMapping } from './properties'
13 |
14 | type UnknownKeyValue = Record
15 | type Unitless = string | number
16 | type UnitlessKeyValue = { [name: string]: Unitless }
17 | type CSSPropertyNames = keyof CSSProperties
18 |
19 | export type HypostyleValue = { [k: number]: Unitless } | Unitless[] | Unitless | boolean | undefined
20 |
21 | export type HypostyleObject =
22 | | ({
23 | // normal css
24 | [property in CSSPropertyNames]?: HypostyleValue
25 | } & {
26 | // psuedo selector blocks
27 | [pseudo in CSSPsuedos]?: HypostyleObject
28 | } & {
29 | // nested selector blocks
30 | [tag in keyof HTMLElementTagNameMap]?: HypostyleObject
31 | } & {
32 | // any other selector
33 | [selector: string]: HypostyleObject
34 | })
35 | | {
36 | // any hypostyle properties
37 | [prop: string]: HypostyleObject | HypostyleValue | any
38 | }
39 |
40 | export type HypostyleObjectOrFunction = ((theme: Theme) => HypostyleObject) | HypostyleObject
41 |
42 | export type Tokens = {
43 | [property in CSSPropertyNames]?: Unitless | Unitless[] | UnitlessKeyValue
44 | } & {
45 | space?: Unitless | Unitless[] | UnitlessKeyValue
46 | }
47 |
48 | export type Shorthands = {
49 | [shorthand: string]: CSSPropertyNames | CSSPropertyNames[]
50 | }
51 |
52 | export type Macros = {
53 | [macro: string]: HypostyleObject
54 | }
55 |
56 | export type Variants = {
57 | [variation: string]: {
58 | [name: string]: HypostyleObject
59 | }
60 | }
61 |
62 | export type CSSPropertyMapping = {
63 | [property in CSSPropertyNames]?: {
64 | token?: keyof Tokens
65 | unit?(value: any): string
66 | }
67 | }
68 |
69 | export interface UserTheme {}
70 |
71 | export type Theme = {
72 | breakpoints?: Unitless[]
73 | tokens?: Tokens
74 | shorthands?: Shorthands
75 | macros?: Macros
76 | variants?: Variants
77 | properties?: CSSPropertyMapping
78 | } & UserTheme
79 |
80 | export type Hypostyle = ReturnType
81 |
82 | function obj(o: HypostyleObjectOrFunction, theme: Theme): HypostyleObject {
83 | return typeof o === 'function' ? o(theme) : o
84 | }
85 |
86 | /**
87 | * Expand macros and variants, then expand all shorthand props.
88 | *
89 | * Returns a hypostyle object
90 | */
91 | function explode(props: HypostyleObject, theme: Theme) {
92 | var styles = {}
93 |
94 | // expand macros and variants, copy other props
95 | for (var prop in props) {
96 | /* c8 ignore next */
97 | if (!props.hasOwnProperty(prop)) continue // skip proto
98 |
99 | // macro exists AND prop is true
100 | if (theme.macros[prop] && (props[prop] === true || props[prop] === false)) {
101 | if (props[prop] === true) styles = merge(styles, theme.macros[prop])
102 | } else if (theme.variants[prop]) {
103 | styles = merge(styles, theme.variants[prop][props[prop] as string])
104 | } else {
105 | styles[prop] = props[prop]
106 | }
107 | }
108 |
109 | // recursively expand all shorthands
110 | for (var prop in styles) {
111 | /* c8 ignore next */
112 | if (!styles.hasOwnProperty(prop)) continue // skip proto
113 |
114 | var value = styles[prop]
115 |
116 | // Could be nested object, ignore responsive array/object syntax
117 | if (typeof value === 'object' && !Array.isArray(value) && !/^\d/.test(Object.keys(value)[0])) {
118 | styles[prop] = explode(value, theme)
119 | continue
120 | }
121 |
122 | if (theme.shorthands[prop]) {
123 | var shorthands = [].concat(theme.shorthands[prop])
124 |
125 | for (var i = 0; i < shorthands.length; i++) {
126 | styles[shorthands[i]] = value
127 | }
128 |
129 | delete styles[prop] // remove shorthand key
130 | } else {
131 | styles[prop] = value
132 | }
133 | }
134 |
135 | return styles
136 | }
137 |
138 | /**
139 | * Accepts a hypostyle object and converts it to a CSS object intelligible by
140 | * any CSS-in-JS library that supports objects.
141 | */
142 | function style(props: HypostyleObject, theme: Theme): CssLikeObject {
143 | var styles = {}
144 | var responsive = {}
145 |
146 | for (var prop in props) {
147 | /* c8 ignore next */
148 | if (!props.hasOwnProperty(prop)) continue // skip proto
149 |
150 | var mixedObject: HypostyleObject | HypostyleValue = props[prop]
151 |
152 | // must have a style object or responsive object
153 | if (typeof mixedObject === 'object' && !Array.isArray(mixedObject)) {
154 | var keyIndicies = Object.keys(mixedObject)
155 |
156 | // convert responsive object to array syntax
157 | if (/^\d/.test(keyIndicies[0])) {
158 | var arr = []
159 |
160 | keyIndicies.forEach((i) => {
161 | arr[i] = mixedObject[i]
162 | })
163 |
164 | props[prop] = arr
165 | } else {
166 | /*
167 | * Safely merge in nested prop — there may be duplicate keys, like
168 | * after shorthand expansion or a custom media query block
169 | */
170 | var nested = {}
171 | nested[prop] = style(mixedObject, theme)
172 | styles = merge(styles, nested)
173 | continue // continue, nested style object
174 | }
175 | }
176 |
177 | var config = theme.properties[prop] || {}
178 | var tokens = theme.tokens[config.token]
179 | var values = [].concat(props[prop])
180 |
181 | for (var o = 0; o < values.length; o++) {
182 | var value = values[o]
183 | var token = tokens ? tokens[value] || value : value
184 | var unitValue = config.unit ? config.unit(token) : token
185 |
186 | // drop undefined values, all others pass through
187 | if (unitValue === undefined) continue
188 |
189 | var r = responsive
190 | var breakpoint = theme.breakpoints[o - 1]
191 |
192 | if (breakpoint) {
193 | // drop down a level (into breakpoint)
194 | r = responsive[breakpoint] = responsive[breakpoint] || {}
195 | r[prop] = unitValue
196 | } else if (!breakpoint && o > 0) {
197 | continue
198 | } else {
199 | styles[prop] = unitValue
200 | }
201 | }
202 | }
203 |
204 | var sorted = Object.keys(responsive)
205 | .sort((a, b) => {
206 | return parseInt(a) - parseInt(b)
207 | })
208 | .reduce((res, breakpoint) => {
209 | res[`@media (min-width: ${breakpoint})`] = responsive[breakpoint]
210 | return res
211 | }, {})
212 | var sortedKeys = Object.keys(sorted)
213 |
214 | for (var i = 0; i < sortedKeys.length; i++) {
215 | var key = sortedKeys[i]
216 | styles[key] = {
217 | ...(styles[key] || {}),
218 | ...sorted[key],
219 | }
220 | }
221 |
222 | return styles
223 | }
224 |
225 | /**
226 | * Separates style props from everything else
227 | */
228 | function pick(props: HypostyleObject, theme: Theme): { styles: HypostyleObject; props: T } {
229 | var styles = {}
230 | var extra = {}
231 |
232 | for (var prop in props) {
233 | /* c8 ignore next */
234 | if (!props.hasOwnProperty(prop)) continue // skip proto
235 |
236 | if (theme.macros[prop] || theme.variants[prop] || theme.shorthands[prop] || theme.properties[prop]) {
237 | styles[prop] = props[prop]
238 | } else {
239 | extra[prop] = props[prop]
240 | }
241 | }
242 |
243 | return {
244 | styles,
245 | props: extra as T,
246 | }
247 | }
248 |
249 | function createNano(options: { addons?: any[]; prefix?: string }) {
250 | var nano = create({
251 | pfx: options.prefix || '_',
252 | /* c8 ignore next 2 */
253 | // @ts-expect-error
254 | sh: typeof document === 'object' ? document.getElementById('hypo') : null,
255 | })
256 | if (options.addons)
257 | options.addons.forEach(function (a) {
258 | a(nano)
259 | })
260 | return nano
261 | }
262 |
263 | export function hypostyle(
264 | theme?: Theme,
265 | config?: {
266 | addons?: any[]
267 | prefix?: string
268 | }
269 | ) {
270 | theme = theme || presets
271 | config = config || {}
272 |
273 | var t: Theme = merge(
274 | {
275 | tokens: {},
276 | breakpoints: [],
277 | macros: {},
278 | variants: {},
279 | properties: {
280 | ...cssPropertyMapping,
281 | },
282 | shorthands: {},
283 | },
284 | theme
285 | )
286 |
287 | var addons = [cache, nesting, keyframes, rule, globalAddon, hydrate].concat(config.addons || [])
288 | var nano = createNano({ addons, prefix: config.prefix })
289 |
290 | return {
291 | explode: function (props: HypostyleObjectOrFunction) {
292 | return explode(obj(props, t), t)
293 | },
294 | style: function (props: HypostyleObjectOrFunction) {
295 | return style(explode(obj(props, t), t), t)
296 | },
297 | css: function (props: HypostyleObjectOrFunction) {
298 | var styles = style(explode(obj(props, t), t), t)
299 | return Object.keys(styles).length ? nano.rule(styles) : ''
300 | },
301 | pick: function (props: HypostyleObject & UnknownKeyValue) {
302 | return pick(props, t)
303 | },
304 | createGlobal: function (props: HypostyleObject) {
305 | var n = createNano({ addons })
306 | n.global(style(explode(obj(props, t), t), t))
307 | return n.raw
308 | },
309 | injectGlobal: function (props: HypostyleObject) {
310 | nano.global(style(explode(obj(props, t), t), t))
311 | },
312 | keyframes: nano.keyframes,
313 | flush: function () {
314 | var raw = nano.raw
315 | nano = createNano({ addons })
316 | return raw
317 | },
318 | get theme() {
319 | return t
320 | },
321 | }
322 | }
323 |
--------------------------------------------------------------------------------
/lib/presets.ts:
--------------------------------------------------------------------------------
1 | import { Tokens, Shorthands, Macros } from '.'
2 |
3 | export var breakpoints: string[] = ['400px', '800px', '1200px']
4 |
5 | export var tokens: Tokens = {
6 | space: [0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64],
7 | fontSize: ['3rem', '3rem', '2.2rem', '1.8rem', '1.4rem', '1rem', '0.875rem'],
8 | fontWeight: ['0', '100', '200', '300', '400', '500', '600', '700', '800', '900', '1000'],
9 | lineHeight: [1.1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6],
10 | }
11 |
12 | export var shorthands: Shorthands = {
13 | d: 'display',
14 | w: 'width',
15 | h: 'height',
16 | c: 'color',
17 | bg: 'background',
18 | m: ['marginTop', 'marginBottom', 'marginLeft', 'marginRight'],
19 | mt: 'marginTop',
20 | mb: 'marginBottom',
21 | ml: 'marginLeft',
22 | mr: 'marginRight',
23 | my: ['marginTop', 'marginBottom'],
24 | mx: ['marginLeft', 'marginRight'],
25 | p: ['paddingTop', 'paddingBottom', 'paddingLeft', 'paddingRight'],
26 | pt: 'paddingTop',
27 | pb: 'paddingBottom',
28 | pl: 'paddingLeft',
29 | pr: 'paddingRight',
30 | py: ['paddingTop', 'paddingBottom'],
31 | px: ['paddingLeft', 'paddingRight'],
32 | z: 'zIndex',
33 | fs: 'fontSize',
34 | ff: 'fontFamily',
35 | fw: 'fontWeight',
36 | lh: 'lineHeight',
37 | ta: 'textAlign',
38 | }
39 |
40 | export var macros: Macros = {
41 | db: { display: 'block' },
42 | dib: { display: 'inline-block' },
43 | di: { display: 'inline' },
44 | f: { display: 'flex' },
45 | fw: { flexWrap: 'wrap' },
46 | ais: { alignItems: 'flex-start' },
47 | aic: { alignItems: 'center' },
48 | aie: { alignItems: 'flex-end' },
49 | jcs: { justifyContent: 'flex-start' },
50 | jcc: { justifyContent: 'center' },
51 | jce: { justifyContent: 'flex-end' },
52 | jca: { justifyContent: 'space-around' },
53 | jcb: { justifyContent: 'space-between' },
54 | rel: { position: 'relative' },
55 | abs: { position: 'absolute' },
56 | fix: { position: 'fixed' },
57 | top: { top: 0 },
58 | bottom: { bottom: 0 },
59 | left: { left: 0 },
60 | right: { right: 0 },
61 | cover: {
62 | top: 0,
63 | bottom: 0,
64 | left: 0,
65 | right: 0,
66 | },
67 | w: { width: 1 },
68 | h: { height: 1 },
69 | tac: { textAlign: 'center' },
70 | tar: { textAlign: 'right' },
71 | taj: { textAlign: 'justify' },
72 | ma: { m: 'auto' },
73 | mxa: { mx: 'auto' },
74 | mya: { my: 'auto' },
75 | }
76 |
--------------------------------------------------------------------------------
/lib/properties.ts:
--------------------------------------------------------------------------------
1 | /* c8 ignore next */
2 | import { CSSPropertyMapping } from './'
3 |
4 | export function px(v: string | number) {
5 | return typeof v === 'number' ? v + 'px' : v
6 | }
7 |
8 | export function str(v: string | number) {
9 | return v + ''
10 | }
11 |
12 | export function percOrPx(v: string | number) {
13 | return typeof v === 'number' ? (v <= 1 ? v * 100 + '%' : v + 'px') : v
14 | }
15 |
16 | export var properties: CSSPropertyMapping = {
17 | display: {},
18 | position: {},
19 | top: {
20 | token: 'space',
21 | unit: px,
22 | },
23 | bottom: {
24 | token: 'space',
25 | unit: px,
26 | },
27 | left: {
28 | token: 'space',
29 | unit: px,
30 | },
31 | right: {
32 | token: 'space',
33 | unit: px,
34 | },
35 | width: {
36 | token: 'width',
37 | unit: percOrPx,
38 | },
39 | minWidth: {
40 | token: 'width',
41 | unit: percOrPx,
42 | },
43 | maxWidth: {
44 | token: 'width',
45 | unit: percOrPx,
46 | },
47 | height: {
48 | token: 'height',
49 | unit: percOrPx,
50 | },
51 | minHeight: {
52 | token: 'height',
53 | unit: percOrPx,
54 | },
55 | maxHeight: {
56 | token: 'height',
57 | unit: percOrPx,
58 | },
59 | color: {
60 | token: 'color',
61 | },
62 | background: {
63 | token: 'color',
64 | },
65 | backgroundColor: {
66 | token: 'color',
67 | },
68 | backgroundImage: {},
69 | backgroundRepeat: {},
70 | backgroundSize: {},
71 | opacity: {},
72 | flex: {},
73 | flexWrap: {},
74 | alignItems: {},
75 | alignContent: {},
76 | justifyItems: {},
77 | justifyContent: {},
78 | flexDirection: {},
79 | flexGrow: {},
80 | flexShrink: {},
81 | flexBasis: {},
82 | justifySelf: {},
83 | alignSelf: {},
84 | order: {
85 | unit: str,
86 | },
87 | margin: {
88 | token: 'space',
89 | unit: px,
90 | },
91 | marginTop: {
92 | token: 'space',
93 | unit: px,
94 | },
95 | marginBottom: {
96 | token: 'space',
97 | unit: px,
98 | },
99 | marginLeft: {
100 | token: 'space',
101 | unit: px,
102 | },
103 | marginRight: {
104 | token: 'space',
105 | unit: px,
106 | },
107 | padding: {
108 | token: 'space',
109 | unit: px,
110 | },
111 | paddingTop: {
112 | token: 'space',
113 | unit: px,
114 | },
115 | paddingBottom: {
116 | token: 'space',
117 | unit: px,
118 | },
119 | paddingLeft: {
120 | token: 'space',
121 | unit: px,
122 | },
123 | paddingRight: {
124 | token: 'space',
125 | unit: px,
126 | },
127 | zIndex: {
128 | token: 'zIndex',
129 | unit: str,
130 | },
131 | fontSize: {
132 | token: 'fontSize',
133 | },
134 | fontFamily: {
135 | token: 'fontFamily',
136 | },
137 | fontWeight: {
138 | token: 'fontWeight',
139 | unit: str,
140 | },
141 | lineHeight: {
142 | token: 'lineHeight',
143 | },
144 | letterSpacing: {
145 | token: 'letterSpacing',
146 | },
147 | textAlign: {},
148 | overflow: {},
149 | boxShadow: {
150 | token: 'boxShadow',
151 | },
152 | border: {
153 | token: 'border',
154 | },
155 | borderColor: {
156 | token: 'color',
157 | },
158 | borderWidth: {
159 | token: 'borderWidth',
160 | },
161 | borderStyle: {
162 | token: 'borderStyle',
163 | },
164 | borderRadius: {
165 | token: 'borderRadius',
166 | },
167 | fill: {
168 | token: 'color',
169 | },
170 | stroke: {
171 | token: 'color',
172 | },
173 | transition: {
174 | token: 'transition',
175 | },
176 | transitionProperty: {},
177 | transitionDuration: {
178 | token: 'transitionDuration',
179 | },
180 | transitionTimingFunction: {
181 | token: 'transitionTimingFunction',
182 | },
183 | transform: {},
184 | }
185 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hypostyle",
3 | "version": "3.3.2",
4 | "description": "Minimalist 5th Generation CSS-in-JS built for concision and extension. Fast af, powered by nano-css.",
5 | "main": "./index.js",
6 | "types": "./index.d.ts",
7 | "scripts": {
8 | "prepare": "is-ci || pnpx husky install",
9 | "test": "c8 node -r esbuild-register lib/__tests__/index.ts",
10 | "build": "node scripts/build && tsc --emitDeclarationOnly",
11 | "typecheck": "tsc --noEmit",
12 | "lint": "prettier --check .",
13 | "format": "prettier --write ."
14 | },
15 | "repository": {
16 | "type": "git",
17 | "url": "git+ssh://git@github.com/sure-thing/hypostyle.git"
18 | },
19 | "author": "estrattonbailey",
20 | "license": "MIT",
21 | "bugs": {
22 | "url": "https://github.com/sure-thing/hypostyle/issues"
23 | },
24 | "homepage": "https://github.com/sure-thing/hypostyle#readme",
25 | "devDependencies": {
26 | "@commitlint/cli": "^15.0.0",
27 | "@commitlint/config-conventional": "^15.0.0",
28 | "@semantic-release/git": "^10.0.1",
29 | "baretest": "^2.0.0",
30 | "c8": "^7.10.0",
31 | "commitlint": "^15.0.0",
32 | "esbuild": "^0.14.7",
33 | "esbuild-register": "^3.2.1",
34 | "husky": "^7.0.4",
35 | "is-ci": "^3.0.1",
36 | "prettier": "^2.5.1",
37 | "semantic-release": "^18.0.1",
38 | "typescript": "^4.5.4",
39 | "uvu": "^0.5.2"
40 | },
41 | "dependencies": {
42 | "csstype": "^3.0.10",
43 | "deepmerge": "^4.2.2",
44 | "nano-css": "^5.3.4"
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: 5.4
2 |
3 | specifiers:
4 | '@commitlint/cli': ^15.0.0
5 | '@commitlint/config-conventional': ^15.0.0
6 | '@semantic-release/git': ^10.0.1
7 | baretest: ^2.0.0
8 | c8: ^7.10.0
9 | commitlint: ^15.0.0
10 | csstype: ^3.0.10
11 | deepmerge: ^4.2.2
12 | esbuild: ^0.14.7
13 | esbuild-register: ^3.2.1
14 | husky: ^7.0.4
15 | is-ci: ^3.0.1
16 | nano-css: ^5.3.4
17 | prettier: ^2.5.1
18 | semantic-release: ^18.0.1
19 | typescript: ^4.5.4
20 | uvu: ^0.5.2
21 |
22 | dependencies:
23 | csstype: 3.0.10
24 | deepmerge: 4.2.2
25 | nano-css: 5.3.4
26 |
27 | devDependencies:
28 | '@commitlint/cli': 15.0.0
29 | '@commitlint/config-conventional': 15.0.0
30 | '@semantic-release/git': 10.0.1_semantic-release@18.0.1
31 | baretest: 2.0.0
32 | c8: 7.10.0
33 | commitlint: 15.0.0
34 | esbuild: 0.14.7
35 | esbuild-register: 3.2.1_esbuild@0.14.7
36 | husky: 7.0.4
37 | is-ci: 3.0.1
38 | prettier: 2.5.1
39 | semantic-release: 18.0.1
40 | typescript: 4.5.4
41 | uvu: 0.5.2
42 |
43 | packages:
44 |
45 | /@babel/code-frame/7.16.0:
46 | resolution: {integrity: sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==}
47 | engines: {node: '>=6.9.0'}
48 | dependencies:
49 | '@babel/highlight': 7.16.0
50 | dev: true
51 |
52 | /@babel/helper-validator-identifier/7.15.7:
53 | resolution: {integrity: sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==}
54 | engines: {node: '>=6.9.0'}
55 | dev: true
56 |
57 | /@babel/highlight/7.16.0:
58 | resolution: {integrity: sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==}
59 | engines: {node: '>=6.9.0'}
60 | dependencies:
61 | '@babel/helper-validator-identifier': 7.15.7
62 | chalk: 2.4.2
63 | js-tokens: 4.0.0
64 | dev: true
65 |
66 | /@babel/runtime/7.16.5:
67 | resolution: {integrity: sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA==}
68 | engines: {node: '>=6.9.0'}
69 | dependencies:
70 | regenerator-runtime: 0.13.9
71 | dev: false
72 |
73 | /@bcoe/v8-coverage/0.2.3:
74 | resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
75 | dev: true
76 |
77 | /@commitlint/cli/15.0.0:
78 | resolution: {integrity: sha512-Y5xmDCweytqzo4N4lOI2YRiuX35xTjcs8n5hUceBH8eyK0YbwtgWX50BJOH2XbkwEmII9blNhlBog6AdQsqicg==}
79 | engines: {node: '>=v12'}
80 | hasBin: true
81 | dependencies:
82 | '@commitlint/format': 15.0.0
83 | '@commitlint/lint': 15.0.0
84 | '@commitlint/load': 15.0.0
85 | '@commitlint/read': 15.0.0
86 | '@commitlint/types': 15.0.0
87 | lodash: 4.17.21
88 | resolve-from: 5.0.0
89 | resolve-global: 1.0.0
90 | yargs: 17.3.0
91 | dev: true
92 |
93 | /@commitlint/config-conventional/15.0.0:
94 | resolution: {integrity: sha512-eZBRL8Lk3hMNHp1wUMYj0qrZQEsST1ai7KHR8J1IDD9aHgT7L2giciibuQ+Og7vxVhR5WtYDvh9xirXFVPaSkQ==}
95 | engines: {node: '>=v12'}
96 | dependencies:
97 | conventional-changelog-conventionalcommits: 4.6.1
98 | dev: true
99 |
100 | /@commitlint/ensure/15.0.0:
101 | resolution: {integrity: sha512-7DV4iNIald3vycwaWBNGk5FbonaNzOlU8nBe5m5AgU2dIeNKuXwLm+zzJzG27j0Ho56rgz//3F6RIvmsoxY9ZA==}
102 | engines: {node: '>=v12'}
103 | dependencies:
104 | '@commitlint/types': 15.0.0
105 | lodash: 4.17.21
106 | dev: true
107 |
108 | /@commitlint/execute-rule/15.0.0:
109 | resolution: {integrity: sha512-pyE4ApxjbWhb1TXz5vRiGwI2ssdMMgZbaaheZq1/7WC0xRnqnIhE1yUC1D2q20qPtvkZPstTYvMiRVtF+DvjUg==}
110 | engines: {node: '>=v12'}
111 | dev: true
112 |
113 | /@commitlint/format/15.0.0:
114 | resolution: {integrity: sha512-bPhAfqwRhPk92WiuY0ktEJNpRRHSCd+Eg1MdhGyL9Bl3U25E5zvuInA+dNctnzZiOBSH/37ZaD0eOKCpQE6acg==}
115 | engines: {node: '>=v12'}
116 | dependencies:
117 | '@commitlint/types': 15.0.0
118 | chalk: 4.1.2
119 | dev: true
120 |
121 | /@commitlint/is-ignored/15.0.0:
122 | resolution: {integrity: sha512-edtnkf2QZ/7e/YCJDgn1WDw9wfF1WfOitW5YEoSOb4SxjJEb/oE87kxNPZ2j8mnDMuunspcMfGHeg6fRlwaEWg==}
123 | engines: {node: '>=v12'}
124 | dependencies:
125 | '@commitlint/types': 15.0.0
126 | semver: 7.3.5
127 | dev: true
128 |
129 | /@commitlint/lint/15.0.0:
130 | resolution: {integrity: sha512-hUi2+Im/2dJ5FBvWnodypTkg+5haCgsDzB0fyMApWLUA1IucYUAqRCQCW5em1Mhk9Crw1pd5YzFNikhIclkqCw==}
131 | engines: {node: '>=v12'}
132 | dependencies:
133 | '@commitlint/is-ignored': 15.0.0
134 | '@commitlint/parse': 15.0.0
135 | '@commitlint/rules': 15.0.0
136 | '@commitlint/types': 15.0.0
137 | dev: true
138 |
139 | /@commitlint/load/15.0.0:
140 | resolution: {integrity: sha512-Ak1YPeOhvxmY3ioe0o6m1yLGvUAYb4BdfGgShU8jiTCmU3Mnmms0Xh/kfQz8AybhezCC3AmVTyBLaBZxOHR8kg==}
141 | engines: {node: '>=v12'}
142 | dependencies:
143 | '@commitlint/execute-rule': 15.0.0
144 | '@commitlint/resolve-extends': 15.0.0
145 | '@commitlint/types': 15.0.0
146 | '@endemolshinegroup/cosmiconfig-typescript-loader': 3.0.2_ogrpmgle4n5e22g2w3nn2kuzua
147 | chalk: 4.1.2
148 | cosmiconfig: 7.0.1
149 | lodash: 4.17.21
150 | resolve-from: 5.0.0
151 | typescript: 4.5.4
152 | dev: true
153 |
154 | /@commitlint/message/15.0.0:
155 | resolution: {integrity: sha512-L8euabzboKavPuDJsdIYAY2wx97LbiGEYsckMo6NmV8pOun50c8hQx6ouXFSAx4pp+mX9yUGmMiVqfrk2LKDJQ==}
156 | engines: {node: '>=v12'}
157 | dev: true
158 |
159 | /@commitlint/parse/15.0.0:
160 | resolution: {integrity: sha512-7fweM67tZfBNS7zw1KTuuT5K2u9nGytUJqFqT/1Ln3Na9cBCsoAqR47mfsNOTlRCgGwakm4xiQ7BpS2gN0OGuw==}
161 | engines: {node: '>=v12'}
162 | dependencies:
163 | '@commitlint/types': 15.0.0
164 | conventional-changelog-angular: 5.0.13
165 | conventional-commits-parser: 3.2.3
166 | dev: true
167 |
168 | /@commitlint/read/15.0.0:
169 | resolution: {integrity: sha512-5yI1o2HKZFVe7RTjL7IhuhHMKar/MDNY34vEHqqz9gMI7BK/rdP8uVb4Di1efl2V0UPnwID0nPKWESjQ8Ti0gw==}
170 | engines: {node: '>=v12'}
171 | dependencies:
172 | '@commitlint/top-level': 15.0.0
173 | '@commitlint/types': 15.0.0
174 | fs-extra: 10.0.0
175 | git-raw-commits: 2.0.10
176 | dev: true
177 |
178 | /@commitlint/resolve-extends/15.0.0:
179 | resolution: {integrity: sha512-7apfRJjgJsKja7lHsPfEFixKjA/fk/UeD3owkOw1174yYu4u8xBDLSeU3IinGPdMuF9m245eX8wo7vLUy+EBSg==}
180 | engines: {node: '>=v12'}
181 | dependencies:
182 | import-fresh: 3.3.0
183 | lodash: 4.17.21
184 | resolve-from: 5.0.0
185 | resolve-global: 1.0.0
186 | dev: true
187 |
188 | /@commitlint/rules/15.0.0:
189 | resolution: {integrity: sha512-SqXfp6QUlwBS+0IZm4FEA/NmmAwcFQIkG3B05BtemOVWXQdZ8j1vV6hDwvA9oMPCmUSrrGpHOtZK7HaHhng2yA==}
190 | engines: {node: '>=v12'}
191 | dependencies:
192 | '@commitlint/ensure': 15.0.0
193 | '@commitlint/message': 15.0.0
194 | '@commitlint/to-lines': 15.0.0
195 | '@commitlint/types': 15.0.0
196 | execa: 5.1.1
197 | dev: true
198 |
199 | /@commitlint/to-lines/15.0.0:
200 | resolution: {integrity: sha512-mY3MNA9ujPqVpiJjTYG9MDsYCobue5PJFO0MfcIzS1mCVvngH8ZFTPAh1fT5t+t1h876boS88+9WgqjRvbYItw==}
201 | engines: {node: '>=v12'}
202 | dev: true
203 |
204 | /@commitlint/top-level/15.0.0:
205 | resolution: {integrity: sha512-7Gz3t7xcuuUw1d1Nou6YLaztzp2Em+qZ6YdCzrqYc+aquca3Vt0O696nuiBDU/oE+tls4Hx2CNpAbWhTgEwB5A==}
206 | engines: {node: '>=v12'}
207 | dependencies:
208 | find-up: 5.0.0
209 | dev: true
210 |
211 | /@commitlint/types/15.0.0:
212 | resolution: {integrity: sha512-OMSLX+QJnyNoTwws54ULv9sOvuw9GdVezln76oyUd4YbMMJyaav62aSXDuCdWyL2sm9hTkSzyEi52PNaIj/vqw==}
213 | engines: {node: '>=v12'}
214 | dependencies:
215 | chalk: 4.1.2
216 | dev: true
217 |
218 | /@endemolshinegroup/cosmiconfig-typescript-loader/3.0.2_ogrpmgle4n5e22g2w3nn2kuzua:
219 | resolution: {integrity: sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==}
220 | engines: {node: '>=10.0.0'}
221 | peerDependencies:
222 | cosmiconfig: '>=6'
223 | dependencies:
224 | cosmiconfig: 7.0.1
225 | lodash.get: 4.4.2
226 | make-error: 1.3.6
227 | ts-node: 9.1.1_typescript@4.5.4
228 | tslib: 2.3.1
229 | transitivePeerDependencies:
230 | - typescript
231 | dev: true
232 |
233 | /@istanbuljs/schema/0.1.3:
234 | resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
235 | engines: {node: '>=8'}
236 | dev: true
237 |
238 | /@nodelib/fs.scandir/2.1.5:
239 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
240 | engines: {node: '>= 8'}
241 | dependencies:
242 | '@nodelib/fs.stat': 2.0.5
243 | run-parallel: 1.2.0
244 | dev: true
245 |
246 | /@nodelib/fs.stat/2.0.5:
247 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
248 | engines: {node: '>= 8'}
249 | dev: true
250 |
251 | /@nodelib/fs.walk/1.2.8:
252 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
253 | engines: {node: '>= 8'}
254 | dependencies:
255 | '@nodelib/fs.scandir': 2.1.5
256 | fastq: 1.13.0
257 | dev: true
258 |
259 | /@octokit/auth-token/2.5.0:
260 | resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==}
261 | dependencies:
262 | '@octokit/types': 6.34.0
263 | dev: true
264 |
265 | /@octokit/core/3.5.1:
266 | resolution: {integrity: sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==}
267 | dependencies:
268 | '@octokit/auth-token': 2.5.0
269 | '@octokit/graphql': 4.8.0
270 | '@octokit/request': 5.6.2
271 | '@octokit/request-error': 2.1.0
272 | '@octokit/types': 6.34.0
273 | before-after-hook: 2.2.2
274 | universal-user-agent: 6.0.0
275 | dev: true
276 |
277 | /@octokit/endpoint/6.0.12:
278 | resolution: {integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==}
279 | dependencies:
280 | '@octokit/types': 6.34.0
281 | is-plain-object: 5.0.0
282 | universal-user-agent: 6.0.0
283 | dev: true
284 |
285 | /@octokit/graphql/4.8.0:
286 | resolution: {integrity: sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==}
287 | dependencies:
288 | '@octokit/request': 5.6.2
289 | '@octokit/types': 6.34.0
290 | universal-user-agent: 6.0.0
291 | dev: true
292 |
293 | /@octokit/openapi-types/11.2.0:
294 | resolution: {integrity: sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==}
295 | dev: true
296 |
297 | /@octokit/plugin-paginate-rest/2.17.0_@octokit+core@3.5.1:
298 | resolution: {integrity: sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==}
299 | peerDependencies:
300 | '@octokit/core': '>=2'
301 | dependencies:
302 | '@octokit/core': 3.5.1
303 | '@octokit/types': 6.34.0
304 | dev: true
305 |
306 | /@octokit/plugin-request-log/1.0.4_@octokit+core@3.5.1:
307 | resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==}
308 | peerDependencies:
309 | '@octokit/core': '>=3'
310 | dependencies:
311 | '@octokit/core': 3.5.1
312 | dev: true
313 |
314 | /@octokit/plugin-rest-endpoint-methods/5.13.0_@octokit+core@3.5.1:
315 | resolution: {integrity: sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==}
316 | peerDependencies:
317 | '@octokit/core': '>=3'
318 | dependencies:
319 | '@octokit/core': 3.5.1
320 | '@octokit/types': 6.34.0
321 | deprecation: 2.3.1
322 | dev: true
323 |
324 | /@octokit/request-error/2.1.0:
325 | resolution: {integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==}
326 | dependencies:
327 | '@octokit/types': 6.34.0
328 | deprecation: 2.3.1
329 | once: 1.4.0
330 | dev: true
331 |
332 | /@octokit/request/5.6.2:
333 | resolution: {integrity: sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==}
334 | dependencies:
335 | '@octokit/endpoint': 6.0.12
336 | '@octokit/request-error': 2.1.0
337 | '@octokit/types': 6.34.0
338 | is-plain-object: 5.0.0
339 | node-fetch: 2.6.6
340 | universal-user-agent: 6.0.0
341 | dev: true
342 |
343 | /@octokit/rest/18.12.0:
344 | resolution: {integrity: sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==}
345 | dependencies:
346 | '@octokit/core': 3.5.1
347 | '@octokit/plugin-paginate-rest': 2.17.0_@octokit+core@3.5.1
348 | '@octokit/plugin-request-log': 1.0.4_@octokit+core@3.5.1
349 | '@octokit/plugin-rest-endpoint-methods': 5.13.0_@octokit+core@3.5.1
350 | dev: true
351 |
352 | /@octokit/types/6.34.0:
353 | resolution: {integrity: sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==}
354 | dependencies:
355 | '@octokit/openapi-types': 11.2.0
356 | dev: true
357 |
358 | /@semantic-release/commit-analyzer/9.0.2_semantic-release@18.0.1:
359 | resolution: {integrity: sha512-E+dr6L+xIHZkX4zNMe6Rnwg4YQrWNXK+rNsvwOPpdFppvZO1olE2fIgWhv89TkQErygevbjsZFSIxp+u6w2e5g==}
360 | engines: {node: '>=14.17'}
361 | peerDependencies:
362 | semantic-release: '>=18.0.0-beta.1'
363 | dependencies:
364 | conventional-changelog-angular: 5.0.13
365 | conventional-commits-filter: 2.0.7
366 | conventional-commits-parser: 3.2.3
367 | debug: 4.3.3
368 | import-from: 4.0.0
369 | lodash: 4.17.21
370 | micromatch: 4.0.4
371 | semantic-release: 18.0.1
372 | transitivePeerDependencies:
373 | - supports-color
374 | dev: true
375 |
376 | /@semantic-release/error/2.2.0:
377 | resolution: {integrity: sha512-9Tj/qn+y2j+sjCI3Jd+qseGtHjOAeg7dU2/lVcqIQ9TV3QDaDXDYXcoOHU+7o2Hwh8L8ymL4gfuO7KxDs3q2zg==}
378 | dev: true
379 |
380 | /@semantic-release/error/3.0.0:
381 | resolution: {integrity: sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==}
382 | engines: {node: '>=14.17'}
383 | dev: true
384 |
385 | /@semantic-release/git/10.0.1_semantic-release@18.0.1:
386 | resolution: {integrity: sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==}
387 | engines: {node: '>=14.17'}
388 | peerDependencies:
389 | semantic-release: '>=18.0.0'
390 | dependencies:
391 | '@semantic-release/error': 3.0.0
392 | aggregate-error: 3.1.0
393 | debug: 4.3.3
394 | dir-glob: 3.0.1
395 | execa: 5.1.1
396 | lodash: 4.17.21
397 | micromatch: 4.0.4
398 | p-reduce: 2.1.0
399 | semantic-release: 18.0.1
400 | transitivePeerDependencies:
401 | - supports-color
402 | dev: true
403 |
404 | /@semantic-release/github/8.0.2_semantic-release@18.0.1:
405 | resolution: {integrity: sha512-wIbfhOeuxlYzMTjtSAa2xgr54n7ZuPAS2gadyTWBpUt2PNAPgla7A6XxCXJnaKPgfVF0iFfSk3B+KlVKk6ByVg==}
406 | engines: {node: '>=14.17'}
407 | peerDependencies:
408 | semantic-release: '>=18.0.0-beta.1'
409 | dependencies:
410 | '@octokit/rest': 18.12.0
411 | '@semantic-release/error': 2.2.0
412 | aggregate-error: 3.1.0
413 | bottleneck: 2.19.5
414 | debug: 4.3.3
415 | dir-glob: 3.0.1
416 | fs-extra: 10.0.0
417 | globby: 11.0.4
418 | http-proxy-agent: 5.0.0
419 | https-proxy-agent: 5.0.0
420 | issue-parser: 6.0.0
421 | lodash: 4.17.21
422 | mime: 3.0.0
423 | p-filter: 2.1.0
424 | p-retry: 4.6.1
425 | semantic-release: 18.0.1
426 | url-join: 4.0.1
427 | transitivePeerDependencies:
428 | - supports-color
429 | dev: true
430 |
431 | /@semantic-release/npm/8.0.3_semantic-release@18.0.1:
432 | resolution: {integrity: sha512-Qbg7x/O1t3sJqsv2+U0AL4Utgi/ymlCiUdt67Ftz9HL9N8aDML4t2tE0T9MBaYdqwD976hz57DqHHXKVppUBoA==}
433 | engines: {node: '>=14.17'}
434 | peerDependencies:
435 | semantic-release: '>=18.0.0'
436 | dependencies:
437 | '@semantic-release/error': 3.0.0
438 | aggregate-error: 3.1.0
439 | execa: 5.1.1
440 | fs-extra: 10.0.0
441 | lodash: 4.17.21
442 | nerf-dart: 1.0.0
443 | normalize-url: 6.1.0
444 | npm: 7.24.2
445 | rc: 1.2.8
446 | read-pkg: 5.2.0
447 | registry-auth-token: 4.2.1
448 | semantic-release: 18.0.1
449 | semver: 7.3.5
450 | tempy: 1.0.1
451 | dev: true
452 |
453 | /@semantic-release/release-notes-generator/10.0.3_semantic-release@18.0.1:
454 | resolution: {integrity: sha512-k4x4VhIKneOWoBGHkx0qZogNjCldLPRiAjnIpMnlUh6PtaWXp/T+C9U7/TaNDDtgDa5HMbHl4WlREdxHio6/3w==}
455 | engines: {node: '>=14.17'}
456 | peerDependencies:
457 | semantic-release: '>=18.0.0-beta.1'
458 | dependencies:
459 | conventional-changelog-angular: 5.0.13
460 | conventional-changelog-writer: 5.0.0
461 | conventional-commits-filter: 2.0.7
462 | conventional-commits-parser: 3.2.3
463 | debug: 4.3.3
464 | get-stream: 6.0.1
465 | import-from: 4.0.0
466 | into-stream: 6.0.0
467 | lodash: 4.17.21
468 | read-pkg-up: 7.0.1
469 | semantic-release: 18.0.1
470 | transitivePeerDependencies:
471 | - supports-color
472 | dev: true
473 |
474 | /@tootallnate/once/2.0.0:
475 | resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
476 | engines: {node: '>= 10'}
477 | dev: true
478 |
479 | /@types/istanbul-lib-coverage/2.0.3:
480 | resolution: {integrity: sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==}
481 | dev: true
482 |
483 | /@types/minimist/1.2.2:
484 | resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==}
485 | dev: true
486 |
487 | /@types/normalize-package-data/2.4.1:
488 | resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
489 | dev: true
490 |
491 | /@types/parse-json/4.0.0:
492 | resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==}
493 | dev: true
494 |
495 | /@types/retry/0.12.1:
496 | resolution: {integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==}
497 | dev: true
498 |
499 | /JSONStream/1.3.5:
500 | resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
501 | hasBin: true
502 | dependencies:
503 | jsonparse: 1.3.1
504 | through: 2.3.8
505 | dev: true
506 |
507 | /agent-base/6.0.2:
508 | resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
509 | engines: {node: '>= 6.0.0'}
510 | dependencies:
511 | debug: 4.3.3
512 | transitivePeerDependencies:
513 | - supports-color
514 | dev: true
515 |
516 | /aggregate-error/3.1.0:
517 | resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
518 | engines: {node: '>=8'}
519 | dependencies:
520 | clean-stack: 2.2.0
521 | indent-string: 4.0.0
522 | dev: true
523 |
524 | /ansi-escapes/4.3.2:
525 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
526 | engines: {node: '>=8'}
527 | dependencies:
528 | type-fest: 0.21.3
529 | dev: true
530 |
531 | /ansi-regex/5.0.1:
532 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
533 | engines: {node: '>=8'}
534 | dev: true
535 |
536 | /ansi-styles/3.2.1:
537 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
538 | engines: {node: '>=4'}
539 | dependencies:
540 | color-convert: 1.9.3
541 | dev: true
542 |
543 | /ansi-styles/4.3.0:
544 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
545 | engines: {node: '>=8'}
546 | dependencies:
547 | color-convert: 2.0.1
548 | dev: true
549 |
550 | /ansicolors/0.3.2:
551 | resolution: {integrity: sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=}
552 | dev: true
553 |
554 | /arg/4.1.3:
555 | resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
556 | dev: true
557 |
558 | /argv-formatter/1.0.0:
559 | resolution: {integrity: sha1-oMoMvCmltz6Dbuvhy/bF4OTrgvk=}
560 | dev: true
561 |
562 | /array-ify/1.0.0:
563 | resolution: {integrity: sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=}
564 | dev: true
565 |
566 | /array-union/2.1.0:
567 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
568 | engines: {node: '>=8'}
569 | dev: true
570 |
571 | /arrify/1.0.1:
572 | resolution: {integrity: sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=}
573 | engines: {node: '>=0.10.0'}
574 | dev: true
575 |
576 | /balanced-match/1.0.2:
577 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
578 | dev: true
579 |
580 | /barecolor/1.0.1:
581 | resolution: {integrity: sha512-ncJ680U+r1CGBt73L3O6V9GIAPy3hbDmWODEQajwEnDmmzeStvc4UYhapUSxUpS76+MHxyRihzZfwhyl122Zdw==}
582 | dev: true
583 |
584 | /baretest/2.0.0:
585 | resolution: {integrity: sha512-hRmYnBojeijT3jH0GtqLoHus+adPoeYh2NmcNT3wBPH903AUphcFqs1gJ64fBovDXql51Df24g9D9jcXRZd4vA==}
586 | dependencies:
587 | barecolor: 1.0.1
588 | dev: true
589 |
590 | /before-after-hook/2.2.2:
591 | resolution: {integrity: sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==}
592 | dev: true
593 |
594 | /bottleneck/2.19.5:
595 | resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==}
596 | dev: true
597 |
598 | /brace-expansion/1.1.11:
599 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
600 | dependencies:
601 | balanced-match: 1.0.2
602 | concat-map: 0.0.1
603 | dev: true
604 |
605 | /braces/3.0.2:
606 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
607 | engines: {node: '>=8'}
608 | dependencies:
609 | fill-range: 7.0.1
610 | dev: true
611 |
612 | /buffer-from/1.1.2:
613 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
614 | dev: true
615 |
616 | /c8/7.10.0:
617 | resolution: {integrity: sha512-OAwfC5+emvA6R7pkYFVBTOtI5ruf9DahffGmIqUc9l6wEh0h7iAFP6dt/V9Ioqlr2zW5avX9U9/w1I4alTRHkA==}
618 | engines: {node: '>=10.12.0'}
619 | hasBin: true
620 | dependencies:
621 | '@bcoe/v8-coverage': 0.2.3
622 | '@istanbuljs/schema': 0.1.3
623 | find-up: 5.0.0
624 | foreground-child: 2.0.0
625 | istanbul-lib-coverage: 3.2.0
626 | istanbul-lib-report: 3.0.0
627 | istanbul-reports: 3.1.1
628 | rimraf: 3.0.2
629 | test-exclude: 6.0.0
630 | v8-to-istanbul: 8.1.0
631 | yargs: 16.2.0
632 | yargs-parser: 20.2.9
633 | dev: true
634 |
635 | /callsites/3.1.0:
636 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
637 | engines: {node: '>=6'}
638 | dev: true
639 |
640 | /camelcase-keys/6.2.2:
641 | resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==}
642 | engines: {node: '>=8'}
643 | dependencies:
644 | camelcase: 5.3.1
645 | map-obj: 4.3.0
646 | quick-lru: 4.0.1
647 | dev: true
648 |
649 | /camelcase/5.3.1:
650 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
651 | engines: {node: '>=6'}
652 | dev: true
653 |
654 | /cardinal/2.1.1:
655 | resolution: {integrity: sha1-fMEFXYItISlU0HsIXeolHMe8VQU=}
656 | hasBin: true
657 | dependencies:
658 | ansicolors: 0.3.2
659 | redeyed: 2.1.1
660 | dev: true
661 |
662 | /chalk/2.4.2:
663 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
664 | engines: {node: '>=4'}
665 | dependencies:
666 | ansi-styles: 3.2.1
667 | escape-string-regexp: 1.0.5
668 | supports-color: 5.5.0
669 | dev: true
670 |
671 | /chalk/4.1.2:
672 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
673 | engines: {node: '>=10'}
674 | dependencies:
675 | ansi-styles: 4.3.0
676 | supports-color: 7.2.0
677 | dev: true
678 |
679 | /ci-info/3.3.0:
680 | resolution: {integrity: sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==}
681 | dev: true
682 |
683 | /clean-stack/2.2.0:
684 | resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
685 | engines: {node: '>=6'}
686 | dev: true
687 |
688 | /cli-table3/0.6.0:
689 | resolution: {integrity: sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==}
690 | engines: {node: 10.* || >= 12.*}
691 | dependencies:
692 | object-assign: 4.1.1
693 | string-width: 4.2.3
694 | optionalDependencies:
695 | colors: 1.4.0
696 | dev: true
697 |
698 | /cliui/7.0.4:
699 | resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
700 | dependencies:
701 | string-width: 4.2.3
702 | strip-ansi: 6.0.1
703 | wrap-ansi: 7.0.0
704 | dev: true
705 |
706 | /color-convert/1.9.3:
707 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
708 | dependencies:
709 | color-name: 1.1.3
710 | dev: true
711 |
712 | /color-convert/2.0.1:
713 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
714 | engines: {node: '>=7.0.0'}
715 | dependencies:
716 | color-name: 1.1.4
717 | dev: true
718 |
719 | /color-name/1.1.3:
720 | resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=}
721 | dev: true
722 |
723 | /color-name/1.1.4:
724 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
725 | dev: true
726 |
727 | /colors/1.4.0:
728 | resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==}
729 | engines: {node: '>=0.1.90'}
730 | requiresBuild: true
731 | dev: true
732 | optional: true
733 |
734 | /commitlint/15.0.0:
735 | resolution: {integrity: sha512-I0lJLzR4h5iswM6pVFizMz3vlTfCkd1orOpg/7s0Ug+sx2htbZo5TU1gGsd5C1v8MSA98sqY2zprRRLnxs7DaA==}
736 | engines: {node: '>=v12'}
737 | hasBin: true
738 | dependencies:
739 | '@commitlint/cli': 15.0.0
740 | '@commitlint/types': 15.0.0
741 | dev: true
742 |
743 | /compare-func/2.0.0:
744 | resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==}
745 | dependencies:
746 | array-ify: 1.0.0
747 | dot-prop: 5.3.0
748 | dev: true
749 |
750 | /concat-map/0.0.1:
751 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
752 | dev: true
753 |
754 | /conventional-changelog-angular/5.0.13:
755 | resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==}
756 | engines: {node: '>=10'}
757 | dependencies:
758 | compare-func: 2.0.0
759 | q: 1.5.1
760 | dev: true
761 |
762 | /conventional-changelog-conventionalcommits/4.6.1:
763 | resolution: {integrity: sha512-lzWJpPZhbM1R0PIzkwzGBCnAkH5RKJzJfFQZcl/D+2lsJxAwGnDKBqn/F4C1RD31GJNn8NuKWQzAZDAVXPp2Mw==}
764 | engines: {node: '>=10'}
765 | dependencies:
766 | compare-func: 2.0.0
767 | lodash: 4.17.21
768 | q: 1.5.1
769 | dev: true
770 |
771 | /conventional-changelog-writer/5.0.0:
772 | resolution: {integrity: sha512-HnDh9QHLNWfL6E1uHz6krZEQOgm8hN7z/m7tT16xwd802fwgMN0Wqd7AQYVkhpsjDUx/99oo+nGgvKF657XP5g==}
773 | engines: {node: '>=10'}
774 | hasBin: true
775 | dependencies:
776 | conventional-commits-filter: 2.0.7
777 | dateformat: 3.0.3
778 | handlebars: 4.7.7
779 | json-stringify-safe: 5.0.1
780 | lodash: 4.17.21
781 | meow: 8.1.2
782 | semver: 6.3.0
783 | split: 1.0.1
784 | through2: 4.0.2
785 | dev: true
786 |
787 | /conventional-commits-filter/2.0.7:
788 | resolution: {integrity: sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==}
789 | engines: {node: '>=10'}
790 | dependencies:
791 | lodash.ismatch: 4.4.0
792 | modify-values: 1.0.1
793 | dev: true
794 |
795 | /conventional-commits-parser/3.2.3:
796 | resolution: {integrity: sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw==}
797 | engines: {node: '>=10'}
798 | hasBin: true
799 | dependencies:
800 | is-text-path: 1.0.1
801 | JSONStream: 1.3.5
802 | lodash: 4.17.21
803 | meow: 8.1.2
804 | split2: 3.2.2
805 | through2: 4.0.2
806 | dev: true
807 |
808 | /convert-source-map/1.8.0:
809 | resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==}
810 | dependencies:
811 | safe-buffer: 5.1.2
812 | dev: true
813 |
814 | /core-util-is/1.0.3:
815 | resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
816 | dev: true
817 |
818 | /cosmiconfig/7.0.1:
819 | resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==}
820 | engines: {node: '>=10'}
821 | dependencies:
822 | '@types/parse-json': 4.0.0
823 | import-fresh: 3.3.0
824 | parse-json: 5.2.0
825 | path-type: 4.0.0
826 | yaml: 1.10.2
827 | dev: true
828 |
829 | /create-require/1.1.1:
830 | resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
831 | dev: true
832 |
833 | /cross-spawn/7.0.3:
834 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
835 | engines: {node: '>= 8'}
836 | dependencies:
837 | path-key: 3.1.1
838 | shebang-command: 2.0.0
839 | which: 2.0.2
840 | dev: true
841 |
842 | /crypto-random-string/2.0.0:
843 | resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
844 | engines: {node: '>=8'}
845 | dev: true
846 |
847 | /css-in-js-utils/2.0.1:
848 | resolution: {integrity: sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA==}
849 | dependencies:
850 | hyphenate-style-name: 1.0.4
851 | isobject: 3.0.1
852 | dev: false
853 |
854 | /css-tree/1.1.3:
855 | resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
856 | engines: {node: '>=8.0.0'}
857 | dependencies:
858 | mdn-data: 2.0.14
859 | source-map: 0.6.1
860 | dev: false
861 |
862 | /csstype/3.0.10:
863 | resolution: {integrity: sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==}
864 | dev: false
865 |
866 | /dargs/7.0.0:
867 | resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==}
868 | engines: {node: '>=8'}
869 | dev: true
870 |
871 | /dateformat/3.0.3:
872 | resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==}
873 | dev: true
874 |
875 | /debug/4.3.3:
876 | resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==}
877 | engines: {node: '>=6.0'}
878 | peerDependencies:
879 | supports-color: '*'
880 | peerDependenciesMeta:
881 | supports-color:
882 | optional: true
883 | dependencies:
884 | ms: 2.1.2
885 | dev: true
886 |
887 | /decamelize-keys/1.1.0:
888 | resolution: {integrity: sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=}
889 | engines: {node: '>=0.10.0'}
890 | dependencies:
891 | decamelize: 1.2.0
892 | map-obj: 1.0.1
893 | dev: true
894 |
895 | /decamelize/1.2.0:
896 | resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=}
897 | engines: {node: '>=0.10.0'}
898 | dev: true
899 |
900 | /deep-extend/0.6.0:
901 | resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
902 | engines: {node: '>=4.0.0'}
903 | dev: true
904 |
905 | /deepmerge/4.2.2:
906 | resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==}
907 | engines: {node: '>=0.10.0'}
908 | dev: false
909 |
910 | /del/6.0.0:
911 | resolution: {integrity: sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==}
912 | engines: {node: '>=10'}
913 | dependencies:
914 | globby: 11.0.4
915 | graceful-fs: 4.2.8
916 | is-glob: 4.0.3
917 | is-path-cwd: 2.2.0
918 | is-path-inside: 3.0.3
919 | p-map: 4.0.0
920 | rimraf: 3.0.2
921 | slash: 3.0.0
922 | dev: true
923 |
924 | /deprecation/2.3.1:
925 | resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==}
926 | dev: true
927 |
928 | /dequal/2.0.2:
929 | resolution: {integrity: sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug==}
930 | engines: {node: '>=6'}
931 | dev: true
932 |
933 | /diff/4.0.2:
934 | resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
935 | engines: {node: '>=0.3.1'}
936 | dev: true
937 |
938 | /diff/5.0.0:
939 | resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==}
940 | engines: {node: '>=0.3.1'}
941 | dev: true
942 |
943 | /dir-glob/3.0.1:
944 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
945 | engines: {node: '>=8'}
946 | dependencies:
947 | path-type: 4.0.0
948 | dev: true
949 |
950 | /dot-prop/5.3.0:
951 | resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
952 | engines: {node: '>=8'}
953 | dependencies:
954 | is-obj: 2.0.0
955 | dev: true
956 |
957 | /duplexer2/0.1.4:
958 | resolution: {integrity: sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=}
959 | dependencies:
960 | readable-stream: 2.3.7
961 | dev: true
962 |
963 | /emoji-regex/8.0.0:
964 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
965 | dev: true
966 |
967 | /env-ci/5.5.0:
968 | resolution: {integrity: sha512-o0JdWIbOLP+WJKIUt36hz1ImQQFuN92nhsfTkHHap+J8CiI8WgGpH/a9jEGHh4/TU5BUUGjlnKXNoDb57+ne+A==}
969 | engines: {node: '>=10.17'}
970 | dependencies:
971 | execa: 5.1.1
972 | fromentries: 1.3.2
973 | java-properties: 1.0.2
974 | dev: true
975 |
976 | /error-ex/1.3.2:
977 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
978 | dependencies:
979 | is-arrayish: 0.2.1
980 | dev: true
981 |
982 | /error-stack-parser/2.0.6:
983 | resolution: {integrity: sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==}
984 | dependencies:
985 | stackframe: 1.2.0
986 | dev: false
987 |
988 | /esbuild-android-arm64/0.14.7:
989 | resolution: {integrity: sha512-9/Q1NC4JErvsXzJKti0NHt+vzKjZOgPIjX/e6kkuCzgfT/GcO3FVBcGIv4HeJG7oMznE6KyKhvLrFgt7CdU2/w==}
990 | cpu: [arm64]
991 | os: [android]
992 | requiresBuild: true
993 | dev: true
994 | optional: true
995 |
996 | /esbuild-darwin-64/0.14.7:
997 | resolution: {integrity: sha512-Z9X+3TT/Xj+JiZTVlwHj2P+8GoiSmUnGVz0YZTSt8WTbW3UKw5Pw2ucuJ8VzbD2FPy0jbIKJkko/6CMTQchShQ==}
998 | cpu: [x64]
999 | os: [darwin]
1000 | requiresBuild: true
1001 | dev: true
1002 | optional: true
1003 |
1004 | /esbuild-darwin-arm64/0.14.7:
1005 | resolution: {integrity: sha512-68e7COhmwIiLXBEyxUxZSSU0akgv8t3e50e2QOtKdBUE0F6KIRISzFntLe2rYlNqSsjGWsIO6CCc9tQxijjSkw==}
1006 | cpu: [arm64]
1007 | os: [darwin]
1008 | requiresBuild: true
1009 | dev: true
1010 | optional: true
1011 |
1012 | /esbuild-freebsd-64/0.14.7:
1013 | resolution: {integrity: sha512-76zy5jAjPiXX/S3UvRgG85Bb0wy0zv/J2lel3KtHi4V7GUTBfhNUPt0E5bpSXJ6yMT7iThhnA5rOn+IJiUcslQ==}
1014 | cpu: [x64]
1015 | os: [freebsd]
1016 | requiresBuild: true
1017 | dev: true
1018 | optional: true
1019 |
1020 | /esbuild-freebsd-arm64/0.14.7:
1021 | resolution: {integrity: sha512-lSlYNLiqyzd7qCN5CEOmLxn7MhnGHPcu5KuUYOG1i+t5A6q7LgBmfYC9ZHJBoYyow3u4CNu79AWHbvVLpE/VQQ==}
1022 | cpu: [arm64]
1023 | os: [freebsd]
1024 | requiresBuild: true
1025 | dev: true
1026 | optional: true
1027 |
1028 | /esbuild-linux-32/0.14.7:
1029 | resolution: {integrity: sha512-Vk28u409wVOXqTaT6ek0TnfQG4Ty1aWWfiysIaIRERkNLhzLhUf4i+qJBN8mMuGTYOkE40F0Wkbp6m+IidOp2A==}
1030 | cpu: [ia32]
1031 | os: [linux]
1032 | requiresBuild: true
1033 | dev: true
1034 | optional: true
1035 |
1036 | /esbuild-linux-64/0.14.7:
1037 | resolution: {integrity: sha512-+Lvz6x+8OkRk3K2RtZwO+0a92jy9si9cUea5Zoru4yJ/6EQm9ENX5seZE0X9DTwk1dxJbjmLsJsd3IoowyzgVg==}
1038 | cpu: [x64]
1039 | os: [linux]
1040 | requiresBuild: true
1041 | dev: true
1042 | optional: true
1043 |
1044 | /esbuild-linux-arm/0.14.7:
1045 | resolution: {integrity: sha512-OzpXEBogbYdcBqE4uKynuSn5YSetCvK03Qv1HcOY1VN6HmReuatjJ21dCH+YPHSpMEF0afVCnNfffvsGEkxGJQ==}
1046 | cpu: [arm]
1047 | os: [linux]
1048 | requiresBuild: true
1049 | dev: true
1050 | optional: true
1051 |
1052 | /esbuild-linux-arm64/0.14.7:
1053 | resolution: {integrity: sha512-kJd5beWSqteSAW086qzCEsH6uwpi7QRIpzYWHzEYwKKu9DiG1TwIBegQJmLpPsLp4v5RAFjea0JAmAtpGtRpqg==}
1054 | cpu: [arm64]
1055 | os: [linux]
1056 | requiresBuild: true
1057 | dev: true
1058 | optional: true
1059 |
1060 | /esbuild-linux-mips64le/0.14.7:
1061 | resolution: {integrity: sha512-mFWpnDhZJmj/h7pxqn1GGDsKwRfqtV7fx6kTF5pr4PfXe8pIaTERpwcKkoCwZUkWAOmUEjMIUAvFM72A6hMZnA==}
1062 | cpu: [mips64el]
1063 | os: [linux]
1064 | requiresBuild: true
1065 | dev: true
1066 | optional: true
1067 |
1068 | /esbuild-linux-ppc64le/0.14.7:
1069 | resolution: {integrity: sha512-wM7f4M0bsQXfDL4JbbYD0wsr8cC8KaQ3RPWc/fV27KdErPW7YsqshZZSjDV0kbhzwpNNdhLItfbaRT8OE8OaKA==}
1070 | cpu: [ppc64]
1071 | os: [linux]
1072 | requiresBuild: true
1073 | dev: true
1074 | optional: true
1075 |
1076 | /esbuild-netbsd-64/0.14.7:
1077 | resolution: {integrity: sha512-J/afS7woKyzGgAL5FlgvMyqgt5wQ597lgsT+xc2yJ9/7BIyezeXutXqfh05vszy2k3kSvhLesugsxIA71WsqBw==}
1078 | cpu: [x64]
1079 | os: [netbsd]
1080 | requiresBuild: true
1081 | dev: true
1082 | optional: true
1083 |
1084 | /esbuild-openbsd-64/0.14.7:
1085 | resolution: {integrity: sha512-7CcxgdlCD+zAPyveKoznbgr3i0Wnh0L8BDGRCjE/5UGkm5P/NQko51tuIDaYof8zbmXjjl0OIt9lSo4W7I8mrw==}
1086 | cpu: [x64]
1087 | os: [openbsd]
1088 | requiresBuild: true
1089 | dev: true
1090 | optional: true
1091 |
1092 | /esbuild-register/3.2.1_esbuild@0.14.7:
1093 | resolution: {integrity: sha512-LFgzsqCHsFUpTZdYJFTl1o5p60+C4nZ65BzFYPS1jKGwiKk6JLH8tuLwuydvpgreNUAeDUhTPJgJNjmpZKSOpQ==}
1094 | peerDependencies:
1095 | esbuild: '>=0.12 <1'
1096 | dependencies:
1097 | esbuild: 0.14.7
1098 | jsonc-parser: 3.0.0
1099 | dev: true
1100 |
1101 | /esbuild-sunos-64/0.14.7:
1102 | resolution: {integrity: sha512-GKCafP2j/KUljVC3nesw1wLFSZktb2FGCmoT1+730zIF5O6hNroo0bSEofm6ZK5mNPnLiSaiLyRB9YFgtkd5Xg==}
1103 | cpu: [x64]
1104 | os: [sunos]
1105 | requiresBuild: true
1106 | dev: true
1107 | optional: true
1108 |
1109 | /esbuild-windows-32/0.14.7:
1110 | resolution: {integrity: sha512-5I1GeL/gZoUUdTPA0ws54bpYdtyeA2t6MNISalsHpY269zK8Jia/AXB3ta/KcDHv2SvNwabpImeIPXC/k0YW6A==}
1111 | cpu: [ia32]
1112 | os: [win32]
1113 | requiresBuild: true
1114 | dev: true
1115 | optional: true
1116 |
1117 | /esbuild-windows-64/0.14.7:
1118 | resolution: {integrity: sha512-CIGKCFpQOSlYsLMbxt8JjxxvVw9MlF1Rz2ABLVfFyHUF5OeqHD5fPhGrCVNaVrhO8Xrm+yFmtjcZudUGr5/WYQ==}
1119 | cpu: [x64]
1120 | os: [win32]
1121 | requiresBuild: true
1122 | dev: true
1123 | optional: true
1124 |
1125 | /esbuild-windows-arm64/0.14.7:
1126 | resolution: {integrity: sha512-eOs1eSivOqN7cFiRIukEruWhaCf75V0N8P0zP7dh44LIhLl8y6/z++vv9qQVbkBm5/D7M7LfCfCTmt1f1wHOCw==}
1127 | cpu: [arm64]
1128 | os: [win32]
1129 | requiresBuild: true
1130 | dev: true
1131 | optional: true
1132 |
1133 | /esbuild/0.14.7:
1134 | resolution: {integrity: sha512-+u/msd6iu+HvfysUPkZ9VHm83LImmSNnecYPfFI01pQ7TTcsFR+V0BkybZX7mPtIaI7LCrse6YRj+v3eraJSgw==}
1135 | hasBin: true
1136 | requiresBuild: true
1137 | optionalDependencies:
1138 | esbuild-android-arm64: 0.14.7
1139 | esbuild-darwin-64: 0.14.7
1140 | esbuild-darwin-arm64: 0.14.7
1141 | esbuild-freebsd-64: 0.14.7
1142 | esbuild-freebsd-arm64: 0.14.7
1143 | esbuild-linux-32: 0.14.7
1144 | esbuild-linux-64: 0.14.7
1145 | esbuild-linux-arm: 0.14.7
1146 | esbuild-linux-arm64: 0.14.7
1147 | esbuild-linux-mips64le: 0.14.7
1148 | esbuild-linux-ppc64le: 0.14.7
1149 | esbuild-netbsd-64: 0.14.7
1150 | esbuild-openbsd-64: 0.14.7
1151 | esbuild-sunos-64: 0.14.7
1152 | esbuild-windows-32: 0.14.7
1153 | esbuild-windows-64: 0.14.7
1154 | esbuild-windows-arm64: 0.14.7
1155 | dev: true
1156 |
1157 | /escalade/3.1.1:
1158 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
1159 | engines: {node: '>=6'}
1160 | dev: true
1161 |
1162 | /escape-string-regexp/1.0.5:
1163 | resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=}
1164 | engines: {node: '>=0.8.0'}
1165 | dev: true
1166 |
1167 | /esprima/4.0.1:
1168 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
1169 | engines: {node: '>=4'}
1170 | hasBin: true
1171 | dev: true
1172 |
1173 | /execa/5.1.1:
1174 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
1175 | engines: {node: '>=10'}
1176 | dependencies:
1177 | cross-spawn: 7.0.3
1178 | get-stream: 6.0.1
1179 | human-signals: 2.1.0
1180 | is-stream: 2.0.1
1181 | merge-stream: 2.0.0
1182 | npm-run-path: 4.0.1
1183 | onetime: 5.1.2
1184 | signal-exit: 3.0.6
1185 | strip-final-newline: 2.0.0
1186 | dev: true
1187 |
1188 | /fast-glob/3.2.7:
1189 | resolution: {integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==}
1190 | engines: {node: '>=8'}
1191 | dependencies:
1192 | '@nodelib/fs.stat': 2.0.5
1193 | '@nodelib/fs.walk': 1.2.8
1194 | glob-parent: 5.1.2
1195 | merge2: 1.4.1
1196 | micromatch: 4.0.4
1197 | dev: true
1198 |
1199 | /fastest-stable-stringify/2.0.2:
1200 | resolution: {integrity: sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==}
1201 | dev: false
1202 |
1203 | /fastq/1.13.0:
1204 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==}
1205 | dependencies:
1206 | reusify: 1.0.4
1207 | dev: true
1208 |
1209 | /figures/2.0.0:
1210 | resolution: {integrity: sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=}
1211 | engines: {node: '>=4'}
1212 | dependencies:
1213 | escape-string-regexp: 1.0.5
1214 | dev: true
1215 |
1216 | /figures/3.2.0:
1217 | resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
1218 | engines: {node: '>=8'}
1219 | dependencies:
1220 | escape-string-regexp: 1.0.5
1221 | dev: true
1222 |
1223 | /fill-range/7.0.1:
1224 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1225 | engines: {node: '>=8'}
1226 | dependencies:
1227 | to-regex-range: 5.0.1
1228 | dev: true
1229 |
1230 | /find-up/2.1.0:
1231 | resolution: {integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c=}
1232 | engines: {node: '>=4'}
1233 | dependencies:
1234 | locate-path: 2.0.0
1235 | dev: true
1236 |
1237 | /find-up/4.1.0:
1238 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
1239 | engines: {node: '>=8'}
1240 | dependencies:
1241 | locate-path: 5.0.0
1242 | path-exists: 4.0.0
1243 | dev: true
1244 |
1245 | /find-up/5.0.0:
1246 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1247 | engines: {node: '>=10'}
1248 | dependencies:
1249 | locate-path: 6.0.0
1250 | path-exists: 4.0.0
1251 | dev: true
1252 |
1253 | /find-versions/4.0.0:
1254 | resolution: {integrity: sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==}
1255 | engines: {node: '>=10'}
1256 | dependencies:
1257 | semver-regex: 3.1.3
1258 | dev: true
1259 |
1260 | /foreground-child/2.0.0:
1261 | resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==}
1262 | engines: {node: '>=8.0.0'}
1263 | dependencies:
1264 | cross-spawn: 7.0.3
1265 | signal-exit: 3.0.6
1266 | dev: true
1267 |
1268 | /from2/2.3.0:
1269 | resolution: {integrity: sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=}
1270 | dependencies:
1271 | inherits: 2.0.4
1272 | readable-stream: 2.3.7
1273 | dev: true
1274 |
1275 | /fromentries/1.3.2:
1276 | resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==}
1277 | dev: true
1278 |
1279 | /fs-extra/10.0.0:
1280 | resolution: {integrity: sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==}
1281 | engines: {node: '>=12'}
1282 | dependencies:
1283 | graceful-fs: 4.2.8
1284 | jsonfile: 6.1.0
1285 | universalify: 2.0.0
1286 | dev: true
1287 |
1288 | /fs.realpath/1.0.0:
1289 | resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=}
1290 | dev: true
1291 |
1292 | /function-bind/1.1.1:
1293 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
1294 | dev: true
1295 |
1296 | /get-caller-file/2.0.5:
1297 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
1298 | engines: {node: 6.* || 8.* || >= 10.*}
1299 | dev: true
1300 |
1301 | /get-stream/6.0.1:
1302 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
1303 | engines: {node: '>=10'}
1304 | dev: true
1305 |
1306 | /git-log-parser/1.2.0:
1307 | resolution: {integrity: sha1-LmpMGxP8AAKCB7p5WnrDFme5/Uo=}
1308 | dependencies:
1309 | argv-formatter: 1.0.0
1310 | spawn-error-forwarder: 1.0.0
1311 | split2: 1.0.0
1312 | stream-combiner2: 1.1.1
1313 | through2: 2.0.5
1314 | traverse: 0.6.6
1315 | dev: true
1316 |
1317 | /git-raw-commits/2.0.10:
1318 | resolution: {integrity: sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==}
1319 | engines: {node: '>=10'}
1320 | hasBin: true
1321 | dependencies:
1322 | dargs: 7.0.0
1323 | lodash: 4.17.21
1324 | meow: 8.1.2
1325 | split2: 3.2.2
1326 | through2: 4.0.2
1327 | dev: true
1328 |
1329 | /glob-parent/5.1.2:
1330 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1331 | engines: {node: '>= 6'}
1332 | dependencies:
1333 | is-glob: 4.0.3
1334 | dev: true
1335 |
1336 | /glob/7.2.0:
1337 | resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==}
1338 | dependencies:
1339 | fs.realpath: 1.0.0
1340 | inflight: 1.0.6
1341 | inherits: 2.0.4
1342 | minimatch: 3.0.4
1343 | once: 1.4.0
1344 | path-is-absolute: 1.0.1
1345 | dev: true
1346 |
1347 | /global-dirs/0.1.1:
1348 | resolution: {integrity: sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=}
1349 | engines: {node: '>=4'}
1350 | dependencies:
1351 | ini: 1.3.8
1352 | dev: true
1353 |
1354 | /globby/11.0.4:
1355 | resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==}
1356 | engines: {node: '>=10'}
1357 | dependencies:
1358 | array-union: 2.1.0
1359 | dir-glob: 3.0.1
1360 | fast-glob: 3.2.7
1361 | ignore: 5.2.0
1362 | merge2: 1.4.1
1363 | slash: 3.0.0
1364 | dev: true
1365 |
1366 | /graceful-fs/4.2.8:
1367 | resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==}
1368 | dev: true
1369 |
1370 | /handlebars/4.7.7:
1371 | resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==}
1372 | engines: {node: '>=0.4.7'}
1373 | hasBin: true
1374 | dependencies:
1375 | minimist: 1.2.5
1376 | neo-async: 2.6.2
1377 | source-map: 0.6.1
1378 | wordwrap: 1.0.0
1379 | optionalDependencies:
1380 | uglify-js: 3.14.5
1381 | dev: true
1382 |
1383 | /hard-rejection/2.1.0:
1384 | resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==}
1385 | engines: {node: '>=6'}
1386 | dev: true
1387 |
1388 | /has-flag/3.0.0:
1389 | resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=}
1390 | engines: {node: '>=4'}
1391 | dev: true
1392 |
1393 | /has-flag/4.0.0:
1394 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1395 | engines: {node: '>=8'}
1396 | dev: true
1397 |
1398 | /has/1.0.3:
1399 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
1400 | engines: {node: '>= 0.4.0'}
1401 | dependencies:
1402 | function-bind: 1.1.1
1403 | dev: true
1404 |
1405 | /hook-std/2.0.0:
1406 | resolution: {integrity: sha512-zZ6T5WcuBMIUVh49iPQS9t977t7C0l7OtHrpeMb5uk48JdflRX0NSFvCekfYNmGQETnLq9W/isMyHl69kxGi8g==}
1407 | engines: {node: '>=8'}
1408 | dev: true
1409 |
1410 | /hosted-git-info/2.8.9:
1411 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
1412 | dev: true
1413 |
1414 | /hosted-git-info/4.0.2:
1415 | resolution: {integrity: sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==}
1416 | engines: {node: '>=10'}
1417 | dependencies:
1418 | lru-cache: 6.0.0
1419 | dev: true
1420 |
1421 | /html-escaper/2.0.2:
1422 | resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
1423 | dev: true
1424 |
1425 | /http-proxy-agent/5.0.0:
1426 | resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
1427 | engines: {node: '>= 6'}
1428 | dependencies:
1429 | '@tootallnate/once': 2.0.0
1430 | agent-base: 6.0.2
1431 | debug: 4.3.3
1432 | transitivePeerDependencies:
1433 | - supports-color
1434 | dev: true
1435 |
1436 | /https-proxy-agent/5.0.0:
1437 | resolution: {integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==}
1438 | engines: {node: '>= 6'}
1439 | dependencies:
1440 | agent-base: 6.0.2
1441 | debug: 4.3.3
1442 | transitivePeerDependencies:
1443 | - supports-color
1444 | dev: true
1445 |
1446 | /human-signals/2.1.0:
1447 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
1448 | engines: {node: '>=10.17.0'}
1449 | dev: true
1450 |
1451 | /husky/7.0.4:
1452 | resolution: {integrity: sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==}
1453 | engines: {node: '>=12'}
1454 | hasBin: true
1455 | dev: true
1456 |
1457 | /hyphenate-style-name/1.0.4:
1458 | resolution: {integrity: sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==}
1459 | dev: false
1460 |
1461 | /ignore/5.2.0:
1462 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==}
1463 | engines: {node: '>= 4'}
1464 | dev: true
1465 |
1466 | /import-fresh/3.3.0:
1467 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1468 | engines: {node: '>=6'}
1469 | dependencies:
1470 | parent-module: 1.0.1
1471 | resolve-from: 4.0.0
1472 | dev: true
1473 |
1474 | /import-from/4.0.0:
1475 | resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==}
1476 | engines: {node: '>=12.2'}
1477 | dev: true
1478 |
1479 | /indent-string/4.0.0:
1480 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
1481 | engines: {node: '>=8'}
1482 | dev: true
1483 |
1484 | /inflight/1.0.6:
1485 | resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=}
1486 | dependencies:
1487 | once: 1.4.0
1488 | wrappy: 1.0.2
1489 | dev: true
1490 |
1491 | /inherits/2.0.4:
1492 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1493 | dev: true
1494 |
1495 | /ini/1.3.8:
1496 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
1497 | dev: true
1498 |
1499 | /inline-style-prefixer/6.0.1:
1500 | resolution: {integrity: sha512-AsqazZ8KcRzJ9YPN1wMH2aNM7lkWQ8tSPrW5uDk1ziYwiAPWSZnUsC7lfZq+BDqLqz0B4Pho5wscWcJzVvRzDQ==}
1501 | dependencies:
1502 | css-in-js-utils: 2.0.1
1503 | dev: false
1504 |
1505 | /into-stream/6.0.0:
1506 | resolution: {integrity: sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==}
1507 | engines: {node: '>=10'}
1508 | dependencies:
1509 | from2: 2.3.0
1510 | p-is-promise: 3.0.0
1511 | dev: true
1512 |
1513 | /is-arrayish/0.2.1:
1514 | resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=}
1515 | dev: true
1516 |
1517 | /is-ci/3.0.1:
1518 | resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==}
1519 | hasBin: true
1520 | dependencies:
1521 | ci-info: 3.3.0
1522 | dev: true
1523 |
1524 | /is-core-module/2.8.0:
1525 | resolution: {integrity: sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==}
1526 | dependencies:
1527 | has: 1.0.3
1528 | dev: true
1529 |
1530 | /is-extglob/2.1.1:
1531 | resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=}
1532 | engines: {node: '>=0.10.0'}
1533 | dev: true
1534 |
1535 | /is-fullwidth-code-point/3.0.0:
1536 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
1537 | engines: {node: '>=8'}
1538 | dev: true
1539 |
1540 | /is-glob/4.0.3:
1541 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1542 | engines: {node: '>=0.10.0'}
1543 | dependencies:
1544 | is-extglob: 2.1.1
1545 | dev: true
1546 |
1547 | /is-number/7.0.0:
1548 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1549 | engines: {node: '>=0.12.0'}
1550 | dev: true
1551 |
1552 | /is-obj/2.0.0:
1553 | resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
1554 | engines: {node: '>=8'}
1555 | dev: true
1556 |
1557 | /is-path-cwd/2.2.0:
1558 | resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==}
1559 | engines: {node: '>=6'}
1560 | dev: true
1561 |
1562 | /is-path-inside/3.0.3:
1563 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
1564 | engines: {node: '>=8'}
1565 | dev: true
1566 |
1567 | /is-plain-obj/1.1.0:
1568 | resolution: {integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=}
1569 | engines: {node: '>=0.10.0'}
1570 | dev: true
1571 |
1572 | /is-plain-object/5.0.0:
1573 | resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
1574 | engines: {node: '>=0.10.0'}
1575 | dev: true
1576 |
1577 | /is-stream/2.0.1:
1578 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
1579 | engines: {node: '>=8'}
1580 | dev: true
1581 |
1582 | /is-text-path/1.0.1:
1583 | resolution: {integrity: sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=}
1584 | engines: {node: '>=0.10.0'}
1585 | dependencies:
1586 | text-extensions: 1.9.0
1587 | dev: true
1588 |
1589 | /isarray/1.0.0:
1590 | resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=}
1591 | dev: true
1592 |
1593 | /isexe/2.0.0:
1594 | resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=}
1595 | dev: true
1596 |
1597 | /isobject/3.0.1:
1598 | resolution: {integrity: sha1-TkMekrEalzFjaqH5yNHMvP2reN8=}
1599 | engines: {node: '>=0.10.0'}
1600 | dev: false
1601 |
1602 | /issue-parser/6.0.0:
1603 | resolution: {integrity: sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==}
1604 | engines: {node: '>=10.13'}
1605 | dependencies:
1606 | lodash.capitalize: 4.2.1
1607 | lodash.escaperegexp: 4.1.2
1608 | lodash.isplainobject: 4.0.6
1609 | lodash.isstring: 4.0.1
1610 | lodash.uniqby: 4.7.0
1611 | dev: true
1612 |
1613 | /istanbul-lib-coverage/3.2.0:
1614 | resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==}
1615 | engines: {node: '>=8'}
1616 | dev: true
1617 |
1618 | /istanbul-lib-report/3.0.0:
1619 | resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==}
1620 | engines: {node: '>=8'}
1621 | dependencies:
1622 | istanbul-lib-coverage: 3.2.0
1623 | make-dir: 3.1.0
1624 | supports-color: 7.2.0
1625 | dev: true
1626 |
1627 | /istanbul-reports/3.1.1:
1628 | resolution: {integrity: sha512-q1kvhAXWSsXfMjCdNHNPKZZv94OlspKnoGv+R9RGbnqOOQ0VbNfLFgQDVgi7hHenKsndGq3/o0OBdzDXthWcNw==}
1629 | engines: {node: '>=8'}
1630 | dependencies:
1631 | html-escaper: 2.0.2
1632 | istanbul-lib-report: 3.0.0
1633 | dev: true
1634 |
1635 | /java-properties/1.0.2:
1636 | resolution: {integrity: sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==}
1637 | engines: {node: '>= 0.6.0'}
1638 | dev: true
1639 |
1640 | /js-tokens/4.0.0:
1641 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1642 | dev: true
1643 |
1644 | /json-parse-better-errors/1.0.2:
1645 | resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==}
1646 | dev: true
1647 |
1648 | /json-parse-even-better-errors/2.3.1:
1649 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
1650 | dev: true
1651 |
1652 | /json-stringify-safe/5.0.1:
1653 | resolution: {integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=}
1654 | dev: true
1655 |
1656 | /jsonc-parser/3.0.0:
1657 | resolution: {integrity: sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==}
1658 | dev: true
1659 |
1660 | /jsonfile/6.1.0:
1661 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
1662 | dependencies:
1663 | universalify: 2.0.0
1664 | optionalDependencies:
1665 | graceful-fs: 4.2.8
1666 | dev: true
1667 |
1668 | /jsonparse/1.3.1:
1669 | resolution: {integrity: sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=}
1670 | engines: {'0': node >= 0.2.0}
1671 | dev: true
1672 |
1673 | /kind-of/6.0.3:
1674 | resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
1675 | engines: {node: '>=0.10.0'}
1676 | dev: true
1677 |
1678 | /kleur/4.1.4:
1679 | resolution: {integrity: sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==}
1680 | engines: {node: '>=6'}
1681 | dev: true
1682 |
1683 | /lines-and-columns/1.2.4:
1684 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
1685 | dev: true
1686 |
1687 | /load-json-file/4.0.0:
1688 | resolution: {integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=}
1689 | engines: {node: '>=4'}
1690 | dependencies:
1691 | graceful-fs: 4.2.8
1692 | parse-json: 4.0.0
1693 | pify: 3.0.0
1694 | strip-bom: 3.0.0
1695 | dev: true
1696 |
1697 | /locate-path/2.0.0:
1698 | resolution: {integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=}
1699 | engines: {node: '>=4'}
1700 | dependencies:
1701 | p-locate: 2.0.0
1702 | path-exists: 3.0.0
1703 | dev: true
1704 |
1705 | /locate-path/5.0.0:
1706 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
1707 | engines: {node: '>=8'}
1708 | dependencies:
1709 | p-locate: 4.1.0
1710 | dev: true
1711 |
1712 | /locate-path/6.0.0:
1713 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1714 | engines: {node: '>=10'}
1715 | dependencies:
1716 | p-locate: 5.0.0
1717 | dev: true
1718 |
1719 | /lodash.capitalize/4.2.1:
1720 | resolution: {integrity: sha1-+CbJtOKoUR2E46yinbBeGk87cqk=}
1721 | dev: true
1722 |
1723 | /lodash.escaperegexp/4.1.2:
1724 | resolution: {integrity: sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=}
1725 | dev: true
1726 |
1727 | /lodash.get/4.4.2:
1728 | resolution: {integrity: sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=}
1729 | dev: true
1730 |
1731 | /lodash.ismatch/4.4.0:
1732 | resolution: {integrity: sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=}
1733 | dev: true
1734 |
1735 | /lodash.isplainobject/4.0.6:
1736 | resolution: {integrity: sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=}
1737 | dev: true
1738 |
1739 | /lodash.isstring/4.0.1:
1740 | resolution: {integrity: sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=}
1741 | dev: true
1742 |
1743 | /lodash.uniqby/4.7.0:
1744 | resolution: {integrity: sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI=}
1745 | dev: true
1746 |
1747 | /lodash/4.17.21:
1748 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
1749 | dev: true
1750 |
1751 | /lru-cache/6.0.0:
1752 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
1753 | engines: {node: '>=10'}
1754 | dependencies:
1755 | yallist: 4.0.0
1756 | dev: true
1757 |
1758 | /make-dir/3.1.0:
1759 | resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
1760 | engines: {node: '>=8'}
1761 | dependencies:
1762 | semver: 6.3.0
1763 | dev: true
1764 |
1765 | /make-error/1.3.6:
1766 | resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
1767 | dev: true
1768 |
1769 | /map-obj/1.0.1:
1770 | resolution: {integrity: sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=}
1771 | engines: {node: '>=0.10.0'}
1772 | dev: true
1773 |
1774 | /map-obj/4.3.0:
1775 | resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==}
1776 | engines: {node: '>=8'}
1777 | dev: true
1778 |
1779 | /marked-terminal/4.2.0_marked@2.1.3:
1780 | resolution: {integrity: sha512-DQfNRV9svZf0Dm9Cf5x5xaVJ1+XjxQW6XjFJ5HFkVyK52SDpj5PCBzS5X5r2w9nHr3mlB0T5201UMLue9fmhUw==}
1781 | peerDependencies:
1782 | marked: ^1.0.0 || ^2.0.0
1783 | dependencies:
1784 | ansi-escapes: 4.3.2
1785 | cardinal: 2.1.1
1786 | chalk: 4.1.2
1787 | cli-table3: 0.6.0
1788 | marked: 2.1.3
1789 | node-emoji: 1.11.0
1790 | supports-hyperlinks: 2.2.0
1791 | dev: true
1792 |
1793 | /marked/2.1.3:
1794 | resolution: {integrity: sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==}
1795 | engines: {node: '>= 10'}
1796 | hasBin: true
1797 | dev: true
1798 |
1799 | /mdn-data/2.0.14:
1800 | resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
1801 | dev: false
1802 |
1803 | /meow/8.1.2:
1804 | resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==}
1805 | engines: {node: '>=10'}
1806 | dependencies:
1807 | '@types/minimist': 1.2.2
1808 | camelcase-keys: 6.2.2
1809 | decamelize-keys: 1.1.0
1810 | hard-rejection: 2.1.0
1811 | minimist-options: 4.1.0
1812 | normalize-package-data: 3.0.3
1813 | read-pkg-up: 7.0.1
1814 | redent: 3.0.0
1815 | trim-newlines: 3.0.1
1816 | type-fest: 0.18.1
1817 | yargs-parser: 20.2.9
1818 | dev: true
1819 |
1820 | /merge-stream/2.0.0:
1821 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
1822 | dev: true
1823 |
1824 | /merge2/1.4.1:
1825 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1826 | engines: {node: '>= 8'}
1827 | dev: true
1828 |
1829 | /micromatch/4.0.4:
1830 | resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==}
1831 | engines: {node: '>=8.6'}
1832 | dependencies:
1833 | braces: 3.0.2
1834 | picomatch: 2.3.0
1835 | dev: true
1836 |
1837 | /mime/3.0.0:
1838 | resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
1839 | engines: {node: '>=10.0.0'}
1840 | hasBin: true
1841 | dev: true
1842 |
1843 | /mimic-fn/2.1.0:
1844 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
1845 | engines: {node: '>=6'}
1846 | dev: true
1847 |
1848 | /min-indent/1.0.1:
1849 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
1850 | engines: {node: '>=4'}
1851 | dev: true
1852 |
1853 | /minimatch/3.0.4:
1854 | resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==}
1855 | dependencies:
1856 | brace-expansion: 1.1.11
1857 | dev: true
1858 |
1859 | /minimist-options/4.1.0:
1860 | resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==}
1861 | engines: {node: '>= 6'}
1862 | dependencies:
1863 | arrify: 1.0.1
1864 | is-plain-obj: 1.1.0
1865 | kind-of: 6.0.3
1866 | dev: true
1867 |
1868 | /minimist/1.2.5:
1869 | resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==}
1870 | dev: true
1871 |
1872 | /modify-values/1.0.1:
1873 | resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==}
1874 | engines: {node: '>=0.10.0'}
1875 | dev: true
1876 |
1877 | /mri/1.2.0:
1878 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
1879 | engines: {node: '>=4'}
1880 | dev: true
1881 |
1882 | /ms/2.1.2:
1883 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1884 | dev: true
1885 |
1886 | /nano-css/5.3.4:
1887 | resolution: {integrity: sha512-wfcviJB6NOxDIDfr7RFn/GlaN7I/Bhe4d39ZRCJ3xvZX60LVe2qZ+rDqM49nm4YT81gAjzS+ZklhKP/Gnfnubg==}
1888 | peerDependencies:
1889 | react: '*'
1890 | react-dom: '*'
1891 | dependencies:
1892 | css-tree: 1.1.3
1893 | csstype: 3.0.10
1894 | fastest-stable-stringify: 2.0.2
1895 | inline-style-prefixer: 6.0.1
1896 | rtl-css-js: 1.15.0
1897 | sourcemap-codec: 1.4.8
1898 | stacktrace-js: 2.0.2
1899 | stylis: 4.0.13
1900 | dev: false
1901 |
1902 | /neo-async/2.6.2:
1903 | resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
1904 | dev: true
1905 |
1906 | /nerf-dart/1.0.0:
1907 | resolution: {integrity: sha1-5tq3/r9a2Bbqgc9cYpxaDr3nLBo=}
1908 | dev: true
1909 |
1910 | /node-emoji/1.11.0:
1911 | resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==}
1912 | dependencies:
1913 | lodash: 4.17.21
1914 | dev: true
1915 |
1916 | /node-fetch/2.6.6:
1917 | resolution: {integrity: sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==}
1918 | engines: {node: 4.x || >=6.0.0}
1919 | dependencies:
1920 | whatwg-url: 5.0.0
1921 | dev: true
1922 |
1923 | /normalize-package-data/2.5.0:
1924 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
1925 | dependencies:
1926 | hosted-git-info: 2.8.9
1927 | resolve: 1.20.0
1928 | semver: 5.7.1
1929 | validate-npm-package-license: 3.0.4
1930 | dev: true
1931 |
1932 | /normalize-package-data/3.0.3:
1933 | resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==}
1934 | engines: {node: '>=10'}
1935 | dependencies:
1936 | hosted-git-info: 4.0.2
1937 | is-core-module: 2.8.0
1938 | semver: 7.3.5
1939 | validate-npm-package-license: 3.0.4
1940 | dev: true
1941 |
1942 | /normalize-url/6.1.0:
1943 | resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
1944 | engines: {node: '>=10'}
1945 | dev: true
1946 |
1947 | /npm-run-path/4.0.1:
1948 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
1949 | engines: {node: '>=8'}
1950 | dependencies:
1951 | path-key: 3.1.1
1952 | dev: true
1953 |
1954 | /npm/7.24.2:
1955 | resolution: {integrity: sha512-120p116CE8VMMZ+hk8IAb1inCPk4Dj3VZw29/n2g6UI77urJKVYb7FZUDW8hY+EBnfsjI/2yrobBgFyzo7YpVQ==}
1956 | engines: {node: '>=10'}
1957 | hasBin: true
1958 | dev: true
1959 | bundledDependencies:
1960 | - '@isaacs/string-locale-compare'
1961 | - '@npmcli/arborist'
1962 | - '@npmcli/ci-detect'
1963 | - '@npmcli/config'
1964 | - '@npmcli/map-workspaces'
1965 | - '@npmcli/package-json'
1966 | - '@npmcli/run-script'
1967 | - abbrev
1968 | - ansicolors
1969 | - ansistyles
1970 | - archy
1971 | - cacache
1972 | - chalk
1973 | - chownr
1974 | - cli-columns
1975 | - cli-table3
1976 | - columnify
1977 | - fastest-levenshtein
1978 | - glob
1979 | - graceful-fs
1980 | - hosted-git-info
1981 | - ini
1982 | - init-package-json
1983 | - is-cidr
1984 | - json-parse-even-better-errors
1985 | - libnpmaccess
1986 | - libnpmdiff
1987 | - libnpmexec
1988 | - libnpmfund
1989 | - libnpmhook
1990 | - libnpmorg
1991 | - libnpmpack
1992 | - libnpmpublish
1993 | - libnpmsearch
1994 | - libnpmteam
1995 | - libnpmversion
1996 | - make-fetch-happen
1997 | - minipass
1998 | - minipass-pipeline
1999 | - mkdirp
2000 | - mkdirp-infer-owner
2001 | - ms
2002 | - node-gyp
2003 | - nopt
2004 | - npm-audit-report
2005 | - npm-install-checks
2006 | - npm-package-arg
2007 | - npm-pick-manifest
2008 | - npm-profile
2009 | - npm-registry-fetch
2010 | - npm-user-validate
2011 | - npmlog
2012 | - opener
2013 | - pacote
2014 | - parse-conflict-json
2015 | - qrcode-terminal
2016 | - read
2017 | - read-package-json
2018 | - read-package-json-fast
2019 | - readdir-scoped-modules
2020 | - rimraf
2021 | - semver
2022 | - ssri
2023 | - tar
2024 | - text-table
2025 | - tiny-relative-date
2026 | - treeverse
2027 | - validate-npm-package-name
2028 | - which
2029 | - write-file-atomic
2030 |
2031 | /object-assign/4.1.1:
2032 | resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=}
2033 | engines: {node: '>=0.10.0'}
2034 | dev: true
2035 |
2036 | /once/1.4.0:
2037 | resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=}
2038 | dependencies:
2039 | wrappy: 1.0.2
2040 | dev: true
2041 |
2042 | /onetime/5.1.2:
2043 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
2044 | engines: {node: '>=6'}
2045 | dependencies:
2046 | mimic-fn: 2.1.0
2047 | dev: true
2048 |
2049 | /p-each-series/2.2.0:
2050 | resolution: {integrity: sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==}
2051 | engines: {node: '>=8'}
2052 | dev: true
2053 |
2054 | /p-filter/2.1.0:
2055 | resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==}
2056 | engines: {node: '>=8'}
2057 | dependencies:
2058 | p-map: 2.1.0
2059 | dev: true
2060 |
2061 | /p-is-promise/3.0.0:
2062 | resolution: {integrity: sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==}
2063 | engines: {node: '>=8'}
2064 | dev: true
2065 |
2066 | /p-limit/1.3.0:
2067 | resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==}
2068 | engines: {node: '>=4'}
2069 | dependencies:
2070 | p-try: 1.0.0
2071 | dev: true
2072 |
2073 | /p-limit/2.3.0:
2074 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
2075 | engines: {node: '>=6'}
2076 | dependencies:
2077 | p-try: 2.2.0
2078 | dev: true
2079 |
2080 | /p-limit/3.1.0:
2081 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
2082 | engines: {node: '>=10'}
2083 | dependencies:
2084 | yocto-queue: 0.1.0
2085 | dev: true
2086 |
2087 | /p-locate/2.0.0:
2088 | resolution: {integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=}
2089 | engines: {node: '>=4'}
2090 | dependencies:
2091 | p-limit: 1.3.0
2092 | dev: true
2093 |
2094 | /p-locate/4.1.0:
2095 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
2096 | engines: {node: '>=8'}
2097 | dependencies:
2098 | p-limit: 2.3.0
2099 | dev: true
2100 |
2101 | /p-locate/5.0.0:
2102 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
2103 | engines: {node: '>=10'}
2104 | dependencies:
2105 | p-limit: 3.1.0
2106 | dev: true
2107 |
2108 | /p-map/2.1.0:
2109 | resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==}
2110 | engines: {node: '>=6'}
2111 | dev: true
2112 |
2113 | /p-map/4.0.0:
2114 | resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
2115 | engines: {node: '>=10'}
2116 | dependencies:
2117 | aggregate-error: 3.1.0
2118 | dev: true
2119 |
2120 | /p-reduce/2.1.0:
2121 | resolution: {integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==}
2122 | engines: {node: '>=8'}
2123 | dev: true
2124 |
2125 | /p-retry/4.6.1:
2126 | resolution: {integrity: sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==}
2127 | engines: {node: '>=8'}
2128 | dependencies:
2129 | '@types/retry': 0.12.1
2130 | retry: 0.13.1
2131 | dev: true
2132 |
2133 | /p-try/1.0.0:
2134 | resolution: {integrity: sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=}
2135 | engines: {node: '>=4'}
2136 | dev: true
2137 |
2138 | /p-try/2.2.0:
2139 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
2140 | engines: {node: '>=6'}
2141 | dev: true
2142 |
2143 | /parent-module/1.0.1:
2144 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
2145 | engines: {node: '>=6'}
2146 | dependencies:
2147 | callsites: 3.1.0
2148 | dev: true
2149 |
2150 | /parse-json/4.0.0:
2151 | resolution: {integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=}
2152 | engines: {node: '>=4'}
2153 | dependencies:
2154 | error-ex: 1.3.2
2155 | json-parse-better-errors: 1.0.2
2156 | dev: true
2157 |
2158 | /parse-json/5.2.0:
2159 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
2160 | engines: {node: '>=8'}
2161 | dependencies:
2162 | '@babel/code-frame': 7.16.0
2163 | error-ex: 1.3.2
2164 | json-parse-even-better-errors: 2.3.1
2165 | lines-and-columns: 1.2.4
2166 | dev: true
2167 |
2168 | /path-exists/3.0.0:
2169 | resolution: {integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=}
2170 | engines: {node: '>=4'}
2171 | dev: true
2172 |
2173 | /path-exists/4.0.0:
2174 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
2175 | engines: {node: '>=8'}
2176 | dev: true
2177 |
2178 | /path-is-absolute/1.0.1:
2179 | resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=}
2180 | engines: {node: '>=0.10.0'}
2181 | dev: true
2182 |
2183 | /path-key/3.1.1:
2184 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
2185 | engines: {node: '>=8'}
2186 | dev: true
2187 |
2188 | /path-parse/1.0.7:
2189 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
2190 | dev: true
2191 |
2192 | /path-type/4.0.0:
2193 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
2194 | engines: {node: '>=8'}
2195 | dev: true
2196 |
2197 | /picomatch/2.3.0:
2198 | resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==}
2199 | engines: {node: '>=8.6'}
2200 | dev: true
2201 |
2202 | /pify/3.0.0:
2203 | resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=}
2204 | engines: {node: '>=4'}
2205 | dev: true
2206 |
2207 | /pkg-conf/2.1.0:
2208 | resolution: {integrity: sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=}
2209 | engines: {node: '>=4'}
2210 | dependencies:
2211 | find-up: 2.1.0
2212 | load-json-file: 4.0.0
2213 | dev: true
2214 |
2215 | /prettier/2.5.1:
2216 | resolution: {integrity: sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==}
2217 | engines: {node: '>=10.13.0'}
2218 | hasBin: true
2219 | dev: true
2220 |
2221 | /process-nextick-args/2.0.1:
2222 | resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
2223 | dev: true
2224 |
2225 | /q/1.5.1:
2226 | resolution: {integrity: sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=}
2227 | engines: {node: '>=0.6.0', teleport: '>=0.2.0'}
2228 | dev: true
2229 |
2230 | /queue-microtask/1.2.3:
2231 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
2232 | dev: true
2233 |
2234 | /quick-lru/4.0.1:
2235 | resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==}
2236 | engines: {node: '>=8'}
2237 | dev: true
2238 |
2239 | /rc/1.2.8:
2240 | resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
2241 | hasBin: true
2242 | dependencies:
2243 | deep-extend: 0.6.0
2244 | ini: 1.3.8
2245 | minimist: 1.2.5
2246 | strip-json-comments: 2.0.1
2247 | dev: true
2248 |
2249 | /read-pkg-up/7.0.1:
2250 | resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
2251 | engines: {node: '>=8'}
2252 | dependencies:
2253 | find-up: 4.1.0
2254 | read-pkg: 5.2.0
2255 | type-fest: 0.8.1
2256 | dev: true
2257 |
2258 | /read-pkg/5.2.0:
2259 | resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
2260 | engines: {node: '>=8'}
2261 | dependencies:
2262 | '@types/normalize-package-data': 2.4.1
2263 | normalize-package-data: 2.5.0
2264 | parse-json: 5.2.0
2265 | type-fest: 0.6.0
2266 | dev: true
2267 |
2268 | /readable-stream/2.3.7:
2269 | resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==}
2270 | dependencies:
2271 | core-util-is: 1.0.3
2272 | inherits: 2.0.4
2273 | isarray: 1.0.0
2274 | process-nextick-args: 2.0.1
2275 | safe-buffer: 5.1.2
2276 | string_decoder: 1.1.1
2277 | util-deprecate: 1.0.2
2278 | dev: true
2279 |
2280 | /readable-stream/3.6.0:
2281 | resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==}
2282 | engines: {node: '>= 6'}
2283 | dependencies:
2284 | inherits: 2.0.4
2285 | string_decoder: 1.3.0
2286 | util-deprecate: 1.0.2
2287 | dev: true
2288 |
2289 | /redent/3.0.0:
2290 | resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
2291 | engines: {node: '>=8'}
2292 | dependencies:
2293 | indent-string: 4.0.0
2294 | strip-indent: 3.0.0
2295 | dev: true
2296 |
2297 | /redeyed/2.1.1:
2298 | resolution: {integrity: sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=}
2299 | dependencies:
2300 | esprima: 4.0.1
2301 | dev: true
2302 |
2303 | /regenerator-runtime/0.13.9:
2304 | resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==}
2305 | dev: false
2306 |
2307 | /registry-auth-token/4.2.1:
2308 | resolution: {integrity: sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==}
2309 | engines: {node: '>=6.0.0'}
2310 | dependencies:
2311 | rc: 1.2.8
2312 | dev: true
2313 |
2314 | /require-directory/2.1.1:
2315 | resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=}
2316 | engines: {node: '>=0.10.0'}
2317 | dev: true
2318 |
2319 | /resolve-from/4.0.0:
2320 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
2321 | engines: {node: '>=4'}
2322 | dev: true
2323 |
2324 | /resolve-from/5.0.0:
2325 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
2326 | engines: {node: '>=8'}
2327 | dev: true
2328 |
2329 | /resolve-global/1.0.0:
2330 | resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==}
2331 | engines: {node: '>=8'}
2332 | dependencies:
2333 | global-dirs: 0.1.1
2334 | dev: true
2335 |
2336 | /resolve/1.20.0:
2337 | resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==}
2338 | dependencies:
2339 | is-core-module: 2.8.0
2340 | path-parse: 1.0.7
2341 | dev: true
2342 |
2343 | /retry/0.13.1:
2344 | resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
2345 | engines: {node: '>= 4'}
2346 | dev: true
2347 |
2348 | /reusify/1.0.4:
2349 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
2350 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
2351 | dev: true
2352 |
2353 | /rimraf/3.0.2:
2354 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
2355 | hasBin: true
2356 | dependencies:
2357 | glob: 7.2.0
2358 | dev: true
2359 |
2360 | /rtl-css-js/1.15.0:
2361 | resolution: {integrity: sha512-99Cu4wNNIhrI10xxUaABHsdDqzalrSRTie4GeCmbGVuehm4oj+fIy8fTzB+16pmKe8Bv9rl+hxIBez6KxExTew==}
2362 | dependencies:
2363 | '@babel/runtime': 7.16.5
2364 | dev: false
2365 |
2366 | /run-parallel/1.2.0:
2367 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
2368 | dependencies:
2369 | queue-microtask: 1.2.3
2370 | dev: true
2371 |
2372 | /sade/1.7.4:
2373 | resolution: {integrity: sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==}
2374 | engines: {node: '>= 6'}
2375 | dependencies:
2376 | mri: 1.2.0
2377 | dev: true
2378 |
2379 | /safe-buffer/5.1.2:
2380 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
2381 | dev: true
2382 |
2383 | /safe-buffer/5.2.1:
2384 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
2385 | dev: true
2386 |
2387 | /semantic-release/18.0.1:
2388 | resolution: {integrity: sha512-xTdKCaEnCzHr+Fqyhg/5I8P9pvY9z7WHa8TFCYIwcdPbuzAtQShOTzw3VNPsqBT+Yq1kFyBQFBKBYkGOlqWmfA==}
2389 | engines: {node: '>=14.17'}
2390 | hasBin: true
2391 | dependencies:
2392 | '@semantic-release/commit-analyzer': 9.0.2_semantic-release@18.0.1
2393 | '@semantic-release/error': 3.0.0
2394 | '@semantic-release/github': 8.0.2_semantic-release@18.0.1
2395 | '@semantic-release/npm': 8.0.3_semantic-release@18.0.1
2396 | '@semantic-release/release-notes-generator': 10.0.3_semantic-release@18.0.1
2397 | aggregate-error: 3.1.0
2398 | cosmiconfig: 7.0.1
2399 | debug: 4.3.3
2400 | env-ci: 5.5.0
2401 | execa: 5.1.1
2402 | figures: 3.2.0
2403 | find-versions: 4.0.0
2404 | get-stream: 6.0.1
2405 | git-log-parser: 1.2.0
2406 | hook-std: 2.0.0
2407 | hosted-git-info: 4.0.2
2408 | lodash: 4.17.21
2409 | marked: 2.1.3
2410 | marked-terminal: 4.2.0_marked@2.1.3
2411 | micromatch: 4.0.4
2412 | p-each-series: 2.2.0
2413 | p-reduce: 2.1.0
2414 | read-pkg-up: 7.0.1
2415 | resolve-from: 5.0.0
2416 | semver: 7.3.5
2417 | semver-diff: 3.1.1
2418 | signale: 1.4.0
2419 | yargs: 16.2.0
2420 | transitivePeerDependencies:
2421 | - supports-color
2422 | dev: true
2423 |
2424 | /semver-diff/3.1.1:
2425 | resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==}
2426 | engines: {node: '>=8'}
2427 | dependencies:
2428 | semver: 6.3.0
2429 | dev: true
2430 |
2431 | /semver-regex/3.1.3:
2432 | resolution: {integrity: sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ==}
2433 | engines: {node: '>=8'}
2434 | dev: true
2435 |
2436 | /semver/5.7.1:
2437 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
2438 | hasBin: true
2439 | dev: true
2440 |
2441 | /semver/6.3.0:
2442 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
2443 | hasBin: true
2444 | dev: true
2445 |
2446 | /semver/7.3.5:
2447 | resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==}
2448 | engines: {node: '>=10'}
2449 | hasBin: true
2450 | dependencies:
2451 | lru-cache: 6.0.0
2452 | dev: true
2453 |
2454 | /shebang-command/2.0.0:
2455 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
2456 | engines: {node: '>=8'}
2457 | dependencies:
2458 | shebang-regex: 3.0.0
2459 | dev: true
2460 |
2461 | /shebang-regex/3.0.0:
2462 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2463 | engines: {node: '>=8'}
2464 | dev: true
2465 |
2466 | /signal-exit/3.0.6:
2467 | resolution: {integrity: sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==}
2468 | dev: true
2469 |
2470 | /signale/1.4.0:
2471 | resolution: {integrity: sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==}
2472 | engines: {node: '>=6'}
2473 | dependencies:
2474 | chalk: 2.4.2
2475 | figures: 2.0.0
2476 | pkg-conf: 2.1.0
2477 | dev: true
2478 |
2479 | /slash/3.0.0:
2480 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
2481 | engines: {node: '>=8'}
2482 | dev: true
2483 |
2484 | /source-map-support/0.5.21:
2485 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
2486 | dependencies:
2487 | buffer-from: 1.1.2
2488 | source-map: 0.6.1
2489 | dev: true
2490 |
2491 | /source-map/0.5.6:
2492 | resolution: {integrity: sha1-dc449SvwczxafwwRjYEzSiu19BI=}
2493 | engines: {node: '>=0.10.0'}
2494 | dev: false
2495 |
2496 | /source-map/0.6.1:
2497 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
2498 | engines: {node: '>=0.10.0'}
2499 |
2500 | /source-map/0.7.3:
2501 | resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==}
2502 | engines: {node: '>= 8'}
2503 | dev: true
2504 |
2505 | /sourcemap-codec/1.4.8:
2506 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
2507 | dev: false
2508 |
2509 | /spawn-error-forwarder/1.0.0:
2510 | resolution: {integrity: sha1-Gv2Uc46ZmwNG17n8NzvlXgdXcCk=}
2511 | dev: true
2512 |
2513 | /spdx-correct/3.1.1:
2514 | resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==}
2515 | dependencies:
2516 | spdx-expression-parse: 3.0.1
2517 | spdx-license-ids: 3.0.11
2518 | dev: true
2519 |
2520 | /spdx-exceptions/2.3.0:
2521 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==}
2522 | dev: true
2523 |
2524 | /spdx-expression-parse/3.0.1:
2525 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
2526 | dependencies:
2527 | spdx-exceptions: 2.3.0
2528 | spdx-license-ids: 3.0.11
2529 | dev: true
2530 |
2531 | /spdx-license-ids/3.0.11:
2532 | resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==}
2533 | dev: true
2534 |
2535 | /split/1.0.1:
2536 | resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==}
2537 | dependencies:
2538 | through: 2.3.8
2539 | dev: true
2540 |
2541 | /split2/1.0.0:
2542 | resolution: {integrity: sha1-UuLiIdiMdfmnP5BVbiY/+WdysxQ=}
2543 | dependencies:
2544 | through2: 2.0.5
2545 | dev: true
2546 |
2547 | /split2/3.2.2:
2548 | resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==}
2549 | dependencies:
2550 | readable-stream: 3.6.0
2551 | dev: true
2552 |
2553 | /stack-generator/2.0.5:
2554 | resolution: {integrity: sha512-/t1ebrbHkrLrDuNMdeAcsvynWgoH/i4o8EGGfX7dEYDoTXOYVAkEpFdtshlvabzc6JlJ8Kf9YdFEoz7JkzGN9Q==}
2555 | dependencies:
2556 | stackframe: 1.2.0
2557 | dev: false
2558 |
2559 | /stackframe/1.2.0:
2560 | resolution: {integrity: sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==}
2561 | dev: false
2562 |
2563 | /stacktrace-gps/3.0.4:
2564 | resolution: {integrity: sha512-qIr8x41yZVSldqdqe6jciXEaSCKw1U8XTXpjDuy0ki/apyTn/r3w9hDAAQOhZdxvsC93H+WwwEu5cq5VemzYeg==}
2565 | dependencies:
2566 | source-map: 0.5.6
2567 | stackframe: 1.2.0
2568 | dev: false
2569 |
2570 | /stacktrace-js/2.0.2:
2571 | resolution: {integrity: sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==}
2572 | dependencies:
2573 | error-stack-parser: 2.0.6
2574 | stack-generator: 2.0.5
2575 | stacktrace-gps: 3.0.4
2576 | dev: false
2577 |
2578 | /stream-combiner2/1.1.1:
2579 | resolution: {integrity: sha1-+02KFCDqNidk4hrUeAOXvry0HL4=}
2580 | dependencies:
2581 | duplexer2: 0.1.4
2582 | readable-stream: 2.3.7
2583 | dev: true
2584 |
2585 | /string-width/4.2.3:
2586 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
2587 | engines: {node: '>=8'}
2588 | dependencies:
2589 | emoji-regex: 8.0.0
2590 | is-fullwidth-code-point: 3.0.0
2591 | strip-ansi: 6.0.1
2592 | dev: true
2593 |
2594 | /string_decoder/1.1.1:
2595 | resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
2596 | dependencies:
2597 | safe-buffer: 5.1.2
2598 | dev: true
2599 |
2600 | /string_decoder/1.3.0:
2601 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
2602 | dependencies:
2603 | safe-buffer: 5.2.1
2604 | dev: true
2605 |
2606 | /strip-ansi/6.0.1:
2607 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
2608 | engines: {node: '>=8'}
2609 | dependencies:
2610 | ansi-regex: 5.0.1
2611 | dev: true
2612 |
2613 | /strip-bom/3.0.0:
2614 | resolution: {integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=}
2615 | engines: {node: '>=4'}
2616 | dev: true
2617 |
2618 | /strip-final-newline/2.0.0:
2619 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
2620 | engines: {node: '>=6'}
2621 | dev: true
2622 |
2623 | /strip-indent/3.0.0:
2624 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
2625 | engines: {node: '>=8'}
2626 | dependencies:
2627 | min-indent: 1.0.1
2628 | dev: true
2629 |
2630 | /strip-json-comments/2.0.1:
2631 | resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=}
2632 | engines: {node: '>=0.10.0'}
2633 | dev: true
2634 |
2635 | /stylis/4.0.13:
2636 | resolution: {integrity: sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag==}
2637 | dev: false
2638 |
2639 | /supports-color/5.5.0:
2640 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
2641 | engines: {node: '>=4'}
2642 | dependencies:
2643 | has-flag: 3.0.0
2644 | dev: true
2645 |
2646 | /supports-color/7.2.0:
2647 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
2648 | engines: {node: '>=8'}
2649 | dependencies:
2650 | has-flag: 4.0.0
2651 | dev: true
2652 |
2653 | /supports-hyperlinks/2.2.0:
2654 | resolution: {integrity: sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==}
2655 | engines: {node: '>=8'}
2656 | dependencies:
2657 | has-flag: 4.0.0
2658 | supports-color: 7.2.0
2659 | dev: true
2660 |
2661 | /temp-dir/2.0.0:
2662 | resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==}
2663 | engines: {node: '>=8'}
2664 | dev: true
2665 |
2666 | /tempy/1.0.1:
2667 | resolution: {integrity: sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==}
2668 | engines: {node: '>=10'}
2669 | dependencies:
2670 | del: 6.0.0
2671 | is-stream: 2.0.1
2672 | temp-dir: 2.0.0
2673 | type-fest: 0.16.0
2674 | unique-string: 2.0.0
2675 | dev: true
2676 |
2677 | /test-exclude/6.0.0:
2678 | resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
2679 | engines: {node: '>=8'}
2680 | dependencies:
2681 | '@istanbuljs/schema': 0.1.3
2682 | glob: 7.2.0
2683 | minimatch: 3.0.4
2684 | dev: true
2685 |
2686 | /text-extensions/1.9.0:
2687 | resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==}
2688 | engines: {node: '>=0.10'}
2689 | dev: true
2690 |
2691 | /through/2.3.8:
2692 | resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=}
2693 | dev: true
2694 |
2695 | /through2/2.0.5:
2696 | resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
2697 | dependencies:
2698 | readable-stream: 2.3.7
2699 | xtend: 4.0.2
2700 | dev: true
2701 |
2702 | /through2/4.0.2:
2703 | resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==}
2704 | dependencies:
2705 | readable-stream: 3.6.0
2706 | dev: true
2707 |
2708 | /to-regex-range/5.0.1:
2709 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
2710 | engines: {node: '>=8.0'}
2711 | dependencies:
2712 | is-number: 7.0.0
2713 | dev: true
2714 |
2715 | /totalist/2.0.0:
2716 | resolution: {integrity: sha512-+Y17F0YzxfACxTyjfhnJQEe7afPA0GSpYlFkl2VFMxYP7jshQf9gXV7cH47EfToBumFThfKBvfAcoUn6fdNeRQ==}
2717 | engines: {node: '>=6'}
2718 | dev: true
2719 |
2720 | /tr46/0.0.3:
2721 | resolution: {integrity: sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=}
2722 | dev: true
2723 |
2724 | /traverse/0.6.6:
2725 | resolution: {integrity: sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=}
2726 | dev: true
2727 |
2728 | /trim-newlines/3.0.1:
2729 | resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==}
2730 | engines: {node: '>=8'}
2731 | dev: true
2732 |
2733 | /ts-node/9.1.1_typescript@4.5.4:
2734 | resolution: {integrity: sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==}
2735 | engines: {node: '>=10.0.0'}
2736 | hasBin: true
2737 | peerDependencies:
2738 | typescript: '>=2.7'
2739 | dependencies:
2740 | arg: 4.1.3
2741 | create-require: 1.1.1
2742 | diff: 4.0.2
2743 | make-error: 1.3.6
2744 | source-map-support: 0.5.21
2745 | typescript: 4.5.4
2746 | yn: 3.1.1
2747 | dev: true
2748 |
2749 | /tslib/2.3.1:
2750 | resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==}
2751 | dev: true
2752 |
2753 | /type-fest/0.16.0:
2754 | resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==}
2755 | engines: {node: '>=10'}
2756 | dev: true
2757 |
2758 | /type-fest/0.18.1:
2759 | resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==}
2760 | engines: {node: '>=10'}
2761 | dev: true
2762 |
2763 | /type-fest/0.21.3:
2764 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
2765 | engines: {node: '>=10'}
2766 | dev: true
2767 |
2768 | /type-fest/0.6.0:
2769 | resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
2770 | engines: {node: '>=8'}
2771 | dev: true
2772 |
2773 | /type-fest/0.8.1:
2774 | resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
2775 | engines: {node: '>=8'}
2776 | dev: true
2777 |
2778 | /typescript/4.5.4:
2779 | resolution: {integrity: sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==}
2780 | engines: {node: '>=4.2.0'}
2781 | hasBin: true
2782 | dev: true
2783 |
2784 | /uglify-js/3.14.5:
2785 | resolution: {integrity: sha512-qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==}
2786 | engines: {node: '>=0.8.0'}
2787 | hasBin: true
2788 | requiresBuild: true
2789 | dev: true
2790 | optional: true
2791 |
2792 | /unique-string/2.0.0:
2793 | resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
2794 | engines: {node: '>=8'}
2795 | dependencies:
2796 | crypto-random-string: 2.0.0
2797 | dev: true
2798 |
2799 | /universal-user-agent/6.0.0:
2800 | resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==}
2801 | dev: true
2802 |
2803 | /universalify/2.0.0:
2804 | resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
2805 | engines: {node: '>= 10.0.0'}
2806 | dev: true
2807 |
2808 | /url-join/4.0.1:
2809 | resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==}
2810 | dev: true
2811 |
2812 | /util-deprecate/1.0.2:
2813 | resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=}
2814 | dev: true
2815 |
2816 | /uvu/0.5.2:
2817 | resolution: {integrity: sha512-m2hLe7I2eROhh+tm3WE5cTo/Cv3WQA7Oc9f7JB6uWv+/zVKvfAm53bMyOoGOSZeQ7Ov2Fu9pLhFr7p07bnT20w==}
2818 | engines: {node: '>=8'}
2819 | hasBin: true
2820 | dependencies:
2821 | dequal: 2.0.2
2822 | diff: 5.0.0
2823 | kleur: 4.1.4
2824 | sade: 1.7.4
2825 | totalist: 2.0.0
2826 | dev: true
2827 |
2828 | /v8-to-istanbul/8.1.0:
2829 | resolution: {integrity: sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA==}
2830 | engines: {node: '>=10.12.0'}
2831 | dependencies:
2832 | '@types/istanbul-lib-coverage': 2.0.3
2833 | convert-source-map: 1.8.0
2834 | source-map: 0.7.3
2835 | dev: true
2836 |
2837 | /validate-npm-package-license/3.0.4:
2838 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
2839 | dependencies:
2840 | spdx-correct: 3.1.1
2841 | spdx-expression-parse: 3.0.1
2842 | dev: true
2843 |
2844 | /webidl-conversions/3.0.1:
2845 | resolution: {integrity: sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=}
2846 | dev: true
2847 |
2848 | /whatwg-url/5.0.0:
2849 | resolution: {integrity: sha1-lmRU6HZUYuN2RNNib2dCzotwll0=}
2850 | dependencies:
2851 | tr46: 0.0.3
2852 | webidl-conversions: 3.0.1
2853 | dev: true
2854 |
2855 | /which/2.0.2:
2856 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2857 | engines: {node: '>= 8'}
2858 | hasBin: true
2859 | dependencies:
2860 | isexe: 2.0.0
2861 | dev: true
2862 |
2863 | /wordwrap/1.0.0:
2864 | resolution: {integrity: sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=}
2865 | dev: true
2866 |
2867 | /wrap-ansi/7.0.0:
2868 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
2869 | engines: {node: '>=10'}
2870 | dependencies:
2871 | ansi-styles: 4.3.0
2872 | string-width: 4.2.3
2873 | strip-ansi: 6.0.1
2874 | dev: true
2875 |
2876 | /wrappy/1.0.2:
2877 | resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=}
2878 | dev: true
2879 |
2880 | /xtend/4.0.2:
2881 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
2882 | engines: {node: '>=0.4'}
2883 | dev: true
2884 |
2885 | /y18n/5.0.8:
2886 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
2887 | engines: {node: '>=10'}
2888 | dev: true
2889 |
2890 | /yallist/4.0.0:
2891 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
2892 | dev: true
2893 |
2894 | /yaml/1.10.2:
2895 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
2896 | engines: {node: '>= 6'}
2897 | dev: true
2898 |
2899 | /yargs-parser/20.2.9:
2900 | resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
2901 | engines: {node: '>=10'}
2902 | dev: true
2903 |
2904 | /yargs-parser/21.0.0:
2905 | resolution: {integrity: sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==}
2906 | engines: {node: '>=12'}
2907 | dev: true
2908 |
2909 | /yargs/16.2.0:
2910 | resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
2911 | engines: {node: '>=10'}
2912 | dependencies:
2913 | cliui: 7.0.4
2914 | escalade: 3.1.1
2915 | get-caller-file: 2.0.5
2916 | require-directory: 2.1.1
2917 | string-width: 4.2.3
2918 | y18n: 5.0.8
2919 | yargs-parser: 20.2.9
2920 | dev: true
2921 |
2922 | /yargs/17.3.0:
2923 | resolution: {integrity: sha512-GQl1pWyDoGptFPJx9b9L6kmR33TGusZvXIZUT+BOz9f7X2L94oeAskFYLEg/FkhV06zZPBYLvLZRWeYId29lew==}
2924 | engines: {node: '>=12'}
2925 | dependencies:
2926 | cliui: 7.0.4
2927 | escalade: 3.1.1
2928 | get-caller-file: 2.0.5
2929 | require-directory: 2.1.1
2930 | string-width: 4.2.3
2931 | y18n: 5.0.8
2932 | yargs-parser: 21.0.0
2933 | dev: true
2934 |
2935 | /yn/3.1.1:
2936 | resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
2937 | engines: {node: '>=6'}
2938 | dev: true
2939 |
2940 | /yocto-queue/0.1.0:
2941 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2942 | engines: {node: '>=10'}
2943 | dev: true
2944 |
--------------------------------------------------------------------------------
/release.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | branches: ['main', { name: 'beta', prerelease: true }, { name: 'alpha', prerelease: true }],
3 | plugins: [
4 | '@semantic-release/commit-analyzer',
5 | '@semantic-release/release-notes-generator',
6 | '@semantic-release/npm',
7 | '@semantic-release/github',
8 | '@semantic-release/git',
9 | ],
10 | }
11 |
--------------------------------------------------------------------------------
/scripts/build.js:
--------------------------------------------------------------------------------
1 | const path = require('path')
2 |
3 | const pkg = require('../package.json')
4 |
5 | require('esbuild').buildSync({
6 | entryPoints: ['lib/index.ts', 'lib/presets.ts'],
7 | outdir: path.join(__dirname, '../'),
8 | bundle: true,
9 | minify: true,
10 | platform: 'node',
11 | target: 'es5',
12 | external: Object.keys(pkg.dependencies),
13 | logLevel: 'info',
14 | })
15 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "include": ["lib/index.ts", "lib/presets.ts"],
3 | "exclude": ["node_modules"],
4 | "compilerOptions": {
5 | "lib": ["ES5", "dom"],
6 | "target": "ES5",
7 | "declaration": true,
8 | "declarationDir": "./",
9 | "esModuleInterop": true
10 | }
11 | }
12 |
--------------------------------------------------------------------------------