@cloudcare/guance-front-tools 1.0.18 → 1.0.19
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/README.md +32 -23
- package/lib/cjs/package.json +3 -0
- package/lib/cjs/scripts/convert-grafana-dashboard.js +6 -12
- package/lib/esm/package.json +3 -0
- package/lib/esm/scripts/convert-grafana-dashboard.js +0 -9
- package/lib/scripts/convert-grafana-dashboard.js +0 -10
- package/package.json +5 -3
- package/scripts/write-module-package-json.mjs +24 -0
- package/skills/grafana-to-guance-dashboard/SKILL.md +390 -33
- package/skills/grafana-to-guance-dashboard/agents/openai.yaml +2 -2
- package/skills/grafana-to-guance-dashboard/fixtures/grafana-dashboard.guance.json +1029 -0
- package/skills/grafana-to-guance-dashboard/fixtures/grafana-dashboard.json +878 -0
- package/skills/grafana-to-guance-dashboard/package.json +16 -0
- package/skills/grafana-to-guance-dashboard/references/conversion-audit-checklist.md +183 -0
- package/skills/grafana-to-guance-dashboard/references/converter-notes.md +114 -4
- package/skills/grafana-to-guance-dashboard/references/promql-compatibility-cheatsheet.md +172 -0
- package/skills/grafana-to-guance-dashboard/references/unit-inference-cheatsheet.md +174 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/chart-schema.json +84 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/common/chart-link-item-schema.json +48 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/common/chart-links-schema.json +9 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/common/common-chart-types-schema.json +39 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/common/common-vars-item-schema.json +117 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/common/common-vars-schema.json +10 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/dashboard-schema.json +80 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/query/queries-schema.json +10 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/query/query-item-schema.json +60 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-connect-null-schema.json +7 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-gradual-color-schema.json +72 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-groupby-schema.json +22 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-legend-position-schema.json +14 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-legend-values-schema.json +19 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-open-stack-schema.json +8 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-show-label-schema.json +8 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-show-line-schema.json +8 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-stack-content-schema.json +12 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-stack-type-schema.json +11 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-alarm-settings-schema.json +48 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-bar-settings-schema.json +69 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-chinamap-settings-schema.json +102 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-funnel-settings-schema.json +34 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-gauge-settings-schema.json +65 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-heatmap-settings-schema.json +50 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-hexgon-settings-schema.json +90 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-histogram-settings-schema.json +47 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-iframe-settings-schema.json +24 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-log-settings-schema.json +84 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-object-settings-schema.json +52 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-picture-settings-schema.json +46 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-pie-settings-schema.json +90 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-sankey-settings-schema.json +34 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-scatter-bubble-settings-schema.json +31 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-sequence-settings-schema.json +76 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-singlestat-settings-schema.json +163 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-table-settings-schema.json +184 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-text-settings-schema.json +20 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-toplist-settings-schema.json +117 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-topology-settings-schema.json +71 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-treemap-settings-schema.json +66 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-worldmap-settings-schema.json +102 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/common-settings-schema.json +82 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-alias-schema.json +47 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-chart-type-schema.json +27 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-colors-schema.json +46 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-compare-schema.json +58 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-fixed-time-schema.json +49 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-levels-schema.json +33 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-schema.json +79 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-time-schema.json +43 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-unit-items-schema.json +228 -0
- package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-units-schema.json +59 -0
- package/skills/grafana-to-guance-dashboard/schemas/dashboard-schema.json +5 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/attribute-mutation-schema.json +21 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/attributes-schema.json +10 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/cdata-node-schema.json +19 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/creation-reason-schema.json +17 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/document-fragment-node-schema.json +35 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/document-node-schema.json +30 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/document-type-node-schema.json +28 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/element-node-schema.json +33 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/frustration-record-schema.json +49 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/full-snapshot-record-schema.json +26 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/incremental-data-schema.json +36 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/incremental-snapshot-record-schema.json +29 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/input-data-schema.json +27 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/input-state-schema.json +27 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/media-interaction-data-schema.json +23 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/media-interaction-schema.json +20 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/mouse-interaction-data-schema.json +23 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/mouse-interaction-schema.json +47 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/mouse-move-data-schema.json +23 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/mouse-position-schema.json +26 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/mutation-data-schema.json +23 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/mutation-payload-schema.json +42 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/node-added-mutation-schema.json +41 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/node-removed-mutation-schema.json +18 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/node-schema.json +28 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/record-schema.json +30 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/scroll-data-schema.json +23 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/scroll-position-schema.json +22 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/segment-metadata-schema.json +28 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/segment-schema.json +25 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/serialized-node-schema.json +15 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/serialized-node-with-id-schema.json +21 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/stylesheet-rule-add-schema.json +28 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/stylesheet-rule-data-schema.json +23 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/stylesheet-rule-delete-schema.json +24 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/stylesheet-rule-schema.json +29 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/stylesheet-schema.json +30 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/text-mutation-schema.json +27 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/text-node-schema.json +23 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/_common-record-schema.json +14 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/_common-segment-metadata-schema.json +30 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/_slot-supported-common-record-schema.json +21 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/focus-record-schema.json +34 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/meta-record-schema.json +42 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/pointer-interaction-data-schema.json +23 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/pointer-interaction-schema.json +34 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/segment-context-schema.json +46 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/view-end-record-schema.json +23 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/viewport-resize-data-schema.json +23 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/viewport-resize-dimension-schema.json +18 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/visual-viewport-record-schema.json +50 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/full-snapshot-record-schema.json +14 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/incremental-data-schema.json +14 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/incremental-snapshot-record-schema.json +14 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/_common-shape-wireframe-schema.json +22 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/_common-shape-wireframe-update-schema.json +22 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/_common-wireframe-schema.json +38 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/_common-wireframe-update-schema.json +38 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/full-snapshot-record-schema.json +38 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/image-wireframe-schema.json +43 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/image-wireframe-update-schema.json +43 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/incremental-data-schema.json +21 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/incremental-snapshot-record-schema.json +26 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/mutation-data-schema.json +23 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/mutation-payload-schema.json +55 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/placeholder-wireframe-schema.json +28 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/placeholder-wireframe-update-schema.json +28 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/record-schema.json +27 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/segment-metadata-schema.json +25 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/segment-schema.json +25 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/shape-border-schema.json +25 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/shape-style-schema.json +29 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/shape-wireframe-schema.json +23 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/shape-wireframe-update-schema.json +23 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/text-position-schema.json +57 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/text-style-schema.json +31 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/text-wireframe-schema.json +34 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/text-wireframe-update-schema.json +34 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/touch-data-schema.json +51 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/webview-wireframe-schema.json +33 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/webview-wireframe-update-schema.json +33 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/wireframe-clip-schema.json +29 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/wireframe-schema.json +24 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/wireframe-update-mutation-schema.json +24 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mutation-data-schema.json +14 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/mutation-payload-schema.json +14 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/record-schema.json +14 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/segment-metadata-schema.json +14 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay/segment-schema.json +15 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay-browser-schema.json +5 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay-mobile-schema.json +5 -0
- package/skills/grafana-to-guance-dashboard/schemas/session-replay-schema.json +33 -0
- package/skills/grafana-to-guance-dashboard/scripts/convert-grafana-dashboard.mjs +8 -13
- package/skills/grafana-to-guance-dashboard/scripts/validate-file.mjs +62 -0
- package/skills/grafana-to-guance-dashboard/test/convert.test.mjs +54 -0
- package/test/cli.test.mjs +27 -1
- package/tsconfig.cjs.scripts.json +19 -0
- package/tsconfig.esm.scripts.json +19 -0
- package/scripts/sync-converter.mjs +0 -57
package/test/cli.test.mjs
CHANGED
|
@@ -4,6 +4,7 @@ import fs from 'node:fs'
|
|
|
4
4
|
import os from 'node:os'
|
|
5
5
|
import path from 'node:path'
|
|
6
6
|
import { spawnSync } from 'node:child_process'
|
|
7
|
+
import { createRequire } from 'node:module'
|
|
7
8
|
import { fileURLToPath, pathToFileURL } from 'node:url'
|
|
8
9
|
|
|
9
10
|
import { covert } from '../lib/scripts/grafana-covert-to-guance-core.js'
|
|
@@ -14,6 +15,7 @@ import {
|
|
|
14
15
|
const __filename = fileURLToPath(import.meta.url)
|
|
15
16
|
const __dirname = path.dirname(__filename)
|
|
16
17
|
const projectRoot = path.resolve(__dirname, '..')
|
|
18
|
+
const require = createRequire(import.meta.url)
|
|
17
19
|
const cliPath = path.join(projectRoot, 'cli.js')
|
|
18
20
|
const skillCliPath = path.join(
|
|
19
21
|
projectRoot,
|
|
@@ -70,7 +72,30 @@ test('published esm converter entry does not depend on skills path', async () =>
|
|
|
70
72
|
assert.deepEqual(actual, expected)
|
|
71
73
|
})
|
|
72
74
|
|
|
73
|
-
test('
|
|
75
|
+
test('published cjs converter entry can be required and matches skill converter', () => {
|
|
76
|
+
const tempDirectory = fs.mkdtempSync(path.join(projectRoot, '.tmp-guance-front-tools-cjs-'))
|
|
77
|
+
const tempPackagePath = path.join(tempDirectory, 'package.json')
|
|
78
|
+
const tempConverterPath = path.join(tempDirectory, 'convert-grafana-dashboard.js')
|
|
79
|
+
const tempConverterCorePath = path.join(tempDirectory, 'convert-grafana-dashboard-core.js')
|
|
80
|
+
const cjsConverterPath = path.join(projectRoot, 'lib/cjs/scripts/convert-grafana-dashboard.js')
|
|
81
|
+
const cjsConverterCorePath = path.join(projectRoot, 'lib/cjs/scripts/convert-grafana-dashboard-core.js')
|
|
82
|
+
|
|
83
|
+
fs.writeFileSync(tempPackagePath, JSON.stringify({ type: 'commonjs' }), 'utf-8')
|
|
84
|
+
fs.copyFileSync(cjsConverterPath, tempConverterPath)
|
|
85
|
+
fs.copyFileSync(cjsConverterCorePath, tempConverterCorePath)
|
|
86
|
+
|
|
87
|
+
const cjsConverter = require(tempConverterPath)
|
|
88
|
+
const grafanaDashboard = JSON.parse(fs.readFileSync(grafanaLoadInputPath, 'utf-8'))
|
|
89
|
+
|
|
90
|
+
const actual = cjsConverter.convertDashboard(grafanaDashboard)
|
|
91
|
+
const expected = convertDashboard(grafanaDashboard)
|
|
92
|
+
|
|
93
|
+
assert.equal(typeof cjsConverter.main, 'function')
|
|
94
|
+
assert.equal(typeof cjsConverter.validateDashboardFile, 'function')
|
|
95
|
+
assert.deepEqual(actual, expected)
|
|
96
|
+
})
|
|
97
|
+
|
|
98
|
+
test('skill converter script is standalone and does not rely on lib sync paths', () => {
|
|
74
99
|
const skillWrapperPath = path.join(
|
|
75
100
|
projectRoot,
|
|
76
101
|
'skills/grafana-to-guance-dashboard/scripts/convert-grafana-dashboard.mjs'
|
|
@@ -83,6 +108,7 @@ test('skill converter script ships wrapper and core files without importing lib
|
|
|
83
108
|
const skillCoreSource = fs.readFileSync(skillCorePath, 'utf-8')
|
|
84
109
|
|
|
85
110
|
assert.doesNotMatch(skillWrapperSource, /lib\/scripts\/convert-grafana-dashboard/)
|
|
111
|
+
assert.doesNotMatch(skillWrapperSource, /findProjectRoot|process\.cwd\(\)/)
|
|
86
112
|
assert.match(skillWrapperSource, /import \{ convertDashboard \} from '\.\/convert-grafana-dashboard-core\.js'/)
|
|
87
113
|
assert.match(skillWrapperSource, /^#!\/usr\/bin\/env node/m)
|
|
88
114
|
assert.match(skillWrapperSource, /export function main\(/)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"types": ["node"],
|
|
4
|
+
"esModuleInterop": true,
|
|
5
|
+
"moduleResolution": "node",
|
|
6
|
+
"module": "CommonJS",
|
|
7
|
+
"target": "ES2018",
|
|
8
|
+
"outDir": "lib/cjs/scripts",
|
|
9
|
+
"rootDir": "lib/scripts",
|
|
10
|
+
"declaration": false,
|
|
11
|
+
"allowJs": true,
|
|
12
|
+
"resolveJsonModule": true,
|
|
13
|
+
"typeRoots": ["./node_modules/@types"]
|
|
14
|
+
},
|
|
15
|
+
"include": [
|
|
16
|
+
"./lib/scripts/convert-grafana-dashboard.js",
|
|
17
|
+
"./lib/scripts/convert-grafana-dashboard-core.js"
|
|
18
|
+
]
|
|
19
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"types": ["node"],
|
|
4
|
+
"esModuleInterop": true,
|
|
5
|
+
"moduleResolution": "node",
|
|
6
|
+
"module": "ES6",
|
|
7
|
+
"target": "ES2018",
|
|
8
|
+
"outDir": "lib/esm/scripts",
|
|
9
|
+
"rootDir": "lib/scripts",
|
|
10
|
+
"declaration": false,
|
|
11
|
+
"allowJs": true,
|
|
12
|
+
"resolveJsonModule": true,
|
|
13
|
+
"typeRoots": ["./node_modules/@types"]
|
|
14
|
+
},
|
|
15
|
+
"include": [
|
|
16
|
+
"./lib/scripts/convert-grafana-dashboard.js",
|
|
17
|
+
"./lib/scripts/convert-grafana-dashboard-core.js"
|
|
18
|
+
]
|
|
19
|
+
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import fs from 'fs'
|
|
2
|
-
import path from 'path'
|
|
3
|
-
import ts from 'typescript'
|
|
4
|
-
|
|
5
|
-
const projectRoot = process.cwd()
|
|
6
|
-
const syncPairs = [
|
|
7
|
-
{
|
|
8
|
-
sourcePath: path.join(projectRoot, 'lib', 'scripts', 'convert-grafana-dashboard.js'),
|
|
9
|
-
targets: [
|
|
10
|
-
path.join(projectRoot, 'lib', 'esm', 'scripts', 'convert-grafana-dashboard.js'),
|
|
11
|
-
path.join(projectRoot, 'lib', 'cjs', 'scripts', 'convert-grafana-dashboard.js'),
|
|
12
|
-
path.join(projectRoot, 'skills', 'grafana-to-guance-dashboard', 'scripts', 'convert-grafana-dashboard.mjs'),
|
|
13
|
-
],
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
sourcePath: path.join(projectRoot, 'lib', 'scripts', 'convert-grafana-dashboard-core.js'),
|
|
17
|
-
targets: [
|
|
18
|
-
path.join(projectRoot, 'lib', 'esm', 'scripts', 'convert-grafana-dashboard-core.js'),
|
|
19
|
-
path.join(projectRoot, 'lib', 'cjs', 'scripts', 'convert-grafana-dashboard-core.js'),
|
|
20
|
-
path.join(projectRoot, 'skills', 'grafana-to-guance-dashboard', 'scripts', 'convert-grafana-dashboard-core.js'),
|
|
21
|
-
],
|
|
22
|
-
},
|
|
23
|
-
]
|
|
24
|
-
const staleTargets = [
|
|
25
|
-
path.join(projectRoot, 'lib', 'scripts', 'convert-grafana-dashboard.mjs'),
|
|
26
|
-
path.join(projectRoot, 'lib', 'esm', 'scripts', 'convert-grafana-dashboard.mjs'),
|
|
27
|
-
path.join(projectRoot, 'lib', 'cjs', 'scripts', 'convert-grafana-dashboard.mjs'),
|
|
28
|
-
]
|
|
29
|
-
|
|
30
|
-
function transpileForTarget(sourcePath, targetPath) {
|
|
31
|
-
const source = fs.readFileSync(sourcePath, 'utf8')
|
|
32
|
-
const isCommonJsTarget = targetPath.includes(`${path.sep}lib${path.sep}cjs${path.sep}`)
|
|
33
|
-
const fileName = targetPath.endsWith('.mjs') ? targetPath.replace(/\.mjs$/, '.mts') : targetPath
|
|
34
|
-
const { outputText } = ts.transpileModule(source, {
|
|
35
|
-
fileName,
|
|
36
|
-
compilerOptions: {
|
|
37
|
-
target: ts.ScriptTarget.ES2018,
|
|
38
|
-
module: isCommonJsTarget ? ts.ModuleKind.CommonJS : ts.ModuleKind.ES2020,
|
|
39
|
-
allowJs: true,
|
|
40
|
-
},
|
|
41
|
-
})
|
|
42
|
-
return outputText
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
for (const { sourcePath, targets } of syncPairs) {
|
|
46
|
-
for (const target of targets) {
|
|
47
|
-
fs.mkdirSync(path.dirname(target), { recursive: true })
|
|
48
|
-
fs.writeFileSync(target, transpileForTarget(sourcePath, target), 'utf8')
|
|
49
|
-
console.log(`Synced ${path.relative(projectRoot, sourcePath)} -> ${path.relative(projectRoot, target)}`)
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
for (const target of staleTargets) {
|
|
54
|
-
if (!fs.existsSync(target)) continue
|
|
55
|
-
fs.rmSync(target, { force: true })
|
|
56
|
-
console.log(`Removed stale ${path.relative(projectRoot, target)}`)
|
|
57
|
-
}
|