soapbox/.vscode/soapbox.code-snippets

59 wiersze
1.9 KiB
Plaintext

{
// Place your Soapbox workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
// Placeholders with the same ids are connected.
// Example:
// "Print to console": {
// "scope": "javascript,typescript",
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"React component": {
"scope": "typescriptreact",
"prefix": ["component", "react component"],
"body": [
"import React from 'react';",
"",
"interface I${1:Component} {",
"}",
"",
"/** ${1:Component} component. */",
"const ${1:Component}: React.FC<I${1:Component}> = () => {",
" return (",
" <></>",
" );",
"};",
"",
"export default ${1:Component};"
],
"description": "React component"
},
"React component test": {
"scope": "typescriptreact",
"prefix": ["test", "component test", "react component test"],
"body": [
"import React from 'react';",
"",
"import { render, screen } from 'soapbox/jest/test-helpers';",
"",
"import ${1:Component} from '${2:..}';",
"",
"describe('<${1:Component} />', () => {",
" it('renders', () => {",
" render(<${1:Component} />);",
"",
" expect(screen.getByTestId('${3:test}')).toBeInTheDocument();",
" });",
"});"
],
"description": "React component test"
}
}