@grafana/plugin-e2e 0.0.0 → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/README.md +1 -0
  2. package/dist/api.d.ts +41 -0
  3. package/dist/api.js +15 -0
  4. package/dist/e2e-selectors/index.d.ts +2 -0
  5. package/dist/e2e-selectors/index.js +20 -0
  6. package/dist/e2e-selectors/resolver.d.ts +3 -0
  7. package/dist/e2e-selectors/resolver.js +38 -0
  8. package/dist/e2e-selectors/resolver.test.d.ts +1 -0
  9. package/dist/e2e-selectors/resolver.test.js +39 -0
  10. package/dist/e2e-selectors/types.d.ts +691 -0
  11. package/dist/e2e-selectors/types.js +2 -0
  12. package/dist/e2e-selectors/versioned/apis.d.ts +29 -0
  13. package/dist/e2e-selectors/versioned/apis.js +35 -0
  14. package/dist/e2e-selectors/versioned/components.d.ts +419 -0
  15. package/dist/e2e-selectors/versioned/components.js +426 -0
  16. package/dist/e2e-selectors/versioned/constants.d.ts +1 -0
  17. package/dist/e2e-selectors/versioned/constants.js +4 -0
  18. package/dist/e2e-selectors/versioned/index.d.ts +2 -0
  19. package/dist/e2e-selectors/versioned/index.js +7 -0
  20. package/dist/e2e-selectors/versioned/pages.d.ts +334 -0
  21. package/dist/e2e-selectors/versioned/pages.js +345 -0
  22. package/dist/e2e-selectors/versioned/types.d.ts +8 -0
  23. package/dist/e2e-selectors/versioned/types.js +2 -0
  24. package/dist/fixtures/annotationEditPage.d.ts +7 -0
  25. package/dist/fixtures/annotationEditPage.js +62 -0
  26. package/dist/fixtures/commands/createDataSource.d.ts +8 -0
  27. package/dist/fixtures/commands/createDataSource.js +110 -0
  28. package/dist/fixtures/commands/createDataSourceConfigPage.d.ts +8 -0
  29. package/dist/fixtures/commands/createDataSourceConfigPage.js +82 -0
  30. package/dist/fixtures/commands/login.d.ts +6 -0
  31. package/dist/fixtures/commands/login.js +88 -0
  32. package/dist/fixtures/commands/readProvision.d.ts +7 -0
  33. package/dist/fixtures/commands/readProvision.js +67 -0
  34. package/dist/fixtures/explorePage.d.ts +7 -0
  35. package/dist/fixtures/explorePage.js +59 -0
  36. package/dist/fixtures/grafanaVersion.d.ts +6 -0
  37. package/dist/fixtures/grafanaVersion.js +63 -0
  38. package/dist/fixtures/index.d.ts +14 -0
  39. package/dist/fixtures/index.js +29 -0
  40. package/dist/fixtures/newDashboardPage.d.ts +7 -0
  41. package/dist/fixtures/newDashboardPage.js +59 -0
  42. package/dist/fixtures/panelEditPage.d.ts +7 -0
  43. package/dist/fixtures/panelEditPage.js +56 -0
  44. package/dist/fixtures/selectors.d.ts +7 -0
  45. package/dist/fixtures/selectors.js +62 -0
  46. package/dist/fixtures/types.d.ts +2 -0
  47. package/dist/fixtures/types.js +2 -0
  48. package/dist/fixtures/variableEditPage.d.ts +7 -0
  49. package/dist/fixtures/variableEditPage.js +62 -0
  50. package/dist/index.d.ts +3 -0
  51. package/dist/index.js +22 -0
  52. package/dist/matchers/index.d.ts +20 -0
  53. package/dist/matchers/index.js +13 -0
  54. package/dist/matchers/toBeOK.d.ts +7 -0
  55. package/dist/matchers/toBeOK.js +69 -0
  56. package/dist/matchers/toDisplayPreviews.d.ts +7 -0
  57. package/dist/matchers/toDisplayPreviews.js +70 -0
  58. package/dist/matchers/toHavePanelError.d.ts +9 -0
  59. package/dist/matchers/toHavePanelError.js +74 -0
  60. package/dist/matchers/utils.d.ts +1 -0
  61. package/dist/matchers/utils.js +5 -0
  62. package/dist/models/AnnotationEditPage.d.ts +8 -0
  63. package/dist/models/AnnotationEditPage.js +82 -0
  64. package/dist/models/AnnotationPage.d.ts +8 -0
  65. package/dist/models/AnnotationPage.js +123 -0
  66. package/dist/models/DashboardPage.d.ts +15 -0
  67. package/dist/models/DashboardPage.js +163 -0
  68. package/dist/models/DataSourceConfigPage.d.ts +10 -0
  69. package/dist/models/DataSourceConfigPage.js +135 -0
  70. package/dist/models/DataSourcePicker.d.ts +6 -0
  71. package/dist/models/DataSourcePicker.js +86 -0
  72. package/dist/models/ExplorePage.d.ts +12 -0
  73. package/dist/models/ExplorePage.js +130 -0
  74. package/dist/models/GrafanaPage.d.ts +11 -0
  75. package/dist/models/GrafanaPage.js +150 -0
  76. package/dist/models/PanelEditPage.d.ts +15 -0
  77. package/dist/models/PanelEditPage.js +165 -0
  78. package/dist/models/TimeRange.d.ts +6 -0
  79. package/dist/models/TimeRange.js +119 -0
  80. package/dist/models/VariableEditPage.d.ts +10 -0
  81. package/dist/models/VariableEditPage.js +109 -0
  82. package/dist/models/VariablePage.d.ts +8 -0
  83. package/dist/models/VariablePage.js +107 -0
  84. package/dist/models/index.d.ts +8 -0
  85. package/dist/models/index.js +19 -0
  86. package/dist/selectorEngine.d.ts +4 -0
  87. package/dist/selectorEngine.js +18 -0
  88. package/dist/types.d.ts +54 -0
  89. package/dist/types.js +2 -0
  90. package/package.json +4 -4
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.VariableEditPage = void 0;
55
+ var gte = require('semver/functions/gte');
56
+ var DataSourcePicker_1 = require("./DataSourcePicker");
57
+ var GrafanaPage_1 = require("./GrafanaPage");
58
+ var VariableEditPage = (function (_super) {
59
+ __extends(VariableEditPage, _super);
60
+ function VariableEditPage(ctx) {
61
+ var _this = _super.call(this, ctx) || this;
62
+ _this.datasource = new DataSourcePicker_1.DataSourcePicker(ctx);
63
+ return _this;
64
+ }
65
+ VariableEditPage.prototype.setVariableType = function (type) {
66
+ return __awaiter(this, void 0, void 0, function () {
67
+ return __generator(this, function (_a) {
68
+ switch (_a.label) {
69
+ case 0: return [4, this.getByTestIdOrAriaLabel(this.ctx.selectors.pages.Dashboard.Settings.Variables.Edit.General.generalTypeSelectV2)
70
+ .locator('input')
71
+ .fill(type)];
72
+ case 1:
73
+ _a.sent();
74
+ return [4, this.ctx.page.keyboard.press('ArrowDown')];
75
+ case 2:
76
+ _a.sent();
77
+ return [4, this.ctx.page.keyboard.press('Enter')];
78
+ case 3:
79
+ _a.sent();
80
+ return [4, this.getByTestIdOrAriaLabel(this.ctx.selectors.pages.Dashboard.Settings.Variables.Edit.General.generalTypeSelectV2).scrollIntoViewIfNeeded()];
81
+ case 4:
82
+ _a.sent();
83
+ return [2];
84
+ }
85
+ });
86
+ });
87
+ };
88
+ VariableEditPage.prototype.runQuery = function () {
89
+ return __awaiter(this, void 0, void 0, function () {
90
+ return __generator(this, function (_a) {
91
+ switch (_a.label) {
92
+ case 0:
93
+ if (!gte(this.ctx.grafanaVersion, '9.2.0')) return [3, 2];
94
+ return [4, this.getByTestIdOrAriaLabel(this.ctx.selectors.pages.Dashboard.Settings.Variables.Edit.General.submitButton).click()];
95
+ case 1:
96
+ _a.sent();
97
+ return [3, 4];
98
+ case 2: return [4, this.ctx.page.keyboard.press('Tab')];
99
+ case 3:
100
+ _a.sent();
101
+ _a.label = 4;
102
+ case 4: return [2];
103
+ }
104
+ });
105
+ });
106
+ };
107
+ return VariableEditPage;
108
+ }(GrafanaPage_1.GrafanaPage));
109
+ exports.VariableEditPage = VariableEditPage;
@@ -0,0 +1,8 @@
1
+ import { PluginTestCtx } from '../types';
2
+ import { GrafanaPage } from './GrafanaPage';
3
+ import { VariableEditPage } from './VariableEditPage';
4
+ export declare class VariablePage extends GrafanaPage {
5
+ constructor(ctx: PluginTestCtx);
6
+ goto(): Promise<void>;
7
+ clickAddNew(): Promise<VariableEditPage>;
8
+ }
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.VariablePage = void 0;
55
+ var GrafanaPage_1 = require("./GrafanaPage");
56
+ var VariableEditPage_1 = require("./VariableEditPage");
57
+ var VariablePage = (function (_super) {
58
+ __extends(VariablePage, _super);
59
+ function VariablePage(ctx) {
60
+ return _super.call(this, ctx) || this;
61
+ }
62
+ VariablePage.prototype.goto = function () {
63
+ return __awaiter(this, void 0, void 0, function () {
64
+ return __generator(this, function (_a) {
65
+ switch (_a.label) {
66
+ case 0: return [4, this.ctx.page.goto(this.ctx.selectors.pages.AddDashboard.Settings.Variables.url, {
67
+ waitUntil: 'networkidle',
68
+ })];
69
+ case 1:
70
+ _a.sent();
71
+ return [2];
72
+ }
73
+ });
74
+ });
75
+ };
76
+ VariablePage.prototype.clickAddNew = function () {
77
+ return __awaiter(this, void 0, void 0, function () {
78
+ var _a, addVariableCTAV2, addVariableCTAV2Item, newButton, ctaSelector, error_1;
79
+ return __generator(this, function (_b) {
80
+ switch (_b.label) {
81
+ case 0:
82
+ _a = this.ctx.selectors.pages.Dashboard.Settings.Variables.List, addVariableCTAV2 = _a.addVariableCTAV2, addVariableCTAV2Item = _a.addVariableCTAV2Item, newButton = _a.newButton;
83
+ _b.label = 1;
84
+ case 1:
85
+ _b.trys.push([1, 4, , 6]);
86
+ ctaSelector = this.getByTestIdOrAriaLabel(addVariableCTAV2(addVariableCTAV2Item));
87
+ return [4, ctaSelector.waitFor()];
88
+ case 2:
89
+ _b.sent();
90
+ return [4, ctaSelector.click()];
91
+ case 3:
92
+ _b.sent();
93
+ return [3, 6];
94
+ case 4:
95
+ error_1 = _b.sent();
96
+ return [4, this.getByTestIdOrAriaLabel(newButton).click()];
97
+ case 5:
98
+ _b.sent();
99
+ return [3, 6];
100
+ case 6: return [2, new VariableEditPage_1.VariableEditPage(this.ctx)];
101
+ }
102
+ });
103
+ });
104
+ };
105
+ return VariablePage;
106
+ }(GrafanaPage_1.GrafanaPage));
107
+ exports.VariablePage = VariablePage;
@@ -0,0 +1,8 @@
1
+ export { AnnotationEditPage } from './AnnotationEditPage';
2
+ export { AnnotationPage } from './AnnotationPage';
3
+ export { DashboardPage } from './DashboardPage';
4
+ export { DataSourceConfigPage } from './DataSourceConfigPage';
5
+ export { GrafanaPage } from './GrafanaPage';
6
+ export { PanelEditPage } from './PanelEditPage';
7
+ export { VariableEditPage } from './VariableEditPage';
8
+ export { VariablePage } from './VariablePage';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VariablePage = exports.VariableEditPage = exports.PanelEditPage = exports.GrafanaPage = exports.DataSourceConfigPage = exports.DashboardPage = exports.AnnotationPage = exports.AnnotationEditPage = void 0;
4
+ var AnnotationEditPage_1 = require("./AnnotationEditPage");
5
+ Object.defineProperty(exports, "AnnotationEditPage", { enumerable: true, get: function () { return AnnotationEditPage_1.AnnotationEditPage; } });
6
+ var AnnotationPage_1 = require("./AnnotationPage");
7
+ Object.defineProperty(exports, "AnnotationPage", { enumerable: true, get: function () { return AnnotationPage_1.AnnotationPage; } });
8
+ var DashboardPage_1 = require("./DashboardPage");
9
+ Object.defineProperty(exports, "DashboardPage", { enumerable: true, get: function () { return DashboardPage_1.DashboardPage; } });
10
+ var DataSourceConfigPage_1 = require("./DataSourceConfigPage");
11
+ Object.defineProperty(exports, "DataSourceConfigPage", { enumerable: true, get: function () { return DataSourceConfigPage_1.DataSourceConfigPage; } });
12
+ var GrafanaPage_1 = require("./GrafanaPage");
13
+ Object.defineProperty(exports, "GrafanaPage", { enumerable: true, get: function () { return GrafanaPage_1.GrafanaPage; } });
14
+ var PanelEditPage_1 = require("./PanelEditPage");
15
+ Object.defineProperty(exports, "PanelEditPage", { enumerable: true, get: function () { return PanelEditPage_1.PanelEditPage; } });
16
+ var VariableEditPage_1 = require("./VariableEditPage");
17
+ Object.defineProperty(exports, "VariableEditPage", { enumerable: true, get: function () { return VariableEditPage_1.VariableEditPage; } });
18
+ var VariablePage_1 = require("./VariablePage");
19
+ Object.defineProperty(exports, "VariablePage", { enumerable: true, get: function () { return VariablePage_1.VariablePage; } });
@@ -0,0 +1,4 @@
1
+ export declare const grafanaE2ESelectorEngine: () => {
2
+ query(root: Element, selector: string): Element;
3
+ queryAll(root: Element, selector: string): NodeListOf<Element>;
4
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.grafanaE2ESelectorEngine = void 0;
4
+ var grafanaE2ESelectorEngine = function () { return ({
5
+ query: function (root, selector) {
6
+ if (selector.startsWith('data-testid')) {
7
+ return root.querySelector("[data-testid=\"".concat(selector, "\"]"));
8
+ }
9
+ return root.querySelector("[aria-label=\"".concat(selector, "\"]"));
10
+ },
11
+ queryAll: function (root, selector) {
12
+ if (selector.startsWith('data-testid')) {
13
+ return root.querySelectorAll("[data-testid=\"".concat(selector, "\"]"));
14
+ }
15
+ return root.querySelectorAll("[aria-label=\"".concat(selector, "\"]"));
16
+ },
17
+ }); };
18
+ exports.grafanaE2ESelectorEngine = grafanaE2ESelectorEngine;
@@ -0,0 +1,54 @@
1
+ import { PlaywrightTestArgs } from '@playwright/test';
2
+ import { E2ESelectors } from './e2e-selectors/types';
3
+ export type PluginTestCtx = {
4
+ grafanaVersion: string;
5
+ selectors: E2ESelectors;
6
+ } & Pick<PlaywrightTestArgs, 'page' | 'request'>;
7
+ export interface DataSource<T = any> {
8
+ id?: number;
9
+ editable?: boolean;
10
+ uid?: string;
11
+ orgId?: number;
12
+ name?: string;
13
+ type: string;
14
+ access?: string;
15
+ url?: string;
16
+ database?: string;
17
+ isDefault?: boolean;
18
+ jsonData?: T;
19
+ secureJsonData?: T;
20
+ }
21
+ export type ProvisionFile<T = DataSource> = {
22
+ datasources: Array<DataSource<T>>;
23
+ };
24
+ export type CreateDataSourceArgs = {
25
+ datasource: DataSource;
26
+ };
27
+ export type CreateDataSourcePageArgs = {
28
+ type: string;
29
+ name?: string;
30
+ deleteDataSourceAfterTest?: boolean;
31
+ };
32
+ export type RequestOptions = {
33
+ timeout?: number;
34
+ };
35
+ export interface TimeRangeArgs {
36
+ from: string;
37
+ to: string;
38
+ zone?: string;
39
+ }
40
+ export type GotoDashboardArgs = {
41
+ uid?: string;
42
+ timeRange?: TimeRangeArgs;
43
+ queryParams?: URLSearchParams;
44
+ };
45
+ export type ReadProvisionArgs = {
46
+ filePath: string;
47
+ };
48
+ export type NavigateOptions = {
49
+ referer?: string;
50
+ timeout?: number;
51
+ waitUntil?: 'load' | 'domcontentloaded' | 'networkidle' | 'commit';
52
+ queryParams?: URLSearchParams;
53
+ };
54
+ export type Visualization = 'Alert list' | 'Bar gauge' | 'Clock' | 'Dashboard list' | 'Gauge' | 'Graph' | 'Heatmap' | 'Logs' | 'News' | 'Pie Chart' | 'Plugin list' | 'Polystat' | 'Stat' | 'Table' | 'Text' | 'Time series' | 'Worldmap Panel';
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grafana/plugin-e2e",
3
- "version": "0.0.0",
3
+ "version": "0.0.1",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "files": [
@@ -38,11 +38,11 @@
38
38
  "devDependencies": {
39
39
  "@playwright/test": "^1.39.0",
40
40
  "@types/uuid": "^9.0.7",
41
- "dotenv": "^16.3.1",
42
- "typescript": "5.3.3"
41
+ "dotenv": "^16.3.1"
43
42
  },
44
43
  "dependencies": {
45
44
  "semver": "^7.5.4",
46
45
  "uuid": "^9.0.1"
47
- }
46
+ },
47
+ "gitHead": "08a556e5a4d4a093a6a6dad65ffcf20abe78508d"
48
48
  }