@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.
Files changed (170) hide show
  1. package/README.md +32 -23
  2. package/lib/cjs/package.json +3 -0
  3. package/lib/cjs/scripts/convert-grafana-dashboard.js +6 -12
  4. package/lib/esm/package.json +3 -0
  5. package/lib/esm/scripts/convert-grafana-dashboard.js +0 -9
  6. package/lib/scripts/convert-grafana-dashboard.js +0 -10
  7. package/package.json +5 -3
  8. package/scripts/write-module-package-json.mjs +24 -0
  9. package/skills/grafana-to-guance-dashboard/SKILL.md +390 -33
  10. package/skills/grafana-to-guance-dashboard/agents/openai.yaml +2 -2
  11. package/skills/grafana-to-guance-dashboard/fixtures/grafana-dashboard.guance.json +1029 -0
  12. package/skills/grafana-to-guance-dashboard/fixtures/grafana-dashboard.json +878 -0
  13. package/skills/grafana-to-guance-dashboard/package.json +16 -0
  14. package/skills/grafana-to-guance-dashboard/references/conversion-audit-checklist.md +183 -0
  15. package/skills/grafana-to-guance-dashboard/references/converter-notes.md +114 -4
  16. package/skills/grafana-to-guance-dashboard/references/promql-compatibility-cheatsheet.md +172 -0
  17. package/skills/grafana-to-guance-dashboard/references/unit-inference-cheatsheet.md +174 -0
  18. package/skills/grafana-to-guance-dashboard/schemas/charts/chart-schema.json +84 -0
  19. package/skills/grafana-to-guance-dashboard/schemas/charts/common/chart-link-item-schema.json +48 -0
  20. package/skills/grafana-to-guance-dashboard/schemas/charts/common/chart-links-schema.json +9 -0
  21. package/skills/grafana-to-guance-dashboard/schemas/charts/common/common-chart-types-schema.json +39 -0
  22. package/skills/grafana-to-guance-dashboard/schemas/charts/common/common-vars-item-schema.json +117 -0
  23. package/skills/grafana-to-guance-dashboard/schemas/charts/common/common-vars-schema.json +10 -0
  24. package/skills/grafana-to-guance-dashboard/schemas/charts/dashboard-schema.json +80 -0
  25. package/skills/grafana-to-guance-dashboard/schemas/charts/query/queries-schema.json +10 -0
  26. package/skills/grafana-to-guance-dashboard/schemas/charts/query/query-item-schema.json +60 -0
  27. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-connect-null-schema.json +7 -0
  28. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-gradual-color-schema.json +72 -0
  29. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-groupby-schema.json +22 -0
  30. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-legend-position-schema.json +14 -0
  31. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-legend-values-schema.json +19 -0
  32. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-open-stack-schema.json +8 -0
  33. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-show-label-schema.json +8 -0
  34. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-show-line-schema.json +8 -0
  35. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-stack-content-schema.json +12 -0
  36. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/_common-settings-stack-type-schema.json +11 -0
  37. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-alarm-settings-schema.json +48 -0
  38. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-bar-settings-schema.json +69 -0
  39. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-chinamap-settings-schema.json +102 -0
  40. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-funnel-settings-schema.json +34 -0
  41. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-gauge-settings-schema.json +65 -0
  42. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-heatmap-settings-schema.json +50 -0
  43. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-hexgon-settings-schema.json +90 -0
  44. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-histogram-settings-schema.json +47 -0
  45. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-iframe-settings-schema.json +24 -0
  46. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-log-settings-schema.json +84 -0
  47. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-object-settings-schema.json +52 -0
  48. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-picture-settings-schema.json +46 -0
  49. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-pie-settings-schema.json +90 -0
  50. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-sankey-settings-schema.json +34 -0
  51. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-scatter-bubble-settings-schema.json +31 -0
  52. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-sequence-settings-schema.json +76 -0
  53. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-singlestat-settings-schema.json +163 -0
  54. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-table-settings-schema.json +184 -0
  55. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-text-settings-schema.json +20 -0
  56. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-toplist-settings-schema.json +117 -0
  57. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-topology-settings-schema.json +71 -0
  58. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-treemap-settings-schema.json +66 -0
  59. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/chart-worldmap-settings-schema.json +102 -0
  60. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/common-settings-schema.json +82 -0
  61. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-alias-schema.json +47 -0
  62. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-chart-type-schema.json +27 -0
  63. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-colors-schema.json +46 -0
  64. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-compare-schema.json +58 -0
  65. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-fixed-time-schema.json +49 -0
  66. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-levels-schema.json +33 -0
  67. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-schema.json +79 -0
  68. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-time-schema.json +43 -0
  69. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-unit-items-schema.json +228 -0
  70. package/skills/grafana-to-guance-dashboard/schemas/charts/settings/settings-units-schema.json +59 -0
  71. package/skills/grafana-to-guance-dashboard/schemas/dashboard-schema.json +5 -0
  72. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/attribute-mutation-schema.json +21 -0
  73. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/attributes-schema.json +10 -0
  74. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/cdata-node-schema.json +19 -0
  75. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/creation-reason-schema.json +17 -0
  76. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/document-fragment-node-schema.json +35 -0
  77. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/document-node-schema.json +30 -0
  78. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/document-type-node-schema.json +28 -0
  79. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/element-node-schema.json +33 -0
  80. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/frustration-record-schema.json +49 -0
  81. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/full-snapshot-record-schema.json +26 -0
  82. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/incremental-data-schema.json +36 -0
  83. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/incremental-snapshot-record-schema.json +29 -0
  84. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/input-data-schema.json +27 -0
  85. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/input-state-schema.json +27 -0
  86. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/media-interaction-data-schema.json +23 -0
  87. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/media-interaction-schema.json +20 -0
  88. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/mouse-interaction-data-schema.json +23 -0
  89. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/mouse-interaction-schema.json +47 -0
  90. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/mouse-move-data-schema.json +23 -0
  91. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/mouse-position-schema.json +26 -0
  92. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/mutation-data-schema.json +23 -0
  93. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/mutation-payload-schema.json +42 -0
  94. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/node-added-mutation-schema.json +41 -0
  95. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/node-removed-mutation-schema.json +18 -0
  96. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/node-schema.json +28 -0
  97. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/record-schema.json +30 -0
  98. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/scroll-data-schema.json +23 -0
  99. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/scroll-position-schema.json +22 -0
  100. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/segment-metadata-schema.json +28 -0
  101. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/segment-schema.json +25 -0
  102. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/serialized-node-schema.json +15 -0
  103. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/serialized-node-with-id-schema.json +21 -0
  104. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/stylesheet-rule-add-schema.json +28 -0
  105. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/stylesheet-rule-data-schema.json +23 -0
  106. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/stylesheet-rule-delete-schema.json +24 -0
  107. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/stylesheet-rule-schema.json +29 -0
  108. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/stylesheet-schema.json +30 -0
  109. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/text-mutation-schema.json +27 -0
  110. package/skills/grafana-to-guance-dashboard/schemas/session-replay/browser/text-node-schema.json +23 -0
  111. package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/_common-record-schema.json +14 -0
  112. package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/_common-segment-metadata-schema.json +30 -0
  113. package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/_slot-supported-common-record-schema.json +21 -0
  114. package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/focus-record-schema.json +34 -0
  115. package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/meta-record-schema.json +42 -0
  116. package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/pointer-interaction-data-schema.json +23 -0
  117. package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/pointer-interaction-schema.json +34 -0
  118. package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/segment-context-schema.json +46 -0
  119. package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/view-end-record-schema.json +23 -0
  120. package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/viewport-resize-data-schema.json +23 -0
  121. package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/viewport-resize-dimension-schema.json +18 -0
  122. package/skills/grafana-to-guance-dashboard/schemas/session-replay/common/visual-viewport-record-schema.json +50 -0
  123. package/skills/grafana-to-guance-dashboard/schemas/session-replay/full-snapshot-record-schema.json +14 -0
  124. package/skills/grafana-to-guance-dashboard/schemas/session-replay/incremental-data-schema.json +14 -0
  125. package/skills/grafana-to-guance-dashboard/schemas/session-replay/incremental-snapshot-record-schema.json +14 -0
  126. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/_common-shape-wireframe-schema.json +22 -0
  127. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/_common-shape-wireframe-update-schema.json +22 -0
  128. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/_common-wireframe-schema.json +38 -0
  129. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/_common-wireframe-update-schema.json +38 -0
  130. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/full-snapshot-record-schema.json +38 -0
  131. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/image-wireframe-schema.json +43 -0
  132. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/image-wireframe-update-schema.json +43 -0
  133. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/incremental-data-schema.json +21 -0
  134. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/incremental-snapshot-record-schema.json +26 -0
  135. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/mutation-data-schema.json +23 -0
  136. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/mutation-payload-schema.json +55 -0
  137. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/placeholder-wireframe-schema.json +28 -0
  138. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/placeholder-wireframe-update-schema.json +28 -0
  139. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/record-schema.json +27 -0
  140. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/segment-metadata-schema.json +25 -0
  141. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/segment-schema.json +25 -0
  142. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/shape-border-schema.json +25 -0
  143. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/shape-style-schema.json +29 -0
  144. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/shape-wireframe-schema.json +23 -0
  145. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/shape-wireframe-update-schema.json +23 -0
  146. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/text-position-schema.json +57 -0
  147. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/text-style-schema.json +31 -0
  148. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/text-wireframe-schema.json +34 -0
  149. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/text-wireframe-update-schema.json +34 -0
  150. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/touch-data-schema.json +51 -0
  151. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/webview-wireframe-schema.json +33 -0
  152. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/webview-wireframe-update-schema.json +33 -0
  153. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/wireframe-clip-schema.json +29 -0
  154. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/wireframe-schema.json +24 -0
  155. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mobile/wireframe-update-mutation-schema.json +24 -0
  156. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mutation-data-schema.json +14 -0
  157. package/skills/grafana-to-guance-dashboard/schemas/session-replay/mutation-payload-schema.json +14 -0
  158. package/skills/grafana-to-guance-dashboard/schemas/session-replay/record-schema.json +14 -0
  159. package/skills/grafana-to-guance-dashboard/schemas/session-replay/segment-metadata-schema.json +14 -0
  160. package/skills/grafana-to-guance-dashboard/schemas/session-replay/segment-schema.json +15 -0
  161. package/skills/grafana-to-guance-dashboard/schemas/session-replay-browser-schema.json +5 -0
  162. package/skills/grafana-to-guance-dashboard/schemas/session-replay-mobile-schema.json +5 -0
  163. package/skills/grafana-to-guance-dashboard/schemas/session-replay-schema.json +33 -0
  164. package/skills/grafana-to-guance-dashboard/scripts/convert-grafana-dashboard.mjs +8 -13
  165. package/skills/grafana-to-guance-dashboard/scripts/validate-file.mjs +62 -0
  166. package/skills/grafana-to-guance-dashboard/test/convert.test.mjs +54 -0
  167. package/test/cli.test.mjs +27 -1
  168. package/tsconfig.cjs.scripts.json +19 -0
  169. package/tsconfig.esm.scripts.json +19 -0
  170. 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('skill converter script ships wrapper and core files without importing lib paths', () => {
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
- }