diff --git a/.editorconfig b/.editorconfig index a517dcaa..bd669a83 100644 --- a/.editorconfig +++ b/.editorconfig @@ -11,14 +11,14 @@ trim_trailing_whitespace = true [*.go] indent_style = tab -[*.{js,jsx,ts,tsx,json,html}] +[*.{js, jsx, ts, tsx, json, html}] indent_style = space indent_size = 4 [webapp/package.json] indent_size = 2 -[Makefile,*.mk] +[{Makefile, *.mk}] indent_style = tab [*.md] diff --git a/.golangci.yml b/.golangci.yml index 1775c3ee..c28cb72b 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -15,11 +15,13 @@ linters-settings: govet: check-shadowing: true enable-all: true + disable: + - fieldalignment misspell: locale: US maligned: suggest-new: true - + linters: disable-all: true enable: diff --git a/build/synk/plan.yml b/build/synk/plan.yml new file mode 100644 index 00000000..bb48626e --- /dev/null +++ b/build/synk/plan.yml @@ -0,0 +1,44 @@ +checks: + - type: repo_is_clean + params: + repo: source + - type: repo_is_clean + params: + repo: target +actions: + - paths: + - build/pluginctl + - build/manifest + actions: + - type: overwrite_directory + params: + create: true + - paths: + - Makefile + actions: + - type: overwrite_file + params: + create: true + - paths: + - .editorconfig + - .gitattributes + - .gitignore + - build/.gitignore + - build/go.mod + - build/go.sum + - build/setup.mk + - server/.gitignore + #- webapp/.eslintrc.json + - webapp/.npmrc + - webapp/babel.config.js + #- webapp/package.json + - webapp/tsconfig.json + - webapp/webpack.config.js + - webapp/src/manifest.test.ts + - webapp/tests/setup.js + actions: + - type: overwrite_file + params: + create: true + conditions: + - type: file_unaltered diff --git a/webapp/package.json b/webapp/package.json index aee5c179..02bd4abd 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -114,7 +114,7 @@ "jest-canvas-mock" ], "setupFilesAfterEnv": [ - "/tests/setup.js" + "/tests/setup.tsx" ], "testURL": "http://localhost:8065" } diff --git a/webapp/src/manifest.test.tsx b/webapp/src/manifest.test.tsx new file mode 100644 index 00000000..9774e3f2 --- /dev/null +++ b/webapp/src/manifest.test.tsx @@ -0,0 +1,13 @@ +import manifest, {id, version} from './manifest'; + +test('Plugin manifest, id and version are defined', () => { + expect(manifest).toBeDefined(); + expect(manifest.id).toBeDefined(); + expect(manifest.version).toBeDefined(); +}); + +// To ease migration, verify separate export of id and version. +test('Plugin id and version are defined', () => { + expect(id).toBeDefined(); + expect(version).toBeDefined(); +}); diff --git a/webapp/tests/setup.js b/webapp/tests/setup.tsx similarity index 71% rename from webapp/tests/setup.js rename to webapp/tests/setup.tsx index 32c5eb2d..4ce37f2c 100644 --- a/webapp/tests/setup.js +++ b/webapp/tests/setup.tsx @@ -1,11 +1,11 @@ +import 'mattermost-webapp/tests/setup'; import '@babel/polyfill'; -import Adapter from 'enzyme-adapter-react-16'; -import {configure} from 'enzyme'; - -configure({adapter: new Adapter()}); +import {jest} from '@jest/globals'; +// @ts-ignore global.ReactBootstrap = require('react-bootstrap'); +// @ts-ignore global.PostUtils = { formatText: jest.fn().mockImplementation((t) => 'mockFormatText(' + t + ')'), messageHtmlToComponent: jest.fn().mockImplementation((t) => 'mockMessageHtmlToComponent(' + t + ')'),