Web types
JSON standard for web component libraries metadata
| Type | object |
|---|---|
| File match |
web-types.json
*.web-types.json
|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/web-types/latest.json |
| Source | https://www.schemastore.org/web-types.json |
Validate with Lintel
npx @lintel/lintel check
Properties
Name of the library.
Version of the library, for which Web-Types are provided.
Framework, for which the components are provided by the library. If the library is not enabled in a particular context, all symbols from this file will not be available as well. If you want symbols to be always available do not specify framework.
Language in which JavaScript objects types are specified.
Markup language in which descriptions are formatted.
Provide configuration for the specified web framework. This is an advanced feature, which is used to provide support for templating frameworks like Angular, Vue, Svelte, etc.
5 nested properties
Specify rules for enabling web framework support. Only one framework can be enabled in a particular file. If you need your contributions to be enabled in all files, regardless of the context, do not specify the framework.
6 nested properties
Node.js package names, which enable framework support within the folder containing the package.json.
Since 2024.2. Ruby gem names, which enable framework support within the particular Ruby module.
Extensions of files, which should have the framework support enabled. Use this to support custom file extensions like '.vue' or '.svelte'. Never specify generic extensions like '.html', '.js' or '.ts'. If you need your contributions to be present in every file don't specify the framework at all
RegExp patterns to match file names, which should have the framework support enabled. Use carefully as broken pattern may even freeze IDE.
Global JavaScript libraries names enabled within the IDE, which enable framework support in the whole project
List of tool executables (without extension), which presence should be checked in the project. In case of Node projects, such tools will be searched in node_modules/.bin/
Specify rules for disabling web framework support. These rules take precedence over enable-when rules. They allow to turn off framework support in case of some conflicts between frameworks priority.
2 nested properties
Extensions of files, which should have the framework support disabled
RegExp patterns to match file names, which should have the framework support disabled
Provide configuration for Web Types contexts. This allows to contribute additional Web Types for example if a particular library is present in the project.
Relative path to the icon representing the symbol or actual SVG of the icon.
Symbol can be contributed to one of the 3 namespaces - HTML, CSS and JS. Within a particular namespace there can be different kinds of symbols. In each of the namespaces, there are several predefined kinds, which integrate directly with IDE, but providers are free to define their own.
3 nested properties
Contains contributions to HTML namespace. It's property names represent symbol kinds, its property values contain list of contributions of particular kind. There are 2 predefined kinds, which integrate directly with IDE - HTML elements and HTML attributes. There are also 2 deprecated kinds: tags (which is equivalent to 'elements') and 'events' (which was moved to JS namespace)
3 nested properties
Deprecated, use top-level js-types-syntax property.
Deprecated, use top-level property.
Deprecated, use elements property.
Contains contributions to CSS namespace. It's property names represent symbol kinds, its property values contain list of contributions of particular kind. There are predefined kinds, which integrate directly with IDE - properties, classes, functions, pseudo-elements, pseudo-classes and parts.
Contains contributions to JS namespace. It's property names represent symbol kinds, its property values contain list of contributions of particular kind. There are 2 predefined kinds, which integrate directly with IDE - properties and events, but only events can be contributed globally.
2 nested properties
DOM events
Globally available symbols for JavaScript resolve. TypeScript resolve is not supported. Please note that these symbols will override any normally available global JavaScript symbols.
Definitions
Language in which JavaScript objects types are specified.
Markup language in which descriptions are formatted.
Provide configuration for the specified web framework. This is an advanced feature, which is used to provide support for templating frameworks like Angular, Vue, Svelte, etc.
Specify rules for enabling web framework support. Only one framework can be enabled in a particular file. If you need your contributions to be enabled in all files, regardless of the context, do not specify the framework.
6 nested properties
Node.js package names, which enable framework support within the folder containing the package.json.
Since 2024.2. Ruby gem names, which enable framework support within the particular Ruby module.
Extensions of files, which should have the framework support enabled. Use this to support custom file extensions like '.vue' or '.svelte'. Never specify generic extensions like '.html', '.js' or '.ts'. If you need your contributions to be present in every file don't specify the framework at all
RegExp patterns to match file names, which should have the framework support enabled. Use carefully as broken pattern may even freeze IDE.
Global JavaScript libraries names enabled within the IDE, which enable framework support in the whole project
List of tool executables (without extension), which presence should be checked in the project. In case of Node projects, such tools will be searched in node_modules/.bin/
Specify rules for disabling web framework support. These rules take precedence over enable-when rules. They allow to turn off framework support in case of some conflicts between frameworks priority.
2 nested properties
Extensions of files, which should have the framework support disabled
RegExp patterns to match file names, which should have the framework support disabled
Provide configuration for Web Types contexts. This allows to contribute additional Web Types for example if a particular library is present in the project.
Context kind. Only a single context of the particular kind will be enabled. An example of context kind is framework, which has dedicated support in Web Types.
Specify rules for enabling web framework support. Only one framework can be enabled in a particular file. If you need your contributions to be enabled in all files, regardless of the context, do not specify the framework.
6 nested properties
Node.js package names, which enable framework support within the folder containing the package.json.
Since 2024.2. Ruby gem names, which enable framework support within the particular Ruby module.
Extensions of files, which should have the framework support enabled. Use this to support custom file extensions like '.vue' or '.svelte'. Never specify generic extensions like '.html', '.js' or '.ts'. If you need your contributions to be present in every file don't specify the framework at all
RegExp patterns to match file names, which should have the framework support enabled. Use carefully as broken pattern may even freeze IDE.
Global JavaScript libraries names enabled within the IDE, which enable framework support in the whole project
List of tool executables (without extension), which presence should be checked in the project. In case of Node projects, such tools will be searched in node_modules/.bin/
Specify rules for disabling web framework support. These rules take precedence over enable-when rules. They allow to turn off framework support in case of some conflicts between frameworks priority.
2 nested properties
Extensions of files, which should have the framework support disabled
RegExp patterns to match file names, which should have the framework support disabled
Since 2024.2. Provide rules for setting a particular name for particular context kind. This allows to contribute additional Web Types for example if a particular library is present in the project.
Specify rules for enabling web framework support. Only one framework can be enabled in a particular file. If you need your contributions to be enabled in all files, regardless of the context, do not specify the framework.
6 nested properties
Node.js package names, which enable framework support within the folder containing the package.json.
Since 2024.2. Ruby gem names, which enable framework support within the particular Ruby module.
Extensions of files, which should have the framework support enabled. Use this to support custom file extensions like '.vue' or '.svelte'. Never specify generic extensions like '.html', '.js' or '.ts'. If you need your contributions to be present in every file don't specify the framework at all
RegExp patterns to match file names, which should have the framework support enabled. Use carefully as broken pattern may even freeze IDE.
Global JavaScript libraries names enabled within the IDE, which enable framework support in the whole project
List of tool executables (without extension), which presence should be checked in the project. In case of Node projects, such tools will be searched in node_modules/.bin/
Specify rules for disabling web framework support. These rules take precedence over enable-when rules. They allow to turn off framework support in case of some conflicts between frameworks priority.
2 nested properties
Extensions of files, which should have the framework support disabled
RegExp patterns to match file names, which should have the framework support disabled
Specify rules for enabling web framework support. Only one framework can be enabled in a particular file. If you need your contributions to be enabled in all files, regardless of the context, do not specify the framework.
Node.js package names, which enable framework support within the folder containing the package.json.
Since 2024.2. Ruby gem names, which enable framework support within the particular Ruby module.
Extensions of files, which should have the framework support enabled. Use this to support custom file extensions like '.vue' or '.svelte'. Never specify generic extensions like '.html', '.js' or '.ts'. If you need your contributions to be present in every file don't specify the framework at all
RegExp patterns to match file names, which should have the framework support enabled. Use carefully as broken pattern may even freeze IDE.
Global JavaScript libraries names enabled within the IDE, which enable framework support in the whole project
List of tool executables (without extension), which presence should be checked in the project. In case of Node projects, such tools will be searched in node_modules/.bin/
Since 2024.2. Custom package manager dependencies, which would enable context according to the rules of custom provider.
Specify rules for disabling web framework support. These rules take precedence over enable-when rules. They allow to turn off framework support in case of some conflicts between frameworks priority.
Extensions of files, which should have the framework support disabled
RegExp patterns to match file names, which should have the framework support disabled
Relative path to the icon representing the symbol or actual SVG of the icon.
The base for any contributions.
Short description to be rendered in documentation popup. It will be rendered according to description-markup setting.
Custom sections to be shown below description in the documentation popup.
Link to online documentation.
Relative path to the icon representing the symbol or actual SVG of the icon.
Allows to specify the source of the entity. For Vue.js component this may be for instance a class.
Version since this symbol is available.
Specifies whether the symbol is deprecated. Deprecated symbol usage is discouraged, but still supported. Value can be a boolean or a string message with explanation and migration information.
Version in which this symbol was first deprecated.
Specifies whether the symbol is obsolete. Obsolete symbols are no longer supported. Value can be a boolean or a string message with explanation and migration information.
Version in which this symbol was first made obsolete.
Specifies whether the symbol is experimental. Value can be a boolean or a string message with explanation. Experimental symbols should be used with caution as the API might change.
Mark contribution as virtual. Virtual contributions can be filtered out if needed in references. A virtual contribution meaning may differ by framework or kind contexts, but usually means something synthetic or something, which gets erased in the runtime by the framework. E.g. Vue or Angular attribute bindings are virtual.
Mark contribution as abstract. Such contributions serve only as super contributions for other contributions.
Mark contribution as an extension. Such contributions do not define a new contribution on their own, but can provide additional properties or contributions to existing contributions.
Contains contributions to HTML namespace. It's property names represent symbol kinds, its property values contain list of contributions of particular kind. There are 2 predefined kinds, which integrate directly with IDE - HTML elements and HTML attributes. There are also 2 deprecated kinds: tags (which is equivalent to 'elements') and 'events' (which was moved to JS namespace)
3 nested properties
Deprecated, use top-level js-types-syntax property.
Deprecated, use top-level property.
Deprecated, use elements property.
Contains contributions to CSS namespace. It's property names represent symbol kinds, its property values contain list of contributions of particular kind. There are predefined kinds, which integrate directly with IDE - properties, classes, functions, pseudo-elements, pseudo-classes and parts.
Contains contributions to JS namespace. It's property names represent symbol kinds, its property values contain list of contributions of particular kind. There are 2 predefined kinds, which integrate directly with IDE - properties and events.
Specify list of contribution kinds qualified with a namespace, for which during reference resolution this will be the final contribution host. E.g. if a special HTML element does not accept standard attributes, add: "exclusive-contributions": ["/html/attributes"].
Specify type according to selected language for type syntax. The type can be specified by a string expression, an object with list of imports and an expression, or an array of possible types.
Name of the symbol to import
Name of module, which exports the type. May be omitted, in which case it's assumed to be the name of the library.
Allows to specify the source of the entity. For Vue.js component this may be for instance a class.
Short description to be rendered in documentation popup. It will be rendered according to description-markup setting.
Custom sections to be shown below description in the documentation popup.
Link to online documentation.
Mark contribution as virtual. Virtual contributions can be filtered out if needed in references. A virtual contribution meaning may differ by framework or kind contexts, but usually means something synthetic or something, which gets erased in the runtime by the framework. E.g. Vue or Angular attribute bindings are virtual.
Mark contribution as abstract. Such contributions serve only as super contributions for other contributions.
Mark contribution as an extension. Such contributions do not define a new contribution on their own, but can provide additional properties or contributions to existing contributions.
Specify list of contribution kinds qualified with a namespace, for which during reference resolution this will be the final contribution host. E.g. if a special HTML element does not accept standard attributes, add: "exclusive-contributions": ["/html/attributes"].
A reference to an element in Web-Types model.
A reference to an element in Web-Types model.
Override global name conversion rules for matching symbols under the path.
3 nested properties
Override global canonical name conversion rule against which comparisons are made for the referenced symbols. When only rule name is specified, it applies to the symbols of the same kind as the last segment of the referenced path. Otherwise format of the property names is '{namespace}/{symbol kind}'. Supported by JetBrains IDEs since 2022.1.
Override global rules, by which referenced symbols should be matched against their canonical names. When only rule names are specified, they applies to the symbols of the same kind as the last segment of the referenced path. Otherwise format of the property names is '{namespace}/{symbol kind}'. Supported by JetBrains IDEs since 2022.1.
Override global rules, by which referenced symbol names should be proposed in auto completion. When only rule names are specified, they applies to the symbols of the same kind as the last segment of the referenced path. Otherwise format of the property names is '{namespace}/{symbol kind}'. Supported by JetBrains IDEs since 2022.1.
Override global name conversion rules for matching symbols under the path.
Override global canonical name conversion rule against which comparisons are made for the referenced symbols. When only rule name is specified, it applies to the symbols of the same kind as the last segment of the referenced path. Otherwise format of the property names is '{namespace}/{symbol kind}'. Supported by JetBrains IDEs since 2022.1.
Override global rules, by which referenced symbols should be matched against their canonical names. When only rule names are specified, they applies to the symbols of the same kind as the last segment of the referenced path. Otherwise format of the property names is '{namespace}/{symbol kind}'. Supported by JetBrains IDEs since 2022.1.
Override global rules, by which referenced symbol names should be proposed in auto completion. When only rule names are specified, they applies to the symbols of the same kind as the last segment of the referenced path. Otherwise format of the property names is '{namespace}/{symbol kind}'. Supported by JetBrains IDEs since 2022.1.
A reference to an element in Web-Types model.
Version since this symbol is available.
Specifies whether the symbol is deprecated. Deprecated symbol usage is discouraged, but still supported. Value can be a boolean or a string message with explanation and migration information.
Version in which this symbol was first deprecated.
Specifies whether the symbol is obsolete. Obsolete symbols are no longer supported. Value can be a boolean or a string message with explanation and migration information.
Version in which this symbol was first made obsolete.
Specifies whether the symbol is experimental. Value can be a boolean or a string message with explanation. Experimental symbols should be used with caution as the API might change.
A RegEx pattern to match whole content. Syntax should work with at least ECMA, Java and Python implementations.
HTML elements.
HTML attributes.
DOM events are deprecated in HTML namespace. Contribute events to JS namespace: /js/events
Contains contributions to HTML namespace. It's property names represent symbol kinds, its property values contain list of contributions of particular kind. There are 2 predefined kinds, which integrate directly with IDE - HTML elements and HTML attributes. There are also 2 deprecated kinds: tags (which is equivalent to 'elements') and 'events' (which was moved to JS namespace)
Deprecated, use top-level js-types-syntax property.
Deprecated, use top-level property.
Deprecated, use elements property.
4 nested properties
Deprecated vue-specific property - contribute Vue directives to /contributions/html/vue-directives
4 nested properties
Short description to be rendered in documentation popup. It will be rendered according to description-markup setting.
Link to online documentation.
Whether directive requires an argument
Deprecated vue-specific property - contribute Vue directives to /contributions/html/vue-directives
CSS properties
CSS pseudo-elements
CSS pseudo-classes
CSS functions
CSS classes
CSS parts
Contains contributions to CSS namespace. It's property names represent symbol kinds, its property values contain list of contributions of particular kind. There are predefined kinds, which integrate directly with IDE - properties, classes, functions, pseudo-elements, pseudo-classes and parts.
Specify whether the pseudo-element requires arguments.
Specify whether the pseudo-class requires arguments.
DOM events
JavaScript properties of an object, HTML tag, framework component, etc.
Symbols available for JavaScript resolve. TypeScript resolve is not supported.
Contains contributions to JS namespace. It's property names represent symbol kinds, its property values contain list of contributions of particular kind. There are 2 predefined kinds, which integrate directly with IDE - properties and events, but only events can be contributed globally.
DOM events
Globally available symbols for JavaScript resolve. TypeScript resolve is not supported. Please note that these symbols will override any normally available global JavaScript symbols.
Contains contributions to JS namespace. It's property names represent symbol kinds, its property values contain list of contributions of particular kind. There are 2 predefined kinds, which integrate directly with IDE - properties and events.
Specifies whether the property is read only.
Kind of the symbol. Default is variable.
Deprecated, use top-level js-types-syntax property.
Deprecated, use top-level property.
Deprecated vue-specific property - contribute Vue directives to /contributions/html/vue-directives
Short description to be rendered in documentation popup. It will be rendered according to description-markup setting.
Link to online documentation.
Whether directive requires an argument
Short description to be rendered in documentation popup. It will be rendered according to description-markup setting.
Link to online documentation.