@cloudcare/guance-front-tools 1.0.17 → 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 +64 -0
  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 +410 -22
  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/README.md CHANGED
@@ -25,3 +25,67 @@ import { covert } from '@cloudcare/guance-front-tools'
25
25
 
26
26
  const guanceDashboard = covert(grafanaDashboard)
27
27
  ```
28
+
29
+ ## AI Skill Usage
30
+
31
+ This repository also ships a Codex skill for Grafana-to-Guance dashboard conversion:
32
+
33
+ - skill manifest:
34
+ - `skills/grafana-to-guance-dashboard/SKILL.md`
35
+ - executable skill script:
36
+ - `skills/grafana-to-guance-dashboard/scripts/convert-grafana-dashboard.mjs`
37
+ - skill converter core:
38
+ - `skills/grafana-to-guance-dashboard/scripts/convert-grafana-dashboard-core.js`
39
+ - standalone validator:
40
+ - `skills/grafana-to-guance-dashboard/scripts/validate-file.mjs`
41
+ - bundled schemas, fixtures, and tests:
42
+ - `skills/grafana-to-guance-dashboard/schemas/`
43
+ - `skills/grafana-to-guance-dashboard/fixtures/`
44
+ - `skills/grafana-to-guance-dashboard/test/`
45
+
46
+ When an AI agent needs to convert or debug Grafana dashboards with the standalone skill, it should work inside the skill directory:
47
+
48
+ ```bash
49
+ cd skills/grafana-to-guance-dashboard
50
+ npm install
51
+ npm run convert -- \
52
+ --input ./fixtures/grafana-dashboard.json \
53
+ --output ./output/guance-dashboard.json \
54
+ --validate
55
+ ```
56
+
57
+ Optional modes:
58
+
59
+ ```bash
60
+ npm run convert -- \
61
+ --input ./fixtures/grafana-dashboard.json \
62
+ --output ./output/guance-dashboard.guance-promql.json \
63
+ --validate \
64
+ --guance-promql-compatible
65
+
66
+ npm run convert -- \
67
+ --input ./fixtures/grafana-dashboard.json \
68
+ --output ./output/guance-dashboard.keep-meta.json \
69
+ --validate \
70
+ --keep-grafana-meta
71
+ ```
72
+
73
+ Implementation notes for AI agents:
74
+
75
+ - The skill is self-contained and no longer syncs from `lib/scripts/*`.
76
+ - The skill is intended to do more than execute conversion:
77
+ - preflight analysis
78
+ - unit inference review
79
+ - PromQL compatibility audit
80
+ - post-conversion gap analysis
81
+ - repair planning
82
+ - For skill conversion logic changes, edit:
83
+ - `skills/grafana-to-guance-dashboard/scripts/convert-grafana-dashboard-core.js`
84
+ - For skill CLI / validation behavior changes, edit:
85
+ - `skills/grafana-to-guance-dashboard/scripts/convert-grafana-dashboard.mjs`
86
+ - Validate and regression-test inside the skill directory:
87
+
88
+ ```bash
89
+ npm run validate:file -- ./output/guance-dashboard.json
90
+ npm test
91
+ ```
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -1,23 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
3
6
  Object.defineProperty(exports, "__esModule", { value: true });
4
7
  exports.convertDashboard = void 0;
5
8
  exports.main = main;
6
9
  exports.validateDashboardFile = validateDashboardFile;
7
- const fs_1 = require("fs");
8
- const path_1 = require("path");
9
- const url_1 = require("url");
10
- const ajv_1 = require("ajv");
10
+ const fs_1 = __importDefault(require("fs"));
11
+ const path_1 = __importDefault(require("path"));
12
+ const ajv_1 = __importDefault(require("ajv"));
11
13
  const convert_grafana_dashboard_core_js_1 = require("./convert-grafana-dashboard-core.js");
12
14
  Object.defineProperty(exports, "convertDashboard", { enumerable: true, get: function () { return convert_grafana_dashboard_core_js_1.convertDashboard; } });
13
- if (isDirectExecution()) {
14
- main();
15
- }
16
- function isDirectExecution() {
17
- if (!process.argv[1])
18
- return false;
19
- return import.meta.url === (0, url_1.pathToFileURL)(path_1.default.resolve(process.argv[1])).href;
20
- }
21
15
  function main() {
22
16
  const { inputPath, outputPath, validateOutput, schemaId, guancePromqlCompatible, keepGrafanaMeta } = parseArgs(process.argv.slice(2));
23
17
  const grafanaDashboard = readJson(inputPath);
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -1,17 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import fs from 'fs';
3
3
  import path from 'path';
4
- import { pathToFileURL } from 'url';
5
4
  import Ajv from 'ajv';
6
5
  import { convertDashboard } from './convert-grafana-dashboard-core.js';
7
- if (isDirectExecution()) {
8
- main();
9
- }
10
- function isDirectExecution() {
11
- if (!process.argv[1])
12
- return false;
13
- return import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
14
- }
15
6
  export function main() {
16
7
  const { inputPath, outputPath, validateOutput, schemaId, guancePromqlCompatible, keepGrafanaMeta } = parseArgs(process.argv.slice(2));
17
8
  const grafanaDashboard = readJson(inputPath);
@@ -2,19 +2,9 @@
2
2
 
3
3
  import fs from 'fs'
4
4
  import path from 'path'
5
- import { pathToFileURL } from 'url'
6
5
  import Ajv from 'ajv'
7
6
  import { convertDashboard } from './convert-grafana-dashboard-core.js'
8
7
 
9
- if (isDirectExecution()) {
10
- main()
11
- }
12
-
13
- function isDirectExecution() {
14
- if (!process.argv[1]) return false
15
- return import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href
16
- }
17
-
18
8
  export function main() {
19
9
  const { inputPath, outputPath, validateOutput, schemaId, guancePromqlCompatible, keepGrafanaMeta } = parseArgs(process.argv.slice(2))
20
10
  const grafanaDashboard = readJson(inputPath)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudcare/guance-front-tools",
3
- "version": "1.0.17",
3
+ "version": "1.0.19",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -16,11 +16,13 @@
16
16
  "types": "lib/cjs/src/index.d.ts",
17
17
  "module": "lib/esm/src/index.js",
18
18
  "scripts": {
19
- "build": "npm run clean && npm run generate && npm run build:cjs && npm run build:esm && npm run build:script && npm run sync:converter",
19
+ "build": "npm run clean && npm run generate && npm run build:cjs && npm run build:esm && npm run build:script && npm run build:cjs:scripts && npm run build:esm:scripts && npm run write:module-package-json",
20
20
  "build:cjs": "tsc -p tsconfig.cjs.json",
21
+ "build:cjs:scripts": "tsc -p tsconfig.cjs.scripts.json",
21
22
  "build:esm": "tsc -p tsconfig.esm.json",
23
+ "build:esm:scripts": "tsc -p tsconfig.esm.scripts.json",
22
24
  "build:script": "tsc -p tsconfig.script.json",
23
- "sync:converter": "node scripts/sync-converter.mjs",
25
+ "write:module-package-json": "node scripts/write-module-package-json.mjs",
24
26
  "clean": "rm -rf ./lib/generated && rm -rf ./lib/esm && rm -rf ./lib/cjs",
25
27
  "generate": "node scripts/generate.mjs",
26
28
  "test": "node --test test/*.test.mjs",
@@ -0,0 +1,24 @@
1
+ import fs from 'fs'
2
+ import path from 'path'
3
+
4
+ const projectRoot = process.cwd()
5
+ const packageBoundaries = [
6
+ {
7
+ filePath: path.join(projectRoot, 'lib', 'cjs', 'package.json'),
8
+ content: {
9
+ type: 'commonjs',
10
+ },
11
+ },
12
+ {
13
+ filePath: path.join(projectRoot, 'lib', 'esm', 'package.json'),
14
+ content: {
15
+ type: 'module',
16
+ },
17
+ },
18
+ ]
19
+
20
+ for (const { filePath, content } of packageBoundaries) {
21
+ fs.mkdirSync(path.dirname(filePath), { recursive: true })
22
+ fs.writeFileSync(filePath, `${JSON.stringify(content, null, 2)}\n`, 'utf8')
23
+ console.log(`Wrote ${path.relative(projectRoot, filePath)}`)
24
+ }