@grafana/create-plugin 6.7.0-canary.2359.20364172906.0 → 6.7.0
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.
- package/CHANGELOG.md +17 -0
- package/dist/constants.js +0 -1
- package/dist/utils/utils.templates.js +2 -7
- package/package.json +2 -2
- package/src/constants.ts +0 -1
- package/src/types.ts +0 -2
- package/src/utils/tests/utils.config.test.ts +0 -2
- package/src/utils/utils.config.ts +0 -4
- package/src/utils/utils.templates.ts +2 -7
- package/templates/common/.config/bundler/externals.ts +3 -4
- package/templates/common/.config/docker-compose-base.yaml +1 -1
- package/templates/common/.cprc.json +0 -1
- package/templates/common/_package.json +44 -45
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
# v6.7.0 (Wed Jan 07 2026)
|
|
2
|
+
|
|
3
|
+
#### 🚀 Enhancement
|
|
4
|
+
|
|
5
|
+
- chore: only support react router v6 for new plugin scaffolds [#2360](https://github.com/grafana/plugin-tools/pull/2360) ([@jackw](https://github.com/jackw))
|
|
6
|
+
|
|
7
|
+
#### 🐛 Bug Fix
|
|
8
|
+
|
|
9
|
+
- Update grafana patch dependencies to v12.3.1 [#2362](https://github.com/grafana/plugin-tools/pull/2362) ([@renovate-sh-app[bot]](https://github.com/renovate-sh-app[bot]))
|
|
10
|
+
|
|
11
|
+
#### Authors: 2
|
|
12
|
+
|
|
13
|
+
- [@renovate-sh-app[bot]](https://github.com/renovate-sh-app[bot])
|
|
14
|
+
- Jack Westbrook ([@jackw](https://github.com/jackw))
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
1
18
|
# v6.6.0 (Thu Dec 18 2025)
|
|
2
19
|
|
|
3
20
|
#### 🚀 Enhancement
|
package/dist/constants.js
CHANGED
|
@@ -57,7 +57,6 @@ function getTemplateData(cliArgs) {
|
|
|
57
57
|
const { features } = getConfig();
|
|
58
58
|
const currentVersion = CURRENT_APP_VERSION;
|
|
59
59
|
const bundleGrafanaUI = features.bundleGrafanaUI ?? DEFAULT_FEATURE_FLAGS.bundleGrafanaUI;
|
|
60
|
-
const getReactRouterVersion = () => features.useReactRouterV6 ? "6.22.0" : "5.2.0";
|
|
61
60
|
const isAppType = (pluginType) => pluginType === PLUGIN_TYPES.app || pluginType === PLUGIN_TYPES.scenes;
|
|
62
61
|
const isNPM = (packageManagerName) => packageManagerName === "npm";
|
|
63
62
|
const frontendBundler = features.useExperimentalRspack ? "rspack" : "webpack";
|
|
@@ -79,9 +78,7 @@ function getTemplateData(cliArgs) {
|
|
|
79
78
|
isNPM: isNPM(packageManagerName),
|
|
80
79
|
version: currentVersion,
|
|
81
80
|
bundleGrafanaUI,
|
|
82
|
-
|
|
83
|
-
reactRouterVersion: getReactRouterVersion(),
|
|
84
|
-
scenesVersion: features.useReactRouterV6 ? "^6.10.4" : "^5.41.3",
|
|
81
|
+
scenesVersion: "^6.10.4",
|
|
85
82
|
useExperimentalRspack: Boolean(features.useExperimentalRspack),
|
|
86
83
|
frontendBundler
|
|
87
84
|
};
|
|
@@ -102,9 +99,7 @@ function getTemplateData(cliArgs) {
|
|
|
102
99
|
isNPM: isNPM(packageManagerName),
|
|
103
100
|
version: currentVersion,
|
|
104
101
|
bundleGrafanaUI,
|
|
105
|
-
|
|
106
|
-
reactRouterVersion: getReactRouterVersion(),
|
|
107
|
-
scenesVersion: features.useReactRouterV6 ? "^6.10.4" : "^5.41.3",
|
|
102
|
+
scenesVersion: "^6.10.4",
|
|
108
103
|
pluginExecutable: pluginJson.executable,
|
|
109
104
|
useExperimentalRspack: Boolean(features.useExperimentalRspack),
|
|
110
105
|
frontendBundler
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grafana/create-plugin",
|
|
3
|
-
"version": "6.7.0
|
|
3
|
+
"version": "6.7.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"directory": "packages/create-plugin",
|
|
6
6
|
"url": "https://github.com/grafana/plugin-tools"
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"engines": {
|
|
56
56
|
"node": ">=20"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "64e06e63f0c050e9f06a2b63a2f531497b06959f"
|
|
59
59
|
}
|
package/src/constants.ts
CHANGED
package/src/types.ts
CHANGED
|
@@ -22,9 +22,7 @@ export type TemplateData = {
|
|
|
22
22
|
isNPM: boolean;
|
|
23
23
|
version: string;
|
|
24
24
|
bundleGrafanaUI: boolean;
|
|
25
|
-
useReactRouterV6: boolean;
|
|
26
25
|
scenesVersion: string;
|
|
27
|
-
reactRouterVersion: string;
|
|
28
26
|
useExperimentalRspack: boolean;
|
|
29
27
|
pluginExecutable?: string;
|
|
30
28
|
frontendBundler: 'webpack' | 'rspack';
|
|
@@ -94,7 +94,6 @@ describe('getConfig', () => {
|
|
|
94
94
|
const userConfigPath = path.join(tmpDir, '.cprc.json');
|
|
95
95
|
const userConfig: UserConfig = {
|
|
96
96
|
features: {
|
|
97
|
-
useReactRouterV6: true,
|
|
98
97
|
bundleGrafanaUI: true,
|
|
99
98
|
},
|
|
100
99
|
};
|
|
@@ -118,7 +117,6 @@ describe('getConfig', () => {
|
|
|
118
117
|
};
|
|
119
118
|
const userConfig: UserConfig = {
|
|
120
119
|
features: {
|
|
121
|
-
useReactRouterV6: false,
|
|
122
120
|
bundleGrafanaUI: false,
|
|
123
121
|
},
|
|
124
122
|
};
|
|
@@ -11,10 +11,6 @@ import { EOL } from 'node:os';
|
|
|
11
11
|
|
|
12
12
|
export type FeatureFlags = {
|
|
13
13
|
bundleGrafanaUI?: boolean;
|
|
14
|
-
|
|
15
|
-
// If set to true, the plugin will be scaffolded with React Router v6. Defaults to true.
|
|
16
|
-
// (Attention! We always scaffold new projects with React Router v6, so if you are changing this to `false` manually you will need to make changes to the React code as well.)
|
|
17
|
-
useReactRouterV6?: boolean;
|
|
18
14
|
useExperimentalRspack?: boolean;
|
|
19
15
|
useExperimentalUpdates?: boolean;
|
|
20
16
|
};
|
|
@@ -96,7 +96,6 @@ export function getTemplateData(cliArgs?: GenerateCliArgs): TemplateData {
|
|
|
96
96
|
const { features } = getConfig();
|
|
97
97
|
const currentVersion = CURRENT_APP_VERSION;
|
|
98
98
|
const bundleGrafanaUI = features.bundleGrafanaUI ?? DEFAULT_FEATURE_FLAGS.bundleGrafanaUI;
|
|
99
|
-
const getReactRouterVersion = () => (features.useReactRouterV6 ? '6.22.0' : '5.2.0');
|
|
100
99
|
const isAppType = (pluginType: string) => pluginType === PLUGIN_TYPES.app || pluginType === PLUGIN_TYPES.scenes;
|
|
101
100
|
const isNPM = (packageManagerName: string) => packageManagerName === 'npm';
|
|
102
101
|
const frontendBundler = features.useExperimentalRspack ? 'rspack' : 'webpack';
|
|
@@ -122,9 +121,7 @@ export function getTemplateData(cliArgs?: GenerateCliArgs): TemplateData {
|
|
|
122
121
|
isNPM: isNPM(packageManagerName),
|
|
123
122
|
version: currentVersion,
|
|
124
123
|
bundleGrafanaUI,
|
|
125
|
-
|
|
126
|
-
reactRouterVersion: getReactRouterVersion(),
|
|
127
|
-
scenesVersion: features.useReactRouterV6 ? '^6.10.4' : '^5.41.3',
|
|
124
|
+
scenesVersion: '^6.10.4',
|
|
128
125
|
useExperimentalRspack: Boolean(features.useExperimentalRspack),
|
|
129
126
|
frontendBundler,
|
|
130
127
|
};
|
|
@@ -148,9 +145,7 @@ export function getTemplateData(cliArgs?: GenerateCliArgs): TemplateData {
|
|
|
148
145
|
isNPM: isNPM(packageManagerName),
|
|
149
146
|
version: currentVersion,
|
|
150
147
|
bundleGrafanaUI,
|
|
151
|
-
|
|
152
|
-
reactRouterVersion: getReactRouterVersion(),
|
|
153
|
-
scenesVersion: features.useReactRouterV6 ? '^6.10.4' : '^5.41.3',
|
|
148
|
+
scenesVersion: '^6.10.4',
|
|
154
149
|
pluginExecutable: pluginJson.executable,
|
|
155
150
|
useExperimentalRspack: Boolean(features.useExperimentalRspack),
|
|
156
151
|
frontendBundler,
|
|
@@ -22,15 +22,14 @@ export const externals: ExternalsType = [
|
|
|
22
22
|
'redux',
|
|
23
23
|
'rxjs',
|
|
24
24
|
'i18next',
|
|
25
|
-
'react-router',
|
|
26
|
-
'react-router-dom',{{/unless}}
|
|
25
|
+
'react-router',
|
|
27
26
|
'd3',
|
|
28
27
|
'angular',{{#unless bundleGrafanaUI}}
|
|
29
28
|
/^@grafana\/ui/i,{{/unless}}
|
|
30
29
|
/^@grafana\/runtime/i,
|
|
31
30
|
/^@grafana\/data/i,{{#if bundleGrafanaUI}}
|
|
32
31
|
'react-inlinesvg',{{/if}}
|
|
33
|
-
|
|
32
|
+
|
|
34
33
|
// Mark legacy SDK imports as external if their name starts with the "grafana/" prefix
|
|
35
34
|
({ request }: ExternalItemFunctionData, callback: (error?: Error, result?: string) => void) => {
|
|
36
35
|
const prefix = 'grafana/';
|
|
@@ -43,4 +42,4 @@ export const externals: ExternalsType = [
|
|
|
43
42
|
|
|
44
43
|
callback();
|
|
45
44
|
},
|
|
46
|
-
];
|
|
45
|
+
];
|
|
@@ -7,7 +7,7 @@ services:
|
|
|
7
7
|
context: .
|
|
8
8
|
args:
|
|
9
9
|
grafana_image: ${GRAFANA_IMAGE:-{{~grafanaImage~}} }
|
|
10
|
-
grafana_version: ${GRAFANA_VERSION:-12.3.
|
|
10
|
+
grafana_version: ${GRAFANA_VERSION:-12.3.1}
|
|
11
11
|
development: ${DEVELOPMENT:-false}
|
|
12
12
|
anonymous_auth_enabled: ${ANONYMOUS_AUTH_ENABLED:-true}
|
|
13
13
|
ports:
|
|
@@ -18,51 +18,50 @@
|
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"@grafana/eslint-config": "^9.0.0",
|
|
20
20
|
"@grafana/plugin-e2e": "^3.1.0",
|
|
21
|
-
"@grafana/tsconfig": "^2.0.
|
|
22
|
-
"@playwright/test": "^1.
|
|
23
|
-
"@rspack/core": "^1.
|
|
24
|
-
"@rspack/cli": "^1.
|
|
25
|
-
"@stylistic/eslint-plugin-ts": "^
|
|
26
|
-
"@swc/core": "^1.
|
|
21
|
+
"@grafana/tsconfig": "^2.0.1",
|
|
22
|
+
"@playwright/test": "^1.52.0",{{#if useExperimentalRspack}}
|
|
23
|
+
"@rspack/core": "^1.3.0",
|
|
24
|
+
"@rspack/cli": "^1.3.0",{{/if}}
|
|
25
|
+
"@stylistic/eslint-plugin-ts": "^2.9.0",
|
|
26
|
+
"@swc/core": "^1.14.0",
|
|
27
27
|
"@swc/helpers": "^0.5.0",
|
|
28
|
-
"@swc/jest": "^0.2.
|
|
29
|
-
"@testing-library/jest-dom": "
|
|
30
|
-
"@testing-library/react": "
|
|
28
|
+
"@swc/jest": "^0.2.26",
|
|
29
|
+
"@testing-library/jest-dom": "6.1.4",
|
|
30
|
+
"@testing-library/react": "14.0.0",
|
|
31
31
|
"@types/jest": "^29.5.0",
|
|
32
|
-
"@types/node": "^
|
|
32
|
+
"@types/node": "^20.8.7",
|
|
33
33
|
"@types/react": "^18.3.0",
|
|
34
|
-
"@types/react-dom": "^18.3.0",
|
|
35
|
-
"@
|
|
36
|
-
"@typescript-eslint/
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"eslint": "^
|
|
41
|
-
"eslint-
|
|
42
|
-
"eslint-plugin-
|
|
43
|
-
"eslint-plugin-react": "^7.37.0",
|
|
34
|
+
"@types/react-dom": "^18.3.0",
|
|
35
|
+
"@typescript-eslint/eslint-plugin": "^8.3.0",
|
|
36
|
+
"@typescript-eslint/parser": "^8.3.0",{{#unless useExperimentalRspack}}
|
|
37
|
+
"copy-webpack-plugin": "^11.0.0",{{/unless}}
|
|
38
|
+
"css-loader": "^6.7.3",
|
|
39
|
+
"eslint": "^9.0.0",
|
|
40
|
+
"eslint-config-prettier": "^8.8.0",
|
|
41
|
+
"eslint-plugin-jsdoc": "^51.2.3",
|
|
42
|
+
"eslint-plugin-react": "^7.37.5",
|
|
44
43
|
"eslint-plugin-react-hooks": "^7.0.0",
|
|
45
44
|
"eslint-webpack-plugin": "^5.0.0",{{#unless useExperimentalRspack}}
|
|
46
|
-
"fork-ts-checker-webpack-plugin": "^
|
|
47
|
-
"glob": "^
|
|
48
|
-
"identity-obj-proxy": "
|
|
45
|
+
"fork-ts-checker-webpack-plugin": "^8.0.0",{{/unless}}
|
|
46
|
+
"glob": "^10.2.7",
|
|
47
|
+
"identity-obj-proxy": "3.0.0",
|
|
49
48
|
"imports-loader": "^5.0.0",
|
|
50
|
-
"jest": "^29.
|
|
51
|
-
"jest-environment-jsdom": "^29.
|
|
52
|
-
"prettier": "^
|
|
53
|
-
"replace-in-file-webpack-plugin": "^1.0.
|
|
54
|
-
"rspack-plugin-virtual-module": "^1.
|
|
55
|
-
"sass": "
|
|
56
|
-
"sass-loader": "
|
|
57
|
-
"semver": "^7.
|
|
58
|
-
"style-loader": "
|
|
59
|
-
"swc-loader": "^0.2.
|
|
60
|
-
"terser-webpack-plugin": "^5.3.
|
|
61
|
-
"ts-node": "^10.9.
|
|
62
|
-
"ts-checker-rspack-plugin": "^1.
|
|
63
|
-
"typescript": "5.
|
|
64
|
-
"webpack": "^5.
|
|
65
|
-
"webpack-cli": "^
|
|
49
|
+
"jest": "^29.5.0",
|
|
50
|
+
"jest-environment-jsdom": "^29.5.0",
|
|
51
|
+
"prettier": "^2.8.7",
|
|
52
|
+
"replace-in-file-webpack-plugin": "^1.0.6",{{#if useExperimentalRspack}}
|
|
53
|
+
"rspack-plugin-virtual-module": "^0.1.13",{{/if}}
|
|
54
|
+
"sass": "1.63.2",
|
|
55
|
+
"sass-loader": "13.3.1",
|
|
56
|
+
"semver": "^7.6.3",
|
|
57
|
+
"style-loader": "3.3.3",{{#unless useExperimentalRspack}}
|
|
58
|
+
"swc-loader": "^0.2.3",{{/unless}}
|
|
59
|
+
"terser-webpack-plugin": "^5.3.10",
|
|
60
|
+
"ts-node": "^10.9.2",{{#if useExperimentalRspack}}
|
|
61
|
+
"ts-checker-rspack-plugin": "^1.0.0",{{/if}}
|
|
62
|
+
"typescript": "5.5.4",
|
|
63
|
+
"webpack": "^5.94.0"{{#unless useExperimentalRspack}},
|
|
64
|
+
"webpack-cli": "^5.1.4",
|
|
66
65
|
"webpack-livereload-plugin": "^3.0.2",
|
|
67
66
|
"webpack-subresource-integrity": "^5.1.0",
|
|
68
67
|
"webpack-virtual-modules": "^0.6.2"{{/unless}}
|
|
@@ -72,15 +71,15 @@
|
|
|
72
71
|
},
|
|
73
72
|
"dependencies": {
|
|
74
73
|
"@emotion/css": "11.10.6",
|
|
75
|
-
"@grafana/data": "^12.3.
|
|
76
|
-
"@grafana/i18n": "^12.3.
|
|
77
|
-
"@grafana/runtime": "^12.3.
|
|
78
|
-
"@grafana/ui": "^12.3.
|
|
79
|
-
"@grafana/schema": "^12.3.
|
|
74
|
+
"@grafana/data": "^12.3.1",
|
|
75
|
+
"@grafana/i18n": "^12.3.1",
|
|
76
|
+
"@grafana/runtime": "^12.3.1",
|
|
77
|
+
"@grafana/ui": "^12.3.1",
|
|
78
|
+
"@grafana/schema": "^12.3.1",{{#if_eq pluginType "scenesapp" }}
|
|
80
79
|
"@grafana/scenes": "{{ scenesVersion }}",{{/if_eq}}
|
|
81
80
|
"react": "^18.3.0",
|
|
82
81
|
"react-dom": "^18.3.0"{{#if isAppType}},
|
|
83
|
-
"react-router-dom": "^
|
|
82
|
+
"react-router-dom": "^6.22.0",
|
|
84
83
|
"rxjs": "7.8.2"{{/if}}
|
|
85
84
|
},
|
|
86
85
|
"packageManager": "{{ packageManagerName }}@{{ packageManagerVersion }}"
|