mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-09-17 13:37:26 +03:00
contrib: Metadata V3 types + JSON Schema
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2726 Co-authored-by: BenoitRanque <25712958+BenoitRanque@users.noreply.github.com> GitOrigin-RevId: 0a7a0452ad6dc4790fb2a745b905d4ad30e35836
This commit is contained in:
parent
95be515a60
commit
1d228db305
@ -5,6 +5,7 @@
|
|||||||
- server: log locking DB queries during source catalog migration
|
- server: log locking DB queries during source catalog migration
|
||||||
- server: fix to allow remote schema response to contain an "extensions" field (#7143)
|
- server: fix to allow remote schema response to contain an "extensions" field (#7143)
|
||||||
- console: add comments to tracked functions
|
- console: add comments to tracked functions
|
||||||
|
- metadata SDK: add type definitions for config v3
|
||||||
|
|
||||||
### Bug fixes and improvements
|
### Bug fixes and improvements
|
||||||
(Add entries below in the order of server, console, cli, docs, others)
|
(Add entries below in the order of server, console, cli, docs, others)
|
||||||
|
@ -5,11 +5,11 @@ selected_input_language: Typescript
|
|||||||
# Glob patterns for the target input files of selected language
|
# Glob patterns for the target input files of selected language
|
||||||
input_files:
|
input_files:
|
||||||
# Paths can be either a string, or an array of strings
|
# Paths can be either a string, or an array of strings
|
||||||
JsonSchema: './src/types/**.schema.json'
|
# JsonSchema: './src/types/**.schema.json'
|
||||||
Typescript: './src/types/**.ts'
|
Typescript: "./src/types/**.ts"
|
||||||
|
|
||||||
# Output file directory
|
# Output file directory
|
||||||
output_directory: './generated'
|
output_directory: "./generated"
|
||||||
|
|
||||||
# Quicktype config per-language
|
# Quicktype config per-language
|
||||||
# Config is an object of type "rendererOptions"
|
# Config is an object of type "rendererOptions"
|
||||||
@ -32,10 +32,10 @@ quicktype_config:
|
|||||||
# objective-c: ~
|
# objective-c: ~
|
||||||
# pike: ~
|
# pike: ~
|
||||||
python:
|
python:
|
||||||
python-version: '3.7'
|
python-version: "3.7"
|
||||||
# ruby: ~
|
# ruby: ~
|
||||||
# rust: ~
|
# rust: ~
|
||||||
schema: ~
|
schema: ~
|
||||||
# swift: ~
|
# swift: ~
|
||||||
typescript:
|
# typescript:
|
||||||
# just-types: true
|
# just-types: true
|
||||||
|
@ -988,15 +988,15 @@ type ObjectField struct {
|
|||||||
//
|
//
|
||||||
// https://hasura.io/docs/latest/graphql/core/api-reference/schema-metadata-api/manage-metadata.html#replace-metadata
|
// https://hasura.io/docs/latest/graphql/core/api-reference/schema-metadata-api/manage-metadata.html#replace-metadata
|
||||||
type HasuraMetadataV2 struct {
|
type HasuraMetadataV2 struct {
|
||||||
Actions []Action `json:"actions"`
|
Actions []Action `json:"actions,omitempty"`
|
||||||
Allowlist []AllowList `json:"allowlist"`
|
Allowlist []AllowList `json:"allowlist,omitempty"`
|
||||||
CronTriggers []CronTrigger `json:"cron_triggers"`
|
CronTriggers []CronTrigger `json:"cron_triggers,omitempty"`
|
||||||
CustomTypes *CustomTypes `json:"custom_types,omitempty"`
|
CustomTypes *CustomTypes `json:"custom_types,omitempty"`
|
||||||
Functions []CustomFunction `json:"functions"`
|
Functions []CustomFunction `json:"functions,omitempty"`
|
||||||
QueryCollections []QueryCollectionEntry `json:"query_collections"`
|
QueryCollections []QueryCollectionEntry `json:"query_collections,omitempty"`
|
||||||
RemoteSchemas []RemoteSchema `json:"remote_schemas"`
|
RemoteSchemas []RemoteSchema `json:"remote_schemas,omitempty"`
|
||||||
Tables []TableEntry `json:"tables"`
|
Tables []TableEntry `json:"tables"`
|
||||||
Version float64 `json:"version"`
|
Version float64 `json:"version"`
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -1005,7 +1005,7 @@ type Action struct {
|
|||||||
Comment *string `json:"comment,omitempty"` // Comment
|
Comment *string `json:"comment,omitempty"` // Comment
|
||||||
Definition ActionDefinition `json:"definition"` // Definition of the action
|
Definition ActionDefinition `json:"definition"` // Definition of the action
|
||||||
Name string `json:"name"` // Name of the action
|
Name string `json:"name"` // Name of the action
|
||||||
Permissions *Permissions `json:"permissions,omitempty"`// Permissions of the action
|
Permissions []Permission `json:"permissions,omitempty"`// Permissions of the action
|
||||||
}
|
}
|
||||||
|
|
||||||
// Definition of the action
|
// Definition of the action
|
||||||
@ -1013,10 +1013,10 @@ type Action struct {
|
|||||||
//
|
//
|
||||||
// https://hasura.io/docs/latest/graphql/core/api-reference/schema-metadata-api/actions.html#actiondefinition
|
// https://hasura.io/docs/latest/graphql/core/api-reference/schema-metadata-api/actions.html#actiondefinition
|
||||||
type ActionDefinition struct {
|
type ActionDefinition struct {
|
||||||
Arguments []InputArgument `json:"arguments"`
|
Arguments []InputArgument `json:"arguments,omitempty"`
|
||||||
ForwardClientHeaders *bool `json:"forward_client_headers,omitempty"`
|
ForwardClientHeaders *bool `json:"forward_client_headers,omitempty"`
|
||||||
Handler string `json:"handler"` // A String value which supports templating environment variables enclosed in {{ and }}.; Template example: https://{{ACTION_API_DOMAIN}}/create-user
|
Handler string `json:"handler"` // A String value which supports templating environment variables enclosed in {{ and }}.; Template example: https://{{ACTION_API_DOMAIN}}/create-user
|
||||||
Headers []Header `json:"headers"`
|
Headers []Header `json:"headers,omitempty"`
|
||||||
Kind *string `json:"kind,omitempty"`
|
Kind *string `json:"kind,omitempty"`
|
||||||
OutputType *string `json:"output_type,omitempty"`
|
OutputType *string `json:"output_type,omitempty"`
|
||||||
Type *ActionDefinitionType `json:"type,omitempty"`
|
Type *ActionDefinitionType `json:"type,omitempty"`
|
||||||
@ -1040,8 +1040,7 @@ type Header struct {
|
|||||||
ValueFromEnv *string `json:"value_from_env,omitempty"`// Name of the environment variable which holds the value of the header
|
ValueFromEnv *string `json:"value_from_env,omitempty"`// Name of the environment variable which holds the value of the header
|
||||||
}
|
}
|
||||||
|
|
||||||
// Permissions of the action
|
type Permission struct {
|
||||||
type Permissions struct {
|
|
||||||
Role string `json:"role"`
|
Role string `json:"role"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1076,10 +1075,10 @@ type RetryConfST struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type CustomTypes struct {
|
type CustomTypes struct {
|
||||||
Enums []EnumType `json:"enums"`
|
Enums []EnumType `json:"enums,omitempty"`
|
||||||
InputObjects []InputObjectType `json:"input_objects"`
|
InputObjects []InputObjectType `json:"input_objects,omitempty"`
|
||||||
Objects []ObjectType `json:"objects"`
|
Objects []ObjectType `json:"objects,omitempty"`
|
||||||
Scalars []ScalarType `json:"scalars"`
|
Scalars []ScalarType `json:"scalars,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -1117,10 +1116,10 @@ type InputObjectField struct {
|
|||||||
//
|
//
|
||||||
// https://hasura.io/docs/latest/graphql/core/api-reference/schema-metadata-api/custom-types.html#objecttype
|
// https://hasura.io/docs/latest/graphql/core/api-reference/schema-metadata-api/custom-types.html#objecttype
|
||||||
type ObjectType struct {
|
type ObjectType struct {
|
||||||
Description *string `json:"description,omitempty"`// Description of the Input object type
|
Description *string `json:"description,omitempty"` // Description of the Input object type
|
||||||
Fields []InputObjectField `json:"fields"` // Fields of the Input object type
|
Fields []InputObjectField `json:"fields"` // Fields of the Input object type
|
||||||
Name string `json:"name"` // Name of the Input object type
|
Name string `json:"name"` // Name of the Input object type
|
||||||
Relationships []CustomTypeObjectRelationship `json:"relationships"` // Relationships of the Object type to tables
|
Relationships []CustomTypeObjectRelationship `json:"relationships,omitempty"`// Relationships of the Object type to tables
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -1200,7 +1199,7 @@ type RemoteSchema struct {
|
|||||||
// https://hasura.io/docs/latest/graphql/core/api-reference/schema-metadata-api/syntax-defs.html#remoteschemadef
|
// https://hasura.io/docs/latest/graphql/core/api-reference/schema-metadata-api/syntax-defs.html#remoteschemadef
|
||||||
type RemoteSchemaDef struct {
|
type RemoteSchemaDef struct {
|
||||||
ForwardClientHeaders *bool `json:"forward_client_headers,omitempty"`
|
ForwardClientHeaders *bool `json:"forward_client_headers,omitempty"`
|
||||||
Headers []Header `json:"headers"`
|
Headers []Header `json:"headers,omitempty"`
|
||||||
TimeoutSeconds *float64 `json:"timeout_seconds,omitempty"`
|
TimeoutSeconds *float64 `json:"timeout_seconds,omitempty"`
|
||||||
URL *string `json:"url,omitempty"`
|
URL *string `json:"url,omitempty"`
|
||||||
URLFromEnv *string `json:"url_from_env,omitempty"`
|
URLFromEnv *string `json:"url_from_env,omitempty"`
|
||||||
@ -1208,18 +1207,18 @@ type RemoteSchemaDef struct {
|
|||||||
|
|
||||||
// Representation of a table in metadata, 'tables.yaml' and 'metadata.json'
|
// Representation of a table in metadata, 'tables.yaml' and 'metadata.json'
|
||||||
type TableEntry struct {
|
type TableEntry struct {
|
||||||
ArrayRelationships []ArrayRelationship `json:"array_relationships"`
|
ArrayRelationships []ArrayRelationship `json:"array_relationships,omitempty"`
|
||||||
ComputedFields []ComputedField `json:"computed_fields"`
|
ComputedFields []ComputedField `json:"computed_fields,omitempty"`
|
||||||
Configuration *TableConfig `json:"configuration,omitempty"`// Configuration for the table/view; ; https://hasura.io/docs/latest/graphql/core/api-reference/schema-metadata-api/table-view.html#table-config
|
Configuration *TableConfig `json:"configuration,omitempty"` // Configuration for the table/view; ; https://hasura.io/docs/latest/graphql/core/api-reference/schema-metadata-api/table-view.html#table-config
|
||||||
DeletePermissions []DeletePermissionEntry `json:"delete_permissions"`
|
DeletePermissions []DeletePermissionEntry `json:"delete_permissions,omitempty"`
|
||||||
EventTriggers []EventTrigger `json:"event_triggers"`
|
EventTriggers []EventTrigger `json:"event_triggers,omitempty"`
|
||||||
InsertPermissions []InsertPermissionEntry `json:"insert_permissions"`
|
InsertPermissions []InsertPermissionEntry `json:"insert_permissions,omitempty"`
|
||||||
IsEnum *bool `json:"is_enum,omitempty"`
|
IsEnum *bool `json:"is_enum,omitempty"`
|
||||||
ObjectRelationships []ObjectRelationship `json:"object_relationships"`
|
ObjectRelationships []ObjectRelationship `json:"object_relationships,omitempty"`
|
||||||
RemoteRelationships []RemoteRelationship `json:"remote_relationships"`
|
RemoteRelationships []RemoteRelationship `json:"remote_relationships,omitempty"`
|
||||||
SelectPermissions []SelectPermissionEntry `json:"select_permissions"`
|
SelectPermissions []SelectPermissionEntry `json:"select_permissions,omitempty"`
|
||||||
Table QualifiedTable `json:"table"`
|
Table QualifiedTable `json:"table"`
|
||||||
UpdatePermissions []UpdatePermissionEntry `json:"update_permissions"`
|
UpdatePermissions []UpdatePermissionEntry `json:"update_permissions,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -1283,6 +1282,7 @@ type ComputedFieldDefinition struct {
|
|||||||
// https://hasura.io/docs/latest/graphql/core/api-reference/schema-metadata-api/table-view.html#table-config
|
// https://hasura.io/docs/latest/graphql/core/api-reference/schema-metadata-api/table-view.html#table-config
|
||||||
type TableConfig struct {
|
type TableConfig struct {
|
||||||
CustomColumnNames map[string]string `json:"custom_column_names,omitempty"`// Customise the column names
|
CustomColumnNames map[string]string `json:"custom_column_names,omitempty"`// Customise the column names
|
||||||
|
CustomName *string `json:"custom_name,omitempty"` // Customise the table name
|
||||||
CustomRootFields *CustomRootFields `json:"custom_root_fields,omitempty"` // Customise the root fields
|
CustomRootFields *CustomRootFields `json:"custom_root_fields,omitempty"` // Customise the root fields
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1324,7 +1324,7 @@ type DeletePermission struct {
|
|||||||
// https://hasura.io/docs/latest/graphql/core/api-reference/schema-metadata-api/event-triggers.html#create-event-trigger
|
// https://hasura.io/docs/latest/graphql/core/api-reference/schema-metadata-api/event-triggers.html#create-event-trigger
|
||||||
type EventTrigger struct {
|
type EventTrigger struct {
|
||||||
Definition EventTriggerDefinition `json:"definition"` // The SQL function
|
Definition EventTriggerDefinition `json:"definition"` // The SQL function
|
||||||
Headers []Header `json:"headers"` // The SQL function
|
Headers []Header `json:"headers,omitempty"` // The SQL function
|
||||||
Name string `json:"name"` // Name of the event trigger
|
Name string `json:"name"` // Name of the event trigger
|
||||||
RetryConf RetryConf `json:"retry_conf"` // The SQL function
|
RetryConf RetryConf `json:"retry_conf"` // The SQL function
|
||||||
Webhook *string `json:"webhook,omitempty"` // The SQL function
|
Webhook *string `json:"webhook,omitempty"` // The SQL function
|
||||||
@ -1437,7 +1437,7 @@ type SelectPermissionEntry struct {
|
|||||||
type SelectPermission struct {
|
type SelectPermission struct {
|
||||||
AllowAggregations *bool `json:"allow_aggregations,omitempty"`// Toggle allowing aggregate queries
|
AllowAggregations *bool `json:"allow_aggregations,omitempty"`// Toggle allowing aggregate queries
|
||||||
Columns *EventTriggerColumns `json:"columns"` // Only these columns are selectable (or all when '*' is specified)
|
Columns *EventTriggerColumns `json:"columns"` // Only these columns are selectable (or all when '*' is specified)
|
||||||
ComputedFields []string `json:"computed_fields"` // Only these computed fields are selectable
|
ComputedFields []string `json:"computed_fields,omitempty"` // Only these computed fields are selectable
|
||||||
Filter map[string]*Filter `json:"filter,omitempty"` // Only the rows where this precondition holds true are selectable
|
Filter map[string]*Filter `json:"filter,omitempty"` // Only the rows where this precondition holds true are selectable
|
||||||
Limit *int64 `json:"limit,omitempty"` // The maximum number of rows that can be returned
|
Limit *int64 `json:"limit,omitempty"` // The maximum number of rows that can be returned
|
||||||
}
|
}
|
||||||
|
@ -74,7 +74,7 @@ module QuickType
|
|||||||
, InputArgument (..)
|
, InputArgument (..)
|
||||||
, HasuraMetadataV2 (..)
|
, HasuraMetadataV2 (..)
|
||||||
, Header (..)
|
, Header (..)
|
||||||
, Permissions (..)
|
, Permission (..)
|
||||||
, Definition (..)
|
, Definition (..)
|
||||||
, RemoteFieldValue (..)
|
, RemoteFieldValue (..)
|
||||||
, ActionDefinitionType (..)
|
, ActionDefinitionType (..)
|
||||||
@ -204,7 +204,7 @@ data Action = Action
|
|||||||
{ commentAction :: Maybe Text
|
{ commentAction :: Maybe Text
|
||||||
, definitionAction :: ActionDefinition
|
, definitionAction :: ActionDefinition
|
||||||
, nameAction :: Text
|
, nameAction :: Text
|
||||||
, permissionsAction :: Maybe Permissions
|
, permissionsAction :: Maybe (Vector Permission)
|
||||||
} deriving (Show)
|
} deriving (Show)
|
||||||
|
|
||||||
{-| Definition of the action
|
{-| Definition of the action
|
||||||
@ -260,9 +260,8 @@ data Header = Header
|
|||||||
, valueFromEnvHeader :: Maybe Text
|
, valueFromEnvHeader :: Maybe Text
|
||||||
} deriving (Show)
|
} deriving (Show)
|
||||||
|
|
||||||
{-| Permissions of the action -}
|
data Permission = Permission
|
||||||
data Permissions = Permissions
|
{ rolePermission :: Text
|
||||||
{ rolePermissions :: Text
|
|
||||||
} deriving (Show)
|
} deriving (Show)
|
||||||
|
|
||||||
{-|
|
{-|
|
||||||
@ -734,11 +733,15 @@ https://hasura.io/docs/latest/graphql/core/api-reference/schema-metadata-api/tab
|
|||||||
customColumnNames:
|
customColumnNames:
|
||||||
Customise the column names
|
Customise the column names
|
||||||
|
|
||||||
|
customName:
|
||||||
|
Customise the table name
|
||||||
|
|
||||||
customRootFields:
|
customRootFields:
|
||||||
Customise the root fields
|
Customise the root fields
|
||||||
-}
|
-}
|
||||||
data TableConfig = TableConfig
|
data TableConfig = TableConfig
|
||||||
{ customColumnNamesTableConfig :: Maybe (HashMap Text Text)
|
{ customColumnNamesTableConfig :: Maybe (HashMap Text Text)
|
||||||
|
, customNameTableConfig :: Maybe Text
|
||||||
, customRootFieldsTableConfig :: Maybe CustomRootFields
|
, customRootFieldsTableConfig :: Maybe CustomRootFields
|
||||||
} deriving (Show)
|
} deriving (Show)
|
||||||
|
|
||||||
@ -1500,14 +1503,14 @@ instance FromJSON Header where
|
|||||||
<*> v .:? "value"
|
<*> v .:? "value"
|
||||||
<*> v .:? "value_from_env"
|
<*> v .:? "value_from_env"
|
||||||
|
|
||||||
instance ToJSON Permissions where
|
instance ToJSON Permission where
|
||||||
toJSON (Permissions rolePermissions) =
|
toJSON (Permission rolePermission) =
|
||||||
object
|
object
|
||||||
[ "role" .= rolePermissions
|
[ "role" .= rolePermission
|
||||||
]
|
]
|
||||||
|
|
||||||
instance FromJSON Permissions where
|
instance FromJSON Permission where
|
||||||
parseJSON (Object v) = Permissions
|
parseJSON (Object v) = Permission
|
||||||
<$> v .: "role"
|
<$> v .: "role"
|
||||||
|
|
||||||
instance ToJSON AllowList where
|
instance ToJSON AllowList where
|
||||||
@ -1927,15 +1930,17 @@ instance FromJSON ComputedFieldDefinition where
|
|||||||
<*> v .:? "table_argument"
|
<*> v .:? "table_argument"
|
||||||
|
|
||||||
instance ToJSON TableConfig where
|
instance ToJSON TableConfig where
|
||||||
toJSON (TableConfig customColumnNamesTableConfig customRootFieldsTableConfig) =
|
toJSON (TableConfig customColumnNamesTableConfig customNameTableConfig customRootFieldsTableConfig) =
|
||||||
object
|
object
|
||||||
[ "custom_column_names" .= customColumnNamesTableConfig
|
[ "custom_column_names" .= customColumnNamesTableConfig
|
||||||
|
, "custom_name" .= customNameTableConfig
|
||||||
, "custom_root_fields" .= customRootFieldsTableConfig
|
, "custom_root_fields" .= customRootFieldsTableConfig
|
||||||
]
|
]
|
||||||
|
|
||||||
instance FromJSON TableConfig where
|
instance FromJSON TableConfig where
|
||||||
parseJSON (Object v) = TableConfig
|
parseJSON (Object v) = TableConfig
|
||||||
<$> v .:? "custom_column_names"
|
<$> v .:? "custom_column_names"
|
||||||
|
<*> v .:? "custom_name"
|
||||||
<*> v .:? "custom_root_fields"
|
<*> v .:? "custom_root_fields"
|
||||||
|
|
||||||
instance ToJSON CustomRootFields where
|
instance ToJSON CustomRootFields where
|
||||||
|
@ -71,6 +71,11 @@
|
|||||||
"title": "TableConfig",
|
"title": "TableConfig",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"custom_name": {
|
||||||
|
"description": "Customise the table name",
|
||||||
|
"type": "string",
|
||||||
|
"title": "custom_name"
|
||||||
|
},
|
||||||
"custom_root_fields": {
|
"custom_root_fields": {
|
||||||
"description": "Customise the root fields",
|
"description": "Customise the root fields",
|
||||||
"$ref": "#/definitions/CustomRootFields",
|
"$ref": "#/definitions/CustomRootFields",
|
||||||
@ -1672,16 +1677,19 @@
|
|||||||
},
|
},
|
||||||
"permissions": {
|
"permissions": {
|
||||||
"description": "Permissions of the action",
|
"description": "Permissions of the action",
|
||||||
"type": "object",
|
"type": "array",
|
||||||
"properties": {
|
"items": {
|
||||||
"role": {
|
"type": "object",
|
||||||
"type": "string",
|
"properties": {
|
||||||
"title": "role"
|
"role": {
|
||||||
}
|
"type": "string",
|
||||||
|
"title": "role"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"role"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"required": [
|
|
||||||
"role"
|
|
||||||
],
|
|
||||||
"title": "permissions"
|
"title": "permissions"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -321,15 +321,14 @@ class ActionDefinition:
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class Permissions:
|
class Permission:
|
||||||
"""Permissions of the action"""
|
|
||||||
role: str
|
role: str
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def from_dict(obj: Any) -> 'Permissions':
|
def from_dict(obj: Any) -> 'Permission':
|
||||||
assert isinstance(obj, dict)
|
assert isinstance(obj, dict)
|
||||||
role = from_str(obj.get("role"))
|
role = from_str(obj.get("role"))
|
||||||
return Permissions(role)
|
return Permission(role)
|
||||||
|
|
||||||
def to_dict(self) -> dict:
|
def to_dict(self) -> dict:
|
||||||
result: dict = {}
|
result: dict = {}
|
||||||
@ -349,7 +348,7 @@ class Action:
|
|||||||
"""Comment"""
|
"""Comment"""
|
||||||
comment: Optional[str] = None
|
comment: Optional[str] = None
|
||||||
"""Permissions of the action"""
|
"""Permissions of the action"""
|
||||||
permissions: Optional[Permissions] = None
|
permissions: Optional[List[Permission]] = None
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def from_dict(obj: Any) -> 'Action':
|
def from_dict(obj: Any) -> 'Action':
|
||||||
@ -357,7 +356,7 @@ class Action:
|
|||||||
definition = ActionDefinition.from_dict(obj.get("definition"))
|
definition = ActionDefinition.from_dict(obj.get("definition"))
|
||||||
name = from_str(obj.get("name"))
|
name = from_str(obj.get("name"))
|
||||||
comment = from_union([from_str, from_none], obj.get("comment"))
|
comment = from_union([from_str, from_none], obj.get("comment"))
|
||||||
permissions = from_union([Permissions.from_dict, from_none], obj.get("permissions"))
|
permissions = from_union([lambda x: from_list(Permission.from_dict, x), from_none], obj.get("permissions"))
|
||||||
return Action(definition, name, comment, permissions)
|
return Action(definition, name, comment, permissions)
|
||||||
|
|
||||||
def to_dict(self) -> dict:
|
def to_dict(self) -> dict:
|
||||||
@ -365,7 +364,7 @@ class Action:
|
|||||||
result["definition"] = to_class(ActionDefinition, self.definition)
|
result["definition"] = to_class(ActionDefinition, self.definition)
|
||||||
result["name"] = from_str(self.name)
|
result["name"] = from_str(self.name)
|
||||||
result["comment"] = from_union([from_str, from_none], self.comment)
|
result["comment"] = from_union([from_str, from_none], self.comment)
|
||||||
result["permissions"] = from_union([lambda x: to_class(Permissions, x), from_none], self.permissions)
|
result["permissions"] = from_union([lambda x: from_list(lambda x: to_class(Permission, x), x), from_none], self.permissions)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
@ -1166,6 +1165,8 @@ class TableConfig:
|
|||||||
"""
|
"""
|
||||||
"""Customise the column names"""
|
"""Customise the column names"""
|
||||||
custom_column_names: Optional[Dict[str, str]] = None
|
custom_column_names: Optional[Dict[str, str]] = None
|
||||||
|
"""Customise the table name"""
|
||||||
|
custom_name: Optional[str] = None
|
||||||
"""Customise the root fields"""
|
"""Customise the root fields"""
|
||||||
custom_root_fields: Optional[CustomRootFields] = None
|
custom_root_fields: Optional[CustomRootFields] = None
|
||||||
|
|
||||||
@ -1173,12 +1174,14 @@ class TableConfig:
|
|||||||
def from_dict(obj: Any) -> 'TableConfig':
|
def from_dict(obj: Any) -> 'TableConfig':
|
||||||
assert isinstance(obj, dict)
|
assert isinstance(obj, dict)
|
||||||
custom_column_names = from_union([lambda x: from_dict(from_str, x), from_none], obj.get("custom_column_names"))
|
custom_column_names = from_union([lambda x: from_dict(from_str, x), from_none], obj.get("custom_column_names"))
|
||||||
|
custom_name = from_union([from_str, from_none], obj.get("custom_name"))
|
||||||
custom_root_fields = from_union([CustomRootFields.from_dict, from_none], obj.get("custom_root_fields"))
|
custom_root_fields = from_union([CustomRootFields.from_dict, from_none], obj.get("custom_root_fields"))
|
||||||
return TableConfig(custom_column_names, custom_root_fields)
|
return TableConfig(custom_column_names, custom_name, custom_root_fields)
|
||||||
|
|
||||||
def to_dict(self) -> dict:
|
def to_dict(self) -> dict:
|
||||||
result: dict = {}
|
result: dict = {}
|
||||||
result["custom_column_names"] = from_union([lambda x: from_dict(from_str, x), from_none], self.custom_column_names)
|
result["custom_column_names"] = from_union([lambda x: from_dict(from_str, x), from_none], self.custom_column_names)
|
||||||
|
result["custom_name"] = from_union([from_str, from_none], self.custom_name)
|
||||||
result["custom_root_fields"] = from_union([lambda x: to_class(CustomRootFields, x), from_none], self.custom_root_fields)
|
result["custom_root_fields"] = from_union([lambda x: to_class(CustomRootFields, x), from_none], self.custom_root_fields)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
@ -54,6 +54,10 @@ definitions:
|
|||||||
title: TableConfig
|
title: TableConfig
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
custom_name:
|
||||||
|
description: Customise the table name
|
||||||
|
type: string
|
||||||
|
title: custom_name
|
||||||
custom_root_fields:
|
custom_root_fields:
|
||||||
description: Customise the root fields
|
description: Customise the root fields
|
||||||
$ref: '#/definitions/CustomRootFields'
|
$ref: '#/definitions/CustomRootFields'
|
||||||
@ -1334,13 +1338,15 @@ definitions:
|
|||||||
title: comment
|
title: comment
|
||||||
permissions:
|
permissions:
|
||||||
description: Permissions of the action
|
description: Permissions of the action
|
||||||
type: object
|
type: array
|
||||||
properties:
|
items:
|
||||||
role:
|
type: object
|
||||||
type: string
|
properties:
|
||||||
title: role
|
role:
|
||||||
required:
|
type: string
|
||||||
- role
|
title: role
|
||||||
|
required:
|
||||||
|
- role
|
||||||
title: permissions
|
title: permissions
|
||||||
required:
|
required:
|
||||||
- definition
|
- definition
|
||||||
|
2449
contrib/metadata-types/generated/HasuraMetadataV3.go
Normal file
2449
contrib/metadata-types/generated/HasuraMetadataV3.go
Normal file
File diff suppressed because it is too large
Load Diff
3477
contrib/metadata-types/generated/HasuraMetadataV3.hs
Normal file
3477
contrib/metadata-types/generated/HasuraMetadataV3.hs
Normal file
File diff suppressed because it is too large
Load Diff
2641
contrib/metadata-types/generated/HasuraMetadataV3.json
Normal file
2641
contrib/metadata-types/generated/HasuraMetadataV3.json
Normal file
File diff suppressed because it is too large
Load Diff
3553
contrib/metadata-types/generated/HasuraMetadataV3.py
Normal file
3553
contrib/metadata-types/generated/HasuraMetadataV3.py
Normal file
File diff suppressed because it is too large
Load Diff
2047
contrib/metadata-types/generated/HasuraMetadataV3.yaml
Normal file
2047
contrib/metadata-types/generated/HasuraMetadataV3.yaml
Normal file
File diff suppressed because it is too large
Load Diff
@ -18,17 +18,18 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/js-yaml": "^3.12.5",
|
"@types/js-yaml": "^3.12.5",
|
||||||
"@types/node": "^14.0.14",
|
"@types/node": "^16.10.3",
|
||||||
"fast-glob": "^3.2.4",
|
|
||||||
"ava": "^3.9.0",
|
"ava": "^3.9.0",
|
||||||
"ts-node": "^8.10.2",
|
"fast-glob": "^3.2.4",
|
||||||
"typescript": "^3.9.6",
|
|
||||||
"js-yaml": "^3.14.0",
|
"js-yaml": "^3.14.0",
|
||||||
"microbundle": "^0.12.3",
|
"microbundle": "^0.12.3",
|
||||||
"quicktype": "^15.0.248",
|
"prettier": "^2.4.1",
|
||||||
"quicktype-core": "^6.0.66",
|
"quicktype": "^15.0.260",
|
||||||
|
"quicktype-core": "^6.0.70",
|
||||||
"quicktype-typescript-input": "^0.0.11",
|
"quicktype-typescript-input": "^0.0.11",
|
||||||
"tsd": "^0.12.1"
|
"ts-node": "^10.2.1",
|
||||||
|
"tsd": "^0.12.1",
|
||||||
|
"typescript": "^4.4.3"
|
||||||
},
|
},
|
||||||
"ava": {
|
"ava": {
|
||||||
"extensions": [
|
"extensions": [
|
||||||
@ -38,4 +39,4 @@
|
|||||||
"ts-node/register"
|
"ts-node/register"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -785,7 +785,7 @@ export interface Action {
|
|||||||
/** Comment */
|
/** Comment */
|
||||||
comment?: string
|
comment?: string
|
||||||
/** Permissions of the action */
|
/** Permissions of the action */
|
||||||
permissions?: { role: string }
|
permissions?: Array<{ role: string }>
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
233
contrib/metadata-types/src/types/HasuraMetadataV3.ts
Normal file
233
contrib/metadata-types/src/types/HasuraMetadataV3.ts
Normal file
@ -0,0 +1,233 @@
|
|||||||
|
import {
|
||||||
|
Action,
|
||||||
|
AllowList,
|
||||||
|
CronTrigger,
|
||||||
|
CustomFunction,
|
||||||
|
CustomTypes,
|
||||||
|
QueryCollectionEntry,
|
||||||
|
RemoteSchema,
|
||||||
|
TableEntry,
|
||||||
|
} from "./HasuraMetadataV2"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* https://hasura.io/docs/latest/graphql/core/api-reference/syntax-defs.html#fromenv
|
||||||
|
*/
|
||||||
|
export interface FromEnv {
|
||||||
|
/** Name of the environment variable */
|
||||||
|
from_env: string
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* https://hasura.io/docs/latest/graphql/core/api-reference/syntax-defs.html#pgconfiguration
|
||||||
|
*/
|
||||||
|
export interface PGConfiguration {
|
||||||
|
/** Connection parameters for the source */
|
||||||
|
connection_info: PGSourceConnectionInfo
|
||||||
|
/** Optional list of read replica configuration (supported only in cloud/enterprise versions) */
|
||||||
|
read_replicas?: PGSourceConnectionInfo[]
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* https://hasura.io/docs/latest/graphql/core/api-reference/syntax-defs.html#mssqlsourceconnectioninfo
|
||||||
|
*/
|
||||||
|
export interface MsSQLConfiguration {
|
||||||
|
/** Connection parameters for the source */
|
||||||
|
connection_info: MsSQLSourceConnectionInfo
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* https://hasura.io/docs/latest/graphql/core/api-reference/syntax-defs.html#bigqueryconfiguration
|
||||||
|
*/
|
||||||
|
export interface BigQueryConfiguration {
|
||||||
|
/** Service account for BigQuery database */
|
||||||
|
service_account: string | Record<string, any> | FromEnv
|
||||||
|
/** Project Id for BigQuery database */
|
||||||
|
project_id: string | FromEnv
|
||||||
|
/** List of BigQuery datasets */
|
||||||
|
datasets: string[] | FromEnv
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* https://hasura.io/docs/latest/graphql/core/api-reference/syntax-defs.html#pgsourceconnectioninfo
|
||||||
|
*/
|
||||||
|
export interface PGSourceConnectionInfo {
|
||||||
|
/** The database connection URL as a string, as an environment variable, or as connection parameters. */
|
||||||
|
database_url: string | FromEnv | PGConnectionParameters
|
||||||
|
/** Connection pool settings */
|
||||||
|
pool_settings?: PGPoolSettings
|
||||||
|
|
||||||
|
/** If set to true the server prepares statement before executing on the source database (default: false). For more details, refer to the Postgres docs */
|
||||||
|
use_prepared_statements?: boolean
|
||||||
|
|
||||||
|
/** The transaction isolation level in which the queries made to the source will be run with (default: read-committed). */
|
||||||
|
isolation_level?: "read-committed" | "repeatable-read" | "serializable"
|
||||||
|
|
||||||
|
/** The client SSL certificate settings for the database (Only available in Cloud). */
|
||||||
|
ssl_configuration?: PGCertSettings
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* https://hasura.io/docs/latest/graphql/core/api-reference/syntax-defs.html#mssqlsourceconnectioninfo
|
||||||
|
*/
|
||||||
|
export interface MsSQLSourceConnectionInfo {
|
||||||
|
/** The database connection string, or as an environment variable */
|
||||||
|
connection_string: string | FromEnv
|
||||||
|
/** Connection pool settings */
|
||||||
|
pool_settings?: MsSQLPoolSettings
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* https://hasura.io/docs/latest/graphql/core/api-reference/syntax-defs.html#pgconnectionparameters
|
||||||
|
*/
|
||||||
|
export interface PGConnectionParameters {
|
||||||
|
/**The Postgres user to be connected */
|
||||||
|
username: string
|
||||||
|
/** The Postgres user’s password */
|
||||||
|
password?: string
|
||||||
|
/** The database name */
|
||||||
|
database: string
|
||||||
|
/** The name of the host to connect to */
|
||||||
|
host: string
|
||||||
|
/** The port number to connect with, at the server host */
|
||||||
|
port: number
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* https://hasura.io/docs/latest/graphql/core/api-reference/syntax-defs.html#pgpoolsettings
|
||||||
|
*/
|
||||||
|
export interface PGPoolSettings {
|
||||||
|
/** Maximum number of connections to be kept in the pool (default: 50) */
|
||||||
|
max_connections?: number
|
||||||
|
/** The idle timeout (in seconds) per connection (default: 180) */
|
||||||
|
idle_timeout?: number
|
||||||
|
/** Number of retries to perform (default: 1) */
|
||||||
|
retries?: number
|
||||||
|
/** Maximum time to wait while acquiring a Postgres connection from the pool, in seconds (default: forever) */
|
||||||
|
pool_timeout?: number
|
||||||
|
/** Time from connection creation after which the connection should be destroyed and a new one created. A value of 0 indicates we should never destroy an active connection. If 0 is passed, memory from large query results may not be reclaimed. (default: 600 sec) */
|
||||||
|
connection_lifetime?: number
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* https://hasura.io/docs/latest/graphql/core/api-reference/syntax-defs.html#pgcertsettings
|
||||||
|
*/
|
||||||
|
export interface PGCertSettings {
|
||||||
|
/** The SSL connection mode. See the libpq ssl support docs <https://www.postgresql.org/docs/9.1/libpq-ssl.html> for more details. */
|
||||||
|
sslmode: string
|
||||||
|
/** Environment variable which stores trusted certificate authorities. */
|
||||||
|
sslrootcert: FromEnv
|
||||||
|
/** Environment variable which stores the client certificate. */
|
||||||
|
sslcert: FromEnv
|
||||||
|
/** Environment variable which stores the client private key. */
|
||||||
|
sslkey: FromEnv
|
||||||
|
/** Password in the case where the sslkey is encrypted. */
|
||||||
|
sslpassword?: string | FromEnv
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* https://hasura.io/docs/latest/graphql/core/api-reference/syntax-defs.html#mssqlpoolsettings
|
||||||
|
*/
|
||||||
|
export interface MsSQLPoolSettings {
|
||||||
|
/** Maximum number of connections to be kept in the pool (default: 50) */
|
||||||
|
max_connections?: number
|
||||||
|
/** The idle timeout (in seconds) per connection (default: 180) */
|
||||||
|
idle_timeout?: number
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum BackendKind {
|
||||||
|
POSTGRES = "postgres",
|
||||||
|
MSSQL = "mssql",
|
||||||
|
CITUS = "citus",
|
||||||
|
BIGQUERY = "bigquery",
|
||||||
|
}
|
||||||
|
|
||||||
|
interface BaseSource {
|
||||||
|
name: string
|
||||||
|
tables: TableEntry[]
|
||||||
|
functions?: CustomFunction[]
|
||||||
|
}
|
||||||
|
|
||||||
|
interface PGSource extends BaseSource {
|
||||||
|
kind: BackendKind.POSTGRES | BackendKind.CITUS
|
||||||
|
configuration: PGConfiguration
|
||||||
|
}
|
||||||
|
|
||||||
|
interface MsSQLSource extends BaseSource {
|
||||||
|
kind: BackendKind.MSSQL
|
||||||
|
configuration: MsSQLConfiguration
|
||||||
|
}
|
||||||
|
|
||||||
|
interface BigQuerySource extends BaseSource {
|
||||||
|
kind: BackendKind.BIGQUERY
|
||||||
|
configuration: BigQueryConfiguration
|
||||||
|
}
|
||||||
|
|
||||||
|
export type Source = PGSource | MsSQLSource | BigQuerySource
|
||||||
|
|
||||||
|
export interface APILimits {
|
||||||
|
depth_limit?: DepthLimit;
|
||||||
|
disabled: boolean;
|
||||||
|
rate_limit?: RateLimit;
|
||||||
|
node_limit?: NodeLimit;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DepthLimit {
|
||||||
|
global: number;
|
||||||
|
per_role: {
|
||||||
|
[role: string]: number;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RateLimit {
|
||||||
|
global: RateLimitRule;
|
||||||
|
per_role: {
|
||||||
|
[role: string]: RateLimitRule;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RateLimitRule {
|
||||||
|
unique_params: null | 'IP' | string[];
|
||||||
|
max_reqs_per_min: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface NodeLimit {
|
||||||
|
global: number;
|
||||||
|
per_role: {
|
||||||
|
[role: string]: number;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RestEndpoint {
|
||||||
|
name: string;
|
||||||
|
url: string;
|
||||||
|
methods: ('POST' | 'PUT' | 'PATCH')[];
|
||||||
|
definition: RestEndpointDefinition;
|
||||||
|
comment?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RestEndpointDefinition {
|
||||||
|
query: {
|
||||||
|
query_name: string;
|
||||||
|
collection_name: string;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface InheritedRole {
|
||||||
|
role_name: string;
|
||||||
|
role_set: string[];
|
||||||
|
}
|
||||||
|
|
||||||
|
// quicktype code generator can't handle Typescript's "Omit<T>" type
|
||||||
|
export interface HasuraMetadataV3 {
|
||||||
|
version: 3
|
||||||
|
sources: Source[]
|
||||||
|
actions?: Action[]
|
||||||
|
custom_types?: CustomTypes
|
||||||
|
remote_schemas?: RemoteSchema[]
|
||||||
|
query_collections?: QueryCollectionEntry[]
|
||||||
|
allowlist?: AllowList[]
|
||||||
|
cron_triggers?: CronTrigger[]
|
||||||
|
api_limits?: APILimits
|
||||||
|
rest_endpoints: RestEndpoint[]
|
||||||
|
inherited_roles?: InheritedRole[]
|
||||||
|
}
|
@ -907,6 +907,18 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
arrify "^1.0.1"
|
arrify "^1.0.1"
|
||||||
|
|
||||||
|
"@cspotcode/source-map-consumer@0.8.0":
|
||||||
|
version "0.8.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b"
|
||||||
|
integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==
|
||||||
|
|
||||||
|
"@cspotcode/source-map-support@0.6.1":
|
||||||
|
version "0.6.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.6.1.tgz#118511f316e2e87ee4294761868e254d3da47960"
|
||||||
|
integrity sha512-DX3Z+T5dt1ockmPdobJS/FAsQPW4V4SrWEhD2iYQT2Cb2tQsiMnYxrcUH9By/Z3B+v0S5LMBkQtV/XOBbpLEOg==
|
||||||
|
dependencies:
|
||||||
|
"@cspotcode/source-map-consumer" "0.8.0"
|
||||||
|
|
||||||
"@mark.probst/typescript-json-schema@~0.32.0":
|
"@mark.probst/typescript-json-schema@~0.32.0":
|
||||||
version "0.32.0"
|
version "0.32.0"
|
||||||
resolved "https://registry.yarnpkg.com/@mark.probst/typescript-json-schema/-/typescript-json-schema-0.32.0.tgz#724d2de8baa2e46e5af4cfdeb9fe3758ced9b2a4"
|
resolved "https://registry.yarnpkg.com/@mark.probst/typescript-json-schema/-/typescript-json-schema-0.32.0.tgz#724d2de8baa2e46e5af4cfdeb9fe3758ced9b2a4"
|
||||||
@ -1013,6 +1025,26 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
defer-to-connect "^1.0.1"
|
defer-to-connect "^1.0.1"
|
||||||
|
|
||||||
|
"@tsconfig/node10@^1.0.7":
|
||||||
|
version "1.0.8"
|
||||||
|
resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9"
|
||||||
|
integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==
|
||||||
|
|
||||||
|
"@tsconfig/node12@^1.0.7":
|
||||||
|
version "1.0.9"
|
||||||
|
resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c"
|
||||||
|
integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==
|
||||||
|
|
||||||
|
"@tsconfig/node14@^1.0.0":
|
||||||
|
version "1.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2"
|
||||||
|
integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==
|
||||||
|
|
||||||
|
"@tsconfig/node16@^1.0.2":
|
||||||
|
version "1.0.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e"
|
||||||
|
integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==
|
||||||
|
|
||||||
"@types/color-name@^1.1.1":
|
"@types/color-name@^1.1.1":
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
|
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
|
||||||
@ -1051,11 +1083,16 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6"
|
resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6"
|
||||||
integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=
|
integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=
|
||||||
|
|
||||||
"@types/node@*", "@types/node@^14.0.14":
|
"@types/node@*":
|
||||||
version "14.6.0"
|
version "14.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.0.tgz#7d4411bf5157339337d7cff864d9ff45f177b499"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.0.tgz#7d4411bf5157339337d7cff864d9ff45f177b499"
|
||||||
integrity sha512-mikldZQitV94akrc4sCcSjtJfsTKt4p+e/s0AGscVA6XArQ9kFclP+ZiYUMnq987rc6QlYxXv/EivqlfSLxpKA==
|
integrity sha512-mikldZQitV94akrc4sCcSjtJfsTKt4p+e/s0AGscVA6XArQ9kFclP+ZiYUMnq987rc6QlYxXv/EivqlfSLxpKA==
|
||||||
|
|
||||||
|
"@types/node@^16.10.3":
|
||||||
|
version "16.10.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.10.3.tgz#7a8f2838603ea314d1d22bb3171d899e15c57bd5"
|
||||||
|
integrity sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ==
|
||||||
|
|
||||||
"@types/normalize-package-data@^2.4.0":
|
"@types/normalize-package-data@^2.4.0":
|
||||||
version "2.4.0"
|
version "2.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
|
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
|
||||||
@ -1083,11 +1120,21 @@ acorn-walk@^7.2.0:
|
|||||||
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
|
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
|
||||||
integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
|
integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
|
||||||
|
|
||||||
|
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@^7.1.0, acorn@^7.1.1, acorn@^7.3.1:
|
acorn@^7.1.0, acorn@^7.1.1, acorn@^7.3.1:
|
||||||
version "7.4.0"
|
version "7.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c"
|
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c"
|
||||||
integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==
|
integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==
|
||||||
|
|
||||||
|
acorn@^8.4.1:
|
||||||
|
version "8.5.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2"
|
||||||
|
integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==
|
||||||
|
|
||||||
aggregate-error@^3.0.0:
|
aggregate-error@^3.0.0:
|
||||||
version "3.0.1"
|
version "3.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0"
|
resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0"
|
||||||
@ -1823,6 +1870,11 @@ cosmiconfig@^6.0.0:
|
|||||||
path-type "^4.0.0"
|
path-type "^4.0.0"
|
||||||
yaml "^1.7.2"
|
yaml "^1.7.2"
|
||||||
|
|
||||||
|
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@^6.0.0:
|
cross-spawn@^6.0.0:
|
||||||
version "6.0.5"
|
version "6.0.5"
|
||||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
|
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
|
||||||
@ -3575,7 +3627,7 @@ nice-try@^1.0.4:
|
|||||||
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
|
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
|
||||||
integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
|
integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
|
||||||
|
|
||||||
node-fetch@^1.0.1, node-fetch@^1.7.1:
|
node-fetch@^1.0.1:
|
||||||
version "1.7.3"
|
version "1.7.3"
|
||||||
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
|
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
|
||||||
integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==
|
integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==
|
||||||
@ -3583,6 +3635,11 @@ node-fetch@^1.0.1, node-fetch@^1.7.1:
|
|||||||
encoding "^0.1.11"
|
encoding "^0.1.11"
|
||||||
is-stream "^1.0.1"
|
is-stream "^1.0.1"
|
||||||
|
|
||||||
|
node-fetch@^2.6.1:
|
||||||
|
version "2.6.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
|
||||||
|
integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
|
||||||
|
|
||||||
node-releases@^1.1.61:
|
node-releases@^1.1.61:
|
||||||
version "1.1.61"
|
version "1.1.61"
|
||||||
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.61.tgz#707b0fca9ce4e11783612ba4a2fcba09047af16e"
|
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.61.tgz#707b0fca9ce4e11783612ba4a2fcba09047af16e"
|
||||||
@ -4305,6 +4362,11 @@ prepend-http@^2.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
|
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
|
||||||
integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
|
integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
|
||||||
|
|
||||||
|
prettier@^2.4.1:
|
||||||
|
version "2.4.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.1.tgz#671e11c89c14a4cfc876ce564106c4a6726c9f5c"
|
||||||
|
integrity sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==
|
||||||
|
|
||||||
pretty-bytes@^3.0.0:
|
pretty-bytes@^3.0.0:
|
||||||
version "3.0.1"
|
version "3.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-3.0.1.tgz#27d0008d778063a0b4811bb35c79f1bd5d5fbccf"
|
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-3.0.1.tgz#27d0008d778063a0b4811bb35c79f1bd5d5fbccf"
|
||||||
@ -4364,7 +4426,7 @@ quick-lru@^4.0.1:
|
|||||||
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f"
|
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f"
|
||||||
integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==
|
integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==
|
||||||
|
|
||||||
quicktype-core@^6.0.18, quicktype-core@^6.0.66:
|
quicktype-core@^6.0.18:
|
||||||
version "6.0.68"
|
version "6.0.68"
|
||||||
resolved "https://registry.yarnpkg.com/quicktype-core/-/quicktype-core-6.0.68.tgz#bcb613c59eca68dac521e9b7854c073ee79a68c6"
|
resolved "https://registry.yarnpkg.com/quicktype-core/-/quicktype-core-6.0.68.tgz#bcb613c59eca68dac521e9b7854c073ee79a68c6"
|
||||||
integrity sha512-9or+dslvADdgXGVYMjGr1xehVvBYr0WLRSgQ7MjaQ+NmAvqSCub9Hsq9S2Bbqj5cyDkm2faulbH4yQ7ksckffw==
|
integrity sha512-9or+dslvADdgXGVYMjGr1xehVvBYr0WLRSgQ7MjaQ+NmAvqSCub9Hsq9S2Bbqj5cyDkm2faulbH4yQ7ksckffw==
|
||||||
@ -4382,6 +4444,24 @@ quicktype-core@^6.0.18, quicktype-core@^6.0.66:
|
|||||||
wordwrap "^1.0.0"
|
wordwrap "^1.0.0"
|
||||||
yaml "^1.5.0"
|
yaml "^1.5.0"
|
||||||
|
|
||||||
|
quicktype-core@^6.0.70:
|
||||||
|
version "6.0.70"
|
||||||
|
resolved "https://registry.yarnpkg.com/quicktype-core/-/quicktype-core-6.0.70.tgz#3be15eef505d356bc16fad01d2941d726c0a5700"
|
||||||
|
integrity sha512-BMoG1omvauNhgGFzz1AkFVIC0LPXPArE6cCGI5fTeHvXKQsVUCbHt+seee2TaqUkELX9Pk6yA0s8OW8vW3kllA==
|
||||||
|
dependencies:
|
||||||
|
"@mark.probst/unicode-properties" "~1.1.0"
|
||||||
|
browser-or-node "^1.2.1"
|
||||||
|
collection-utils "^1.0.1"
|
||||||
|
is-url "^1.2.4"
|
||||||
|
isomorphic-fetch "^2.2.1"
|
||||||
|
js-base64 "^2.4.3"
|
||||||
|
pako "^1.0.6"
|
||||||
|
pluralize "^7.0.0"
|
||||||
|
readable-stream "2.3.0"
|
||||||
|
urijs "^1.19.1"
|
||||||
|
wordwrap "^1.0.0"
|
||||||
|
yaml "^1.5.0"
|
||||||
|
|
||||||
quicktype-typescript-input@^0.0.11:
|
quicktype-typescript-input@^0.0.11:
|
||||||
version "0.0.11"
|
version "0.0.11"
|
||||||
resolved "https://registry.yarnpkg.com/quicktype-typescript-input/-/quicktype-typescript-input-0.0.11.tgz#b2682b77bb3c932a46fe0ae7524964be096c55f2"
|
resolved "https://registry.yarnpkg.com/quicktype-typescript-input/-/quicktype-typescript-input-0.0.11.tgz#b2682b77bb3c932a46fe0ae7524964be096c55f2"
|
||||||
@ -4391,10 +4471,10 @@ quicktype-typescript-input@^0.0.11:
|
|||||||
quicktype-core "^6.0.18"
|
quicktype-core "^6.0.18"
|
||||||
typescript "~3.2.1"
|
typescript "~3.2.1"
|
||||||
|
|
||||||
quicktype@^15.0.248:
|
quicktype@^15.0.260:
|
||||||
version "15.0.256"
|
version "15.0.260"
|
||||||
resolved "https://registry.yarnpkg.com/quicktype/-/quicktype-15.0.256.tgz#4d9afa15a3dab4f9728f70e15d8210472c7b54ae"
|
resolved "https://registry.yarnpkg.com/quicktype/-/quicktype-15.0.260.tgz#ee3f3cf2a2d39b5e7ec38d8d91b3a88f01d0fae0"
|
||||||
integrity sha512-GSMi0WDy9NLviujRT4ExrY3cIfDmw4o5RIbVBF/8Bzw7K4/qh46WDZSUdZ/DLIlF93hI4R3QHV2Q4ce0uXUvgg==
|
integrity sha512-OYP77enVz2UkcdDqVFc2AcFGYjk5/ENGYZHmSEY5Oy6Y2xVatlHUnrScddEkI+xJxSfYS6UXSH8oOTW7mEOiEw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@mark.probst/typescript-json-schema" "~0.32.0"
|
"@mark.probst/typescript-json-schema" "~0.32.0"
|
||||||
"@mark.probst/unicode-properties" "~1.1.0"
|
"@mark.probst/unicode-properties" "~1.1.0"
|
||||||
@ -4409,14 +4489,14 @@ quicktype@^15.0.248:
|
|||||||
js-base64 "^2.4.3"
|
js-base64 "^2.4.3"
|
||||||
lodash "^4.17.19"
|
lodash "^4.17.19"
|
||||||
moment "^2.22.1"
|
moment "^2.22.1"
|
||||||
node-fetch "^1.7.1"
|
node-fetch "^2.6.1"
|
||||||
pako "^1.0.6"
|
pako "^1.0.6"
|
||||||
pluralize "^7.0.0"
|
pluralize "^7.0.0"
|
||||||
readable-stream "2.3.0"
|
readable-stream "2.3.0"
|
||||||
stream-json "1.1.3"
|
stream-json "1.1.3"
|
||||||
string-to-stream "^1.1.0"
|
string-to-stream "^1.1.0"
|
||||||
typescript "~3.2.1"
|
typescript "~3.2.1"
|
||||||
urijs "^1.19.1"
|
urijs "^1.19.4"
|
||||||
uuid "^3.2.1"
|
uuid "^3.2.1"
|
||||||
wordwrap "^1.0.0"
|
wordwrap "^1.0.0"
|
||||||
yaml "^1.5.0"
|
yaml "^1.5.0"
|
||||||
@ -4866,7 +4946,7 @@ slice-ansi@^3.0.0:
|
|||||||
astral-regex "^2.0.0"
|
astral-regex "^2.0.0"
|
||||||
is-fullwidth-code-point "^3.0.0"
|
is-fullwidth-code-point "^3.0.0"
|
||||||
|
|
||||||
source-map-support@^0.5.17, source-map-support@^0.5.19, source-map-support@~0.5.12:
|
source-map-support@^0.5.19, source-map-support@~0.5.12:
|
||||||
version "0.5.19"
|
version "0.5.19"
|
||||||
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
|
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
|
||||||
integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
|
integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
|
||||||
@ -5280,15 +5360,22 @@ trim-off-newlines@^1.0.1:
|
|||||||
resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3"
|
resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3"
|
||||||
integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM=
|
integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM=
|
||||||
|
|
||||||
ts-node@^8.10.2:
|
ts-node@^10.2.1:
|
||||||
version "8.10.2"
|
version "10.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.10.2.tgz#eee03764633b1234ddd37f8db9ec10b75ec7fb8d"
|
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.2.1.tgz#4cc93bea0a7aba2179497e65bb08ddfc198b3ab5"
|
||||||
integrity sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==
|
integrity sha512-hCnyOyuGmD5wHleOQX6NIjJtYVIO8bPP8F2acWkB4W06wdlkgyvJtubO/I9NkI88hCFECbsEgoLc0VNkYmcSfw==
|
||||||
dependencies:
|
dependencies:
|
||||||
|
"@cspotcode/source-map-support" "0.6.1"
|
||||||
|
"@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"
|
arg "^4.1.0"
|
||||||
|
create-require "^1.1.0"
|
||||||
diff "^4.0.1"
|
diff "^4.0.1"
|
||||||
make-error "^1.1.1"
|
make-error "^1.1.1"
|
||||||
source-map-support "^0.5.17"
|
|
||||||
yn "3.1.1"
|
yn "3.1.1"
|
||||||
|
|
||||||
tsd@^0.12.1:
|
tsd@^0.12.1:
|
||||||
@ -5357,11 +5444,16 @@ typedarray@^0.0.6:
|
|||||||
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
||||||
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
|
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
|
||||||
|
|
||||||
typescript@^3.9.5, typescript@^3.9.6:
|
typescript@^3.9.5:
|
||||||
version "3.9.7"
|
version "3.9.7"
|
||||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa"
|
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa"
|
||||||
integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==
|
integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==
|
||||||
|
|
||||||
|
typescript@^4.4.3:
|
||||||
|
version "4.4.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.3.tgz#bdc5407caa2b109efd4f82fe130656f977a29324"
|
||||||
|
integrity sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==
|
||||||
|
|
||||||
typescript@~3.2.1:
|
typescript@~3.2.1:
|
||||||
version "3.2.4"
|
version "3.2.4"
|
||||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.2.4.tgz#c585cb952912263d915b462726ce244ba510ef3d"
|
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.2.4.tgz#c585cb952912263d915b462726ce244ba510ef3d"
|
||||||
@ -5454,6 +5546,11 @@ urijs@^1.19.1:
|
|||||||
resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.2.tgz#f9be09f00c4c5134b7cb3cf475c1dd394526265a"
|
resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.2.tgz#f9be09f00c4c5134b7cb3cf475c1dd394526265a"
|
||||||
integrity sha512-s/UIq9ap4JPZ7H1EB5ULo/aOUbWqfDi7FKzMC2Nz+0Si8GiT1rIEaprt8hy3Vy2Ex2aJPpOQv4P4DuOZ+K1c6w==
|
integrity sha512-s/UIq9ap4JPZ7H1EB5ULo/aOUbWqfDi7FKzMC2Nz+0Si8GiT1rIEaprt8hy3Vy2Ex2aJPpOQv4P4DuOZ+K1c6w==
|
||||||
|
|
||||||
|
urijs@^1.19.4:
|
||||||
|
version "1.19.7"
|
||||||
|
resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.7.tgz#4f594e59113928fea63c00ce688fb395b1168ab9"
|
||||||
|
integrity sha512-Id+IKjdU0Hx+7Zx717jwLPsPeUqz7rAtuVBRLLs+qn+J2nf9NGITWVCxcijgYxBqe83C7sqsQPs6H1pyz3x9gA==
|
||||||
|
|
||||||
url-parse-lax@^3.0.0:
|
url-parse-lax@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"
|
resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"
|
||||||
|
Loading…
Reference in New Issue
Block a user