From e939222efaa6de95058e6ae4cc3665a211ffac87 Mon Sep 17 00:00:00 2001 From: rozetko Date: Mon, 12 Dec 2022 17:59:26 +0300 Subject: [PATCH] grafana app boilerplate --- .config/.eslintrc | 12 + .config/.prettierrc.js | 16 + .config/Dockerfile | 15 + .config/README.md | 120 + .config/jest-setup.js | 24 + .config/jest.config.js | 31 + .config/tsconfig.json | 17 + .config/types/custom.d.ts | 37 + .config/webpack/constants.ts | 2 + .config/webpack/tsconfig.webpack.json | 9 + .config/webpack/utils.ts | 42 + .config/webpack/webpack.config.ts | 185 + .eslintrc | 3 + .gitignore | 1 + .nvmrc | 1 + .prettierrc.js | 4 + CHANGELOG.md | 5 + LICENSE | 201 + README.md | 79 + cypress/integration/01-smoke.spec.ts | 10 + docker-compose.yaml | 14 + jest-setup.js | 2 + jest.config.js | 4 + package.json | 68 + src/README.md | 5 + src/components/App/App.test.tsx | 32 + src/components/App/App.tsx | 8 + src/components/App/index.tsx | 1 + src/components/AppConfig/AppConfig.test.tsx | 51 + src/components/AppConfig/AppConfig.tsx | 92 + src/components/AppConfig/index.tsx | 1 + src/img/logo.svg | 1 + src/module.ts | 12 + src/plugin.json | 34 + tsconfig.json | 3 + yarn.lock | 9802 +++++++++++++++++++ 36 files changed, 10944 insertions(+) create mode 100644 .config/.eslintrc create mode 100644 .config/.prettierrc.js create mode 100644 .config/Dockerfile create mode 100644 .config/README.md create mode 100644 .config/jest-setup.js create mode 100644 .config/jest.config.js create mode 100644 .config/tsconfig.json create mode 100644 .config/types/custom.d.ts create mode 100644 .config/webpack/constants.ts create mode 100644 .config/webpack/tsconfig.webpack.json create mode 100644 .config/webpack/utils.ts create mode 100644 .config/webpack/webpack.config.ts create mode 100644 .eslintrc create mode 100644 .gitignore create mode 100644 .nvmrc create mode 100644 .prettierrc.js create mode 100644 CHANGELOG.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 cypress/integration/01-smoke.spec.ts create mode 100644 docker-compose.yaml create mode 100644 jest-setup.js create mode 100644 jest.config.js create mode 100644 package.json create mode 100644 src/README.md create mode 100644 src/components/App/App.test.tsx create mode 100644 src/components/App/App.tsx create mode 100644 src/components/App/index.tsx create mode 100644 src/components/AppConfig/AppConfig.test.tsx create mode 100644 src/components/AppConfig/AppConfig.tsx create mode 100644 src/components/AppConfig/index.tsx create mode 100644 src/img/logo.svg create mode 100644 src/module.ts create mode 100644 src/plugin.json create mode 100644 tsconfig.json create mode 100644 yarn.lock diff --git a/.config/.eslintrc b/.config/.eslintrc new file mode 100644 index 0000000..668797d --- /dev/null +++ b/.config/.eslintrc @@ -0,0 +1,12 @@ +/* + * ⚠️⚠️⚠️ THIS FILE WAS SCAFFOLDED BY `@grafana/create-plugin`. DO NOT EDIT THIS FILE DIRECTLY. ⚠️⚠️⚠️ + * + * In order to extend the configuration follow the steps in .config/README.md + */ + { + "extends": ["@grafana/eslint-config"], + "root": true, + "rules": { + "react/prop-types": "off" + } +} diff --git a/.config/.prettierrc.js b/.config/.prettierrc.js new file mode 100644 index 0000000..66a76ec --- /dev/null +++ b/.config/.prettierrc.js @@ -0,0 +1,16 @@ +/* + * ⚠️⚠️⚠️ THIS FILE WAS SCAFFOLDED BY `@grafana/create-plugin`. DO NOT EDIT THIS FILE DIRECTLY. ⚠️⚠️⚠️ + * + * In order to extend the configuration follow the steps in .config/README.md + */ + +module.exports = { + "endOfLine": "auto", + "printWidth": 120, + "trailingComma": "es5", + "semi": true, + "jsxSingleQuote": false, + "singleQuote": true, + "useTabs": false, + "tabWidth": 2 +}; \ No newline at end of file diff --git a/.config/Dockerfile b/.config/Dockerfile new file mode 100644 index 0000000..2441df1 --- /dev/null +++ b/.config/Dockerfile @@ -0,0 +1,15 @@ +ARG grafana_version=latest + +FROM grafana/grafana:${grafana_version} + +# Make it as simple as possible to access the grafana instance for development purposes +# Do NOT enable these settings in a public facing / production grafana instance +ENV GF_AUTH_ANONYMOUS_ORG_ROLE "Admin" +ENV GF_AUTH_ANONYMOUS_ENABLED "true" +ENV GF_AUTH_BASIC_ENABLED "false" +# Set development mode so plugins can be loaded without the need to sign +ENV GF_DEFAULT_APP_MODE "development" + +# Inject livereload script into grafana index.html +USER root +RUN sed -i 's/<\/body><\/html>/