mirror of
https://github.com/penpot/penpot-export.git
synced 2025-01-02 04:40:05 -05:00
Initial commit
This commit is contained in:
commit
9eed1481ce
22 changed files with 1085 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
node_modules/
|
130
README.md
Normal file
130
README.md
Normal file
|
@ -0,0 +1,130 @@
|
|||
# penpot-css-export
|
||||
|
||||
## Description
|
||||
|
||||
`penpot-css-export` is an npm tool designed to export your design components created in Penpot directly to CSS files. With a simple `pce` command, you can convert your designs into ready-to-use CSS classes.
|
||||
|
||||
## Installation
|
||||
|
||||
To install `penpot-css-export`, simply run:
|
||||
|
||||
```bash
|
||||
# npm
|
||||
npm install penpot-css-export --save-dev
|
||||
|
||||
# yarn
|
||||
yarn add penpot-css-export
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
Before you can use `penpot-css-export`, you need to set up a [`penpot-css-export.config.js`](./packages/demo/penpot-css-export.config.js) file at the root of your project. This file defines how your Penpot designs will be exported.
|
||||
|
||||
Configuration example:
|
||||
|
||||
```js
|
||||
require('dotenv').config()
|
||||
|
||||
/**
|
||||
* @type {import('penpot-css-export').Config}
|
||||
*/
|
||||
const config = {
|
||||
accessToken: process.env.PENPOT_ACCESS_TOKEN,
|
||||
pages: [
|
||||
{
|
||||
output: 'src/styles/ui.css', // 👈🏻 Path where your css should be generated.
|
||||
fileId: '71b1702b-2eb1-81d6-8002-f82a5f182087',
|
||||
pageId: '71b1702b-2eb1-81d6-8002-f82a5f182088',
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
module.exports = config
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Once you've set up the `penpot-css-export.config.js` file, simply run the following command to generate your CSS files:
|
||||
|
||||
```bash
|
||||
pce
|
||||
```
|
||||
|
||||
This will read your Penpot designs and generate CSS files in the directory specified in your configuration file.
|
||||
|
||||
Based in the example a css file like this will be generated:
|
||||
|
||||
```css
|
||||
.variables--body {
|
||||
font-style: normal;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
direction: ltr;
|
||||
font-family: 'Source Code Pro';
|
||||
}
|
||||
|
||||
.variables--h5 {
|
||||
font-style: normal;
|
||||
font-size: 18px;
|
||||
font-weight: 800;
|
||||
direction: ltr;
|
||||
font-family: 'Source Code Pro';
|
||||
}
|
||||
|
||||
.variables--h4 {
|
||||
font-style: normal;
|
||||
font-size: 24px;
|
||||
font-weight: 800;
|
||||
direction: ltr;
|
||||
font-family: 'Source Code Pro';
|
||||
}
|
||||
|
||||
.variables--h3 {
|
||||
font-style: normal;
|
||||
font-size: 36px;
|
||||
font-weight: 800;
|
||||
direction: ltr;
|
||||
font-family: 'Source Code Pro';
|
||||
}
|
||||
|
||||
.variables--h2 {
|
||||
font-style: normal;
|
||||
font-size: 48px;
|
||||
font-weight: 800;
|
||||
direction: ltr;
|
||||
font-family: 'Source Code Pro';
|
||||
}
|
||||
|
||||
.variables--h1 {
|
||||
font-style: normal;
|
||||
font-size: 72px;
|
||||
font-weight: 900;
|
||||
direction: ltr;
|
||||
font-family: 'Source Code Pro';
|
||||
}
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
### Using Yarn Workspaces
|
||||
|
||||
This project utilizes Yarn Workspaces to manage multiple packages within a single repository. This allows us to house the module's source code and a demo in separate packages, streamlining development and testing.
|
||||
|
||||
### Package Structure
|
||||
|
||||
- [**packages/penpot-css-export**](./packages/penpot-css-export/): This package contains the CLI tool written in TypeScript. This is where the primary tool code resides.
|
||||
- [**packages/demo**](./packages/demo/): This package serves as a demonstration environment. You can run the `pce` command within this package to test out implementations in development.
|
||||
|
||||
### Local Development
|
||||
|
||||
For the "demo" package to utilize the local version of the `pce` command you're developing, it's essential first to compile the TypeScript code from the "penpot-css-export" package.
|
||||
|
||||
### Handy Commands
|
||||
|
||||
To facilitate the development process, we've set up the following commands that can be run at the repository's root:
|
||||
|
||||
- **yarn dev**: Runs the CLI tool in development mode. Ideal for making changes and seeing real-time results.
|
||||
- **yarn build**: Compiles the TypeScript code in production mode. Ensure you run this command before testing the tool in the "demo" package.
|
||||
- **yarn demo**: Runs the `pce` command within the "demo" package. It's handy for quickly testing implementations after making changes to the source code.
|
||||
|
||||
We recommend following this workflow: make changes to the code, run `yarn build`, and then `yarn demo` to test your changes.
|
12
package.json
Normal file
12
package.json
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"name": "root",
|
||||
"private": true,
|
||||
"workspaces": [
|
||||
"packages/*"
|
||||
],
|
||||
"scripts": {
|
||||
"dev": "npm run dev -w penpot-css-export",
|
||||
"build": "npm run build -w penpot-css-export",
|
||||
"demo": "npm run generate-css -w demo-svelte"
|
||||
}
|
||||
}
|
2
packages/demo/.gitignore
vendored
Normal file
2
packages/demo/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
.env
|
||||
node_modules
|
14
packages/demo/package.json
Normal file
14
packages/demo/package.json
Normal file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"name": "demo",
|
||||
"private": true,
|
||||
"version": "0.0.0",
|
||||
"scripts": {
|
||||
"generate-css": "pce"
|
||||
},
|
||||
"dependencies": {
|
||||
"penpot-css-export": "0.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"dotenv": "^16.3.1"
|
||||
}
|
||||
}
|
17
packages/demo/penpot-css-export.config.js
Normal file
17
packages/demo/penpot-css-export.config.js
Normal file
|
@ -0,0 +1,17 @@
|
|||
require('dotenv').config()
|
||||
|
||||
/**
|
||||
* @type {import('./cli').PenpotExportConfig}
|
||||
*/
|
||||
const config = {
|
||||
accessToken: process.env.PENPOT_ACCESS_TOKEN,
|
||||
pages: [
|
||||
{
|
||||
output: 'src/styles/ui.css', // 👈🏻 Path where your css should be generated.
|
||||
fileId: '71b1702b-2eb1-81d6-8002-f82a5f182087',
|
||||
pageId: '71b1702b-2eb1-81d6-8002-f82a5f182088',
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
module.exports = config
|
47
packages/demo/src/styles/ui.css
Normal file
47
packages/demo/src/styles/ui.css
Normal file
|
@ -0,0 +1,47 @@
|
|||
.variables--h5 {
|
||||
font-style: normal;
|
||||
font-size: 18px;
|
||||
font-weight: 800;
|
||||
direction: ltr;
|
||||
font-family: "Source Code Pro";
|
||||
}
|
||||
|
||||
.variables--h4 {
|
||||
font-style: normal;
|
||||
font-size: 24px;
|
||||
font-weight: 800;
|
||||
direction: ltr;
|
||||
font-family: "Source Code Pro";
|
||||
}
|
||||
|
||||
.variables--h1 {
|
||||
font-style: normal;
|
||||
font-size: 72px;
|
||||
font-weight: 900;
|
||||
direction: ltr;
|
||||
font-family: "Source Code Pro";
|
||||
}
|
||||
|
||||
.variables--h5 {
|
||||
font-style: normal;
|
||||
font-size: 48px;
|
||||
font-weight: 800;
|
||||
direction: ltr;
|
||||
font-family: "Source Code Pro";
|
||||
}
|
||||
|
||||
.variables--body {
|
||||
font-style: normal;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
direction: ltr;
|
||||
font-family: "Source Code Pro";
|
||||
}
|
||||
|
||||
.variables--h4 {
|
||||
font-style: normal;
|
||||
font-size: 36px;
|
||||
font-weight: 800;
|
||||
direction: ltr;
|
||||
font-family: "Source Code Pro";
|
||||
}
|
1
packages/penpot-css-export/.gitignore
vendored
Normal file
1
packages/penpot-css-export/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
dist
|
27
packages/penpot-css-export/package.json
Normal file
27
packages/penpot-css-export/package.json
Normal file
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"name": "penpot-css-export",
|
||||
"version": "0.0.0",
|
||||
"license": "redradix",
|
||||
"main": "dist/bin/index.js",
|
||||
"types": "dist/lib/types.d.ts",
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"bin": {
|
||||
"pce": "./dist/bin/index.js"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"dev": "tsc-watch"
|
||||
},
|
||||
"dependencies": {
|
||||
"node-fetch": "2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^20.5.0",
|
||||
"@types/node-fetch": "2",
|
||||
"ts-node": "^10.9.1",
|
||||
"tsc-watch": "^6.0.4",
|
||||
"typescript": "^5.1.6"
|
||||
}
|
||||
}
|
17
packages/penpot-css-export/src/bin/index.ts
Normal file
17
packages/penpot-css-export/src/bin/index.ts
Normal file
|
@ -0,0 +1,17 @@
|
|||
#! /usr/bin/env node
|
||||
|
||||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
import { generateCssFromConfig } from '../lib'
|
||||
|
||||
const rootProjectPath = fs.realpathSync(process.cwd())
|
||||
const configFilePath = path.resolve(rootProjectPath, 'penpot-css-export.config.js')
|
||||
const exists = fs.existsSync(configFilePath)
|
||||
|
||||
if (!exists) {
|
||||
throw new Error('penpot-css-export: Config file not found. Check if file penpot-css-export.config.js exists at root.')
|
||||
}
|
||||
|
||||
const config = require(configFilePath)
|
||||
|
||||
generateCssFromConfig(config, rootProjectPath)
|
35
packages/penpot-css-export/src/lib/api/helpers.ts
Normal file
35
packages/penpot-css-export/src/lib/api/helpers.ts
Normal file
|
@ -0,0 +1,35 @@
|
|||
import { PenpotComponent, PenpotObject, PenpotPage } from './types'
|
||||
|
||||
export function isComponent(object: PenpotObject) {
|
||||
return object.componentRoot === true
|
||||
}
|
||||
|
||||
export function getObjectShapesFromPage(object: PenpotObject, page: PenpotPage): PenpotComponent {
|
||||
const objects: PenpotObject[] = []
|
||||
const shapes = object.shapes || []
|
||||
|
||||
shapes?.forEach((shapeId) => {
|
||||
const object = page.objects[shapeId]
|
||||
|
||||
if (object === undefined) {
|
||||
console.warn(`Component "%s" not found in page %s.`, shapeId, page.name)
|
||||
return
|
||||
}
|
||||
|
||||
objects.push(object)
|
||||
})
|
||||
|
||||
return { ...object, objects }
|
||||
}
|
||||
|
||||
export function pickObjectProps(reference: Record<string, string>, desiredProps: string[]) {
|
||||
const result: Record<string, string> = {}
|
||||
|
||||
Object.keys(reference)
|
||||
.filter((key) => desiredProps.includes(key))
|
||||
.forEach((key) => {
|
||||
result[key] = reference[key]
|
||||
})
|
||||
|
||||
return result
|
||||
}
|
2
packages/penpot-css-export/src/lib/api/index.ts
Normal file
2
packages/penpot-css-export/src/lib/api/index.ts
Normal file
|
@ -0,0 +1,2 @@
|
|||
export * from './types'
|
||||
export { Penpot as default } from './penpot'
|
78
packages/penpot-css-export/src/lib/api/penpot.ts
Normal file
78
packages/penpot-css-export/src/lib/api/penpot.ts
Normal file
|
@ -0,0 +1,78 @@
|
|||
import fetch, { RequestInit } from 'node-fetch'
|
||||
import { getObjectShapesFromPage, isComponent, pickObjectProps } from './helpers'
|
||||
import type { PenpotComponent, PenpotObject, PenpotPage } from './types'
|
||||
|
||||
interface PenpotSettings {
|
||||
accessToken: string
|
||||
}
|
||||
|
||||
interface FetcherOptions {
|
||||
command: string
|
||||
body: Record<string, string>
|
||||
}
|
||||
|
||||
interface PenpotGetPageOptions {
|
||||
fileId: string
|
||||
pageId: string
|
||||
}
|
||||
|
||||
export class Penpot {
|
||||
private accessToken: string
|
||||
|
||||
constructor(settings: PenpotSettings) {
|
||||
this.accessToken = settings.accessToken
|
||||
}
|
||||
|
||||
private async fetcher<ResultType>(options: FetcherOptions): Promise<ResultType> {
|
||||
const { command, body } = options
|
||||
const config: RequestInit = {
|
||||
headers: {
|
||||
accept: 'application/json',
|
||||
authorization: `Token ${this.accessToken}`,
|
||||
'content-type': 'application/json',
|
||||
},
|
||||
method: 'post',
|
||||
body: JSON.stringify(body),
|
||||
}
|
||||
|
||||
const response = await fetch(`https://design.penpot.app/api/rpc/command/${command}`, config)
|
||||
const json = await response.json()
|
||||
|
||||
return json as ResultType
|
||||
}
|
||||
|
||||
async getPageComponents(options: PenpotGetPageOptions): Promise<{ pageName: string; components: PenpotComponent[] }> {
|
||||
const page = await this.fetcher<PenpotPage>({
|
||||
command: 'get-page',
|
||||
body: {
|
||||
fileId: options.fileId,
|
||||
pageId: options.pageId,
|
||||
},
|
||||
})
|
||||
const components = Object.values(page.objects)
|
||||
.filter(isComponent)
|
||||
.map((object) => getObjectShapesFromPage(object, page))
|
||||
|
||||
return { pageName: page.name, components }
|
||||
}
|
||||
|
||||
static extractObjectCssProps(object: PenpotObject) {
|
||||
let { textDecoration, ...styles } = object.positionData[0]
|
||||
const isTextObject = object.type === 'text'
|
||||
|
||||
if (isTextObject) {
|
||||
if (!textDecoration.startsWith('none')) {
|
||||
styles = { ...styles, textDecoration }
|
||||
}
|
||||
}
|
||||
|
||||
return styles
|
||||
}
|
||||
|
||||
static getTextObjectCssProps(object: PenpotObject) {
|
||||
const textCssProps = ['fontStyle', 'fontSize', 'fontWeight', 'direction', 'fontFamily']
|
||||
const objectCssProps = Penpot.extractObjectCssProps(object)
|
||||
|
||||
return pickObjectProps(objectCssProps, textCssProps)
|
||||
}
|
||||
}
|
15
packages/penpot-css-export/src/lib/api/types.ts
Normal file
15
packages/penpot-css-export/src/lib/api/types.ts
Normal file
|
@ -0,0 +1,15 @@
|
|||
export interface PenpotObject {
|
||||
id: string
|
||||
name: string
|
||||
type: 'text'
|
||||
positionData: Record<string, string>[]
|
||||
componentRoot?: boolean
|
||||
shapes?: string[]
|
||||
}
|
||||
|
||||
export interface PenpotPage {
|
||||
name: string
|
||||
objects: Record<string, PenpotObject>
|
||||
}
|
||||
|
||||
export type PenpotComponent = PenpotObject & { objects: PenpotObject[] }
|
65
packages/penpot-css-export/src/lib/config.ts
Normal file
65
packages/penpot-css-export/src/lib/config.ts
Normal file
|
@ -0,0 +1,65 @@
|
|||
import { Config, PagesConfig } from './types'
|
||||
|
||||
const CONFIG: Config = {
|
||||
accessToken: '',
|
||||
pages: [],
|
||||
}
|
||||
|
||||
const PAGES_CONFIG: PagesConfig = {
|
||||
output: '',
|
||||
fileId: '',
|
||||
pageId: '',
|
||||
}
|
||||
|
||||
class MissingAccessTokenError extends Error {
|
||||
constructor() {
|
||||
super('Missing or empty .accessToken in penpot export config.')
|
||||
}
|
||||
}
|
||||
|
||||
class MissingOutputPathError extends Error {
|
||||
constructor(index: number) {
|
||||
super(`Missing or empty .path in penpot export config at index ${index}.`)
|
||||
}
|
||||
}
|
||||
|
||||
class MissingFileIdError extends Error {
|
||||
constructor(index: number) {
|
||||
super(`Missing or empty .fileId in penpot export config at index ${index}.`)
|
||||
}
|
||||
}
|
||||
|
||||
class MissingPageIdError extends Error {
|
||||
constructor(index: number) {
|
||||
super(`Missing or empty .pageId in penpot export config at index ${index}.`)
|
||||
}
|
||||
}
|
||||
|
||||
export function validateAndNormalizePenpotExportConfig(config: Config): Config {
|
||||
if (!config.accessToken) {
|
||||
throw new MissingAccessTokenError()
|
||||
}
|
||||
|
||||
let normalizedConfig: Config = { ...CONFIG, ...config, pages: [] }
|
||||
|
||||
for (const [index, page] of config.pages.entries()) {
|
||||
if (!page.output) {
|
||||
throw new MissingOutputPathError(index)
|
||||
}
|
||||
|
||||
if (!page.fileId) {
|
||||
throw new MissingFileIdError(index)
|
||||
}
|
||||
|
||||
if (!page.pageId) {
|
||||
throw new MissingPageIdError(index)
|
||||
}
|
||||
|
||||
normalizedConfig.pages.push({
|
||||
...PAGES_CONFIG,
|
||||
...page,
|
||||
})
|
||||
}
|
||||
|
||||
return normalizedConfig
|
||||
}
|
24
packages/penpot-css-export/src/lib/css.ts
Normal file
24
packages/penpot-css-export/src/lib/css.ts
Normal file
|
@ -0,0 +1,24 @@
|
|||
import fs from 'fs'
|
||||
import { camelToKebab } from './string'
|
||||
import { CSSClassDefinition } from './types'
|
||||
|
||||
export function cssClassDefinitionToCSS(cssClassDefinition: CSSClassDefinition): string {
|
||||
const cssValidProps = Object.keys(cssClassDefinition.cssProps).map(
|
||||
(key) => ` ${camelToKebab(key)}: ${cssClassDefinition.cssProps[key]};`
|
||||
)
|
||||
|
||||
return [`.${cssClassDefinition.className} {`, ...cssValidProps, '}'].join('\n')
|
||||
}
|
||||
|
||||
export function writeCssFile(path: string, cssClassDefinitions: CSSClassDefinition[]) {
|
||||
const css = cssClassDefinitions.map(cssClassDefinitionToCSS).join('\n\n')
|
||||
const pathDirs = path.trim().split('/')
|
||||
const dirname = pathDirs.slice(0, pathDirs.length - 1).join('/')
|
||||
|
||||
if (!fs.existsSync(dirname)) {
|
||||
console.log('generando...')
|
||||
fs.mkdirSync(dirname, { recursive: true })
|
||||
}
|
||||
|
||||
fs.writeFileSync(path, css, 'utf-8')
|
||||
}
|
38
packages/penpot-css-export/src/lib/index.ts
Normal file
38
packages/penpot-css-export/src/lib/index.ts
Normal file
|
@ -0,0 +1,38 @@
|
|||
import Penpot from '../lib/api'
|
||||
import { textToValidClassname } from './string'
|
||||
import { validateAndNormalizePenpotExportConfig } from './config'
|
||||
import { CSSClassDefinition, Config } from './types'
|
||||
import { writeCssFile } from './css'
|
||||
import path from 'path'
|
||||
|
||||
export async function generateCssFromConfig(config: Config, rootProjectPath: string) {
|
||||
const validatedConfig = validateAndNormalizePenpotExportConfig(config)
|
||||
const penpot = new Penpot({ accessToken: config.accessToken })
|
||||
|
||||
for (const page of validatedConfig.pages) {
|
||||
const cssClassDefinitions: CSSClassDefinition[] = []
|
||||
|
||||
const { pageName, components } = await penpot.getPageComponents({
|
||||
fileId: page.fileId,
|
||||
pageId: page.pageId,
|
||||
})
|
||||
const pageClassname = textToValidClassname(pageName)
|
||||
|
||||
for (const component of components) {
|
||||
for (const object of component.objects) {
|
||||
if (object.type === 'text') {
|
||||
const cssProps = Penpot.getTextObjectCssProps(object)
|
||||
const objectClassname = textToValidClassname(object.name)
|
||||
const className = `${pageClassname}--${objectClassname}`
|
||||
cssClassDefinitions.push({ className, cssProps })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const cssPath = path.resolve(rootProjectPath, page.output)
|
||||
|
||||
writeCssFile(cssPath, cssClassDefinitions)
|
||||
|
||||
console.log('✅ %s', page.output)
|
||||
}
|
||||
}
|
15
packages/penpot-css-export/src/lib/string.ts
Normal file
15
packages/penpot-css-export/src/lib/string.ts
Normal file
|
@ -0,0 +1,15 @@
|
|||
export function camelToKebab(str: string) {
|
||||
return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase()
|
||||
}
|
||||
|
||||
export function textToValidClassname(str: string) {
|
||||
// Remove invalid characters
|
||||
let className = str.toLowerCase().replace(/[^a-zA-Z_-|0-9]/g, '_')
|
||||
|
||||
// If it starts with a hyphen, ensure it's not followed by a digit
|
||||
if (str.startsWith('-')) {
|
||||
className = str.replace(/^-([0-9])/, '_$1')
|
||||
}
|
||||
|
||||
return className
|
||||
}
|
15
packages/penpot-css-export/src/lib/types.ts
Normal file
15
packages/penpot-css-export/src/lib/types.ts
Normal file
|
@ -0,0 +1,15 @@
|
|||
export interface PagesConfig {
|
||||
output: string
|
||||
fileId: string
|
||||
pageId: string
|
||||
}
|
||||
|
||||
export interface Config {
|
||||
accessToken: string
|
||||
pages: PagesConfig[]
|
||||
}
|
||||
|
||||
export interface CSSClassDefinition {
|
||||
className: string
|
||||
cssProps: Record<string, string>
|
||||
}
|
20
packages/penpot-css-export/tsconfig.json
Normal file
20
packages/penpot-css-export/tsconfig.json
Normal file
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"rootDir": "./src",
|
||||
"outDir": "dist",
|
||||
"target": "es5",
|
||||
"module": "commonjs",
|
||||
"allowJs": true,
|
||||
"skipLibCheck": true,
|
||||
"esModuleInterop": true,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"strict": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"moduleResolution": "node",
|
||||
"downlevelIteration": true,
|
||||
"declaration": true,
|
||||
"noEmit": false
|
||||
},
|
||||
"include": ["src"]
|
||||
}
|
198
packages/penpot-css-export/yarn.lock
Normal file
198
packages/penpot-css-export/yarn.lock
Normal file
|
@ -0,0 +1,198 @@
|
|||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@cspotcode/source-map-support@^0.8.0":
|
||||
version "0.8.1"
|
||||
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
|
||||
integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
|
||||
dependencies:
|
||||
"@jridgewell/trace-mapping" "0.3.9"
|
||||
|
||||
"@jridgewell/resolve-uri@^3.0.3":
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
|
||||
integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
|
||||
|
||||
"@jridgewell/sourcemap-codec@^1.4.10":
|
||||
version "1.4.15"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
|
||||
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
|
||||
|
||||
"@jridgewell/trace-mapping@0.3.9":
|
||||
version "0.3.9"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
|
||||
integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
|
||||
dependencies:
|
||||
"@jridgewell/resolve-uri" "^3.0.3"
|
||||
"@jridgewell/sourcemap-codec" "^1.4.10"
|
||||
|
||||
"@tsconfig/node10@^1.0.7":
|
||||
version "1.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2"
|
||||
integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==
|
||||
|
||||
"@tsconfig/node12@^1.0.7":
|
||||
version "1.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d"
|
||||
integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==
|
||||
|
||||
"@tsconfig/node14@^1.0.0":
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1"
|
||||
integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==
|
||||
|
||||
"@tsconfig/node16@^1.0.2":
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9"
|
||||
integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==
|
||||
|
||||
"@types/node-fetch@2":
|
||||
version "2.6.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.4.tgz#1bc3a26de814f6bf466b25aeb1473fa1afe6a660"
|
||||
integrity sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
form-data "^3.0.0"
|
||||
|
||||
"@types/node@*":
|
||||
version "20.5.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.5.1.tgz#178d58ee7e4834152b0e8b4d30cbfab578b9bb30"
|
||||
integrity sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==
|
||||
|
||||
"@types/node@^20.5.0":
|
||||
version "20.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.5.0.tgz#7fc8636d5f1aaa3b21e6245e97d56b7f56702313"
|
||||
integrity sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q==
|
||||
|
||||
acorn-walk@^8.1.1:
|
||||
version "8.2.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
|
||||
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
|
||||
|
||||
acorn@^8.4.1:
|
||||
version "8.10.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
|
||||
integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
|
||||
|
||||
arg@^4.1.0:
|
||||
version "4.1.3"
|
||||
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
|
||||
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
|
||||
|
||||
asynckit@^0.4.0:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
|
||||
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
|
||||
|
||||
combined-stream@^1.0.8:
|
||||
version "1.0.8"
|
||||
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
|
||||
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
|
||||
dependencies:
|
||||
delayed-stream "~1.0.0"
|
||||
|
||||
create-require@^1.1.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
|
||||
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
|
||||
|
||||
delayed-stream@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
|
||||
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
|
||||
|
||||
diff@^4.0.1:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
|
||||
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
|
||||
|
||||
esm@^3.2.25:
|
||||
version "3.2.25"
|
||||
resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10"
|
||||
integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==
|
||||
|
||||
form-data@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"
|
||||
integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==
|
||||
dependencies:
|
||||
asynckit "^0.4.0"
|
||||
combined-stream "^1.0.8"
|
||||
mime-types "^2.1.12"
|
||||
|
||||
make-error@^1.1.1:
|
||||
version "1.3.6"
|
||||
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
|
||||
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
|
||||
|
||||
mime-db@1.52.0:
|
||||
version "1.52.0"
|
||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
|
||||
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
|
||||
|
||||
mime-types@^2.1.12:
|
||||
version "2.1.35"
|
||||
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
|
||||
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
|
||||
dependencies:
|
||||
mime-db "1.52.0"
|
||||
|
||||
node-fetch@2:
|
||||
version "2.6.13"
|
||||
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.13.tgz#a20acbbec73c2e09f9007de5cda17104122e0010"
|
||||
integrity sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==
|
||||
dependencies:
|
||||
whatwg-url "^5.0.0"
|
||||
|
||||
tr46@~0.0.3:
|
||||
version "0.0.3"
|
||||
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
|
||||
integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
|
||||
|
||||
ts-node@^10.9.1:
|
||||
version "10.9.1"
|
||||
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b"
|
||||
integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==
|
||||
dependencies:
|
||||
"@cspotcode/source-map-support" "^0.8.0"
|
||||
"@tsconfig/node10" "^1.0.7"
|
||||
"@tsconfig/node12" "^1.0.7"
|
||||
"@tsconfig/node14" "^1.0.0"
|
||||
"@tsconfig/node16" "^1.0.2"
|
||||
acorn "^8.4.1"
|
||||
acorn-walk "^8.1.1"
|
||||
arg "^4.1.0"
|
||||
create-require "^1.1.0"
|
||||
diff "^4.0.1"
|
||||
make-error "^1.1.1"
|
||||
v8-compile-cache-lib "^3.0.1"
|
||||
yn "3.1.1"
|
||||
|
||||
typescript@^5.1.6:
|
||||
version "5.1.6"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274"
|
||||
integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==
|
||||
|
||||
v8-compile-cache-lib@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
|
||||
integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
|
||||
|
||||
webidl-conversions@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
|
||||
integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
|
||||
|
||||
whatwg-url@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
|
||||
integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
|
||||
dependencies:
|
||||
tr46 "~0.0.3"
|
||||
webidl-conversions "^3.0.0"
|
||||
|
||||
yn@3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
|
||||
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
|
312
yarn.lock
Normal file
312
yarn.lock
Normal file
|
@ -0,0 +1,312 @@
|
|||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@cspotcode/source-map-support@^0.8.0":
|
||||
version "0.8.1"
|
||||
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
|
||||
integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
|
||||
dependencies:
|
||||
"@jridgewell/trace-mapping" "0.3.9"
|
||||
|
||||
"@jridgewell/resolve-uri@^3.0.3":
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
|
||||
integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
|
||||
|
||||
"@jridgewell/sourcemap-codec@^1.4.10":
|
||||
version "1.4.15"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
|
||||
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
|
||||
|
||||
"@jridgewell/trace-mapping@0.3.9":
|
||||
version "0.3.9"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
|
||||
integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
|
||||
dependencies:
|
||||
"@jridgewell/resolve-uri" "^3.0.3"
|
||||
"@jridgewell/sourcemap-codec" "^1.4.10"
|
||||
|
||||
"@tsconfig/node10@^1.0.7":
|
||||
version "1.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2"
|
||||
integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==
|
||||
|
||||
"@tsconfig/node12@^1.0.7":
|
||||
version "1.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d"
|
||||
integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==
|
||||
|
||||
"@tsconfig/node14@^1.0.0":
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1"
|
||||
integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==
|
||||
|
||||
"@tsconfig/node16@^1.0.2":
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9"
|
||||
integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==
|
||||
|
||||
"@types/node-fetch@2":
|
||||
version "2.6.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.4.tgz#1bc3a26de814f6bf466b25aeb1473fa1afe6a660"
|
||||
integrity sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
form-data "^3.0.0"
|
||||
|
||||
"@types/node@*", "@types/node@^20.5.0":
|
||||
version "20.5.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.5.1.tgz#178d58ee7e4834152b0e8b4d30cbfab578b9bb30"
|
||||
integrity sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==
|
||||
|
||||
acorn-walk@^8.1.1:
|
||||
version "8.2.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
|
||||
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
|
||||
|
||||
acorn@^8.4.1:
|
||||
version "8.10.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
|
||||
integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
|
||||
|
||||
arg@^4.1.0:
|
||||
version "4.1.3"
|
||||
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
|
||||
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
|
||||
|
||||
asynckit@^0.4.0:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
|
||||
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
|
||||
|
||||
combined-stream@^1.0.8:
|
||||
version "1.0.8"
|
||||
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
|
||||
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
|
||||
dependencies:
|
||||
delayed-stream "~1.0.0"
|
||||
|
||||
create-require@^1.1.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
|
||||
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
|
||||
|
||||
cross-spawn@^7.0.3:
|
||||
version "7.0.3"
|
||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
|
||||
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
|
||||
dependencies:
|
||||
path-key "^3.1.0"
|
||||
shebang-command "^2.0.0"
|
||||
which "^2.0.1"
|
||||
|
||||
delayed-stream@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
|
||||
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
|
||||
|
||||
diff@^4.0.1:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
|
||||
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
|
||||
|
||||
dotenv@^16.3.1:
|
||||
version "16.3.1"
|
||||
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e"
|
||||
integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==
|
||||
|
||||
duplexer@~0.1.1:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
|
||||
integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
|
||||
|
||||
event-stream@=3.3.4:
|
||||
version "3.3.4"
|
||||
resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571"
|
||||
integrity sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==
|
||||
dependencies:
|
||||
duplexer "~0.1.1"
|
||||
from "~0"
|
||||
map-stream "~0.1.0"
|
||||
pause-stream "0.0.11"
|
||||
split "0.3"
|
||||
stream-combiner "~0.0.4"
|
||||
through "~2.3.1"
|
||||
|
||||
form-data@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"
|
||||
integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==
|
||||
dependencies:
|
||||
asynckit "^0.4.0"
|
||||
combined-stream "^1.0.8"
|
||||
mime-types "^2.1.12"
|
||||
|
||||
from@~0:
|
||||
version "0.1.7"
|
||||
resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe"
|
||||
integrity sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==
|
||||
|
||||
isexe@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
|
||||
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
|
||||
|
||||
make-error@^1.1.1:
|
||||
version "1.3.6"
|
||||
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
|
||||
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
|
||||
|
||||
map-stream@~0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194"
|
||||
integrity sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==
|
||||
|
||||
mime-db@1.52.0:
|
||||
version "1.52.0"
|
||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
|
||||
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
|
||||
|
||||
mime-types@^2.1.12:
|
||||
version "2.1.35"
|
||||
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
|
||||
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
|
||||
dependencies:
|
||||
mime-db "1.52.0"
|
||||
|
||||
node-cleanup@^2.1.2:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/node-cleanup/-/node-cleanup-2.1.2.tgz#7ac19abd297e09a7f72a71545d951b517e4dde2c"
|
||||
integrity sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==
|
||||
|
||||
node-fetch@2:
|
||||
version "2.6.13"
|
||||
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.13.tgz#a20acbbec73c2e09f9007de5cda17104122e0010"
|
||||
integrity sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==
|
||||
dependencies:
|
||||
whatwg-url "^5.0.0"
|
||||
|
||||
path-key@^3.1.0:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
|
||||
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
|
||||
|
||||
pause-stream@0.0.11:
|
||||
version "0.0.11"
|
||||
resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445"
|
||||
integrity sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==
|
||||
dependencies:
|
||||
through "~2.3"
|
||||
|
||||
ps-tree@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.2.0.tgz#5e7425b89508736cdd4f2224d028f7bb3f722ebd"
|
||||
integrity sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==
|
||||
dependencies:
|
||||
event-stream "=3.3.4"
|
||||
|
||||
shebang-command@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
|
||||
integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
|
||||
dependencies:
|
||||
shebang-regex "^3.0.0"
|
||||
|
||||
shebang-regex@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
|
||||
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
|
||||
|
||||
split@0.3:
|
||||
version "0.3.3"
|
||||
resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f"
|
||||
integrity sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==
|
||||
dependencies:
|
||||
through "2"
|
||||
|
||||
stream-combiner@~0.0.4:
|
||||
version "0.0.4"
|
||||
resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14"
|
||||
integrity sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==
|
||||
dependencies:
|
||||
duplexer "~0.1.1"
|
||||
|
||||
string-argv@^0.3.1:
|
||||
version "0.3.2"
|
||||
resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6"
|
||||
integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==
|
||||
|
||||
through@2, through@~2.3, through@~2.3.1:
|
||||
version "2.3.8"
|
||||
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
|
||||
integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
|
||||
|
||||
tr46@~0.0.3:
|
||||
version "0.0.3"
|
||||
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
|
||||
integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
|
||||
|
||||
ts-node@^10.9.1:
|
||||
version "10.9.1"
|
||||
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b"
|
||||
integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==
|
||||
dependencies:
|
||||
"@cspotcode/source-map-support" "^0.8.0"
|
||||
"@tsconfig/node10" "^1.0.7"
|
||||
"@tsconfig/node12" "^1.0.7"
|
||||
"@tsconfig/node14" "^1.0.0"
|
||||
"@tsconfig/node16" "^1.0.2"
|
||||
acorn "^8.4.1"
|
||||
acorn-walk "^8.1.1"
|
||||
arg "^4.1.0"
|
||||
create-require "^1.1.0"
|
||||
diff "^4.0.1"
|
||||
make-error "^1.1.1"
|
||||
v8-compile-cache-lib "^3.0.1"
|
||||
yn "3.1.1"
|
||||
|
||||
tsc-watch@^6.0.4:
|
||||
version "6.0.4"
|
||||
resolved "https://registry.yarnpkg.com/tsc-watch/-/tsc-watch-6.0.4.tgz#af15229f03cd53086771a97b10653db063bc6c59"
|
||||
integrity sha512-cHvbvhjO86w2aGlaHgSCeQRl+Aqw6X6XN4sQMPZKF88GoP30O+oTuh5lRIJr5pgFWrRpF1AgXnJJ2DoFEIPHyg==
|
||||
dependencies:
|
||||
cross-spawn "^7.0.3"
|
||||
node-cleanup "^2.1.2"
|
||||
ps-tree "^1.2.0"
|
||||
string-argv "^0.3.1"
|
||||
|
||||
typescript@^5.1.6:
|
||||
version "5.1.6"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274"
|
||||
integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==
|
||||
|
||||
v8-compile-cache-lib@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
|
||||
integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
|
||||
|
||||
webidl-conversions@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
|
||||
integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
|
||||
|
||||
whatwg-url@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
|
||||
integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
|
||||
dependencies:
|
||||
tr46 "~0.0.3"
|
||||
webidl-conversions "^3.0.0"
|
||||
|
||||
which@^2.0.1:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
|
||||
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
|
||||
dependencies:
|
||||
isexe "^2.0.0"
|
||||
|
||||
yn@3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
|
||||
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
|
Loading…
Reference in a new issue